Get-EntraUser makes unnecessary call with UPN value is passed to ObjectId parameter

Thanks for reporting the bug. Please ensure you've gone through the following checklist before opening an issue:

Make sure you can reproduce this issue using the latest released version of Microsoft.Graph.Entra or Microsoft.Graph.Entra.Beta.
Please search the existing issues to see if there has been a similar issue filed.

Describe the bug
Per Graph docs, it is perfectly legal to GET a user by UPN. However, when Get-EntraUser is called with UPN value, the module makes a unnecessary call to first get the User's Id value. Then it uses the Id value in the final call to Graph /users/
This entire if statement block should be omitted -- https://github.com/microsoftgraph/entra-powershell/blob/5b5b3914f259665cad8a0357283d5b50de8b763a/module/Entra/customizations/Get-EntraUser.ps1#L45-L59
To Reproduce
Steps to reproduce the behavior:
Get-EntraUser -ObjectId<EMAIL_ADDRESS>Expected behavior
When UPN is provided, Get-EntraUser should make the API call using the UPN value, and not waste an API call for the sole purpose of getting the user's Id value. Get-MgUser and Get-AzureADUser both allow UPN input without making an extra API call.
Debug Output

Run the problematic command with -Debug and paste the resulting debug stream below.
⚠ ATTENTION: Be sure to remove any sensitive information that may be in the logs.

Module Version

Please run Get-Module Microsoft.Graph.Entra* after cmdlet execution and paste the output below.
If a module cannot be installed or imported, please run Get-Module -ListAvailable and paste the output.

Environment Data

Please run $PSVersionTable and paste the output below. If running the Docker container image, indicate the tag of the image used and the version of Docker engine.

Screenshots

If applicable, add screenshots to help explain your problem.

Additional context

Add any other context about the problem here.

@ZachEdwards7  Thanks for raising the issue, We are looking into it.


accsr cannot be installed with poetry due to current dependencies

Due to its dependence on pyyaml, this package is currently not installbale with poetry. The error is caused by current versions on pyyaml as documented here.

will be resolved by #16

Was resolved


Handle onClick event on timegraph row

Feature was working with earlier versions of PIXI.
Current PIXI is not able to handle events for the elements with opacity 0.
Changed the Opacity as a workaround fix.
Fixes https://github.com/theia-ide/timeline-chart/issues/52
This PR is dependent on https://github.com/theia-ide/timeline-chart/pull/57
Signed-off-by: muddana-satish<EMAIL_ADDRESS>

This may not be the right fix. This should be handled by PIXI even for the elements with opacity 0. But as a work around I changed the opacity to 0.01.
This is how it works after the changes:

Visually the chart looks the same.Attaching the screenshots for comparison.
Current Version:
(without selecting row)

(selecting row)

After changing Opacity to 0.01:
(without selecting row)

(selecting row)

Changed Opacity to 0.001 which is almost same as 0. Thanks @MatthewKhouzam for the suggestion.

My main objection here is that we even need this patch. The day the default opacity is changed again in timeline-chart, it will have to be updated again... I'd expect the default value to come from the library and not have to specify it here, no? Like specify it only if/because the values from the library are not to our liking.

I agree with the idea of setting all the default behaviors within the timeline-chart library. I believe this should be extended to other elements like states, labels, arrows, lines etc. Thank you for the suggestion.
The theia-ide/timeline-chart#57 is already merged and to set the default behaviors I have to make changes in timeline-chart repo. So is it okay if I open a new issue on that or do you want me to work as part of this issue?

I agree with the idea of setting all the default behaviors within the timeline-chart library. I believe this should be extended to other elements like states, labels, arrows, lines etc. Thank you for the suggestion.
The theia-ide/timeline-chart#57 is already merged and to set the default behaviors I have to make changes in timeline-chart repo. So is it okay if I open a new issue on that or do you want me to work as part of this issue?

Does using the defaults from the timeline-chart involve changes to the timeline-chart repo, or just this one? What happens if you simply don't set the backgroundOpacity? Will it fallback to the timeline-chart's?

I agree with the idea of setting all the default behaviors within the timeline-chart library. I believe this should be extended to other elements like states, labels, arrows, lines etc. Thank you for the suggestion.
The theia-ide/timeline-chart#57 is already merged and to set the default behaviors I have to make changes in timeline-chart repo. So is it okay if I open a new issue on that or do you want me to work as part of this issue?

Does using the defaults from the timeline-chart involve changes to the timeline-chart repo, or just this one? What happens if you simply don't set the backgroundOpacity? Will it fallback to the timeline-chart's?

With the current code base of timeline-chart, if we don't set any backgroundOpacity, then the library sets the default value to 1 which is incorrect because 'opacity: 1' would hide the lines inside the row. Attached screenshots of example app.

We should handle the default behaviors correctly. So it would require some changes to timeline-chart.

We should handle the default behaviors correctly. So it would require some changes to timeline-chart.

Ok, I think the best would be to handle it in timeline-chart and then fix it here so we don't need the same hack. @MatthewKhouzam  any other opinion for this?

I agree with @tahini  and @muddana-satish

We should handle the default behaviors correctly. So it would require some changes to timeline-chart.

but if we're going with the hack, then this is one I can live with. :+1:

Thanks for the feedback.
I will work on setting all the default behaviors within the timeline-chart library. Since I have to make sure that I don't set any default behavior explicitly in theia-trace-extension, I would need to make changes in this repo as well. Hence keeping this PR open.

No longer needed since https://github.com/theia-ide/timeline-chart/pull/70 is merged.


Use a separate project config file, instead of misc.xml

It kinda pisses me off when it changes versioned misc.xml in a project which does not use this plugin,
Opinions?

I would really like this.

This should make things better, try it if you want: https://github.com/krasa/EclipseCodeFormatter/releases/download/<IP_ADDRESS>7.0/EclipseFormatter.zip


[Jupyter] RHOAIENG-7490 update test tags - remove many from Sanity

This change is to reduce the execution time of the Sanity tests. Removing many tests from Sanity and keeping it only in Smoke or Tier1.

https://issues.redhat.com/browse/RHOAIENG-7490

could you list the test cases which remain in Sanity?

Right now it's basically tests in these files:
minimal-cuda-test.robot
multiple-gpus.robot
notebook_size_verification.robot
plugin-verification.robot
test-jupyterlab-notebook.robot
test-minimal-image.robot
test-pipChanges-not-permanent.robot
test-s3-cc-fraud.robot

Looking on this, we may want to reduce it also by cuda and gpu tests that may also take quite a long time to run. I didn't bump into that because the example execution run didn't run on the GPU :slightly_smiling_face:
We can do it in a separate followup PR though.
TBH - 15mins execution time is very tight... personally I would like to implement more non-UI tests to run and check the overall state of the component so that we can test more things in this timeframe...

could you list the test cases which remain in Sanity?

Right now it's basically tests in these files:
minimal-cuda-test.robot
multiple-gpus.robot
notebook_size_verification.robot
plugin-verification.robot
test-jupyterlab-notebook.robot
test-minimal-image.robot
test-pipChanges-not-permanent.robot
test-s3-cc-fraud.robot

Looking on this, we may want to reduce it also by cuda and gpu tests that may also take quite a long time to run. I didn't bump into that because the example execution run didn't run on the GPU 🙂
We can do it in a separate followup PR though.
TBH - 15mins execution time is very tight... personally I would like to implement more non-UI tests to run and check the overall state of the component so that we can test more things in this timeframe...

I'd agree with having some additional non-UI tests


B2

/test-all

Sorry, I had opened this PR accidentally.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.04%) to 25.243%

Files with Coverage Reduction
New Missed Lines
%

controllers/sriovnetwork_controller.go
2
69.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.04%

Covered Lines:
1893

Relevant Lines:
7499

💛  - Coveralls


Question about whitespaces

Is there a way to match against tab or newline characters?
Thanks for the great tool!

Hello! The tab characters are replaced by 4 spaces during preprocessing so I'm afraid it's not possible to search for them... which usecase did you have in mind? (you can however search \t for code that uses this escape notation in chars/strings https://sherlocode.com/?q=\t )
For newlines, there is some secret syntax:

\^ to match the beginning of the line ( https://sherlocode.com/?q=\^let )
\$ to match the end of the line ( https://sherlocode.com/?q=in\%24 )

You may also enjoy the undocumented syntax \b for "word boundary" : let's say you are searching for the keyword in, but the matches contain wrong stuff like begin or inside... You could try adding spaces around in, but then it wouldn't find )in or  in\n. This is where the \b word boundary is useful : it doesn't match a character, but checks that a word starts/ends at this location, so searching \bin\b would only find real appearance of the word "in" https://sherlocode.com/?q=\bin\b

Hi, sorry for the late response.
The use case for matching whitespaces, including newline characters, was for searching patterns that span multiple lines of code. It doesn't seem possible to match patterns using pattern1\$\^pattern2, to match a line ending with pattern1 and starts with pattern2 at the line that follows.
Nonetheless, the word boundary matching \b pattern you mentioned seems to be very useful!

Ha right, sorry no it's not currently possible to match on multiple lines (but it would be nice indeed :) )


allow for a squeeze in broadcast

When this is finished it should fix #1062
let me know what you think.

assign [[x]] to [x] or x...


BitCode support

Hey,
while most of the MP framework is open source, there is a part that links to a static .a (libMixpanelHelper.a I believe).
This library is built without bitcode support, which will make integration with watchOS 2 apps a significant headache: watchOS 2 makes bitcode mandatory, so at the moment, it's not possible to use mix panel in a watch app.
Through the magic of shared libraries, this can be transitively applied to the companion app.
In other words, a bitcode build of this library (or even better, the source code for it) is kind of required by september if mix panel customers want to ship watch apps. Is this something that's one the roadmap?

+1
I am having the same issue for iOS 8.(3/4) devices on Xcode7.

+1 Same here

This will be resolved with #288.

This should be resolved now if you want to do a pod install.

@samgreen thank you. I will try to check it this weekend.

@samgreen pod install is still pointing to version 2.8.1.

@kamoljan Have you locked the version in your Podfile? I'm showing 2.8.2 when I run pod install in a new project.

@kamoljan try pod update instead, this will ignore Podfile.lock. See here for further discussion: https://github.com/CocoaPods/CocoaPods/issues/760#issuecomment-46300500


Add fromJson argument

Right now, if you want to convert your validated data into a Dart object, you have to do the conversion manually, or through a package like json_serializable. Take the following code:
class AuthDto {
  final String email;
  final String password;

  const AuthDto({required this.email, required this.password});

  factory AuthDto.fromJson(Map<String, dynamic> json) {
    return AuthDto(email: json['email'] as String, password: json['password'] as String);
  }
}

final v = l.schema({'email': l.string().email().required(), 'password': l.string().min(8).required()});
final rawJson = {'email'<EMAIL_ADDRESS>'password': 'password'};
final result = v.validateSchema(rawJson);

switch (result) {
  case SchemaValidationSuccess(data: final validatedJson):
    final dto = AuthDto.fromJson(validatedJson);
    // Do something with the dto
  case SchemaValidationError(data: _, errors: final errors):
    // Do something with the errors
}

Here we have to manually call fromJson rather than SchemaValidationSuccess giving us the dto in the first place. This proposal would add a fromJson argument to validateSchema and validateSchemaWithFieldName so we can do this:
final v = l.schema({'email': l.string().email().required(), 'password': l.string().min(8).required()});
final rawJson = {'email'<EMAIL_ADDRESS>'password': 'password'};
final result = v.validateSchema(rawJson, fromJson: AuthDto.fromJson);

switch (result) {
  case SchemaValidationSuccess(data: final dto):
    // Do something with the dto. dto is of type `AuthDto`
  case SchemaValidationError(data: _, errors: final errors):
    // Do something with the errors
}

Motivation
Currently, using luthor_generator, we have to manually convert the dto. But ideally, luthor_generator can do this for us using this technique. We don't need to add functionality to luthor but we can rely on code generation to generate this behavior for us instead of adding this argument, but I think this could be useful for those who don't want to use code generation, and just want to use the base package instead.

Released in 0.2.0


Ability to edit and change Master Slide?

Hi there,
Thank you so much for this library. I'm having a use case where:

There are multiple Master Slides in my PPTX and I want to move all my slides into only One Master Slide and remove the other Master Slides.
I want to change the Theme Color of my PPTX programmatically. Since the first use-case makes all the Master Slide into one, thus only need to change the theme color for the one Master Slide it has.

I hope the use case is understandable. (If not, do let me know). Can ShapeCrawler help me achieve this?
And if not, can I know if this use-case is achievable programmatically or not.
Thank you :)

Hello. Thank you for feedback😊
Your requirements are clear, and, yes, that can be achieved programmatically. Unfortunately, ShapeCrawler does have yet so rich APIs for manipulating Slide Master (Master) and Slide Layout (Layout) slides. Currently, the most ShapeCrawler's APIs support reading of properties of that presentation layers.
As you might know, you should deep manipulate not only Master, but also Layout. It is being far more complicated if you are not going to just prepare template for future presentations, you edit existing production presentation with real user slides (Slide). In this case, for example, before moving Master shape to a new place, you should check whether it referenced (placeholders) by Layout or Slide. All such references should be re-mapped.

Hi @adamshakhabov,
Thank you so much for your detailed reply.
I've somehow more/less managed to achieve what I wanted to do. My process:

I've created a Base pptx file with all the Slide Layouts for the slides needed with the theme color.
Used https://github.com/EricWhiteDev/Open-Xml-PowerTools to merge multiple pptx with the Base pptx's Master Slide.

As result, I've got a PowerPoint file with only 1 Master Slide with the corrected merged slides. However, there is only 1 issue left. There are many unused/unlinked Slide Layouts in the pptx file.
Is there any way you might know how to remove unused/unlinked Slide Layouts? This is to reduce the size of the pptx file.
Thank you so much once again! 🤗

No problem!
Here is a code sample where I try to delete all layouts except one used by the first slide. Similar should be for you:
var presentation =<EMAIL_ADDRESS>true);
var usedSlidePart = presentation.PresentationPart.SlideParts.First();
var usedSlideMaster = usedSlidePart.SlideLayoutPart.SlideMasterPart;

foreach (var layoutPart in usedSlideMaster.SlideLayoutParts.ToList())
{
    if (usedSlidePart.SlideLayoutPart != layoutPart)
    {
        usedSlideMaster.DeletePart(layoutPart);
    }
}

var sldLayoutIdList = usedSlideMaster.SlideMaster.SlideLayoutIdList;
// Remove references unused Layouts from sldLayoutIdList
// ...

presentation.Close();

The code is not completed. We also should delete some links from Slide Master (layoutIdList):

Later I will try to finish this sample and will update code...

Hi @adamshakhabov ,
Thank you so much for the help! I'll try using the code you mentioned above to clear all the unlinked layouts. 🤗

Done:
using var presentation =<EMAIL_ADDRESS>true);
var usedSlidePart = presentation.PresentationPart!.SlideParts.First();
var usedSlideMaster = usedSlidePart.SlideLayoutPart!.SlideMasterPart;
var layoutIdList = usedSlideMaster!.SlideMaster!.SlideLayoutIdList!.OfType<SlideLayoutId>();

foreach (var layoutPart in usedSlideMaster.SlideLayoutParts)
{
    if (usedSlidePart.SlideLayoutPart == layoutPart)
    {
        continue;
    }

    var removingRelIdValue = usedSlideMaster.GetIdOfPart(layoutPart);
    var removingLayoutId = layoutIdList.First(layoutId => layoutId.RelationshipId == removingRelIdValue);
    removingLayoutId.Remove();
    usedSlideMaster.DeletePart(layoutPart);
}

Hi @adamshakhabov,
Just to give you an update. I managed to achieve what I wanted by referencing your code on top and learning extensively on the OpenXML library by Microsoft. Thanks a lot, man! Much appreciated 🤗


SDXL Perf tracker for ROCM

Pip version used for fetching Tracy profiles :
iree-compiler             20231106.574
iree-runtime              20231106.574

I captured an end-to-end Tracy profile along with Unet for ROCM gfx90a.

End-to-end tracy - this entails [Clip + Clip2] -> [Unet x 50 iterations] -> [Vae]
Unet tracy - this entails [Unet x 10 iterations]

I will start off with optimising Unet. Currently on gfx90a it takes 6.8 seconds/iteration.
I have uploaded the dispatches here and following is the screenshot of 10 Unet iterations from iree-tracy-profiler (I'm not sure how to fix the resolution/font size of the window I receive from iree-tracy-profiler) :-

I tried looking into the main compute region of dispatch_3011 and this is what it looks like :-
%7 = tensor.empty() : tensor<2x640x16384xf16>
%8 = linalg.fill ins(%cst : f16) outs(%7 : tensor<2x640x16384xf16>) -> tensor<2x640x16384xf16>
%9 = linalg.generic {indexing_maps = [affine_map<(d0, d1, d2, d3) -> (d1, d3)>,
                                      affine_map<(d0, d1, d2, d3) -> (d0, d3, d2)>,
                                      affine_map<(d0, d1, d2, d3) -> (d0, d1, d2)>],
                     iterator_types = ["parallel", "parallel", "parallel", "reduction"]}
          ins(%4, %5 : tensor<640x5760xf16>, tensor<2x5760x16384xf16>)
          outs(%8 : tensor<2x640x16384xf16>) {
      ^bb0(%in: f16, %in_0: f16, %out: f16):
        %11 = arith.mulf %in, %in_0 : f16
        %12 = arith.addf %11, %out : f16
        linalg.yield %12 : f16
      } -> tensor<2x640x16384xf16>
%10 = linalg.generic {indexing_maps = [affine_map<(d0, d1, d2) -> (d0, d1, d2)>,
                                       affine_map<(d0, d1, d2) -> (d1)>,
                                       affine_map<(d0, d1, d2) -> (d0, d1, d2)>],
                      iterator_types = ["parallel", "parallel", "parallel"]}
          ins(%9, %6 : tensor<2x640x16384xf16>, tensor<640xf16>)
          outs(%7 : tensor<2x640x16384xf16>) {
      ^bb0(%in: f16, %in_0: f16, %out: f16):
        %11 = arith.addf %in, %in_0 : f16
        linalg.yield %11 : f16
      } -> tensor<2x640x16384xf16>
return %10

CC: @antiagainst @qedawkins

So, I created two individual IRs :-

The dispatch 3011's compute IR (iree-benchmark-module yields 145 ms):

func.func @dispatch_3011(%4: tensor<640x5760xf16>, %5: tensor<2x5760x16384xf16>, %6: tensor<640xf16>) -> tensor<2x640x16384xf16> {
  %cst = arith.constant 0.0 : f16
  %7 = tensor.empty() : tensor<2x640x16384xf16>
  %8 = linalg.fill ins(%cst : f16) outs(%7 : tensor<2x640x16384xf16>) -> tensor<2x640x16384xf16>
  %9 = linalg.generic {indexing_maps = [affine_map<(d0, d1, d2, d3) -> (d1, d3)>,
                                        affine_map<(d0, d1, d2, d3) -> (d0, d3, d2)>,
                                        affine_map<(d0, d1, d2, d3) -> (d0, d1, d2)>],
                      iterator_types = ["parallel", "parallel", "parallel", "reduction"]}
            ins(%4, %5 : tensor<640x5760xf16>, tensor<2x5760x16384xf16>)
            outs(%8 : tensor<2x640x16384xf16>) {
        ^bb0(%in: f16, %in_0: f16, %out: f16):
          %11 = arith.mulf %in, %in_0 : f16
          %12 = arith.addf %11, %out : f16
          linalg.yield %12 : f16
        } -> tensor<2x640x16384xf16>
  %10 = linalg.generic {indexing_maps = [affine_map<(d0, d1, d2) -> (d0, d1, d2)>,
                                        affine_map<(d0, d1, d2) -> (d1)>,
                                        affine_map<(d0, d1, d2) -> (d0, d1, d2)>],
                        iterator_types = ["parallel", "parallel", "parallel"]}
            ins(%9, %6 : tensor<2x640x16384xf16>, tensor<640xf16>)
            outs(%7 : tensor<2x640x16384xf16>) {
        ^bb0(%in: f16, %in_0: f16, %out: f16):
          %11 = arith.addf %in, %in_0 : f16
          linalg.yield %11 : f16
        } -> tensor<2x640x16384xf16>
  return %10 : tensor<2x640x16384xf16>
}

Since the first linalg.generic looks like a batch matmul except that the first tensor doesn't have a batch dimension, just to experiment I created an analogous IR with linalg.batch_matmul (iree-benchmark-module yields 424 ms) :

func.func @ideal(%0: tensor<2x640x5760xf16>, %1: tensor<2x5760x16384xf16>, %6: tensor<640xf16>) -> tensor<2x640x16384xf16> {
  %cst = arith.constant 0.0 : f16
  %7 = tensor.empty() : tensor<2x640x16384xf16>
  %8 = linalg.fill ins(%cst : f16) outs(%7 : tensor<2x640x16384xf16>) -> tensor<2x640x16384xf16>

  %3 = linalg.batch_matmul ins(%0, %1 : tensor<2x640x5760xf16>, tensor<2x5760x16384xf16>)
      outs(%8 : tensor<2x640x16384xf16>) -> tensor<2x640x16384xf16>

  %10 = linalg.generic {indexing_maps = [affine_map<(d0, d1, d2) -> (d0, d1, d2)>,
                                        affine_map<(d0, d1, d2) -> (d1)>,
                                        affine_map<(d0, d1, d2) -> (d0, d1, d2)>],
                        iterator_types = ["parallel", "parallel", "parallel"]}
            ins(%3, %6 : tensor<2x640x16384xf16>, tensor<640xf16>)
            outs(%7 : tensor<2x640x16384xf16>) {
        ^bb0(%in: f16, %in_0: f16, %out: f16):
          %11 = arith.addf %in, %in_0 : f16
          linalg.yield %11 : f16
        } -> tensor<2x640x16384xf16>
  return %3 : tensor<2x640x16384xf16>
}

Hey @Abhishek-Varma could you also paste the links for the full model mlir and their weigth elided version? Also commands you used to compile them.

The top time-consuming kernels in the Unet command buffer is actually all transposed matmul:

They are going down the normal SIMT pipeline at the moment; instead they should go down tensor/matrix core pipeline.

The top time-consuming kernels in the Unet command buffer is actually all transposed matmul:
They are going down the normal SIMT pipeline at the moment; instead they should go down tensor/matrix core pipeline.

This is in progress, trying to get WMMA support on ROCm. For now I don't think there's much we can do directly on that front. My thinking is that in the above, we're still using --iree-global-optimization-convert-conv2d-to-img2col. We should first do some work to phase out that flag and investigate whether we need to transpose the NCHW convolutions in the model, or if we should just codegen them directly.

Hi @antiagainst @qedawkins
Following would be my update/observation (most of which is already known to you guys) :-
Regarding MatmulTensorCore :-

I tried looking into why SIMT is being chosen - translation_info = #iree_codegen.translation_info<LLVMGPUMatmulSimt> is being set at LLVMGPUSelectLoweringStrategy.
getRocmTargetInfo sets hasTF32TensorCore parameter of translateInfo as False.
And because of that within supportsTensorCore function - due to targetInfo.hasTF32TensorCore==False it exits and doesn't get to apply MatmulTensorCore* pipeline.
I tried setting targetInfo.hasTF32TensorCore=True to see what happens and it cascadingly leads to lowering errors (haven't looked into it though).

Regarding --iree-global-optimization-convert-conv2d-to-img2col :

I made a short script to print Unet's output for a single iteration since iree-run/benchmark-module for ROCM doesn't seem to run (filed the issue here - refer Section A.1).
Ran that for both set of vmfbs (one with the flag present, and the other without it) - albeit there was no compilation error (unlike the previous case) the output don't seem to match and perhaps we really require the flag to be present?

Hey @Abhishek-Varma could you also paste the links for the full model mlir and their weigth elided version? Also commands you used to compile them.

Hi @antiagainst
Here are the IRs :-

Unet full model
Unet elided


Proposal : TVFocusGuideView for Android

Currently, it's very difficult to direct Focus between Viewgroups of Touchables
ForExample

In the below image it's very difficult to direct focus from any items in cluster 2 to the previously focused item in cluster 1 to achieve this currently we have to set nextFocusUp props for all the children in cluster 2 to cluster 1 last focused item id.

In the below example from all the horizontal list items we should open a previously selected menu, which is the second item. For this, we have to set all the first items of lists nextFocusLeft to the 2nd menu item id

Also, one more problem is we have to pass node id between components to achieve this via props which make components reusability an issue
Solution
If we have WrapperView like TVFocusFocusGuide which gets focus first for a cluster and then based on requirement we can pass the focus to any of its children's.
We have  android:descendantFocusability  and onRequestFocusInDescendants view group props which will let us achieve this behavior.
We can have a component that wraps touchable and controls the focus setup and movement between view groups.

This is a great idea, I wonder if we can extend TVFocusGuideView to have this behavior on Android.....

We can do like below

Set the FocusGuideView to get the focus in the child View prior to it

setDescendantFocusability(ViewGroup.FOCUS_BEFORE_DESCENDANTS);
this.setFocusable(true);

Record the focused view in the requestChildFocus method

@Override
public void requestChildFocus(View child, View focused) {
       super.requestChildFocus(child, focused);
    if (null != child) {
        mLastFocusViewID = child.getId()
    }
}

When FocusGuideView is about to get focus, actively set the last focused View to get focus

@Override
public boolean requestFocus(int direction, Rect previouslyFocusedRect) {
      View lastFocusedView = getLayoutManager().findViewById(mLastFocusViewID);
      if(lastFocusedView != null) {
             lastFocusedView.requestFocus();
             return false;
     }
}

We can have props to enable  and disable this behavior and pass nodeId to override lastfocused  id

here's another interesting approach from ink, the React renderer for CLIs.

@TrebuhD that API looks VERY interesting indeed, thank you for letting me know.

react-spatial-navigation

@douglowder Is this still being considered? I believe it still is a challenge to navigate through swimlanes

@freemanchari I would consider adapting some of the APIs in https://github.com/NoriginMedia/Norigin-Spatial-Navigation, although they would necessarily work a little differently in RN.
As I don't have a lot of bandwidth at the moment, maybe @prakashjais99 or other Android developers could work on the TVFocusGuide implementation for Android TV first, and then we can see if the hook-based spatial navigation could be adapted for RN.

Hello we needed this for our project so we worked the attached PR.
It works afaics, as this is my first PR for this project, do not hesitate to let me know how I can improve it if needed.

This feature is now merged and released, so closing this issue. :)


fix: change chart title by clicking

SUMMARY

this pr fixed admins were not able to edit chart title owned by other users on explore

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

After:
https://www.loom.com/share/0daf089f48fd43ebabf9825af67b6855
TEST PLAN

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

Codecov Report

Merging #11335 into master will increase coverage by 0.03%.
The diff coverage is 70.70%.

@@            Coverage Diff             @@
##           master   #11335      +/-   ##
==========================================
+ Coverage   61.56%   61.60%   +0.03%
==========================================
  Files         835      838       +3
  Lines       39653    39900     +247
  Branches     3604     3662      +58
==========================================
+ Hits        24414    24579     +165
- Misses      15058    15140      +82
  Partials      181      181

Flag
Coverage Δ

#javascript
62.67% <68.57%> (-0.01%)
:arrow_down:

#python
60.95% <87.23%> (+0.04%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...set-frontend/src/SqlLab/components/QuerySearch.jsx
57.79% <0.00%> (-0.54%)
:arrow_down:

...erset-frontend/src/SqlLab/components/ResultSet.tsx
76.11% <ø> (ø)

...rontend/src/SqlLab/components/ShareSqlLabQuery.jsx
93.54% <ø> (ø)

...erset-frontend/src/SqlLab/components/SouthPane.jsx
81.81% <ø> (ø)

...rontend/src/SqlLab/components/SqlEditorLeftBar.jsx
41.66% <ø> (+1.66%)
:arrow_up:

...-frontend/src/common/components/common.stories.tsx
0.00% <0.00%> (ø)

...ntend/src/components/FacePile/FacePile.stories.tsx
0.00% <0.00%> (ø)

...set-frontend/src/components/URLShortLinkButton.jsx
88.23% <ø> (ø)

.../src/dashboard/components/BuilderComponentPane.jsx
33.33% <ø> (ø)

...et-frontend/src/dashboard/components/SaveModal.jsx
40.90% <ø> (ø)

... and 62 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 55c2892...71b2955. Read the comment docs.


Fix regression in ability to input mnemonic with only few letters caused by language detection method (words in set)

It would require being able to detect the language with word prefix letters, rather than whole words. Should be easy

Related to encode and decode functions? I didn't find any code related to language detection in the codebase so I guess you mean instead of giving the wordset_name you want to have a function to detect the language, am I right?

@p0o, No, this issue pertains to a regression caused by the addition of language detection (see monero_wallet_utils.js/WordsetNameAccordingToMnemonicString). It needed to do a prefix check instead of a naive "member is in set" (i.e. string equality) check.


how to use slider box?

I din't find any commponet for image  auto slider?

You can use https://github.com/akiran/react-slick

Your use case is not clear but you can have a look at https://github.com/oliviertassinari/react-swipeable-views, It may help.

thanks every one


Capture 'sort' array from each search result Hit

When sorting a search query using a distance query (official docs) the results contain additional information giving the distance for each Hit to a given point destination.
This change captures that information.

FYI, the master branch has failing tests.  As best I can tell, I didn't break anything that's not already failing in the build.

We had 1 or 2 sporadically failing integration tests but they are not the ones causing the build faliure here; check out the build log, modications on SearchResult.java:102 are to blame.

argh.  OK, I'll take a look

Coverage remained the same at 50.42% when pulling 3bf03ba63c8e306626e5a769abdebb87bbe65f8f on edreyer:capture-sort into e959f0f37943e21b2c407df547f17688f208cb50 on searchbox-io:master.

Coverage remained the same at 50.42% when pulling 3bf03ba63c8e306626e5a769abdebb87bbe65f8f on edreyer:capture-sort into e959f0f37943e21b2c407df547f17688f208cb50 on searchbox-io:master.


The keyboard hides every time I type on IOS and android [Expo 52.0.7]

Hello, I have a problem in iOS as seen in the video every time I press a number the cell phone keyboard is hidden (is happening too on your demo code)

IOS and android
Expo 52.0.7
"react-native-autocomplete-input": "5.5.2"
"react-native": "0.76.2",

https://github.com/user-attachments/assets/cd57263f-5926-4dc7-ad59-406be4d375af
my component
import { Text } from "native-base";
import React, { useState } from "react";
import { StyleSheet, TextInput } from "react-native";
import Autocomplete from "react-native-autocomplete-input";

 <Autocomplete
      keyboardType={props.searchBy == "code" ? "numeric" : undefined}
      data={hideResults ? [] : props.data}
      value={props.value}
      onChangeText={(text) => {
        search(text);
        setHideResults(false);
      }}
      renderTextInput={(inputProps) => (
        <TextInput
          {...inputProps}
          placeholder={props.searchBy.toUpperCase()}
          placeholderTextColor="#999"
          style={styles.input}
        />
      )}
      flatListProps={{
        style: {
          width: "100%",
          margin: 0,
          maxHeight: 200,
        },
        keyboardShouldPersistTaps: "always", //? This is used when the parent have an Scroll View */
        renderItem: ({ item }: { item: any }) => (
          <Text
            style={styles.itemText}
            onPress={() => {
              handleSelect(item);
              changeHideResults(true);
            }}
          >
            <Text style={{ fontWeight: "bold" }}>Code:</Text> {item.code}{" "}
            <Text style={{ fontWeight: "bold" }}>Client:</Text> {item.client}{" "}
            <Text style={{ fontWeight: "bold" }}>City:</Text> {item.city}
          </Text>
        ),
      }}
    />

Hey @Camiloadh99, I can confirm that this issue is happening with the latest release. Could you try using version 5.4.0 for the time being until a fix is released?

having the same issue, tested with v5.4.0 and did not work

hi @mrlaessig thanks for the reply!
Yes i solved in this moment separating text input and autocomplete for ios and keep the last component for android
 <View>
      <TextInput
        keyboardType={props.searchBy == "code" ? "numeric" : undefined}
        value={props.value}
        onChangeText={(text) => {
          search(text);
          setHideResults(false);
        }}
        placeholder={`${props.searchBy.toUpperCase()}`}
        placeholderTextColor="#999"
        style={styles.input}
      />
      <Autocomplete
        keyboardType={props.searchBy == "code" ? "numeric" : undefined}
        data={hideResults ? [] : props.data}
        value={props.value}
        onChangeText={(text) => {
          search(text);
          setHideResults(false);
        }}
        renderTextInput={() => <View />}
        flatListProps={{
          style: {
            width: "100%",
            margin: 0,
            maxHeight: 200,
          },
          keyboardShouldPersistTaps: "always", //? This is used when the parent have an Scroll View */
          renderItem: ({ item }: { item: any }) => (
            <Text
              style={styles.itemText}
              onPress={() => {
                handleSelect(item);
                changeHideResults(true);
              }}
            >
              <Text style={{ fontWeight: "bold" }}>Code:</Text> {item.code} <Text style={{ fontWeight: "bold" }}>Client:</Text>{" "}
              {item.client} <Text style={{ fontWeight: "bold" }}>City:</Text> {item.city}
            </Text>
          ),
        }}
      />
    </View>

and then when i call the component on ios i put it into  component and for android i put in a view component with "absolute" position
it's like som elements lose their focus inside the autocomplete

Hey @Camiloadh99, I can confirm that this issue is happening with the latest release. Could you try using version 5.4.0 for the time being until a fix is released?

Any information on when is the release for this issue is planned? This is a blocker for my team's app.

The solution provided by Camiloadh99 worked for me, however I've got another issue - on Android it became impossible to handle clicks on the items of the FlatList.
I think the additional input triggers some code which hides the FlatList. Maybe it's something in my code which did it.
Anyway for now I've ended up by re-focusing the custom input rendered inside renderTextInput, maybe it will be helpful for someone:
const inputRef = useRef<TextInput>(null)
...
return (
    ...
    <AutocompleteInput
        ...
        renderTextInput={() => {
            return (
                <TextInput
                    ref={inputRef}
                    onChangeText={text => {
                        ...
                        setTimeout(() => inputRef.current?.focus())
                    }}
                    ...
             />
        }
    />
    ...
)

Holy, spent 2 days trying to figure this out, I should of looked here first, haha. Using 5.4.0 and it's solved it! Thanks.

This issue should be resolved in releases/tag/v5.5.3. Please feel free to reopen if the problem persists.


"Infrastructure Manager" does not point anywhere

Is your feature request related to a problem? Please describe.
In the top menu "Infrastructure Manager" link does not point anywhere, should point to:
https://appsgrycap.i3m.upv.es:31443/im-dashboard/login
Describe the solution you'd like
point to:
https://appsgrycap.i3m.upv.es:31443/im-dashboard/login

This was solved in https://github.com/EOSC-synergy/eosc-perf/commit/5b1852e55e20928e38f51b3459568a1d46cea8fa
The test node was out of date; I do not use it to develop because it is awfully slow, so I do not regularly pull git on it. The button should work now, with the link configurable in the config.yaml.


nice repository😁

This is a very nice repository. Thanks to the author, such a perfect design has taught me a better way to organize vue3 code.

Thanks @Jiunsr - we appreciate the feedback!


feat(useToggle): ignore react events passed to state setter

BREAKING CHANGE: useToggle now ignores react events passed to its
state setter, so it can be used as event handler directly.
Checklist

[x] Have you read contribution guideline?
[x] Does the code have comments in hard-to-understand areas?
[x] Is there an existing issue for this PR?

fix #861

[x] Have the files been linted and formatted?
[x] Have the docs been updated?
[x] Have the tests been added to cover new hook?
[x] Have you run the tests locally to confirm they pass?

:tada: This PR is included in version 15.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[BUG] docker_openai_api.sh 报can't open file 'openai_api.py'

是否已有关于该错误的issue或讨论？ | Is there an existing issue / discussion for this?

[X] 我已经搜索过已有的issues和讨论 | I have searched the existing issues / discussions

该问题是否在FAQ中有解答？ | Is there an existing answer for this in FAQ?

[X] 我已经搜索过FAQ | I have searched FAQ

当前行为 | Current Behavior

** DEPRECATION NOTICE! **

THIS IMAGE IS DEPRECATED and is scheduled for DELETION.
https://gitlab.com/nvidia/container-images/cuda/blob/master/doc/support-policy.md
python: can't open file 'openai_api.py': [Errno 2] No such file or directory
期望行为 | Expected Behavior
能正常启动镜像
复现方法 | Steps To Reproduce
bash docker_openai_api.sh -i qwenllm/qwen:2-cu121 -c ~/Qwen1_5-14B --port 8901
运行环境 | Environment
- OS: CentOS Linux release 7.9.2009 (Core)

备注 | Anything else?
查过镜像内并不存在openai_api.py

你把Qwen和Qwen2搞混了欸。


GoogleScraper with python-anaconda

I use python 2.6 on my system, so to install GoogleScraper I installed python-anaconda ( https://store.continuum.io/cshop/anaconda/ ) which is Python 3.4.3.
Then I installed GoogleScraper using pip. It was installed without problem.
All of dependencies are present as well.
But now, when I try to use GoogleScraper it does not work :
Traceback (most recent call last):
File "~/.conda/envs/my_python_anaconda/bin/GoogleScraper", line 9, in
load_entry_point('GoogleScraper==0.1.37', 'console_scripts', 'GoogleScraper')()
File "~/.conda/envs/my_python_anaconda/lib/python3.4/site-packages/setuptools-12.0.4-py3.4.egg/pkg_resources/init.py", line 519, in load_entry_point
File "~/.conda/envs/my_python_anaconda/lib/python3.4/site-packages/setuptools-12.0.4-py3.4.egg/pkg_resources/init.py", line 2630, in load_entry_point
File "~/.conda/envs/my_python_anaconda/lib/python3.4/site-packages/setuptools-12.0.4-py3.4.egg/pkg_resources/init.py", line 2310, in load
File "~/.conda/envs/my_python_anaconda/lib/python3.4/site-packages/setuptools-12.0.4-py3.4.egg/pkg_resources/init.py", line 2316, in resolve
File "~/.conda/envs/my_python_anaconda/lib/python3.4/site-packages/GoogleScraper/init.py", line 20, in
from GoogleScraper.core import scrape_with_config
File "~/.conda/envs/my_python_anaconda/lib/python3.4/site-packages/GoogleScraper/core.py", line 13, in
from GoogleScraper.caching import fix_broken_cache_names, _caching_is_one_to_one, parse_all_cached_files,
File "~/.conda/envs/my_python_anaconda/lib/python3.4/site-packages/GoogleScraper/caching.py", line 16, in
from GoogleScraper.output_converter import store_serp_result
File "~/.conda/envs/my_python_anaconda/lib/python3.4/site-packages/GoogleScraper/output_converter.py", line 19, in
csv_fieldnames = set(Link.table.columns._data.keys() + SERP.table.columns._data.keys()) - {'id', 'serp_id'}
TypeError: unsupported operand type(s) for +: 'list_iterator' and 'list_iterator'
Do you have any idea?
Thank you very much.
Thanks, PaulZ

I get the same error.


IPEX-LLM GPU - GraphRAG: No module named "past" && ApiKeyMissingError && No text files found in input

Hi, I am following IPEX-LLM GraphRAG_quickstart.md, I met two issues.

No module named "past"

Prepare Input Corpus
Some sample documents are used here as input corpus for indexing GraphRAG, based on which LLM will create a knowledge graph.
Perpare the input corpus, and then initialize the workspace:
For Linux users:
define inputs corpus
mkdir -p ./ragtest/input
cp input/* ./ragtest/input
export no_proxy=localhost,<IP_ADDRESS>
initialize ragtest folder
python -m graphrag.index --init --root ./ragtest
Raised ModuleNotFoundError: No module named 'past'
I have checked internet and suggested to use
pip install future
to resolve the issue. Just an awareness, maybe you would like to update the documentation?

Raise ApiKeyMissingError graphrag.config.error.ApiKeyMissingError: API Key is required for Completion API. Please set either the OPENAI_API_KEY, GRAPHRAG_API_KEY or GRAPHRAG_LLM_API_KEY environment variable.

Conduct GraphRAG indexing
Finally, conduct GraphRAG indexing, which may take a while:
python -m graphrag.index --root ragtest
Please let me know if API is required
Method to resolve this issue:
export GRAPHRAG_API_KEY=1234, following https://github.com/TheAiSingularity/graphrag-local-ollama/issues/7

ValueError: No text files found in input
After resolving the issue above, encounter another error No text files found in input

Hi @Kpeacef,
Thank you for the suggestions on our documentation. We are reproducing the issues, and will let you know for any updates :)

Hi @Kpeacef ,
We updated our GraphRAG QuickStart. You could follow it and have a try again :)
Here are a few points you might want to pay attention to:

IPEX-LLM Ollama used a separate Python environment from graphrag-local-ollama
Make sure ipex-llm[cpp]==2.1.0 is installed for Ollama serve
A troubleshooting section is added to the QuickStart to refer to.

Please let us know for any further problems :)


[TACHYON-340] Add workload 'Mixture' to Tachyon Perf

Add a workload named 'Mixture'.
In this workload, each Perf Slave reads and writes files in a configured ratio. Different from SimpleRead and SimpleWrite workloads, this workload may read and write files at one time.

@calvinjia

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Tachyon-Pull-Request-Builder/2897/
Test PASSed.

Thanks for adding new benchmarks! What kind of performance have you seen with this workload (compared to just read or write workloads), if you have benchmarked it?
For the benchmark, if write type THROUGH is used, and read type CACHE is used, will the results be inconsistent based on the # of hits?

We benchmarked with different r/w ratios and have seen that reading and writing influence each other. The throughput of 80%R-20%W is higher than 20%R-80%W.
Currently it randomly chooses to read or write, so the results will be based on the # of hits.

+1 LGTM


Specific Delegate Methods

Added specific delegate methods so that the user of PBJVision can respond to specific changes to the camera. Prior to this change, the user would have needed to implement visionModeWillChange: or visionModeDidChange:, and respond to changes to multiple different camera settings within that one method, such as:

Changing the camera device (front/back)
Changing the camera mode (photo/video)
Changing the output format (preset/square/widescreen)

I've added numerous new delegate methods:
- (void)visionCameraDeviceWillChange:(PBJVision*)vision;
- (void)visionCameraDeviceDidChange:(PBJVision*)vision;

- (void)visionCameraModeWillChange:(PBJVision*)vision;
- (void)visionCameraModeDidChange:(PBJVision*)vision;

- (void)visionOutputFormatWillChange:(PBJVision*)vision;
- (void)visionOutputFormatDidChange:(PBJVision*)vision;

so that the user of this class can respond to each individual action.

Hello guys,
I was trying to play with the widescreen setting. If I wanted to change the size of the output video to a smaller width and height, I have been able to do it. However, the captured video is cropped in the output video. Is there a specific method I need to implement or make a change in a specifc file to ensure that the video capture size matches the final output video render size?
Thanks for your help.

So the question really is how to change the screen size and the square preview that we see when recording the video?


wildcard url matching

want to support urls like http://.src.com/yummy/__/.html
could be related to #25?

https://github.com/jonschlinkert/micromatch

thanks for taking a look at micromatch!


Fix missing argument attn_dropout in imputation Transformer

What does this PR do?

Add back the missing argument attn_dropout.
Before submitting

[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have written necessary tests and already run them locally.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
2 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.05%) to 82.975%

Files with Coverage Reduction
New Missed Lines
%

pypots/imputation/usgan/model.py
1
86.0%

pypots/modules/transformer/attention.py
1
98.08%

Totals

Change from base Build<PHONE_NUMBER>:
-0.05%

Covered Lines:
4791

Relevant Lines:
5774

💛  - Coveralls


Lambda Layer always in Status Change since layer refactoring

Before opening, please confirm:

[X] I have installed the latest version of the Amplify CLI (see above), and confirmed that the issue still persists.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting bug reports.
[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.

How did you install the Amplify CLI?
npm
If applicable, what version of Node.js are you using?
14.15.5
Amplify CLI Version
5.0.1
What operating system are you using?
Windows
Amplify Categories
auth, function, api, hosting
Amplify Commands
push, status
Describe the bug
Hello,
My existing Amplify Project use Lambda Layers. I updated now to Amplify Cli Version 5.0.1. Since Amplify 5 there is a complete refactoring of the Layer Handling.
The Migration of my Lambda Layer was done. and i updated all lambda settings to always use the latest lambda layer.
it works fine. if i change my layer code, all lambda functions are updated to the newest version.
The Problem is, that after the Amplify Push, the layer has again (without coding change) the amplify status "change".
so if i would do an "amplify push" => everything works.
But if i would do an "amplify push" or "amplify status" directly after, the status of the layer is imediatly "Update".
The result is, that each amplify push, will result in an new amplfy layer version, even i doesn't change the layer code.
if the layer always have the status "change".
i tried to setup a new "hello world" amplify project, with a lambda function, and an lambda layer. The problem doesn't exist here. after the "amplify push", the status of the lambda layer is in Status "No Change".
Are there any tricks, how to fix my layer in the existing project? Or how can i find out the reason, why amplify set the status to "Update"?
Kind Regards
Stefan
Expected behavior
After the Amplify Push, the layer has the status "No Change"
Reproduction steps

amplify push => successfully "√ All resources are updated in the cloud"
amplify status => Layer has status "Change"
amplify push => New Layer Version is created.

GraphQL schema(s)

# Put schemas below this line

Log output

# Put your logs below this line

Additional information
No response

@StefanV85 this is an issue that we try to replicate on our end with no success yet. Could you give more information about your layer and the project?

what runtime is this layer using?
what version of the CLI was the layer created with?
did you do the migration with 5.0.0 or 5.0.1?
is the layer referenced by any function?
can you send a file list without (node_modules or lib/python3.x directory) of the affected layer?

Hi @attilah
I tried to narrow down the problem for a while today.
In generell i was able to reproduce the problem in a new amplify project. I just copied all my source code files (which are in the opt folder of the layer) in the new project. And The Problem is in the new amplify project again.
so it's defenetly not a problem with the "migration" of the layer refactoring.
Unfortunately i can't share my sourcecode here, because it's production code.
i wasn't able to narrow down the problem to specific files yet.
regarding your questions:

Layer Runtime: NodeJS
Which Version created the lambda layer: because it happens in a new project too, we can use the version 5.0.1.
Migration happend with 5.0.1. But it's not related to the migration, because it also happens in new projects.
Yes i have Lambda Functions wihich use this layer. Setting: "Always  use the newest version"
Is the filelist still necassary? Because i see you already linked an pull request?  :-)


assume-role fails with error "Failed to read /dev/tty" under Ubuntu 16.04

what
running assume-role under Geodesic 0.85.0 on Ubutntu 16.04, it fails with the error message "Failed to read /dev/tty". It works under macOS.
why
assume-role should work

The assume-role failure is due to a bug in the Ubuntu kernel. See https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1813873
The solution is to upgrade your Ubuntu kernel to 4.4.0-143.169 (for 16.04 Xenial) or 4.15.0-46 (for 18.04 Bionic) or 4.18.0-15.16 (for 18.10 Cosmic).
If you do not want to upgrade your kernel, you can set export ASSUME_ROLE_INTERACTIVE=false to use the non-interactive version of assume-role, which is not affected by this bug.


add local storage functions and current weather icon

added the current weather icon and local storage functions for us to use later. the icon looks like shit... we may want to look at importing others if we get everything else done and have time.

Cool, looks like there are no conflicts!


Warning icon

The icon of the warning result I cannot display correctly. Does it have to install other plug-in first?

Can you include a screenshot? If you mean you get ‼ instead, it's because your on Windows and it doesn't support Unicode on the command-line, so we're using a fallback symbol.

Like this:

My environment on Ubuntu.

I don't think there's anything I can do about that. Ubuntu supports that font, but Windows doesn't. I have no way to check that your using Ubuntu from Windows. PR welcome if anyone knows a fix, but I highly doubt it.


CDK Synth pipeline step fails because of old version of Node used in the build image

LinuxBuildImage.AMAZON_LINUX_2_ARM_2 is the build image used for the CodePipeline pipelines CDK_Synth & Application_Build. This image includes Node 10.24.1 & Node 12.22.2 (please see the Dockerfile) but not Node 14, as is required in the README and the pipeline build fails.
This causes the CDK Synth step to fail because of an unsupported language feature (the ?? operator) being used in the code. The code should probably use another image which provides the required Node version.

I have manually built the AL2 image from commit 206fa376d3cd3420b28c52c0517d1da0e895e01f of the Dockerfile following the instructions outlined in its README and have been able to replicate the problem. Here's the output of the npm run cdk synth command:
bash-4.2# npm run cdk synth

><EMAIL_ADDRESS>cdk /root/aws-cross-account-cicd-pipeline
> cdk "synth"

/root/aws-cross-account-cicd-pipeline/node_modules/aws-cdk/lib/index.js:12413
    home = path.join((os.userInfo().homedir ?? os.homedir()).trim(), ".cdk");
                                             ^

SyntaxError: Unexpected token '?'
    at wrapSafe (internal/modules/cjs/loader.js:915:16)
    at Module._compile (internal/modules/cjs/loader.js:963:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
    at Module.load (internal/modules/cjs/loader.js:863:32)
    at Function.Module._load (internal/modules/cjs/loader.js:708:14)
    at Module.require (internal/modules/cjs/loader.js:887:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (/root/aws-cross-account-cicd-pipeline/node_modules/aws-cdk/bin/cdk.js:3:15)
    at Module._compile (internal/modules/cjs/loader.js:999:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>cdk: `cdk "synth"`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>cdk script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2022-11-16T10_56_53_808Z-debug.log

On second thought, this might be due to package-lock.json including a merge conflict (tracked in #30). In that case, newer versions of npm appear to perform a fresh dependency resolution, which is probably incompatible with Node 12, as bundled in AL2.


Add Introductory Paragraph and/or Summaries to Standards Tab

Add introductory paragraphs and/or summaries to the following tabs/pages:

[x] Blog
[x] Standards -> Index
[x] Standards -> Contributing
[x] Collaboration -> Index

Done in another commit.


Exception during running the command from another folder

Hi, during running the script not from the folder where electron is located, I've got
makensis: File: "path\to\my\app\*" -> no files found.
Usage: File [/nonfatal] [/a] ([/r] [/x filespec [...]] filespec [...] |
   /oname=outfile one_file_only)
Error in script "/tmp/1hyau9no6zxccgo88o8wo.tpl" on line 59 -- aborting creation process

Could you @stefanjudis assist to find the correct place where fix should be added?

The first issue was on linux, the same i've got on windows today.
makensis: File: "Client\myapp-win32-x64\*" -> no files found.
BTW, the path should be client\myapp-win32-x64\, where first c is small, but stack prints me capitalized value.

Which electron-builder version are you on?
I had a fix about this recently.

I believe I'm on the latest version.
"version": "2.4.0"

Hmm, the path is coming from here.
https://github.com/loopline-systems/electron-builder/blob/master/cli.js#L34
Maybe you could dig a bit or provide me your detailed config so that I can have a look. :)

@stefanjudis I found the "normalization" here. It explains the problem with linux, but not with windows.

If you provide me your config I can have a look tonight.

Sure, I'll provide it later.
BTW, relative path is not working, but with absolute path for appPath everything works fine (after removing _windowsify, of course.

@havenchyk what the state here?
Can you please provide your configs and commands?

@stefanjudis config is the same like you're using in the readme:
electron-builder \"dist/osx/Loopline Systems.app\" --platform=osx --out=\"dist/osx\" --config=builder.json"
But, I pass this config not via cli.js, but directly to the builder.build, so after _windowsify on appPath, the path is broken.
I can provide PR for it if you would like.

But, I pass this config not via cli.js, but directly to the builder.build, so after _windowsify on appPath, the path is broken.

I don't get that - you're requiring a file that is not public?

@stefanjudis I'm using electron-builder in the grunt-electron-builder-wrapper. What I do - is
var electronBuilder = require('electron-builder').init();
...

electronBuilder.build(options);

And options have appPath. You've fixed similar issue about a week ago, but only in the cli.js

Mmmmh... I see... Sorry - forgot about the grunt counterpart. And forgot that index.js is also exposed ( the project is lacking documentation for that too ).
but there shouldn't be the need to fix it in several places - the installers itself ( osx & win ) should get the correct paths provided?
appPath should get an absolute path when it's hitting these files.
Or what do you think?

I think, that this check should be made inside the osx & win for now, look at https://github.com/loopline-systems/electron-builder/blob/master/lib/win.js#L33 if you're on windows, it's ok, but if you're on mac or linux, it's not needed to _windowsify the path.
Also I think that user of the module should be able to pass relative path as well. So we need to do additional check for win and mac:

is the appPath absolute?
if not, make path.resolve
if windows - invoke _windowsify (if it's really needed)

it's ok, but if you're on mac or linux, it's not needed to _windowsify the path.

I needed it in first place and I am on a mac - so I'm not sure about that.

Also I think that user of the module should be able to pass relative path as well

Totally agree on that one. But that doesn't mean we have to treat it in win.js or osx.js. These two files should only accept absolute paths and do there thing with it. We're also avoiding code duplication for path handling.
So about the points:

is the appPath absolute?

This can be done by simply using path.resolve - there is no additional check needed as it's doing that. :)
path.resolve( path.cwd(), '/Users' )
> /Users

path.resolve( process.cwd(), 'foo' )
> /Users/stefan/Sites/perf-tooling/foo

if windows - invoke _windowsify (if it's really needed)

I really would like to double check that. Are you on a mac to prove it?

I'm can check only on windows and linux. I'm mostly working on linux, so it was an issue for me.

I can check only on windows and linux. I'm mostly working on linux, so it was an issue for me.

Well then PR it - and I'll check it. :)

BTW, if you're on Mac and need _windowsify, there is some misleading in the name.

Well not really - because it will go into wine and NSIS and these want windows paths. :)


add to this documentation: when an owner is removed he/she is removed from the PCA group

add to this documentation: when an owner is removed he/she is removed from the PCA group

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

ID: df27392f-aec0-41d9-726c-88abc12468e0
Version Independent ID: f21e6a50-99f5-819b-4e09-99a84253bf9d
Content: Change the owner of an organization - Azure DevOps Services
Content Source: docs/organizations/accounts/change-organization-ownership.md
Product: devops
GitHub Login: @chcomley
Microsoft Alias: chcomley

Thanks @pathakneeti, I've updated the article. This should be live by sometime this afternoon. Thanks again!


New linters and initial corrections

🗃 Github Issue Or Explanation for this PR. (What is it supposed to do and Why is needed)
No issue
✅ Checklist

[x] Github issue details are up to date for people to QA.
[x] I have tested all my changes.

🕵♂ Notes for Code Reviewer
New linters enabled
👯♀ Paired with
"nobody"

lint is failing :)

lint is failing :)

lol
I just wanted to show the new linter and the first advance is about 900 corrections I will do in this PR

I think you should do it a few at a time
Not all at once

I think you should do it a few at a time
Not all at once

Ok, I'll do it that way 2 parts.

@gguijarro-c-chwy I know it looks like a lot of changes but it really was like 370 infos, but between deletion, addition and indentation changes, these numbers were reached

Its impossible to review all these. But since they are lint changes, i trust lint reviewed for me :P


[wip] Phantom tests

This is for #28.
Still encountering some issues with anaconda-build environment.

I am perilously close to getting the casper tests to run on anaconda cloud.
http://anaconda.org/nbcio/nbpresent/builds/85/1#L2457
it gets all the way to actually running the casper command and:
/opt/miniconda/conda-bld/test-tmp_dir/node_modules/phantomjs/lib/phantom/bin/phantomjs: error while loading shared libraries: libfreetype.so.6: cannot open shared object file: No such file or directory

If anyone (cc @mmarchetti @malev @damianavila @ijstokes) has any insight as to how it is best to ensure such libraries are available in the test environment, that would be extremely helpful. yum?
haven't tried the docker thing yet to see if that gives me more insight. it took me a while to realize how "clean" the environment is in which the tests are run, which made even starting stuff complex. adding a second package.json just for testing in conda.recipe seems to be working pretty well... and is good from a reuse/template point of view... i confess magic file names, nearly-duplicate keys in meta.yml, etc. are a little perplexing at times.

If anyone (cc @mmarchetti @malev @damianavila @ijstokes) has any insight as to how it is best to ensure such libraries are available in the test environment, that would be extremely helpful. yum?

Did you try adding phantomjs into the test: requires: field in the conda recipe?

Heh, not looking so good:
http://anaconda.org/search?q=phantomjs
Nobody has a solid offering across all the platforms, and nobody has osx.
The (probably) last casperjs wants 1.9.8 i think: Nightmarejs has been
recommended by the maintainer:
http://www.nightmarejs.org/
(it does look very nice... es6 generators and all that)
But I REALLY want to be able to reuse the upstream tooling:
https://github.com/jupyter/notebook/blob/master/notebook/tests/util.js#L640
Anyhow... I'll try with 1.9.7 (tonight) and see how that goes!
On Wed, Dec 9, 2015 at 9:11 AM Damián Avila<EMAIL_ADDRESS>wrote:

If anyone (cc @mmarchetti https://github.com/mmarchetti @malev
https://github.com/malev @damianavila https://github.com/damianavila
@ijstokes https://github.com/ijstokes) has any insight as to how it is
best to ensure such libraries are available in the test environment, that
would be extremely helpful. yum?
Did you try adding phantomjs into the test: requires: field in the conda
recipe?
—
Reply to this email directly or view it on GitHub
https://github.com/Anaconda-Server/nbpresent/pull/29#issuecomment-163248757
.

Hooray, working build!
Still a lot more to test, but will continue to make progress!

Hooray, working build!

Great!

if the :green_heart: stays on, this is ready to go... i'm going to jump back on binder, and start getting that ready to go.
i did have to revert some of the setup stuff @damianavila, but when we get it working with nbsetuptools, we can address it.

i did have to revert some of the setup stuff @damianavila, but when we get it working with nbsetuptools, we can address it.


Add filled vs unfilled sidebar icon

📝 Provide a description of the new feature
Add filled vs unfilled sidebar icon for active/inactive so it matches the rest of the icons
➕ Additional Information
No response

https://user-images.githubusercontent.com/1565883/224519548-c80af000-68ba-47f6-94a4-0472d1eeba49.mov

Arrow moves down slightly
https://user-images.githubusercontent.com/1565883/224519604-b5bb9337-baab-4be5-bac7-5ae07a462baf.mov

No arrow
https://user-images.githubusercontent.com/1565883/224519868-2bf050b1-6c37-4473-b9fc-14180de06047.mov