About the versions of PyTorch, CUDA, and other dependencies used in the implementation of the Monarch Mixer

Hello, I'm interested in applying the MLP layer of your Monarch Mixer in my research.
I'm unsure about the versions of packages used in the implementation of Monarch Mixer, including PyTorch, CUDA, torchvision, cudatoolkit, and others.
Could you please provide information on the versions of these packages used? Thank you very much for your assistance!

Hello, if I run your experiment directly in the Ubuntu terminal without using Nvidia PyTorch Docker containers, can I reproduce the experiment? Also, if I only want to use the Monarch mixer's MLP layer without using the provided FlashFFTConv, meaning without executing the following two lines of code:
pip install git+https://github.com/HazyResearch/flash-fft-conv.git#subdirectory=csrc/flashfftconv
pip install git+https://github.com/HazyResearch/flash-fft-conv.git
Can I still use the Monarch mixer MLP layer as usual? I apologize for taking up your valuable time!

Yes, the MLP layers are vanilla PyTorch and do not use FlashFFTConv. If you
want to reproduce all the experiments without Docker, you’ll have to
install all the dependencies as detailed in the README.
On Mon, Feb 26, 2024 at 6:57 PM blazar @.***> wrote:

Hello, if I run your experiment directly in the Ubuntu terminal without
using Nvidia PyTorch Docker containers, can I reproduce the experiment?
Also, if I only want to use the Monarch mixer's MLP layer without using the
provided FlashFFTConv, meaning without executing the following two lines of
code:
pip install git+
https://github.com/HazyResearch/flash-fft-conv.git#subdirectory=csrc/flashfftconv
pip install git+https://github.com/HazyResearch/flash-fft-conv.git
Can I still use the Monarch mixer MLP layer as usual? I apologize for
taking up your valuable time!
—
Reply to this email directly, view it on GitHub
https://github.com/HazyResearch/m2/issues/25#issuecomment-1965697697,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABDDIIWDLFFMWUNLKXEUAHDYVVDQBAVCNFSM6AAAAABDRQVWF6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRVGY4TONRZG4
.
You are receiving this because you commented.Message ID:
@.***>

Hello, I've installed the relevant packages and am ready to start experimenting. I have a question regarding the Monarch Mixer MLP layer that I referenced in the following code:
python
Copy code
import torch
from torch import nn
from src.mm.blockdiag_linear import BlockdiagLinear
class M2MLP(nn.Module):
"""Applies the MLP."""
def __init__(self, config):
    super().__init__()
    self.config = config

    if self.config.use_monarch_mlp:
        linear_cls = partial(BlockdiagLinear, nblocks=self.config.monarch_mlp_nblocks)
    else:
        linear_cls = nn.Linear

    self.linear = linear_cls(config.hidden_size,
                                  config.intermediate_size,
                                  bias=False)
    self.act = nn.GELU(approximate='none')
    self.wo = linear_cls(config.intermediate_size, config.hidden_size)

    self.layernorm = nn.LayerNorm(config.hidden_size,
                                  eps=config.layer_norm_eps)

    self.dropout = nn.Dropout(config.hidden_dropout_prob)

def forward(self, hidden_states: torch.Tensor) -> torch.Tensor:
    """Compute new hidden states from current hidden states.

    Args:
        hidden_states (torch.Tensor): The (unpadded) hidden states from
            the attention layer [nnz, dim].
    """

    residual_connection = hidden_states
    hidden_states = self.linear(hidden_states)
    hidden_states = self.act(hidden_states)
    hidden_states = self.dropout(hidden_states)
    hidden_states = self.wo(hidden_states)
    hidden_states = self.layernorm(hidden_states + residual_connection)
    return hidden_states

My input dimension dim (hidden_size) is 48, and the ffn_expansion_factor is 2.66 (normally 4). The intermediate_size is calculated as hidden_size * 4, so in my case, intermediate_size is hidden_size * 2.66. My question is, how should I set the nblocks in this code? Or, based on my input, how should I configure this MLP layer correctly? I apologize for the inconvenience and appreciate your assistance!

I recommend keeping the expansion factor to a power of 2 to begin and see
how things work. You may have to change around other hyperparameters to
account for model size.
I usually find that setting four blocks works ok as a starting point.
On Tue, Feb 27, 2024 at 7:51 AM blazar @.***> wrote:

Hello, I've installed the relevant packages and am ready to start
experimenting. I have a question regarding the Monarch Mixer MLP layer that
I referenced in the following code:
python
Copy code
import torch
from torch import nn
from src.mm.blockdiag_linear import BlockdiagLinear
class M2MLP(nn.Module):
"""Applies the MLP."""
def init(self, config):
super().init()
self.config = config
if self.config.use_monarch_mlp:
    linear_cls = partial(BlockdiagLinear, nblocks=self.config.monarch_mlp_nblocks)
else:
    linear_cls = nn.Linear

self.linear = linear_cls(config.hidden_size,
                              config.intermediate_size,
                              bias=False)
self.act = nn.GELU(approximate='none')
self.wo = linear_cls(config.intermediate_size, config.hidden_size)

self.layernorm = nn.LayerNorm(config.hidden_size,
                              eps=config.layer_norm_eps)

self.dropout = nn.Dropout(config.hidden_dropout_prob)

def forward(self, hidden_states: torch.Tensor) -> torch.Tensor:
"""Compute new hidden states from current hidden states.
Args:
    hidden_states (torch.Tensor): The (unpadded) hidden states from
        the attention layer [nnz, dim].
"""

residual_connection = hidden_states
hidden_states = self.linear(hidden_states)
hidden_states = self.act(hidden_states)
hidden_states = self.dropout(hidden_states)
hidden_states = self.wo(hidden_states)
hidden_states = self.layernorm(hidden_states + residual_connection)
return hidden_states

My input dimension dim (hidden_size) is 48, and the ffn_expansion_factor
is 2.66 (normally 4). The intermediate_size is calculated as hidden_size *
4, so in my case, intermediate_size is hidden_size * 2.66. My question is,
how should I set the nblocks in this code? Or, based on my input, how
should I configure this MLP layer correctly? I apologize for the
inconvenience and appreciate your assistance!
—
Reply to this email directly, view it on GitHub
https://github.com/HazyResearch/m2/issues/25#issuecomment-1966869313,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABDDIIRCB5HVWWYEJJR4MJLYVX6GZAVCNFSM6AAAAABDRQVWF6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRWHA3DSMZRGM
.
You are receiving this because you commented.Message ID:
@.***>

Hello, I have modified the MLP layer you provided as follows:
python
Copy code
class FeedForward(nn.Module):
"""Applies the MLP."""
def __init__(self, dim, ffn_expansion_factor, bias):
    super().__init__()

    hidden_size = int(dim * 4)

    linear_cls = partial(BlockdiagLinear, nblocks=4)

    self.linear = linear_cls(dim, hidden_size, bias=bias)
    self.act = nn.GELU(approximate='none')
    self.wo = linear_cls(hidden_size, dim, bias=bias)

def forward(self, x):
    x = self.linear(x)
    x = self.act(x)
    x = self.wo(x)
    return x

When compiling, I encountered the following error, and I have extracted relevant parts of the error message:
File "/home/dcmc/Data/kyx111m/DRSformer/basicsr/models/archs/DRSformer_arch.py", line 193, in forward
x = self.linear(x)
File "/home/dcmc/anaconda3/envs/kyxm2/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1194, in _call_impl
return forward_call(*input, **kwargs)
File "/home/dcmc/Data/kyx111m/DRSformer/src/mm/structured_linear.py", line 70, in forward
output = self.forward_matmul(x)
File "/home/dcmc/Data/kyx111m/DRSformer/src/mm/blockdiag_linear.py", line 49, in forward_matmul
output = blockdiag_multiply(x, self.weight)
File "/home/dcmc/anaconda3/envs/kyxm2/lib/python3.10/site-packages/torch/cuda/amp/autocast_mode.py", line 105, in decorate_fwd
return fwd(*args, **kwargs)
File "/home/dcmc/Data/kyx111m/DRSformer/src/mm/blockdiag_multiply.py", line 64, in forward
assert nblocks * p == n
AssertionError
The input dimension dim is set to 48, and nblocks is set to 4. However, n is 128, and p is 12.
I'm sorry to bother you, but may I ask what could be the reason for this? Thank you!

Something like that?
dim = 48
hidden_size = dim * 4 = 192
self.linear = linear_cls(dim, hidden_size)
self.act = nn.GELU(approximate='none')
self.wo = linear_cls(hidden_size, dim)

Please print out self.linear.weight.shape - that will help debug the
problem.
On Tue, Feb 27, 2024 at 10:00 AM blazar @.***> wrote:

Something like that?
dim = 48
hidden_size = dim * 4 = 192
self.linear = linear_cls(dim, hidden_size)
self.act = nn.GELU(approximate='none')
self.wo = linear_cls(hidden_size, dim)
—
Reply to this email directly, view it on GitHub
https://github.com/HazyResearch/m2/issues/25#issuecomment-1967307066,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABDDIIUKEN4ZJWSWUD5WCUTYVYNKVAVCNFSM6AAAAABDRQVWF6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRXGMYDOMBWGY
.
You are receiving this because you commented.Message ID:
@.***>

Excuse me， this is my shape of linear.weight :torch.Size([4, 48, 12])

Is this the same as during training? These shapes should not trigger the
bug that you have reported earlier.
On Tue, Feb 27, 2024 at 6:39 PM blazar @.***> wrote:

Excuse me， this is my shape of linear.weight :torch.Size([4, 48, 12])
—
Reply to this email directly, view it on GitHub
https://github.com/HazyResearch/m2/issues/25#issuecomment-1968085047,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABDDIIRA2U53I4IXLUYWJDTYV2KHRAVCNFSM6AAAAABDRQVWF6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRYGA4DKMBUG4
.
You are receiving this because you commented.Message ID:
@.***>

Hello, my deraining model architecture is based on an autoencoder. Attached is my model structure. Due to down-sampling and up-sampling at each level, the input dimensions vary. I would like to inquire if this has any impact.
model.txt

Yes it does. You need to create a different MLP for each layer and adjust
the sizes accordingly.
On Tue, Feb 27, 2024 at 11:40 PM blazar @.***> wrote:

Hello, my deraining model architecture is based on an autoencoder.
Attached is my model structure. Due to down-sampling and up-sampling at
each level, the input dimensions vary. I would like to inquire if this has
any impact.
model.txt https://github.com/HazyResearch/m2/files/14430324/model.txt
—
Reply to this email directly, view it on GitHub
https://github.com/HazyResearch/m2/issues/25#issuecomment-1968399219,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABDDIIVKWE5CLRQ7UHK3YB3YV3NNRAVCNFSM6AAAAABDRQVWF6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRYGM4TSMRRHE
.
You are receiving this because you commented.Message ID:
@.***>

Hello, in my situation, I believe that at least the linear layer of the first level should compile successfully without errors. My linear layer has input_feature = dim = 48, and hidden_feature is set to default as input_feature * 2.66 (I have also tried input_feature * 4 without success). Regarding my bug, I would like to inquire about the meanings and relationships represented by nblocks, p, and n in the error message. What do they individually stand for and how are they related?

These are the relevant lines of code in bert/src/mm/blockdiag_multiply.py
that are triggering the bug:
def forward(ctx, x, weight):
        ctx.save_for_backward(x, weight)
        batch_shape, n = x.shape[:-1], x.shape[-1]
        batch_dim = np.prod(batch_shape)
        nblocks, q, p = weight.shape
        assert nblocks * p == n

n should be the last dimension of x and should be the model dimension
(in this case 48). nblocks is the number of blocks in the Monarch
matrix, p is the size of the inner block.
With a linear.weight shape of torch.Size([4, 48, 12]), you have
nblocks = 4, p = 12. This expects n = 48.
Can you double check the shape of x and make sure that the model
dimension (48) is the last dimension?
On Wed, Feb 28, 2024 at 10:13 AM blazar @.***> wrote:

Hello, in my situation, I believe that at least the linear layer of the
first level should compile successfully without errors. My linear layer has
input_feature = dim = 48, and hidden_feature is set to default as
input_feature * 2.66 (I have also tried input_feature * 4 without success).
Regarding my bug, I would like to inquire about the meanings and
relationships represented by nblocks, p, and n in the error message. What
do they individually stand for and how are they related?
—
Reply to this email directly, view it on GitHub
https://github.com/HazyResearch/m2/issues/25#issuecomment-1969198349,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABDDIIQQ7L2TUKLKHPXCSV3YV5CQ7AVCNFSM6AAAAABDRQVWF6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRZGE4TQMZUHE
.
You are receiving this because you commented.Message ID:
@.***>

Here is the relevant information about the provided tensor x and some parameters:
x.shape: torch.Size([2, 48, 128, 128])
Shape of the weight matrix, linear.size: torch.Size([4, 32, 12])
Shape of the weight matrix, wo.size: torch.Size([4, 12, 32])
x.shape: torch.Size([2, 48, 128, 128])
weight.shape: torch.Size([4, 32, 12])
batch_shape: torch.Size([2, 48, 128])
batch_dim: 12288
weight.shape: torch.Size([4, 32, 12])
n: 128
p: 12
nblocks * p: 48
Here, linear and wo represent my first and second Monarch Mixer MLP Layer, respectively. The question I would like to ask is, for the task of removing rain patterns from a single image, where my x has a shape of ([2, 48, 128, 128]) corresponding to ([Batch size, dim , length, width]), should I modify the following code snippet:
def forward(ctx, x, weight):
ctx.save_for_backward(x, weight)
batch_shape, n = x.shape[:-1], x.shape[-1]
batch_dim = np.prod(batch_shape)
nblocks, q, p = weight.shape
assert nblocks * p == n
Should I take the second dimension of x (dim = 48) instead of the last dimension (128) ? Or do you have any recommendations for a better approach?

x is not shaped correctly here.
It should have shape (B, …, D) where B is your batch size, the middle … are
your other dimensions, and D is the model dim. This is the same format that
a regular linear layer in an MLP expects.
I’m not familiar enough with your model and setup to help you debug this,
but if you can get it into that format it should help - good luck!
On Wed, Feb 28, 2024 at 10:16 PM blazar @.***> wrote:

Here is the relevant information about the provided tensor x and some
parameters:
x.shape: torch.Size([2, 48, 128, 128])
Shape of the weight matrix, linear.size: torch.Size([4, 32, 12])
Shape of the weight matrix, wo.size: torch.Size([4, 12, 32])
x.shape: torch.Size([2, 48, 128, 128])
weight.shape: torch.Size([4, 32, 12])
batch_shape: torch.Size([2, 48, 128])
batch_dim: 12288
weight.shape: torch.Size([4, 32, 12])
n: 128
p: 12
nblocks * p: 48
Here, linear and wo represent my first and second Monarch Mixer MLP Layer,
respectively. The question I would like to ask is, for the task of removing
rain patterns from a single image, where my x has a shape of ([2, 48, 128,
128]) corresponding to ([Batch size, dim , length, width]), should I modify
the following code snippet:
def forward(ctx, x, weight):
ctx.save_for_backward(x, weight)
batch_shape, n = x.shape[:-1], x.shape[-1]
batch_dim = np.prod(batch_shape)
nblocks, q, p = weight.shape
assert nblocks * p == n
Should I take the second dimension of x (dim = 48) instead of the last
dimension (128) ? Or do you have any recommendations for a better approach?
—
Reply to this email directly, view it on GitHub
https://github.com/HazyResearch/m2/issues/25#issuecomment-1970322317,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABDDIIUYAUBBH5KX6GKEQC3YV2OSRAVCNFSM6AAAAABDRQVWF6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZQGMZDEMZRG4
.
You are receiving this because you commented.Message ID:
@.***>

Hello, thanks to your assistance, I have been able to train the model successfully!
Here are the questions I would like to ask: My deraining model originally used a depth-wise convolutions feed-forward network.
If I replace it with a Monarch Mixer MLP layer, what are the potential reasons for a decrease in performance?
Additionally, I would like to inquire about the impact of batch size on the Monarch Mixer MLP layer.
I apologize and appreciate your help!

Great!
A couple things that could be happening here:

A depthwise convolution only mixes along the sequence (or H/W) dimensions, and not over the channels in the image. For something like (B, H, L) it will process the B and H dimensions completely independently of each other, and only interact between the values in the L's.
An MLP only mixes along the hidden dimension. So for (B, L, H), it processes the B and L dimensions completely independently, and mixes information along the H dimension.

If you've completely replaced your depthwise convolutions with Monarch MLP layers, then you may not be mixing along the sequence dimensions anymore. This is like trying to predict an image by processing each pixel on its own without the context of what is around it. You'll need some mix of mixing along both sequence and hidden dimensions.
I haven't seen much impact of batch size on the MLP layer.


WIP Adding specialized facet cleaner for creator

This gets the facet value for the record not just the text
Adds tests for keyword and publisher facet cleaning
refs #1223

Coverage increased (+0.2%) to 54.441% when pulling 3034ffd1db042907b5ab88d9f995635cb3e83917 on i#1223 into 34a2c6b10c241c271e9b7851e980e4c6df846dec on develop.


Fix Ruby build

Cocoapods xcodeproj depends on Rails activesupport which
requires Ruby 2.2.2 as of the 5.0 release.

Ruby 2.2.2+ is now also the only supported version of Rails 5.0+.
http://weblog.rubyonrails.org/2016/6/30/Rails-5-0-final/#yay
https://rubygems.org/gems/activesupport

Ruby build is passing now on Travis. 😄

@bootstraponline thanks a ton for this. Have a nice long weekend :)


NotNull annotation for required parameters

RxJava2 has a @NotNull annotation that it applies to parameters to indicate that null must not be passed as a value for the parameter. This causes the IDE to show a warning when null is passed in an inappropriate way. This could be pretty helpful to users of the gen code. We should consider changing the generator to add such annotations when the parameter is marked required in Swagger.

I have a working implementation of this. I'm just waiting for https://github.com/Azure/autorest.java/pull/113 to get merged before I submit the pull request.


error make initdb if xz isn't installed

This threw me for a loop getting warehouse setup on my new laptop! make initdb was silently failing to load the dev db assets.

@di I feel ok going ahead and merging this; how do you feel?

I had talked to @ewdurbin elsewhere about moving this step into a container to sidestep this problem entirely. I think he was attempting to do that but probably got sidetracked by more important stuff.

If this is a small positive step then how about we merge it and then work on the bigger improvement later?

Sorry I didn't close the loop! Moving it into the docker container was non-trivial. Let's merge this up.
Might make sense to look through all remaining local dev tasks and file an issue with a punch list to move them all into containers. This will likely make for a good contribution from someone with more docker-compose experience!


Simple BleClient mocking

#RxBleClient can be mocked now like this:
        rxBleClient = new RxBleClientMock.Builder()
                .deviceMacAddress("AA:BB:CC:DD:EE:FF")
                .deviceName("TestDevice")
                .rssi(42)
                .rxBleDeviceServices(
                new RxBleClientMock.ServicesBuilder()
                        .addService(
                            UUID.fromString("00001234-0000-0000-8000-000000000000"),
                            new RxBleClientMock.CharacteristicsBuilder()
                                    .addCharacteristic(
                                        UUID.fromString("00002a29-0000-1000-8000-00805f9b34fb",
                                        "SomeData".getBytes(),
                                        new RxBleClientMock.DescriptorsBuilder()
                                            .addDescriptor(UUID.fromString("00002902-0000-1000-8000-00805f9b34fb"), "SomeDescriptor".getBytes())
                                            .build()
                            ).build()
                ).build()
        ).build();

Code review fixes applied, now mocking client looks like this:
rxBleClient = new RxBleClientMock.Builder()
                .deviceMacAddress("AA:BB:CC:DD:EE:FF")
                .deviceName("TestDevice")
                .scanRecord("ScanRecord".getBytes())
                .rssi(42)
                .addService(
                UUID.fromString("00001234-0000-0000-8000-000000000000"),
                new RxBleClientMock.CharacteristicsBuilder()
                        .addCharacteristic(
                        UUID.fromString("00002a29-0000-1000-8000-00805f9b34fb"),
                        "CharacteristicData".getBytes(),
                        new RxBleClientMock.DescriptorsBuilder()
                                .addDescriptor(
                                 UUID.fromString("00002902-0000-1000-8000-00805f9b34fb"),
                                 "DescriptorData".getBytes()
                                 ).build()
                ).build()
        ).build();

Please verify again.

Looks good to me. What do you think @dariuszseweryn?

I'm not really convinced that Mocking functionality should be introduced in this project. Maybe some kind of extension would be better (like rxjava and rxandroid -> rxandroidble and rxandroidblemock)

This is added as a separate module. If someone wants to use it then he will need to add an additional dependency (exactly like MockWebServer from OkHttp).

Please configure publishing settings in gradle.properties.

Fixes have been applied.

Good points @dariuszseweryn. Thanks. Should be ok now.

I've implemented mocking characteristic notifications. API looks like this:
rxBleClient = new RxBleClientMock.Builder()
                //....
                 .notificationSource(characteristic_UUID, observable)
                 .build();

You can pass a subject as a notification source and then when you can call getNotification(characteristic_UUID), you will get a notification every time you call onNext() on your subject. See updated tests.

@dariuszseweryn could you check the logic in createCharacteristicNotificationObservable especially the cache and share operators at the end? I've mimicked the behavior of RxBleConnectionImpl implementation but it's quite confusing so I'm not completely sure if I did it right.

I've implemented mocking connection status. API looks like this:
rxBleClient = new RxBleClientMock.Builder()
//....
.connectionStateSource(Subject<RxBleConnection.RxBleConnectionState>)
.build();
You can then subscribe to rxBleDevice.getConnectionState() to get notifications about connection state.  Subject that is being passed as a parameter allows to change current connection state - see updated test.

Such functionality has no sense. It will be changed in the future. You can ignore it.

I've added support for simulating device disconnection. Now you will get a CONNECTED status when you subscribe to RxBleConnection and you can simulate a situation when device has disconnected itself. You can do it by calling rxBleClient.disconnect() method. State will change to DISCONNECTED and BleDisconnectedException error will be emited.

LGTM, merging.


RC Spot-Check Test: Beer's Law Lab 1.7.0-rc.3

RC Spot-Check Test
Mentions: @kathy-phet @KatieWoe @arouinfar
Simulation links

github repository for issues
phet top-level directory
sim: all_phet.html
phet-io wrapper index
link to phet-io zip file

Test Matrices
General Test:

[x] Tester = E2, Platform = Win11 Chrome, Time = .25
[ ] Tester = , Platform = , Time =

PhET-iO Test:

[x] Tester = E2, Platform = Win11 Chrome, Time = .5
[ ] Tester = , Platform = , Time =

Additional Features Test:

[ ] Tester = , Platform = , Time =
[ ] Tester = , Platform = , Time =

Features included

[x] PhET-iO (no migration)
[ ] Alternative Input
[ ] UI Sound
[ ] Sonification
[ ] Description
[ ] Voicing

Focus and Special Instructions
This RC test should be done at the same time as Concentration 1.7.0-rc.3.
Issues to Verify
These issues have the "status:ready-for-review" label.  If they verify OK, please close them.

[x] https://github.com/phetsims/beers-law-lab/issues/320
[x] https://github.com/phetsims/beers-law-lab/issues/325
[x] https://github.com/phetsims/beers-law-lab/issues/326
[x] https://github.com/phetsims/beers-law-lab/issues/328
[x] https://github.com/phetsims/beers-law-lab/issues/302

For QA...

General features

What to Test

Click every single button.
Test all possible forms of input.

Test all mouse/trackpad inputs.
Test all touchscreen inputs.

If there is sound, make sure it works.
Make sure you can't lose anything.
Play with the sim normally.
Try to break the sim.
Test some query parameters. (See QA Book for a list of query parameters.)
When making an issue, check to see if it was in a previously published version.
Try to include version numbers for browsers.
If there is a console available, check for errors and include them in the Problem Description.
As an RC begins and ends, check the sim repo. If there is a maintenance issue, check it and notify developers if there is a problem.
As the RC ends, notify the developer of any new QA credits that need to be added.

PhET-iO features

What to Test

Make sure that public files do not have password protection. Use a private browser for this.
Make sure that private files do have password protection. Use a private browser for this.
Make sure standalone sim is working properly.
Make sure the wrapper index is working properly.
Make sure each wrapper is working properly.
Launch the simulation in Studio with ?stringTest=xss and make sure the sim doesn't navigate to youtube
For newer PhET-iO wrapper indices, save the "basic example of a functional wrapper" as a .html file and open it. Make
sure the simulation loads without crashing or throwing errors.
Load the login wrapper just to make sure it works. Do so by adding this link from the sim deployed root:/wrappers/login/?wrapper=record&validationRule=validateDigits&&numberOfDigits=5&promptText=ENTER_A_5_DIGIT_NUMBER

Further instructions in QA Book
Conduct a recording test to Metacog, further instructions in the QA Book. Do this for iPadOS + Safari and one other
random platform.
Conduct a memory test on the stand alone sim wrapper (rc.1).
Test one platform combination with ?phetioDebug=true on the Studio and State wrapper.
If Pan/Zoom is supported, make sure that it works when set with PhET-iO State.
Test that the sim works offline:

Click the link to the phet-io zip file (at top of issue) to download the zip file.
Unzip it to a spot locally.
Open index.html by double clicking it on your desktop or in a Finder-view.
It should look like the standalone version of the sim in PhET-iO brand.

Accessibility features

What to Test

Specific instructions can be found above.

Make sure the accessibility (a11y) feature that is being tested doesn't negatively affect the sim in any way. Here is
a list of features that may be supported in this test:

Alternative Input
Interactive Description
Sound and Sonification
Pan and Zoom
Mobile Description
Voicing

Test all possible forms of input.

Test all mouse/trackpad inputs.
Test all touchscreen inputs.
Test all keyboard navigation inputs (if applicable).
Test all forms of input with a screen reader (if applicable).

If this sim is not in this list or up to date there, make an
issue in website to ask if PhET research page links need updating. Please
assign to @terracoda and @emily-phet.

Screen Readers
This sim may support screen readers. If you are unfamiliar with screen readers, please ask Katie to introduce you to
screen readers. If you simply need a refresher on screen readers, please consult the
QA Book, which should have all of the information
you need as well as a link to a screen reader tutorial made by Jesse. Otherwise, look over the a11y view before opening
the simulation. Once you've done that, open the simulation and make sure alerts and descriptions work as intended.

Platforms and Screen Readers to Be Tested

Windows 10 + Latest Chrome + Latest JAWS
Windows 10 + Latest Firefox + Latest NVDA
macOS + Safari + VoiceOver
iOS + Safari + VoiceOver (only if specified in testing issue)

Critical Screen Reader Information
We are tracking known screen reader bugs in
here. If you find a
screen reader bug, please check it against this list.

Keyboard Navigation
This sim supports keyboard navigation. Please make sure it works as intended on all platforms by itself and with a
screen reader.
Magnification
This sim supports magnification with pinch and drag gestures on touch screens, keyboard shortcuts, and mouse/wheel controls. Please test magnfication and make sure
it is working as intended and well with the use cases of the simulation. Due to the way screen readers handle user input, magnification is NOT expected to
work while using a screen reader so there is no need to test this case.

FAQs for QA Members

There are multiple tests in this issue... Which test should I do first?
Test in order! Test the first thing first, the second thing second, and so on.

How should I format my issue?

We typically assign the developer who opened the issue in the QA repository.

My question isn't in here... What should I do?
You should:

Consult the QA Book.
Google it.
Ask Katie.
Ask a developer.
Google it again.
Cry.

QA is done

Thanks @stemilymill.
All issues vertified, and no new issues were found.  So closing, and I'll proceed with publishing. 🎉


Css completion only works when starting with a space

The auto completion does not work inside class="btn...". When typing class=" btn..." starting with a space it does work.

I also have this issue

me too.

Same here, if you dont close the quotation marks you can write directly after ' class=" ' and get autocompletion

I saw there is already an issue on this #78

Yes, I saw that after I posted. Ctrl+Space is a good workaround.
On 14 March 2018 at 11:38, Charlenze<EMAIL_ADDRESS>wrote:

I saw there is already an issue on this #78
https://github.com/zignd/HTML-CSS-Class-Completion/issues/78
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/zignd/HTML-CSS-Class-Completion/issues/122#issuecomment-372991606,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHLWXM2tSWrQhc51hRSDIWohE426_IDxks5teQEbgaJpZM4ScCKF
.


remove namespace for validatingwebhookconfiguration.

Please provide a description for what this PR is for.
validatingwebhookconfiguration resource is cluster-wide scoped, no need to set namespace for it.
And to help us figure out who should review this PR, please
put an X in all the areas that this PR affects.
[ ] Configuration Infrastructure
[ ] Docs
[ X ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure

@morvencao: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

unit-tests_istio
355dc955792e32795a4962c49704e597cb28b4fe
link
/test unit-tests_istio

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test unit-tests_istio

In response to a cherrypick label: #21390 failed to apply on top of branch "release-1.5":
Using index info to reconstruct a base tree...

Auto-merging operator/pkg/vfs/assets.gen.go
Auto-merging operator/cmd/mesh/testdata/manifest-generate/output/pilot_k8s_settings.yaml
Auto-merging operator/cmd/mesh/testdata/manifest-generate/output/pilot_default.yaml
Auto-merging operator/cmd/mesh/testdata/manifest-generate/output/flag_set_values.yaml
Auto-merging operator/cmd/mesh/testdata/manifest-generate/output/flag_override_values.yaml
Auto-merging operator/cmd/mesh/testdata/manifest-generate/output/flag_output_set_values.yaml
Auto-merging operator/cmd/mesh/testdata/manifest-generate/output/flag_output_set_profile.yaml
CONFLICT (content): Merge conflict in operator/cmd/mesh/testdata/manifest-generate/output/flag_output_set_profile.yaml
Auto-merging operator/cmd/mesh/testdata/manifest-generate/output/flag_output.yaml
Auto-merging operator/cmd/mesh/testdata/manifest-generate/output/flag_force.yaml
Auto-merging operator/cmd/mesh/testdata/manifest-generate/output/component_hub_tag.yaml
Auto-merging operator/cmd/mesh/testdata/manifest-generate/output/all_on.yaml
CONFLICT (content): Merge conflict in operator/cmd/mesh/testdata/manifest-generate/output/all_on.yaml
Auto-merging manifests/istio-control/istio-discovery/templates/validatingwebhookconfiguration.yaml
Auto-merging manifests/istio-control/istio-config/templates/validatingwebhookconfiguration.yaml.tpl
CONFLICT (modify/delete): manifests/istio-control/istio-config/templates/validatingwebhookconfiguration-noop.yaml deleted in HEAD and modified in remove namespace for validatingwebhookconfiguration.. Version remove namespace for validatingwebhookconfiguration. of manifests/istio-control/istio-config/templates/validatingwebhookconfiguration-noop.yaml left in tree.
error: Failed to merge in the changes.
Patch failed at 0001 remove namespace for validatingwebhookconfiguration.


ci: Uncomment release stage

GitHub Issue: #

Proposed Changes

[ ] Bug fix
[ ] Feature
[ ] Code style update (formatting)
[ ] Refactoring (no functional changes, no api changes)
[x] Build or CI related changes
[ ] Documentation content changes
[ ] Other, please describe:

What is the current behavior?

No release stage (Not publishing NuGet package).
What is the new behavior?

Release stage (Publishing NuGet package).
Checklist
Please check that your PR fulfills the following requirements:

[ ] Documentation has been added/updated.
[ ] Automated tests for the changes have been added/updated.
[ ] Updated BREAKING_CHANGES.md (if you introduced a breaking change).

Other information

Let's not merge now. Still waiting for QA.


State persistence

Should have docs for new state persistence stuff

Ok, I'll write a doc on this

this is documented: https://reactnavigation.org/docs/en/state-persistence.html, so I'm closing this


Add indicators to MIP notebook

Indicators are currently not supported by JuMP and will be added to the notebook when they are.

Closing because I'm going to archive this repository.


post, reply, answer_reply [put, delete] 추가

post, reply, answer_reply [put, delete] 추가

[ ] post
[ ] reply
[ ] answer_reply

answer_reply: delete 구현된 상태, put도 구현 필요


Route for single page application not working properly.

I am trying to add route for single page application like this.
Route::get('/{vue_capture?}', function () {
    return view('welcome');
})->where('vue_capture', '[\/\w\.-]*')->middleware(['auth.shopify'])->name('home');

Expected Behavior
it should load welcome.blade.php
Current Behavior
its totally ignoring my route and going back to a route specified in

\vendor\osiset\laravel-shopify\src\ShopifyApp\resources\routes.php  ( line number 23)

what is the purpose of this route? if i remove that route  my code is working as expected  .
Work around (not the best solution)
because i cant remove the code from  package source, I have to write the route twice like this:
Route::get('/', function () {
    return view('welcome');
})->middleware(['auth.shopify'])->name('home');

Route::get('/{vue_capture?}', function () {
    return view('welcome');
})->where('vue_capture', '[\/\w\.-]*')->middleware(['auth.shopify'])->name('home');

There's nothing I can do in this case I don't believe unless I welcome in a config option to turn it off somehow. Auto-discover is handling when to inject the package's defined routes.
Your work around is fine, as reference, I done similar just last month for a Polaris/React setup.
// Home landing page for the app
Route::middleware(['auth.shopify', 'billable'])->group(function () {
    // /*
    Route::view('/{path?}', 'pages.admin')
        ->where('path', '.*')
        ->name('home-alt');

    // /
    Route::view('/', 'pages.admin')->name('home');
});

Where pages.admin was my "welcome".
I'll close this for now, as theres nothing I can actually do right now, but if a config option would be helpful I can try and see about incorporating such an item in.


Internal Server Error

Put a breakpoint in the catch block in the Home page of the attached app.
Run the app and click on various pages in the nav menu .  After about 5-10 clicks the program crashes with this error:
'System.Exception: Server responded with status code 'InternalServerError'.
   at BitzArt.Blazor.Auth.ClientSideAuthenticationService.SignInAsync(Object signInPayload)
   at BitzArt.Blazor.Auth.UserService.SignInAsync(Object signInPayload)
   at Bitzart.Blazor.Auth.Example.Client.Pages.Home.OnInitializedAsync() in C:\Projects\Bitzart.Blazor.Auth.Example\Bitzart.Blazor.Auth.Example\Bitzart.Blazor.Auth.Example.Client\Pages\Home.razor:line 20'

Only thing I can think of is that perhaps I should be checking if the user is signed in before signing in again?  However in that case it should crash on the first attempt, correct?
Bitzart.Blazor.Auth.Example.zip

@sam-wheat
Thanks, we have found out that there was a bug with serializing authentication payloads in Blazor.Auth
We have published a new package version 0.2.3 which contains a fix. Let me know if this resolves your issue!

Thank you!  I will try it shortly.  Am facing many unrelated issues with Blazor however.

Seems to be working in the sample app.


Bug Report

Greetings,
So I am attempting to upgrade the CAF from version 3 something... cannot remember now to version 5.2.1. It upgraded fine on 2 of my tenants minus some subscription registration issues. But when updating my primary production tenant, it is giving an error and stopping
Error: updating Policy Set Definition "Enforce-EncryptTransit": policy.SetDefinitionsClient#CreateOrUpdateAtManagementGroup: Failure responding to request: StatusCode=400 -- Original Error: autorest/azure: Service returned an error. Status=400 Code="InvalidPolicySetParameterUpdate" Message="The existing policy has '28' parameter(s) which is greater than the count of parameter(s) '27' in the policy being added. Policy parameters cannot be removed during policy update."
│
│   with module.enterprise_scale.azurerm_policy_set_definition.enterprise_scale["/providers/Microsoft.Management/managementGroups/mg/providers/Microsoft.Authorization/policySetDefinitions/Enforce-EncryptTransit"],
│   on .terraform\modules\enterprise_scale\resources.policy_set_definitions.tf line 1, in resource "azurerm_policy_set_definition" "enterprise_scale":
│    1: resource "azurerm_policy_set_definition" "enterprise_scale" {
I also tried removing the entire entrerprise module and redoing a terraform init to pull down a fresh copy in case something had changed. But I get the same error
I have played around a bit and tried to find the existing policy on the tenant but having no luck
Hoping you can point me in the right direction.

@wdjonz That policy in question has been deprecated because of a breaking change, which you've run into. As a workaround, in the tenant you are updating, please delete the assignment of Enforce-EncryptTransit, and then delete the initiative. You should then be able to get past this issue.
@matt-FFFFFF anything TF specific here?

@wdjonz please review the upgrade guides for breaking changes guidance as an example here where this exact issue is called out as well as the steps you must take to resolve 👍 https://github.com/Azure/terraform-azurerm-caf-enterprise-scale/wiki/[User-Guide]-Upgrade-from-v3.3.0-to-v4.0.0
https://github.com/Azure/terraform-azurerm-caf-enterprise-scale/wiki/[User-Guide]-Module-upgrade-guidance#upgrade-guides

Thanks for the info.. I did find on your site last night that it was
deprecated and I did do just what you suggested and it ran like a champ.
I appreciate the response and please consider my issue resolved
Thank you
On Fri, Sep 6, 2024, 1:22 AM Sacha Narinx @.***> wrote:

@wdjonz https://github.com/wdjonz That policy in question has been
deprecated because of a breaking change, which you've run into. As a
workaround, in the tenant you are updating, please delete the assignment of
Enforce-EncryptTransit, and then delete the initiative. You should then be
able to get past this issue.
@matt-FFFFFF https://github.com/matt-FFFFFF anything TF specific here?
—
Reply to this email directly, view it on GitHub
https://github.com/Azure/Enterprise-Scale/issues/1757#issuecomment-2333512833,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJNUE2BVSBVVPTTEUTL22GLZVFQ3DAVCNFSM6AAAAABNX2TAX6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGMZTGUYTEOBTGM
.
You are receiving this because you were mentioned.Message ID:
@.***>


Update README.md to add slidingWindows(ofCount:) and striding(by:)

Adds slidingWindows(ofCount:) and striding(by:) to README.md
Checklist

[x] I've added at least one test that validates that my change is working, if appropriate
[x] I've followed the code style of the rest of the project
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary

Thanks, @ollieatkinson!

Thanks, @ollieatkinson!


ReferenceError: Can't find variable: state

The below question. I suppose it has to do something with react-native-router-flux since the issue is there only when i move from my newpassword screen to login screen.
https://stackoverflow.com/questions/57553509/referenceerror-cant-find-variable-state-in-react-native-0-60-4
Please take a look and suggest any bugs in my code or any workarounds

Sorry, this error is not related to this component


Disregard UTF-8 and X-UA tags (when applicable)

Bootlint Online, at the time of this writing, doesn't request HTTP headers when you enter a URL.
In the case of meta charset="UTF-8" and meta http-equiv="X-UA-Compatible" content="IE=edge">, these can be added server-side via .htaccess in Apache like so:
AddDefaultCharset UTF-8
Header set X-UA-Compatible "IE=Edge"
Would be nice to automatically detect this so I wouldn't keep getting 2 problems every time I check my site for errors.

Thanks for your feedback, now Bootlint Online checks for HTTP headers when W001 and W002 are found. :+1:


tour: Line numbers overlaying code

Context: https://tour.golang.org/welcome/1
I'm seeing the line numbers overlaying the code in the "tour of go". See attached screenshot.

I have the same issue (tested on Chrome Stable Latest & Firefox ESR).

Dup of #323.


[dvsim] Minor improvement to FlowCfg

There are 3 main changes in the first commit:

Simplify the way the full deploy object is constructed. The class
instance FlowCfg::deploy is now no longer ambiguous - it only
computed for a child cfg. For a primary cfg, deploy member is
an empty list. A primary cfg does not need to maintain the full list
of all deploy objects collated from all child cfgs.

The Flowcfg::kill() is dead code - it is removed.

The Scheduler.run is removed since the instance of the Scheduler is
now created in FlowCfg::deploy_objects() itself.

The second commit has lint fixes.
This is spun out of #5203.

Hi Sri! I just rebased this (pushing to your branch), I hope you don't mind. It was failing CI for (I think) spurious reasons, so I thought it would be more helpful to have everything ready to merge when you started work.

Hi Sri! I just rebased this (pushing to your branch), I hope you don't mind. It was failing CI for (I think) spurious reasons, so I thought it would be more helpful to have everything ready to merge when you started work.

Thanks!


Incompatible with Paradise Lost

Cannot be used with the Paradise Lost mod (https://www.curseforge.com/minecraft/mc-mods/paradise-lost).

This issue has since been fixed in the newest 1.18.2 version it would seem


Issue With The BuildRequestOptions When calling GetAllprojects()

Hello,
I was debugging a vscode plugin that is using your lib (By the way thank you for your work on this)
And some user was having issue after connection to list projects : corporate jira tracker was returning error 400  after call to .getAllProjects  function. The request was not correct according to the server
So I tried with the following code building the request option my self and bypassing the buildRequestOptions(opts, '', 'GET') function. as follow
this.getAllProjects = function (opts, callback) {

        var options = {
            uri: this.jiraClient.buildURL('/project'),
            method: 'GET',
            json: true,
            followAllRedirects: true
        };

        return this.jiraClient.makeRequest(options, callback);
    };

and like this it's working.  Do you have any idea what is the issue with our servers or with the build request function?
Thank for your help on this

It seem that the BuildRequest function return an empty body and empty qs.
Deleting those after calling the build function as follow
    this.getAllProjects = function (opts, callback) {
        var options = this.buildRequestOptions(opts, '', 'GET');

        delete options.body;
        delete options.qs;

        return this.jiraClient.makeRequest(options, callback);
    };

seem to fix the issue

@MXM-7 , @gioboa good catch. Thanks for your code samples. Updates will get to the library in the next releases.

Solved in 2.12.0 version


Problem with nested  and  tags

I am using this library to convert Stack Overflow questions to markdown (to display them in Discord).
For code blocks Stack Overflow uses following html structure:

Source code (raw; no
 tags)

Unfortunately, converting this to markdown results in the code not being shown properly. I tried replacing
 with ,
 etc. but the formatting isn't right. I will try to fix this and get back if I can get it to work.

This is my (bad) fix:
    private String toMarkdownFixed(String html) {

        StringBuilder strippedHtml = new StringBuilder();
        Map<String, String> codeSnippets = new HashMap<>();

        for(;;) {
            int start = html.indexOf("
");
            if(start == -1) {
                strippedHtml.append(html);
                break;
            }

            strippedHtml.append(html, 0, start);
            html = html.substring(start + "
".length());
            int end = html.indexOf("
");
            String code = StringEscapeUtils.unescapeHtml3(html.substring(0, end));
            String codeSnippetName = "%%%CODE" + codeSnippets.size() + "%%%";
            codeSnippets.put(codeSnippetName, code);
            strippedHtml.append(codeSnippetName);
            html = html.substring(end + "
".length());
        }

        String markdown = new CopyDown().convert(strippedHtml.toString());
        for(Map.Entry<String, String> snippet : codeSnippets.entrySet()) {
            markdown = markdown.replace(snippet.getKey(), "```" + snippet.getValue() + "```");
        }

        return markdown;
    }

Hi @pauhull, would you mind sharing a full html and the markdown that you would expect? So that I can check it when I have some time?
Thanks

So as it turns out it's not an error in the library. By default code blocks are indented, but Discord only displays fenced code blocks correctly. Changing the CodeBlockStyle to fenced fixed the issue. Maybe it is a good idea to make this the default option, since fenced code blocks seem to be more common than indented ones. Anyways, thank you for your great project and your fast response, i am going to close this issue now :)


Run o1 with MetaGPT, cannot produce any output.

Bug description

When running o1, with examples/build_customized_multi_agents.py, no output is shown in the terminal. But o1 is indeed being used and charged.
logs does have the o1 output as 'DEBUG', it is just not shown in the terminal
If switch to gpt4, everything is working.

Environment information
o1 and o1 mini both have the issue. No output in the terminal.

System version: Linux
MetaGPT version or branch: Latest metaGPT github repo installation as of today.

Please update your configuration as follows:
llm:
  api_type: 'openai'
  api_key: 'sk-...'
  model: 'o1-mini'
  use_system_prompt: false
  stream: false

Make sure use_system_prompt and stream are set to false.


ntfy pub on Mac does not use default-host in ~/.config/ntfy/client.yml

:lady_beetle: Describe the bug
I just set up self hosted server. When I try ntfy send https:myserver/topic I can successfully get a notification sent to my phone. However, if I try to add that same server to ~/.config/ntfy/client.yml and run ntfy pub message topic, I get nothing. The message also does not show up in the notifications on the app/web app.
:computer: Components impacted
Self hosted server on Docker on Raspberry Pi, Mac client from homebrew, version 2.11.0

Move the config to the path identified here for MacOS: https://docs.ntfy.sh/subscribe/cli/#install-configure


loss exploded

Hey, buddy, it is a amazing work! I was training the model on Vimeo90k dataset by running  ./run.sh.
The loss gradually declined as the epoches increased. But after about 10 epoches passed, the loss exploded suddenly without any sign.
It printed like this

by

if loss.data.item() > 10.0 * LOSS_0:
print(max(p.grad.data.abs().max() for p in model.parameters()))
continue

And the generated test image

Why the loss exploded suddenly?  How can I avoid it?
Thx!

Hi, thanks for your interest in our work.
Current code does gradient clipping and I also added that code snippet you mentioned to skip the iterations when the loss seems like it's going to explode, but this problem happens once in a while, and I'm also having a hard time analyzing this error since it is not reproducible.
For now, I think it should be fine (most of the time) if you just resume training from model_best.pth.
Also, training becomes more stable if you start from a smaller learning rate.
Hope this answer helps you train the model successfully.
I'll add to this issue if I find the exact reason for sudden loss explosions.

Thanks for your answering!


Not getting sms or certificate

I have taken 1st dose of vaccine on 18 June at vpo Shahpini tehsil-sangaria district hanumangarh Rajasthan 335063. I didn't get any sms or certificate. Mob<PHONE_NUMBER>

Same. I have taken the 1st dose of covishield on 26 June 2021 at BKC COVID-19 VACCINATION CENTER<PHONE_NUMBER>/900456284 (Mumbai), still I did not receive any sms or the certificate. Mobile Number:<PHONE_NUMBER>

Same problem

Please check with COWIN support: https://www.cowin.gov.in/#howcanweHelp


Remove funding checks upon contract creation which can be done off chain

Once https://github.com/MARKETProtocol/Dapp/issues/37 is resolved we can remove the checks and associated variables that are used here that ensure the contract creator has supplied sufficient funding.
In the future it is possible all recursive queries can be removed - allowing users to push the contract to settlement in the case of a price band breach or just the final query at settlement.
For the time being work can be done in a branch until we ready to push to master and prepare a new npm release for the dapp.
If you are currently working on other bounties for us, please do not grab this issue until work has been submitted for the other issues you are working on.  This allows us to get more people involved as well as parallelize the process!

Resolved in 0.0.14

Issue Status: 1. Open 2. Expired

This issue now has a funding of 0.1 ETH (69.21 USD @ $692.1/ETH) attached to it.

If you would like to work on this issue you can 'start work' on the Gitcoin Issue Details page.
Questions? Checkout Gitcoin Help or the Gitcoin Slack
$1,512.27 more funded OSS Work available on the Gitcoin Issue Explorer


Test 0.3.8.rc

@jeremy @vt-gpatrick
I've merged your PRs.
https://github.com/taskrabbit/makara/issues/157
https://github.com/taskrabbit/makara/pull/159
https://github.com/taskrabbit/makara/pull/160
Can you please test out a release candidate?
# Gemfile
gem 'makara', git: 'https://github.com/taskrabbit/makara.git', tag: 'v0.3.8.rc2'

oh wait. @jeremy has a few more. I'll review those now.

@jeremy @vt-gpatrick
I've merged your PRs.
https://github.com/taskrabbit/makara/pull/150
https://github.com/taskrabbit/makara/issues/157
https://github.com/taskrabbit/makara/pull/158
https://github.com/taskrabbit/makara/pull/159
https://github.com/taskrabbit/makara/pull/160
Can you please test out a release candidate?
# Gemfile
gem 'makara', git: 'https://github.com/taskrabbit/makara.git', tag: 'v0.3.8.rc3'

Tests green. Behaved well in limited rollout. Now in production on Basecamp 3. ✅

Great! 🎉
Green here too. Waiting to test in prod until I'm back from vacation (next week).

Tested and worked! Pushed new gem to rubygems.
https://rubygems.org/gems/makara
@jeremy @vt-gpatrick you can use that now it you like.


How to come out from FormFlow dialog & to go to multiple QnaMaker dialog services

Bot Info

SDK Platform: .NET
Active Channels:  Direct Line

Issue Description
How to come out from FormFlow dialog & to go to QnaMaker dialog.
Code Example
======================================================
Message Controller:
    public async  Task<HttpResponseMessage> Post([FromBody]Activity activity)
    {

          if (activity !=null && activity.GetActivityType() == ActivityTypes.Message)
            {

               switch (activity.Text)
                {
                    case "A":
                        await Conversation.SendAsync(activity, () => new Dialogs.BitsyQnAMakerDialogA());
                        break;
                    case "B":
                        await Conversation.SendAsync(activity, () => new Dialogs.BitsyQnAMakerDialogB());
                        break;
                    case "C":
                        await Conversation.SendAsync(activity, () => new
                                                                                Dialogs.BitsyQnAMakerDialogC());
                        break;
                    case "D":
                        await Conversation.SendAsync(activity, () => new Dialogs.BitsyQnAMakerDialogD());
                        break;
                    default:
                 await Conversation.SendAsync(activity, () => { return Chain.From(() =>
                FormDialog.FromForm(DomainSelectionForm.BuildForm)); });

                        break;
                }

             }
            else
            {
                HandleSystemMessage(activity);
            }

            var response = Request.CreateResponse(HttpStatusCode.OK);
            return response;
          }

==========================================
DomainSelectionForm
[Serializable]
public class DomainSelectionForm
{
public DomainTypes domainType;
    public static IForm<DomainSelectionForm> BuildForm()
    {

    return new FormBuilder<DomainSelectionForm>().AddRemainingFields().OnCompletion(async (context, profileForm) =>
         {

       //     throw new System.ApplicationException("Welcome To FAQ Bot Service");

         }).Build();
    }
}

[Serializable]
public enum DomainTypes
{
           A= 1,B= 2,C= 3,D= 4
}

=================================
Expected Behavior

User says HI
Switch Case default : will hit
I Show a form A | B | C | D using BuildForm()
User Select A , I take him to Qna Maker A , Next time user type anything it goes to Qna Maker A only.
same for B, C ,D

Actual Results

I am unable to come out from the formflow stack.

Dear Experts kindly help, i am new to formflow & dialogs

Hi @rupjit
There are a few ways to accomplish this.  Fortunately, the bot builder sdk manages the dialog stack for you.  The simplest way to take advantage of this is to have a RootDialog that contains the branching logic.  Something like:
[Serializable]
public class RootDialog : IDialog<object>
{
    public async Task StartAsync(IDialogContext context)
    {
        context.Wait(this.MessageReceivedAsync);
    }

    public virtual async Task MessageReceivedAsync(IDialogContext context, IAwaitable<IMessageActivity> result)
    {
        var activity = await result;
        var reply = context.MakeMessage();

        string qnaMakerSelection = null;
        if (context.ConversationData.TryGetValue("QnAMakerOption", out qnaMakerSelection))
        {
            DomainTypes selection = (DomainTypes)Enum.Parse(typeof(DomainTypes), qnaMakerSelection);
            switch (selection)
            {
                case DomainTypes.Domain1:
                    await context.Forward(new BitsyQnAMakerDialogA(), AfterQnAMakerDialog, activity);
                    break;
                case DomainTypes.Domain2:
                    await context.Forward(new BitsyQnAMakerDialogB(), AfterQnAMakerDialog, activity);
                    break;
                case DomainTypes.Domain3:
                    await context.Forward(new BitsyQnAMakerDialogC(), AfterQnAMakerDialog, activity);
                    break;
                case DomainTypes.Domain4:
                    await context.Forward(new BitsyQnAMakerDialogD(), AfterQnAMakerDialog, activity);
                    break;
            }
        }
        else
        {
            await context.Forward(FormDialog.FromForm(DomainSelectionForm.BuildForm), AfterDomainSelection, activity);
        }
    }

    private async Task AfterQnAMakerDialog(IDialogContext context, IAwaitable<object> result)
    {
        await context.PostAsync("QnAMakerDialog closed");
    }

    private async Task AfterDomainSelection(IDialogContext context, IAwaitable<object> result)
    {
        string qnaMakerSelection = null;
        if (context.ConversationData.TryGetValue("QnAMakerOption", out qnaMakerSelection))
        {
            await context.PostAsync($"Future requests will be routed to QnAMakerDialog {qnaMakerSelection}");
        }
    }
}

The MessageReceivedAsync method checks for a "QnAMakerOption" in ConversationData and uses that value to determine which QnAMakerDialog to forward messages to.  The "QnAMakerOption" is set in the FormFlow's OnCompletion like this:
    [Serializable]
    public class DomainSelectionForm
    {
        public DomainTypes domainType;

        public static IForm<DomainSelectionForm> BuildForm()
        {

            return new FormBuilder<DomainSelectionForm>().AddRemainingFields().OnCompletion(async (context, profileForm) =>
            {
                context.ConversationData.SetValue("QnAMakerOption", profileForm.domainType);

            }).Build();
        }
    }

    [Serializable]
    public enum DomainTypes
    {
        none = 0, Domain1 = 1, Domain2 = 2, Domain3 = 3, Domain4 = 4
    }


Upgrade from gopkg.in/v2/yaml to gopkg.in/yaml.v2 everywhere

gopkg.in has (suddenly?) stopped supporting the URL format gopkg.in/v2/yaml, so
switch everything over to gopkg.in/yaml.v2. ghodss/yaml has already been
upgraded, so upgrade to the version that uses gopkg.in/yaml.v2 as well.

LGTM


chore: bdd-nh-1587683054 to 0.0.1

chore: Promote bdd-nh-1587683054 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
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:

OWNERS

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


Feature request: users name rather than id

When cloning student’s assignment repository the naming of the folders is "assignementname-userid".
It would be most useful to have "assignementname-username" since the userid:s can be quite cryptic.

Hi @karye yes this would be nice, I want this feature as well. I when to implement it and ran into the fact that not all students actually have their name set in their GitHub profile. So in those cases we would have to fall back to their GitHub username which would be confusing for teachers and TA's.
The real solution is to have the roster identifier included in the Student struct (issue #9 ) and ideally add the roster to the backend REST API (issue #36)
Unfortunately both issues (#9, #36) required changes to the back end API which is not open source so I can't implement them myself. If those to issues are resolved I can push these changes as well :)

Yes, the student rooster-name should be used when creating student-repos.

+1 for the student roster name ...I made myself a python script that update all the folders and rename them to the roster name (by loading the csv file first). Problem is, I can't use the new classroom "pull" feature because it doesn't recognize the folders.


Add locking/unlocking

I added SVN locking and unlocking.

Thanks for the PR. I will be updating master soon to include this capability.


Add SourcePre event

May it be useful to lazily evaluate some code before plugin loaded instead of putting them in vimrc or ~/.vim/plugin

Thanks!

Cheers!


update 1.1.0 change log

What this PR does:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

Codecov Report

Merging #510 (007c754) into master (54e502b) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##           master     #510   +/-   ##
=======================================
  Coverage   38.66%   38.66%
=======================================
  Files         152      152
  Lines       10244    10244
=======================================
  Hits         3961     3961
  Misses       5957     5957
  Partials      326      326

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


AtomicU64 availability

on MIPS, AtomicU64 is not available and thus, this crate does not compile.
I could make a PR to fix that but first I need to know which solution you prefer:

switch to AtomicUsize
use #[cfg(target_arch)] to use AtomicU32 for MIPS
use a 64bit Mutex
use a Generic

Also, in my quick n' dirty solution where I did 1. I then casted the resulting usize to u64 so I don't have to change the whole API. How do we go about that?

Hey, thanks so much for bringing this up! I think I am fine with AtomicUsize for calculating the next request ID. I support not changing the public API, since u64 is stable across platforms.

Hey, thanks so much for bringing this up! I think I am fine with AtomicUsize for calculating the next request ID. I support not changing the public API, since u64 is stable across platforms.


Update to 0.6.5-SNAPSHOT

Summary of changes:

Migrate to core-java: 0.6.5-SNAPSHOT and bump jdbc-storage to 0.6.5-SNAPSHOT as well.
Migrate to Guava 20.0 (as core-java migrated to Guava 20.0 as well).
Update unit tests according to the new Event filtering features of core-java.

@dmytro-kashcheiev PTAL.

Current coverage is 90.99% (diff: 80.88%)

Merging #16 into master will decrease coverage by 0.18%

@@             master        #16   diff @@
==========================================
  Files            64         64
  Lines          1281       1343    +62
  Methods           0          0
  Messages          0          0
  Branches         64         80    +16
==========================================
+ Hits           1168       1222    +54
- Misses           86         91     +5
- Partials         27         30     +3

Powered by Codecov. Last update 6c18c24...9532d38

@dmdashenkov This PR seems outdated indeed. Could you please ensure you migrate to Guava 20 in scope of the update to 0.7.0 you are working at? Use this PR for the reference.

@armiol I've moved all the necessary changes into 0.7.0 ( #19 ), so now, I think we are able to close this PR.


The app logo is not decent

VSCode Version: 1.4.0
OS Version: 10.11.6

Steps to Reproduce:

The width of app logo should be relevant to other apps (now it looks a little bit wider, I know actually it fits in square)
The white color in the twist and the border should be transparent or other colors
Just a small recommendation, why don't we redesign a separate icon for VSCode, not the same as VS. Thanks.

I replaced mine with this one:
https://dribbble.com/shots/3168520-Visual-Studio-Code-Icon-Replacement
It looks better on OSX!

Closing all icon issues against https://github.com/Microsoft/vscode/issues/6607


should update() during top level script evaluation be ignored?

The wpt tests we imported from blink has this code at the top level of one of its service worker scripts:

// update() during the script evaluation should be ignored.
self.registration.update();

I don't see anything in the spec that does this.  It seems like it might be a good idea, though, to avoid potential infinite async update loops.  For example, if the install event fails or something I think you could end up with an endless set of failing update jobs running in the background.

@matto, can you clarify exactly what chrome does in this case?  Does it truly ignore it silently or does it reject with an InvalidStateError?

Let me take a look.
As a process note, I'm having trouble staying on top of Github mail. Is it possible to assign me to these issues that are blocked on my feedback, so I can use the Github's issue tracker to keep track of my tasks?

Ah, I see searching issues for mentions:matto is a pretty good way.

Ah you mentioned the wrong matto. I'm @mattto with three t's.

Ah, sorry!  Fixed in the comment above.

I think it makes more sense to reject the promise.  Ignoring it silently seems wrong to me.

Looks like we reject with a InvalidStateError.
The spec probably needs to be revised? In update(), Get Newest Worker is not necessarily null, if there's an active or waiting worker. Then in 9.2 Update, the installing version would be terminated.

I don't see any problem with the current text. If the install event fails, the worker will get redundant. Rejecting the promise (update() step 4 that ) when the newest worker is null should be enough I guess.

Get Newest Worker is not necessarily null, if there's an active or waiting worker.

That's right. And even in the example in the OP, update() was called within the installing worker's script, the newest worker, the installing worker itself, is always there. But the Schedule Job will aggregate this update() job in favor of the running installation, so there won't be such an endless set of failing updates.

That's right. And even in the example in the OP, update() was called within the installing worker's script, the newest worker, the installing worker itself, is always there. But the Schedule Job will aggregate this update() job in favor of the running installation, so there won't be such an endless set of failing updates.

You will still end up with continuous updates running once every 1 second (or whatever update delay the particular browser uses).  This seems bad to me.  I think we should remove the potential for infinite loops in job scheduling where possible.
I think it would be better to silently resolve the update() promise with success if called:

During top level sw script evaluation.
Called while install event is being processed.

In both cases we can argue an update is already in progress and its the same kind of short-circuit as Register does in its step 5.3.

You will still end up with continuous updates running once every 1 second

I'm not following this.
Assuming the browser has an active worker that contains only self.registration.update();

SW spins up for whatever reason
Update triggered
SW fetched, and it's byte different! self.registration.update(); // v2
Installing worker spun up
Update triggered
SW fetched, byte-identical, ignored
Installing worker activates

Sure, you're going to get a fetch for your SW pretty frequently, but this isn't much worse than putting fetch('/whatever') at the top of your SW.

Assuming the browser has an active worker that contains only self.registration.update();

This is missing the part about failing the install.  The script in question is more like:
self.registration.update();
addEventListener('install', function() { throw 'boom'; });

AFAICT this will update continuously until the script is changed.  I don't think we should let update() function in a SW that has not reached the installed state.

But the Schedule Job will aggregate this update() job in favor of the running installation

@wanderview, I wonder if you considered this point?
So, I mean the job created by self.registration.update() will not be pushed to the queue.

A note on Chrome's implementation: the comment in the Blink's test is misleading:
// update() during the script evaluation should be ignored.
Chrome actually can perform update() during initial script evaluation. It only ignores it if Get Newest Worker returns null. The comment means to say something like "update() from the installing worker of a new registration is rejected with InvalidStateError".

@jungkees Where does it do the aggregation now?  I seem to remember we only aggregate SoftUpdates, not explicit update() calls.  Also, I can't find the steps that do the aggregation since the change to a single job queue.
I'm not sure rejecting if newest worker is null is adequate.  The install algorithm sets .installing before executing Run Service Worker.  So .installing will be set at top level script evaluation.
I think we should probably reject if the only worker is installing with no waiting or active workers.

@jungkees Where does it do the aggregation now? I seem to remember we only aggregate SoftUpdates, not explicit update() calls. Also, I can't find the steps that do the aggregation since the change to a single job queue.

The single job queue change made all the equivalent jobs (i.e. jobs from register(), update(), Soft Update) be aggregated in the Schedule Job algorithm step 2.2.

F2F resolution: @wanderview to review and see if no longer an issue.

By https://github.com/slightlyoff/ServiceWorker/commit/ccfa7e4c1c7dad30be752ef4e613835d1d5fedc7,

The single job queue change made all the equivalent jobs (i.e. jobs from register(), update(), Soft Update) be aggregated in the Schedule Job algorithm step 2.2.

is not true any more. An equivalent job whose promise has already settled makes the job passed to Schedule Job be queued. So, more thought and discussion are needed for the issue in this tread.

I think the easiest way to handle this would be to do something like this in ServiceWorkerRegistration.update():

If the entry settings object is a ServiceWorkerGlobalScope (or appropriate text to determine its being called within a service worker).
If the ServiceWorkerGlobalScope's associated service worker's state is 'installing', reject the promise with an InvalidStateError and abort these steps.

Would something like that work?

Agreed on rejecting the update attempt for an installing worker. I think the suggested algorithm steps are good (with a relevant settings object instead of an entry settings object). @matto, WDYT?

SGTM.

I put it in the Update algorithm after a thought. I think the consensus is making the update() reject for an installing worker regardless the context object (ServiceWorkerRegistration) is in a client or in a service worker. Let me know if you didn't expect this.

Sorry, but I don't think the check can be done in the Update algorithm.  With it written that way the check won't be executed until after the current job completes and the Update job begins.  This means you will never see a worker in the installing state.
I think we have to do this check in the update() function itself.  Also, I think it should use the service worker associated with its global since this is really only a problem for a service worker updating itself.

With it written that way the check won't be executed until after the current job completes and the Update job begins.

Absolutely. I'll get it done again as you originally suggested. Thanks!

Addressed: afae5dea8b66156807cf9ef8dbdc420b5ab81f0a


Updated Koryphe version to 1.7.0-RC1

Codecov Report

Merging #2137 into develop will decrease coverage by 0.57%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             develop    #2137      +/-   ##
=============================================
- Coverage      65.63%   65.06%   -0.58%
- Complexity      2349     2350       +1
=============================================
  Files            901      867      -34
  Lines          30018    28549    -1469
  Branches        3708     3502     -206
=============================================
- Hits           19703    18575    -1128
+ Misses          8760     8493     -267
+ Partials        1555     1481      -74

Impacted Files
Coverage Δ
Complexity Δ

...n/handler/spark/GetDataFrameOfElementsHandler.java
87.5% <0%> (ø)
0% <0%> (ø)
:arrow_down:

...re/operation/handler/spark/AddElementsFromRDD.java
83.33% <0%> (ø)
0% <0%> (ø)
:arrow_down:

...q/gaffer/hbasestore/HBaseSerialisationFactory.java

...processor/processor/StoreAggregationProcessor.java

...k/gov/gchq/gaffer/hbasestore/utils/TableUtils.java

...asestore/operation/handler/GetElementsHandler.java

...ssor/processor/PostAggregationFilterProcessor.java

...ov/gchq/gaffer/hbasestore/SingleUseHBaseStore.java

...eration/handler/SplitStoreFromIterableHandler.java

...q/gaffer/hbasestore/retriever/RowRangeFactory.java

... and 27 more

Continue to review full report at Codecov.

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


NBA Single Game Optimizer

Hi
I have tried nba single game optimizer with Player model
And It says "Can't generate lineups".

Hi can I see your python code you are running

Thanks for you reply
Its are my full code

Hello, did you have a chance check the nba fanduel single game?

I can take a look at it if you haven't gotten a solution yet. Do you have a csv as well?

Also, it may be helpful in debugging to use the script, not an image.

I think my problem is player model
If I try with "load_players_from_csv", it is perfect
And I don't know how to make players for fanduel single game.

It is my player model.

For FD single game you should create multiple players for each slot (MVP/STAR/UTIL). So after creating a player you also should create a new "MVP" player with multiplied points, that is how it's done in repository https://github.com/DimaKudosh/pydfs-lineup-optimizer/blob/master/pydfs_lineup_optimizer/sites/fanduel/classic/importer.py#L53 Note that it works in the latest version 3.3.0 in previous versions the special attribute was added to a player object for FD but it break stacks functionality and I replaced it in the new version of package

Thank you


Does aiohttp make use of multi cores or single one?

Like Tornado that can make use of N cores by set proper parameters. Thanks.

You can use the gunicorn worker as described in the documentation.
In case of you need to serve other protocols than HTTP, you can use API-Hour.

Or just push several aiohttp processes behind nginx reverse proxy.


Waveform encoding

I understand that the number of bars in a waveform for voice notes might vary per client, but I'm wondering how an edge case is supposed to be handled: When encoding the bars into 5 bits, you might be left with 5 or more bits left over in the byte buffer. How do you indicate that these bits don't represent the last bar but instead are just (zeroed) data? Or is it assumed that you chose a number that fits into 8 bits without leaving 5 bits extra?

It couldn't be indicated, so as much bits as possible are used. Usually, clients encode 100 bars, so only 4 bits are left in the last byte, which are ignored after decoding. Anyway, zero height is the right height for the bar after the end of the voice message.


dep(api): update docker binary version to 19.03.12

Update Docker binary version to 19.03.x for both Linux and Windows which adds support for Docker Stack version 3.8 https://docs.docker.com/compose/compose-file/
Because Docker, Inc does not any more publish Windows binaries separately I change script to use binaries published by Microsoft. Links to those can be found from https://go.microsoft.com/fwlink/?LinkID=825636&clcid=0x409
Closes #3206 #3036

@deviantony PTAL

@olljanat last time we tried to bump the version this was causing issues with TLS enabled endpoints.
See https://github.com/portainer/portainer/issues/3206#issuecomment-537704606
I'll add this to our backlog for investigation though.

@deviantony it looks to be that on 18.09 --tlscacert defaults to empty but on 19.03 it defaults to value which is visible on docker --help
It can be tested very easily even without TLS configuration.
On 18.09:
$ docker --tls ps
Cannot connect to the Docker daemon at tcp://localhost:2376. Is the docker daemon running?

On 19.03:
$ docker --tls ps
unable to resolve docker endpoint: open /home/user/.docker/ca.pem: no such file or directory

Solution is force --tlscacert to empty when --tlsverify is not used so it works same way on both versions:
$ docker --tlscacert "''" --tls ps
Cannot connect to the Docker daemon at tcp://localhost:2376. Is the docker daemon running?

I updated that to this PR now and also updated Docker CLI for Windows.
Note! I have not tested to build this one as I was planned to use CI for it but looks that it does not work.
/cc: @itsconquest

@olljanat perfect ! Thanks for the update. I'll trigger a CI run and we'll be able to test this one.

/azp run

@deviantony rebased and fixed conflict

@olljanat awesome, thank you!

@olljanat i've just done a review and it LGTM, great work!! Are you able to resolve the merge conflict for me? Then I can merge it for you

@olljanat i've just done a review and it LGTM, great work!! Are you able to resolve the merge conflict for me? Then I can merge it for you

@itsconquest  done

@itsconquest  done

Thanks again for that one @olljanat ! It tooks us some time but it made it to the codebase :-)

Thanks again for that one @olljanat ! It tooks us some time but it made it to the codebase :-)


BHUNP 3BBB Thief Leather Armor? Who's the author? What's the website? Please Help!

This is the only file I need to complete this modlist. I'm only asking what website, and who made the file so I can download this indescript mod. Please help!

Can get it from here ringo
https://mega.nz/file/RTZA2b4B#WcFLVQw8g0175FRTsskJASEVETWDkMMd4Rsi-JQ21X4

Thank you so very much. I stayed up 4 hours searching yesterday!!! seriously thank a ton Corbillion!
Hopefully this helps some other people as well.
Happy modding


With version 2.9 of rocm and Ubuntu 18.04 hipMalloc has a seg fault allocating a struct member.

The line where hipMalloc is being used to allocate a struct member has a segmentation fault under rocm 2.9, but previously worked under the last several versions of ROCm.
#define PIXELS_PER_LINE 1024
#define LINE_BYTES_UINT32 PIXELS_PER_LINE   * sizeof(uint32_t)
struct BaselineData
{
uint32_t* minLine;
};
void initBaselineData_d(struct BaselineData *& data)
{
std::cout << "HIP_CHECK(hipMalloc(&data,sizeof(struct BaselineData)));"         << std::endl;
HIP_CHECK(hipMalloc(&data,sizeof(struct BaselineData)));
std::cout << "HIP_CHECK(hipMalloc(&(data->minLine), LINE_BYTES_UINT32));"       << std::endl;
HIP_CHECK(hipMalloc(&(data->minLine), LINE_BYTES_UINT32));
}

Hi there,
I have tried to the similar scenario and found no issue on rocm 2.9 with gfx803 and gfx906 .
For further investigation, could you please provide us the following details:

Config details(gpu, motherboard,etc)
environment setting if any
If possible could you provide us the code to have a look into
I have tried, the following code, you may as well modify and give which can repro the issue

#include
#include "hip/hip_runtime.h"
#include "hip/hip_runtime_api.h"
using namespace std;
#define HIPCHECK(error)
{
hipError_t localError = error;
if ((localError != hipSuccess)){
printf("Error received is: %s",hipGetErrorString(localError));}
}
struct Exp
{
uint32_t *val;
};
void Alloc_mem(Exp *&);
int main()
{
void *ptr;
cout<<"Size of struct Exp is: "<<sizeof(Exp)<<endl;
Exp *strt_ptr;
Alloc_mem(strt_ptr);
}
void Alloc_mem(struct Exp *&ptr)
{
HIPCHECK(hipMalloc(&ptr,sizeof(struct Exp)));
cout<<"ptr-val: "<val<<endl;
HIPCHECK(hipMalloc(&(ptr->val), sizeof(uint32_t)*1024));
cout<<"ptr-val: "<val<<endl;
}

gfx900, Gigabyte Z370, 8700k.
I didn't make any changes to the rocm environment after it was installed.
I made some changes to what you posted so it would compile and I got a seg fault at the same place, allocating memory for a struct member.

#include "hip/hip_runtime.h"
#include "hip/hip_runtime_api.h"
using namespace std;
#define HIPCHECK(error)
{
hipError_t localError = error;
if ((localError != hipSuccess)){
printf("Error received is: %s",hipGetErrorString(localError));}
}
struct Exp
{
uint32_t *val;
};
void Alloc_mem(Exp *&);
int main()
{
void *ptr;
cout<<"Size of struct Exp is: "<<sizeof(Exp)<<endl;
Exp *strt_ptr;
Alloc_mem(strt_ptr);
return 0;
}
void Alloc_mem(struct Exp *&ptr)
{
HIPCHECK(hipMalloc(&ptr,sizeof(struct Exp)));
cout << "ptr-val: " << ptr->val << endl;
HIPCHECK(hipMalloc(&(ptr->val), sizeof(uint32_t)*1024));
cout << "ptr-val: " << ptr->val << endl;
}

I have tried on my local setup with gfx900 both single and multi gpu config but could not repro the issue.
We are keen to address the issue, for which could you please let us know the following:

Did u install rocm2.9 on fresh OS? If upgraded, from which version to rocm2.9
Did u upgrade your OS after installing the rocm2.9 driver?
In your earlier  message you said that you did small changes in the code I provided, could you please paste the modified code you used to repro the issue bcz I could not find much of a difference in the code you pasted in the last message.

I upgraded from rocm 2.8 to 2.9. It wasn't a clean install. I installed a lot of updates at the same time I installed rocm 2.9. The code I used was posted in my second second in this thread. I had to make changes because what you posted had syntax errors.

Please check latest ROCm Documentation and ROCm 5.7.1 to see if your issue has been resolved.  If resolved, please close the ticket.  Thanks.


Firefox Audio Problem

Hi, When I want to use ngx-agora audi:true, video:false. Sound is not work. Please tell me how can I solve this problem on Firefox when I want only use audio:true

Hi @caglarturkurka I suggest you contact the folks at agora.io for this one. Any browser compatibility issues are dependent on the Agora SDK.

Hi @caglarturkurka I suggest you contact the folks at agora.io for this one. Any browser compatibility issues are dependent on the Agora SDK.


[refactor] branching out the simulated demo

Create a separate branch for the simulated demo. This branch will have the same features as the live demo, but the user's movement will be simulated.

opened branch refactor/29/sentosa-simulation based on updated sentosa demo


Publishing description commit

Did my research!
Would it be possible to publish the description commit in a new version?
Thanks!

@vkmita @aliatsis
I just published new version to npm. Thanks!


instagrapi.exceptions.RateLimitError

Using this program:
from instagrapi import Client
cl = Client()
cl.login('srpen6', 'PASSWORD')

I get this result:
Status 429: Too many requests
Ignore 429: Continue login
Traceback (most recent call last):
  File "C:\python\lib\site-packages\instagrapi\mixins\private.py", line 270, in _send_private_request
    response.raise_for_status()
  File "C:\python\lib\site-packages\requests\models.py", line 953, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: https://i.instagram.com/api/v1/accounts/login/

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:\Desktop\ig.py", line 4, in <module>
    cl.login('srpen6', 'PASSWORD')
  File "C:\python\lib\site-packages\instagrapi\mixins\auth.py", line 387, in login
    logged = self.private_request("accounts/login/", data, login=True)
  File "C:\python\lib\site-packages\instagrapi\mixins\private.py", line 415, in private_request
    raise e
  File "C:\python\lib\site-packages\instagrapi\mixins\private.py", line 402, in private_request
    self._send_private_request(endpoint, **kwargs)
  File "C:\python\lib\site-packages\instagrapi\mixins\private.py", line 314, in _send_private_request
    raise RateLimitError(**last_json)
instagrapi.exceptions.RateLimitError: Please wait a few minutes before you try again.

RateLimitError - read this https://github.com/adw0rd/instagrapi/discussions/299


KAFKA-10667: add timeout for forwarding requests

Right now the forwarding request will retry indefinitely, which is not the ideal behavior. We should timeout the enqueued request when it hits the request timeout.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Hit unrelated stream test failure, retest


Can't pass a value to Optional<bool?> type.

Describe the bug
I have method on one of the models used in a mutation that takes a Optional<bool?>, when mutating the value true or false, I get the error:
Could not convert argument `state` from `System.Boolean` to `HotChocolate.Optional`1[[System.Nullable`1[[System.Boolean

To Reproduce
Create a mutation class with a method that takes an Optional<bool?>, f.e.:
public sealed class Mutation
{
    public int Toggle(Optional<bool?> state)
        => (state.Value ?? false) ? 1 : 0;
}

Execute this GQL query:
mutation {
  toggle(state: true)
}

Throws:
Could not convert argument `state` from `System.Boolean` to `HotChocolate.Optional`1[[System.Nullable`1[[System.Boolean, System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]], System.Private.CoreLib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]`.

Currently the only query that works is when we don't pass a value to state.
Expected behavior
Should return 1 when passing true, should return 0 when passing false.
Desktop (please complete the following information):

OS: Windows 10

Hi, that is not supported yet but will be with 11. At this point we integrated it for input types. We did basically implement with 10.4 the minimum for the use case. With 11 we will fully integrate this.

Can I help here?

Sure, you can help. The only holdup at this moment is that we are at the moment completely rewriting this part. We are working on the new execution engine and are reworking the algorithms to become allocation free. But if you want to get on board we are happy to have you. We can give you a zoom walkthrough of the current state if you want. We aim to have the new execution engine somehow kicking this week and want to integrate it end of next week.

Sounds a bit overwhelming to jump right in while in the middle of a rewrite.

Could not reproduce this in v11
    public class Mutation
    {
        public int Toggle(Optional<bool?> state) => (state.Value ?? false) ? 1 : 0;
    }

    public class Startup
    {
        public void ConfigureServices(IServiceCollection services)
        {
            services
                .AddRouting()
                .AddGraphQLServer()
                .AddQueryType(x => x.Name("Query").Field("a").Resolve("b"))
                .AddMutationType<Mutation>()

        }
       // ....
    }


chore: refactor statement parsers to re-use more code

[WORK IN PROGRESS]
Combine some of the methods in the statement parsers into one method in the abstract base class, so more code can be re-used. This will also be used to support keeping the comments that are sent to the JDBC driver, so the comments can also be sent to Spanner.

Replaced by separate, smaller PRs.


Add HAML support

ERBHelperExtractor Could still be used. But a new HAMLTextExtractor is needed.

+1 HAML support, although anyone looking for it might be interested in https://github.com/shaiguitar/haml-i18n-extractor


errorformat does not work with Neomake

Here is what I get after running :source /tmp/settings.vim and :make:

And here is what I get after running :Neomake!:

I expect output to be exactly the same as with :make. Is this an error or Neomake no longer uses errorformat?
Below is the code, that you see in screenshots.
/tmp/settings.vim:
set makeprg=python3\ /tmp/foobar.py
set errorformat=\ %#File\ \"%f\"\\,\ line\ %l\\,\ %m
set errorformat+=\@File\:\ %f

/tmp/foobar.py:
def foo():
    assert False

def bar():
    foo()

def main():
    bar()

if __name__ == '__main__':
    main()

This doesn't solve your issue with :Neomake!, makeprg, and errorformat, but it might be helpful anyway.
I put the following in my .vimrc
let g:neomake_python_python3_maker = {
            \ 'errorformat': '\ %#File\ \"%f\"\\,\ line\ %l\\,\ %m,' .
            \ '\@File\:\ %f'
            \ }
let g:neomake_python_enabled_makers = ['python3']

and it output

when called with the command :Neomake

On a similar case, I found that modifying the file autoload/neomake/utils.vim  as:
function! neomake#utils#MakerFromCommand(command) abort
    " XXX: use neomake#utils#ExpandArgs and/or remove it.
      Please create a new issue with what you are using - are you using NeomakeSh?!

I can see that adding 'errorformat': '%+G' could be problematic in some context, but please clarify (in the new issue).

That issue was mostly corresponding to my problem and didn't have any solution proposed, but I can understand that digging old issues is not a good practice. I'll post a new one.

For reference: https://github.com/neomake/neomake/issues/715.

This issue seems to be fixed by now.  I've tested it using the test case posted by @sirex.


Animations

Create animations for when a piece is taking another piece, 2 styles:
Normal Take, Sacrificial Take, with sacrificial being similar to disintegrating a piece

Added in:
omegaleo@78a190a1d17e2057c7364feea344855e93eb26d9
omegaleo@c0e1184009499d798803610d81c51dd2e3ca57e9
omegaleo@db586ebff8388a848663b085fcc22b769c582b5e


Multiple logins/sessions

I've noticed that when you log in multiple times, the previous logins are removed and hence invalidated. This means that you can't log in from different locations. Is this intentional or just something left for the implementor to add?
It seems the invalidation happens in Session.create, where you clear out other sessions from the same user apart from the one just created.
It seems to make sense for when there is only 1 client for the api, but if there multiple clients, each login will invalidate the login of other clients. Just wondering what the rationale was for this?
Thanks!

I'm glad you brought this up.

I've noticed that when you log in multiple times, the previous logins are removed and hence invalidated. This means that you can't log in from different locations. Is this intentional or just something left for the implementor to add?

This is the intended default behavior and something I expect developers to change in their implementations. You could easily change this to allow multiple devices or to allow shared sessions.
GitHub actually does a nice job at a feature like this. If you go to Accounts > Security, there is a session section that lists your sessions and even allows you to revoke them.


Fixed indexOf in 'if' statements

['pre', 'td', 'blockquote'].indexOf('pre') is 0, and 0 is false in if statements.

Thanks!


[FR]: Append inline fields after last field

Contact Details
<EMAIL_ADDRESS>Present your request
In my vault I have my inline fields inside a callout on top of the file, and would be great if new fields were appended after the last field in the note.

For which platform do you request this request??
Cross

Currently we have the option of add new fields on top and bottom of your note.
Another choose of "last field" could be nice, but I think its a little bit complex.
I will add to the roadmap =)

With https://github.com/RafaelGB/obsidian-db-folder/issues/556 done We can abord this one

https://user-images.githubusercontent.com/11924043/207696923-3b925edf-109e-4cb5-b401-85582f2317b1.mov
This could be easily one of the most complicated regex of my career
The new property will respect the marks of your key and the position too
INLINE_LAST_FIELD: /([\s\S]*)(^[^_*~`]*)([_*~`]{0,2})([A-Za-z0-9]+)([_*~`]{0,2})([:]{2})(.+\n{0,1})$([\s\S]*)/gm

case INLINE_POSITION.LAST_FIELD:
                if (INLINE_REGEX.INLINE_LAST_FIELD.test(this.content)) {
                    inlineAddRegex = INLINE_REGEX.INLINE_LAST_FIELD;
                    regex_target = `$1$2$3$4$5$6$7$2$3${columnId}$5:: ${newValue}\n$8`;
                    break;
                }

Commit d855b4c3


fix(datepicker): fix error message

Change error message to reflect what is officially supported as a model value

This fixes #5191.

Yes please, that error message was really weird.


Endpoint for ASPAs

Create a dedicated endpoint to list ASPAs, e.g. /aspa, listing them in CSV format.

Or we could use some other format altogether?

Indeed, let's do JSON.


Since few commits, the maps is no longer zoomable via double click or moving with mouse drag

Is this on purpose or a regression ?

That's definitely not on purpose.
Double click zoom & mouse dragging works ok for me (Chrome & Firefox on Ubuntu  20.04)...

It works in the end, closing it


Align infrared frame to color

Required Info

Camera Model
D415

Firmware Version
<IP_ADDRESS>

Operating System & Version
Win10 (Build 16299)

Platform
PC

SDK Version
2.10.0

Hi there,
I am trying to align infrared frame to color but get these error message:
RealSense error calling rs2_get_frame_width(frame_ref:nullptr):
    null pointer passed for argument "frame_ref"

and a part of my code is
  rs2::align alignTo(RS2_STREAM_COLOR);
  rs2::frameset data = pipeline.wait_for_frames();
  rs2::frameset alignedFrame = alignTo.process(data);

  rs2::frame frameColor = alignedFrame.get_color_frame();
  rs2::frame frameInfrared = alignedFrame.get_infrared_frame();
  rs2::depth_frame depth = alignedFrame.get_depth_frame();

This code works only if the align is set to RS2_STREAM_DEPTH
Is it possible to align infrared frame to color ? or is there something wrong on my code ?
Thanks

[Realsense Customer Engineering Team Comment]
@Panepo
The align is only performed in between depth and other image. you can refer to the API document description.
inline
Create align processing block Alignment is performed between a depth image and another image. To perform alignment of a depth image to the other, set the align_to parameter with the other stream type. To perform alignment of a non depth image to a depth image, set the align_to parameter to RS2_STREAM_DEPTH Camera calibration and frame's stream type are determined on the fly, according to the first valid frameset passed to process() (file:///C:/Users/cpai/Documents/Visual%20Studio%202015/Projects/latestLibRS/librealsense-2.10.4/doc/doxygen/html/classrs2_1_1align.html#abb46dd776cc14b1dd8d6bbf371dd72a0)

Hi @RealSense-Customer-Engineering,
We are trying to build our face recognition algorithm by D415, If the color and infrared frames are aligned would be helpful.
If set the set the align_to parameter to RS2_STREAM_DEPTH causes the RGB and infrared images zoomed out and broken if there is no depth data. Or maybe there is an option to make RGB and infrared frame keep the same resolution and quality ?
Thanks

[Realsense Customer Engineering Team Comment]
@Panepo
The align class used in librealsense demos maps between depth and some other stream and vice versa. We do not offer other forms of stream alignments.
But one suggestion for you to have a try, Basically the mapping is a triangulation technique where we go through the intersection point of a pixel in 3D space to find its origin in another frame, this method work properly when the source data is depth (Z16 format). One possible way to map between two none-depth stream is to play three streams (Depth+IR+RGB), then calculate the UV map for Depth to Color, and then use this UV map to remap IR frame ( remember that Depth and left IR are aligned by design).
Hope the suggestion give you some idea.

Hi @RealSense-Customer-Engineering,
Thanks a lot.

[Realsense Customer Engineering Team Comment]
@Panepo
The align class used in librealsense demos maps between depth and some other stream and vice versa. We do not offer other forms of stream alignments.
But one suggestion for you to have a try, Basically the mapping is a triangulation technique where we go through the intersection point of a pixel in 3D space to find its origin in another frame, this method work properly when the source data is depth (Z16 format). One possible way to map between two none-depth stream is to play three streams (Depth+IR+RGB), then calculate the UV map for Depth to Color, and then use this UV map to remap IR frame ( remember that Depth and left IR are aligned by design).
Hope the suggestion give you some idea.

Could you elaborate on how to extract and apply the uv map and applying on the frames?
I'm using pyrealsense2, and currently only succeeed to perform alignment to depth with the following code:
`
align_to = rs.stream.depth
align = rs.align(align_to)
aligned_frames = align.process(frames)
aligned_infrared_frame = aligned_frames.get_infrared_frame()
color_frame = aligned_frames.get_color_frame()

`

[Realsense Customer Engineering Team Comment]
@Panepo
The align class used in librealsense demos maps between depth and some other stream and vice versa. We do not offer other forms of stream alignments.
But one suggestion for you to have a try, Basically the mapping is a triangulation technique where we go through the intersection point of a pixel in 3D space to find its origin in another frame, this method work properly when the source data is depth (Z16 format). One possible way to map between two none-depth stream is to play three streams (Depth+IR+RGB), then calculate the UV map for Depth to Color, and then use this UV map to remap IR frame ( remember that Depth and left IR are aligned by design).
Hope the suggestion give you some idea.

Could you elaborate on how to extract and apply the uv map and applying on the frames?
I'm using pyrealsense2, and currently only succeeed to perform alignment to depth with the following code:
`
align_to = rs.stream.depth
align = rs.align(align_to)
aligned_frames = align.process(frames)
aligned_infrared_frame = aligned_frames.get_infrared_frame()
color_frame = aligned_frames.get_color_frame()

`