input dimension

my input data has the shape of (118, 224, 224, 35), 118 3D nii images, width: 224, height: 224 and depth (#of slices) 35. My question is what would be the correct order of input shape? is the order of (#images, width, height, #slices) correct? Some examples use the shape of  (#images, width, height, #slices, 1). Should I set the last dimension to 1 as channel dimension?

Shape must be (#images, width, height, #slices, 1). Last 1 is needed.

I have followed the recommended input shape and getting error of ValueError: axes don't match array or     ValueError: Input 0 of layer "model_3" is incompatible with the layer: expected shape=(None, 96, 224, 224, 35), found shape=(1, 224, 224, 35, 1).

You put input shape:
input_shape=(96, 224, 224, 35)
Do you have 35 channels?
If you have 1 channel use:
input_shape=(224, 224, 35, 1)

Shape must be: (width, height, depth, channels). What is 96?

96 is the number of images.

You don't need to specify it. None is used for this. It means it can be any for model

Thanks for the reply. Now with Linknet and densenet121 I have this error: ValueError: Inputs have incompatible shapes. Received shapes (56, 56, 8, 128) and (56, 56, 9, 128) and  with UNet and densenet121 , I have the following error: ValueError: A Concatenate layer requires inputs with matching shapes except for the concatenation axis. Received: input_shape=[(None, 56, 56, 8, 128), (None, 56, 56, 9, 128)] - Is this because of the depth (#slices) not divisable by 32?

Yes. Each dimension must be divisible on 32. I think I should add warning message for this case.

I need to think how to make it work for any value of dimensions.

Yes, I have the same problem. I need manipule my image slices to use this model :/

Hi,
I got the error : ValueError: axes don't match array. My input shape is  (128,128,128, 4).
model = sm.Unet(
'resnet50',
input_shape=(128, 128, 128, 4),
encoder_weights='imagenet',
classes=3,
activation='softmax'
)
is there any solution ?

Can you provide exact error message?

Yes,  the exact error message is below :
`Downloading data from https://github.com/ZFTurbo/classification_models_3D/releases/download/v1.0.4/resnet50_inp_channel_3_tch_0_top_False.h5
185458688/185458584 [==============================] - 3s 0us/step
185466880/185458584 [==============================] - 3s 0us/step
ValueError                                Traceback (most recent call last)
 in <cell line: 2>()
1 #Fit the model
----> 2 model = sm.Unet(
3     'resnet50',
4     input_shape=(128, 128, 128, 4),
5     encoder_weights='imagenet',
10 frames
/usr/local/lib/python3.10/dist-packages/segmentation_models_3D/init.py in wrapper(*args, **kwargs)
32         kwargs['models'] = _KERAS_MODELS
33         kwargs['utils'] = _KERAS_UTILS
---> 34         return func(*args, **kwargs)
35
36     return wrapper
/usr/local/lib/python3.10/dist-packages/segmentation_models_3D/models/unet.py in Unet(backbone_name, input_shape, classes, activation, weights, encoder_weights, encoder_freeze, encoder_features, decoder_block_type, decoder_filters, decoder_use_batchnorm, dropout, **kwargs)
224                          'Got: {}'.format(decoder_block_type))
225
--> 226     backbone = Backbones.get_backbone(
227         backbone_name,
228         input_shape=input_shape,
/usr/local/lib/python3.10/dist-packages/segmentation_models_3D/backbones/backbones_factory.py in get_backbone(self, name, *args, **kwargs)
100     def get_backbone(self, name, *args, **kwargs):
101         model_fn, _ = self.get(name)
--> 102         model = model_fn(*args, **kwargs)
103         return model
104
/usr/local/lib/python3.10/dist-packages/classification_models_3D/models_factory.py in wrapper(*args, **kwargs)
101             modules_kwargs = self.get_kwargs()
102             new_kwargs = dict(list(kwargs.items()) + list(modules_kwargs.items()))
--> 103             return func(*args, **new_kwargs)
104
105         return wrapper
/usr/local/lib/python3.10/dist-packages/classification_models_3D/models/resnet.py in ResNet50(input_shape, input_tensor, weights, classes, stride_size, init_filters, include_top, repetitions, **kwargs)
420         **kwargs
421 ):
--> 422     return ResNet(
423         MODELS_PARAMS['resnet50'],
424         input_shape=input_shape,
/usr/local/lib/python3.10/dist-packages/classification_models_3D/models/resnet.py in ResNet(model_params, input_shape, input_tensor, include_top, pooling, classes, stride_size, init_filters, weights, repetitions, **kwargs)
338             model.load_weights(weights)
339         else:
--> 340             load_model_weights(model, model_params.model_name,
341                                weights, classes, include_top, **kwargs)
342
/usr/local/lib/python3.10/dist-packages/classification_models_3D/weights.py in load_model_weights(model, model_name, dataset, classes, include_top, **kwargs)
30         )
31
---> 32         model.load_weights(weights_path)
33
34     else:
/usr/local/lib/python3.10/dist-packages/keras/utils/traceback_utils.py in error_handler(*args, **kwargs)
65     except Exception as e:  # pylint: disable=broad-except
66       filtered_tb = _process_traceback_frames(e.traceback)
---> 67       raise e.with_traceback(filtered_tb) from None
68     finally:
69       del filtered_tb
/usr/local/lib/python3.10/dist-packages/numpy/core/overrides.py in transpose(*args, **kwargs)
/usr/local/lib/python3.10/dist-packages/numpy/core/fromnumeric.py in transpose(a, axes)
658
659     """
--> 660     return _wrapfunc(a, 'transpose', axes)
661
662
/usr/local/lib/python3.10/dist-packages/numpy/core/fromnumeric.py in _wrapfunc(obj, method, *args, **kwds)
55
56     try:
---> 57         return bound(*args, **kwds)
58     except TypeError:
59         # A TypeError occurs if the object does have such a method in its
ValueError: axes don't match array`
Thank you,

Try encoder_weights=None

I tried encoder_weights=None, and it works.
but it initializes weight randomly. I prefer to use 'imagenet' weights.
is there any solution?

Try to do this:
pip install classification-models-3D==1.0.6

Unfortunatly same error

Try to do this:
pip install classification-models-3D==1.0.6

I got same error.


fix #163 componentWillReceiveProps() is not honouring old state

fix #163 componentWillReceiveProps() is not honouring old state

@simeg ping.
I have also encountered with the same problem, this PR seems like it resolves that.

@gvelo Hey, sorry about the delay for the response for this. As this PR changes an important piece of logic and does not break any test I didn't feel confident in merging it, now I've done some investigation and it turns out this change is a very good one! Thanks a lot.


Status icon is getting colors by the tabs icon

Please cloe this. I dont need any emails!

close*

@Rahulkhinchi03 sounds like you're watching the repo, that's probably a bad idea if you want github to actually be usable.


Development Hangout

I want to try and plan a developer hangout to start planning out the project and perhaps prepare for the first sprint.
We are a global "team" so scheduling is a mess.
I can commit to being available for any time chosen on this sat. or sun. with advanced notice.
If you are interested please post your availability for this weekend (make sure to mark timezone info or use utc)

Interested but with family etc, can't give a precise hour. Also I'm in Paris, France, so Central European Time for me, probably won't match with a lot of you. Yet I think that following a precise roadmap may help focus our contributions and sync ourself, so I'll gladly pick from the sprint even if I can't join the hangout.

I'm free this sunday

Looks like Sunday is our day then. @amstocker looks like we are it. When are you available?

I'll probably be free sunday but don't know when, random will tell us ^^

I'll be free mid afternoon PST.  Hopefully some others that have been active in the other thread will be able to join as well; @bmcorser @SilverWingedSeraph @mvanveen

I can do late EST: 8pm+ (PST 5pm+)

@BrendanBenshoof That also works for me

It's 2:00 AM Monday in CET, won't work for me :p but it's ok I'll backlog ^^

@whyrusleeping could you be in a hangout 5-6pm PST?

https://hangouts.google.com/call/23wp3q6mz2soebhv6ff4hjdjkea
^is a thing

I'll be on in about 10 min


KREFLECTION.argv

@dwightguth What would be the best way to automatically test this? I tested it only manually, using hardcoded values for the two variables.

Just curious, why is this in KREFLECTION and not in something like K-IO, or even a separate module K-ARG?
KREFLECTION seems to be about getting at the internal state of the backend at runtime. argv/argc seems more about input.

@dwightguth I tested it, please merge (I do not have access rights).


Blackberry 10 not calling success or error handler on register

Hello,
I am having an issue where blackberry 10 does not seem to call either the success or error handler when calling register on the push notification plugin.
Is there a case when neither the success or error would not get called? I cannot get our devices to receive notifications.
Here is a snippet of the code

function errorHandler(error) {
	//never calls the error handler
}
function successHandlerBB(result) {
    //never calls the successhandler
       ...
}
// BlackBerry10
function onNotificationBB(pushpayload) {
             //never gets here
             ...
}

pushInstance = window.plugins.pushNotification;
addCallback('notificationHandler', onNotificationBB);
pushInstance.register(
    successHandlerBB,
    errorHandler,
    {
        invokeTargetId : "com.ourid.invoke.push",
        appId: ".......",
                ppgUrl:"http://cpxxxx.pushapi.eval.blackberry.com",
        ecb: onNotificationBB,
        simChangeCallback: simChangeCallback,
        pushTransportReadyCallback: onPushTransportReady,
        launchApplicationOnPush: true
        }
);

Thanks!

Hi mikes,
i have implemented same using below code snippet please try this,
i have registered my device on launching of my application please make sure your device is connecting with internet.
function successHandler(result) {
alert('success:' + JSON.stringify(result) + '');
}
function errorHandler(error) {
alert('error:' + JSON.stringify(error) + '');
}
var app = {
initialize: function() {
this.bindEvents();
},
bindEvents: function() {
document.addEventListener('deviceready', this.onDeviceReady, false);
},
onDeviceReady: function() {
try {
pushNotification = window.plugins.pushNotification;
var options = {
invokeTargetId: "com.ourid.invoke.push",
appId: "........",
ppgUrl: "http://cpXXXX.pushapi.eval.blackberry.com",
ecb: "pushNotificationHandler",
launchApplicationOnPush: true
};
pushNotification.register(successHandler, errorHandler, options);
} catch (err) {
console.log(err);
}
}
};
app.initialize();

Thanks chetanporiya,
I have tried the code in another app and everything is functioning correctly but not in this one particular app. I think it has something to do with the specific setup of the app. I am going mark this item as closed since I am not able to replicate it in another app.

Ok Great.


[call-overload] No overload variant of "setitem" of "_LocIndexerSeries" matches argument types "slice", "Any"  [call-overload]

Describe the bug
To perform complicated in-place operations, one can do df.loc[:] = ..., to simply assign the updated array. This is currently unsupported by pandas-stubs.
To Reproduce
from pandas import DataFrame, Series

foo = Series([1, 2, 3])
foo.loc[:] = 1 + foo  # [call-overload]

bar = DataFrame([1, 2, 3])
bar.loc[:] = 1 + bar  # [call-overload]

Please complete the following information:

pandas 1.5.3
pandas-stubs <IP_ADDRESS>304

Have to add singluar slice arguments to __getitem__() and __setitem__() in  the right places for dataframe.pyi in _LocIndexerFrame and _ILocIndexerFrame and series.pyi in _LocIndexerSeries and ILocIndexerSeries.
Needs a fair bit of tests to make sure this is done correctly.


Request to add kafkajs instrumentation (opentelemetry-instrumentation-kafkajs) module to OpenTelemetry Meta Packages for Node (https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/metapackages/auto-instrumentations-node/README.md#supported-instrumentations).

This is not a new instrumentation request. The instrumentation already exists. The request is to add kafkajs instrumentation (opentelemetry-instrumentation-kafkajs) module to OpenTelemetry Meta Packages for Node (https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/metapackages/auto-instrumentations-node/README.md#supported-instrumentations).
Is your instrumentation request related to a problem? Please describe
A lot of users use kafkajs with node.js application in K8s and do not want to modify their source code or their application image with a tracing.js while instrumenting it with OpenTelemetry. The OpenTelemetry operator provides a way to achieve that. However it can instrument only the supported node.js packages mentioned at https://github.com/open-telemetry/opentelemetry-js-contrib/blob/main/metapackages/auto-instrumentations-node/README.md#supported-instrumentations.
As kafkajs is not included in the above list, there is no way to instrument kafka calls made by node.js using kafkajs framework. The only way to instrument such kafka call is to add a tracing.js into the application image and not use Opentelemetry operator to inject instrumentation. However, most of the times, it is a bit cumbersome.
Is it applicable for Node or Browser or both?
Only Node.
Do you expect this instrumentation to be commonly used?
Weekly Downloads:
What version of instrumentation are you interested in using?
Versions:
Additional context

I don't think we should just copy the instrumentation. It's up to the owner to decide if they want to move it to this repo and maintain/release it here.
I think @blumamir move some instrumentations form aspecto to this repo in the past. Maybe they can give some hints if there are plans to move more.

Is there any progress with this? I would love to have this instrumentation too


Method "GetSitePropertiesByUrl" can't return the new value

I am trying to update the "UserCodeMaximumLevel" and "UserCodeWarningLevel" of site property on sharepoint online using CSOM. But I notice that  Method "GetSitePropertiesByUrl" can't return the modify value
Here is the steps:

I update the "UserCodeMaximumLevel" and "UserCodeWarningLevel" with below code:

using Microsoft.Online.SharePoint.TenantAdministration;
using Microsoft.SharePoint.Client;
Tenant tenant = new Tenant(ctx);
var site = tenant.GetSitePropertiesByUrl("https://url", true);
tenant.Context.Load(site);
tenant.Context.ExecuteQueryAsync().Wait();
site.UserCodeMaximumLevel = 380.0;
site.UserCodeWarningLevel = 30.0;
site.Update();
tenant.Context.ExecuteQueryAsync().Wait();

When I try to get the value, the return value of "site.UserCodeMaximumLevel" and "site.UserCodeWarningLevel" is always the old value

var site = tenant.GetSitePropertiesByUrl("https://url", true);
tenant.Context.Load(site);
tenant.Context.ExecuteQueryAsync().Wait();
Why "GetSitePropertiesByUrl" doesn't works?
Btw, the site property which get from "tenant.GetSiteProperties(0, true);"  is correct.

These two properties are related to user code (ie: managed code running in the sandbox). User code is no longer supported in SPO & that service is disabled.
REF: https://blogs.msdn.microsoft.com/sharepointdev/2014/01/14/deprecation-of-custom-code-in-sandboxed-solutions/

@andrewconnell  But why "tenant.GetSiteProperties(0, true)" is still working?  Any different with "GetSitePropertiesByUrl"?

And the interest thing is that, the method "GetSitePropertiesByUrl" can reflect the new value when we change the value in the UI page.

Not sure, but regardless it doesn't matter as those properties are no longer useful because user code is no longer enabled in SPO.


add build rule for android and ios players

With the addition of the experimental Unity AR camera settings provider, MRTK has a need for precompiled Android and iOS players, when distributing via NuGet.
This change enables the build rules for these players. Once approved and merged, the nuspec files will be updated to include these player builds.
This is part 1 of the change that will resolve #6441

/azp run


Allow ability to specify sub position in functions

Signed-off-by: xiaolong.ran<EMAIL_ADDRESS>Fixes #5552
Fixes #6531
Motivation
Allowability to specify sub position in Pulsar Functions
Modifications

add retainEarliestPosition  params
add test case

/pulsarbot run-failure-checks

@wolfstudy Would you please help add a test for this?

Add --sub-initial-position to support specifying the initial position of a function & a sink.

done @sijie PTAL again

Add --reset-position to support seeking to a given timestamp or a given position.

The parameter types we are currently exposing are some parameter information when creating a producer or creating a consumer, and reset-position is for the attribute of the topic. After creating the function, the user can get the specified input topics or output topic , Do we need to continue to expose this parameter in the commands group of functions?

@sijie PTAL thanks

/pulsarbot run-failure-checks

As @freeznet pointed out, the config subscriptionPosition has been mentioned in the YAML config doc page. And Pulsar admin docs also shows the flag --subs-position.
@Anonymitaet we can relabel this PR.

@momo-jun done.


e2e: terminate app only when all network requests were finished

Details
A follow-up for https://github.com/Expensify/App/pull/42991
In https://github.com/Expensify/App/pull/42991 we've decided to fix the problem by reinstalling the app. It indeed fixes the problem, but after a talk with @hannojg we've came to conclusion, that original design is to cache all network requests before actual test execution (so our queue shouldn't keep growing).
Below is a breakdown why we have a growing queue:

When we do our first warm up - we don't send ReconnectApp - instead we send OpenApp and we get cache for this endpoint (this is the logic in app to send OpenApp instead of ReconnectApp I believe).
When our first test gets executed -> we send ReconnectApp, our cache is empty, we put a real HTTP request. Its execution is too long, so we don't remove it from the queue, because test execution is faster, so by the end of first test suite we have N requests in a queue)

To fix this problem I decided:

always run test two times (so that both OpenApp and ReconnectApp gets cached) - it's not mandatory but I decided to be consistent;
we terminate app only when there is no active requests (actual for warmup stage - for a real execution we read all values from cache so this function doesn't bring a big delay).

It reminds a first approach that I took in https://github.com/Expensify/App/pull/42991 but we don't add client code and we make tests execution as it was originally designed.
Fixed Issues

$ https://github.com/Expensify/App/issues/42987 https://github.com/Expensify/App/issues/42163
PROPOSAL: N/A
Tests

[ ] run e2e pipeline from this PR and it should be green;

Offline tests

N/A
QA Steps

N/A
PR Author Checklist

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

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

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

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

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

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

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

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

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

Testing locally the app is stuck at the login flow but that's probably just me. Other than that this does not seem to need a C+ review. Let me know otherwise

LGTM now! 😊

@mountiny can you help us getting this merged? Thanks! 😊

Reviewer Checklist

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

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

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

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

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

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

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

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

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

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

🚀 Deployed to staging by https://github.com/mountiny in version: 1.4.85-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/mountiny in version: 1.4.85-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/mountiny in version: 1.4.85-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/AndrewGable in version: 1.4.85-7 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Modifier key to prevent misclicks

Sometimes I am just interested in the link of the picture I am seeing, or I click in the editor pane on a random place to start editing and the window with the image pops up.
I would be more than happy if you could add a (configurable) modifier key to trigger the plugin. For example holding down shift or alt will show me the zoom icon over a picture, clicking at that point will trigger the enlarged picture. An enable / disable icon on the sidebar is also an option, as long as I can turn it off to prevent misclicks, but activate it when I need it. Alternatively, maybe rightclick, and tap in the menu that pops up there?
Another small request, shortcut arrow left and right to quickly go to the next image in the document? This is just nice to have though.
Anyway, thank you for this lovely plugin, I am an artist and being able to zoom and copy/paste is a livesaver.

Another small request, shortcut arrow left and right to quickly go to the next image in the document? This is just nice to have though.

Thanks for your feedback. The plugin has been upgraded to v1.0.1, and you can see all the images at the bottom of the popup layer and you can switch them. I'll think how to switch to the next/last image by arrow right/left.
And I'll think about other requests you mentioned above.

@jorgb Hi, you can set the hotkey for triggering an image in v1.3.1. If you set 'Ctrl', you cannot click an image to preview without holding 'Ctrl'. You can upgrade to the latest version and see if it's what you want.

Thanks I will try this!
On Wed, 8 Jun 2022, 16:36 sissilab, @.***> wrote:

@jorgb https://github.com/jorgb Hi, you can set the hotkey for
triggering an image in v1.3.1. If you set 'Ctrl', you cannot click an image
to preview without holding 'Ctrl'. You can upgrade to the latest version
and see if it's what you want.
[image: image]
https://user-images.githubusercontent.com/82884158/172643215-ff9095bb-abe8-47b2-88e7-5c3e8868033c.png
—
Reply to this email directly, view it on GitHub
https://github.com/sissilab/obsidian-image-toolkit/issues/36#issuecomment-1150005877,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA23JW55IM2IERBNSMPIBMTVOCVXXANCNFSM5MOX5HCA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Could you change the plugin so that you only show the zoom icon when holding down the modifier key? Otherwise, just show the default arrow.

@jorgb Hi, you can set the hotkey for triggering an image in v1.3.1. If you set 'Ctrl', you cannot click an image to preview without holding 'Ctrl'. You can upgrade to the latest version and see if it's what you want.

Could you change the plugin so that you only show the zoom icon when holding down the modifier key? Otherwise, just show the default arrow.

Thanks!
On Fri, 4 Aug 2023, 08:41 caoyirui, @.***> wrote:

@jorgb https://github.com/jorgb Hi, you can set the hotkey for
triggering an image in v1.3.1. If you set 'Ctrl', you cannot click an image
to preview without holding 'Ctrl'. You can upgrade to the latest version
and see if it's what you want.
[image: image]
https://user-images.githubusercontent.com/82884158/172643215-ff9095bb-abe8-47b2-88e7-5c3e8868033c.png
Could you change the plugin so that you only show the zoom icon when
holding down the modifier key? Otherwise, just show the default arrow.
—
Reply to this email directly, view it on GitHub
https://github.com/sissilab/obsidian-image-toolkit/issues/36#issuecomment-1665090889,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA23JW4JT2B6XHYYNTA3C3DXTSKQNANCNFSM5MOX5HCA
.
You are receiving this because you were mentioned.Message ID:
@.***>


Support non-image attaches

Create a link tag instead of img just like github does

use file.type to check for image/* mime type to detect images


Announcement of idea challenge winners

could be right after their pitches or perhaps on the next day or so.
Currently penciled in for right after keynote 3 (#12) and before the closing townhall.

Could be using some live voting tool like https://www.menti.com/ (worked well last year).
If we do this with a day's delay, there might be the need for re-presentations of the ideas and possibly the progress that has been made towards their implementation as part of the idea unconference (#23).


how solve : ImportError: cannot import name nest

GitHub issues are for bugs / installation problems / feature requests.
For general support from the community, see StackOverflow.
To make bugs and feature requests more easy to find and organize, we close issues that are deemed
out of scope for GitHub Issues and point people to StackOverflow.
For bugs or installation issues, please provide the following information.
The more information you provide, the more easily we will be able to offer
help and advice.
Environment info
Operating System:Ubuntu 16.04
Installed version of CUDA and cuDNN:
(please attach the output of ls -l /path/to/cuda/lib/libcud*):
If installed from binary pip package, provide:

Which pip package you installed.
The output from python -c "import tensorflow; print(tensorflow.__version__)".

If installed from source, provide

The commit hash (git rev-parse HEAD)
The output of bazel version

Steps to reproduce

What have you tried?

Logs or other output that would be helpful
(If logs are large, please upload as attachment).

Please provide information requested in the template (you just ignored it). You provide no context, we unfortunately cannot provide help.

Automatically closing due to lack of recent activity. Please reopen if further information becomes available.

sorry,I  had solved that problem.Using the method with re-download and re-setuo.Thank you!


filesize: error at restart when file does not exist

Home Assistant release (hass --version):
0.64.3
Python release (python3 --version):
latest hassio
Component/platform:
filesize
Description of problem:
I monitor OZW_log.txt. Before starting, I like to delete it. When monitoring the file with filesize HA will not start. I have to touch the file and create it first.
Expected:
HA will report that the file doesn't exist but a) will start and b) will start monitoring when it becomes available.
Problem-relevant configuration.yaml entries and steps to reproduce:

Traceback (if applicable):

Additional info:

Should probably tag @robmarkcole :smile:

@metbril I've tried to reproduce the behaviour you report (Hassio can be more temperamental) but I get normal behaviour. It did take what felt like a while for Hassio to reboot (2-3 mins), although I don't usually monitor the reboot closely.
Perhaps you just have a config error, I would triple check that. If you can get the log error when it doesn't boot that would help.
Cheers
Invalid config for [sensor.filesize]: not a file @ data['file_paths'][1]. Got '/config/blabla.txt'. (See ?, line ?).

PS I like the idea that the sensor would switch on if the file became available, that's coming with my watchdog component :-)

I will try to reproduce and post the exact steps.


Explanation of / in the Download Tab

Users are reporting that they don't understand the dropdown in the Download tab. We should add some text there explaining that the options in the dropdown are the subdirectories in the result folder, not the files and that selecting / will download the entire results folder.

Being worked on in https://github.com/cybergis/cybergis-compute-python-sdk/pull/79

Fixed in new release


Check GITHUB_REPO arg to make sure it's just owner/repo

Passing in the whole url, or presumably just the repo and not owner, will result in weird error messages.
The goal is to improve error messaging when an invalid value is passed which informs them that the input must be "Owner/Repo"
Reference: https://touchlab.slack.com/archives/C039SKWFPPW/p1664985641279769

JJ: Not sure what error to catch, not seeing it being thrown. Only see error in http. Should we instead actually validate the format?
RW: It should be fine to validate rather than waiting for an errror
JJ: Which configuration point?
RW: Further down in the flow where you can do both at once if possible, otherwise just check in both

KG: we have a helper function to get the value. If we only validate it after getting the value, future people might forget to validate. So we should be sure to validate it before it gets fetched (in the central helper function, or remove the helper)


Change markdown rendering from blackfriday to goldmark

Markdown rendering and stripping moved from blackfriday to goldmark.
There are multiple subtle changes required to the standard goldmark extensions to keep
current rendering and defaults. This raises the possibility that we should extend these to do rendering for ourselves. In particular we can go further with goldmark linkify extension and have this make running the link processor unnecessary.
Need to think about how to go about allowing extensions - at present it seems that these would be hard to do without recompilation.
Fixes #9182 Fixes #9487
Fixes #4916 (closed but was not fixed before)
Should probably fix #4027

Codecov Report

Merging #9533 into master will decrease coverage by 0.05%.
The diff coverage is 44.32%.

@@            Coverage Diff             @@
##           master    #9533      +/-   ##
==========================================
- Coverage   42.07%   42.02%   -0.06%
==========================================
  Files         574      577       +3
  Lines       75243    75755     +512
==========================================
+ Hits        31662    31833     +171
- Misses      39667    39998     +331
- Partials     3914     3924      +10

Impacted Files
Coverage Δ

modules/markup/sanitizer.go
85.71% <100%> (+1.09%)
:arrow_up:

modules/markup/common/footnote.go
21.22% <21.22%> (ø)

modules/markup/common/linkify.go
34.69% <34.69%> (ø)

modules/markup/markdown/goldmark.go
68.18% <68.18%> (ø)

modules/markup/mdstripper/mdstripper.go
89.61% <87.87%> (-10.39%)
:arrow_down:

modules/markup/html.go
79.89% <88.88%> (-0.49%)
:arrow_down:

modules/markup/markdown/markdown.go
90.62% <89.13%> (+6.81%)
:arrow_up:

models/webhook.go
69.39% <0%> (-1.07%)
:arrow_down:

... and 2 more

Continue to review full report at Codecov.

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

Nice work!

I updated description with issues this should fix, also we need to review other open issues about markdown as it probably fixes some other too but that could be done also when this is merged

Thanks for the hard work @zeripath!

That was merged quickly!

@zeripath: Thanks a lot for working on this one! Glad to see that #3189 is also resolved as a result of your work here :+1:.


Fixed some spelling and build issues

@czpython This fixes a number of issues related to building the documentation and performing spelling checks, but I can't get rid of: /docs/reference/api_references.rst:99: WARNING: py:class reference target not found: datetime.
I think it's an import issue - if the datetime class were available, it wouldn't give this error.

Coverage remained the same at 78.18% when pulling 728177d03a887eeffe2b395a6314b606a66577c6 on evildmp:documentation-spelling-fixes into 61dfbdb58664f6468ebb0b189fe9403404b49272 on divio:develop.


[not_landed] Prevent requesting needinfo for backed out patches

Resolves https://github.com/mozilla/bugbot/issues/1673.
Prevents BugBot from requesting needinfo when a patch has been backed out.
Checklist

[ ] Type annotations added to new functions
[ ] Docs added to functions touched in main classes
[ ] Dry-run produced the expected results
[ ] The to-be-announced tag added if this is worth announcing

Depends on #2466.


Problem constructing Series from dict with datetime.date in level of MultiIndex

When calling the Series constructor on a dict with tuple keys containing a datetime.date object
the values are converted to NaNs as this example demonstrates:
In [52]:

pd.Series({(1, datetime.date(2012, 1, 1)): 1,
           (2, datetime.date(2012, 1, 2)): 2})
Out[52]:
1  2012-01-01   NaN
2  2012-01-02   NaN

It only happens with MultiIndex but otherwise arises regardless of the number and order of the levels.
I know having datetime.date objects in an index is not optimal and that calling the constructor in this way actually forces the dates to Timestamp objects but in my use case I'm receiving data which is structured this way and converting it to Pandas objects.

P.S.
version is 0.16.0

it seems the same question is #8802
You can do this if you really want.
In [4]: pd.MultiIndex.from_arrays([[1,2],Index([datetime.date(2013,1,1),datetime.date(2014,1,1)])])
Out[4]:
MultiIndex(levels=[[1, 2], [2013-01-01, 2014-01-01]],
           labels=[[0, 1], [0, 1]])

In [5]: pd.MultiIndex.from_arrays([[1,2],Index([datetime.date(2013,1,1),datetime.date(2014,1,1)])]).levels[1]
Out[5]: Index([2013-01-01, 2014-01-01], dtype='object')

In [6]: pd.MultiIndex.from_arrays([[1,2],Index([datetime.date(2013,1,1),datetime.date(2014,1,1)])]).levels[1][0]
Out[6]: datetime.date(2013, 1, 1)

This is in general not very useful, much slower, and harder to deal with. Is their a reason you insist on using datetime.date?

It's not really the same question. In the previous question I had a problem with the new version forcing dates to Timestamps which caused existing code not to work. I've adopted this and the code I write now doesn't use datetime.date objects in the index. However, I'm working with data which is produced by existing programmes written by others which isn't aimed at Pandas and has a dictionary with tuple keys containing datetime.date objects which I would like to convert to Pandas.
I have no problem with the index of the resultant Series (or DataFrame in the case of a dict of dicts) being forced to contain to Timestamps. The problem is that values of the result are all NaN which seems like an a genuine bug.

prob related to this: https://github.com/pydata/pandas/issues/9456
pull-requests welcome for fixing that (and you can use this as a test case as well)


Require drupal/core ^8.9 instead of drupal/core-recommended

Summary of Changes

Remove drupal/core-recommended
Require drupal/core ^8.9

Pull Request Checklist
Is Content created by the story?

[x] No

Are there User-facing changes in the Drupal UI?

[x] No

Are there Upstream Code changes?

[ ] No
[x] If yes, then:

[x] Code is complete and commented.
[x] Code is secure to the best of our knowledge and does not contain anything that cannot be on a public repo (e.g. passwords)
Is a test necessary?

[x] No

[x] Pull request (PR) is mergeable with develop branch
[x] PR has a meaningful title
[x] PR has a summary of changes
[x] PR is peer reviewed and meets team standards.
[x] PR builds without error

Abandoning as if we use the --with-all-dependencies flag, we can still use core-recommended


For discussion: Changing our approach to browser tests

We'd like to make it easier for front-end developers to write browser tests. In the current setup, one of the biggest barriers to this is creating test data via Python. Secondarily, the time it takes to fire up tox to run the tests can be annoying, if your environment is out of date.
As most of our FEWDs are accustomed to running a full local environment for testing already, @contolini and I thought, "Why not just have the browser tests run against an already-running local server?"
This PR begins to implement that notion.
Testing

Pull branch
Get a local server up and running
Ensure that the following env vars are set:

export TEST_HTTP_HOST=localhost
export DJANGO_HTTP_PORT=8000

Run gulp test:acceptance:protractor

Notes

Removing the ability to test with tox necessitates taking that step out of Travis, which has the side benefit of saving several minutes per Travis build

Todos

[ ] Remove all the tox cruft and simplify the gulp command to just gulp test:acceptance
[ ] Simplify some of the common JS & config
[ ] Add the two env vars mentioned above to our default env var lists in the sample files (reconcile with #4391)
[ ] Modify Travis scripts to remove this step
[ ] Set up post-deploy smoke tests against Beta in EXT Jenkins
[ ] Figure out why the protractor-retry functionality isn't working as expected

Checklist

[ ] PR has an informative and human-readable title
[ ] Changes are limited to a single goal (no scope creep)
[ ] Code can be automatically merged (no conflicts)
[ ] Code follows the standards laid out in the development playbook
[ ] Passes all existing automated tests
[ ] Any change in functionality is tested
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged / future todos are captured in comments
[ ] Visually tested in supported browsers and devices (see checklist below :point_down:)
[ ] Project documentation has been updated
[ ] Reviewers requested with the Reviewers tool :arrow_right:

Notes from discussion in cf.gov office hours:

Everyone generally agreed it was a good idea
Removing the ability to test with tox necessitates taking that step out of Travis, which has the side benefit of saving several minutes per Travis build

That said, we'll need to do some socializing to set the expectation that folks should run the browser tests locally before merging a PR, since Travis won't be doing it anymore

Additionally, we want to set up post-deploy and nightly smoke tests against Beta in EXT Jenkins to try and catch any regressions prior to deploying to production
Folks are interested in having a suite of test pages with as many combinations of different Wagtail blocks and pages as practical

@chosak to draft a pitch for a project to develop a method of autogenerating such a suite of pages, with the goal of ending up with something like a Pattern Lab of our Wagtail pages and blocks.

That said, we'll need to do some socializing to set the expectation that folks should run the browser tests locally before merging a PR, since Travis won't be doing it anymore

I don't think this will go as expected. We've had gulp lint available to run locally for ages and linter errors frequently made it into the codebase. Myself included being guilty of this. It wasn't till Travis errored on linter errors that it was effectively stopped. Most often it happened when responding to review fixes and forgetting to run checks one final time before merging. Maybe the time saved is worth that, but it would be a good idea to have the infrastructure in place to test on Travis if needed.

@anselmbradford I hear that; that's a major part of the desire to have the backstop of post-deploy and nightly smoke tests on Jenkins.
I'm not entirely sure how to reconcile getting people to write more tests and still running them through tox. If getting folks to write more browser tests is indeed a goal of ours, I don't think the tox setup is sustainable.

I'm not entirely sure how to reconcile getting people to write more tests and still running them through tox. If getting folks to write more browser tests is indeed a goal of ours, I don't think the tox setup is sustainable.

The ideal solution would be to write more tests (so not having tox as the dependency here and making it more FEWD-friendly like this PR suggests) and still having the ability to run these in an automated fashion with Travis on PRs. How about building the branches on a dev server that Travis can run the tests against?

How about building the branches on a dev server that Travis can run the tests against?

Travis wouldn't be able to access our dev servers but Jenkins can and there's a plugin that lets it report build statuses the same way Travis does. We actually installed the plugin years ago but had to remove it because we're not allowed to have zusa's URL on a public website.
That policy is pretty silly for things like the demo proxy and I'd love to revisit it. We could create a new demo proxy URL just for PRs, e.g. https://github.demo.XXXX.gov.

Superseded by #4472.


Rewrite install docs to make them less pipx-centric

Our installation docs currently recommend using pipx to install and use garden. This is fine for some CLI operations, but you generally need to install garden-ai in a venv so that you can import it and other libraries together in a pipeline file that you're working on. We should change our install recommendations to reflect this.
Assumptions:

Acceptance Criteria
Given..., when..., then...

During my trial, even with using a Conda virtual environment pipx was still untenable when installed via brew. The solution was uninstalling it from brew and installing it with pip. More details here: https://docs.google.com/document/d/1xdTy3KZgt0U6rixDcW8YYcPXhyad1qErJ4A_lqT1l_c/edit#heading=h.m1v24wjgt8se

I think we erred in suggesting pipx at all. I'd recommend that publishers don't use pipx and instead use a "normal" venv.


No codelens in VS code Insiders latest

VSCode Version:

OS Version: Win 8.1

Steps to Reproduce:
settings.json
"editor.codeLens": true
But?

Which code lenses are you expecting?

I would like to have references.It was there before the latest update @mjbvz

You also need to set "typescript.referencesCodeLens.enabled": true. We recently changed the default setting for this back to false

Yep, Thanks a lot @mjbvz


Native Automator Not Working

Steps to reproduce

Native automator not working

Actual results
This is my Source Code
import 'package:hydrated_bloc/hydrated_bloc.dart';
import 'package:krishokbd/config/di/dependency_injector.dart';
import 'package:nb_utils/nb_utils.dart';
import 'package:path_provider/path_provider.dart';
import 'package:patrol/patrol.dart';
import 'package:krishokbd/main.dart' as app;

Future<void> main() async {
  const nativeConfig = NativeAutomatorConfig(
    packageName: 'com.krishokbd.app',
    androidAppName: '[QA] Krishik BD',
    bundleId: "com.example.krishokbd",
  );

  patrolTest(
    "Automation Testing",
    nativeAutomation: true,
    bindingType: BindingType.integrationTest,
    config: const PatrolTesterConfig(),
    nativeAutomatorConfig: nativeConfig,
    ($) async {
      await configureDependencies();
      // App Language List
      await initialize();
      defaultToastGravityGlobal = ToastGravity.BOTTOM;
      HydratedBloc.storage = await HydratedStorage.build(
        storageDirectory: await getApplicationDocumentsDirectory(),
      );

      await $.pumpWidgetAndSettle(const app.MyApp());

      await $.pumpAndSettle();

      await Future.delayed(const Duration(seconds: 3));

      await $.native.disableWifi();
      // await $.nativeAutomator?.pressBack();
//
      await Future.delayed(const Duration(seconds: 10));
    },
  );
}

I've also setup up native android setting and add this setting in pubspec.yaml
patrol:
  app_name: Krishokbd
  android:
    package_name: com.krishokbd.app
  ios:
    bundle_id: com.example.krishokbd

But unfortunately native and the nativeAutomator not working
I've also try with patrol test --target integration_test/automation_test.dart
it's generate a file named as test_bundle.dart
  final binding = PatrolBinding.ensureInitialized(NativeAutomatorConfig());

this line throw an error too many positional argument
if i modify this line with
  final binding = PatrolBinding.ensureInitialized();

Then throw new error
Exception has occurred.
SocketException (SocketException: Connection refused (OS Error: Connection refused, errno = 111), address = localhost, port = 45160)

I've already spend too much time to figure out actual problem and run the automator. Without the native task it's work fine.
if it works fine without native automate then what's the point. If i wrong in my code or process then please guide me .
Logs

Logs
Exception has occurred.
_AssertionError ('package:patrol/src/custom_finders/patrol_integration_tester.dart': Failed assertion: line 33 pos 7: 'nativeAutomator != null': NativeAutomator is not initialized. Make sure you passed `nativeAutomation: true` to patrolTest(), and that you're *not* initializing any bindings in your test.)

Patrol version
patrol: ^2.3.2
Patrol Doctor output

Patrol Doctor output
Program adb found in /usr/local/bin/adb
Env var $ANDROID_HOME set to /usr/local/opt/ruby/bin:/usr/local/bin:/System/Cryptexes/App/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin:/Library/Apple/usr/bin:/Users/pp/dev/flutter/bin/:/usr/local/opt/ruby/bin:/Users/pp/dev/flutter/bin:/Users/pp/.pub-cache/bin://usr/local/bin/code:/Users/pp/dev/flutter/bin:/Users/pp/.pub-cache/bin:/Users/pp/dev/flutter/bin://usr/local/bin/code:/Users/pp/.pub-cache/bin:/usr/local/bin/adb
Program xcodebuild found in /usr/bin/xcodebuild
Program ideviceinstaller found in /usr/local/bin/ideviceinstaller

Flutter Doctor output

Flutter Doctor output
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.13.9, on macOS 14.1.2 23B92 darwin-x64, locale en-BD)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 15.0.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2023.1)
[✓] VS Code (version 1.84.1)
[✓] Connected device (3 available)
[✓] Network resources

• No issues found!

Hi @Muhammad-Sharif-Ullah , it looks like a mismatch between CLI and patrol package versions. Which version of the patrol_cli  and patrol are you using?

Hi @Muhammad-Sharif-Ullah , it looks like a mismatch between CLI and patrol package versions. Which version of the patrol_cli and patrol are you using?

patrol_cli: 2.2.0
patrol 3.3.0

Thanks for a quick response. If you use patrol >=3.0.0, then you have to use patrol_cli >= 2.3.0. See here: https://pub.dev/packages/patrol/changelog#300. Let me know if it helped

I am getting similar like this, and I am running
 patrol: ^2.3.2
patrol_cli v2.3.0

@cheuk0324 those versions don't match - check the changelog (https://pub.dev/packages/patrol/changelog) to find out which version you need

After upgrading the version now it's working on android, I finally can run the test, but didn't tried it in IOS yet , will soon. Previously I tried these version
patrol : 2.3.0
patrol_cli v2.2.0
Test start initially but after sometime giving android native side error , i kept same configuration for android which I applied in
patrol_cli: 2.2.0
patrol 3.3.0.
Moreover new version works fine for me, thanks you @jBorkowska for your feed back.
And thanks the "Patrol" team for this awesome testing tools

I'm using latest patrol and patrol_cli versions
patrol : 3.3.0
patrol_cli v2.5.0
and I'm still getting this error:
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: ClientException with SocketException: Connection refused (OS Error: Connection refused, errno = 111), address = localhost, port = 57052, uri=http://localhost:8081/initialize

from this line in test_bundle.dart
await nativeAutomator.initialize();

Install the latest PowerShell for new features and improvements! https://aka.ms/PSWindows
PS C:\Vikas\user-application> flutter test integration_test/app_test.dart
00:00 +0: loading C:/Vikas/user-application/integration_test/app_test.dart                                                                                R
You are applying Flutter's app_plugin_loader Gradle plugin imperatively using the apply script method, which is deprecated and will be removed in a future release. Migrate to applying Gradle plugins with the declarative plugins block: https://flutter.dev/go/flutter-gradle-plugin-apply
You are applying Flutter's main Gradle plugin imperatively using the apply script method, which is deprecated and will be removed in a future release. Migrate to applying Gradle plugins with the declarative plugins block: https://flutter.dev/go/flutter-gradle-plugin-apply
Note: C:\Users\VikasPShetty\AppData\Local\Pub\Cache\hosted\pub.dev\contacts_service-0.6.3\android\src\main\java\flutter\plugins\contactsservice\contactsservice\ContactsServicePlugin.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: C:\Users\VikasPShetty\AppData\Local\Pub\Cache\hosted\pub.dev\flutter_sound_lite-8.5.0\android\src\main\java\com\dooboolab\fluttersound\FlutterSound.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
03:34 +0: loading C:/Vikas/user-application/integration_test/app_test.dart                                                                                214.3s
√ Built build\app\outputs\flutter-apk\app-debug.apk
03:37 +0: loading C:/Vikas/user-application/integration_test/app_test.dart                                                                                I03:45 +0: loading C:/Vikas/user-application/integration_test/app_test.dart                                                                                7.6s
Error: ADB exited with exit code 1
Performing Streamed Install
adb: failed to install C:\Vikas\user-application\build\app\outputs\flutter-apk\app-debug.apk: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package com.qiki.qiki
signatures do not match previously installed version; ignoring!]
Uninstalling old version...
03:52 +0: loading C:/Vikas/user-application/integration_test/app_test.dart                                                                                6.7s
03:57 +0: loading C:/Vikas/user-application/integration_test/app_test.dart
Patrol (native): NativeAutomatorClient created, port: 8081
Patrol (native): NativeAutomatorClient created, port: 8081
03:57 +0 -1: loading C:/Vikas/user-application/integration_test/app_test.dart [E]
Failed to load "C:/Vikas/user-application/integration_test/app_test.dart": 'package:flutter/src/foundation/binding.dart': Failed assertion: line 153 pos 12: '_debugInitializedType == null': Binding is already initialized to IntegrationTestWidgetsFlutterBinding
dart:core                                                      _AssertionError._throwNew
package:flutter/src/foundation/binding.dart 153:12             new BindingBase
package:flutter_test/src/binding.dart                          new _TestWidgetsFlutterBinding&BindingBase&SchedulerBinding
package:flutter_test/src/binding.dart                          new _TestWidgetsFlutterBinding&BindingBase&SchedulerBinding&ServicesBinding
package:flutter_test/src/binding.dart                          new _TestWidgetsFlutterBinding&BindingBase&SchedulerBinding&ServicesBinding&GestureBinding
package:flutter_test/src/binding.dart                          new _TestWidgetsFlutterBinding&BindingBase&SchedulerBinding&ServicesBinding&GestureBinding&Semanti  package:patrol/src/common.dart 93:39                           patrolTest
c:/Vikas/user-application/integration_test/app_test.dart 44:3  main
To run this test again: C:\Flutter_SDK\flutter\bin\cache\dart-sdk\bin\dart.exe test C:/Vikas/user-application/integration_test/app_test.dart -p vm --plain-name "loading C:/Vikas/user-application/integration_test/app_test.dart"
03:57 +0 -1: Some tests failed.
PS C:\Vikas\user-application> flutter test integration_test/app_test.dart
00:00 +0: loading C:/Vikas/user-application/integration_test/app_test.dart                                                                                RYou are applying Flutter's app_plugin_loader Gradle plugin imperatively using the apply script method, which is deprecated and will be removed in a future release. Migrate to applying Gradle plugins with the declarative plugins block: https://flutter.dev/go/flutter-gradle-plugin-apply
You are applying Flutter's main Gradle plugin imperatively using the apply script method, which is deprecated and will be removed in a future release. Migrate to applying Gradle plugins with the declarative plugins block: https://flutter.dev/go/flutter-gradle-plugin-apply
01:48 +0: loading C:/Vikas/user-application/integration_test/app_test.dart                                                                                108.0s
√ Built build\app\outputs\flutter-apk\app-debug.apk
01:52 +0: loading C:/Vikas/user-application/integration_test/app_test.dart                                                                                I01:59 +0: loading C:/Vikas/user-application/integration_test/app_test.dart                                                                                7.0s
Error: ADB exited with exit code 1
Performing Streamed Install
adb: failed to install C:\Vikas\user-application\build\app\outputs\flutter-apk\app-debug.apk: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package com.qiki.qiki
signatures do not match previously installed version; ignoring!]
Uninstalling old version...
02:00 +0: loading C:/Vikas/user-application/integration_test/app_test.dart                                                                                I02:07 +0: loading C:/Vikas/user-application/integration_test/app_test.dart                                                                                6.8s
02:11 +0: loading C:/Vikas/user-application/integration_test/app_test.dart
Patrol (native): NativeAutomatorClient created, port: 8081
Patrol (native): NativeAutomatorClient created, port: 8081
02:11 +0 -1: loading C:/Vikas/user-application/integration_test/app_test.dart [E]
Failed to load "C:/Vikas/user-application/integration_test/app_test.dart": 'package:flutter/src/foundation/binding.dart': Failed assertion: line 153 pos 12: '_debugInitializedType == null': Binding is already initialized to IntegrationTestWidgetsFlutterBinding
dart:core                                                      _AssertionError._throwNew
package:flutter/src/foundation/binding.dart 153:12             new BindingBase
package:flutter_test/src/binding.dart                          new _TestWidgetsFlutterBinding&BindingBase&SchedulerBinding
package:flutter_test/src/binding.dart                          new _TestWidgetsFlutterBinding&BindingBase&SchedulerBinding&ServicesBinding
package:flutter_test/src/binding.dart                          new _TestWidgetsFlutterBinding&BindingBase&SchedulerBinding&ServicesBinding&GestureBinding
package:flutter_test/src/binding.dart                          new _TestWidgetsFlutterBinding&BindingBase&SchedulerBinding&ServicesBinding&GestureBinding&SemanticsBinding
package:flutter_test/src/binding.dart                          new _TestWidgetsFlutterBinding&BindingBase&SchedulerBinding&ServicesBinding&GestureBinding&SemanticsBinding&RendererBinding
package:flutter_test/src/binding.dart                          new _TestWidgetsFlutterBinding&BindingBase&SchedulerBinding&ServicesBinding&GestureBinding&SemanticsBinding&RendererBinding&PaintingBinding
package:flutter_test/src/binding.dart                          new _TestWidgetsFlutterBinding&BindingBase&SchedulerBinding&ServicesBinding&GestureBinding&SemanticsBinding&RendererBinding&PaintingBinding&WidgetsBinding
package:flutter_test/src/binding.dart                          new _TestWidgetsFlutterBinding&BindingBase&SchedulerBinding&ServicesBinding&GestureBinding&SemanticsBinding&RendererBinding&PaintingBinding&WidgetsBinding&TestDefaultBinaryMessengerBinding
package:flutter_test/src/binding.dart                          new TestWidgetsFlutterBinding
package:flutter_test/src/binding.dart                          new LiveTestWidgetsFlutterBinding
package:patrol/src/binding.dart                                new PatrolBinding
package:patrol/src/binding.dart 125:7                          new PatrolBinding.ensureInitialized
package:patrol/src/common.dart 93:39                           patrolTest
c:/Vikas/user-application/integration_test/app_test.dart 44:3  main
To run this test again: C:\Flutter_SDK\flutter\bin\cache\dart-sdk\bin\dart.exe test C:/Vikas/user-application/integration_test/app_test.dart -p vm --plain-name "loading C:/Vikas/user-application/integration_test/app_test.dart"
02:11 +0 -1: Some tests failed.
I DONT UNDERSTAND THIS ISSUE? CAN YOU RESOLVE THIS..

I am also getting same issue .Did anyone find the solution?

I am encountering a similar issue on android with emulator.
Patrol version:
patrol: 3.6.1
patrol_cli: 2.7.0
flutter: 3.19.6
Emulator:
Pixel XL API33 Android 13
Preconditions:

Create a new emulator to wipe data on an existing one.

Steps to reproduce:

Run the application
Stop the application
Run Patrol tests patrol test --target...
Wait until the test pass/fail
Run application

Expected result:
The application should start without any issues as it stars with Step 1
Actual result:
When starting the application after any test has been run, an Unhandled exception is thrown
I/flutter ( 9865): Patrol (native): NativeAutomatorClient created, port: 8081 I/flutter ( 9865): Patrol (native): initialize() started I/flutter ( 9865): Patrol (native): initialize() failed E/flutter ( 9865): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: ClientException with SocketException: Connection refused (OS Error: Connection refused, errno = 111), address = localhost, port = 54696, uri=http://localhost:8081/initialize
NOTE:
The exception is only thrown when you try to run the application on the emulator.
If you run a test, the test starts as expected without throwing any exceptions.

I am trying build test apk using patrol build android  and when I run apk its get stuck and same error is thown
cli version 3.4.0
patrol 3.13.0
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: ClientException with SocketException: Connection refused (OS Error: Connection refused, errno = 111), address = localhost, port = 35536, uri=http://localhost:8081/initialize                                                                                #0      IOClient.send (package:http/src/io_client.dart:154:7)                                                                                <asynchronous suspension>                                                                                #1      BaseClient._sendUnstreamed (package:http/src/base_client.dart:93:32)                                                                                <asynchronous suspension>                                                                                #2      Future.timeout.<anonymous closure> (dart:async/future_impl.dart:963:15)                                                                                <asynchronous suspension>                                                                                #3      NativeAutomatorClient._sendRequest (package:patrol/src/native/contracts/native_automator_client.dart:353:22)                                                                                <asynchronous suspension>                                                                                #4      NativeAutomator._wrapRequest (package:patrol/src/native/native_automator.dart:232:22)                                                                                <asynchronous suspension>                                                                                #5      NativeAutomator.initialize (package:patrol/src/native/native_automator.dart:280:5)                                                                                <asynchronous suspension>                                                                                #6      main (file:///Users/mofidulislam/patrolTest/integration_test/test_bundle.dart:49:3)                                                                                <asynchronous suspension>


Support For Rock Miners

The program does not find my rock miners - 32/37 GHZ - is there a way to find them using your program??? Thanks

If you are talking about the original R-Box from RockMiner make sure you have the proper drivers installed:
https://github.com/nwoolls/MultiMiner/wiki/Drivers#silicon-labs-usb-to-uart-driver

Yes it's the - RockMiner R-BOX 32 -37 GH/s  - I have the drivers installed - I can run the cgminer they supply - and works okay - but I like your program and would like them to run under it. I'll fiddle around with it and what I can do Thanks Steve

Okay - in order for me to get the Rock Miner r-box to work - I had to reinstall the drivers cp2120 USB to UART Bridge Controller and not install the win usb driver. using  zadiag - and there mining away now - Thanks Steve

That is correct. The drivers that CGMiner uses will almost always uninstall the ones required by MultiMiner (and BFGMiner on the backend) and vice versa.

setting up the win usb - made it where it could not be found - so I didn't install them - to see if your program would find the miners and it did.  Thanks again mining at 260 GHZ -


License ?

Hello, under what license is this project released under ? Thank-you.

Hey @suprafun ! I just added the MIT License to this project.
Hope that it can help you in some way!


Why types are created spawning a separate process?

In create-platformatic, when we create a type, we execute platformatic in another process, i.e.:
    await execa(pkgManager, ['exec', 'platformatic', 'service', 'types'], { cwd: projectDir })

See: https://github.com/platformatic/platformatic/blob/main/packages/create-platformatic/src/service/create-service-cli.mjs#L120
There is a reason for that? Wouldn't be quicker to do the types creation directly?

The reason is that I did not want to install the whole platformatic dependency inside create-platformatic, speeding up install time. As a result, we need to rely on the "locally installed" version of platformatic.


Cant save Dataset with params

Bug description
Can't save a Druid query into a Dataset when the query have params.
How to reproduce the bug
Enable SQL templating
Create a query with params:
SELECT *
FROM "sources_v3"
WHERE "interface_tag_string" like {{ tag }}

Run the query works perfectly fine
Try to save a dataset
Screenshots/recordings
The data set never saves, keeps trying to save

Superset version
4.0.2
Python version
Not applicable
Node version
Not applicable
Browser
Chrome
Additional context
This is the log output:
superset_app          | 2024-08-22 18:13:43,240:DEBUG:urllib3.connectionpool:http://<IP_ADDRESS>:8888 "POST /druid/v2/sql HTTP/1.1" 400 7962
superset_app          | 2024-08-22 18:13:43,242:ERROR:superset.commands.dataset.refresh:'errorClass'
superset_app          | Traceback (most recent call last):
superset_app          |   File "/app/superset/connectors/sqla/utils.py", line 147, in get_columns_description
superset_app          |     cursor.execute(query)
superset_app          |   File "/usr/local/lib/python3.10/site-packages/pydruid/db/api.py", line 62, in g
superset_app          |     return f(self, *args, **kwargs)
superset_app          |   File "/usr/local/lib/python3.10/site-packages/pydruid/db/api.py", line 256, in execute
superset_app          |     first_row = next(results)
superset_app          |   File "/usr/local/lib/python3.10/site-packages/pydruid/db/api.py", line 362, in _stream_query
superset_app          |     msg = "{error} ({errorClass}): {errorMessage}".format(**payload)
superset_app          | KeyError: 'errorClass'
superset_app          |
superset_app          | The above exception was the direct cause of the following exception:
superset_app          |
superset_app          | Traceback (most recent call last):
superset_app          |   File "/app/superset/commands/dataset/refresh.py", line 45, in run
superset_app          |     self._model.fetch_metadata()
superset_app          |   File "/app/superset/connectors/sqla/models.py", line 1828, in fetch_metadata
superset_app          |     new_columns = self.external_metadata()
superset_app          |   File "/app/superset/connectors/sqla/models.py", line 1320, in external_metadata
superset_app          |     return get_virtual_table_metadata(dataset=self)
superset_app          |   File "/app/superset/connectors/sqla/utils.py", line 132, in get_virtual_table_metadata
superset_app          |     return get_columns_description(dataset.database, dataset.schema, statements[0])
superset_app          |   File "/app/superset/connectors/sqla/utils.py", line 153, in get_columns_description
superset_app          |     raise SupersetGenericDBErrorException(message=str(ex)) from ex
superset_app          | superset.exceptions.SupersetGenericDBErrorException: 'errorClass'
superset_app          | 2024-08-22 18:13:43,245:DEBUG:superset.stats_logger:[stats_logger] (incr) DatasetRestApi.put.error
superset_app          | 2024-08-22 18:13:43,245:WARNING:superset.views.base:CommandException
superset_app          | Traceback (most recent call last):
superset_app          |   File "/app/superset/connectors/sqla/utils.py", line 147, in get_columns_description
superset_app          |     cursor.execute(query)
superset_app          |   File "/usr/local/lib/python3.10/site-packages/pydruid/db/api.py", line 62, in g
superset_app          |     return f(self, *args, **kwargs)
superset_app          |   File "/usr/local/lib/python3.10/site-packages/pydruid/db/api.py", line 256, in execute
superset_app          |     first_row = next(results)
superset_app          |   File "/usr/local/lib/python3.10/site-packages/pydruid/db/api.py", line 362, in _stream_query
superset_app          |     msg = "{error} ({errorClass}): {errorMessage}".format(**payload)
superset_app          | KeyError: 'errorClass'
superset_app          |
superset_app          | The above exception was the direct cause of the following exception:
superset_app          |
superset_app          | Traceback (most recent call last):
superset_app          |   File "/app/superset/commands/dataset/refresh.py", line 45, in run
superset_app          |     self._model.fetch_metadata()
superset_app          |   File "/app/superset/connectors/sqla/models.py", line 1828, in fetch_metadata
superset_app          |     new_columns = self.external_metadata()
superset_app          |   File "/app/superset/connectors/sqla/models.py", line 1320, in external_metadata
superset_app          |     return get_virtual_table_metadata(dataset=self)
superset_app          |   File "/app/superset/connectors/sqla/utils.py", line 132, in get_virtual_table_metadata
superset_app          |     return get_columns_description(dataset.database, dataset.schema, statements[0])
superset_app          |   File "/app/superset/connectors/sqla/utils.py", line 153, in get_columns_description
superset_app          |     raise SupersetGenericDBErrorException(message=str(ex)) from ex
superset_app          | superset.exceptions.SupersetGenericDBErrorException: 'errorClass'
superset_app          |
superset_app          | The above exception was the direct cause of the following exception:
superset_app          |
superset_app          | Traceback (most recent call last):
superset_app          |   File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1823, in full_dispatch_request
superset_app          |     rv = self.dispatch_request()
superset_app          |   File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1799, in dispatch_request
superset_app          |     return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
superset_app          |   File "/usr/local/lib/python3.10/site-packages/flask_appbuilder/security/decorators.py", line 95, in wraps
superset_app          |     return f(self, *args, **kwargs)
superset_app          |   File "/app/superset/views/base_api.py", line 127, in wraps
superset_app          |     raise ex
superset_app          |   File "/app/superset/views/base_api.py", line 121, in wraps
superset_app          |     duration, response = time_function(f, self, *args, **kwargs)
superset_app          |   File "/app/superset/utils/core.py", line 1470, in time_function
superset_app          |     response = func(*args, **kwargs)
superset_app          |   File "/app/superset/utils/log.py", line 255, in wrapper
superset_app          |     value = f(*args, **kwargs)
superset_app          |   File "/app/superset/views/base_api.py", line 93, in wraps
superset_app          |     return f(self, *args, **kwargs)
superset_app          |   File "/app/superset/datasets/api.py", line 409, in put
superset_app          |     RefreshDatasetCommand(pk).run()
superset_app          |   File "/app/superset/commands/dataset/refresh.py", line 49, in run
superset_app          |     raise DatasetRefreshFailedError() from ex
superset_app          | superset.commands.dataset.exceptions.DatasetRefreshFailedError: Dataset could not be updated.
superset_app          | <IP_ADDRESS> - - [22/Aug/2024:18:13:43 +0000] "PUT /api/v1/dataset/39?override_columns=true HTTP/1.1" 500 241 "http://<IP_ADDRESS>:8088/sqllab" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36 Edg/<IP_ADDRESS>"

Checklist

[ ] I have searched Superset docs and Slack and didn't find a solution to my problem.
[X] I have searched the GitHub issue tracker and didn't find a similar bug report.
[X] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

If I run the query with '{{ tag }}' the query does not run.

The query  runs with {{ tag }} without quotes

This seems like a duplicate of https://github.com/apache/superset/issues/28600 - let me know if you agree.

Actually, I'll close this as a duplicate of https://github.com/apache/superset/issues/25786... let's take the conversation (and hopefully a solution!) there.

Totally agree :-) Thanks :-)


Mocks should use actual interfaces

https://github.com/penumbra-zone/web/blob/main/packages/router/src/grpc/test-utils.ts
Instead of duplicating many interfaces with mock interfaces, and reimplementing mocks multiple times in several files to meet those interfaces, it is preferable to implement a versatile mock once, to meet the real interface, and then import it where used.

@Valentine1898 would be great for you to take this one

I'm not sure I'm understanding the idea correctly.
The point is that we most often have to have different mock implementations for different test cases

https://github.com/penumbra-zone/web/pull/672/files/a1144fe524db25b9eb39a92ff52dfbc5b2611f48#r1521909534


Move parameters for all grpc_op types into their own sub-structs.

This is a non-backward-compatible change to the core API, but it will allow adding new parameters in the future without breaking the core API.
The impetus for this was that I will likely need to add parameters to the send_message op for the header extraction functionality (for which I am working on a gRFC).  If this looks good to you, then hopefully we can get it into the 1.1 release.

If this is not going to 1.1, we will need to bump the core version number (can be a subsequent PR)


Dasv5 and Dadsv5 missing

Hi,
the family Dasv5 and Dadsv5 is missing from the table. So on ACU available from them.
B

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

ID: ad3e8dba-4c99-47d6-ac9f-6d110ec5a43c
Version Independent ID: 308f299a-5bb2-cf20-a97d-47dd9485d574
Content: Overview of the Azure Compute Unit - Azure Virtual Machines
Content Source: articles/virtual-machines/acu.md
Service: virtual-machines
Sub-service: sizes
GitHub Login: @mimckitt
Microsoft Alias: mimckitt

The issue was already mentioned a year ago here:
(https://github.com/MicrosoftDocs/azure-docs/issues/84034)
and never got fixed :-((

@Kofl
Thanks for your feedback! We will investigate and update as appropriate.

@mimckitt
Can you please check and add your comments on this doc update request as applicable.

We are reevaluating how we measure ACU for the new V5 series. When we have numbers to share, the docs will be updated accordingly.
#please-close


Add convenience method to fetch Keycloak roles

We are currently migrating our Angular projects to use angular-oauth2-oidc.
The migration went very good and the flow is working nicely with our auth server Keycloak.
However, for authorization we had to create a special service to fetch the (Keycloak) roles from our access token (JWT). The roles are put in a path that is dynamic, based on the client-id. Im not sure if this only applies for Keycloak, or that other authorization servers also follow this pattern.
The JWT access token contains something like:
"resource_access": {     "dummy-client-id": {       "roles": [         "admin",         "moderator"       ]     },   },
It would be nice if the OAuthService has a method to fetch the roles from the token and/or if you can validate whether the access token contains a certain role / set of roles:
public getKeycloakRoles(): string[]
public hasKeycloakRoles(roles: string[]): boolean
I don't know if this is in line with the generic concept of this project, but I think it would be very nice as roles are a widely used functionality of Keycloak.

I've tagged it as a "feature-request", but don't think it's wise that we add this kind of IDS-specific logic to a generic library, if we can at all help it.
Instead, some kind of extension point might be what you need, or maybe just an extra library?
This library already allows getting the "Identity Claims", a parsed and structured object with all the claims.
As far as I know the access token is not parsed. In many cases it's just an opaque string to be passed on to the API. If you do want to parse it, you can easily do so in your application code. Call getAccessToken() on the OAuthService, and pass it to a function to decode the jwt yourself, et voila: the structured access token is there.

I think you are right, that this keycloak functionality should be outside of this project. I'm not really sure in which form a separate solution would be best.
Currently I'm indeed parsing the token and fetching the roles.

Ok, nice, thx for getting back to us. Will close then!


ValueError: Error when checking target: expected complex_dense_1 to have shape (None, 48) but got array with shape (38400, 24)

I am working with the shallownet architecture for my own implementation. The backend is Theano and I am running keras 2.1.1. So far, I have the complex convolution layers working. I am now trying to get the complex dense layers working as well.  The model is able to be created and the following is the summary. In the future, once this works I will have more layers and then eventually take the real part of the output and make it a one-hot vector.
_________________________________________________________________
Layer (type)                 Output Shape              Param #
=================================================================
input_1 (InputLayer)         (None, 1024, 2)           0
_________________________________________________________________
complex_conv1d_1 (ComplexCon (None, 1024, 32)          224
_________________________________________________________________
average_pooling1d_1 (Average (None, 256, 32)           0
_________________________________________________________________
permute_1 (Permute)          (None, 32, 256)           0
_________________________________________________________________
flatten_1 (Flatten)          (None, 8192)              0
_________________________________________________________________
complex_dense_1 (ComplexDens (None, 48)                196656
=================================================================
Total params: 196,880
Trainable params: 196,880
Non-trainable params: 0
_________________________________________________________________

After the summary is printed out, the following error occurs:
starting training
saving model to ./weights/training_data_chunk_1_snrs_10.0_2018-07-06_18.34.17.wts.h5
cnn_complex.py:190: UserWarning: The `nb_epoch` argument in `fit` has been renamed `epochs`.
  outs = ComplexDense(24, activation='sigmoid',bias_initializer=Constant(value=-5))(outs)
Traceback (most recent call last):
  File "cnn_complex.py", line 190, in <module>
    outs = ComplexDense(24, activation='sigmoid',bias_initializer=Constant(value=-5))(outs)
  File "/usr/local/lib/python2.7/dist-packages/keras/engine/training.py", line 1574, in fit
    batch_size=batch_size)
  File "/usr/local/lib/python2.7/dist-packages/keras/engine/training.py", line 1411, in _standardize_user_data
    exception_prefix='target')
  File "/usr/local/lib/python2.7/dist-packages/keras/engine/training.py", line 153, in _standardize_input_data
    str(array.shape))
ValueError: Error when checking target: expected complex_dense_1 to have shape (None, 48) but got array with shape (38400, 24)

The shape (38400, 24) is the shape of the label, i.e. 38400 is the size of the training set and 24 is the number of classes.

can you give me your email-address？


Add default command

Add a default command that displays help. Fixes #8.
@bpostlethwaite Please review.
root@dokku:~# dokku acl
Usage: dokku acl[:COMMAND]

Commands:
  acl:add <app> <user>      Allow user to push to this repository
  acl:list <app>            Show list of users with access to repository
  acl:remove <app> <user>   Revoke users access to the repository

:dancer:

What does the output look like when you do:
dokku help
dokku acl
dokku acl:help

Does it show up correctly?

@josegonzalez dokku acl and dokku acl:help are identical and look good to me. Please let me know if you want any changes:
root@dokku:~# dokku acl
Usage: dokku acl[:COMMAND]

Manage app-level Access Control Lists.

Additional commands:
  acl:add <app> <user>      Allow user to push to this repository
  acl:list <app>            Show list of users with access to repository
  acl:remove <app> <user>   Revoke users access to the repository
root@dokku:~# dokku acl:help
Usage: dokku acl[:COMMAND]

Manage app-level Access Control Lists.

Additional commands:
  acl:add <app> <user>      Allow user to push to this repository
  acl:list <app>            Show list of users with access to repository
  acl:remove <app> <user>   Revoke users access to the repository

dokku help gives:
root@dokku:~# dokku help
Usage: dokku [--quiet|--trace|--rm-container|--rm|--force] COMMAND <app> [command-specific-options]

Primary help options, type "dokku COMMAND:help" for more details, or dokku help --all to see all commands.

Commands:

    apps       Manage Dokku apps
    certs      Manage Dokku apps SSL (TLS) certs
    checks     Manage zero-downtime settings
    config     Display all global or app-specific config vars
    domains    Manage vhost domains used by the Dokku proxy
    enter      Connect to a specific app container
    events     Show the last events (-t follows)
    help       Print the list of commands
    logs       Show the last logs for an application
    ls         Pretty listing of deployed applications and containers
    nginx      Interact with Dokku's Nginx proxy
    proxy      Manage the proxy used by dokku on a per app
    ps         List processes running in app container(s)
    run        Run a command in the environment of an application
    shell      Spawn dokku shell
    ssh-keys   Manage public ssh keys that are allowed to connect to Dokku
    storage    Mount local volume / directories inside containers
    tags       List all app image tags
    tar        Deploy applications via tarball instead of git
    trace      Enable dokku tracing
    url        Show the first URL for an application (compatibility)
    urls       Show all URLs for an application
    version    Print dokku's version

Community plugin commands:

    acl   Plugin for adding the ability to restrict push privileges for app to certain users

Should the description for the acl command be aligned with the other descriptions? Should it end at column 80 for users with narrower terminals? That message in particular is unchanged in this PR, but I'm happy to bring it up to modern standards as long as I know what they are 😸.

This is fine. What about dokku help --all?

Latest versions:
dokku acl:help and dokku acl:
Usage: dokku acl[:COMMAND]

Manage app-level Access Control Lists.

Additional commands:
  acl:add <app> <user>      Allow <user> to push to <app>'s repository
  acl:list <app>            Show list of users with access to <app>'s repository
  acl:remove <app> <user>   Revoke <user>'s access to <app>'s repository

Our part of dokku help:
Community plugin commands:

    acl   Plugin to manage app-level Access Control Lists

Our part of dokku help --all:
Community plugin commands:

  acl:add <app> <user>      Allow <user> to push to <app>'s repository
  acl:list <app>            Show list of users with access to <app>'s repository
  acl:remove <app> <user>   Revoke <user>'s access to <app>'s repository


[extractor/rbgtum] fix m3u8 regex, add new hostname

IMPORTANT: PRs without the template will be CLOSED
Description of your pull request and other information

This pr contains:

adjust some regex to capture the jwt after m3u8 url
add support for new hostname tum.live

Template

Before submitting a pull request make sure you have:

[x] At least skimmed through contributing guidelines including yt-dlp coding conventions
[x] Searched the bugtracker for similar pull requests
[x] Checked the code with flake8 and ran relevant tests

In order to be accepted and merged into yt-dlp each piece of code must be in public domain or released under Unlicense. Check all of the following options that apply:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[x] Fix or improvement to an extractor (Make sure to add/update tests)
[ ] New extractor (Piracy websites will not be accepted)
[ ] Core bug fix/improvement
[ ] New feature (It is strongly recommended to open an issue first)

Copilot Summary

🤖 Generated by Copilot at 05a2890
Summary
🆕🛠🧹

Improved and fixed RbgTumIE and RbgTumCourseIE extractors to handle new domain and URL formats. Added tests and refactored code for clarity and robustness.

Oh we are the coders of the tum.live domain
We extract the videos with skill and with brain
We fix the URLs and we test every case
We heave away and haul away and keep up with the pace

Walkthrough

Update the RbgTumIE and RbgTumCourseIE extractors to support the new domain tum.live as an alternative to live.rbg.tum.de (link, link)
Fix the extraction of some videos that have a query string in their m3u8 URL by including the optional query string in the _html_search_regex call for the m3u8 variable in the RbgTumIE extractor (link)
Use the hostname variable from the _match_valid_url call instead of hardcoding the live.rbg.tum.de domain in the RbgTumCourseIE extractor, to make it more flexible and consistent with the RbgTumIE extractor (link, link)
Add test cases to the RbgTumIE and RbgTumCourseIE extractors to check the extraction of videos and courses from the new domain tum.live (link, link)

1. 213

I can see a few issues in the IE unrelated to your PR. I'll refrain from suggesting changes for them unless you are interested in looking at them.

I am happy to take a look

Ok, it seems like there was a big change to the website layout yesterday, I have to adopt it now.
how coincident :D

The new ui should be working, a new json extractor added, with the old html parser as backup