Integrating the arm with a mobile platform

Hello!
I am in the process of integrating the WidowX 250 arm with a robotic platform and I encountered some problems.
My robot uses these files to start the basic functionality:

robot.urdf.xacro - the URDF model of the robot
robot.launch - uploads the URDF model to the robot_description parameter and starts some nodes (including robot_state_publisher)

I wanted to extend the model by the URDF of the arm and start the arm controller nodes, so I added this to the robot.urdf.xacro file:
<xacro:arg name="robot_name" default="wx250"/>
<xacro:include filename="$(find interbotix_descriptions)/urdf/$(arg robot_name).urdf.xacro"/>

<joint name="arm_joint" type="fixed">
  <origin xyz="0.043 0 0"/>
  <parent link="base_link"/>
  <child link="$(arg robot_name)/base_link"/>
</joint>

and this to the robot.launch file:
<include file="$(find interbotix_sdk)/launch/arm_run.launch">
    <arg name="robot_name" value="wx250"/>
    <arg name="use_default_rviz" value="false"/>
</include>

And this seems to work. I can visualize the arm model attached to the robot in RViz and the topics and services for joint commands work.
Now, I wanted to add moveit functionality, so I set the use_moveit parameter to true:
<include file="$(find interbotix_sdk)/launch/arm_run.launch">
    <arg name="robot_name" value="wx250"/>
    <arg name="use_moveit" value="true"/>
    <arg name="use_default_rviz" value="false"/>
</include>

but this results in the arm's base link being attached to the world frame (due to arm's state publisher reading different robot_description), so the TF tree now has 2 root links.
I don't want to modify the packages without understanding the full concept, so I wanted to ask. Is there something I am doing wrong or the thing I am trying to do is not possible with the current state of the packages?

Hi @bjsowa,
It should not be necessary to include the URDF of the WX250 robot in your robot's URDF.xacro file as the interbotix_sdk package will load it for you automatically (you would still have to create the 'arm_joint' though). As you suspected, there will be two robot description parameters. One called 'robot_description' that will be hosting your mobile base, and then another called /wx250/robot_description for the interbotix arm. Setting the 'use_moveit' argument will result in two things happening. 1) the sdk node will start the follow joint trajectory action servers that MoveIt expects to see, and 2) the wx250.urdf.xacro file has a 'moveit' parameter that will create a joint between the world frame and the arm's base link frame. There are two reasons why the second thing happens - 1) if both MoveIt and Gazebo are being used, Gazebo will not fix the arm's base link to its own world frame unless the connection is specifically made in the URDF. Without the connection, the arm will just faceplant in Gazebo due to gravity. The second reason is so that no matter what arm you are using, all of them will share a common world frame so that if you are using Rviz with MoveIt, you don't have to keep changing the 'fixed frame' to /<robot_name>/base_link depending on what robot you have.
Since both of those reasons don't really apply to you (you are fixing the robot arm to a mobile base),  you could just go to the wx250.urdf.xacro file and comment out the xacro-if condition block that checks to see if MoveIt is being used and if yes, connects the world and base link frames (lines 20-26).
Let me know if that works for you!
Best,
Solomon

Just as an FYI, I plan to release an update soon that will open up a launch file argument allowing you to choose whether or not /<robot_name>/base_link will be connected to 'world'.

Update addressing this issue was released.

Sorry for the late replay and thanks for the update. I was going to create a PR which adds a similar option, but I also don't think there is a need for using the world frame in moveit.

if both MoveIt and Gazebo are being used, Gazebo will not fix the arm's base link to its own world frame unless the connection is specifically made in the URDF. Without the connection, the arm will just faceplant in Gazebo due to gravity.

This is a valid reason to fix the arm's base_link in Gazebo

The second reason is so that no matter what arm you are using, all of them will share a common world frame so that if you are using Rviz with MoveIt, you don't have to keep changing the 'fixed frame' to /<robot_name>/base_link depending on what robot you have.

I understand that you want a common RViz config for all arms, but I don't know if you realized that the fixed frame for RViz can be passed through a command arg. Please take a look at #11 which removes the use of world frame and fixed joint in moveit.
There are 2 reasons why I want to include the URDF of the arm into the URDF of the robot:

Viewing the robot's model with all the attached add-ons from a single RobotModel display in RViz:

making MoveIt aware of the robot's collision model when performing trajectory planning. This would require replacing the URDF and SRDF models read by MoveIt (robot_name/robot_description and robot_name/robot_description_semantic) and I have not came up with the idea of how to add such functionality yet.

This is a valid reason to fix the arm's base_link in Gazebo

Are you saying that you know a way to do this without using a world frame? I'm all ears if you do! Also regarding your PR, if you don't use a world frame, MoveIt get's mad that the 'root link' of the URDF contains inertial values. It's not an issue if you're placing the arm on a mobile platform, but it is an issue if you are using the arm standalone. If you know of a fix for this (that does not involve creating a dummy link - since that just feels like bad design) that will work regardless if MoveIt is used in Gazebo (without faceplanting) or on the physical robot, I'd appreciate it!

I understand that you want a common RViz config for all arms, but I don't know if you realized that the fixed frame for RViz can be passed through a command arg. Please take a look at #11 which removes the use of world frame and fixed joint in moveit.

I did not know that this was possible. Thanks for bringing it to my attention.

There are 2 reasons why I want to include the URDF of the arm into the URDF of the robot:

Currently, I'm designing 4 mobile platforms complete with Interbotix Arms. The way I've worked around your first issue about having a single robot_description parameter is to include the arm's urdf.xacro file into your own URDF file, and load the whole thing to /<robot_name>/robot_description (note that you would have to edit line 15 here so that instead of loading <robot_model>.urdf.xacro, you load <your_robo_urdf>.urdf.xacro file). Normally, when using a standalone Interbotix arm, the robot_name and robot_model launch file arguments would be equivalent. However, if using a mobile platform, you can specify robot_name as mobile_wx250 and robot_model as wx250. Then your URDF will be launched in /mobile_wx250/robot_description, and the interbotix_sdk will still know what arm you are using from the robot_model argument. Additionally, the interbotix_sdk's get_robot_info service parses the /<robot_name>/robot_description parameter so that it can get joint limit info - so the Interbotix arm's URDF must be in that parameter.
About the second issue...
Once you have your overall robot in mobile_wx250/robot_description, that's what MoveIt will see as well. So to get the SRDF up to date, place your custom SRDF file (look at the last paragraph to see how to make it) in the interbotix_movet/config/srdf directory and call it something meaningful (like 'mobile_wx250'). Then in the planning_context launch file (line #15), change $(arg robot_name).srdf.xacro to mobile_wx250.srdf.xacro.
Unfortunately, I did not include a robot_model argument/parameter in the interbotix_moveit package as at the time (six months ago or so), I was only designing for the arms to be used as standalone robots. Ideally though, you could then launch the interbotix_moveit.launch file, setting robot_name:=mobile_wx250, and robot_model:=wx250. (I'll try to work on that soon. From this conversation, it also looks like adding a third argument like robot_file would be beneficial. robot_file would default to robot_model but could be changed to point to a custom URDF or SRDF file so the modifications I discussed in the paragraph above wouldn't be necessary).
Regarding generating the custom SRDF, the best way to do that is run the MoveIt Setup Assistant Wizard on your full robot to generate a raw 'moveit' package (nothing fancy - just run the 'self-collisions' tab, add 'author information' go to 'Configuration Files', choose a temp directory and generate the files) . Next, create a duplicate of the 'wx250.srdf.xacro' file located in the interbotix_moveit/config/srdf directory and call it 'mobile_wx250.urdf.xacro'. Then all you have to do is compare the SRDF you generated with the duplicate and add the right 'disable collision' tag info (between the arm and your base) to the duplicate file (also change the robot name in the SRDF to the robot name you used in your custom URDF).
I think that should do it. Before I do any modifications though, I'd appreciate hearing your answers to my questions and thoughts on my approach.

Are you saying that you know a way to do this without using a world frame? I'm all ears if you do! Also regarding your PR, if you don't use a world frame, MoveIt get's mad that the 'root link' of the URDF contains inertial values.

I was saying that arm's base link should be fixed to the world frame in Gazebo, but does not have to be fixed on the real robot which I showed in #11.
About the warning about the root link containing inertial values, I might not be 100% sure but I think it is only an issue, when KDL is used to calculate things related to robot's dynamics. As far as I know, MoveIt does not use these functionalities and the warning can be ignored.

I don't have any issues with using moveit even though the KDL warning shows. I was even able to use the KDL kinematics solver without any problems

I was saying that arm's base link should be fixed to the world frame in Gazebo, but does not have to be fixed on the real robot which I showed in #11.

Ok, I'm not sure I like that approach since I feel that the setup should be consistent regardless if you are using a MoveIt generated fake robot, a Gazebo simulated real robot, or the actual physical robot. By including an optional world frame that attaches to the base link in the URDF, that gives you the freedom to toggle it on/off for all three setups in one shot. Also, I understand that the KDL warning doesn't cause any issues, but as the world frame will take care of that issue as well, it's another small reason to keep it.

Ok, I restored the use_world_frame parameter in #11 to the way it was before. Could you give feedback in the Pull Request now?

I have a robot that starts the arm driver (arm_run.launch) and a computer which is configured to be visible in the ROS network. I want to run the examples from my computer. All of the example launch files include the arm_run.launch file which tries to run the driver. That results in failure because the arm is not connected to the computer but is remotely controlled.
A solution I propose is to add an argument to the launch files that would let the user choose whether to run the driver (include the arm_run.launch). The interbotix_moveit.launch allows such option by leaving all use parameters to false.

I see.
The reason the interbotix_moveit.launch file is structured the way it is, is because there are three ways one can control the arm there. If the 'use_actual' argument was always set to 'true', a user would always have to set it to false before setting another control method (gazebo or fake) to 'true' if that's what the user wanted to do - which isn't great from a design perspective.
Regarding the interbotix_example packages, there's only one way for the packages to run, and that's via the arm_run.launch file. As such, I didn't feel the need for there to be a 'use_actual' argument. Additionally, each example package has slightly different configurations for the arm_node parameters. If the arm_run.launch file was made optional in these scenarios, it would be up to the user to correctly set the arm_node parameters on the robot for a specific example package and correctly load the robot_description parameter - which seems a bit of a hassle. In other words, there's no magic configuration of the arm_run.launch file that would allow all the example packages to work.
On a different note, the 'interbotix_moveit_interface' package and the 'python_demo' scripts already can run on a remote computer while the arm_run.launch file runs on the robot itself.

The reason the interbotix_moveit.launch file is structured the way it is, is because there are three ways one can control the arm there. If the 'use_actual' argument was always set to 'true', a user would always have to set it to false before setting another control method (gazebo or fake) to 'true' if that's what the user wanted to do - which isn't great from a design perspective.

I understand the motivation behind the parameters and also think this is a good design. I am just saying that it allows, intentionally or not, to use the driver that is already running on the ROS network (either real or simulated).

each example package has slightly different configurations for the arm_node parameters. If the arm_run.launch file was made optional in these scenarios, it would be up to the user to correctly set the arm_node parameters on the robot for a specific example package and correctly load the robot_description parameter - which seems a bit of a hassle.

I don't see a problem with it. Do you perhaps see a better solution?

On a different note, the 'interbotix_moveit_interface' package and the 'python_demo' scripts already can run on a remote computer while the arm_run.launch file runs on the robot itself.

I tested the python scripts and they worked as expected which is nice. But I also think that at least the joy_control.launch file should give the user the option to not run the driver.
My proposition:
  <arg name="run_arm"                         default="true"/>

  <include if="$(arg run_arm)" file="$(find interbotix_sdk)/launch/arm_run.launch">

Hi @bjsowa,
I've implemented an 'arm_run' launch file argument in the interbotix_examples ROS packages that addresses this issue. Feel free to take a look!

Thanks, that's all I have for now. I'm closing the issue.


feat request: option to adjust dynamic transition angles

sometimes you can end up looking at such an angle that the vanilla hand is still present but way too low, especially when placing blocks in front of you which can look rather strange. an option to change the specific angle values the transition is done in would be nice, as well as a minimum transition time so the hand doesn't just pop in/out when the min/max angles are set to the same value.

I'm not sure I can follow. Are we talking about vanilla hands with dynamic hands? The transition point there is picked based on when the item is already going offscreen, in addition to moving the arm down so the transition can't be seen. Changing that transition point would just make it more obvious or there would be a big gap in the angles where you cant see the transition at all.

Not sure what you mean with transition time, as time is not used at all for this, purely angle-driven.


Enhancenment WebSocketTests

In need of testing scalatra atmosphere I did not find a dedicated testing framework for async websockets.
So this pull-request contains a testing based on jetty-websocket-client mixed as a Suite. See an easy-to-understand example with an websocket-echo-server.
(I had to upgrade the version of jetty contained, and the existing JettySpec is fixed / should be still working.)
Don't hesitate to comment.
Kind regards, Jan

sbt test or testQuick run until a certain point and than hangs at different points.
I hope Travis CI will check for that correctly.

outdated


fix(behavior_path_planner): fix straight turn signal end point

Description
Usually, the end point of the straight lane has not big angle difference from other points on the lane. Therefore, the required endpoint becomes the start point of the lane, which makes the required section disappear. In this PR, I made the required position at the center of the lane.

Tests performed

Not applicable.
Effects on system behavior

Not applicable.
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

@purewater0901 I will be closing this PR since the behavior_path_planner has been refactored and the PR is no longer valid. Feel free to recreate the PR from updated main branch if you still need this change.


proto: split Tracing.Http and provider-specific configurations out of trace.proto

Description: split Tracing.Http and provider-specific configurations out of trace.proto
Risk Level: Low
Testing: TBD
Docs Changes: N/A
Release Notes: N/A
Fixes: #10576
Context:

this PR eliminates the dependency HCM => OpenCensus that caused #10576
moving provider-specific configuration out of config.trace into extensions.tracers.<provider> will be done in a separate PR
related to #9998

@mattklein123 @htuch
I'm trying to split trace.proto into individual files, but still maintain backwards compatibility.
Specifically, I'm using import public ... for that.
config/trace/v3/trace.proto:
syntax = "proto3";

package envoy.config.trace.v3;

import "udpa/annotations/status.proto";

import public "envoy/config/trace/v3/datadog.proto";
import public "envoy/config/trace/v3/dynamic_ot.proto";
import public "envoy/config/trace/v3/lightstep.proto";
import public "envoy/config/trace/v3/opencensus.proto";
import public "envoy/config/trace/v3/service.proto";
import public "envoy/config/trace/v3/tracing.proto";
import public "envoy/config/trace/v3/zipkin.proto";

option java_package = "io.envoyproxy.envoy.config.trace.v3";
option java_outer_classname = "TraceProto";
option java_multiple_files = true;

However, auto-generated file trace.pb.validate.h has contents different from what I expect - it doesn't define Validate() functions.
On one hand, it's reasonable because Validate() functions are defined in individual files like zipkin.pb.validate.h.
On the other hand, in case of api/v2/route/route.proto and api/v2/route/route_components.proto Validate() functions go into route.pb.validate.h while route_components.pb.validate.h is not created at all.
Can you give me hint what's the difference? Why do *.pb.validate.h get generated differently ?
And another question, is it necessary to maintain backwards compatibility for *.pb.validate.h files ?

Follow-up:
I've checked the effect of splitting trace.proto on the source code generated by protoc-gen-validate:

for Go, Java and (hopefully) Python there will be no side-effects
for C++ Validate(..) functions will be generated into different files than before, which means that client code will stop compiling. On the bright side, the issue is immediately visible

So, since the scope of client code affected by this refactoring is quite limited, I will go ahead with it.

@htuch Could you please advise why v4alpha API build is failing after config.trace.v3.OpenCensusConfig has been moved to extensions.tracers.v4alpha.OpenCensusConfig ?
envoy/extensions/tracers/opencensus/v4alpha/opencensus.proto:47:3: "opencensus.proto.trace.v1.TraceConfig" is resolved to "envoy.extensions.tracers.opencensus.proto.trace.v1.TraceConfig", which is not defined. The innermost scope is searched first in name resolution. Consider using a leading '.'(i.e., ".opencensus.proto.trace.v1.TraceConfig") to start from the outermost scope.
envoy/extensions/tracers/opencensus/v4alpha/opencensus.proto:7:1: warning: Import opencensus/proto/trace/v1/trace_config.proto but not used.
envoy/extensions/tracers/opencensus/v4alpha/opencensus.proto:9:1: warning: Import udpa/annotations/status.proto but not used.
envoy/extensions/tracers/opencensus/v4alpha/opencensus.proto:10:1: warning: Import udpa/annotations/versioning.proto but not used.
envoy/extensions/tracers/opencensus/v4alpha/opencensus.proto:11:1: warning: Import validate/validate.proto but not used.

When I follow the advice from the warning message and add leading ".", the build starts working again.

@yskopets no need to maintain backwards compatibility for PGV C++ headers, this is not guaranteed by the stable API versioning guidelines today (maybe it should?).
On the v4alpha issue I think the problem is protoc is getting confused; you have both the opencensus name in the namespace hierarchy containing the file where we reference the opencensus external root-level hierarchy. Hence you need the . to force it to resolve from root. This is the same as in C++, see places where we have to do ::Envoy to reference something in the code base.

@htuch Thanks!
I confirm that opencensus issue is indeed caused by name resolution rules of protoc.
However, the next problem is that api tooling doesn't allow me to use fully-qualified name .opencensus.proto.trace.v1.TraceConfig.
When I run
./tools/proto_format/proto_format.sh check

I get back
Please apply following patch to directory './api'
diff -Npur a/envoy/config/trace/v3/opencensus.proto b/envoy/config/trace/v3/opencensus.proto
--- a/envoy/config/trace/v3/opencensus.proto	2020-04-13 18:37:37.000000000 +0200
+++ b/envoy/config/trace/v3/opencensus.proto	2020-04-13 18:49:02.000000000 +0200
@@ -55,7 +55,7 @@ message OpenCensusConfig {
   // since 'opencensus' segment in the latter name causes Protobuf compiler
   // to resolve relative name 'opencensus.proto.trace.v1.TraceConfig' into
   // 'envoy.extensions.tracers.opencensus.proto.trace.v1.TraceConfig'.]
-  .opencensus.proto.trace.v1.TraceConfig trace_config = 1;
+  opencensus.proto.trace.v1.TraceConfig trace_config = 1;

   // Enables the stdout exporter if set to true. This is intended for debugging
   // purposes.
diff -Npur a/envoy/extensions/tracers/opencensus/v4alpha/opencensus.proto b/envoy/extensions/tracers/opencensus/v4alpha/opencensus.proto
--- a/envoy/extensions/tracers/opencensus/v4alpha/opencensus.proto	2020-04-13 18:37:53.000000000 +0200
+++ b/envoy/extensions/tracers/opencensus/v4alpha/opencensus.proto	2020-04-13 18:49:04.000000000 +0200
@@ -44,6 +44,14 @@ message OpenCensusConfig {
   reserved 7;

   // Configures tracing, e.g. the sampler, max number of annotations, etc.
+  //
+  // [#comment:Notice that although use of fully-qualified name
+  // '.opencensus.proto.trace.v1.TraceConfig' is not mandatory in the context of
+  // 'envoy.config.trace.v3.OpenCensusConfig', it is mandatory in the context of
+  // 'envoy.extensions.tracers.opencensus.v4alpha.OpenCensusConfig'
+  // since 'opencensus' segment in the latter name causes Protobuf compiler
+  // to resolve relative name 'opencensus.proto.trace.v1.TraceConfig' into
+  // 'envoy.extensions.tracers.opencensus.proto.trace.v1.TraceConfig'.]
   opencensus.proto.trace.v1.TraceConfig trace_config = 1;

   // Enables the stdout exporter if set to true. This is intended for debugging

which strips away the leading "." I've just added.
Should I open an issue for tools/api ?

@yskopets yep, that is a bug resulting form the fact that we normalize all the types when we run protoxform. I think we should continue to normalize all envoy. prefixed types but not do this for the rest.

opened #10755


Re-apply the micro-optimizations and parent fix from #1961.

from #1961

@dm1try care to review & merge?

@dblock lgtm, thanks)


Adding new site for software & games..

Just adding one website for free software download and another one for download free pc games..

filehippo is only freeware and shareware, and it looks like crotorrents hasn't been updated since 2021, but the stuff that's up is still valid :/


Rate limiter source extractor header name handling of requests without the header name

Welcome!

[X] Yes, I've searched similar issues on GitHub and didn't find any.
[X] Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What did you expect to see?
I have just successfully implemented the rate limiter middleware for my application and everything is working as it should, which is great, thanks!
I was left with 1 problem.
Below is an image of my current (debugging) configuration of the rate limiter middleware.

I've specified the sourceCriterion as requestHeaderName because the functional requirement of this rate limiting, is to rate limit API keys. All incoming API requests should have the header name present, or they will be served a 401 response.
This is where my problem lies. After some digging through the (Traefik) code (we're currently running on 3.0.0-beta5), I found that the value returned when a header name is not present is simply an empty string. So all requests without the header are grouped. This is not desired in our case. I had hoped that requests without the specified header name would simply not be rate limited.
I am wondering what your view on this is. And if you are open to any changes regarding the behaviour of the rate limiter with the sourceCriterion being requestHeaderName in the case that the header name is empty.
In this case I see 2 options:

Disable rate limiting for the mentioned case.
Implement an extra option that allows to specify the behaviour in this case (current behaviour or disabled rate limiting).

In case changes are welcomed, I would be happy to take a shot at it and present a PR to accomplish the change. If you have a different suggestion, I would also gladly see it. Thanks!
(And in case it helps, here is my configuration for the middleware)
http:
  middlewares:
    rate-limit:
      rateLimit:
        average: {{ env "RATE_LIMIT_AVERAGE" }}  # Allow a maximum x requests / period
        period: {{ env "RATE_LIMIT_PERIOD" }}  # Allow a maximum of average requests / y seconds
        burst: {{ env "RATE_LIMIT_BURST" }}  # Allow a maximum of z requests within an infinitesimally small time-window
        sourceCriterion:
          requestHeaderName: Authentication-Key

Hello @arendhummeling ,
thank for your interest in Traefik.
If I understood correctly, you aim to return a 401 when the header name is not present (return by your backend I guess).
I can suggest you a workaround. You can define 2 routes like this:
http:
  routers:
    RouterWithRatelimit:
      entryPoints:
        - web
      middlewares:
        - rate-limit
      service: myBackend
      rule: Host(`example.com`) && HeaderRegexp(`Api-Key`, `^.+$`)

    RouterWithOutRatelimit:
      entryPoints:
        - web
      service: myBackend
      rule: Host(`example.com`)

By using https://doc.traefik.io/traefik/v3.0/routing/routers/#header-and-headerregexp, only request that contains the header is ratelimited.
Still, we are interested in this issue, but we’re unsure about the use case and the traction it will receive. We are going to leave the status as kind/proposal to give the community time to let us know if they would like this idea.
We will reevaluate as people respond.
If you or another community member would like to build it before that happens, let us know, and we will work with you to make sure you have all the information needed.
Let us know here before you start. We prefer to work with our community members at the beginning of the design process to ensure that we are aligned and can move quickly with the review and merge process.

@lbenguigui I'm running into exactly the same issue, where the use case involves rate-limiting on the contents of the Authorization header's value. In an ideal world as a user, I would like these requests to be either returned with a 401 or even though less ideal a 429 instead of being grouped under the same bucket and forwarded to the backend.
Note. The proposed workaround doesn't scale and become quite error prone at +100 routers, in addition ti just forwards the request regardless of rate-limiting directly to the backend.

Hello @xinau,
Thanks for your interest in Traefik.
This proposal addresses configuring the default behavior when the sourceCriterion is absent in the request by choosing between:
1 - Do not apply rate limiting to the request
2 - Maintain the current behavior (requests share the same 'bucket')
Before moving forward on it, we want to know if there is any traction on this proposal.
It seems your use case might be slightly different and may require a dedicated issue.

Hello @arendhummeling,
This proposal has almost no traction.
We won't add it to the Roadmap yet and we prefer to close it.
We'll re-open it later if necessary.


allow unit test of extra-components (IDFGH-3369)

The 'unit-test-app' should inherit idf.py "-D EXTRA_COMPONENT_DIRS"
In this way, a project that has non-IDF components can be easily tested.
PROJECT_DIR=`realpath .`
BUILD_DIR=$PROJECT_DIR/testBuild/
EXTRA_COMPONENT_DIRS=$PROJECT_DIR/components/
pushd "$IDF_PATH/tools/unit-test-app"
idf.py -B "$BUILD_DIR" -D EXTRA_COMPONENT_DIRS="$EXTRA_COMPONENT_DIRS" -T customProject   build flash monitor
popd

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks @redengin for your contribution, we will merge it ASAP.

Hi @redengin This PR is in our review list now, thanks for your contribution again. BTW, ESP-IDF does have a way to test users' own components, see this example: https://github.com/espressif/esp-idf/tree/master/examples/system/unit_test

Hi @redengin This PR is in our review list now, thanks for your contribution again. BTW, ESP-IDF does have a way to test users' own components, see this example: https://github.com/espressif/esp-idf/tree/master/examples/system/unit_test

I based the script above on the guidance you've identified. The critical piece being the definition of EXTRA_COMPONENT_DIRS for components that aren't part of the ESP-IDF base. If I've misunderstood, I'd like to know how to make my usage more conventional.

Can appending extra component to https://github.com/espressif/esp-idf/blob/master/examples/system/unit_test/test/CMakeLists.txt#L6 work for you? And specify the components you want to test in TEST_COMPONENTS or by idf.py -T xxx.

Can appending extra component to https://github.com/espressif/esp-idf/blob/master/examples/system/unit_test/test/CMakeLists.txt#L6 work for you? And specify the components you want to test in TEST_COMPONENTS or by idf.py -T xxx.

I apologize for the delay, I just moved across the country.  The suggestion above doesn't fit my use-case as I want to keep my development separate from the esp-idf - in this way I can upgrade esp-idf without merge conflicts.

Thanks for your contribution, please refer to https://github.com/espressif/esp-idf/commit/9a21b7e397cf78c5710907cfffbf7a1d17905e2b, will close the PR now.


add missing semicolon

…doesn't really matter at all, but may as well be consistent.

Haha, thanks :)


Dialog is disappearing automatically

Testing #183658
The dialog is disappearing automatically after sometime. If I am slow reader, I would miss it and I do not know how to get it back. Probably we shall show this until user closes it?

+1 on this, especially that this UX element is only shown once.

This has been fixed with: https://github.com/microsoft/vscode/pull/184876


move OCPBUGS-16655 SL into the osd folder

I put it at the root of the repo on accident...
OSD-18461

/lgtm

/approve


10957 zoom to entities without globe fix

Fixes #10957 .

Added 2 lines which check for the presence of a globe & terrain provider and adds a substitute ellipsoid if globe doesn't exist.
Based on the description for the issue, I looked at the other visualizers and didn't see this needed in any of the others

The behavior noted from the issue is fixed

Thanks for the pull request @fullstacc!

:x: Missing CLA.

Please send in a Contributor License Agreement (CLA) and comment back here to let us know to check this!

:grey_question: CHANGES.md was not updated.

If this change updates the public API in any way, please add a bullet point to CHANGES.md.

:grey_question: Unit tests were not updated.

Make sure you've updated tests to reflect your changes, added tests for any new code, and ran the code coverage tool.

Reviewers, don't forget to make sure that:

[ ] Cesium Viewer works.
[ ] Works in 2D/CV.

CLA submitted

hi @ggetz ! I'm revisiting this after repeated tries last week. It looks like the CI build fails due to an issue importing the Viewer in the createViewer file. I imported and leveraged createViewer to test my modelvisualizer changes, but I didn't modify the createViewer file.
Should I not be using this createViewer for my tests?

Hi @fullstacc, createViewer depends on widget code, which is a higher level of abstraction than the visualizer code. So really, any test calling viewer.zoomTo belong in ViewerSpec.
To be more explicit about the architecture, and to keep this from happening in the future, I moved createViewer to packages/widgets/Specs.
Additionally, zoomTo returns a promise which needs to be awaited, otherwise side effects will occur.
Finally, we use the defined function to check for both undefined and null.
I pushed a fix with the above changes.


Get incorrect package from SSL_read() with 3.0.10 ver.

Hi,
I got incorrect package from SSL_read for DTLSv1.2, with OPENSSL 3.0.10.
I have called SSL_read 10 times. The return values of the 1, 2, 3, 5, 7, and 9 are > 0, and the return values of the 4, 6, 8, and 10 are less than zero.
Among the results with return values greater than zero, the package message of the third package is incorrect.
I logged the buffer at the start of the dtls1_read_bytes() and after the line memcpy(buf, &(SSL3_RECORD_get_data(rr)[SSL3_RECORD_get_off(rr)]), n). Here I name the log at the start of the dtls1_read_bytes() as "log1", and name the log after memcpy as "log2". And I add a serial number to the log in the format of [id1][id2]."[id1]" indicates the [id1]th time the SSL_read function is called, and "[id2]" indicates the [id2]th time the SSL_read dtls1_read_bytes is called.
In log1, I found the incorrect message [3][11] is a part of [4][12], which is no return by SSL_read.
Here is my code for getting the log:
log1:
/-------------------------------------/
start:
s->rwstate = SSL_NOTHING;
/*-
 * s->s3.rrec.type     - is the type of record
 * s->s3.rrec.data,    - data
 * s->s3.rrec.off,     - offset into 'data' for next read
 * s->s3.rrec.length,  - number of bytes.
 */
rr = s->rlayer.rrec;
dump_ssl_buf(&(SSL3_RECORD_get_data(s->rlayer.rrec)[SSL3_RECORD_get_off(s->rlayer.rrec)]), len,"/data/ssl_log/log1.txt",log_id);
/*
 * We are not handshaking and have no data yet, so process data buffered
 * during the last handshake in advance, if any.
 */

/-------------------------------------/
log2:
/-------------------------------------/
    if (len > SSL3_RECORD_get_length(rr))
        n = SSL3_RECORD_get_length(rr);
    else
        n = len;

    memcpy(buf, &(SSL3_RECORD_get_data(rr)[SSL3_RECORD_get_off(rr)]), n);
    dump_ssl_buf(buf, n,"/data/ssl_log/log2.txt",log_id);

    if (peek)
    {

/-------------------------------------/
log1.txt
log2.txt

Additionally, I found the buffer address in log1 [3][11] is different from other, so I guess this bug is caused by the address offset.

I got incorrect package from SSL_read for DTLS1.3, with OPENSSL 3.0.10.

DTLS-1.3 is not supported by OpenSSL yet. So this is confusing report.
Is your application multithreaded?

Sorry for confusing by mistake. I actually use DTLSv1.2.
Is your application multithreaded?
->Yes. but there is only one receive thread

Theres not enough information here to make a solid determination as to whats going on.  Lets start at a high level and work our way down.  When you call SSL_read, and get a return value < 0, whats the output of SSL_get_error?

->Yes. but there is only one receive thread

What about the writer thread(s)? Is it separate from the receive thread or is it the same thread? If they are separate thread, can reads and writes happen simultaneously?

My high level stack is LwM2M -> CoAP -> DTLS. When LwM2M run bootstrip process, I found some packages were truncated from SSL_read(), Also, SSL_read has high failure frequency，with SSL_get_error = 2.
I've checked my TX/RX threads, SSL_read and SSL_write are protected by mutex_lock.

When you get an SSL_read error, what is the output of ERR_print_errors?

After I modify the size for SSL_read, this issue seems fixed.
Before:
        numBytes = recvfrom(fd, buffer, 1024,MSG_PEEK, (struct sockaddr*)&addr_str, (int32_t*)&addrLen);
          SSL_read(ssl, buffer, numBytes );

After
numBytes = recvfrom(fd, buffer, 1024,MSG_PEEK, (struct sockaddr*)&addr_str, (int32_t*)&addrLen);
SSL_read(ssl, buffer, 1024);


Rotated Slider

Steps to reproduce

Install slider
Include slider
Move slider

Expected behaviour
Move along with the mouse
Actual behaviour
The slider shows a strange behavior: when I start to move the slider , It moves in opposite direction.
 <rzslider rz-slider-model="vm.priceSlider.value" rz-slider-options="vm.priceSlider.options" style="transform: rotate(3.2108rad);"></rzslider>

We don't support rotation on the sliders. However, we do support vertical slider by setting the  vertical option to true.

Closing as there was no answer for a while. Comment to re-open 😉


Lua code generation

Here's an idea for another code generation type...  Would be useful for FiveM.

I don't mind it being an option but it isn't something I'm willing to implement myself. Someone made a PR (#21) for it in the past but they ended up abandoning it.

I know TS and Lua but not sure how the code generation stuff works

Code generators are implemented here which can then be added to the UI here. But don't feel pressured to contribute.


change name of array for pseudopotential

This PR is based on @syamada0 san's request.
I change name of array for pseudopotential. For variables about pseudoptentails, I put suffix "_all" to the variables used in a whole region, and remove suffix "2nd" from the variables used in parallelized regions. I also modify src/GCEED/module/hpsi2_test.f90. I confirmed that results don't change even if an option HPSI_TEST=ON is used.
In addition, I also remove the part related to iwk_size=11 or 12 because this part is not used at the moment.
@syamada0 san, could you check this PR?

Thank you @mn2007 san, I will check it later.

@mn2007 san, thank you so much for responding to my request.
I checked the code and confirmed that there was no problem.

Thank you for checking and merging, @syamada0 san.


Fixed implementation for query timeout and applied it to pdo::exec

Coverage decreased (-0.02%) to 73.401% when pulling 09fa1328ffdc4636c8b114fd80130217e3b3104f on yitam:bug1027 into fdf029d2694728a9039c34ffecfba2ee94e6cc9e on microsoft:dev.


Create schema without default values

When creating schemas I don't always want to set initial values.
Let's say we want to describe this type in a schema:
type ComponentMap = Record<string, { id: string; name: string; }>;

How the current schema builder works is that you have to pass in default values like so:
s.obj({
  key: s.obj({
    id: s.con(""),
    name: s.con("")>
  })
})

There are a couple of problems with this:

we have a default value { key: { id: "", name: "" } } that we have to override
we have a key key but in this case I just want to have a Record<string, ...>

Ideas:

make default values optional or provide an option noDefaultValues
provide a s.record() schema type like zod does

Examples:
s.record(
  s.con<string>(),
  s.obj({
    id: s.con<string>(),
    name: s.con<string>()
  })
)

I found out that there is a .map builder which solves issue 2. but issue 1. still remains


CognitoIdp fixes

TokenType added to "AuthenticationResult"
Username corrected in ChalengeParameters

Codecov Report

Merging #4518 (18d830b) into master (7764a94) will increase coverage by 0.00%.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #4518   +/-   ##
=======================================
  Coverage   95.19%   95.20%
=======================================
  Files         512      512
  Lines       57859    57868    +9
=======================================
+ Hits        55081    55095   +14
+ Misses       2778     2773    -5

Flag
Coverage Δ

servertests
48.17% <ø> (+<0.01%)
:arrow_up:

test_responses
32.30% <ø> (+<0.01%)
:arrow_up:

unittests
95.11% <ø> (+<0.01%)
:arrow_up:

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

Impacted Files
Coverage Δ

moto/cognitoidp/models.py
94.91% <ø> (ø)

moto/s3/responses.py
95.68% <0.00%> (+<0.01%)
:arrow_up:

moto/s3/exceptions.py
91.34% <0.00%> (+0.27%)
:arrow_up:

moto/batch/models.py
89.21% <0.00%> (+0.59%)
:arrow_up:

moto/support/models.py
92.85% <0.00%> (+0.89%)
:arrow_up:

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 7764a94...18d830b. Read the comment docs.


Sender Views the Confirmation for a Selected Submission

Problem Statement
As a Sender, I need to be able view the confirmation details for a specific submission so that I will know to which PHD(s) the file was sent.
Design
https://www.figma.com/proto/VrSkTA87t8PPeXPugQ0i8O/ReportStream?page-id=1868%3A15072&node-id=1868%3A15230&viewport=241%2C48%2C0.84&scaling=min-zoom&starting-point-node-id=1868%3A15591
Acceptance Criteria

Given I

Am logged into ReportStream as a Sender

When I

Log into ReportStream
Choose to view Submission History
See the list of successfully submitted files for the Sender

Then I

Can select a specific submission and view the following details for the selected submission (developed as part of a previous story) (no warnings here)

TO DO

Dev: Allow user to select a specific submission
Dev: Display the details for the selected submission

Validate if we are waiting on the API for this?

@kevinhaube since you are working on the other related ones, I assigned this one to you


Refactor money, percentage, and decimal widgets [8]

###Description of the Tech Debt###
We now have 3 very similar widgets (money, percentage, decimal). Can these be refactored into one widget that does slightly different things based on some parameter(s)?
Came up in: https://github.com/bcgov/cas-cif/pull/938#discussion_r942798005
###Tech Debt Triage#
The purpose of our technical debt triage process is to analyze technical debt to determine risk level of the technical debt and the value in tackling that technical debt.
Risk Value Scoring:

Level
Value

High
3

Medium
2

Low
1

Technical Debt - Risk Types
Level
Value

Business Area Risk - Risk of business area visibility / damage to user experience
low
1

Developer Fault Risk - How likely will this tech debt cause a future error related to coding on top of it
med
2

System Fault Risk - Risk of system errors or application downtime
low
1

Time Scale Risk - Compound risk effect if left alone. How much more difficult to fix or dangerous will this become over time?
med
2

Time Sink Risk - How much will this tech debt slow the development process down
med
2

TOTAL SCORE:
8
low

Anything in specific that I need to test in regards to this ticket @BCerki ?

The only visible change is that on the project summary page, more 0 decimal places are visible (e.g. $200 became $200.00,  score of 8 became 8.000, etc.).

Thank you for the clarification and your work on this one @BCerki.


Add NGSI-LD support

Beside V2, LD protocol has to be supported

[x] Change existing protocol NGSI to NGSI-V2
[x] Add protocol NGSI-LD
[ ] Implement support
[ ] Change Readme.md

In Release 1.1.0, experimental support is implemented.
As soon as a stable version of Orion LD is available, this work will be continued.


ADR for data exporting approach

EASI-2061
Changes and Description

Add ADR for data exporting approach/spike

How to test this change

PR Author Review Checklist

[ ] Met the ticket's acceptance criteria, or will meet them in a subsequent PR.
[ ] Added or updated tests for backend resolvers or other functions as needed.
[ ] Added or updated client tests for new components, parent components, functions, or e2e tests as necessary.
[ ] Tested user-facing changes with voice-over and the rotor menu

PR Reviewer Guidelines

It's best to pull the branch locally and test it, rather than just looking at the code online!
Check that all code is adequately covered by tests - if it isn't feel free to suggest the addition of tests.
Always make comments, even if it's minor, or if you don't understand why something was done.

This seems like it could be a good approach to me! As you noted, the use cases of exporting all the data, vs one model might complicate this a bit. Currently, every task list section you query results in it's own SQL Query.
If we try to export lots of models all at once we might want to consider approaches to maximize performance. Utilizing dataloaders was suggested in the past as a way of optimizing performance and avoiding an N+1 problem.  This might buy us the performance that a custom SQL query would provide, as well as being flexible.

Thank you for input Steven, I think i'll add the point about improving data loaders into the "Follow Up Decisions and Actions" section.


React.js Deployment Issue: @aptos-labs/wallet-adapter-react Breaks After Deployment, Works Fine on Localhost

The @aptos-labs/wallet-adapter-react library fails to work in any React.js project during deployment, while it functions correctly on localhost.
Steps to Reproduce:

Create a new React.js project.
Install @aptos-labs/wallet-adapter-react version 2.1.4.
Integrate the Wallet Adapter as per the documentation.
Render the Wallet component.
Run the application locally.
Confirm proper functionality on localhost.
Deploy the application.
Observe issues in the console during deployment.

Expected Behavior:
Seamless integration of the wallet adapter into the React.js project on both localhost and deployment without errors.
Actual Behavior:
The app can't render the React.js component when the @aptos-labs/wallet-adapter-react is added during deployment. It works fine on localhost but breaks after deployment.
The console after deployment:
Uncaught TypeError: Cannot convert a BigInt value to a number     at Math.pow (<anonymous>)     at consts.ts:10:40     at index.tsx:14:11     at index.tsx:14:11
Environment:

OS: [Windows 11]

Interesting... I saw this only once with something else as well but only in one environment.
What's your version of Node and all?

Interesting... I saw this only once with something else as well but only in one environment.
What's your version of Node and all?

Node.js version: 18.18.1.
React.js verion: ^18.2.0

For now, try using 1.x.x of the wallet adapter.  Need to likely update the SDK, but I'm away from an actual computer right now

For now, try using 1.x.x of the wallet adapter. Need to likely update the SDK, but I'm away from an actual computer right now

Thanks trying it out


[WIP][SPARK-31443][SQL] Fix perf regression of toJavaDate

What changes were proposed in this pull request?

Why are the changes needed?

Does this PR introduce any user-facing change?
No
How was this patch tested?

By existing tests suites, in particular, DateTimeUtilsSuite, RebaseDateTimeSuite, DateFunctionsSuite, DateExpressionsSuite.
Re-run DateTimeBenchmark in the environment:

Item
Description

Region
us-west-2 (Oregon)

Instance
r3.xlarge

AMI
ubuntu/images/hvm-ssd/ubuntu-bionic-18.04-amd64-server-20190722.1 (ami-06f2f779464715dc5)

Java
OpenJDK 64-Bit Server VM 1.8.0_242 and OpenJDK 64-Bit Server VM 11.0.6+10

Test build #121268 has started for PR 28212 at commit 92253cf.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/25955/
Test PASSed.

Test build #121277 has started for PR 28212 at commit 1ff47ca.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/25964/
Test PASSed.

Test build #121268 has finished for PR 28212 at commit 92253cf.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #121277 has finished for PR 28212 at commit 1ff47ca.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/121268/
Test PASSed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/121277/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/25972/
Test PASSed.

Test build #121286 has started for PR 28212 at commit 614ec2a.

Test build #121286 has finished for PR 28212 at commit 614ec2a.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/121286/
Test PASSed.

The PR itself looks good but we should also investigate if 2.4 has a correctness issue.
Thanks, merging to master/3.0!

... we should also investigate if 2.4 has a correctness issue

Here is the JIRA ticket for investigation: SPARK-31449


Bots not connecting

Hello! I have my Ogar server (https://github.com/OgarProject/Ogar/), it works. But when i start bots, i have only ogar-feeder-bot started! Join a game in Chrome with the Userscript installed. Press CTRL + C to stop this script. and status in addon is offline. Sorry for my bad English.

This will not work with the latest Agar.io update. (ogar-feeder-bot is outdated, and discontinued)

@ItzLevvie even when i'm playing in the old version??

The old version of Agar.io client will work fine with agario-feeder-bot

@ItzLevvie You mean protocol 5 and less.

Where i can get old version of Agar.io?


Synacormedia bid adapter updates:

Added more video parameters
Added video example
Fixed table so that it renders correctly

Link to PR: https://github.com/prebid/Prebid.js/pull/3885

I have pushed a commit with the requested changes:

added scope to the video param table

@bretg Any ETA for this PR to get merged?

Hi Team,
Any updates on this? We have another PR on top this changes.

sorry for the delay


Configurable Menu for Traffic Portal per Users' preference

Traffic Portal's top level menus and navigation should be allowed to be configurable and persisted per user preference. Drag and drop capability will help structure the views to be more meaningful. Traffic Portal is used by clients of various job functions, an operator might want to lay out the UI differently than a tenant. Ability to group and structure relevant views/pages would be a strong feature enhancement.
Benefits:

Quickly locate frequently used views
Reduce number of click-throughs to perform job function by various organizations

Not sure I'll be able to pull off drag and drop but I should be able to make the menu order / groupings configurable using the traffic_portal_properties.json file.


Add disable usage to docs.

Currently there is no usage examples for disabled buttons. It would be helpful to have it available for ease of development.

I leave here an example:
<Button disabled={true}
        styleDisabled={{color: 'red'}}>
     A button
</Button>


Update screenshot

@rebornix, do you mind replacing https://github.com/rebornix/vscode-nova/blob/master/assets/screenshot.png with this:

I feel it better matches the other screenshots on the Nova website.
This file - located at https://github.com/rebornix/vscode-nova/blob/master/assets/screenshot.png -
is what is used as the image link on the VS Code plugin tab of https://trevordmiller.com/projects/nova. This should update your README as well since you are using a relative link there into ./assets/screenshot.png 👍

Thanks! Looks good on https://trevordmiller.com/projects/nova:


Confused by lack of "contributor" navigation

When I was on the user page, I saw the business and maintainer navigation and wondered where to go to find the contributor page.

It wasn't until later that I realized that the contributor page is on the homepage.
I don't know whether this is a real problem, or just me being confused or dense, but I thought I'd mention it in case anyone has thoughts about mitigating potential confusion.

@kytrinyx I guess my thinking was that the "contributor page" is also technically the homepage and general practise seems to be to have the title link back to the homepage. Thoughts?

@MikeMcQuaid Yeah, I got that... eventually :) The thing is, we know that, but people browsing the site don't necessarily.
How about removing the top level nav completely, and only having the homepage plus the two links at the bottom of each page to take you to wherever you are not?

I (unsurprisingly) kinda like it as-is 😅. Let's get @nayafia in here at some point to help tie-break.

Works for me :-)

Sorry I missed this! I'm with @kytrinyx, I think removing the top level nav makes sense. It'd be nice to have both, but I see why it's confusing.

Or: add "contributors" to top nav (but then that could be confusing with the homepage).

This will be addressed by https://github.com/ossfriday/ossfriday/issues/73


There was an error loading the schemas

Bug description
First, I  added a database into the superset and it works.
But when I tried to add new dataset, I select the database that I added before and when I select the schemas it doesn't show all schemas but it show an message  There was an error loading the schemas
I'm using superset v3.0.0
How to reproduce the bug

Go to menu dataset
Click + Dataset
SelectDatabase
Select Schema
Popup error is show with message There was an error loading the schemas

Screenshots/recordings

Superset version
3.0.0
3.1.3
Python version
3.11
Node version
16
Browser
Chrome
Additional context
No response
Checklist

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

@juliansyahrifqi Could you upgrade to 3.1.3 and see if the error still happens? 3.0.0 is not supported anymore. Please check our Release Process for more information.

I already upgrade to v3.1.3 and the error still happens

The error is from PostgreSQL, after i change the config in pg_hba.conf, now it working. Thank you

hi, what you changed in .conf file

Hi, what you changed in .conf file?

Hello
host    all             all             <IP_ADDRESS>/0            scram-sha-256

I just change the scram-sha-256 to be md5 and then reconnect again
host    all             all             <IP_ADDRESS>/0            md5

After it working, i change it again to scram-sha-256
host    all             all             <IP_ADDRESS>/0            scram-sha-256

Thanks I'll try
On Mon, Nov 4, 2024, 1:43 AM Rifqi Pratama @.***> wrote:

Hello
host    all             all             <IP_ADDRESS>/0            scram-sha-256
I just change the scram-sha-256 to be md5 and then reconnect again
host    all             all             <IP_ADDRESS>/0            md5
After it working, i change it again to scram-sha-256
host    all             all             <IP_ADDRESS>/0            scram-sha-256
—
Reply to this email directly, view it on GitHub
https://github.com/apache/superset/issues/28778#issuecomment-2453925666,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQHNJWJZMQLYTC5SPGLE6LDZ64JSNAVCNFSM6AAAAABIQRHNRGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINJTHEZDKNRWGY
.
You are receiving this because you commented.Message ID:
@.***>


Unable to associate RadzenLabel with RadzenDropDown

Describe the bug
RadzenLabel association with RadzenDropDown does not work using "for" and "id" attributes.
Usage of the "for" and "id" attribute was suggested #912
To Reproduce
<RadzenLabel for="the_drop_down_id" Text="TheDropDownLabel" />
<RadzenDropDown id="the_drop_down_id" TValue="int?" />

Expected behavior

The emitted label should be associated with the input element.
Clicking on the Label should focus and expand the dropdown.

Additional context
The "id" attribute, when set on the RadzenDropDown component is emitted on the wrapper div instead of the input element which has no effect and breaks the association. The id attribute should be set on the nested input element.
TheDropDownLabel

        <input id="the_drop_down_id" aria-haspopup="listbox" readonly="" type="text" tabindex="-1" aria-label="">

...

So how would someone associate the label with the dropdown?

It is not supported at the moment.

@ikappas all examples of Label and input component usage I have seen dont use for="name" as in your example, they look like:
            <RadzenLabel Component="IsParallel" Text="Is Parallel"/>
            <RadzenCheckBox Name="IsParallel"<EMAIL_ADDRESS>
it is Component that you should use to associate a lable with an form input component. afaik.

@akorchev, I was looking into the RadzenLabel's Component parameter and how it fills the for attribute of the label tag.
To me, it seems like this parameter overrides the for attribute in the case of a label (if you use both, the Component value is used, not the for value.), but the Component parameter is programmatically linked to a form field in the case of the field validation components within a template form.
Is that correct? Is there anything I'm missing regarding how the Component parameter operates?
Would you be open to a PR that updates the RadzenLabel so that the Component parameter is used for the for attribute unless the for attribute is set, in which case the attribute's value is used?
It's like how elements use the unique id unless the id attribute is used.

I've opened a PR for this issue: https://github.com/radzenhq/radzen-blazor/pull/1232


[SPARK-15636][SQL] Make aggregate expressions more concise in explain

What changes were proposed in this pull request?
This patch reduces the verbosity of aggregate expressions in explain (but does not actually remove any information).
For the following command:
spark.range(10).selectExpr("sum(id) + 1", "count(distinct id)").explain(true)

Before:
coming soon
After:
== Physical Plan ==
*TungstenAggregate(key=[], functions=[sum(id#0L),count(distinct id#0L)], output=[(sum(id) + 1)#3L,count(DISTINCT id)#16L])
+- Exchange SinglePartition, None
   +- *TungstenAggregate(key=[], functions=[merge_sum(id#0L),partial_count(distinct id#0L)], output=[sum#18L,count#21L])
      +- *TungstenAggregate(key=[id#0L], functions=[merge_sum(id#0L)], output=[id#0L,sum#18L])
         +- Exchange hashpartitioning(id#0L, 5), None
            +- *TungstenAggregate(key=[id#0L], functions=[partial_sum(id#0L)], output=[id#0L,sum#18L])
               +- *Range (0, 10, splits=2)

How was this patch tested?
Tested manually.

I'm not 100% sure if the patch covers all the cases.

Test build #59534 has started for PR 13367 at commit 95ad039.

cc @cloud-fan @liancheng @clockfly and @yhuai

Test build #59534 has finished for PR 13367 at commit 95ad039.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/59534/
Test PASSed.

@cloud-fan updated.

Test build #59543 has started for PR 13367 at commit 88f8460.

Test build #59543 has finished for PR 13367 at commit 88f8460.

This patch fails MiMa tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/59543/
Test FAILed.

Test build #3030 has started for PR 13367 at commit 88f8460.

Test build #3030 has finished for PR 13367 at commit 88f8460.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Looks good! +1

lgtm. Merging to master and branch 2.0.


Fix mapd-deps-arch.sh arrow install, updated arch/PKGBUILD md5sum

Tried to run mapd-deps-arch.sh on an arch Linux and failed. This is an attempt fixing the script.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Topoembedx  merging

I factored the topoembedx but the errors that showing up in the unit tests seem to be coming from message passing.


fix: register filter with wrong name

ref: https://github.com/cectc/dbpack/issues/
Ⅰ. Describe what this PR did
Ⅱ. Does this pull request fix one issue?
Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

LGTM


Logging data

"Configure diagnostics collection on the cluster" explains that log data is written to storage and "Set up Azure Monitor logs for the cluster" explains that logs are fed by the data from that storage. "Add the Log Analytics agent extension" says we need agents to collect data for the log, but why if the data is already in the storage?

@mcurko Thanks a lot for reaching out and sharing your feedback, can you please share the Azure documentation link you are referring so that we can assist you accordingly.

https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-tutorial-create-vnet-and-windows-cluster

@mcurko Thank you for sharing the document link you are referring, our team will review your query and get back to you at the earliest.

@mcurko  Logs for Service fabric clusters in Azure is captured in the storage account.  If you need to set up alerts in Azure monitor, analyze , query logs or use insights provided by Azure Monitor, then you need to have Log Analytics agent.  Here are references to docs that talk about when to use Log Analytics agent and when its required. This document describes about the data (logs) collected for Service Fabric in Azure Monitor. It also recommends requirement for agent if you want to monitor guest OS and workflows.

@mcurko Hope the provided information is helpful.
We will now close this issue. If there are further questions regarding this, please tag me in a comment. I will reopen it and we will continue the discussion.


unable to find catalog details after pull

I can see that the catalog tables are created after pull but I do not see any data within the tables, please let me know if I'm missing something here.
Catalog db: Postgres
Source db: Redshift
I'm also reviewing the code to figure out where the db connection is being made and data is being inserted into postgres db
postgres.public> SELECT t.*
                 FROM public.sources t
                 LIMIT 501
[2021-06-15 14:49:18] 0 rows retrieved in 65 ms

postgres.public> SELECT t.*
                 FROM public.tables t
                 LIMIT 501
[2021-06-15 14:52:40] 0 rows retrieved in 97 ms

Did you use dbcat from command-line? CLI is broken. I'll fix it but I also plan to deprecate it. Can you try this code in a python CLI and then check?
from dbcat import catalog_connection
from dbcat.dbcat import pull
catalog = catalog_connection(<user, hostname etc of postgres database>)
catalog.add_source(<user, hostname of redshift database>)
pull(catalog)

Then check these tables.

I get the following error when I try to run using the given code..It looks like we're trying to access the index while passing strings. I'm digging into the code as well to figure out the the right way to pass config.
File "~/site-packages/dbcat/__init__.py", line 16, in catalog_connection
    return Catalog(**config_yaml["catalog"])
TypeError: string indices must be integers

Got to know that we need to pass the arguments in yaml format after looking at the test file, I was able to successfully load the catalog.


issue: Outdated docs with regards to defaultValue for useFieldArray

Version Number
7.22.5
Codesandbox/Expo snack
https://codesandbox.io/s/react-hook-form-fieldsarray-yup-validation-min-length-forked-bcnd2?file=/src/index.js
Steps to reproduce

See initial render with useFieldArray and what defaultValue is passed in to the input.  Default value on input is ignored and useForm defaultValues is respected ("hello" is shown instead of "hi")

Expected behaviour
See that the defaultValue is respected and "hi" is shown instead of "hello".  Change version of react-hook-form to 7.8.3 (the original version used in v7 examples that this codesandbox is forked from) and this is what happens.
The docs here https://react-hook-form.com/api/usefieldarray say you should always pass defaultValue for useFieldArray but it seems to do nothing here.

However according to the changelog for v7.10.0, this is no longer a requirement:
My use case is that I want a different default value than I pass in at the useForm level (ie, I don't want to have to transform the value before passing it to useForm), but I also think the docs should be updated if passing defaultValue does nothing.
What browsers are you seeing the problem on?
Chrome
Relevant log output
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

thanks would you like to send us a PR to update that?

Sure thing 👍.  Will try to get to it soon.

Thank you very much @stephan-noel-primer 🙏


Render pages on push to main?

@swayneh @lindsay-forestell should we set up a GitHub Actions workflow that renders the course site to GitHub pages whenever there is a push to main or a PR is merged?
If so, then after all open PRs are merged, I think it's sensible to remove the rendered materials from the repo, and add the _book folder to .gitignore. Then you can render/preview locally but will only be pushing up changes to the source material, which will make version control much easier.

That's a great idea. I've always struggled with the workflow required to remove something from a repo once you've added it, so walking through that would be helpful. (Is it as simple as deleting the folder, pushing that to main, then adding it to .gitignore before rendering locally again?)

Not quite that simple unfortunately (it never is with Git!). I think the workflow is:
Once all PRs are merged, ne person pulls main and:

Add course-content/_book to .gitignore
run git rm -r --cached course-content/_book
Push

When everyone else pulls main it will delete the _book dir from their repo, which is ok because then we should be able to render/preview locally, which will recreate the _book dir, but not track it in git anymore

Okay that's not so terrible, we can do that piece for sure. Is there anything we need to change to set up the GitHub Action to render to GitHub pages?

So maybe before creating new content let's try to get to a pretty clean state on main by finishing up and merging the two open PRs... I think that's the easiest path now since we didn't set it up properly to start.

For the Actions piece, we should just be able to add the appropriate yaml file from here: https://github.com/quarto-dev/quarto-actions

Okay great. Once our current PRs are done we will try to set that all up :)

Actually another possible route that would make the current PRs cleaner - do the above on main, then locally switch to each branch and git merge main and then push. That will clean out the _book dir on each PR

Okay I've updated main to have a modified gitignore and removed the _book folder from the repo. I've also updated all my local branch repos to be merged with main so that this change is propagated everywhere - I'm guessing both of you will need to do the same @ateucher @swayneh ?

Website is updated, _book is gone, and we are good to go! Going to close this off.

Nice work @lindsay-forestell!


storedPaymentMethods in case of single paymentMethod

Contexte
In our app, we show paiements methods in custom UI

Card paiment
Paypal
ApplePay
etc..

In case of card paiement, we want to show stored Payement method if any.
Issue
For now, it's just possible to show:

All paiements methods with start('dropin')
Only card paiement with start('scheme') (and other paiements type)

In our case, we do not want to show all available paiement in NativeModule because our user already choose CreditCard paiement
Workaround
For now, we patch this library to have this code in src/AdyenCheckoutContext.tsx
diff --git a/src/AdyenCheckoutContext.tsx b/src/AdyenCheckoutContext.tsx
index 1fcd523..2e0b063 100644
--- a/src/AdyenCheckoutContext.tsx
+++ b/src/AdyenCheckoutContext.tsx
@@ -134,7 +134,10 @@ const AdyenCheckout: React.FC<AdyenCheckoutProps> = ({
       startEventListeners(config, nativeComponent);

       if (paymentMethod) {
-        const singlePaymentMethods = { paymentMethods: [paymentMethod] };
+        const singlePaymentMethods = {
+          paymentMethods: [paymentMethod],
+          storedPaymentMethods: paymentMethods.storedPaymentMethods,
+        };
         const singlePaymentConfig = {
           ...config,
           dropin: { skipListWhenSinglePaymentMethod: true },

Proposition
Is it possible to add a config to show stored paiement that match paymentMethod to show ?

Hi @descorp ,
On this subject, without "API-Only" way or payment by ID,
Is it possible to allow use to optin to show related stored payment on single payment method ?
I can imagine this API:
// config API
const configuration = {
   // ....
   showStoredPaymentForSinglePaymentMethod: true
}

// In AdyenContext

if (paymentMethod) {
        const storedPaymentMethods = config.showStoredPaymentForSinglePaymentMethod && paymentMethods.storedPaymentMethods
          ? paymentMethods.storedPaymentMethods.filter(storedPaymentMethod => {
              return storedPaymentMethod.type === paymentMethod.type
            })
          : []
        const singlePaymentMethods = {
          paymentMethods: [paymentMethod],
          storedPaymentMethods: storedPaymentMethods,
        };
        const singlePaymentConfig = {
          ...config,
          dropin: { skipListWhenSinglePaymentMethod: true },
        };
        nativeComponent.open(singlePaymentMethods, singlePaymentConfig);
      } else {
        nativeComponent.open(paymentMethods, config);
      }

With this API, we will be able to show storedPayments for single payment.
Here is the flow we unblock:

User select paymentMethod on App UI (we do not use Adyen SDK)
User see AdyenSDK popin
If selected paymentMethod have some storedPayement, we show them to the user, otherwise we show directly the paymentMethod form

Hello @descorp !
do you think this feature could land in this module ?
for now we patch this lib to implement this feature and have used it in production succesfully (rc-2)
If you approve the API I can submit an PR

Hey @gkueny
Sorry for the long reply and not getting back to you.
Main issues with approach:

the UI for a single stored card on DropIn is rather odd for a single stored payment and adding new UI can only be done via native SDKs.

We currently have showPreselectedStoredPaymentMethod: true, that will show:

However if you send only a single stored payment Method, UI looks odd:

One suggestion I could make - better search for StoredPaymentMethod.id rather then type - shopper might have several stored cards.

showStoredPaymentForSinglePaymentMethod

This is great idea: we are looking to enable standalone stored payment methods, but it will require more work from Android side.
Currently we are postponing all major work till upcoming Android v5 release, since it will effect multiple public APIs.

thanks for your response @descorp .
I will make a PR, it will be easier to discuss / test the proposal indeed.

Hey @gkueny
Stored payment method could be performed via CSE + Standalone Action handling on v2.
Feel free to check BETA version.

Closing this issue as it's fixed on v2.0.0-BETA.


IOException: The filename, directory name, or volume label syntax is incorrect

CbzMage error:: IOException: The filename, directory name, or volume label syntax is incorrect. : 'C:\CbzMage\_Titles\[Marvel] Young Avengers Vol. 1 Style > Substance'

I assume it's the greater-than symbol in the comic title that's causing the issue. This one's a game-breaker, too; as long as that comic is downloaded, neither convert nor scan will run properly. (They all immediately give the error.)

Yeah, that's definitely an illegal filename on Windows. I just verified that it's impossible to create a file with that name. Are you running CbzMage through Wine or something like that?
Anyway, there's some code that should make sure invalid file character are removed, but it's checking things in the wrong order. I'll have a fix up very soon. For now you can simply rename the file and remove the ">" that should make things run again.

v0.5 is up with the fix, though you still need to rename that file to nudge it along. Also I'm not sure you won't run into the problem again if you are running on Wine. But a rename should always fix the issue.

I just realized that the error may be before any file is written which actually makes more sense. In that case the fix should work and you'll end up with a title file named "[Marvel] Young Avengers Vol. 1 Style Substance"

Leaving this open for now.

Right, that was the problem (or so it seemed to me): the program itself was trying to generate a filename with the invalid characters, which caused the error. I'll give the new version a shot in a bit.

No longer an issue in version 0.6.


Windows c demo

Added miniaudio and updated demo to use miniaudio. Now supports Windows and Linux.

Also, before merging this branch, we need to update the main README.md, c demo section, to reflect all changes here


Force https redirection

Hello,
Is there a way to force redirection from http to https in docker-flow-proxy parameters ?
I.e add the line below in haproxy frontend configuration:

for all domains: redirect scheme https code 301 if !{ ssl_fc }
for one domain: redirect scheme https if { hdr(Host) -i www.mydomain.com } !{ ssl_fc }

I think it would be a good idea to add a config parameter to the docker service creation to set this redirection like this:
--label com.df.forceHttps=true
For discussion.
Thanks.

You can set httpsOnly as label on a service. See http://proxy.dockerflow.com/usage/ and search for httpsOnly.

Amazing.
You're really an awesome team !
Thanks.

Sorry for opening/commenting on this issue again but when using httpsOnly our webiste throws an error saying too many redirects? Any suggestions would help. Thank you.

@shabbirkagalwala Can you post the stack you're using? That might give me an insight into the behavior you're experiencing. If possible, it would be great if you could reproduce it with public services that I could use as well.

@vfarcic  I think I figured it out, the redirects work using redirectWhenHttpProto=true but now the issue is it only redirects if the service domain is used for example http://foo.bar -> https://foo.bar but if a path is added for example http://foo.bar/a/b it fails to redirect. I tried using service path but it didn't work.
Any suggestions?
As requested I will post the stack in a couple of minutes or maybe early tomorrow. Again thank you very much I really appreciate all your help, I owe you a lots of cups of coffee.

Thanks for the info. I'll try it myself using domain and path. I don't think that scenario is covered in tests so there might be a glitch no one noticed. I'll do my best to go through it tonight.

Can you send me proxy config (it's /cfg/haproxy.cfg inside the container), the stack, and an example request? That would help me replicate it much faster.

@vfarcic I figured it out and I am sorry about the trouble as well, so the issue was we were using tcp/ssl protocols on the elb instead of http/https and that caused dfp not to redirect. Thank you so much for the help! You can close this ticket.

@vfarcic I think I figured it out, the redirects work using redirectWhenHttpProto=true but now the issue is it only redirects if the service domain is used for example http://foo.bar -> https://foo.bar but if a path is added for example http://foo.bar/a/b it fails to redirect. I tried using service path but it didn't work.
Any suggestions?
As requested I will post the stack in a couple of minutes or maybe early tomorrow. Again thank you very much I really appreciate all your help, I owe you a lots of cups of coffee.

you also have to redirect the containers service to the http to https
for example if there tomcat is running then you have to redirect also tomcat  docker service also


Android - Drop-downs - Previously chosen option in drop-down is not marked

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

Action Performed:

Open NewDot Android app
Go to Setting > Profile > Personal Details > Home address
Input any US address so State is selected and input
Click State drop-down

Expected Result:
When drop-down is displayed the previous chosen option should be somehow marked
Actual Result:
Previous chosen option in drop-down is not marked.
Workaround:
Unknown
Platforms:

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

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

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/224109208-9fa03c4b-5288-4550-8759-a7ee4b4a487b.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

Triggered auto assignment to @MitchExpensify (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

Mind linking or creating to the Slack convo for this please @kbecciv ? Not sure this is a bug and will move the convo there

Nevermind, this is a dupe of https://github.com/Expensify/App/issues/15782 - Closing!


get rid of generated files in istio/istio: step 1 - generated html files

generated files shouldn't be mixed with source code - at least for the main repo (proto/pb files in istio/api being an exception for now; until they move to vendor)
follow up on
https://github.com/istio/istio/pull/3635#discussion_r170146793

Since the move from Bazel, Mixer has checked in generated source files. That's unlikely to change any time soon given current build technology.

Agree with 'not changing any time soon' - or at least post 1.0.
Checking in .go files is common practice in go and we should continue, but for .html and other
release artifacts - I think we can generate them from the release or make (as they already are) and
no need to check in.

this is specifically about html
@geeknoid  what necessitates those html to be checked in in istio/istio ?

This is the way things have been setup. There's likely nothing inherent that needs those files to be there, except additional processes to produce those files independently of the .pb.go files.
Aside from aesthetics, is this causing some actual real problem for developers or customers?
'

in addition to the aesthetics, like any generated files checked in, they get out of sync
it's another thing that needs to be checked/kept in sync and makes diff reviews bigger than they should

The .html files are updated along with the .pb.go files, so they're tied at the hip and will not get out of sync.


fix: re-order sqitch plan - debug gh actions

debug complete, main and gh actions are not properly set up for pull requests. closing debug branch


DFred's Convenient Effects compatibility

Evaluate and determine if there compatibility issues with DFred's Convenient Effects: https://github.com/DFreds/dfreds-convenient-effects
Make any needed changes in Tidy and, if necessary, request changes to the target module to restore compatibility.

Added missing drag-and-drop support for item active effects so that CEs can be dropped onto sheets.

I have not found additional incompatibilities, so I am checking with members of the community over on Posney's discord server. Awaiting responses.

There was no response, and other discussions overtook my message.
I will consider this to be the end of it for now and will accept any github issues for any discovered incompatibilities.


Create speed.html

R typewriter

🛠 Fixes Issue (Number)

👨💻 Changes proposed

✅ Check List (Check all the applicable boxes)

[ ] My code doesn't break any part of the project (Zero Octave-Javascript-Projects).
[ ] This PR does not contain plagiarized content.
[ ] My Addition/Changes works properly and matches the overall repo pattern.
[ ] The title of my pull request is a short description of the requested changes.

📄 Note to reviewers

📷 Screenshots

Some of the files seem missing, as what is the purpose of only an HTML file?
Please make significant changes before making a PR so that it meets the standard.


[Feature Request] WebChat Customization - Allow user to configure UI colors in channel config page

Hi,
I want to change the color on webchat, how could I do it?
I've found this on CSS
.wc-header background-color:#D32F2F
.wc-message-from-me .wc-message-content  background-color: #D32F2F;
.wc-message-from-me svg.wc-message-callout path fill: #3A96DD;

Our plan is to allow such style modifications from the WebChat channel config page, but we've not implemented this yet. For the time being, you must fork or clone the webchat repo and serve the control from your site. This will allow you the freedom to modify the css to suit your needs. The site's README includes instructions to get you started with building the project.

I used the standard Bot Framework WebChat channel to get an IFRAME of mybot and embeded in my website. But now the bot can not support Carousel very well, also I want to change some css style of my bot. How can I do that? Thanks

Hi @wu2014 Webchat Card and Carousel fixes are incoming. See open pull request here: https://github.com/Microsoft/BotFramework-WebChat/pull/282. Be sure to let us know if these fixes don't address the issues you're seeing!
For custom CSS in the webchat control, please see my previous answer above. This is an interim solution until we further develop the webchat channel config page to include customization controls.

Hi, Eric,
Thanks for your quick and nice reply.
I'M using the standard webchat iframe, not the repo you mentioned.
My bot in Skype works well, but using inframe to embed in website, it
doesn't not work in some elements.
I also try this repo for webchat, but  lose the bot icon and the top
welcoming message.
Thanks
Yinyuan
On Jan 18, 2017 2:11 PM, "Eric Anderson"<EMAIL_ADDRESS>wrote:

Hi @wu2014 https://github.com/wu2014 Webchat Card and Carousel fixes
are incoming. See open pull request here: Microsoft/BotFramework-
WebChat#282 https://github.com/Microsoft/BotFramework-WebChat/pull/282.
Be sure to let us know if these fixes don't address the issues you're
seeing!
For custom CSS in the webchat control, please see my previous answer
above. This is an interim solution until we further develop the webchat
channel config page to include customization controls.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Microsoft/BotBuilder/issues/2057#issuecomment-273617971,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJ8A4XWM3zO4OkwfZrxAbQlFDMJu-Gs-ks5rTo3ygaJpZM4LmLYe
.

Is there any timeline for this implementation in the channel config page?

Hi @IanLawrence we don't have a timeline for this feature but it is on our backlog. In the meanwhile, we'd like to know what level of customization that people are needing. Is it just background colors?

Hey @danmarshall ..I actually managed to work around it by using Direct Line but basically I wanted to change everything visible in the chat (color, images, texts) . Could not find where the text Chat comes from and the images (send, upload image) but I did not look too hard yet

Thanks for the feedback @IanLawrence . You'll find the text in this file and upload & send buttons in SVG data. These can be overridden with your own CSS.

My team and I are using WebChat and as for customization of that interface, being about the change chat bubble colours as well as the top tab colour would be great, especially since we want the colours to match our brand.

Would be great if we could also add some menu to wc-header to restart the bot or show some help information (similar to the persistent menu that Facebook provides).
For now I host on Azure, include the webchat via directline and overwrite the botchat.css styles where I need it. E.g. to change the background color of the Chat tab:
.wc-header {
    background-color: #E10065 !important;
 }

Hi - It would be ideal if we could easily customize background colors (of chat and header), header title, and font & font size.
Any idea of a timeline for when some customization will be available for WebChat? In the mean time, we are working to switch to Direct Line to enable customization.

@ericvanisko we are working on UI revamp on Web Chat, accent color is a top ask. Can you file a suggestion to Web Chat repos about the scenario you want to enable? Thanks!


_input reports is_action_just_pressed() multiple times per frame

Tested versions
Reproducible in 3.6 stable
Not reproducible in 3.5.3
System information
All
Issue description
If _input() is called multiple times per frame, then is_action_just_pressed("some_action") will return true every time until the next frame.
I'm not yet sure whether this affects other actions aside from mouse wheel.
UPDATE:

It does not occur with regular mouse buttons for me, only mouse wheel
Doesn't occur for key presses

I saw reported on reddit:
https://www.reddit.com/r/godot/comments/1fgi328/36_registers_mouse_wheel_event_more_than_once_35/
But wanted to create an issue for reference.
The change in behaviour is introduced by my PR #77040 which fixes #73339 .
Steps to reproduce
func _input(_event):
	print("input frame: ", Engine.get_idle_frames())

	if Input.is_action_just_pressed("wheel_up"):
		print("wheel_up")
	if Input.is_action_just_pressed("wheel_down"):
		print("wheel_down")

Results in 3.6:
input frame: 6
input frame: 7
input frame: 42
wheel_down
input frame: 42
wheel_down
input frame: 57
wheel_down
input frame: 57
wheel_down
input frame: 197
input frame: 198
input frame: 199

Results in 3.5.3:
input frame: 6
input frame: 7
input frame: 42
wheel_down
input frame: 42
input frame: 57
wheel_down
input frame: 57
input frame: 197
input frame: 198

i.e. the is_action_just_pressed() would only occur once.
Minimal reproduction project (MRP)
Double_Input.zip
Discussion
I am hesitating to call this a "bug", but it is a change in behaviour.
To some extent this has always been the case, because if multiple _input() come in on a single frame for any action that is just pressed, it will, in most cases report the same action as true multiple times. That is correct, because any action pressed IS considered pressed throughout the frame.
What did happen previously though was an anomaly: on a mouse button press the press created the input with the action just pressed, and the depress created an input with the action just pressed set to false (on the same frame).
This resulted in "expected" behaviour for handling input via _input(), however created the bug #73339 . Fixing the bug can result in less "expected" behaviour via _input(), and can make input handling more complex in this case.
To make life easier we could look at an option to simply auto-cancel the action once it had been read once with is_action_just_pressed(), which would be friendly to both solutions to reading input.

I don't think this is a bug.
This code snippet is based on a misunderstanding of how Input is related to the input event system. It only "happened" to work in previous versions. Your PR exposed the bug in that code snippet instead of creating it.

I don't think this is a bug.

This code snippet is based on a misunderstanding of how Input is related to the input event system. It only "happened" to work in previous versions. Your PR exposed the bug in that code snippet instead of creating it.

Absolutely, this is why I haven't labelled it as bug. It probably was occurring already in some situations (like pressing two keys on the same frame and handling in _input()) but users weren't aware of it.
However it is something which I suspect we could make easier for users to handle.
I am just preparing a draft PR which could potentially deal with this, simply by auto-cancelling the action after it has been read once in is_action_just_pressed(). This would seem to cover the vast majority of cases.
My only question is whether to make this optional (for backward compatibility, in case users are excepting actions to return true multiple times). Can discuss on PR though.

I made a proposal about making Input.is_action_just_pressed() equivalent to event.is_action_pressed() in these input event callbacks: https://github.com/godotengine/godot-proposals/issues/10843

I've closed my PR for retiring, as @timothyqiu points it is already possible to work around by using event.is_action_pressed() within _input().
I'm not so familiar with using _input() callback for anything but mouse look, so apologies.
So this likely becomes a documentation issue, or a case for https://github.com/godotengine/godot-proposals/issues/10843 .


the incremental folder is not cleaned up and grows 1000% while the snap is made.

Hi Solan@s
While creating a new snap, incremental ones are not made. This is ok.
Depending on the validator configuration, the default creation of a snap is every 12k slots = around every 3 hours and lasts half an hour.
The problem is that while no incremental is created during this half hour that the snap creation lasts, the incremental folder starts to grow to more than 40GB in that half hour.
Then, after the snap is created and the first incremental for that snap is made, the size of the incremental folder becomes stable again until the creation of the next snap begins and the folder grows again over 40GB.
The solution would be that while the snap is being created and new incremental are not made, the incremental folder does not grow more than what it normally needs, around 10GB and not +40Gb.
Here are some results of the script I wrote to capture where the excess storage was. As you can see, it is normal for the snap folder to grow 100% when creating the other snap, but it is not normal for the incremental folder to grow 1000% during this moment too.
incremental folder Fri May 31 14:44:40 UTC 2024
44G	/mnt/soldisk/inc_snaps
40	/mnt/soldisk/inc_snaps/remote
incremental-snapshot-269025974-269051552-4oJEXWfXGjz6V2cSaLfHG8mQSL5dV4jUfXMmWErGqjvv.tar.zst  remote  snapshot
snap folder
143G	/mnt/soldiskb/snapsMB
snapshot-269025974-9u7puB8w97d9edf8UqBWgTZvFVrL15gD1MhryEwDgZtU.tar.zst  tmp-snapshot-archive-269051656-ZAPAjz  tmp-snapshot-archive-269051656.tar.zst

then after the snap is made
incremental folder Fri May 31 14:47:00 UTC 2024
4.3G	/mnt/soldisk/inc_snaps
40	/mnt/soldisk/inc_snaps/remote
incremental-snapshot-269051656-269055541-Hn6K8dam4wvT7166688dkriUDJiboQBsS9454ESjHbfQ.tar.zst  remote  snapshot
snap folder
73G	/mnt/soldiskb/snapsMB
snapshot-269051656-GLADZGajspVkjMvC9cJhnmExXgW34G1Ej8cCXAfk54cS.tar.zst

Solana Jito v1.18.14
Thanks

yeah, this
We should allow specifying all the snapshot directories separately: full snapshot archive, incremental snapshot archive, bank snapshot.
Now this snapshot folder is more bank-snapshot, but is running on the incremental folder.
The thing is worsted if changing the default snap and incremental creation. for example
setup snaps each 100l slots instead of the 25k default and incremental each 200, but the incremental no was happening each 200 slots and also was a bunch slots behind the tip, so the incremental was like +600 slots behind instead of 200 slots or so.
then, the snapshot folder inside incrementals was growing crazy. meanwhile snaps happening each 100k slots.
meanwhile running all this test, I just realized we are missing the ability to start a node with one snapshot + incremental, but without creating snapshots.
because, If I'm running different setups, nodes, RPC, relayers, I mean several differents servers, think why want to create snapshots in all the nodes?
Also in the validator node. This can be done or the snapshot creation is vital for the software to keep running?
If can be done, this can solve some resources things. imo