Error - Perl execution failed

I just cloned the theme, and set in in webmin. Now my installation appears to be broken. It's loading infinitely, and when checking out the console (browser) it gives me a 500. When I open the resource directly it says:
Error - Perl execution failed
Can't locate LWP/Simple.pm in @INC (you may need to install the LWP::Simple module) (@INC contains: /usr/share/webmin /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl . /usr/share/webmin/ ..) at /usr/share/webmin/authentic-theme/body.cgi line 257.
BEGIN failed--compilation aborted at /usr/share/webmin/authentic-theme/body.cgi line 257.

I only just now read the README... I'll need to install the missing modules. Sorry :)

It's ok! Thank you!


Access to the dependency component

Currently, it is possible to create component and overwrite module factories to return mock objects using dagger mock rule. Even if @Component has declared @Component(dependencies=..).
@Rule
public final DaggerMockRule<ActivityComponent> daggerMockRule =
            new DaggerMockRule<>(ActivityComponent.class, new ActivityModule())
                    .addComponentDependency(ApplicationComponent.class, new ApplicationModule(application))
                    .set(this);

It is also possible to get constructed component instance from DaggerMockRule.ComponentSetter, but not possible to get instance of the dependent Component?
I may be doing something wrong, but like at the snippet above I have interface segregation for Components (StorageComponent, NetworkComponent, ApplicationComponent, ActivityComponent) and I want to get access to the created instances of all dependent Components.
Either by providing ComponentSetter for addComponentDependency call:
public<D> DaggerMockRule<C> addComponentDependency(
                 DaggerMockRule.ComponentSetter<D> dependencyComponentSetter
                 Class<D> componentClass,
                 Object... modules);

Or by providing already constructed instance to the dagger mock rule, like daggerMockRule.addComponentDependencyInstance(componentInstance) where instance would be constructed manually or by another dagger mock rule.
Does it sounds like useful feature to you?

Hi, I just added support to use InjectFromComponent annotation to inject objects defined in dependent components. Is this feature useful for your use case? You can try to use it using 12e97d9b51 as DaggerMock version.

Thank you for a quick reply and nice addition!
On android we have classes which instantiation is controlled by framework and it's not possible to override constructors to provide clear dependency list. Instead, in our application we rely on an additional level of indirection, where such classes are using ComponentHolder.get().inject(this) call to bind dependency from dagger component to the class instance.
To be able to test this kind of classes I need to switch Component and this is why DaggerMockRule.ComponentSetter was added (getApplication().setComponent() from Readme).
I guess for the same reason I want to be able to switch base dependent Component as well.
I do understand though that you may not want to bloat library api for every case. Lets see if other users are interested in this feature.

I usually don't use dependent components in this way, in the app I am working on I am using a single component with multiple modules and some subcomponents. Could you provide an example of a multiple components configuration? Are the components annotated with a scope?
It doesn't seem too complicated to implement this modification but I need an example to reproduce the use case.

I need an example to reproduce the use case.

Let me try to explain the case where it can be useful.
Let's say we have an activity
public class MainActivity extends AppCompatActivity  {

    @Inject MainPresenter presenter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        App app = (App) getApplication();
        app.getComponent().activityComponent(new MainActivityModule(this)).inject(this);

        presenter.loadData();
    }
}

What if we have more complex components and instead of mocking SnackBarManager and RestService we want to mock and verify behavior of the MainPresenter itself? Same trick as application component would be required. Instead of using constructor directly:
App app = (App) getApplication();
app.getComponent().activityComponent(new MainActivityModule(this)).inject(this);

We can use
getActivityComponent().inject(this);

Where getActivityComponent() implementation is
private ActivityComponent testComponent;

public ActivityComponent getActivityComponent() {
   if (testComponent != null) {
     return testComponent;
   }
   return getApplicationComponent().activityComponent(new MainActivityModule(this));
}

@VisibleForTesting
protected void setActivityComponent(ActivityComponent testComponent){
   this.testComponent = testComponent;
}

Where getApplicationComponent() is doing the same - returns testApplicationComponent if set.
Let's imagine that activity uses both activity and application component dependencies
class MainActivity extends AppCompatActivity  {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        getActivityComponent().activityService().doAction();
    }

   void somMethodInsideOfSomeOtherClassWhichThisActivityHasCalled() {
      getApplicationComponent().applicationService().doAction();
   }
}

Maybe it's just me, but because of I'm using both calls getApplicationComponent() and getActivityComponent() I need to be able to setup both instances at test, which is impossible right now due to having only one component setter, which passes either application or activity component.
It could be just me, but I found impractical for now to provide only activityComponent to access dependencies inside of the activity. I found more convenient to structure the app by having separation of interfaces where I have SerializationComponent, NetworkComponent, StorageComponent, ApplicationComponent, ActivityComponent, etc. And if class needs GSON parser to use I'm providing it with SerializationComponent, instead of ActivityComponent. Which is also useful for java tests, where I can use gson directly, without mocking whole android context world.
Back to the original feature request. It would be nice to have an api which allows when using DaggerMockRule to construct not single component instance, but several ones (like dependent or sub components) to access them. Either by having callback similar to current ComponentSetter or by allowing to pass dependent or sub component instances constructed before to the DaggerMockRule which will instead of creating new one reuse previously created ones.
P.S. I'm sorry for the wall of text. DaggerMockRule lib is great it enables turbo boost for writing both unit and android tests in our application. I appreciate the time & effort you put into developing this library. And I understand that you may want to have more time to incubate the different ideas and cases to see if they fit.

Hi, I have added a set method to DaggerMockRule class with a class parameter. You can use it to define a setter on a dependent component. An example is in this test: https://github.com/fabioCollini/DaggerMock/blob/master/lib/src/test/java/it/cosenonjaviste/daggermock/dependency/SetDependentComponentTest.java
You can try it using version c4ae55f6fa, could you tell me if it works for you?
Thanks for your help and for the detailed explanation!

Hi! I have checked the c4ae55f version and it works for me. Thank you! 👍

Hi! I'm using a dependent component as well, but I'm not managing to make it work with the addComponentDependency method.
My dependent component has a module which is initialized with the Context. It needs the context to initialize some dependencies like Picasso.
Well, the problem is that when running the test, Picasso is trying to get the context from the Module, but this context is null...
My configuration is like this:
@Component(
  modules = arrayOf(MainModule::class),
  dependencies = arrayOf(CommonComponent::class)
)
interface MainComponent{
  fun getRepository(): Repository
}

@Module
class MainModule{
  @Provides
  fun provideRepository(){
    return RepositoryImpl()
  }
}

@Component(modules = arrayOf(BaseModule::class))
interface CommonComponent{
  fun getApplicationContext()
  fun getPicasso()
}

@Module
class BaseModule(private val context: Context){
  @Provides
  fun provideApplicationContext(): Context = context

  @Provides
  fun providePicasso(context: Context): Picasso {
    return Picasso.Builder(context).build()
  }
}

I'm declaring the @Rule like this:
private val context = InstrumentationRegistry.getInstrumentation().targetContext.applicationContext

@Rule
val rule: DaggerMockRule<MainComponent> =
  DaggerMockRule<MainComponent>(MainComponent::class, MainModule())
    .addComponentDependency(CommonComponent::class, BaseModule(context))
    .set {
      component -> Application.mainComponent = component
    }

As I said, when Dagger tries to initialize Picasso, it throws the exception:
Cannot return null from a non-@Nullable @Provides method
Here the full stacktrace:
Caused by: java.lang.NullPointerException: Cannot return null from a non-@Nullable @Provides method
at dagger.internal.Preconditions.checkNotNull(Preconditions.java:48)
at com.muba.common.CommonModule_ProvideApplicationContext$common_debugFactory.get(CommonModule_ProvideApplicationContext$common_debugFactory.java:19)
at com.muba.common.CommonModule_ProvideApplicationContext$common_debugFactory.get(CommonModule_ProvideApplicationContext$common_debugFactory.java:8)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at com.muba.common.CommonModule_ProvidePicasso$common_debugFactory.get(CommonModule_ProvidePicasso$common_debugFactory.java:33)
at com.muba.common.CommonModule_ProvidePicasso$common_debugFactory.get(CommonModule_ProvidePicasso$common_debugFactory.java:11)
at dagger.internal.DoubleCheck.get(DoubleCheck.java:47)
at com.muba.common.DaggerCommonComponent.getPicasso(DaggerCommonComponent.java:143)
at com.muba.chat.di.DaggerMainComponent$com_muba_common_CommonComponent_getPicasso.get(DaggerMainComponent.java:468)
at com.muba.chat.di.DaggerMainComponent$com_muba_common_CommonComponent_getPicasso.get(DaggerMainComponent.java:458)
at com.muba.chat.di.DaggerMainComponent.getPicasso(DaggerMainComponent.java:303)

Thanks in advance for your support!

Hi,
it can be something related to Kotlin (all the classes are final in Kotlin). What are you using to open all the kotlin classes? Are you using dexopener test runner?
Thanks for your report

Hi,
do you mean the Modules? They are open, I forgot to put the keyword in my previous example...
open class MainModule and open class BaseModule.
I can try using dexopener...

In Kotlin the methods are closed too. Are you defining the module methods as open?

Hi! It worked opening all the methods. But... on the Rule when I get the component, it is a Mock, but the call to component.getRepository() returns the real repository, not the Mock... Pretty sure I'm doing something wrong.. but I can't figure out what exactly. Thanks for your help!

Can you paste the code of the test? Are you defining the repository in a field? How do you retrieve the component?

Here the code:
private val context = InstrumentationRegistry.getInstrumentation().targetContext.applicationContext

@Rule
@JvmField
val rule: DaggerMockRule<ChatComponent> =
  DaggerMockRule<ChatComponent>(ChatComponent::class.java, ChatModule(context))
    .addComponentDependency(CommonComponent::class.java, CommonModule(context))
    .set { component ->
      ChatApplication.chatComponent = component
    }

@Mock
lateinit var repository: Repository

@Rule
val activityRule = ActivityTestRule(ListActivity::class.java, false, false)

Then on the test method, I try to mock the response of one repository method with:
`when`(repository.conversations()).thenReturn(Flowable.just(conversations))

but it doesn't work because the repository is not a mock.

It should work because the repository is defined in the module connected to the main component (it's the standard DaggerMock example). And the repository field is defined in the test using Mock annotation, how can it be populated with the real object? Maybe the repository is null? When do you define the behaviour of the mock using when thenReturn?

Yes, when it comes to the line into the @Test where I want to use when().return() the repository is null. But I don't know why...

DaggerMockRule uses MockitoAnnotations.initMocks to init fields annotated with @Mock so it should work. However you can try to use Mockito Kotlin to simplify your code, instead of using @Mock you can write:
val repository = mock<Repository>

Hi, is it normal behavior, inside the Rule, when I call component.getRepository() is returning the real implementation? I mean, the component is a mock, but the call to getRepository returns the real implementation.
Thanks for your support!

Problem found! :)
It is not mocking the repository because I'm providing it with the @Binds annotation. At the moment I provide it creating the instance in the module, it works perfectly!


Add a test suite

Setting up unit tests, and perhaps also some sort of integration test with real calls to the MediaWiki API, would be welcome in providing confidence about the correct functioning of Wikimate, as well as prevent regressions.
This would also allow us to explicitly test Wikimate against different versions of PHP, which would help with #158.

Related: #137.

I agree, but this requires another developer, as it's something I have little knowledge about, and no time for.


Name collision with glib2

I'm not really sure what can be done, maybe add a warning, but gio collides with an executable from glib2, I don't know for other linux distributions, but on Arch it's pretty much impossible to not install glib2.

Thanks a lot for letting me know!
I wasn't aware, and so happy that something as nice as gio is still available.
I think then I will go for gix as it's nice too. I do consider gir (for 'r'ust), but realized that my own muscle memory rather wants to type 'git' all the time :D.
If you have alternatives or ideas, or would like to let me know your preference between gix or gir, please do share :).

I used giox for disambiguation, but that is more than three letters, I think I prefer gix it's further from git, less risk to confuse. Though I am terrible at naming things

It's now called gix and gixp respectively - let's see how long it lasts ;).
Thanks again for bringing it up early, much appreciated.

FWIW I was expecting/wondering if I'd see go ;) or gitox...
.


How to override scoresCallbackIntervalMs?

Can anyone help me how to override scoresCallbackIntervalMs in my MeetingObservers.m file? I have been able to override it in Android but not able to figure out for iOS.

Hi @anoop-sharma,
Are you run into any particular issue when overriding scoresCallbackIntervalMs?
Try these steps to implement ActiveSpeakerObserver in the RN demo app:

In MeetingObservers.h, make MeetingObservers also implement ActiveSpeakerObserver.
In MeetingObservers.h, define the two required properties for ActiveSpeakerObserver, e.g.:

@property (nonatomic, copy) NSString *observerId;
@property (nonatomic) NSInteger scoresCallbackIntervalMs;

In MeetingObservers.m, set observerId and scoresCallbackIntervalMs in the init method.
In NativeMobileSDKBridge.m, register the ActiveSpeakerObserver, e.g.:

[meetingSession.audioVideo  addActiveSpeakerObserverWithPolicy:[[DefaultActiveSpeakerPolicy alloc] initWithSpeakerWeight:0.9 cutoffThreshold:0.01 takeoverRate:0.2] observer:observer];

Implement the observer callbacks as you see fit in MeetingObservers.m:

- (void)activeSpeakerDidDetectWithAttendeeInfo:(NSArray<AttendeeInfo *> * _Nonnull)attendeeInfo {}
- (void)activeSpeakerScoreDidChangeWithScores:(NSDictionary<AttendeeInfo *,NSNumber *> *)scores {}

Let me know if you have more questions, thanks!
Best,
Tianyu

Dear @tianyux-amz
Thank you so much for help. Much appreciated.
I faced two issues. One implementing the addActiveSpeakerObserverWithPolicy as the DefaultActiveSpeakerPolicy is not available in my sdk bundle, but when I download the latest one it started working.
Second issue was overriding the scoresCallbackIntervalMs value which I forgot to do in MeetingObservers.m.
But I have been able to resolve all of them.
Much appreciated you help and prompt reply.
Thanks


CUDA launch failure when running tensorflow.python.ops.gen_nn_ops.fused_batch_norm_v3

Click to expand!
Issue Type
Bug
Have you reproduced the bug with TF nightly?
No
Source
binary
Tensorflow Version
2.10.0
Custom Code
Yes
OS Platform and Distribution
Ubuntu 22.04
Mobile device
No response
Python version
3.9
Bazel version
No response
GCC/Compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current Behaviour?
A bug happened!

Standalone code to reproduce the issue
import tensorflow as tf
import numpy as np
from tensorflow.python.ops import gen_nn_ops
try:
  try:
    with tf.device('/CPU'):
      arg_0_tensor = tf.random.uniform([1, 1, 6, 2], dtype=tf.float16)
      arg_0 = tf.identity(arg_0_tensor)
      arg_1_tensor = tf.random.uniform([2], dtype=tf.float32)
      arg_1 = tf.identity(arg_1_tensor)
      arg_2_tensor = tf.random.uniform([2], dtype=tf.float32)
      arg_2 = tf.identity(arg_2_tensor)
      arg_3_tensor = tf.random.uniform([2], dtype=tf.float32)
      arg_3 = tf.identity(arg_3_tensor)
      arg_4_tensor = tf.random.uniform([2], dtype=tf.float32)
      arg_4 = tf.identity(arg_4_tensor)
      epsilon = -3.999
      exponential_avg_factor = 1.0
      data_format = "NHWC"
      is_training = False
      out = gen_nn_ops.fused_batch_norm_v3(arg_0,arg_1,arg_2,arg_3,arg_4,epsilon=epsilon,exponential_avg_factor=exponential_avg_factor,data_format=data_format,is_training=is_training,)
  except Exception as e:
    print("Error:"+str(e))
  try:
    with tf.device('/GPU:0'):
      arg_0 = tf.identity(arg_0_tensor)
      arg_0 = tf.cast(arg_0, tf.float16)
      arg_1 = tf.identity(arg_1_tensor)
      arg_1 = tf.cast(arg_1, tf.float32)
      arg_2 = tf.identity(arg_2_tensor)
      arg_2 = tf.cast(arg_2, tf.float32)
      arg_3 = tf.identity(arg_3_tensor)
      arg_3 = tf.cast(arg_3, tf.float32)
      arg_4 = tf.identity(arg_4_tensor)
      arg_4 = tf.cast(arg_4, tf.float32)
      gen_nn_ops.fused_batch_norm_v3(arg_0,arg_1,arg_2,arg_3,arg_4,epsilon=epsilon,exponential_avg_factor=exponential_avg_factor,data_format=data_format,is_training=is_training,)
  except Exception as e:
    print("Error:"+str(e))
except Exception as e:
  print("Error:"+str(e))

### Relevant log output

```shell
2023-01-22 17:18:14.055020: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations:  AVX2 FMA
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2023-01-22 17:18:14.150250: E tensorflow/stream_executor/cuda/cuda_blas.cc:2981] Unable to register cuBLAS factory: Attempting to register factory for plugin cuBLAS when one has already been registered
2023-01-22 17:18:14.568912: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer.so.7'; dlerror: libnvinfer.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: :/lib/:/home/nimashiri/anaconda3/envs/cuda11.2/lib/:/home/nimashiri/anaconda3/envs/cuda11.2/lib/:/home/nimashiri/anaconda3/envs/tf-2.10/lib/
2023-01-22 17:18:14.569069: W tensorflow/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer_plugin.so.7'; dlerror: libnvinfer_plugin.so.7: cannot open shared object file: No such file or directory; LD_LIBRARY_PATH: :/lib/:/home/nimashiri/anaconda3/envs/cuda11.2/lib/:/home/nimashiri/anaconda3/envs/cuda11.2/lib/:/home/nimashiri/anaconda3/envs/tf-2.10/lib/
2023-01-22 17:18:14.569076: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.
2023-01-22 17:18:15.045405: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:980] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2023-01-22 17:18:15.052330: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:980] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2023-01-22 17:18:15.052475: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:980] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2023-01-22 17:18:15.052813: I tensorflow/core/platform/cpu_feature_guard.cc:193] This TensorFlow binary is optimized with oneAPI Deep Neural Network Library (oneDNN) to use the following CPU instructions in performance-critical operations:  AVX2 FMA
To enable them in other operations, rebuild TensorFlow with the appropriate compiler flags.
2023-01-22 17:18:15.053492: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:980] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2023-01-22 17:18:15.053640: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:980] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2023-01-22 17:18:15.053731: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:980] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2023-01-22 17:18:15.405633: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:980] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2023-01-22 17:18:15.405784: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:980] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2023-01-22 17:18:15.405878: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:980] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2023-01-22 17:18:15.405964: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1616] Created device /job:localhost/replica:0/task:0/device:GPU:0 with 4328 MB memory:  -> device: 0, name: NVIDIA GeForce GTX 1660 Ti, pci bus id: 0000:01:00.0, compute capability: 7.5
2023-01-22 17:18:16.038099: I tensorflow/stream_executor/cuda/cuda_dnn.cc:384] Loaded cuDNN version 8100
2023-01-22 17:18:16.040389: E tensorflow/stream_executor/dnn.cc:868] CUDNN_STATUS_BAD_PARAM
in tensorflow/stream_executor/cuda/cuda_dnn.cc(5448): 'cudnnBatchNormalizationForwardInference( cudnn.handle(), mode, &one, &zero, x_descriptor.handle(), x.opaque(), x_descriptor.handle(), y->opaque(), scale_offset_descriptor.handle(), scale.opaque(), offset.opaque(), estimated_mean.opaque(), maybe_inv_var, epsilon)'
Error:{{function_node __wrapped__FusedBatchNormV3_device_/job:localhost/replica:0/task:0/device:GPU:0}} cuDNN launch failure : input shape ([1,1,6,2]) [Op:FusedBatchNormV3]

</details>

@nimashiri  In the provided the both input x and y must have the same type, and the result will have the same type as well. Also I tried with the same type(+ve) of input and it was executed without any error.
I was able to run the code successfully on colab using the latest tf-nightly , please find the gist here.
Thank you!


formatting negative percentages

This happens only when percentage is larger then 100 | -100.
format('{:,.2f}%', -200)
"-,200.00%"
it should be
"-200.00%"

Please check the solution.


Passing extra parameters to callback

Situation: i'm using the directive within ng-repeat (eg ng-repeat="row in vm.items"). I need to set certain parameters for a different object on the row that is passed within ng-repeat, so I'd like to be able to pass the row-object through an additional parameter. Right now I don't really have a clean way to re-use the value of the object (apart from maybe row.autocomplete.originalObject.id and then a few proxy-objects.

I managed to fix it by setting a function on row and using row within this function.
row = {};
row.doSelectedAction = function(selectedItem) {
     row.additionalData = selectedItem.originalObject.data;
};

item-changed="row.doSelectedAction"

I'm needing this as well.  Did you create a copy of the function for every row?

Yes, every row in the ng-repeat has a separate anonymous function assigned to it.

Still might be a good feature request, but I can do that.


chore(deps): update resource-server.version to v1.3.1

This PR contains the following updates:

Package
Update
Change

org.jasig.resourceserver:resource-server-utils
minor
1.0.43 -> 1.3.1

org.jasig.resourceserver:resource-server-content
minor
1.0.43 -> 1.3.1

Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR is stale, or if you modify the PR title to begin with "rebase!".
:no_bell: Ignore: Close this PR and you won't be reminded about these updates again.

[ ] If you want to rebase/retry this PR, check this box

Available now for Enterprise: Renovate Pro with real-time webhook handling and priority job queue.

Thanks @jonathanmtran! :bowing_man:


Can't reply to comments which are still in grace period

When trying to reply to comments which are in the grace period, isso issues a 403 Forbidden rather than allowing the comment to post.
Response body:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>403 Forbidden</title>

Forbidden

edit time frame is still open

Reproducibility:

Post a comment on demo site
From another machine (clearing cookies may work - have not tried), try to reply to that comment

The main issue is that there is no feedback to the user if they do not have the javascript console open, so either the reply should just post (preferable solution), or being able to reply to comments in grace period should be disabled in the UI.

Addendum: I'm testing this with a colleague who is on the same network as myself, and presumably we are behind a NAT; therefore I believe the issue to be such that the isso server recognises us as the same client.

Seems to be an intended feature of netmasking <IP_ADDRESS> of the isso.utils.anonymize.


 Has anyone in the development team ever used any other Visual Studio edition or VI or any smart editor ever?
This is the most basic functionality of a code editor and it has to behave like this?
When I paste a block of code in a new line, the editor must make necessary adjustment and corrections to the indentation of what i just pasted so that the code formatting still looks sane.
For proper examples please use Visual Studio (non Code version) and see the difference.

When submitting the report, the bug report field would've asked you to:
<!-- Please search existing issues to avoid creating duplicates. -->

and
Also please test using the latest insiders build to make sure your issue has not already been fixed: https://code.visualstudio.com/insiders/

so, considering https://github.com/Microsoft/vscode/issues/25260#issuecomment-311145315 can be found on the first page of googling vscode paste indent, I'm going to have to guess you didn't follow any of the guidelines, and this issue should be closed

I'm annoyed by the same thing, and the issue reference as a supposed duplicate is closed, over a year old, and doesn't appear to have resulted in a fix. The pasting really is really bad, is this currently being worked on? I do see a lot of other issues related to pasting though.
As an example, paste anything in the first line of a switch's case statement. It incorrectly aligns it with the case instead of the case's body:
// Before paste
case Enums.Foo.Bar:
    doStuffB();
    break;

// After paste
case Enums.Foo.Bar:
doStuffA();
    doStuffB();
    break;

Actually, most of the issues may be related to #54352
I'd revisit this only after the other issue is taken care of.


Implement np.isclose

As title.

Hello,
A few months ago I also proposed an implementation of allclose and isclose but this was put in the PR Backlog milestone, see #6286. Maybe it would be worth merging my request with yours ? Or take the best one ?

Is this still work-in-progress? @guilhermeleobas Do you plan to add this to the list of supported functions in the docs?

@gmarkall, I am waiting for a review from @stuartarchibald. The code for this function was copied from another PR (https://github.com/numba/numba/pull/4610)

CC @jpivarski, xref https://github.com/numba/numba/pull/6074

As promised in the meeting, here's my implementation for cross-checking:
@numba.njit
def _isclose_item(x, y, rtol, atol, equal_nan):
    if numpy.isnan(x) and numpy.isnan(y):
        return equal_nan
    elif numpy.isinf(x) and numpy.isinf(y):
        return (x > 0) == (y > 0)
    elif numpy.isinf(x) or numpy.isinf(y):
        return False
    else:
        return abs(x - y) <= atol + rtol * abs(y)

@numba.extending.overload(numpy.isclose)
def isclose(a, b, rtol=1e-05, atol=1e-08, equal_nan=False):
    if (isinstance(a, numba.types.Array) and a.ndim > 0) or (
        isinstance(b, numba.types.Array) and b.ndim > 0
    ):
        def isclose_impl(a, b, rtol=1e-05, atol=1e-08, equal_nan=False):
            # FIXME: want to broadcast_arrays(a, b) here
            x = a.reshape(-1)
            y = b.reshape(-1)
            out = numpy.zeros(len(y), numpy.bool_)
            for i in range(len(out)):
                out[i] = _isclose_item(x[i], y[i], rtol, atol, equal_nan)
            return out.reshape(b.shape)

    elif isinstance(a, numba.types.Array) or isinstance(b, numba.types.Array):
        def isclose_impl(a, b, rtol=1e-05, atol=1e-08, equal_nan=False):
            return numpy.asarray(
                _isclose_item(a.item(), b.item(), rtol, atol, equal_nan)
            )

    else:
        def isclose_impl(a, b, rtol=1e-05, atol=1e-08, equal_nan=False):
            return _isclose_item(a, b, rtol, atol, equal_nan)

    return isclose_impl

The main difference is that @guilhermeleobas's implementation does many passes over the data (following NumPy's implementation) and mine does one pass, and is specialized for non-arrays if given non-arrays. It has a weakness, though: for correctness, my a and b would have to be broadcasted with
a, b = numpy.broadcast_arrays(a, b)

before the out.reshape(b.shape) would be fully general. As it is, it managed to pass the tests because all of the tests have the larger shape as the second argument.
The tests can be made more general by adding the following two items:
yield [atol, np.inf, -np.inf, np.nan], [0], kw
yield [atol, np.inf, -np.inf, np.nan], 0, kw

which are just reversing the argument order of the last two tests. Then my implementation fails (for lack of lowered broadcast_arrays, https://github.com/numba/numba/issues/4074#issuecomment-704691879) and I believe @guilhermeleobas's implementation would pass.
Meta-question: are the "single pass over arrays" or "specialized for non-array types" performance considerations significant?

@jpivarski, your implementation compiles WAY faster than the one I did. For reference, I am using this script to benchmark both implementations.
Compare both implementations with:
IMPL=jim pytest -rs -sv --disable-warnings --tb=short -x -v --durations=0 a.py
IMPL=guilherme pytest -rs -sv --disable-warnings --tb=short -x -v --durations=0 a.py

The compilation speed probably depends strongly on types—if the arguments to my isclose function are scalars, then it resolves to a couple of if-statements. If the arguments are arrays, my implementation is wrong because it lacks broadcasting. (I think the array functions you use don't broadcast, but they at least fail with the right error message when the shapes don't match.)
A "best of both worlds" might be to check for scalar arguments and drop to _isclose_item for that case, which is (I'm guessing) what is compiling so quickly. It should also run faster because it won't have to create array structs to evaluate scalars—I doubt LLVM is smart enough to compile that away, but again, I'm just guessing.

/AzurePipelines run

Although the current implementation seems correct (similar to NumPy ones), it takes a while to compile. I'll try to rewrite it based on @jpivarski implementation

@jpivarski, can you review the code? Once https://github.com/numba/numba/pull/7437 gets merged, one can remove the broadcast_shapes part.

@stuartarchibald or @gmarkall, can one of you folks review this PR when possible?

One cannot use np.broadcast_shapes inside np.isclose because the former is available only on NumPy >= (1, 20)


support for H740P Enhanced HBA mode in dracclient

Hey Chris,
This PR is having Implementation of code for getting raid controller mode and setting required raid controller mode in python dracclient for adding support for H740P Enhanced HBA mode.
Tested this code for H70P controller and also updated unit test cases.

Hey Chris,
I have updated PR with the below changes as suggested by you and also tested those changes.
1. List RAID settings should return an array for the value of current_value.
2. Set RAID settings should accept only a scalar value like other resources case.

Thanks Chris for your review comments! I have moved current_value  in init and also added the RAIDIntegerAttribute class in raid.py as suggested. Will push this changes by tomorrow.
Working on set_settings method for setting attribute using instanceID instead of AttributeName.

Hi Chris,
I have updated PR with Monica's following changes.

Added RAIDIntegerAttribute class for listing RAIDInteger Attributes.
Moved the current_value into RAIDAttribute and the parsing for it in the same order as BIOS, NIC attributes.

Hi Chris,
I removed the by_name parameter and added raid_fqdd to get the controller mode.
Thanks for the review comments.

Hi Chris,
I modified test cases as per codebase changed.

Hi Chris,
I have created an upstream patch for it. I will provide its link in a call.
Thanks, Chris

Closing this one since a patch for it has been submitted upstream: https://review.opendev.org/#/c/715172


[BUG]: Breadcrumbs - SelectedKey property missing

Describe the bug
The guidance for Breadcrumbs indicates that the property 'selectedkey' should be used to identify the current selected item. This property does not appear in the property list.
To Reproduce
Steps to reproduce the behavior:
Look at the property list for the breadcrumb component.
Expected behavior
Selectedkey property should exist so the 'bold' item can be changed.
Screenshots
If applicable, add screenshots to help explain your problem.

Hi @JamesSnaps,
Thanks for reaching out in this regard.
SelectedKey was not exposed as a separate property, so that, the approach of getting selected item key is consistent with other components like Command bar/Context menu.
In order to get the Selected key, OnSelect event of the component can be utilized with the below command.
Self.Selected.ItemKey.

Thanks for the reply @Ramakrishnan24689 - not sure if this is the same thing though. I'm referring to the default selectedkey as the bold state of a clicked item does not change, so it's always the final item that shows as highlighted.

No matter what you click in this example in the creator kit, the final item is always bold. I assume this isn't intended behaviour as it isn't then clear which option you are currently on? In other components, such as 'pivot', you can define the default 'selectedkey' and then it updates as you click.

Final item being bold irrespective of which item is selected is the intent behavior. Selected item is also highlighted (Not as bold as final item), if observed carefully. In the below screenshot, Item - '2. Sports' is highlighted as well.

Correct, Breadcrumb's structure is designed to display the current location of the user, so the last item will always be bolded. See Fluent UI documentation for reference: https://developer.microsoft.com/en-us/fluentui#/controls/web/breadcrumb
You should use the breadcrumb control as complementary navigation aid for users to view current position in a directory. Were you trying to display a current position in a process?
We will update documentation to reflect that this is only an output property.


[BUG] Replay buffer crashing in example dreamer.py

Describe the bug
https://github.com/pytorch/rl/blob/main/examples/dreamer/dreamer.py
In the dreamer example the line 234  replay_buffer.extend(tensordict.cpu()) cause this bug
Creating a MemmapStorage...
The storage is being created:
/Tmp/anaconda3/envs/torchrl/lib/python3.9/multiprocessing/resource_tracker.py:216: UserWarning: resource_tracker: There appear to be 1 leaked semaphore objects to clean up at shutdown
  warnings.warn('resource_tracker: There appear to be %d '
Killed

To Reproduce
Run dreamer.py with python3.9 or 3.10
Expected behavior
The script to be running normally
Reason and Possible fixes
From what I've read, this bug is occurring in python3.9/3.10 with multiprocessing. I haven't found a way to jump around it any suggestion ? Also, I would like to request to make the examples in the tutorial more suited for a single simple GPU run since I think most of the people that will be learning the library using this example.
Thank you very much.
Checklist

[ ] I have checked that there is no similar issue in the repo (required)
[ ] I have read the documentation (required)
[ ] I have provided a minimal working example to reproduce the bug (required)

Thanks for reporting this we'll have a look at this asap.
Thanks also for the suggestion. Can you try using a LazyTensorStorage (instead of a LazyMemmap)? You'll be storing things in RAM instead of physical storage but that should work ok.
In the meantime can you share your config (besides python version) incl. os, pytorch version etc?

Hello, thank for fast and dedicated answer  !
I tried LazyTensorStorage and deprecating to python3.7 but I got the same error
init seed: 42, final seed:<PHONE_NUMBER>
800it [00:02, 314.33it/s]                                                                                torch.Size([1, 800])
Creating a TensorStorage...
/Tmp/anaconda3/envs/torchrl_stable/lib/python3.7/multiprocessing/semaphore_tracker.py:144: UserWarning: semaphore_tracker: There appear to be 1 leaked semaphores to clean up at shutdown
  len(cache))
Killed

But I finally managed to fix it by putting all config files batch sizes to minimal values, so I guess it was just trying to allocate too much memory !
I don't know what fixed it since I changed everything altogether but I did ran with this.
config.yaml

env_name: cheetah
env_task: run
env_library: dm_control
catframes: 1
async_collection: False
record_video: 0
frame_skip: 1
batch_size: 50
batch_length: 50
total_frames: 100
world_model_lr: 6e-4
actor_value_lr: 8e-5
from_pixels: True
# we want 50 frames / traj in the replay buffer. Given the frame_skip=2 this makes each traj 100 steps long
env_per_collector: 1
num_workers: 1
# collector_devices: [cuda:1]
collector_devices: cuda:0  # [cpu,cpu,cpu,cpu,cpu,cpu,cpu,cpu]
frames_per_batch: 100
optim_steps_per_batch: 80
record_interval: 30
max_frames_per_traj: 100
record_frames: 100
batch_transform: 1
state_dim: 30
rssm_hidden_dim: 200
grad_clip: 100
grayscale: False
image_size : 64
buffer_size: 100
init_env_steps: 1000
init_random_frames: 1000
logger: csv
offline_logging: False
normalize_rewards_online: True
normalize_rewards_online_scale: 5.0
normalize_rewards_online_decay: 0.99999
reward_scaling: 1.0

replay_buff size in config to 10 and also all other configs minimal values.
I think you can't close the issue if you don't need further information from my part.
Again thanks for reactivity I will keep usingthe very cool library you provided us here to do my research so I might come back if I can help !

Hi @atonkamanda
I changed the way we create Memmap storages here, and creating a storage should be faster and less error prone.
LKM if that helps!


srp does not support options of sha-xxx

I see that srp implementation is based on EVP_sha1.
does it have options to support other hashing algorithms like EVP_sha256, EVP_sha512?

@richsalz Hi, do you mean the standard SRP only allows EVP_sha1 but not EVP_sha256? We tried to use OpenSSL to build a c++ client to work with authentication backend from AWS Cognito service. AWS Cognito supports SRP but seems to use EVP_sha256. Does that mean they are not compliant to SRP standard? Thanks for you input!

Please see https://tools.ietf.org/html/rfc2945

@richsalz Thanks for the pointer. The RFC doc used SHA-1 as the reference hash function, but it also says other hash functions can be used:
Any hash function used with SRP should produce an output of at least 16 bytes and have the property that small changes in the input cause significant nonlinear changes in the output.
So I'll take it that current OpenSSL release only supports SHA-1 implementation and other hash functions are not supported?


Use amp autocast in ZeRO3 linear

Support clients using amp autocast. Fix for #944.

It would also be great to have a unit test for this.

Done

Hi, does Linear in zero stage2 support amp autocast?


Create a script to run analysis on Windows

I like idea of introducing workflows.json.  It looks like easy way to adopt available analysis to needs of specific project
I think we can simplify adding of new workflows if we name folders with analysis as items in workflow.json. Each workflow inside folder should be named as analysis.yaml. In this way we may use principle "conventions over configurations".
At the moment I see one difficulty when it comes to different tools whey may require different parameters. Some of them may not need SolutionRelativePath parameter. Others may need reference to something else (folder, package file and etc). There are two alternatives how we can deal with this:

Just put run.ps1 (or bash script) in each folder which contains analysis. This is most simple and flexible way to support all differences. Main problem for end user is a need to run mutiple run.ps1 files for single project. I think we can mitigate this problem by having few scripts which executes predefined set of analyses which may sense for .NET App. This option is my preference.
Other option is to use some generic parameter target. In this case all analyses may lost their flexibility.

Typical analysis workflow should output the following artefacts:

*.sqlite database containing discovered issues
*.json document containing data used to generate report
*.html report which contains human-friendly interpretation of results.


Notify other devices when a submission is assigned.

would love the option to receive an email if the job has been assigned.
I'm happy to try and help except I know nothing about web stuff.
I tried using this method in the udacity script
def textFromEmail():
    msg = "New Udacity project to review."
    msg = MIMEText(msg)

    sender =<EMAIL_ADDRESS>    with open('mailPwd.txt') as f:
        pwd = f.read().strip()
    recipients =<EMAIL_ADDRESS>    msg['From'] = sender
    msg['To'] = ','.join(recipients)

    try:
        s = smtplib.SMTP('smtp.gmail.com:587')
        s.ehlo()
        s.starttls()
        s.login(sender, pwd)
        s.sendmail(sender, recipients, msg.as_string())
        s.quit()
        print "Sent mail."
    except:
        print "Failed to send mail."

It works for @ntaylorwss (you have to reduce permissions on your gmail) but hasn't worked for me.

This is only for running the script on a server, right?

yea that's the main reason, I have it on a t2.micro running in cloud so I can leave my laptop closed overnight, or during the day etc.  email would let me know I need to get back to work

In the case of running it on a server, you are not interested in getting an email if you receive feedback from a student, correct? It's only if you get an assignment?

Another option would sending the notification using Pushbullet. People would have tocreate an account,  get a token and the app.
There is this module to node but I only use it with Python.

@giladgressel, please take a look at Pushbullet and see if it won't fit your needs.
The reason I'd rather go with Pushbullet is that email will require some kind of setup step, while Pushbullet just uses a token. That means the command might look something like this:
urcli assign all --email "yourToken".
Pushbullet also seems quite useful in general.

so I guess with this, I could install the pushbullet app in chrome and then wherever I have chrome it'd notify me?  or similarily also do it in my phone etc.  seems great to me!  Is it difficult to implement?

It's fairly simple. And you'll only need it installed on the device you want notifications on. I would implement it so that all active devices with pushbullet installed would be notified.
I think not having to have a separate setup process for email makes it attractive in this case. And it only requires a Google Account to get started.

@giladgressel @gabraganca, I've integrated PushBullet with the assign command in the branch issue-4. If you could, please take the time to clone the branch and test if the notifications are working.

wow thank you @trolster I'm downloading node right now will let you know.  I will test on laptop first, then on server later

@trolster :+1:

@trolster we have already talked in the Slack, but I'll summarize it below for the records.
I've tested the PushBullet feature and it worked nicely. It has sent a notification to my phone and tablet, where I have PushBullet installed.
I also have the Chrome extension and, instead of pushing a notification, it opens the PushBullet website.
Also, what do you think about storing the PushBullet token when calling setup, just like the Udacity token? The setup could ask if the user wants to use PushBullet and then ask the token:
Do you want to use PushBullet to send a notification to your devices? [y/N]
Please, enter your PushBullet API token:

Or something like this.

@gabraganca At this point that would require a rewrite of the setup command. It's something I considered doing, but it will be time-consuming and I don't want to invest the time unless it's something that really makes a difference for people.
What I might do is to allow you to only have to add the accessToken once. Meaning that the first time you use the --push option the accessToken is saved. Then you can use the --push option in the future without including a token. How does that sound?

That sounds wonderful!

This has been working great for me.  I thought about what @gabraganca suggested as well, but honestly it's not worth implementing.  I can easily alias my command OR us the "up" arrow, OR use control-R to search for it.  The token is long but no big deal.  Having push notifications / the testing of it is AWESOME
thank you!

@giladgressel @gabraganca I think we all agree that the storing of the token is not a need-to-have. My main issue with adding it to the setup step is that it might confuse people. Lets create a separate issue for it, once the new version has been published, to make sure it isn't forgotten. It could simply get it's own command, urcli pushbullet --set-access-token "accessToken". It's worth considering at least.

Great! I love it!

Notifications using the pushbullet API are now in the newest version of the cli (1.3.1).


Support additional triggers for KEDA autoscaling

@philipp94831 There will be (at least) one more PR, so no need for a release yet


Git Repository Reporting (Prometheus)

Add exporters for git repository reporting via Prometheus.
Requirements

[ ] per repository
[ ] issues
[ ] Merge requests
[ ] time spent
[ ] milestones
[ ] per organization (Github)/group (Gitlab)

marked this issue as blocked by #156

marked this issue as related to #115

added 2m of time spent


Adding package-tap.i18n prehibits Meteor startup

I am trying to follow the instructions for package developers. However, as soon as I add the following line to my package.js file, the app crashes:
api.addFiles("package-tap.i18n", ["client", "server"]);

Although I don't see any exception in the server logs, the Meteor application does not startup in the browser anymore. In the browser's console, I only see error messages that Meteor's objects like "Meteor", "Tracker" or "Session" are not available.
If I omit the line, everything works again.
My package-tap.i18n file is as follows:
{
  "namespace": "project"
}

The documentation also refers to an option languages_files_dir by stating:
Should be the same path as languages_files_dir option above

But I cannot find an explanation of this option "above". Maybe the docs require an update?

I'm having some issues like yours at the moment (using Meteor 1.3 beta 8, don't know if any link with this):
package-tap.i18n should be loaded before languages files (*.i18n.json)

=> Errors prevented startup:

   While building the application:
   /data/web/test/package-tap.i18n: package-tap.i18n should be loaded before
   languages files (*.i18n.json)

=> Your application has errors. Waiting for file change.

+1
W20160524-16:34:45.731(8)? (STDERR) Error: package-tap.i18n should be loaded before languages files (*.i18n.json)
W20160524-16:34:45.731(8)? (STDERR)     at _ (home/theosp/tap-i18n/unittest/test-packages/blank-package-tap-i18n/package-tap.i18n:1:1)
W20160524-16:34:45.731(8)? (STDERR)     at home/theosp/tap-i18n/unittest/test-packages/blank-package-tap-i18n/package-tap.i18n:1:1
W20160524-16:34:45.731(8)? (STDERR)     at packages/tap_i18n/packages/tap_i18nunittest/test-packages/project-with-translation-files-under-server-dir-SHOULD-FAIL/server/file2.en.i18n.json:12:1
W20160524-16:34:45.731(8)? (STDERR)     at C:\Users\zhaoyao\Desktop\Archinvite\app.meteor\local\build\programs\server\boot.js:283:10
W20160524-16:34:45.731(8)? (STDERR)     at Array.forEach (native)
W20160524-16:34:45.731(8)? (STDERR)     at Function..each..forEach (C:\Users\zhaoyao\AppData\Local.meteor\packages\meteor-tool\1.3.2_4\mt-os.windows.x86_32\dev_bundle\server-lib\node_modules\underscore\underscore.js:79:11)
W20160524-16:34:45.731(8)? (STDERR)     at C:\Users\zhaoyao\Desktop\Archinvite\app.meteor\local\build\programs\server\boot.js:133:5

+1
Meteor <IP_ADDRESS>

Hi guys,
Sorry about that, revert temporarily to 1.8.0.
I will fix it in the following hours.
-Daniel
On May 24, 2016 9:02 PM, "geedmo"<EMAIL_ADDRESS>wrote:

+1
Meteor <IP_ADDRESS>
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/TAPevents/tap-i18n/issues/105#issuecomment-221261292

I am pushed to have finished a new i18n package...

Please read my comment here: https://github.com/TAPevents/tap-i18n/issues/169#issuecomment-221282903

+1


Linux: Performing graphics operations has no effect on the color data

The code below results in no change to FastBitmap.Data when it is ran on Linux (Ubuntu 20.04).
using (Graphics g = Graphics.FromImage(FastBmp.BaseBitmap))
using (SolidBrush brush = new SolidBrush(Color.Red))
{
    g.FillRectangle(brush, 0, 0, FastBmp.Width, FastBmp.Height);
    g.Flush();
}

I've ran more tests on the dev branch. I came to the conclusion that after a Graphics operation the Data and BaseBitmap are completely out of sync. All tests still pass on Windows.


Styling

Adjusts the splitters, search text and toolbar icons.

Your splitter style does not include the 0.5 opacity adjustment.


Create Caesar Cipher

Nice repo! I saw you were lacking any projects to do with text so I added a file to get you started :smile:

Hey! Thank for taking the time for doing this. Sadly I stopped updating this repo but it is good to see that it inspired you to do something.  I accept your pull request.


fix: Improve reliability of customMasker

The customMasker method of the Session Replay feature has been fixed to be more reliable with DOM elements that do not fit web-standards, as to not throw errors when processing.

Overview
This PR has been named the way it has to encapsulate SR bug fix changes that span across this PR and some that were rolled into #1190.  It has been named this way to aid with the release notes.

Related Issue(s)
https://new-relic.atlassian.net/browse/NR-314446

Testing
Tests should continue to pass

The release notes description should inform customers the behavioral change this introduces.


Please run astropy test suite as part of the release procedures for this package

In your release procedures, I propose the following to avoid future occurrences like astropy/astropy#9816 :

When you have tagged or right before you do it, create a new environment with the associated Git hash/tag.
Clone astropy dev and install it into the environment.
Run the full astropy dev test suite (with --remote-data).
Patch astropy upstream, if needed, before the asdf release.

Thanks!

I think astropy is adding asdf dev to its CI, so this would still be nice but not as critical anymore. FYI.


Find a better solution for removing visibilityListeners when changing the visible reports

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

While navigating through the app, we're adding all components to the navigation stack. When using Web or Desktop, both of which show LHN and the ReportPage simultaneously, we never unmount the components from a previous report when navigating to a new one.
That is a problem because all reports have an event listener attached to them related to the app visibility, so every time a user leaves the application and go back to it, we do a OpenReport call. That means that for all reports in the history, we would do one OpenReport call.
We've removed the OpenReport call after discussing it here, but that is not removing the listener, it's just checking inside the listener if we should really call the function.
One possible way to solve this is to have a function related to the FreezeWrapper, that every time we freeze a screen in the stack, it removes the listener, but other solutions might be explored.
Action Performed:
Break down in numbered steps

on Desktop, navigate through several reports
Minimize the application and open it again
Check the network table

Expected Result:
Describe what you think should've happened

Only one call to OpenReport was done

Actual Result:
Describe what actually happened

Several calls to OpenReport are done

Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

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

Version Number:
Reproducible in staging?:
Reproducible in production?:
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
Expensify/Expensify Issue URL:
Issue reported by:
Slack conversation:
View all open jobs on GitHub

Hi! I'll work on this issue :)

@mallenexpensify I'll remove you from this one since we don't need to manage contributors for now!

Proposal
Please re-state the problem that we are trying to solve in this issue.
Fix removal logic of visibilityListeners on web and desktop.
What is the root cause of that problem?
Currently on web and desktop there is an issue with setting multiple event listeners for report visibility - it is related to the fact that reports were not being unmounted at all, so the cleanup function that was supposed to remove listeners was not called.
What changes do you think we should make in order to solve the problem?
Move the logic of setting visibilityListeners to a separate useEffect hook that would operate on isFocused logic provided by react-navigation. This way we will make sure that the report that is currently focused is actually sending the correct event - namely it is actually visible.
What alternative solutions did you explore? (Optional)
Attaching the logic to FreezeWrapper, but it would require many more changes in the codebase, and it is not a clean the cleanest solution anyway

👁 👁

Contributor+: @parasharrajat is due $500
Regression Test isn't needed so closing!

$500 payment approved for @parasharrajat based on BZ summary.


Discuss Data Scraping ESPN

Discuss and try to define the process the will facilitate data for SerenadeFlow to process, be it local or remote.

@aybanda We should be caught up as far as coffees, so let's get back to it!!!
I've cleared the project of other issues than those we're working on to make things clearer to all of us.
The goal is to keep the board clear!


[$500] Expense - Corrupt PDF renders in the receipt scan flow after being downloaded

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.24-0
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause internal team
Slack conversation:
Action Performed:

Go to any report
Star a request > scan > upload a corrupt PDF
Open the details of the request
Open the file preview
Download the file > reload the page
Go back to the chat view
Open the file preview again

Expected Result:
A corrupt PDF shouldn't render in the receipt scan flow, and the proper failed message should be kept displayed even after the download.
Actual Result:
Corrupt PDF renders in the receipt scan flow after being downloaded.
Workaround:
unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Native
[ ] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence
Bug6338516_1704950760753!mwEB-LOGS.txt
Bug6338516_1704950760757!Corrupted_PDF.pdf
https://github.com/Expensify/App/assets/43996225/162de3c4-598e-4440-81e1-6532a3b059b1

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~011832de3b72615e0d
Upwork Job ID:<PHONE_NUMBER>765798400
Last Price Increase: 2024-01-18

Issue OwnerCurrent Issue Owner: @sobitneupane

Proposal
Please re-state the problem that we are trying to solve in this issue.
Corrupt PDF renders in the receipt scan flow after being downloaded.
What is the root cause of that problem?
https://github.com/Expensify/App/blob/e54abdf78cbbaab5e2c5c2419a5c111a61d38f68/src/components/PDFView/index.js#L286-L290
The error is triggered by this lib react-pdf/dist/esm/entry.webpack. In the mobile app after downloading the corrupt file, the error isn't triggered by this lib
What changes do you think we should make in order to solve the problem?
I suggest that we should hide download button if the file can't open on browser
What alternative solutions did you explore? (Optional)
NA

Not overdue, Melvin being a bit harsh with the weekend clock

@sobitneupane bump for review thanks

@situchan Will this issue be handled here?

We're going to prevent uploading corrupted PDF in https://github.com/Expensify/App/issues/34032, so after that fix, this issue won't happen.

We're going to prevent uploading corrupted PDF in https://github.com/Expensify/App/issues/34032, so after that fix, this issue won't happen.

Thanks @situchan
@laurenreidexpensify Let's hold this for now.


Track 'FlagSmith' Feature Flagging Solution

Example Site - https://app.flagsmith.com/projects
Vendor Site - https://flagsmith.com/
Detection - Look for JS object 'flagsmith'
Category - Introduce new category as also suggested in https://github.com/AliasIO/wappalyzer/issues/4199

Hey there , added. But very bad with examples. Didn't find anything either. I asked technical support to help

Perhaps later I will update this technology if they send examples

@nurbek91 - Looks like this is working and we have 90 sites identified - https://www.wappalyzer.com/technologies/feature-management/flagsmith/. Can we close this?

@rockeynebhwani  Hey mate. Yes, we can probably close it. thanks


Generate CSS variables for -colors

Interesting idea proposed by #23349. We could build with Sass, but compile some utilities to help those not using our Sass-based compilation flow. I'd say we could even wrap these in conditionals to not include them unless asked for, but that'd defeat the purpose a bit.
I dunno how far we'd take this though...

Yay! Okay, this works great. I've tried it with postcss-custom-properties for non-Sass build usage, and also directly in the browser. Here's a GIF of the latter:


need help :Can't get the Gantt chart gif from env.render()

I use  JSSEnv  project as environment
![圖片1](https://user-images.githubusercontent.com/88368771/168755281-015ba7bb-d5fb-43c7-bf35-1c64193069a6.png)
(here is my code)
I had used render() function to render the image, but it didn't work.  The GIF doesn't appear successfully . I would like to ask how can i make the Gantt chart appear successfully by using JSSEnv project.

Hi,
Sorry for the late answer.
Yes, this is normal; render just outputs a single image. If you want to generate a GIF, please check this piece of code: https://github.com/prosysscience/JSSEnv/blob/master/tests/test_rendering.py


APNS didReceiveRemoteNotification not being called when user taps on Notification to open the app

I have followed document to enable APNS for Applozic from https://docs.applozic.com/docs/ios-push-notification and implemented step by step all methods.
I have also integrated OneSignal where they offer powerful and easy handlers from where I can execute my code when user taps on notification vs when notification is received on the device.
However, I am feeling a bit stranded when I receive vs tap Applozic notifications. When app is in background and user taps on the notification, ideally, application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) method should get called when user taps on the notification. But the method only gets called when notification is received in both foreground and background modes, it does not get called when user taps on the notification.
Please check below my code in AppDelegate.swift file and let me know what should have gone wrong:
import Applozic

@UIApplicationMain
    class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?

    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

        registerForNotification()

        let alApplocalNotificationHnadler : ALAppLocalNotifications =
        ALAppLocalNotifications.appLocalNotificationHandler();
        alApplocalNotificationHnadler.dataConnectionNotificationHandler();

        if (launchOptions != nil)
        {
            let dictionary = launchOptions?[UIApplication.LaunchOptionsKey.remoteNotification] as? NSDictionary

            if (dictionary != nil)
            {
                print("APNS => launched from push notification")
                let alPushNotificationService: ALPushNotificationService = ALPushNotificationService()

                let appState: NSNumber = NSNumber(value: 0 as Int32)
                let applozicProcessed = alPushNotificationService.processPushNotification(launchOptions,updateUI:appState)
                if (!applozicProcessed)
                {
                    print("APNS => Notification for app....not related to Applozic")
                }
            }
        }

        return true

    }

    func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
        return ApplicationDelegate.shared.application(app, open: url, options: options)
    }

    func applicationDidEnterBackground(_ application: UIApplication) {
        let registerUCS = ALRegisterUserClientService()
        registerUCS.disconnect()

        NotificationCenter.default.post(name: Notification.Name(rawValue: "APP_ENTER_IN_BACKGROUND"), object: nil)
      }

      func applicationWillEnterForeground(_ application: UIApplication) {

        let registerUCS = ALRegisterUserClientService()
        registerUCS.connect()

        ALPushNotificationService.applicationEntersForeground()

        NotificationCenter.default.post(name: Notification.Name(rawValue: "APP_ENTER_IN_FOREGROUND"), object: nil)
        UIApplication.shared.applicationIconBadgeNumber = 0
      }

    func applicationDidBecomeActive(_ application: UIApplication) {

    }

    func applicationWillTerminate(_ application: UIApplication) {
        // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
        ALDBHandler.sharedInstance().saveContext()
    }

    func getNotificationSettings() {
        UNUserNotificationCenter.current().getNotificationSettings { (settings) in
            if settings.authorizationStatus == UNAuthorizationStatus.authorized {
                DispatchQueue.main.async {
                    UIApplication.shared.registerForRemoteNotifications()
                }
            } else {
                print("Notification settings turned off.")
            }
        }
    }

    func registerForNotification() {
        if #available(iOS 10.0, *) {
            UNUserNotificationCenter.current().requestAuthorization(options:[.badge, .alert, .sound]) { (granted, error) in

                if granted {
                    self.getNotificationSettings()
                } else {
                    print("APNS failed to register. (>= iOS 10.0.0) ==> " + (error?.localizedDescription ?? ""))
                }
            }
        } else {
            // Fallback on earlier versions
            let settings = UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
            UIApplication.shared.registerUserNotificationSettings(settings)
            UIApplication.shared.registerForRemoteNotifications()
        }
    }

    func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
        NSLog("APNS => Device token data :: \(deviceToken.description)")

        var deviceTokenString: String = ""
        for i in 0..<deviceToken.count
        {
            deviceTokenString += String(format: "%02.2hhx", deviceToken[i] as CVarArg)
        }

        NSLog("APNS =>  Device token :: \(deviceTokenString)")

        if (ALUserDefaultsHandler.getApnDeviceToken() != deviceTokenString)
        {
            let alRegisterUserClientService: ALRegisterUserClientService = ALRegisterUserClientService()
            alRegisterUserClientService.updateApnDeviceToken(withCompletion: deviceTokenString, withCompletion: { (response, error) in
                if error != nil {
                    print("APNS => Error in Registration:: \(String(describing: error))")
                }
                print("APNS => Registration Response:: \(String(describing: response))")
            })
        }
    }

    func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {
        print("APNS => Failed to get token, error: \(error)")
    }

    func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any]) {
        print("APNS => Received notification :: \(userInfo.description)")
        let alPushNotificationService: ALPushNotificationService = ALPushNotificationService()
        alPushNotificationService.notificationArrived(to: application, with: userInfo)
    }

    func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {

        print("APNS => Received notification With Completion :: \(userInfo.description)")
        let alPushNotificationService: ALPushNotificationService = ALPushNotificationService()

        alPushNotificationService.notificationArrived(to: application, with: userInfo)
        completionHandler(UIBackgroundFetchResult.newData)
    }
}

extension AppDelegate: UNUserNotificationCenterDelegate {
    func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
        print("APNS => Handle push from background or closed :=> \(response)")
        completionHandler()

        self.handleRemoteNotification(with: response.notification.request.content.userInfo, for: UIApplication.shared)
    }

    func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
        print("APNS => Handle push from Foreground:=> \(notification.request.content.userInfo)")
        completionHandler(UNNotificationPresentationOptions.badge)

        self.handleRemoteNotification(with: notification.request.content.userInfo, for: UIApplication.shared)
    }

    func handleRemoteNotification(with userInfo: Dictionary<AnyHashable,Any>?, for application: UIApplication) {
        print("Do navigation for the notification... Process notification")
    }
}

Please note that we have also added capabilities for Push notifications and added Remote Notifications into Background modes as mentioned in the doc.
Still, we are facing the issue and unable to detect user tap of the notification, would you please check the code and let us know what could be the issue?
My notification for OneSignal works perfect and I face issue only while handling notifications when tapped.
Regards,
Paresh.

@mobihunterz In your code this line is missing: UNUserNotificationCenter.current().delegate = self.
After adding above line in the registerForNotification() method, you will receive a callback in userNotificationCenter(_: UNUserNotificationCenter, didReceive:UNNotificationResponse..).
And push notification callbacks are not related to Applozic, they are same as Apple's Notification APIs.

Thanks @mukeshthawani I have checked that code and implemented as you mentioned. Now, callback methods are properly called.
Still I need to check Applozic message notifications and see chat window being opened or not.
However, the issue is solved but.
Thank you very much.


fix: release.yml failure with github actions

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

Comparison is base (ee77fd2) 88.40% compared to head (84cbd21) 88.40%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main       #2   +/-   ##
=======================================
  Coverage   88.40%   88.40%
=======================================
  Files          19       19
  Lines         742      742
=======================================
  Hits          656      656
  Misses         86       86

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


Feature/aws v2

Fixed #333

Current work with Alpakka is absolutely inconvenient because alpakka uses v1. So i decided to make some wrappers from legacy and back. But it seems to be overhead, and I dunno how to make temporary workaround kinda neat

Also! I make an update  for zio and added docker-compose (i will remove them from this PR) and maybe it also would be OK to rebase master after https://github.com/scanamo/scanamo/pull/329

Thanks for your great work on this! This ticket is going to be very tricky. Lots of apps are still relying on v1, we don't want to sneakily introduce the v2 sdk there. That would probably create issues at the end of the world anyway. I will review but I'm of the opinion that ScanamoOps should be parameterised by the model datatypes, i.e.:
abstract class ScanamoOps[PutItemResult, GetItemResult, ..., A]

and then we could add a org.scanamo.ops.impl package where v1 and v2 specialisations would like:
import com.amazonaws.services.dynamodbv2.model._
sealed abstract class ScanamoOpsV1[A] extends ScanamoOps[PutItemResult, GetItemResult, ...]

and
import software.amazon.awssdk.services.dynamodb.model._
sealed abstract class ScanamoOpsV1[A] extends ScanamoOps[PutItemResponse, GetItemResponse, ...]

@ratoshniuk Yeah, that makes sense. Ok, I will do that.

@regiskuckaertz what about abstracting AWS dynamodb types rather than exposing them to the lib end user. Of course that would be a massive change but we already about to do it. See your comment at https://github.com/scanamo/scanamo/issues/290 ;)

@TBonnin I am currently made an abstraction over AttributeValue. That was a start point

@TBonnin @regiskuckaertz It is really good idea to make an abstraction over amazon. it helps to test all api even without real environment

Yes I think this is the direction I'd like to move in, ultimately. We could then have unit tests to validate the properties of the library and integration tests using v1 and v2 sdks.
@TBonnin The problem is that we have to deal with two different concrete implementations of the dynamodb model, adding data on top of them will make them invisible to the outside world, but I think the challenge here is also to make the core of the library oblivious to them as well.

@regiskuckaertz i almost finish getting rid of aws deps from scanamo and formatsas well. stay tuned

@TBonnin @regiskuckaertz  Hey guys, it seems I confused and need some help
https://github.com/ratoshniuk/scanamo/blob/289141a74b67daf5d742e18b61973381fb067329/formats/src/main/scala/com/gu/scanamo/DynamoFormat.scala#L530
it can't find any implicit implementations. It seems that
DynamoFormat[T, V] != DynamoFormatV1[T]

type V = ???
but DynamoFormatV1[T] = DynamoFormat[T, V]

As I understand it uses simulacrum to provide companion object with apply. But I didn’t manage to make it works when i put another type arg for DynamoFormat. It is an abstraction over AttributeValue

Hmm, you can try making an existential type instead:
trait DynamoFormat[T] { type V }
trait DynamoFormatV1[T] extends DynamoFormat[T] { type V = AttributeValue }

@regiskuckaertz V is a typeclass, I can not do that

@regiskuckaertz Please, could you jump into this one and try out my approach?
#345
It became a completely non-obvious problem for me and I think I can't perform proper abstraction.
And I think it's too silly and redundant as I did.

Major rework in the pipeline that will significantly simplify this, so closing for now.
Would be thrilled to resume when that is ready. Keep jour eyes peeled


what does "anchor_bottom_heights" mean?

what does "anchor_bottom_heights" mean?
How should I set this value？
for example:
'class_name': 'Car',
'anchor_sizes': [[3.9, 1.6, 1.56]],
'anchor_rotations': [0, 1.57],
'anchor_bottom_heights': [-1.78],
'align_center': False,
'feature_map_stride': 2,
'matched_threshold': 0.6,
'unmatched_threshold': 0.45
Why anchor_bottom_heights is -1.78?

Because KITTI's LiDAR sensor is located 1.78m above the ground. See here.

Because KITTI's LiDAR sensor is located 1.78m above the ground. See here.

Thank you for your reply！！！
'class_name': 'Pedestrian',
'anchor_sizes': [[0.8, 0.6, 1.73]],
'anchor_rotations': [0, 1.57],
'anchor_bottom_heights': [-0.6],
'align_center': False,
'feature_map_stride': 2,
'matched_threshold': 0.5,
'unmatched_threshold': 0.35
'class_name': 'Cyclist',
'anchor_sizes': [[1.76, 0.6, 1.73]],
'anchor_rotations': [0, 1.57],
'anchor_bottom_heights': [-0.6],
'align_center': False,
'feature_map_stride': 2,
'matched_threshold': 0.5,
'unmatched_threshold': 0.35
Why pedestrian  and cyclist anchor_bottom_heights is -0.6?

Why pedestrian and cyclist anchor_bottom_heights is -0.6?

Good question, no idea.
Maybe my initial answer was wrong, perhaps try to search in the code where anchor_bottom_heights is used.

There is a question.
if I got the pre-train model by Waymo datasets, and I want to fine-tune in Kitti or other datasets,
what should I do with these part?


Add puchka/BetaX-Community

Repo URL:
https://github.com/puchka/BetaX-Community
Checklist:

[x] The lines end with a .. This is to conform to awesome-list linting and requirements.
[x] The title of the pull request is Add/Update/Remove `username/repo`  (notice the backticks around `username/repo`)
[x] The format of the line is [username/repo](link) - description.
[x] The description doesn't contain emojis.
[x] Acronyms should be fully capitalized.

Interesting, thanks again for the PR!


Error: Input required and not supplied: token

Describe the bug
I've setup a new fork of upptime at harkeykin/dotnetuptime but all of the actions are failing due to this error:
"Error: Input required and not supplied: token"
I'm going through your wiki but not seeing anything obvious that would cause this error.  What am I doing wrong?
To Reproduce
Steps to reproduce the behavior:

Update the config file
Wait for action to run or manually kick off

Expected behavior
I expected it to look like your examples. :(
Screenshots

Did you add your GitHub token GH_PAT?

OMG you're right.  I never finished doing that.  Now everything looks green.  I'm blind apparently LOL.
Thank you!  :D

hey
i add my github token to secret envt GH_PAT but still get the error


Supporting the new document for HTTP/2 (RFC 9113)

In June 2022, a whole set of new HTTP RFCs were published. Many of these were rewrites of existing specifications, alongside the new HTTP/3 and QPACK drafts. Part of this cluster of work was a rewrite of HTTP/2, published as RFC 9113, which obsoletes RFC 7540.
RFC 9113 is a rewrite that attempts to maintain a lot of what was already defined in HTTP/2. Changes are summarized in https://www.rfc-editor.org/rfc/rfc9113.html#appendix-B

Appendix B.  Changes from RFC 7540

This revision includes the following substantive changes:

Use of TLS 1.3 was defined based on [RFC8740], which this document
obsoletes.

The priority scheme defined in RFC 7540 is deprecated.
Definitions for the format of the PRIORITY frame and the priority
fields in the HEADERS frame have been retained, plus the rules
governing when PRIORITY frames can be sent and received, but the
semantics of these fields are only described in RFC 7540.  The
priority signaling scheme from RFC 7540 was not successful.  Using
the simpler signaling in [HTTP-PRIORITY] is recommended.

The HTTP/1.1 Upgrade mechanism is deprecated and no longer
specified in this document.  It was never widely deployed, with
plaintext HTTP/2 users choosing to use the prior-knowledge
implementation instead.

Validation for field names and values has been narrowed.  The
validation that is mandatory for intermediaries is precisely
defined, and error reporting for requests has been amended to
encourage sending 400-series status codes.

The ranges of codepoints for settings and frame types that were
reserved for Experimental Use are now available for general use.

Connection-specific header fields -- which are prohibited -- are
more precisely and comprehensively identified.

Host and ":authority" are no longer permitted to disagree.

Rules for sending Dynamic Table Size Update instructions after
changes in settings have been clarified in Section 4.3.1.

Editorial changes are also included.  In particular, changes to
terminology and document structure are in response to updates to core
HTTP semantics [HTTP].  Those documents now include some concepts
that were first defined in RFC 7540, such as the 421 status code or
connection coalescing.

I'd like to consider how h2spec and can be tweaked to accomodate both RFC 7540 and RFC 9113. I'm happy to volunteer some cycles but didn't want to start off in the wrong direction, hence opening this issue.

Note section 5.1 close state changed:

An endpoint MUST NOT send frames other than PRIORITY on a closed stream. An endpoint MAY treat receipt of any other type of frame on a closed stream as a connection error (Section 5.4.1) of type STREAM_CLOSED, except as noted below.

It seems the error returned on closed streams was relaxed to avoid keeping historical information of the way a stream was closed.


Fix a ton of coding errors

Noticed all these coding errors.

Coverage remained the same at 100.0% when pulling 8a2b02e02d780e19a2e1b32ecbcf9edf1dfca89e on ayumi-cloud:coding-errors into da24adc4f4f26002673d236e69b91a10f2fd594c on WhichBrowser:master.

Coverage remained the same at 100.0% when pulling 8a2b02e02d780e19a2e1b32ecbcf9edf1dfca89e on ayumi-cloud:coding-errors into da24adc4f4f26002673d236e69b91a10f2fd594c on WhichBrowser:master.

$this->data->device->identified |= Constants\Id::PATTERN;

1105


bug: The icon prop on IonBackButton throws an error when an imported icon is passed to it.

Bug Report
Ionic version:
@ionic/react 4.10.0-rc.3
Current behavior:
The icon prop throws the following error when an imported icon from 'ionicons/icons' is passed:
No overload matches this call.
  Overload 1 of 2, '(props: Readonly<Props>): { context: NavContextState; clickButton: (e: MouseEvent<Element, MouseEvent>) => void; render(): Element; setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<...>) => {} | Pick<...>) | Pick<...>, callback?: () => void): void; forceUpdate(callback?: () => void): void; readonly props: Readonly<...> & Readonly<...>; state: Readonly<...>; refs: { ...; }; }', gave the following error.
    Type '{ ios: string; md: string; }' is not assignable to type 'string'.

Expected behavior:
The icon should render successfully.
Steps to reproduce:
import { arrowRoundBack } from 'ionicons/icons'

<IonBackButton icon={arrowRoundBack} defaultHref="/" />

Ionic info:
Ionic:

   Ionic CLI       : 5.2.3 (/usr/local/lib/node_modules/ionic)
   Ionic Framework : @ionic/react 4.10.0-rc.3

Utility:

   cordova-res : not installed
   native-run  : not installed

System:

   NodeJS : v12.11.0 (/usr/local/bin/node)
   npm    : 6.11.3
   OS     : macOS Mojave

Fixed in #19588, thanks for reporting.


Remove the deprecated /devops REST endpoints

Description
The /devops REST endpoint has been deprecated and is now superceeded by the /chaincode endpoint. After the next two sprint iterations, I will remove the /devops endpoints. This includes the /devops/deploy, /devops/invoke, and /devops/query endpoints.
This issue is created to track that task. I will take care of it at the required time.
Thanks.

@srderson or @ghaskins please assign to me. Thanks.

@angrbrd you still on this one?


[5.4] Add pivot query scope to sync() and toggle() methods

It's currently not possible to call sync() etc. and have the ability to specify a where() condition.
The use case for this is when wanting to sync some associations that are segmented by a particular column.
To achieve this, a new method called newScopedPivotQuery() which can be passed a closure that will apply conditions to a $query object.    sync() toggle() and syncWithoutDetaching() will then call this new method, passing along any closure given.
An example would be:
Scoping tags association to a particular type:
$type = 'colours';
$this->tags()->sync($tagIds, true, function ($query) use ($type) {
    $query->join('tags', 'taggables.tag_id', '=', 'tags.id')
         ->where('tags.type', $type);
});

No plans to add this at the moment. I think you would just need to do your own query builder operations.


Polymer linter complains about custom elements in angular views

This issue was originally filed by @bgourlie

I am using a polymer element in an angular view.  The element is being properly imported in the main html file.  I'm assuming the linter expects the import to exist in the partial html view, which it doesn't (and shouldn't).

This issue has been moved to dart-lang/polymer-dart#374.


Associating labels with torrents

It would be a great addition to add the possibility to define labels with different defaults like download path, priority or speed limits. Which could then be applied when adding torrent files to download. It could serve as an one click solution to handle different type of downloads like movies or tv series

Good suggestion, I'll try to implement it, but the speed limit can't be set when adding a torrent, so I have to find another way to do it.

Feature added in v1.3.0.


Replace throw new std::exception with simply throw std::exception

The code expect to catch:
try{}
catch( std::exception & ex) {}

So make sure to throw the correct type (not std::exception*)

@malaterre Thanks for the PR. Unfortunately, the building seems  to be failed because of throw std::exception;
(please see the build log for ubuntu-latest)

@osamu620 deeply sorry for that. I should do better next time. I've submitted the new PR, will watch the ubuntu built.

It works! Thanks a lot!


Corrected the spelling of Lucks to Looks.

The spelling of Looks was wrong at line no 39 in the README.md file. I have corrected it from Lucks to Looks.

@HarshitAditya27 thank you so much for contributing!

@all-contributors please add @HarshitAditya27  for content

You have received an email to join, or press this link - https://github.com/App-Choreography - , and you'll see a banner, for you to join the organisation! 🎉
You can also show that you are part of this org, by making yourself public. This will show our profile org on your profile:
Follow This:

After you join the organisation, search your name in the list of people. 🔍
Follow this below: ⬇


explicitly set content-type header for GraphQL request

I ran into some cases where the content-type header in the GraphQL request was set to text/plain instead of application/json. This PR explicitly sets the content-type header to application/json for every GraphQL request.

hi @johnymontana , thanks for the fix!
Apologies for not seeing this earlier, must have slipped through my inbox.
Best,
Niels


Release: v0.7.2

cc @lvwerra

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


[React Hooks] Create read hooks

Context / issue
When starting with react hooks we will be starting with hooks that enable the user to load and get basic Safe information
Proposed solution

Create the SafeProvider component that will get the Safe configuration and prepare the context of the Safe to use.
Under the useSafe hook return:

getSafeInfo
getSafeBalance
getChain

Additional context
Wagmi hooks already provide some hooks for shared account functionality It's possible that we should be able to fetch the balance from these hooks so we don't need to implement the whole logic in ours.

You have a protocolKit property available when you use the createSafeClient in the safe-kit so you can extract most of the info from there


STONEBUGS-109: bump ose-tools-rhel8 to newest version

Sometimes RH registry are having issue with pulling older images.

/retest

/retest

/retest

/retest


Add username's file

: created a branch, created a file and made a commit, and opened a pull
request

OK


Sortable table

Create a sortable table component, or extend the existing table component, to provide the UI components needed for a parent application to create a table as shown here:
https://www.gov.uk/performance/services?sortby=number_of_transactions&sortorder=descending
Related:
https://github.com/alphagov/govuk-design-system-backlog/issues/61
In storybook, show how these components can be used to create a functioning sortable table.
The exported components themselves should not have state or sorting logic, they should just be the ui components needed, e.g. with onClick props

In storybook, show how these components can be used to create a functioning sortable table.

This could be done with a Sortable utility component that uses render props to sort a set of given data, and then renders this data with a govuk-react table.
The Sortable util could be it's own repo/npm module.

I've made a Sortable util component - not yet made into it's own module.  I'll post a link here when that's happened. :grin:


update loguru to 0.6.0

It has been some time since loguru's new release. There is not any breaking changes. It is better to update the version restriction on https://github.com/ms7m/notify-py/blob/c6f30e0784eb18d3b4424ede706719a5fd7cf7b9/pyproject.toml#L16

This will be fixed in the next release.

It's been almost a year since this issue was created, and it still hasn't been upgraded. Any updates? @ms7m

@Kyngo this was supposed to be fixed in #47 (~ 2 releases ago).. Pushing out a fix to update the restriant.

v0.3.41 has been published to PyPi and should loosen up the requirement for loguru. Let me know if you're still experiencing some conflicts.

After updating notify-py and trying to set loguru version to at least 0.6.0, I get the following message when attempting to install my requirements.txt file:
ERROR: Cannot install loguru>=0.6.0 and notify-py==0.3.41 because these package versions have conflicting dependencies.

The conflict is caused by:
    The user requested loguru>=0.6.0
    notify-py 0.3.41 depends on loguru<0.6.0 and >=0.5.3

Give it a try now. (v0.3.42)
~/Development/debugging-notifypy/sample_proj » pip freeze > requirements.txt; cat requirements.txt                                                                                mustafa@Mustafas-Macbook-Pro
───────┬──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
       │ File: requirements.txt
───────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
   1   │ loguru==0.6.0
───────┴──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
(venv) ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
~/Development/debugging-notifypy/sample_proj » pip install notify-py                                                                                mustafa@Mustafas-Macbook-Pro
Collecting notify-py
  Using cached notify_py-0.3.42-py3-none-any.whl (649 kB)
Requirement already satisfied: loguru<=0.6.0,>=0.5.3 in ./venv/lib/python3.9/site-packages (from notify-py) (0.6.0)
Installing collected packages: notify-py
Successfully installed notify-py-0.3.42

Would this restriction be further loosen? Like totally remove the upper limit. Loguru has release its 0.7.2.


Prioritize function runtime over provider runtime

My project contains a mix of node and python, mostly node, i set the provider runtime as node then for specific functions i specify python. This is working perfectly locally when using docker but on my build server which is linux and therefore dont need to run docker i am getting an error
  nodejs8.10 not found! Try the pythonBin option.
It appears in this scenario it is using provider level runtime setting to run python commands
would it be possible to either use function level runtime or alternatively add a pythonCommand override in the plugin settings to force it back. i could set the pythonBin however this will be completely different on my local windows machine and CI server so this will not work

@ed-sparkes I'm having the exact same issue. How did you manage to solve this? Thanks!

I gave up and had two separate serverless projects
On Thu, 3 Dec 2020 at 10:07, Stefan Tertan<EMAIL_ADDRESS>wrote:

@ed-sparkes https://github.com/ed-sparkes I'm having the exact same
issue. How did you manage to solve this? Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/UnitedIncome/serverless-python-requirements/issues/385#issuecomment-737821783,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAHZ4A4EJRHIJMNFV2EWNPTSS5PNHANCNFSM4IEZHUVA
.


Remove/Change CORS

Question
How to change Origin?
Setup details
Access to XMLHttpRequest at 'http://server.com:1080/' from origin 'http://server.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. their is no problem if http://server.com:1080 from http://server.com:1080.

This does not look like a CORS issue but you are likely using the wrong endpoint. Try using http://server.com:1080/files/ instead of http://server.com:1080 as the endpoint for your tus client.

POST http://localhost:1080/files/ 500 (Internal Server Error)
tusd.php:27 Failed because: Error: tus: unexpected response while creating upload

Error shown in Cmd
error="s3store: unable to create multipart upload: MissingRegion: could not find region configuration"

[tusd] Using 's3://temp-94955' as S3 bucket for storage.
[tusd] Using 0.00MB as maximum size.
[tusd] Using <IP_ADDRESS>:1080 as address to listen.
[tusd] Using /files/ as the base path.
[tusd] Using /metrics as the metrics path.
[tusd] Core: ✓ Terminater: ✓ Finisher: ✓ Locker: ✓ GetReader: ✓ Concater: ✓ LengthDeferrer: ✓
[tusd] event="RequestIncoming" method="OPTIONS" path=""
[tusd] event="ResponseOutgoing" status="200" method="OPTIONS" path=""
[tusd] event="RequestIncoming" method="POST" path=""
[tusd] event="ResponseOutgoing" status="500" method="POST" path="" error="s3store: unable to create multipart upload:
MissingRegion: could not find region configuration"

export AWS_REGION=us-east-2
export AWS_SECRET_ACCESS_KEY="SECRET_ACCESS"
export AWS_ACCESS_KEY_ID="KEY_ID"

how to


Cache - check configuration of fixers as well

Using 2.x I changed the header config (2016 -> 2017) however files were not fixed because of caching.
It would be nice to update the caching logic to test if not only the same fixers are configured but also if the configuration of individual fixers are changed.
update:
maybe it is just the header fixer not replacing an existing header with a new one

yeah, invalid issue, please ignore :)


Give types to pointer parameters

Refer to this link for build results (access rights to CI server needed):
/job/nd4j_PR/105/Build result: ABORTED[...truncated 2692 lines...]         ptr->execMetaPredicateStridedHalf(ptr0, arg1, arg2, arg3, arg4, arg5, (float16*)ptr6, arg7, (float16*)ptr8, arg9, (float16*)ptr10, arg11, (float16*)ptr12, (float16*)ptr13, arg14, arg15);                                                                                ^/jenkins/workspace/nd4j_PR/nd4j-backends/nd4j-backend-impls/nd4j-native/target/classes/org/nd4j/nativeblas/linux-x86_64/jnind4j.cpp: In function 'void Java_org_nd4j_nativeblas_NativeOps_execMetaPredicateShapeHalf(JNIEnv*, jobject, jobject, jint, jint, jint, jint, jlong, jobject, jobject, jobject, jobject, jobject, jobject, jobject, jobject, jfloat, jfloat)':/jenkins/workspace/nd4j_PR/nd4j-backends/nd4j-backend-impls/nd4j-native/target/classes/org/nd4j/nativeblas/linux-x86_64/jnind4j.cpp:7565:78: error: 'float16' was not declared in this scope         ptr->execMetaPredicateShapeHalf(ptr0, arg1, arg2, arg3, arg4, arg5, (float16*)ptr6, ptr7, (float16*)ptr8, ptr9, (float16*)ptr10, ptr11, (float16*)ptr12, (float16*)ptr13, arg14, arg15);                                                                              ^/jenkins/workspace/nd4j_PR/nd4j-backends/nd4j-backend-impls/nd4j-native/target/classes/org/nd4j/nativeblas/linux-x86_64/jnind4j.cpp:7565:86: error: expected primary-expression before ')' token         ptr->execMetaPredicateShapeHalf(ptr0, arg1, arg2, arg3, arg4, arg5, (float16*)ptr6, ptr7, (float16*)ptr8, ptr9, (float16*)ptr10, ptr11, (float16*)ptr12, (float16*)ptr13, arg14, arg15);                                                                                ^/jenkins/workspace/nd4j_PR/nd4j-backends/nd4j-backend-impls/nd4j-native/target/classes/org/nd4j/nativeblas/linux-x86_64/jnind4j.cpp:7565:108: error: expected primary-expression before ')' token         ptr->execMetaPredicateShapeHalf(ptr0, arg1, arg2, arg3, arg4, arg5, (float16*)ptr6, ptr7, (float16*)ptr8, ptr9, (float16*)ptr10, ptr11, (float16*)ptr12, (float16*)ptr13, arg14, arg15);                                                                                ^/jenkins/workspace/nd4j_PR/nd4j-backends/nd4j-backend-impls/nd4j-native/target/classes/org/nd4j/nativeblas/linux-x86_64/jnind4j.cpp:7565:130: error: expected primary-expression before ')' token         ptr->execMetaPredicateShapeHalf(ptr0, arg1, arg2, arg3, arg4, arg5, (float16*)ptr6, ptr7, (float16*)ptr8, ptr9, (float16*)ptr10, ptr11, (float16*)ptr12, (float16*)ptr13, arg14, arg15);                                                                                ^/jenkins/workspace/nd4j_PR/nd4j-backends/nd4j-backend-impls/nd4j-native/target/classes/org/nd4j/nativeblas/linux-x86_64/jnind4j.cpp:7565:154: error: expected primary-expression before ')' token         ptr->execMetaPredicateShapeHalf(ptr0, arg1, arg2, arg3, arg4, arg5, (float16*)ptr6, ptr7, (float16*)ptr8, ptr9, (float16*)ptr10, ptr11, (float16*)ptr12, (float16*)ptr13, arg14, arg15);                                                                                ^/jenkins/workspace/nd4j_PR/nd4j-backends/nd4j-backend-impls/nd4j-native/target/classes/org/nd4j/nativeblas/linux-x86_64/jnind4j.cpp:7565:171: error: expected primary-expression before ')' token         ptr->execMetaPredicateShapeHalf(ptr0, arg1, arg2, arg3, arg4, arg5, (float16*)ptr6, ptr7, (float16*)ptr8, ptr9, (float16*)ptr10, ptr11, (float16*)ptr12, (float16*)ptr13, arg14, arg15);                                                                                ^ERROR: Maven JVM terminated unexpectedly with exit code 1Adding one-line test results to commit status...Setting status of 171e2c7496aa43c1ff8e75147fb8e05d778cf511 to FAILURE with url http://ec2-54-191-187-162.us-west-2.compute.amazonaws.com:8080/job/nd4j_PR/105/ and message: 'Build finished. 1 tests run, 1 skipped, 0 failed.'