Redesign the ODK-X Services app icon

The current Services app icon is not branded ODK-X, and do not clearly communicate the core app function.

This task is to redesign the app icon to be:

Recognisable as applications in the ODK-X suite of tools
Ideally incorporating the ODK-X logo (note this issue for Logo refresh https://github.com/odk-x/tool-suite-X/issues/355)
can be distinguished as the Services app without accompanying text
Preferably does not rely on the app name in the icon

App icons should be created as SVG format and be clear and legible at small sizes, such as 20x20px
You do not need to be assigned to this issue to work on it for an Outreachy application

I'd like to try my hands on this @maprehensive

Hi @maprehensive @wbrunette @elmps2018.... Can you assign this to me please

@maprehensive @elmps @wbrunette  can you take a review at this!

@julian55455 @Cveman1 you're assigned. Thanks :)

Hello @maprehensive I would like to be assigned to this task too

@maprehensive  Can I be assigned this too?

@Oluwatobi1992 and @jessjaey assigned you as well! Look forward to seeing everyone's ideas!

Thankyouuuuuu

@maprehensive @elmps2018
I made different variations for the service app icon
Please look through and review.

I will like to be assigned on the services app icon @elmps2018

Thanks @elmps2018

I made different variations for the service app icon
Please look through and review.
Hi Jess.! I'm salma and I'd like to connect with you if you don't mind

I made different variations for the service app icon
Please look through and review.
Hi Jess.! I'm salma and I'd like to connect with you if you don't mind

Yes Ofcourse
If you're on the slack channel, Send me a message: Jessica Alexandra jide

@maprehensive @elmps2018
I made different variations for the service app icon
Please look through and review.

@jessjaey This is great. Love to see the variations and notes on design choices.
For the next iteration, I would focus on making the idea work at a small size. The ODK-X logo won't be clear if the overall icon is 20x20px.
Thank you!

Hi @maprehensive, here's an iteration of the ODK-X logo.

I took the reduction route to make the logo more simple and minimal. This follows Dieter Ram's 10th principle of design. that says 'Good design involves little design as possible.
Description:

This logo concentrates on the essential brand aspects and its communication.
It maintains the brand’s visual language and colours
It is easily memorable as a logomark and leaves a lasting impression on users.
It's scalable for any size and screen
It's simple.

I'm certain more iterations will lead to more improvements in the logo.
What do you think?

Hello @maprehensive may i please be assigned to this task... i would really appreciate

Hi @maprehensive, here's an iteration of the ODK-X logo.

I took the reduction route to make the logo more simple and minimal. This follows Dieter Ram's 10th principle of design. that says 'Good design involves little design as possible.
Description:

This logo concentrates on the essential brand aspects and its communication.
It maintains the brand’s visual language and colours
It is easily memorable as a logomark and leaves a lasting impression on users.
It's scalable for any size and screen
It's simple.

I'm certain more iterations will lead to more improvements in the logo.
What do you think?

I like how your brain works.. this is nice

Hello @maprehensive may i please be assigned to this task... i would really appreciate

Hi Jessica
Our mentor says You can contribute to any issues without being assigned.

Hello @maprehensive may i please be assigned to this task... i would really appreciate

Hi Jessica Our mentor says You can contribute to any issues without being assigned.

Oh wow. Thank you

@maprehensive I put your feedback into consideration for my iterations of the app icons

@maprehensive @elmps2018 kindly review this, i would love to get a feedback. Thanks in advance.

Hello @maprehensive
I did my best to redesign the icons following the ODX-K design guidelines.
This is my first time designing a logo and I am open to corrections and critiques. Thank you
This is the first Icon I am proposing

@maprehensive
This is the Second Icon i came up with.

@maprehensive This is the Second Icon i came up with.

Really?

Hi @maprehensive, here's an iteration of the ODK-X logo.

I took the reduction route to make the logo more simple and minimal. This follows Dieter Ram's 10th principle of design. that says 'Good design involves little design as possible.
Description:

This logo concentrates on the essential brand aspects and its communication.
It maintains the brand’s visual language and colours
It is easily memorable as a logomark and leaves a lasting impression on users.
It's scalable for any size and screen
It's simple.

I'm certain more iterations will lead to more improvements in the logo.
What do you think?

Hi @maprehensive, here's an iteration of the ODK-X logo.

I took the reduction route to make the logo more simple and minimal. This follows Dieter Ram's 10th principle of design. that says 'Good design involves little design as possible.
Description:

This logo concentrates on the essential brand aspects and its communication.
It maintains the brand’s visual language and colours
It is easily memorable as a logomark and leaves a lasting impression on users.
It's scalable for any size and screen
It's simple.

I'm certain more iterations will lead to more improvements in the logo.
What do you think?

@Cveman1 Strong concept and design process, very well explained.
Considerations for the next iteration:
Try with different treatments:

in the header with the app name next to it
in the status bar when Services is synching (screenshot below)

And think about whether it is recognizable enough with / without the color? There may be a need to integrate something more from the ODK-X logo to increase the recognition factor.
Great work!

@maprehensive I put your feedback into consideration for my iterations of the app icons

@jessjaey Nice iteration – that's a good improvement with a good rationale.
Some thoughts for the next iteration:

create smaller size versions and view them on a phone, this can help check whether the icon will work in different conditions
because the lines are quite light, the icon doesn't have a strong presence. You could try filling in the container (cloud / rectangle), or thickening the lines you use to make it visually more pronounced

Good work, keep it up!

@maprehensive @elmps2018 kindly review this, i would love to get a feedback. Thanks in advance.

@JessicaItepu Nice work, I like the ideas and the presentation is good.
I'd like to see this at smaller sizes to see if the three elements - logo, cloud and 'wifi' thing - will all be clear when the whole icon is at 20 x 20.
Because you've got a lot of ideas in the icon, you could try taking something away to strengthen the overall execution. For example - reduce the colors used, or try without the cloud or wifi thing.
And note that you've got the ODK logo - different project - so you should update that to the ODK-X logo.
Good stuff. Look forward to another iteration!

@maprehensive This is the Second Icon i came up with. This is the link to the Project Proposal

@Augusta2 Great work exploring multiple ideas and showing your design rationale. I can see a lot of work has gone into this.
I would try these icons at smaller sizes and see how the smaller elements - the cog, the wifi thing - hold up when they're reduced in size. It may be a challenge to get all the elements to work well together at the small sizes.
Try with different treatments:

in the header with the app name next to it
in the status bar when Services is synching

And note that you've used the ODK logo - which is different project - so you should update that to the ODK-X logo.
Thanks! Can't wait to see the next version.

Thanks for your feedback.
I perfectly understand what you mean, I'll put them to different use cases and test in my future iterations.

Hi @maprehensive, here's an iteration of the ODK-X logo.

I took the reduction route to make the logo more simple and minimal. This follows Dieter Ram's 10th principle of design. that says 'Good design involves little design as possible.
Description:

This logo concentrates on the essential brand aspects and its communication.
It maintains the brand’s visual language and colours
It is easily memorable as a logomark and leaves a lasting impression on users.
It's scalable for any size and screen
It's simple.

I'm certain more iterations will lead to more improvements in the logo.
What do you think?

@Cveman1 Strong concept and design process, very well explained.
Considerations for the next iteration: Try with different treatments:

in the header with the app name next to it
in the status bar when Services is synching (screenshot below)

And think about whether it is recognizable enough with / without the color? There may be a need to integrate something more from the ODK-X logo to increase the recognition factor.
Great work!

Thank you @maprehensive for your kind feedback, i tried to put your suggestions into these redesigns.
I changed the logo used from ODK to ODK-X and tried reducing the colours to strenghten the overall execution like you said.
I also presented these in smaller sizes and showed them in dark modes. I hope this iterations are to your liking. Thank you very much.

These are what some of the designs look like in the header with the app name next to it like you suggested.

@maprehensive These are what some of the designs look like in the header with the app name next to it like you suggested.

Thankyou for your feedback
I'll work on it✨

@maprehensive I put your feedback into consideration for my iterations of the app icons

@jessjaey Nice iteration – that's a good improvement with a good rationale.
Some thoughts for the next iteration:

create smaller size versions and view them on a phone, this can help check whether the icon will work in different conditions

because the lines are quite light, the icon doesn't have a strong presence. You could try filling in the container (cloud / rectangle), or thickening the lines you use to make it visually more pronounced

Good work, keep it up!

@maprehensive Please review my design,I put your feedback into consideration for my iterations of the app icons

Good day @maprehensive
I changed the design based on your instructions and added the icon to the status bar and the Header.

@JessicaItepu That looks really good!
All variations look strong to me. The outline weight is good, and simplifying to blue makes it clearer.
This is great for your application. You can keep iterating if you like, but this is plenty if you'd like to look at other issues.
Thanks!

@Augusta2 Good work - great to see the variations in context.
I have one suggestion - try removing the white background behind the ODK-X logo - if you can integrate the logo with a transparent background it will give it extra 'polish'
Thanks for iterating on this, it's really good to see the progression of the work!

@maprehensive I wish I can get the SVG of the logo.
Can anyone help me out?

@JessicaItepu That looks really good!
All variations look strong to me. The outline weight is good, and simplifying to blue makes it clearer.
This is great for your application. You can keep iterating if you like, but this is plenty if you'd like to look at other issues.
Thanks!

Thank you so much.. @maprehensive see you in other projects

@maprehensive Kindly review my services app logo redesign. I would appreciate a feedback , thank you

@maprehensive @wbrunette  This is my submission for the Services icon redesign
Please let me know your thoughts

Hi @maprehensive @wbrunette
Here is my submission for the services icon redesign.
I'd love to know your thoughts on this.

Hi @maprehensive @wbrunette Here is my submission for the services icon redesign.
I'd love to know your thoughts on this.

Let me be the first to say this is absolutely beautiful

Hi @maprehensive @wbrunette
Here is my submission for the services icon redesign.
I'd love to know your thoughts on this.

This is sleekkkk
I love it!!!
Nice one✨

@JessicaItepu @jessjaey Thank you 🥹

@Augusta2 Thanks, that looks cleaner. Nice work!

@Joyfro This is a great idea with nice execution. Very creative.
The ODK-X logo is a bit difficult to see clearly. (It's a difficult logo to work with!) Two suggestions to increase the eligibility: increase the size, increase the space around the logo. Having the icon outline so close to the logo makes it a bit harder to see clearly.
And I notice in the mockup of the header that the sync in the icon is different to the sync icon in the navigation. It would be better if there was better alignment between the two. Example - arrowheads, orientation and overall shape. You may not get all of these the same, but you could try to match them more closely.
Good work, thank you!

Hi @Karimatu05 This is a good start - strong presence, nice use of color and a new take on representing Services.
My feedback would be to choose which element you would like to be dominant - the phone frame, the hammer and screwdriver or the logo - and then rework it so that element is visually prominent.
At the moment the phone frame is the strongest due to the size and thickness of the lines.
Nice work, thank you!

@BlueSkiez-dev Very nice. The icon does achieve the goals, bold, clean etc, that you've set out.
The specification asks for the ODK-X logo to be incorporated. It's not a bad thing to vary from the specification, but you should include the reason in your rationale. In your next iteration or your application you could say why you thought the ODK-X brand would still be communicated even without the logo.
On the use of color - the blue variant is at first cleaner, but the green, brown variant is more distinct and may do a better job of communicating a distinct brand. But how does this look next to the logo? The new dark brown color may add to the visual complexity next to an already busy logo.
Which variant to do you prefer and why? That would be interesting to know, and perhaps to focus on one of the variants in the next iteration (or your application).
Great work, well done :)

@maprehensive I made more iterations from your feedback
Please review!

Hi @maprehensive, good day!
An iteration to the logo based on the feedback you gave

Hi @Karimatu05 This is a good start - strong presence, nice use of color and a new take on representing Services.
My feedback would be to choose which element you would like to be dominant - the phone frame, the hammer and screwdriver or the logo - and then rework it so that element is visually prominent.
At the moment the phone frame is the strongest due to the size and thickness of the lines.
Nice work, thank you!

Okay sir i will work on it. thank you so much

Hello @maprehensive
Based on your feedback on my initial Services app icon concept, here’s an iteration:
Improved Services App Icon

I integrated the ODK-X wordmark, logomark and brand colours to make it more recognizable and memorable.
Also, it works in both light and dark background environments with or without colour.
It's scalable in size too.

In the context of use

I think this is quite recognizable and feasible. What are your thoughts on this?

@Cveman1 Strong concept and design process, very well explained.
Considerations for the next iteration: Try with different treatments:

in the header with the app name next to it
in the status bar when Services is synching (screenshot below)

And think about whether it is recognizable enough with/without the colour? There may be a need to integrate something more from the ODK-X logo to increase the recognition factor.
Great work!

Here is my input for service app icon @maprehensive kindly provide your feedback.

Hello @maprehensive, this is to present my little bit on the survey logo redesign I'll be waiting on your review , thank you.


Deprovisioning does not work (Cannot be called without a checker)

Bug Report
Describe the Bug
If there is no checker, the consumer ends immediately and deprovisioning is not called. Also, transfer does not complete on the provider side.
Expected Behavior
A checker is not a requirement for a transfer to reach all states (since it can also be disabled).
Observed Behavior
Consumer completes the transfer on its side immediately and the provider is stuck in a previous state (in progress?)
Steps to Reproduce
Initiate a transfer, that has a deprovisioning phase, without a checker. Deprovisioning state is never called.
Context Information

Used version: 0da15e194d553178676f4fa6845c876bc9d7a2ad
OS: Windows

Additional Information
We could not find an explanation on what the checker is, which configurations it requires, and how to create a checker (except implementations) for our use case, which is creating a custom http flow controller.

I've removed the bug label as this may not be a bug.
Can you please describe the use case a bit further, e.g. what type of data is being transferred, over what protocol, and when is the transfer terminated?

We are running a custom extension of the HttpDataFlowController which can use arbitrary sources and destinations. The data is being streamed over HTTP; a request is made to an internal endpoint and then pushed to the endpoint provided by the consumer.
Currently we are transferring json files and using pipelineServices, as dataplanemanager had missing endpoints and we could not get the checker+verifier working for the data push scenario.
When we debug the system, we see that the consumer completes immediately, and the provider is stuck in progress. The controller's initiate flow is called, a success is returned by the controller, but the state machine does not move forward to the next stage. So the transfer is never terminated at the provider's side and it also never reaches deprovisioning. When we modify the code and move the states ourselves, the process completes.

Hello, I wanted to shortly report that updating from commit 63e45965d26180b797e75f9a09dcd8ab8aa7b06a to d23de1648090991dd6fd4a9c154c697093c1dc04 solved our problem. I assume that the fix came from this PR: https://github.com/eclipse-dataspaceconnector/DataSpaceConnector/pull/1427


Fix max_age=0 in createInvite

Previously, if a parameter was a falsy value, it would have been ignored. Now the parameter is only ignored if it is undefined, allowing the creation of permanent invites with max_age=0.

Awesome! Thanks :)


Comment Page ux changes

-Move read all comments button
-Change comment review page spacing
-Change order of comment page
-Move contains threat under reasons for rejection
-Change styling of some sections in comment review form
-Fix styling for comment listing page
-remove / from email modal
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the met-public license (Apache 2.0).

Codecov Report

Merging #1533 (d5e8f56) into main (a624602) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1533   +/-   ##
=======================================
  Coverage   71.91%   71.91%
=======================================
  Files         336      336
  Lines        9948     9948
  Branches      725      725
=======================================
  Hits         7154     7154
  Misses       2672     2672
  Partials      122      122

Flag
Coverage Δ

metweb
65.22% <ø> (ø)

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

Impacted Files
Coverage Δ

...nents/comments/admin/reviewListing/Submissions.tsx
88.09% <ø> (ø)

...agement/view/widgets/Subscribe/SubscribeWidget.tsx
35.71% <ø> (ø)


Support onEntry/onExit scripts

Widely used feature in v7/v8 required to allow users to run their existing process definitions in kogito.
Related JIRA: https://issues.redhat.com/browse/KOGITO-2067

Fixed by https://github.com/apache/incubator-kie-issues/issues/1136


Object3D rotatable on scene

Hi,
On Android and iPhone, i'm trying to make a 3D object, group or mesh rotatable :
regulatingRingObject =
await _createObject3D(manager, mtlLoader, objName: 'ase022_E_2');
regulatingRingObject.scale.set(0.5, 0.5, 0.5);
regulatingRingObject.position.set(-0.15, 7.9, 0);
scene.add(regulatingRingObject);
var position =
    regulatingRingObject.getWorldPosition(regulatingRingObject.position);
regulatingRingObject.traverse((child) {
  if (child is three.Mesh) {
    print(child);
    child.addEventListener('wheel', (event) {
      print("wheel");
    });
  }
});

but not works
Do you have an idea for the good practice ?

Hi @changning420,
I am slightly confused about the question.
If you want to rotate the camera in the scene look at this example
https://github.com/Knightro63/three_dart/blob/main/example/lib/controls/misc_controls_orbit.dart
If you want to rotate the camera like an fps game look at this example
https://github.com/Knightro63/three_dart/blob/main/example/lib/games/games_fps2.dart
If you want to rotate the object relative to the camera look at this example
https://github.com/Knightro63/three_dart/blob/main/example/lib/geometry/webgl_geometries.dart
Hope this helps.

@Knightro63 Hello, thank you for your advice. But it doesn't seem to meet my needs. I have three objects on the same scene that I need to scroll. What I'm rendering is a model of a lens, he needs to adjust the distance, adjust the aperture. Then the body of the lens can also be rotated. How exactly do I control it.

@Knightro63 Hello, thank you for your advice. But it doesn't seem to meet my needs. I have three objects on the same scene that I need to scroll. What I'm rendering is a model of a lens, he needs to adjust the distance, adjust the aperture. Then the body of the lens can also be rotated. How exactly do I control it.

Hi @changning420,
Here is an example of what I think you are looking for. This uses raycasting to determine what object you are hovering over. Then you can click on the object and move the mouse to rotate the object around the corresponding axis.
import 'dart:async';

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';

import 'package:flutter_gl/flutter_gl.dart';
import 'package:three_dart/three_dart.dart' as three;
import 'package:three_dart_jsm/three_dart_jsm.dart' as jsm;

class webgl_camera_array extends StatefulWidget {
  String fileName;
  webgl_camera_array({Key? key, required this.fileName}) : super(key: key);

  @override
  _MyAppState createState() => _MyAppState();
}

class _MyAppState extends State<webgl_camera_array> {
  final GlobalKey<jsm.DomLikeListenableState> _globalKey = GlobalKey<jsm.DomLikeListenableState>();
  jsm.DomLikeListenableState get domElement => _globalKey.currentState!;
  late FlutterGlPlugin three3dRender;
  three.WebGLRenderer? renderer;

  int? fboId;
  late double width;
  late double height;

  Size? screenSize;

  late three.Scene scene;
  late three.Camera camera;
  late List<three.Mesh> mesh = [];

  three.Raycaster raycaster = three.Raycaster();
  three.Object3D? intersected;
  bool didClick = false;
  three.Vector2 mousePosition = three.Vector2();
  double movePosition = 0;

  double dpr = 1.0;

  bool disposed = false;

  late three.Texture texture;

  late three.WebGLRenderTarget renderTarget;

  dynamic? sourceTexture;

  bool loaded = false;

  @override
  void dispose() {
    print(" dispose ............. ");

    disposed = true;
    three3dRender.dispose();

    super.dispose();
  }

	void onMouseDown(event) {
    didClick = true;
	}
	void onMouseUp( event ) {
    didClick = false;
	}
	void onMouseMove(event) {
    if(didClick && intersected != null){
      double rotate = 0.05;
      if(movePosition > event.clientX){
        rotate = -0.05;
      }

      setState(() {
        intersected!.rotation.y += rotate;
      });
    }
    else{
      print(event);
      mousePosition.x = event.clientX;
      mousePosition.y = event.clientY;
    }
    movePosition = event.clientX;
	}

  // Platform messages are asynchronous, so we initialize in an async method.
  Future<void> initPlatformState() async {
    width = screenSize!.width;
    height = width;

    three3dRender = FlutterGlPlugin();

    Map<String, dynamic> _options = {
      "antialias": true,
      "alpha": false,
      "width": width.toInt(),
      "height": height.toInt(),
      "dpr": dpr
    };

    print("three3dRender.initialize _options: $_options ");

    await three3dRender.initialize(options: _options);

     print("three3dRender.initialize three3dRender: ${three3dRender.textureId} ");

    setState(() {});

    // TODO web wait dom ok!!!
    Future.delayed(const Duration(milliseconds: 200), () async {
      await three3dRender.prepareContext();

      initScene();
    });
  }

  void initSize(BuildContext context) {
    if (screenSize != null) {
      return;
    }

    final mqd = MediaQuery.of(context);

    screenSize = mqd.size;
    dpr = mqd.devicePixelRatio;

    initPlatformState();
  }

  void initRenderer() {
    Map<String, dynamic> _options = {
      "width": width,
      "height": height,
      "gl": three3dRender.gl,
      "antialias": true,
      "canvas": three3dRender.element
    };

    print('initRenderer  dpr: $dpr _options: $_options');

    renderer = three.WebGLRenderer(_options);
    renderer!.setPixelRatio(dpr);
    renderer!.setSize(width, height, false);
    renderer!.shadowMap.enabled = false;

    if (!kIsWeb) {
      var pars = three.WebGLRenderTargetOptions({
        "format": three.RGBAFormat
      });
      renderTarget = three.WebGLRenderTarget(
          (width * dpr).toInt(), (height * dpr).toInt(), pars);
      renderTarget.samples = 4;
      renderer!.setRenderTarget(renderTarget);

      sourceTexture = renderer!.getRenderTargetGLTexture(renderTarget);
    }
  }

  void initScene() {
		domElement.addEventListener( 'pointerdown', onMouseDown, false );
		domElement.addEventListener( 'pointermove', onMouseMove, false );
    domElement.addEventListener( 'mousemove', onMouseMove, false );
		domElement.addEventListener( 'pointerup', onMouseUp, false );
    initRenderer();
    initPage();
  }

  void initPage() {
    var ASPECTRATIO = width / height;

    var WIDTH = width * dpr;
    var HEIGHT = height * dpr;

    List<three.Camera> cameras = [];

    var subcamera = three.PerspectiveCamera(40, ASPECTRATIO, 0.1, 10);
    subcamera.viewport = three.Vector4(
      0,
      0,
      three.Math.ceil(WIDTH),
      three.Math.ceil(HEIGHT)
    );
    subcamera.position.x = - 0.5;
    subcamera.position.y = 0.5;
    subcamera.position.z = 1.5;
    subcamera.position.multiplyScalar(2);
    subcamera.lookAt(three.Vector3(0, 0, 0));
    subcamera.updateMatrixWorld(false);
    cameras.add(subcamera);

    camera = three.ArrayCamera(cameras);
    // camera = new three.PerspectiveCamera(45, width / height, 1, 10);
    camera.position.z = 3;

    scene = three.Scene();

    var ambientLight = three.AmbientLight(0xcccccc, 0.4);
    scene.add(ambientLight);

    camera.lookAt(scene.position);

    var light = three.DirectionalLight(0xffffff, null);
    light.position.set(0.5, 0.5, 1);
    light.castShadow = true;
    light.shadow!.camera!.zoom = 4; // tighter shadow map
    scene.add(light);

    var geometryBackground = three.PlaneGeometry(100, 100);
    var materialBackground = three.MeshPhongMaterial({"color": 0x000066});

    var background = three.Mesh(geometryBackground, materialBackground);
    background.receiveShadow = true;
    background.position.set(0, 0, -1);
    scene.add(background);

    mesh.add(three.Mesh(three.BoxGeometry(0.5, 0.5, 0.5), three.MeshPhongMaterial({"color": 0xff0000}))..translateY(0.5));
    mesh.add(three.Mesh(three.BoxGeometry(0.5, 0.5, 0.5), three.MeshPhongMaterial({"color": 0x00ff00}))..translateY(1));
    mesh.add(three.Mesh(three.BoxGeometry(0.5, 0.5, 0.5), three.MeshPhongMaterial({"color": 0x0000ff})));
    scene.add(mesh[0]);
    scene.add(mesh[1]);
    scene.add(mesh[2]);

    loaded = true;
    animate();
  }
  void checkIntersection() {
    three.Vector2 convertPosition(three.Vector2 location){
      Offset offset = Offset(0, 0); // screen position
      double x = (location.x / (width-offset.dx)) * 2 - 1;
      double y = -(location.y / (height-offset.dy)) * 2 + 1;
      return three.Vector2(x,y);
    }
    raycaster.setFromCamera(convertPosition(mousePosition), camera);
    List<three.Intersection> intersects = raycaster.intersectObjects(scene.children , false);
    void materialEmmisivity(double emmisive){
      three.Material mat = intersected!.material!;
      List<String> split = mat.name.split('|');
      if(split.length > 1 && split[1] == 'g'){
        if(emmisive == 0){
          mat.emissive!.r = .5;
          mat.emissive!.g = .5;
          mat.emissive!.b = .5;
        }
        else{
          mat.emissive!.r = 1;
          mat.emissive!.g = 1;
          mat.emissive!.b = 1;
        }
      }
      else{
        mat.emissive!.r = emmisive;
        mat.emissive!.g = emmisive;
        mat.emissive!.b = emmisive;
      }
    }

    if (intersects.isNotEmpty ) {
      if(intersected != intersects.first.object) {
        if(intersected != null){
          materialEmmisivity(0);
        }
        intersected = intersects.first.object;
        materialEmmisivity(0.55);
      }
    }
    else if(intersected != null){
      materialEmmisivity(0);
      intersected = null;
    }
  }

  void render() {
    final _gl = three3dRender.gl;
    renderer!.render(scene, camera);
    _gl.finish();

    checkIntersection();
    if (!kIsWeb) {
      three3dRender.updateTexture(sourceTexture);
    }
  }
  void animate() {
    if (!mounted || disposed) {
      return;
    }

    if (!loaded) {
      return;
    }
    render();

    Future.delayed(const Duration(milliseconds: 40), () {
      animate();
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.fileName),
      ),
      body: Builder(
        builder: (BuildContext context) {
          initSize(context);
          return SingleChildScrollView(child: _build(context));
        },
      ),
      floatingActionButton: FloatingActionButton(
        child: const Text("render"),
        onPressed: () {
          animate();
        },
      ),
    );
  }

  Widget _build(BuildContext context) {
    return Column(
      children: [
        Container(
          child: jsm.DomLikeListenable(
            key: _globalKey,
            builder: (BuildContext context) {
              return Container(
                  width: width,
                  height: height,
                  color: Colors.red,
                  child: Builder(builder: (BuildContext context) {
                    if (kIsWeb) {
                      return three3dRender.isInitialized
                          ? HtmlElementView(
                              viewType: three3dRender.textureId!.toString())
                          : Container(color: Colors.red,);
                    } else {
                      return three3dRender.isInitialized
                          ? Texture(textureId: three3dRender.textureId!)
                          : Container(color: Colors.red);
                    }
                  }
                )
              );
            }
          ),
        ),
      ],
    );
  }
}

Hope this helps.

@Knightro63  Thank you.  This example is very close to what I was looking for.  However, I choose to rotate one object3D, after the rotation is finished, other object3D will not be selected, and then rotate.  And the debug console will print "Object3D raycast todo",Forgive me for asking for help again, because my dart skills are terrible.(>^ω^<)

Hi @changning420 ,
I updated the above code to have only one object rotate via the mouse wheel, click and drag, and touch and drag. While that object spins the other object spins as well.
Hope this helps.

@Knightro63  Thank you for your valuable advice. It's very useful to me. But I'm rendering files from .obj+.mtl.
I change how. Here is my code: .

@Knightro63 Thank you,Based on your code, I found a solution!


GH-20379: [Java] Dataset Failed to update reservation while freeing bytes

Rationale for this change
Better controls JNI Thread management in java dataset module to fix #20379
Re-use the same code found in the java arrow-c-data module : https://github.com/apache/arrow/blob/main/java/c/src/main/cpp/jni_wrapper.cc#L107
May JNIEnvGuard class code can be put in a common place for both libraries ...
What changes are included in this PR?
N/A
Are these changes tested?
These changes has been tested with :  https://gist.github.com/fb64/71880cde297bc5234b02b68b785670fd
on Linux X86_64 architecture
Are there any user-facing changes?
N/A

Closes: #20379

@github-actions crossbow submit java-jars


Windows client crashes

After start of the windows client the the window comes up and a bit later the window is closed.
What operating system and which version?
Microsoft Windows Version 21H2 (Build 19044.1645)
Which version of Rocket.Chat (Server)?
version 3.8.5 (4.4.2)
Is there any setting relevant changed?

I have the same problem. When I open RocketChat, the program closes after 0.5 to 2 seconds. Rocket.Chat.exe does not stop running after the window closes.
OS: Microsoft Windows 10 Pro, 10.0.19044
Windows event:
`-

1000
0
2
100
0
0x80000000000000

181053

Application
DESKTOP-...

Rocket.Chat.exe
<IP_ADDRESS>
62583230
Rocket.Chat.exe
<IP_ADDRESS>
62583230
80000003
0000000001957947
4240
01d8597fa5485c61
C:\Users\...\AppData\Local\Programs\Rocket.Chat\Rocket.Chat.exe
C:\Users\...\AppData\Local\Programs\Rocket.Chat\Rocket.Chat.exe
0dde5a6a-e9e7-408f-819f-be9faf81a68c

`

For me Rocket.Chat 3.8.5 works perfect on Windows 10 21H2
@DWay17 @maximilian-hammerl can you delete %AppData%/Roaming/Rocket.Chat/ folder and start Rocket.Chat applicaion again?

@ankar84, there is no Rocket.Chat folder in my Roaming folder:

there is no Rocket.Chat folder in my Roaming folder:

Interesting. Looks like that folder even not created yet.

For me Rocket.Chat 3.8.5 works perfect on Windows 10 21H2
@DWay17 @maximilian-hammerl can you delete %AppData%/Roaming/Rocket.Chat/ folder and start Rocket.Chat applicaion again?

My APPDATA points to C:\Users\xxx\AppData\Roaming and I deleted c:\Users\xxx\AppData\Roaming\Rocket.Chat\ and it works.

Same Problem for us on varius Clients after Update to 3.8.5 Yesterday.
OS: Windows 10 (different Builds 21H1 and 21H2)
There are Users without the Problem and others having it.
Desktop Client crashes after a few Seconds after starting.
Same Event Log Error as above (maximilian)
Deleting RocketChat Folder in Roaming does not solve the Problem.

Same for me - Rocket.chat windows is shown and soon closed.

Please test with the version 3.8.6 if it solves the problem.

RocketChat hasn't crashed anymore since updating to 3.8.6

Nothing that would crash changed. Could you post here the content of the
.dmp file?
Em ter., 26 de abr. de 2022 às 08:39, Thomas Richter <
@.***> escreveu:

writes a c:\Users\xxx\AppData\Local\CrashDumps\Rocket.Chat.exe.xxx.dmp
—
Reply to this email directly, view it on GitHub
https://github.com/RocketChat/Rocket.Chat.Electron/issues/2400#issuecomment-1109689722,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAI7PCRCFPFIN27ZX7XJI5TVG7IVRANCNFSM5ULQ3IXA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

--
Atenciosamente,
Jean Brito.


Implement Tune message

What this PR does
Add new message TunableConfig for grpc communication with server (TunableConfigReq & TunableConfigRep)
Add tune_config rpc call to Service Raft
Add TuneConfigInfo to core_message:req and core_message:rep to be able to query TunableConfig from RaftCore
Add tunable-config to lol-admin to query TuneConfigInfo
Rel
Fixes #57: Implement Tune message

We did these modifications livestreaming with @PierreZ it may be missing some stuff.
Please us know if anything is missing :slightly_smiling_face:

@fteychene Thank you for the PR.
The PR consists of reader side (TuneConfigInfo) and writer side (TunableConfig).
For the reader side, I think everything is perfect. But the writer side, I have two comments:

TunableConfigReq needs full set of fields to make a request but this isn't good for people who wants to change the config partially. (They typically wants to use builder-pattern) My thought on this is to change the fields to optional. I want you to fix this.

My initial thought on where to put TunableConfigReq was core_mesasge. My criteria on which to choose between gRPC proto or core_message is those which is of Raft in general is in gRPC and of lol specific is in core_message. Based on my criteria, TunableConfigReq should be placed in core_message. However, I think putting this message in proto isn't bad in this case because backward-compatibility offered by protobuf is more important here.

Btw, you name the reader side message "TuneConfig" instead of "TunableConfig", is this because you feel the word tunable is strange here? If this is just a mistake, please use the same word so to avoid confusion.
    TuneConfigInfo {
        compaction_delay_sec: u64,
        compaction_interval_sec: u64,
    }

Thanks @akiradeveloper
I updated the PR from your comments. I kept the TunableConfig proto message and service since it seems that the backward compatibility could be usefull. We could change it to be in core_message if needed, just let us know if we need to.
I updated the name of from TuneConfif to TunableConfig everywhere in the PR to be more consistent :+1:
The fields in TunableConfigReq are now optional and I added the flag in priotoc compilation to allow it.


Improve catch all error page

This error page is the outermost catch all on an application error.
The current error screen is created via PrimeErrorBoundary in app.tsx and patientApp.tsx The error dumps a json blob of the error.

[ ] Create an updated design of the error page
[ ] send the JSON error to Azure Application Insights

Updated design:

From @Rebecca-LM:

My 2 cents: I'd replace "persists" with "continues" ... and add a period after "support."

Should the logo link to any page, @hmyers-cms?


gh-pages branch needs vent/assets/catalog/parsed_tool_list.js updated with the core plugins in vent

I am working on this one.


Revert "remove cluster conditions in clusterinfo"

This reverts commit 57839edaaa506d5f4f0cb3b9b12cf7237dceb9b3.
Signed-off-by: Zhiwei Yin<EMAIL_ADDRESS>

/retest

/assign @qiujian16


[nrf noup] zephyr: Clean up non-secure RAM if enabled

To ensure that MCUBoot does not leak keys or other material through memory to non-secure side we clear the memory before jumping to the next image.

ping @hakonfam @nvlsianpu


feat(trip): add startTrip function

Well done it's great! We're just missing the tests for your method, but I'll explain tomorrow how to do that (it will be more or less the same than the existing tests, but you need to understand the architecture to understand what to mock and how)
So let's close this PR together tomorrow if it's ok for you


Added Rope as a soft body to AmmoJSPlugin

Tests
https://adoring-kirch-5b50fe.netlify.com/ropetest.1.html
https://adoring-kirch-5b50fe.netlify.com/ropetest.2.html
https://adoring-kirch-5b50fe.netlify.com/ropetest.3.html
https://adoring-kirch-5b50fe.netlify.com/ropetest.4.html
Docs will follow later in week.

Thanks a lot John!


Fix beta 1.6 info

r? @steveklabnik

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @nikomatsakis (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

Ha ha whoops :sob:

thank you!


Add notebook to study effect of pore size distribution

Current coverage is 90.87% (diff: 100%)

Merging #221 into master will decrease coverage by 2.46%

@@             master       #221   diff @@
==========================================
  Files            72         65     -7
  Lines          4761       4241   -520
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           4444       3854   -590
- Misses          317        387    +70
  Partials          0          0

Powered by Codecov. Last update 3f0679d...7bda1b3


Implement odo env

Signed-off-by: jingfu wang<EMAIL_ADDRESS>What type of PR is this?
/kind feature
/area devfile
What does does this PR do / why we need it:
This PR implements odo env commands:
// Set an individual value in the odo environment file
odo env set <parameter name> <parameter value>
// For viewing the current environment configuration settings
odo env view
// Unset an individual value in the environment file
odo env unset <parameter name>

Which issue(s) this PR fixes:
Fixes #3401
PR acceptance criteria:

[x] Unit test

[x] Integration test

How to test changes:

Turn on the experimental mode
Create a devfile component
Run the following commands to configure the environment file

  # For viewing the current environment configuration settings
  odo env view

  # Set an individual value in the odo environment file
  odo env set Name myNodejs
  odo env set Namespace myProject
  odo env set DebugPort 8888

  # Unset an individual value in the environment file
  odo env unset DebugPort

Note:
I will add more test cases in the following commits.

/assign

/approve

@johnmcollier @girishramnani Please review this PR again when you get a chance, thanks

/retest

/retest

/retest

/retest

/retest

Comments addressed, @johnmcollier @girishramnani Please review this PR again when you get a chance, thanks

we need to show warning for Name and Namespace that it would create a new component to the user

we need to show warning for Name and Namespace that it would create a new component to the user

Done, please review again.

Unit test failinng

Unit test failinng

Investigated, this one is due to the env issue.

/retest

@cdrage @girishramnani @johnmcollier Pushed a new commit for a typo, please add the lgtm back when it looks good to you.

/lgtm

@amitkrout Comments addressed. Given the product code has been approved by many folks, please review again for the integration tests, once it looks good to you, we can merge this PR.

@amitkrout Comments addressed. Given the product code has been approved by many folks, please review again for the integration tests, once it looks good to you, we can merge this PR.

@GeekArthur Thanks for addressing the test concerns. Restarted travis job as some known flake was hit. Will apply lgtm label once those jobs go green

/hold cancel

/lgtm


nodeFit ignores priority class

What version of descheduler are you using?
descheduler version: 0.24.1
Does this issue reproduce with the latest release? Yes
Which descheduler CLI options are you using?
--logging-format text --policy-config-file /policy-dir/policy.yaml --v 4

Please provide a copy of your descheduler policy config file
apiVersion: "descheduler/v1alpha1"
kind: "DeschedulerPolicy"
evictLocalStoragePods: true
strategies:
  RemovePodsViolatingTopologySpreadConstraint:
    enabled: true
    params:
      includeSoftConstraints: true
      labelSelector:
        matchExpressions:
        - {key: descheduler.k8s.io/opt-in, operator: In, values: ["true"]}

What k8s version are you using (kubectl version)? 1.25
What did you do?
Take the following scenario where we have a [2, 0] spread from Deployment 'A'.
Node1 (2 vCPU, 4Gi)
PodA1 (1 vCPU, 2Gi), high-priority class
PodA2 (1 vCPU, 2Gi), high-priority class
Node2 (2 vCPU, 4Gi)
PodX1 (2 vCPU, 4Gi), low-priority class
What did you expect to see?
Node2 to be considered as having resources to schedule one of PodA, given that PodX1 on Node2 has a lower priority class and will be preempted by Scheduler.
What did you see instead?
Nodefit logic determines that Node2 has no resources to give so does not evict one of the Pods on Node1

I think this is a feature request rather than a bug, since the description for NodeFit doesn't mention preemption:

If set to true the descheduler will consider whether or not the pods that meet eviction criteria will fit on other nodes before evicting them. If a pod cannot be rescheduled to another node, it will not be evicted. Currently the following criteria are considered when setting nodeFit to true:

A nodeSelector on the pod
Any tolerations on the pod and any taints on the other nodes
nodeAffinity on the pod
Resource requests made by the pod and the resources available on other nodes
Whether any of the other nodes are marked as unschedulable

Though you could argue resource available on other nodes implies it will take preemption into consideration...
Either way, implementing this would probably mean copying the scheduler PostFilter stage. We'd probably need to first check if any nodes fit, then if that fails go through each node and find potential victim pods (testing the available resources after each pod was hypothetically evicted). I think this would be a sizeable change but not out of our scope.
/kind feature
/remove-kind bug


[Bug] [core] Cannot load plugin due to plugin name is not class name

Purpose of this pull request
close #1662
This pr add a new method in Plugin.
   /**
     * Return the plugin name, this is used in seatunnel conf DSL.
     *
     * @return plugin name.
     */
    default String getPluginName() {
        return this.getClass().getSimpleName();
    }

And will use this method to charge whether the plugin should be used. And override this method in subclass to adapte the current plugin name.
Check list

[ ] Code changed are covered with tests, or it does not need tests for reason:
[ ] If any new Jar binary package adding in you PR, please add License Notice according
New License Guide
[ ] If necessary, please update the documentation to describe the new feature. https://github.com/apache/incubator-seatunnel/tree/dev/docs

This is strange, I can compile success in my laptop.

Maybe we need to update plugin docs?

No need to update the docs, since the  plugin name is still the old.


Gut out all the unused bootstrap components

This patch removes unused bootstrap CSS. This will lighten the page by cutting out nearly 5,000 lines of code.
Everything related to the following has been cut. I suspect that more could be safely removed, but I figured lets get the bulk of this out of here first before we fine tune.
tables
inputs
.has-*
.help-block
.form-inline
.form-horizonal
.btn
.dropdown
.caret
.btn-group
.input-group
.nav-stacked
.nav-justified
.nav-tabs
.nav-pills
.navbar-form
.navbar-default
.navbar-inverse
.breadcrumb
.pagination
.pager
.label-*
.btn
.nav-pills
.thumbnail
.alert
.progress
.media
.list-group-*
.panel
.embed-responsive
.well
.modal
.tooltip
.popover
.carousel
.visible

I've now taken the additional step of segmenting the remaining bootstrap code into component-based subfiles, which should allow for easier streamlining and customization in the future. Glyphicons have also been removed.

Could we document the decisions about how these files are structured and why some are included while others are not? Eg, is this since kind of "core bootstrap" CSS that is documented somewhere? Doesn't have to be a lot of text but enough to help somebody orient themselves is they were trying to understand what's going on

Yes. I can add a little explanation. It's a pretty standard trim down thus. Nothing all the different than the custom compiles in newer versions that leave our components you don't want. But we might branch from that before too long. So it'll be good to get something in there.

@choldgraf I've added doc strings in assets/js/bootstrap.css and _sass/bootstrap/_index.scss. Have a look.


Updates for Bazzite have been stale for a while now

Describe the bug
When I expect an updated image, I only get a stale one from Jan. 16th.
What did you expect to happen?
I expected a recent update, but got a stale one instead.
Output of rpm-ostree status
State: idle
Deployments:
  ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-asus-nvidia:latest
                   Digest: sha256:d257cabe24bbdb73a04306dd7baa282247875603d6fc0ede221cdf506345a5b1
                  Version: 39.20240116.0 (2024-02-02T02:28:01Z)
          LayeredPackages: lld openrazer-meta python-devel razergenie
            LocalPackages: sunshine-0.21.0-1.x86_64
                Initramfs: '"-I /etc/crypttab /usr/lib/modprobe.d/nvidia.conf"'

● ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-asus-nvidia:latest
                   Digest: sha256:d257cabe24bbdb73a04306dd7baa282247875603d6fc0ede221cdf506345a5b1
                  Version: 39.20240116.0 (2024-02-02T02:28:01Z)
          LayeredPackages: lld openrazer-meta python-devel razergenie
            LocalPackages: sunshine-0.21.0-1.x86_64
                Initramfs: '"-I /etc/crypttab /usr/lib/modprobe.d/nvidia.conf"'

Hardware
I am using a lenovo 15ach6
Extra information or context
I have layered packages installed.

@KyleGospo did you forget to update PipeWire in the bazzite repos?

The images are still publishing normally so not sure what's going on there: https://github.com/ublue-os/bazzite/pkgs/container/bazzite-asus-nvidia

Maybe look at recent GitHub Actions runs?

I'll grab the output from the latest one now

Maybe it was a temporary issue

Sorry for wasting your time

Closing due to mis-ID


Error: No compatible version found - Raspberry Pi

Trying to install on a Raspberry Pi 2. Raspbian OS updated, but rolled back to node v0.10.2 until 4.x is supported.
node -v
v0.10.2

npm -v
1.2.15

npm install --save serialport

npm http GET https://registry.npmjs.org/serialport
npm http 304 https://registry.npmjs.org/serialport
npm ERR! Error: No compatible version found<EMAIL_ADDRESS>npm ERR! Valid install targets:
npm ERR! ["0.1.0","0.1.1","0.1.3","0.2.0","0.2.2","0.2.3","0.2.4","0.2.5","0.2.6","0.2.7","0.2.8","0.2.9","0.3.0","0.6.0","0.6.1","0.6.2","0.6.3","0.6.5","0.6.6","0.6.7","0.7.0","0.7.1","0.7.2","0.7.3","0.7.4","0.7.5","1.0.0","1.0.1","1.0.2","1.0.3","1.0.4","1.0.5","1.0.6","1.0.7","1.0.8","1.1.0","1.1.1","1.1.3","1.2.0","1.2.1","1.2.2","1.2.3","1.2.4","1.2.5","1.3.0","1.3.1","1.4.0","1.4.1","1.4.2","1.4.5","1.4.6","1.4.8","1.4.9","1.4.10","1.5.0","1.6.1","1.6.2","1.6.3","1.7.0","1.7.1","1.7.3","1.7.4"]
npm ERR!     at installTargetsError (/usr/local/lib/node_modules/npm/lib/cache.js:685:10)
npm ERR!     at /usr/local/lib/node_modules/npm/lib/cache.js:607:10
npm ERR!     at saved (/usr/local/lib/node_modules/npm/node_modules/npm-registry-client/lib/get.js:138:7)
npm ERR!     at Object.oncomplete (fs.js:107:15)
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR<EMAIL_ADDRESS>
npm ERR! System Linux 4.1.7-v7+
npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "--save" "serialport"
npm ERR! cwd /home/pi
npm ERR! node -v v0.10.2
npm ERR! npm -v 1.2.15
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /home/pi/npm-debug.log
npm ERR! not ok code 0

Not sure if anyone is going to be able to help with Node.js 0.10.2 as it's so old. There have been 38 v0.10.x releases since v0.10.2. I don't know if NAN (one of serialports dependencies) actually supports v0.10.2 either.

Yer I was on 4.2 but this library doesn't support it so I rolled back :)

Ok, go back to 4.2 and try this: npm install "git://github.com/voodootikigod/node-serialport.git#master"

Master should work, it just hasn't been published yet.

It was just published, so npm install serialport should work with Node.js 4.2 now.

Please reopen if you're having trouble still.


Update examples to discourage use of...

I see many users of lettre doing this:
let mailbox = format!("{name} <{email}>").parse()?;

After #844 lands it might not work anymore for some names.
The correct way is and always has been to do:
let mailbox = Mailbox::new(Some(name), email.parse()?);

what about if there's multiple names/emails? Is name and email then comma semicolon separated?

Also, some unit tests are parsing raw strings too:
#[test]
    fn email_miminal_message() {
        assert!(Message::builder()
            .from("NoBody <nobody@domain.tld>".parse().unwrap())
            .to("NoBody <nobody@domain.tld>".parse().unwrap())
            .body(String::from("Happy new year!"))
            .is_ok());
    }


Bundling project that uses Typescript transpilation

Hi
I have an app that uses typescript transpilation, using the following config.js:
System.config({
  defaultJSExtensions: true,
  transpiler: "ts",
  typescriptOptions: {
    "module": "system",
    "emitDecoratorMetadata": true,
    "sourceMap": true,
    "preserveConstEnums": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false,
    "noResolve": true,
    "declaration": false,
    "noLib": false
  },
  paths: {
    "github:*": "jspm_packages/github/*",
    "npm:*": "jspm_packages/npm/*"
  },

  packages: {
    "app": {
      "defaultExtension": "ts",
      "meta": {
        "*.ts": {
          "loader": "ts"
        }
      }
    }
  },
// map here

Then my gulp task uses the following config when calling the bundler:
{
  "force": true,
  "packagePath": "pre-dist/",
  "baseURL": "pre-dist/",
  "configPath": "pre-dist/config.js",
  "bundles": {
    "all": {
      "includes": [
        "app/**/*.ts",
        "vendor/**/*.js",
        "aurelia-bootstrapper",
        "aurelia-framework",
        "aurelia-router",
        "aurelia-logging-console",
        "aurelia-templating-binding",
        "aurelia-templating-resources",
        "aurelia-templating-router",
        "aurelia-history-browser",
        "text"
      ],
      "excludes": [],
      "options": {
        "inject": true,
        "mangle": true,
        "minify": true,
        "sourceMaps": false,
        "globalDefs": { "DEBUG": false },
        "builderCfg": {}
      }
    }
  }
}

And the bundling task produces the following error:
Error on fetch for app/config/index.ts at file:///Users/paolof/Developer/genius/doc/web-client-au/pre-dist/app/config/index.ts
	TypeError: Cannot read property 'substr' of undefined
    at fromFileURL (/Users/paolof/Developer/genius/doc/web-client-au/node_modules/systemjs-builder/lib/utils.js:58:13)
    at SystemJSNodeLoader.<anonymous> (/Users/paolof/Developer/genius/doc/web-client-au/node_modules/aurelia-bundler/dist/bundler.js:79:86)
    at SystemJSNodeLoader.loader.fetch (/Users/paolof/Developer/genius/doc/web-client-au/node_modules/systemjs-builder/lib/builder.js:172:59)
    at /Users/paolof/Developer/genius/doc/web-client-au/node_modules/systemjs-builder/lib/trace.js:378:23
    at tryCatcher (/Users/paolof/Developer/genius/doc/web-client-au/node_modules/bluebird/js/release/util.js:16:23)
    at Promise._settlePromiseFromHandler (/Users/paolof/Developer/genius/doc/web-client-au/node_modules/bluebird/js/release/promise.js:497:31)
    at Promise._settlePromise (/Users/paolof/Developer/genius/doc/web-client-au/node_modules/bluebird/js/release/promise.js:555:18)
    at Promise._settlePromise0 (/Users/paolof/Developer/genius/doc/web-client-au/node_modules/bluebird/js/release/promise.js:600:10)
    at Promise._settlePromises (/Users/paolof/Developer/genius/doc/web-client-au/node_modules/bluebird/js/release/promise.js:683:18)
    at Async._drainQueue (/Users/paolof/Developer/genius/doc/web-client-au/node_modules/bluebird/js/release/async.js:125:16)
    at Async._drainQueues (/Users/paolof/Developer/genius/doc/web-client-au/node_modules/bluebird/js/release/async.js:135:10)
    at Immediate.Async.drainQueues [as _onImmediate] (/Users/paolof/Developer/genius/doc/web-client-au/node_modules/bluebird/js/release/async.js:16:14)
    at processImmediate [as _immediateCallback] (timers.js:383:17)

First question is: aurelia-bundler is able to bundle projects that uses transpilation, without first compiling them with tsc?
I'm pretty sure JSPM bundler supports this scenario out of the box, as I used it extensively, and it seems that just aurelia-bundler can no longer work with this configuration (but it worked in the past)...
Thanks!

For anyone interested, I opted for a solution that should work now and in the future..
Basically it involves a custom gulp pipeline that transpile the project from TS to JS, transforms the original config.js in a new config.dist.js that doesn't have transpilation, and feeds it to aurelia bundler.
The result is that I can continue developing with on the fly transpilation, and bundle everything automatically to  go live.
If (and only if) there's someone else interested in this, I'll try and push something online, otherwise I'd better spend my spare time on something else.. ;)

definitely a good idea. and for users using atom like me (or more generally, users using an ide which compiles already to js) we could use the compiled .js files then directly form the src dirs and feed them into the bundler ( i could try that then, never touched gulp scripts so far so that would be a great start i think)

@nexbit This is exactly how our skeleton-typescript project is setup. I am adding this to backlog and see if we can skip intermediate transpilation and directly bundle the typescript app with aurelia-bundler. Thanks!

@ahmedshuhel Unfortunately it's not exactly the setup I use for my projects..
The skeleton app transpiles TS files to JS even during debug sessions (when watching changes), and you lose the benefit of debugging TS code directly inside the browser.
With my setup I watch changes on src folder and build styles and other assets on the fly during watch, copying files to an intermediate folder that I serve using browsersync. But I keep ts files untouched to be transpiled on the fly using plugin-typescript.
At the moment the aurelia-bundler package expects sources to be JS files, as it analyses them to follow dependencies, so it's not possible to bundle TS files directly.
My gulp pipeline basically is divided into 3 categories:

dev -> tasks devoted to prepare the intermediate folder for debug
watch -> tasks that depends on dev tasks, and that configure browsersync plugin and watch for changes using several sub-tasks for each asset category (packages, vendor assets/js, html, Stylus files, etc.)
dist - tasks that depends on dev tasks, and that compiles everything for deployment to a dist folder. A sub-task of this pipeline is devoted to transforming config.js automatically and launching aurelia-bundler

As soon as I have some spare time, I'll assemble and put online a working setup using my pipeline...

So, the ideal solution would be to bundle the app with .ts file directly without any intermediate transpilation(extarnal via Gulp etc), right? I believe that is what we should aim for.
As systemjs can handle ts files so we get the development experience without any sort of watch setup that transpiles and hinder ts debugging.
If you think I understood the problem could you please close this issue and raise another one like "Bundle Aurelia typescript project"
We will continue from there.

I don't understand the issue. We don't want to bundle TS. In browser
compilation is not something that should be used in production.
On Feb 20, 2016 11:35 AM, "Shuhel Ahmed"<EMAIL_ADDRESS>wrote:

So, the ideal solution would be to bundle the app with .ts file directly
without any intermediate transpilation(extarnal via Gulp etc), right? I
believe that is what we should aim for.
As systemjs can handle ts files so we get the development experience
without any sort of watch setup that transpiles and hinder ts debugging.
If you think I understood the problem could you please close this issue
and raise another one like "Bundle Aurelia typescript project"
We will continue from there.
—
Reply to this email directly or view it on GitHub
https://github.com/aurelia/bundler/issues/79#issuecomment-186643185.

The bundler will compile the ts files into javascript. During development the user wants use ts directly and want to use systemjs to transpile on the fly to get the debugging experience better and not want to have any watch setup to convert ts to javascript and then load in the browser.
Currently bundler  transpiles and bundles js files only. Bundler needs to support transpiling ts files too.

Since when has the bundler done transpilation? It should not do
transpilation, only bundling. There are other tools for transpilation and
the developer should have their choice there.
On Feb 20, 2016 11:44 AM, "Shuhel Ahmed"<EMAIL_ADDRESS>wrote:

The bundler will compile the ts files into javascript. During development
the user wants use ts directly and want to use systemjs to transpile on the
fly to get the debugging experience better and not want to have any watch
setup to convert ts to javascript and then load in the browser.
Currently bundler transpiles and bundles js files only. Bundler needs to
support transpiling ts files too.
—
Reply to this email directly or view it on GitHub
https://github.com/aurelia/bundler/issues/79#issuecomment-186649092.

@ahmedshuhel That's the point..
@EisenbergEffect  No one should never deploy TS files in production, but debugging TS files in the browser is handy, and you can even set breakpoints and watch variables directly on TS code. When you want to see the actual JS code, you have the transpiled JS at handy with the name myscript.ts!transpiled loaded side-by-side. Actually I can no longer live without it!
Previous versions of the bundler did the transpilation, because JSPM does it natively. It's only the latest versions that break transpilation, because it expects to have JS files and it analyses them for dependencies.
BTW, I'm pretty fine with my setup, as it resolves the issue by using gulp automation.
But I think that I'm not alone with this, I know several people that do use and want to continue using in-browser transpilation for better debug experience.
@ahmedshuhel I'm closing this issue, feel free to open another one as you mentioned in your response above.. As far as I'm concerned, I'll prepare a new repo with my setup to be used as an alternative to the official skeleton.

@EisenbergEffect May be I am unable to explain it better. Please allow me to create two repos (with es2016 and ts) and then try again.

@nexbit I've been debugging es2015 and TS in the browser for a long time now. Source maps will make that possible. What does bundling have to do with that?

@EisenbergEffect For reference, I'm pasting here an excerpt from JSPM guide (under bundling section), that briefly explains the translate hook that is part of the bundling process. It basically permits transpiler plugins to be called during bundling, to perform your language->JS compilation without the need of doing it before.

Compiler Plugins
Compiler plugins are plugins like jsx (as well as json and text) allow you to load other languages into JavaScript. These provide implementations of the translate hook, which makes them buildable.
That is, when using jspm bundle compilations will be inline automatically, and the plugin itself will not be used in production. When in development, the plugin can optionally support in-browser compilation.

What aurelia-bundler do now is illegal from the JSPM point of view, because it breaks the translate hook. You shouldn't assume that your input is JS, because JSPM bundle pipeline was conceived to be language agnostic.
In-browser transpilation is different than using JS with source maps. The debugging experience is better IMHO. Just give it a try using Chrome Dev Tools, and you'll see my point..

It's fine to have hooks for plugging in transpilation during the bundling process. I believe we talked about that and wanted that. I just don't want our bundler to have a direct dependency on Babel or TypeScript and attempt to rebuild functionality already provided by other tools at this time. It should bundle only, but provide a standard set of hooks so others can plug in behavior that they want.
@ahmedshuhel We should have a translate hook. However, keep in mind that anything being implemented with the bundler needs to be done in a way that does not create a hard tie to jspm or system.js. Our goal is to basically abandon both of those technologies as soon as we can. They have caused us too many issues and I don't see any light at the end of that dark tunnel. When we make that move, we don't want to have to re-write the entire bundler. Please keep that in mind always now. It is critical.

Oh...and after we switch away from jspm/system.js we still need our existing bundler to work with jspm/system.js projects. So, we need to do all work in such a way as to support the existing workflow as well as a new workflow that we want to build in the future.

Got it. I will keep it in mind. I will also discuss in details about the whole process and where we are standing now as long as the bundler implementation is concern.

@EisenbergEffect @ahmedshuhel Well, given that currently aurelia-bundler relies on systemjs-builder to do the actual work, I think you have to rewrite everything from scratch if you really want to abandon SystemJS..
@EisenbergEffect I agree with you on JSPM, as it's too fragile in its current implementation, but abandoning SystemJS... What's the point? I know you don't have good relations with Angular2 team, but giving that it's been officially embraced by them, I think it's going to gain a lot of popularity among JS devs... Is it really a wise move to abandon it?

PS: is there a poll or something to vote on SystemJS support? It is simply the best JS loader out there, and I'm not going to use anything else in my projects. If I can't use it with aurelia, I'm not going to use aurelia anymore...

I already explained, we aren't dropping support for that. We are just going to add a new default option built by the Aurelia team, that is based on standards and simpler/faster. We aren't dropping support for anything we support today. You can use it if you want.

:+1: got it!
then you should start working ASAP on a replacement for the systemjs-builder dependency in the bundler..

We've got to do these things in "phases". We may be able to use the systemjs-builder with our own loader. If so, we'll keep that for now. Then we can build our own down the line. We don't want to remove support for jspm/system.js though...just provide another es6 module loader-based solution that we think will work better for our community.

@nexbit Here is two example Aurelia projects. One with plain es2016 and other with typescript setup as we have discussed. I have also fixed the bundler(v0.3.2).

https://github.com/ahmedshuhel/aurora-ts
https://github.com/ahmedshuhel/aurora-es

These projects works without any intermediate transpilation by thirdparty tool like gulp etc during development time. So we get the debugging experience.
And, for production the bundler just works. Please take a look at the gulpfile and config,js for the configuration.

@ahmedshuhel, @nexbit How is browser transpilation debugging better than server transpilation? I'm using server transpiled Typescript with inline source maps and I get both .js and .ts files available for inspection in developer tools and breakpoints are set on the .ts file.

The watching experience.. With plugin-typescript I see compilation errors directly in the browser, and my watch task need only to copy the edited ts files without every time. It's just more convenient during dev/debugging, but it's a matter of preference..

Il giorno 21 feb 2016, alle ore 03:28, Gheorghe Anghelescu<EMAIL_ADDRESS>ha scritto:
@ahmedshuhel, @nexbit How is browser transpilation debugging better than server transpilation? I'm using server transpiled Typescript with inline source maps and I get both .js and .ts files available for inspection in developer tools and breakpoints are set on the .ts file.
—
Reply to this email directly or view it on GitHub.

@nexbit Let us know if the new bundler (v0.3.2) works for you without any intermediate setup.

@ahmedshuhel Tested 0.3.2 with both configurations (with and without pre-transpilation), and I can confirm it works flawlessly.
Thanks to all, keep up the good work!

Great! Thank you.


[2579] Remove ReviewSummary banner from confirm details show page.

Context
Remove the missing data blue notice banners.
Changes proposed in this pull request

Remove the ReviewSummary component from the confirm details show page.

Guidance to review

Navigate to an apply trainee which has missing details.
On the check-details page, click the Review data/Continue section links.
Ensure that the blue banner does not appear on any of these pages.
Ensure that the inset text highlighting the missing details does.
Check if there is anywhere else that it needs to be removed.

Before screenshot

After screenshot

 Remove missing data blue notice banners

checked on 4 trainees in different sections and couldn't see a blue box. Insert text was appearing as expected.
Let's merge!


hugolib: add new front matter field to use as the translation grouping key

This commit implements the suggested solution in issue https://github.com/gohugoio/hugo/issues/2699
I'm not sure on the simplest way of writing an automated test for this: I thought about adding a new test case in site_output_test.go, but maybe a full integration test is too much for this?
As an aside: I'm not sure why the logic that uses the section as part of the translation key is only used for nodes and not for content pages (it seems a sensible default to me), so I left it that way in my patch. I can submit a follow-up pull request to change it if you think it makes sense.
Thanks!
Mattia

This seems to have gone under my radar. This should be implemented already. Thanks for the PR!


[>=5.7.14] Breaking change when asserting json structure.

Laravel Version: >= 5.7.14
PHP Version: 7.1.3
Database Driver & Version: n/a

Description:
As of this commit: https://github.com/laravel/framework/commit/cfab97fbed78c1eddb9a570edcf69122ae197029, there seems to now be a bug where the second value passed to assertArrayHasKey() is not an array.
It appears that the commit is a breaking change for php versions less than 7.2.
More info.
During my team's investigation of this bug we were able to conclude that it does go away with a php upgrade, but that solution seems out of place for a minor release of Laravel. We also were able to conclude that as of the writing of this issue it only affects the two latest versions of laravel 5.7.14 and 5.7.15.
This issue seems to stem from the commit stated above (which was included in the .14 release, but not the .13 release)
When we deep dive further into why this might be happening and put a debugger inside the framework around this line from the 5.7.15 tag we saw that the data key from the paginator now had two items in it, one being a class and one being an array. The only other difference being that the keys were 10 and "10". So when the framework tries to assertArrayHasKey we error out because the item that shows up first (the "10") is an object, and is obviously not an array.

Steps To Reproduce:

Install a brand new Laravel project where the version of the framework is running 5.7.14 or greater, and a PHP version < 7.2
Create an entry in your routes/api.php file as follows. The goal of this entry is to mock the second page of a request based on the Laravel Paginator.

Route::get('test-failure', function () {
   $page = 2;
   $total = 1;
   $perPage = 15;

    $response = new \Illuminate\Pagination\LengthAwarePaginator([
       '16' => new \App\User(['name' => 'John Smith'])
    ], $total, $perPage, $page);
    return response()->json($response);
});

In the existing /tests/Feature/ExampleTest.php file, add the following test. It's goal is to just assert that we're getting the structure we'd expect from the paginator for our API..

    public function testThing()
    {
        $response = $this->json('get', '/api/test-failure');

        $response->assertJsonStructure([
            'data' => [
                '*' => [
                    'name'
                ]
            ]
        ]);
    }

If all the conditions described above are met when you run PHPUnit you should get something similar to this exception:
1) Tests\Feature\ExampleTest::testThing
PHPUnit\Framework\Exception: Argument #2 (No Value) of PHPUnit\Framework\Assert::assertArrayHasKey() must be a array or ArrayAccess

./vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestResponse.php:600
./vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestResponse.php:593
./vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestResponse.php:598
./tests/Feature/ExampleTest.php:19

ERRORS!
Tests: 2, Assertions: 3, Errors: 1.

In PHP 7.2 the reason this doesn't cause issues is because the new array with a key of 10 overwrites the original object with a key of "10" which looks like the intention of the new code that caused this breaking change.

Here's another example of this bug that demonstrates how this happens even if you use features like the collection's forPage function:
Route::get('test-failure', function () {
    $data = collect([
        new \App\User(['name' => 'John Smith']),
        new \App\User(['name' => 'Jane Doe']),
        new \App\User(['name' => 'John Doe']),
        new \App\User(['name' => 'Jane Smith']),
    ])->forPage(2, 2);

    $response = new \Illuminate\Pagination\LengthAwarePaginator($data, 4, 2, 2);
    return response()->json($response);
});

If you replace the route in @austinkregel's example with this route, and use the same test, you will see the exact same issue when you assert the JSON structure on the second page. Even more strangely, if you change my route to use forPage(1, 2) the test will pass.
Tl;dr: using assertJsonStructure on the first page of a paginated json response is successful, using assertJsonStructure on the second page of a paginated json response is unseccessful. This was tested using PHP 7.1.15.

Sent in a PR which now covers this scenario: https://github.com/laravel/framework/pull/26741


sensor.zonneplan_p1_electricity_production_compensation is unknown in the latest version

Hi all,
i've upgraded to the latest version a couple of days ago and since that time the "sensor.zonneplan_p1_electricity_production_compensation" state is unknown.
Before, this sensor did work and specified the compensation i recieved by delivering energy back to the supplier.
I really liked this insight.
Is this a bug or did the feature end?

Not sure where that sensor comes from, I do not recall that there was a compensation sensor. Did you create your own sensor bases on one of the sensors from the integration? Maybe based on the snippet that was part of the readme https://github.com/fsaris/home-assistant-zonneplan-one/commit/cf00e85337a830a72e3d6fb42b3c0d63a679815a#diff-b335630551682c19a781afebcf4d07bf978fb1f8ac04c6bf87428ed5106870f5L72
This is now available as Zonneplan P1 electricity returned today

Not sure where that sensor comes from, I do not recall that there was a compensation sensor. Did you create your own sensor bases on one of the sensors from the integration?

nope, it was really there in a previous version, i don't (yet) know how to create this by myself.
Alhough i will start to look into it.

Do you know what version (number) you used before?

Do you know what version (number) you used before?

I belief it was 0.11, but it might have been 0.12.
I'm not 100% sure between the two because i can't find any logging of the update :-(

checked the code again and the only sensor that was removed is highest_measured_power in the last x releases


Expose RenderingServer::canvas_item_add_animation_slice in GDScript

Currently this method is only exposed in GDScript via the draw_animation_slice method of CanvasItems. As RenderingServer.canvas_item_create returns RIDs, exposing this method is necessary for adding animation slices to canvas items created via GDScript.

Thanks! And congrats for your first merged Godot contribution :tada:


Adding support for executors to future.then

If there are no objections, I will merge this later today.


[WIP] Tokens Interface Design

Added description of Payment Method API

What is here looks good.
I don't see a way to set fees (build_fees_txn) or query fees (build_get_fees_txn).
Those were mentioned in the "Token library and CLI WBS" document.
I'm not sure if this is the place to include it, or if another pull request against this document should be made in the future, but there will also need to be libindy functionality to generically support 'paid credentials.'
In my view this could be done with an indy_issuer_create_paid_credential_offer that mimics indy_issuer_create_credential_offer, and an indy_prover_create_paid_credential_req that mimics indy_prover_create_credential_req.

@brentzundel

I've added missed build_fees_txn with getter. Thank you for note!
For me, @vimmerru and @ashcherbakov 'paid credentials' is scope of separate discussion, PR, etc.

I've added my approve for the PR, but there were some changes from me, so another one review is required.


docs: Remove bare URLs from Flow gRPC API Reference

The Flow gRPC API Reference contains bare URLs to Cilium's source code on GitHub and the W3C Trace Context specification. This changes the non-tabled bare URLs to Markdown links for an improved reading experience. Following this change, users can click on the links and directly access a page instead of having to copy and paste URLs. This also adds punctuation in several places for consistency.
I tested these changes locally.

Closing with intent to re-submit in the future.


SQL Database Projects: SqlStaticCodeAnalysisTask task was not found when building project

Azure Data Studio Version:
1.25.1
1.26.0 insiders

Steps to Reproduce:

Opened Sql Database project created in Visual Studio with "Enable Code Analysis on Build" Enabled.
Build Fails with

stdout: c:\Users\blah\.azuredatastudio-insiders\extensions\microsoft.sql-database-projects-0.5.1\BuildDirectory\Microsoft.Data.Tools.Schema.SqlTasks.targets(1345,7):
error MSB4036: The "SqlStaticCodeAnalysisTask" task was not found. Check the following:
1.) The name of the task in the project file is the same as the name of the task class.
2.) The task class is "public" and implements the Microsoft.Build.Framework.ITask interface.
3.) The task is correctly declared with <UsingTask> in the project file, or in the *.tasks files located in the "C:\Program Files\dotnet\sdk\5.0.100" directory. [d:\dev\blah\blah\src\Database\Database.sqlproj]

Opened Sql Database project created in Visual Studio with "Enable Code Analysis on Build" Disabled.
Build is successful!

needs to be done in DacFx

This should be resolved in SDK version > 0.2.3-preview


How can I ignore a rule for a single line?

Is there something like // eslint-ignore ?

I found what i was looking for -
    /// @custom:oz-upgrades-unsafe-allow constructor


Setup i18n for documentation

We should have a homepage call to action for translators. We can also consider using automated translations @jordanshatford

Closing this as i18n support is now available. We should create a new ticket for any locale we would like to add. And then I will add that locale (with basic google translated text).


Allow emulators

**IN PROGRESS, PLEASE DO NOT DELETE !!! **
What and why?

introduces storage emulator (currently POC only hence do not merge)
refactors pubsub emulator to separate tests from run-time
currently being used in the ras-rm-docker POC

/deploy pricem

/deploy pricem


replace 'config-yaml/configtxOrgs.json' with 'config-yaml/orgs/[peer/orderer]-[orgName].json

…orderer]-[orgName].json'
PULL REQUEST
說明 (Description)
請簡單說明此PR的更動、被修復的問題以及相關的原因，並請列出這個更動所需要的任何相依模組/套件。
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
相關問題 (Linked Issues)

#(issue1)
#(issue2)
#(issue3)

貢獻種類 (Type of change)

[ ] Bug fix (除錯 non-breaking change which fixes an issue)
[ ] New feature (增加新功能 non-breaking change which adds functionality)
[ ] Breaking change (可能導致相容性問題 fix or feature that would cause existing functionality to not work as expected)
[ ] Doc change (需要更新文件 this change requires a documentation update)

測試環境 (Test Configuration):

OS:
NodeJS Version:
NPM Version:
Docker Version:

檢查清單 (Checklist):

[ ] 我的程式碼遵從此專案的規範 (My code follows the style guidelines of this project)
[ ] 我有對於自己的程式碼進行測試檢查 (I have performed a self-review of my own code)
[ ] 我有在程式碼中提供必要的註解 (I have commented my code, particularly in hard-to-understand areas)
[ ] 我有在文件中進行必要的更動 (I have made corresponding changes to the documentation)
[ ] 我的程式碼更動沒有顯著增加錯誤數量 (My changes generate no new warnings)
[ ] 我有新增必要的單元測試 (I have added tests that prove my fix is effective or that my feature works)
[ ] 我有檢查並更正程式碼錯誤的拼字 (I have checked my code and corrected any misspellings)

我已完成以上清單，並且同意遵守 Code of Conduct
I have completed the checklist and agree to abide by the code of conduct.

[ ] 同意 (I consent)

rename 'orgConfigTx' to 'OrgDefinitionJson'


Add camera python bindings

Fix: https://github.com/f3d-app/f3d/issues/356

The python API is missing many tests. Should all bindings be tested ?


[BUG] Get-PnPAADUser Mail Property

Reporting an Issue or Missing Feature
I am reporting a bug
Expected behavior
Get-PnPAADUser shoud return mail property
Actual behavior
Get-PnPAADUser -Filter "DisplayName eq 'Yuriy Samorodov'" will not return mail

Steps to reproduce behavior
$props = @{
    CertificateThumbprint = $CertThumbprint
    ClientId = $ClientId
    TenantId = $TenantId
}
Connect-MgGraph @props
Get-PnPAADUser -Filter "DisplayName eq 'UserName'" -Select DisplayName, mail

What is the version of the Cmdlet module you are running?
ModuleType Version    PreRelease Name                                ExportedCommands
---------- -------    ---------- ----                                ----------------
Manifest   1.2.5      nightly    PnP.PowerShell                      {Add-PnPAlert, Add-PnPApp, Add-PnPApplicationCustoΓÇª

Which operating system/environment are you running PnP PowerShell on?

[ x] Windows
[ ] Linux
[ ] MacOS
[ ] Azure Cloud Shell
[ ] Azure Functions
[ ] Other : please specify

You're using the Graph SDK to connect (Connect-MgGraph). So you should be using the Graph SDK to get the user like this:
Get-MgUser -Filter "DisplayName eq 'Adele Vance'" -Select DisplayName, Mail

@derhallim , Get-MgUser is working just fine. However it's part of a different module MgGraph.
This request is specifically about Get-PnPAADUser included in PnP.PowerShell module

Got it, yeah I thought you're using MgGraph since it's in the snippet you shared initially.
You're right, the Mail is missing from the result, however with PnP PowerShell 1.2.11-nightly, you get the UserPrincipalName back.

@derhallim great news! However, please note UPN may be different from mail

Yep.


Remove 'null' package in test

Codecov Report

Merging #90 into master will decrease coverage by 5.17%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #90      +/-   ##
==========================================
- Coverage   56.49%   51.31%   -5.18%
==========================================
  Files          32       32
  Lines        2696     2588     -108
  Branches      436      431       -5
==========================================
- Hits         1523     1328     -195
- Misses       1037     1145     +108
+ Partials      136      115      -21

Impacted Files
Coverage Δ

...ns/performance/constraints/RelativeConstraint.java
1.73% <0%> (-47.62%)
:arrow_down:

.../performance/constraints/ConstraintEvaluation.java
37.5% <0%> (-12.5%)
:arrow_down:

...ns/performance/constraints/AbstractConstraint.java
50.76% <0%> (-11.54%)
:arrow_down:

...ns/performance/constraints/AbsoluteConstraint.java
72% <0%> (-6%)
:arrow_down:

...on/plugins/performance/PerformanceBuildAction.java
78.12% <0%> (-3.13%)
:arrow_down:

.../hudson/plugins/performance/PerformanceReport.java
76.87% <0%> (-0.58%)
:arrow_down:

...udson/plugins/performance/ExternalBuildReport.java

...a/hudson/plugins/performance/ThroughputReport.java
100% <0%> (ø)

...ain/java/hudson/plugins/performance/UriReport.java
69.93% <0%> (+1.22%)
:arrow_up:

...udson/plugins/performance/WrkSummarizerParser.java
100% <0%> (+5.88%)
:arrow_up:

... and 5 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 42762fe...69e9831. Read the comment docs.


Project tasks loading only when needed

Motivation and context

Resolve #3128. Trying to avoid unnecessary requests while fetching projects API.
How has this been tested?

Manually
Checklist

[x] I submit my changes into the develop branch
[x] I have added description of my changes into CHANGELOG file
- [ ] I have updated the documentation accordingly
- [ ] I have added tests to cover my changes
[x] I have linked related issues (read github docs)
[x] I have increased versions of npm packages if it is necessary (cvat-canvas,
cvat-core, cvat-data and cvat-ui)

License

[x] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.
[x] I have updated the license header for each file (see an example below)

# Copyright (C) 2021 Intel Corporation
#
# SPDX-License-Identifier: MIT

@ActiveChooN
Could you please look at remark lint issues and to cypress tests related with projects? (actions_projects)? They should not failed.
@dvkruchinin
Probably the tests in issues_prs and canvas3d_functionality should not be affected by this patch. It is not clear why them failed. Could you please take a look?

@bsekachev

Probably the tests in issues_prs and canvas3d_functionality should not be affected by this patch. It is not clear why them failed. Could you please take a look?

Sure. I`ll take a look.

BTW, should not we paginate project tasks? Now it lists (and fetches from the server) all the tasks. It is probably inefficient. Another question is how to list such tasks considering several subsets.

I looked at it. This is similar to a situation that has already occurred (https://github.com/openvinotoolkit/cvat/pull/3001/files). In this PR, a horizontal scroll bar appears.

@ActiveChooN
Could you please look at remark lint issues and to cypress tests related with projects? (actions_projects)? They should not failed.
@dvkruchinin
Probably the tests in issues_prs and canvas3d_functionality should not be affected by this patch. It is not clear why them failed. Could you please take a look?

Remark lint failed due to empty bullet list items. I Will check other related test failures.

BTW, should not we paginate project tasks?

Yes, it's a good idea. And better way to do it on a server and just to order tasks by subset and filter by project, then cache responses on a client. But it looks like a separate feature.


shims for __dirname so one code can output to both esm and cjs

Feature request
shim for _dirname or other features like this
This is something tsup supports (and esbuild) : https://github.com/egoist/tsup/blob/00188a0dc848c48fac45de245d1e021f370a84a3/src/cli-main.ts#L91
Motivations
My project export to both cjs and esm and being able to use the same code for both is needed
Alternatives
No response
Additional context
No response
Contributions

[ ] I plan to open a pull request for this issue
[ ] I plan to make a financial contribution to this project

You mean you'd like to use __dirname in ESM?
CommonJS is being phased out by Node in favor of the ESM standard, so it might be better to shim import.meta.url for CJS. I haven't tested yet but this might even work in CJS already.

I ended up using the following
import {dirname} from 'path';
import {fileURLToPath} from 'url';
const __dirname = dirname(fileURLToPath(import.meta.url));

and it indeed seems to be working
in the cjs it get transformed into :
path.dirname(url.fileURLToPath((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.src || new URL('index.cjs', document.baseURI).href))));

So I guess this works, not sure why it is that verbose though

There are more concise options: https://stackoverflow.com/questions/46745014/alternative-for-dirname-in-node-js-when-using-es6-modules
const __dirname = import.meta.dirname;
const __filename = new URL('', import.meta.url).pathname;
const __dirname = new URL('.', import.meta.url).pathname;

Anyway, closing as import.meta.url should be used.

Why I am getting this when compilling
const import_meta = {};
const __filename = fileURLToPath(import_meta.url);
const __dirname = dirname(__filename);


Move SwiftTryCatch into this repo directly

potential fix for #653
This is to avoid possible issues with incompatible dependencies, and the library is very simple to incorporate directly. I added it as a separate target/framework, since swift package manager cannot build mixed-language targets, so putting it in sourcery or sourceryframework were non-starters. I renamed the module as well in order to not conflict with others who might use the original version and this in the same package.swift file.
Pods have been updated as well by running pod install after removing it from the podfile.

          1 Error

:no_entry_sign:
Any changes to library code need a summary in the Changelog.

          1 Warning

:warning:
Big PR

  Generated by :no_entry_sign: Danger


Shifted position of expires_in fixes #31059

Description
Moves expires_in field after scope while configuring oauth2 datasource
Fixes #31059

Summary by CodeRabbit

New Features

Introduced a new input field for specifying "Authorization expires in (seconds)" in the Datasource form.

Improvements

Enhanced the logic for handling authentication parameters, improving readability and maintainability.
Adjusted input validation for better user experience.

@toffee-k21 any updates here?

Closing this PR due to no response.

/ok-to-test


[ufo3] font.dirty is set when opening a font

When creating a Font() object with a path passed as argument, dirty notifications are sent when layers are created and populated.
I have made it to print a stack trace when font.dirty is set:
  File "C:\Python34\lib\runpy.py", line 171, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Python34\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "C:\Users\Admin\Downloads\trufont\Lib\defconQt\__main__.py", line 10, in <module>
    font = TFont(os.path.abspath(sys.argv[1]))
  File "C:\Users\Admin\Downloads\trufont\Lib\defconQt\objects\defcon.py", line 15, in __init__
    super(TFont, self).__init__(*args, **kwargs)
  File "C:\Python34\lib\site-packages\defcon\objects\font.py", line 140, in __init__
    layer = self._layers.newLayer(layerName, glyphSet=glyphSet)
  File "C:\Python34\lib\site-packages\defcon\objects\layerSet.py", line 196, in newLayer
    self.dirty = True
  File "C:\Python34\lib\site-packages\defcon\objects\base.py", line 319, in _set_dirty
    self.postNotification(self.changeNotificationName)
  File "C:\Python34\lib\site-packages\defcon\objects\base.py", line 212, in postNotification
    dispatcher.postNotification(notification=notification, observable=self, data=data)
  File "C:\Python34\lib\site-packages\defcon\tools\notifications.py", line 195, in postNotification
    callback(notificationObj)
  File "C:\Python34\lib\site-packages\defcon\objects\font.py", line 874, in _objectDirtyStateChange
    self.dirty = True
  File "C:\Users\Admin\Downloads\trufont\Lib\defconQt\objects\defcon.py", line 20, in _set_dirty
    traceback.print_stack()

font: True!

  File "C:\Python34\lib\runpy.py", line 171, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Python34\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "C:\Users\Admin\Downloads\trufont\Lib\defconQt\__main__.py", line 10, in <module>
    font = TFont(os.path.abspath(sys.argv[1]))
  File "C:\Users\Admin\Downloads\trufont\Lib\defconQt\objects\defcon.py", line 15, in __init__
    super(TFont, self).__init__(*args, **kwargs)
  File "C:\Python34\lib\site-packages\defcon\objects\font.py", line 141, in __init__
    layer.dirty = False
  File "C:\Python34\lib\site-packages\defcon\objects\base.py", line 319, in _set_dirty
    self.postNotification(self.changeNotificationName)
  File "C:\Python34\lib\site-packages\defcon\objects\base.py", line 212, in postNotification
    dispatcher.postNotification(notification=notification, observable=self, data=data)
  File "C:\Python34\lib\site-packages\defcon\tools\notifications.py", line 195, in postNotification
    callback(notificationObj)
  File "C:\Python34\lib\site-packages\defcon\objects\layerSet.py", line 339, in _layerDirtyStateChange
    self.dirty = True
  File "C:\Python34\lib\site-packages\defcon\objects\base.py", line 319, in _set_dirty
    self.postNotification(self.changeNotificationName)
  File "C:\Python34\lib\site-packages\defcon\objects\base.py", line 212, in postNotification
    dispatcher.postNotification(notification=notification, observable=self, data=data)
  File "C:\Python34\lib\site-packages\defcon\tools\notifications.py", line 195, in postNotification
    callback(notificationObj)
  File "C:\Python34\lib\site-packages\defcon\objects\font.py", line 874, in _objectDirtyStateChange
    self.dirty = True
  File "C:\Users\Admin\Downloads\trufont\Lib\defconQt\objects\defcon.py", line 20, in _set_dirty
    traceback.print_stack()

font: True!

  File "C:\Python34\lib\runpy.py", line 171, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Python34\lib\runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "C:\Users\Admin\Downloads\trufont\Lib\defconQt\__main__.py", line 10, in <module>
    font = TFont(os.path.abspath(sys.argv[1]))
  File "C:\Users\Admin\Downloads\trufont\Lib\defconQt\objects\defcon.py", line 15, in __init__
    super(TFont, self).__init__(*args, **kwargs)
  File "C:\Python34\lib\site-packages\defcon\objects\font.py", line 144, in __init__
    self._layers.defaultLayer = self._layers[defaultLayerName]
  File "C:\Python34\lib\site-packages\defcon\objects\layerSet.py", line 115, in _set_defaultLayer
    self.dirty = True
  File "C:\Python34\lib\site-packages\defcon\objects\base.py", line 319, in _set_dirty
    self.postNotification(self.changeNotificationName)
  File "C:\Python34\lib\site-packages\defcon\objects\base.py", line 212, in postNotification
    dispatcher.postNotification(notification=notification, observable=self, data=data)
  File "C:\Python34\lib\site-packages\defcon\tools\notifications.py", line 195, in postNotification
    callback(notificationObj)
  File "C:\Python34\lib\site-packages\defcon\objects\font.py", line 874, in _objectDirtyStateChange
    self.dirty = True
  File "C:\Users\Admin\Downloads\trufont\Lib\defconQt\objects\defcon.py", line 20, in _set_dirty
    traceback.print_stack()

font: True!

One solution would be to start observing changes after the if path: block: this makes sense because we don't want to start monitoring changes before we have read existing data from the font file.
@typesupply Does this looks a good solution to you? Am I missing something here?

You could try something like we do when other sub-objects are loaded, for example features:
https://github.com/typesupply/defcon/blob/ufo3/Lib/defcon/objects/font.py#L481
Here:
https://github.com/typesupply/defcon/blob/ufo3/Lib/defcon/objects/font.py#L137
self._layers.disableNotifications()
layerNames = reader.getLayerNames()
# blah
# blah
# blah
self._layers.dirty = False
self._layers.enableNotifications()

I can't remember how deep the notification disabling goes. There may be some critical internal notifications below the layer set level that need to happen that could be blocked if notifications are turned off. I think disabling isolates it to the particular object so it may still be fine. It should be tested if you make the change.

Okay, thanks for the suggestion. Why not just delay the beginning of observation instead as I suggested? Isn't that simpler?
Also, would you want a pull request that adresses this problem?

What I mean is calling self.beginSelfLayerSetNotificationObservation() and the likes after initial objects are instanciated.

Okay, thanks for the suggestion. Why not just delay the beginning of observation instead as I suggested? Isn't that simpler?

You could experiment with that. I don't remember why I don't do that for the other objects.

Also, would you want a pull request that adresses this problem?

That would be great. My coding time is limited right now so any help is appreciated. I'm also trying to learn how to review code instead of writing it myself. :)

On Oct 24, 2015, at 8:37 AM, Adrien Tétar<EMAIL_ADDRESS>wrote:
Okay, thanks for the suggestion. Why not just delay the beginning of observation instead as I suggested? Isn't that simpler?
Also, would you want a pull request that adresses this problem?
—
Reply to this email directly or view it on GitHub.

Okay! Just another question: should converting from ufo1/ufo2 data set the font as dirty once loaded or not?

should converting from ufo1/ufo2 data set the font as dirty once loaded or not?

That's a tough one. If the format that will be written is not going to change, no. If it is going to change, yes. Maybe it should always flag it as dirty just to be safe.

Adrien, sorry if this has been discussed elsewhere, why not use the ufo3 branch?

why not use the ufo3 branch?

Well, it's pretty much what we are doing. This bug affects only the ufo3 branch.

DOH. Never mind :)


Add android and ios device support

Add android and ios device support.
Just like osu-framework.

Seems ios version should add permission first, see this article.
.
Maybe need to add osu.Framework.Microphone.iOS to override something.
Maybe see how osu.framework working.

#33 has been merged.


Auto Block information

There is no detailed information on where the Auto Block feature is or how to use it?

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

ID: edb744da-3e3f-20eb-5370-11669aa6db5d
Version Independent ID: 149607d8-898d-7e4f-1776-2a9fddcfb988
Content: Block spam numbers in the voice channel
Content Source: ce/customer-service/voice-channel-block-number.md
Service: dynamics-365-customerservice
GitHub Login: @mh-jaya
Microsoft Alias: v-jmh

Thanks for the feedback. The content has been updated to include specific information about the auto-block feature.
Here's the link to the updated topic:
Block spam numbers
Thanks,
Jaya