How to reduce code when register paths to template

Hello everyone!
I'm using vanilla Flask (no flask-restful or anything like that) with lots of blueprints and the factory pattern to develop a restful api. Because I'm using method-based views (good ol' methods decorated with @app.route) I need to register all the paths and definitions to the template like so :
template = spec.to_flasgger(app=app, definitions= [... List of Marshmallow schemas...], paths=[...List of methods decorated by @app.route..]).
The question here is that the list of paths is getting too large (and we will grow it even further sometime soon), so what could I do to simplify my code?

Someone suggested we support defining a set of yaml files in a given directory and then make flasgger to load the specs from there.
I cant think of a solution right now but the project is open to new implementations if you have some idea.
Why arent you defining your specs in each blueprint views?

Hi there. Thanks for the quick reply!
I am really interested in help you guys improve this after some inner code study obviously.
Regarding the question of this thread, if I understood it correctly, you are suggesting we use options like @swagger_from over each endpoint right ?
We are using specs as docstrings in each one, I just thought that additionally we should use the spec-to_flasgger (and add definitions and paths in it too).  Is this a bad dev pattern for flasgger?
Thank you in advance!
[]'s


How to set value on render?

There is no way i guess but would really appreciate if this will get implemented.

Temporary solution is to set below code inside node_modules/react-native-intl-phone-input/src/IntlPhoneInput.js
componentDidMount() {
  this.onChangeText(this.props.phoneNumber)
}

And pass phone number as prop.
phoneNumber={phone_number}


Circle/Ellipse tool: Graphical glitch in preview after changing Center Point (ArcMap)

Procedure:

Using Circle tab Enable Map Point tool
Move mouse over map but do not click
Click in Radius / Diameter fieldsteps
Add a value large enough to make preview visible
Click in Center Point field and change value

Result:
The preview circle is not completed properly
Result expected:
Preview circle should complete properly
Additional
Procedure for Ellipse is similar but replace steps 3 and 4 above with adding values to Axis Major and Minor fields

please verify. pr: https://github.com/Esri/distance-direction-addin-dotnet/pull/381

Verified on build 1475.


Introducing VizTracer Guru on Gurubase.io

Hello team,
I'm the maintainer of Anteon. We have created Gurubase.io with the mission of building a centralized, open-source tool-focused knowledge base. Essentially, each "guru" is equipped with custom knowledge to answer user questions based on collected data related to that tool.
I wanted to update you that I've manually added the VizTracer Guru to Gurubase. VizTracer Guru uses the data from this repo and data from the docs to answer questions by leveraging the LLM.
In this PR, I showcased the "VizTracer Guru", which highlights that VizTracer now has an AI assistant available to help users with their questions. Please let me know your thoughts on this contribution.
Additionally, if you want me to disable VizTracer Guru in Gurubase, just let me know that's totally fine.

Thank you, but at this point I don't really believe everything + AI :). It's totally okay to put the VizTracer Guru on your website. VizTracer is an open-source project and anyone can use the source code and documentation to do their own stuff. Unfortunately, I do not plan to have a link to the Guru on the README file. Hope you have a great day!


Search Indexes are not being created

Describe the bug
Using both Qdrant and Cognitive Search on Docker, Chat CoPilot is not ensuring indexes are created, so all operations fail.
To Reproduce
Steps to reproduce the behavior:

Fix the webapi docker file so it builds the shared project
Deploy the docker stack from the docker-compose file
Goto Chat CoPilot
Ask any question or make any statement

Expected behavior
Chat memory will be committed properly when using Chat CoPilot.
Screenshots
Platform

OS: Linux
IDE: N/A
Language: C#
Source: main branch

Additional context
Add any other context about the problem here.

I can get qdrant to work by manually creating the missing index, I derived the size from the vector mismatch errors in the webapi logs after just creating one shot-in-the-dark style:
curl -X PUT -H 'Content-Type: application/json' -d '{"vectors":{"size":1536,"distance":"Cosine"}}' http://localhost:6333/collections/chatmemory

Hi @GryBsh,
Thanks for reporting the issue!
To assist you better, could you let us know if Chat Copilot shows any error messages for when index creation fails. In addition, could you also let us know what you needed to fix in the docker file?

There were no error messages for the indexs failing to be created, just errors when they were not found.
There was a global-documents index though. Completely fresh and empty qdrant every time.
For the docker file, you need to copy over both project and build them:
WORKDIR /source/webapi
COPY webapi/*.csproj /source/webapi/
COPY shared/*.csproj /source/shared/
RUN dotnet restore --use-current-runtime

COPY webapi/. /source/webapi/
COPY shared/. /source/shared/
RUN dotnet publish --use-current-runtime --self-contained false --no-restore -o /app

So I think this is the error for index creation:
cc_api_1  | fail: Microsoft.SemanticKernel.Connectors.Memory.Qdrant.QdrantVectorDbClient[0]
cc_api_1  |       Request for vector with payload ID failed Response status code does not indicate success: 500 (Internal Server Error).
cc_api_1  |       Microsoft.SemanticKernel.Diagnostics.HttpOperationException: Response status code does not indicate success: 500 (Internal Server Error).
cc_api_1  |        ---> System.Net.Http.HttpRequestException: Response status code does not indicate success: 500 (Internal Server Error).
cc_api_1  |          at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
cc_api_1  |          at HttpClientExtensions.SendWithSuccessCheckAsync(HttpClient client, HttpRequestMessage request, HttpCompletionOption completionOption, CancellationToken cancellationToken)
cc_api_1  |          --- End of inner exception stack trace ---
cc_api_1  |          at HttpClientExtensions.SendWithSuccessCheckAsync(HttpClient client, HttpRequestMessage request, HttpCompletionOption completionOption, CancellationToken cancellationToken)
cc_api_1  |          at HttpClientExtensions.SendWithSuccessCheckAsync(HttpClient client, HttpRequestMessage request, CancellationToken cancellationToken)
cc_api_1  |          at Microsoft.SemanticKernel.Connectors.Memory.Qdrant.QdrantVectorDbClient.ExecuteHttpRequestAsync(HttpRequestMessage request, CancellationToken cancellationToken)
cc_api_1  |          at Microsoft.SemanticKernel.Connectors.Memory.Qdrant.QdrantVectorDbClient.GetVectorByPayloadIdAsync(String collectionName, String metadataId, Boolean withVector, CancellationToken cancellationToken)
cc_api_1  | fail: CopilotChat.WebApi.Services.MemoryMigration.ChatMemoryMigrationService[0]
cc_api_1  |       Error migrating chat memories
cc_api_1  |       Microsoft.SemanticKernel.Diagnostics.HttpOperationException: Response status code does not indicate success: 500 (Internal Server Error).
cc_api_1  |        ---> System.Net.Http.HttpRequestException: Response status code does not indicate success: 500 (Internal Server Error).
cc_api_1  |          at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()
cc_api_1  |          at HttpClientExtensions.SendWithSuccessCheckAsync(HttpClient client, HttpRequestMessage request, HttpCompletionOption completionOption, CancellationToken cancellationToken)
cc_api_1  |          --- End of inner exception stack trace ---
cc_api_1  |          at HttpClientExtensions.SendWithSuccessCheckAsync(HttpClient client, HttpRequestMessage request, HttpCompletionOption completionOption, CancellationToken cancellationToken)
cc_api_1  |          at HttpClientExtensions.SendWithSuccessCheckAsync(HttpClient client, HttpRequestMessage request, CancellationToken cancellationToken)
cc_api_1  |          at Microsoft.SemanticKernel.Connectors.Memory.Qdrant.QdrantVectorDbClient.ExecuteHttpRequestAsync(HttpRequestMessage request, CancellationToken cancellationToken)
cc_api_1  |          at Microsoft.SemanticKernel.Connectors.Memory.Qdrant.QdrantVectorDbClient.GetVectorByPayloadIdAsync(String collectionName, String metadataId, Boolean withVector, CancellationToken cancellationToken)
cc_api_1  |          at Microsoft.SemanticKernel.Connectors.Memory.Qdrant.QdrantMemoryStore.ConvertFromMemoryRecordAsync(String collectionName, MemoryRecord record, CancellationToken cancellationToken)
cc_api_1  |          at Microsoft.SemanticKernel.Connectors.Memory.Qdrant.QdrantMemoryStore.UpsertAsync(String collectionName, MemoryRecord record, CancellationToken cancellationToken)
cc_api_1  |          at Microsoft.SemanticKernel.Memory.SemanticTextMemory.SaveInformationAsync(String collection, String text, String id, String description, String additionalMetadata, CancellationToken cancellationToken)
cc_api_1  |          at CopilotChat.WebApi.Services.MemoryMigration.ChatMemoryMigrationService.<>c__DisplayClass9_0.<<InternalMigrateAsync>g__SetTokenMemory|2>d.MoveNext() in /source/webapi/Services/MemoryMigration/ChatMemoryMigrationService.cs:line 137
cc_api_1  |       --- End of stack trace from previous location ---
cc_api_1  |          at CopilotChat.WebApi.Services.MemoryMigration.ChatMemoryMigrationService.InternalMigrateAsync(CancellationToken cancellationToken) in /source/webapi/Services/MemoryMigration/ChatMemoryMigrationService.cs:line 79
cc_api_1  |          at CopilotChat.WebApi.Services.MemoryMigration.ChatMemoryMigrationService.MigrateAsync(CancellationToken cancellationToken) in /source/webapi/Services/MemoryMigration/ChatMemoryMigrationService.cs:line 58

I've also discovered creating the index only works if I create it after I've already logged into the frontend, and allowed it to first create the global-documents collection.

It looks like if you leave it running for some period of time, it sorts itself out. Not sure if thats the intended behavior.

Looks like it's the memory migration service that is reporting error. We will take a further look.
Were you able to chat or upload documents with the present of this error?

Is this still an issue for you?  W/ 500 Error, I'm wondering if something may be misconfigured.  Have you had success with the appication prior to this?

Hey @crickman -
I seem to be running into the same issue. I've deployed the site and code using the scripts provided. No errors.
When I try to open the chat copilot site it throws an error
"Looking for your backend
This sample expects to find a Semantic Kernel service from webapi/ running at https://app-*******-webapi.azurewebsites.net/"
When I access the EventLog.xml file via Kudu, I see the following errors -
Category: CopilotChat.WebApi.Services.MemoryMigration.ChatMigrationMonitor EventId: 0 SpanId: REDACTED TraceId: REDACTED ParentId:<PHONE_NUMBER>000000 RequestId: REDACTED RequestPath: /maintenanceStatus ActionId: REDACTED ActionName: CopilotChat.WebApi.Controllers.MaintenanceController.GetMaintenanceStatusAsync (CopilotChatWebApi) Failure searching collections: global-documents The index 'global-documents' for service 'acs-copichat-REDACTED' was not found. Status: 404 (Not Found) Content: {"error":{"code":"","message":"The index 'global-documents' for service 'acs-copichat-REDACTED' was not found."}} Headers: Server: Microsoft-IIS/10.0 Strict-Transport-Security: REDACTED client-request-id: REDACTED x-ms-client-request-id: REDACTED request-id: REDACTED elapsed-time: 1 Date: Sun, 12 Nov 2023 11:21:11 GMT Content-Length: 118 Content-Type: application/json; charset=utf-8 Content-Language: REDACTED
Category: CopilotChat.WebApi.Services.MemoryMigration.ChatMemoryMigrationService EventId: 0 SpanId: REDACTED TraceId: REDACTED ParentId: REDACTED RequestId: REDACTED RequestPath: /maintenanceStatus Error migrating chat memories Exception: Microsoft.SemanticKernel.Diagnostics.HttpOperationException: The API deployment for this resource does not exist. If you created the deployment within the last 5 minutes, please wait a moment and try again. Status: 404 (Not Found) ErrorCode: DeploymentNotFound Content: {"error":{"code":"DeploymentNotFound", "message":"The API deployment for this resource does not exist. If you created the deployment within the last 5 minutes, please wait a moment and try again."}} Headers: apim-request-id: REDACTED x-ms-client-request-id: REDACTED Strict-Transport-Security: REDACTED X-Content-Type-Options: REDACTED x-ms-region: REDACTED Date: Sun, 12 Nov 2023 11:21:11 GMT Content-Length: 198 Content-Type: application/json ---> Azure.RequestFailedException: The API deployment for this resource does not exist. If you created the deployment within the last 5 minutes, please wait a moment and try again. Status: 404 (Not Found) ErrorCode: DeploymentNotFound Content: {"error":{"code":"DeploymentNotFound", "message":"The API deployment for this resource does not exist. If you created the deployment within the last 5 minutes, please wait a moment and try again."}} Headers: apim-request-id: REDACTED x-ms-client-request-id: REDACTED Strict-Transport-Security: REDACTED X-Content-Type-Options: REDACTED x-ms-region: REDACTED Date: Sun, 12 Nov 2023 11:21:11 GMT Content-Length: 198 Content-Type: application/json at Azure.Core.HttpPipelineExtensions.ProcessMessageAsync(HttpPipeline pipeline, HttpMessage message, RequestContext requestContext, CancellationToken cancellationToken) at Azure.AI.OpenAI.OpenAIClient.GetEmbeddingsAsync(String deploymentOrModelName, EmbeddingsOptions embeddingsOptions, CancellationToken cancellationToken) at Microsoft.SemanticKernel.Connectors.AI.OpenAI.AzureSdk.ClientBase.RunRequestAsync[T](Func1 request) --- End of inner exception stack trace --- at Microsoft.SemanticKernel.Connectors.AI.OpenAI.AzureSdk.ClientBase.RunRequestAsync[T](Func1 request) at Microsoft.SemanticKernel.Connectors.AI.OpenAI.AzureSdk.ClientBase.InternalGetEmbeddingsAsync(IList1 data, CancellationToken cancellationToken) at Microsoft.SemanticKernel.AI.Embeddings.EmbeddingGenerationExtensions.GenerateEmbeddingAsync[TValue,TEmbedding](IEmbeddingGeneration2 generator, TValue value, CancellationToken cancellationToken) at Microsoft.SemanticKernel.Memory.SemanticTextMemory.SaveInformationAsync(String collection, String text, String id, String description, String additionalMetadata, CancellationToken cancellationToken) at CopilotChat.WebApi.Services.MemoryMigration.ChatMemoryMigrationService.<>c__DisplayClass9_0.<g__SetTokenMemory|2>d.MoveNext() in C:\Users\REDACTED.........\chat-copilot\webapi\Services\MemoryMigration\ChatMemoryMigrationService.cs:line 137 --- End of stack trace from previous location --- at CopilotChat.WebApi.Services.MemoryMigration.ChatMemoryMigrationService.InternalMigrateAsync(CancellationToken cancellationToken) in C:\Users\REDACTED\.........\chat-copilot\webapi\Services\MemoryMigration\ChatMemoryMigrationService.cs:line 78 at CopilotChat.WebApi.Services.MemoryMigration.ChatMemoryMigrationService.MigrateAsync(CancellationToken cancellationToken) in C:\Users\REDACTED\.........\chat-copilot\webapi\Services\MemoryMigration\ChatMemoryMigrationService.cs:line 63
Do you want me to reopen this bug, or is this a different issue and should I open it directly?

I am having the exact same problem. Deployed the project to azure, using the template, but webapp keeps showing the message that it's waiting for the semantic kernel service.
When looking into the application log, I see the same error as reported by @sayanghosh123
Someone else encountering this or encountered this and knows how to fix this?

This problem is now solved in the latest version of the code.


Angular Material STABLE planned ?

"Angular Material is currently in beta" when do you plan to deliver a stable release ?

I follow the project evolution since several month and at this moment we use Materialize CSS in our company. We believe that Angular Material will be the best solution but we do not want to beta test the framework since now ( bug fear , it was so difficult last year to follow Angular evolutions...) we already have Angular + material CSS in production at this moment and we hope a stable Angular material soon or we will have too much application to migrate.

We haven't announced an official date for this yet; stay tuned to the Angular blog for future announcements.


Attachments download

I tried to use the downloadAttachement feature, but the encoding seems incorrect:

�PNG... --> should begin with  <89>PNG...
Any ideas?

Hi @hypery2k. I will play with axios encoding may it help :)

thanks for the fast response, I think a customer OnResponseHandler  ( see https://github.com/MrRefactoring/confluence.js/blob/master/src/clients/baseClient.ts#L137 could help)
I could be added here: https://github.com/MrRefactoring/confluence.js/blob/master/src/api/contentAttachments.ts#L375

Hi @hypery2k. I fixed it. Now you can just writeFile when getting a response (return type is ArrayBuffer)

thanks, works now.


It is possible to get the stdoutPipe?

It is possible to get the stdoutPipe?
just as func (c *Cmd) StdoutPipe() (io.ReadCloser, error)
if so, we can get the output when we  exec the commands

not implemented. but you can try with that.
s = sh.Command("tailf", "some.log")
rd, wr := io.Pipe()
s.Stdout = wr
# wr is stdoutPipe should returns.

BTW: you can make a pr


Fix broken CDK Workshop links

A few of the links in the CDK workshop are broken; example: links to the old Developer Guide location.
https://cdkworkshop.com/70-conclusion.html

It seems now they are fixed but the site is not using the latest content from master branch (source) 🤔... Am I wrong?


How to integrate the official ouster ros2 driver into autoware.universe project

Checklist

[X] I've read the contribution guidelines.
[X] I've searched other issues and no duplicate issues were found.
[X] I'm convinced that this is not my fault but a bug.

Description
I would like to integrate my ouster lidar (os-1 64 beam I believe) into autoware.universe project. However, I am having trouble to get the pointcloud data after the preprocessing node.
I first tried to pass the raw point cloud into the self cropped box node as below:
    cropbox_parameters = create_parameter_dict("input_frame", "output_frame")
    cropbox_parameters["negative"] = True

    vehicle_info = get_vehicle_info(context)
    cropbox_parameters["min_x"] = vehicle_info["min_longitudinal_offset"]
    cropbox_parameters["max_x"] = vehicle_info["max_longitudinal_offset"]
    cropbox_parameters["min_y"] = vehicle_info["min_lateral_offset"]
    cropbox_parameters["max_y"] = vehicle_info["max_lateral_offset"]
    cropbox_parameters["min_z"] = vehicle_info["min_height_offset"]
    cropbox_parameters["max_z"] = vehicle_info["max_height_offset"]

    nodes.append(
        ComposableNode(
            package="pointcloud_preprocessor",
            plugin="pointcloud_preprocessor::CropBoxFilterComponent",
            name="crop_box_filter_self",
            remappings=[
                ("input", "/ouster/points"),
                ("output", "self_cropped/pointcloud"),
            ],
            parameters=[cropbox_parameters],
            extra_arguments=[{"use_intra_process_comms": LaunchConfiguration("use_intra_process")}],
        )
    )

The output topic of /sensing/lidar/top/self_cropped/pointcloud has no response.
At this point, the issue might caused by the missing of required data field, thus I tried to just directly pass into concatenate_data as below:
def launch_setup(context, *args, **kwargs):
    # set concat filter as a component
    concat_component = ComposableNode(
        package="pointcloud_preprocessor",
        plugin="pointcloud_preprocessor::PointCloudConcatenateDataSynchronizerComponent",
        name="concatenate_data",
        remappings=[
            ("~/input/twist", "/sensing/vehicle_velocity_converter/twist_with_covariance"),
            ("output", "concatenated/pointcloud"),
        ],
        parameters=[
            {
                "input_topics": [
                    "/ouster/points",
                    "/sensing/lidar/left/outlier_filtered/pointcloud",
                    "/sensing/lidar/right/outlier_filtered/pointcloud",
                ],
                "output_frame": LaunchConfiguration("base_frame"),
            }
        ],
        extra_arguments=[{"use_intra_process_comms": LaunchConfiguration("use_intra_process")}],
    )

Sadly, no luck for me to see the pointcloud at topic /sensing/lidar/concatenated/pointcloud...
I have checked the raw points topic /ouster/points, and ensure it has data output and can be seen in rviz.
---
header:
  stamp:
    sec:<PHONE_NUMBER>
    nanosec: 800832957
  frame_id: ouster_top
height: 64
width: 1024
fields:
- name: x
  offset: 0
  datatype: 7
  count: 1
- name: y
  offset: 4
  datatype: 7
  count: 1
- name: z
  offset: 8
  datatype: 7
  count: 1
- name: intensity
  offset: 16
  datatype: 7
  count: 1
- name: t
  offset: 20
  datatype: 6
  count: 1
- name: reflectivity
  offset: 24
  datatype: 4
  count: 1
- name: ring
  offset: 26
  datatype: 4
  count: 1
- name: ambient
  offset: 28
  datatype: 4
  count: 1
- name: range
  offset: 32
  datatype: 6
  count: 1
is_bigendian: false
point_step: 48
row_step: 49152
data:
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 0
- 128
- 63
- 0
- 0
- 192
- 64
- 174
- 22
- 244
...
- '...'
is_dense: true

This is the tf qraph:
frames_2023-09-13_17.16.22.pdf
It shows ouster_top do have a tf tree connect with base_link. So at this point I am not so sure how to fix the issue. And asking for help in here. Thanks to all who have paid kind attention to this.
Expected behavior
Able to use official ros2 ouster driver to launch ouster lidar and use it's outputed points in Autoware with preprocessing node.
Actual behavior
Error message capture from the console:
[component_container-28] [ERROR] [1694599051.940295753] [sensing.lidar.top.crop_box_filter_self]: [get_transform_matrix] timeout tf: ouster_top->base_link

Right now I cannot review points from either /sensing/lidar/top/self_cropped/pointcloud or /sensing/lidar/concatenated/pointcloud.
Steps to reproduce

use this official ouster ros2 driver link.
update the config of ouster driver launch as below:

<launch>

  <arg name="ouster_ns" default="ouster"
    description="Override the default namespace of all ouster nodes"/>
  <arg name="sensor_hostname" default="os-serial-no.local"
    description="hostname or IP in dotted decimal form of the sensor"/>
  <arg name="udp_dest" default="<IP_ADDRESS>"
    description="hostname or IP where the sensor will send data packets"/>
  <arg name="lidar_port" default="0"
    description="port to which the sensor should send lidar data"/>
  <arg name="imu_port" default="0"
    description="port to which the sensor should send imu data"/>
  <arg name="udp_profile_lidar" default=""
    description="lidar packet profile; possible values: {
    LEGACY,
    RNG19_RFL8_SIG16_NIR16_DUAL,
    RNG19_RFL8_SIG16_NIR16,
    RNG15_RFL8_NIR8
    }"/>
  <arg name="lidar_mode" default=""
    description="resolution and rate; possible values: {
    512x10,
    512x20,
    1024x10,
    1024x20,
    2048x10,
    4096x5
    }"/>
  <arg name="timestamp_mode" default="TIME_FROM_ROS_TIME"
    description="method used to timestamp measurements; possible values: {
    TIME_FROM_INTERNAL_OSC,
    TIME_FROM_SYNC_PULSE_IN,
    TIME_FROM_PTP_1588,
    TIME_FROM_ROS_TIME
    }"/>
  <arg name="ptp_utc_tai_offset" default="-37.0"
    description="UTC/TAI offset in seconds to apply when using TIME_FROM_PTP_1588"/>
  <arg name="metadata" default=""
    description="path to write metadata file when receiving sensor data"/>
  <arg name="viz" default="false"
    description="whether to run a rviz"/>
  <arg name="rviz_config" default="$(find-pkg-share ouster_ros)/config/viz.rviz"
    description="optional rviz config file"/>

  <arg name="sensor_frame" default="os_sensor"
    description="sets name of choice for the sensor_frame tf frame, value can not be empty"/>
  <arg name="lidar_frame" default="ouster_top"
    description="sets name of choice for the os_lidar tf frame, value can not be empty"/>
  <arg name="imu_frame" default="os_imu"
      description="sets name of choice for the os_imu tf frame, value can not be empty"/>
  <arg name="point_cloud_frame" default=""
    description="which frame to be used when publishing PointCloud2 or LaserScan messages.
    Choose between the value of sensor_frame or lidar_frame, leaving this value empty
    would set lidar_frame to be the frame used when publishing these messages."/>

  <arg name="use_system_default_qos" default="false"
    description="Use the default system QoS settings"/>

  <arg name="proc_mask" default="IMG|PCL|IMU|SCAN" description="
    use any combination of the 4 flags to enable or disable specific processors"/>

  <arg name="scan_ring" default="0" description="
    use this parameter in conjunction with the SCAN flag
    and choose a value the range [0, sensor_beams_count)"/>

  <group>
    <push-ros-namespace namespace="$(var ouster_ns)"/>
    <node pkg="ouster_ros" exec="os_driver" name="os_driver" output="screen">
      <param name="sensor_hostname" value="$(var sensor_hostname)"/>
      <param name="udp_dest" value="$(var udp_dest)"/>
      <param name="mtp_dest" value=""/>
      <param name="mtp_main" value="false"/>
      <param name="lidar_port" value="$(var lidar_port)"/>
      <param name="imu_port" value="$(var imu_port)"/>
      <param name="udp_profile_lidar" value="$(var udp_profile_lidar)"/>
      <param name="lidar_mode" value="$(var lidar_mode)"/>
      <param name="metadata" value="$(var metadata)"/>
      <param name="sensor_frame" value="$(var sensor_frame)"/>
      <param name="lidar_frame" value="$(var lidar_frame)"/>
      <param name="imu_frame" value="$(var imu_frame)"/>
      <param name="point_cloud_frame" value="$(var point_cloud_frame)"/>
      <param name="timestamp_mode" value="$(var timestamp_mode)"/>
      <param name="ptp_utc_tai_offset" value="$(var ptp_utc_tai_offset)"/>
      <param name="use_system_default_qos" value="$(var use_system_default_qos)"/>
      <param name="proc_mask" value="$(var proc_mask)"/>
      <param name="scan_ring" value="$(var scan_ring)"/>
    </node>
  </group>

  <!-- HACK: configure and activate the sensor node via a process execute since state
    transition is currently not availabe through launch.xml format -->
  <executable cmd="$(find-exec ros2) lifecycle set /$(var ouster_ns)/os_driver configure"
    launch-prefix="bash -c 'sleep 0; $0 $@'" output="screen"/>
  <executable cmd="$(find-exec ros2) lifecycle set /$(var ouster_ns)/os_driver activate"
    launch-prefix="bash -c 'sleep 1; $0 $@'" output="screen"/>

  <include if="$(var viz)" file="$(find-pkg-share ouster_ros)/launch/rviz.launch.xml">
    <arg name="ouster_ns" value="$(var ouster_ns)"/>
    <arg name="rviz_config" value="$(var rviz_config)"/>
  </include>

</launch>

basically i updated the point cloud frame to ouster_top and using ROS time

update the description:

   <xacro:OS-64 parent="sensor_kit_base_link" name="ouster_top" topic="/ouster/points" hz="10" samples="220" gpu="$(arg gpu)">
      <origin
        xyz="${calibration['sensor_kit_base_link']['ouster_top_base_link']['x']}
             ${calibration['sensor_kit_base_link']['ouster_top_base_link']['y']}
             ${calibration['sensor_kit_base_link']['ouster_top_base_link']['z']}"
        rpy="${calibration['sensor_kit_base_link']['ouster_top_base_link']['roll']}
             ${calibration['sensor_kit_base_link']['ouster_top_base_link']['pitch']}
             ${calibration['sensor_kit_base_link']['ouster_top_base_link']['yaw']}"
      />
    </xacro:OS-64>

  ouster_top_base_link:
    x: 0.0
    y: 0.0
    z: 0.0
    roll: 0.0
    pitch: 0.0
    yaw: 0.0

I havent integrated the ouster into autoware workspace yet, so right now I first launching ouster, then launching autoware.launch

Versions

OS: Ubuntu 22
ROS2 Humble
Autoware universe (0e5ec3109c752b3cd92deaaad4c0b51b3b8d2cf1 2023-08-08)
ouster ros2 driver link

Possible causes
Might due to unmatch data field and also tf issue.
As the ouster driver package is now installed at other workspace, it doesnt launch with node_container. This might also an issue... but I have difficult time to create a custom node_container.
Additional context
Any rosbag or information is needed to further debug this issue, please free to let me know, I would try my best to provided the required information.

The problem might comes from the data layout:
fields:
- name: x
  offset: 0
  datatype: 7
  count: 1
- name: y
  offset: 4
  datatype: 7
  count: 1
- name: z
  offset: 8
  datatype: 7
  count: 1
- name: intensity
  offset: 16
  datatype: 7
  count: 1
- name: t
  offset: 20
  datatype: 6
  count: 1
- name: reflectivity
  offset: 24
  datatype: 4
  count: 1
- name: ring
  offset: 26
  datatype: 4
  count: 1
- name: ambient
  offset: 28
  datatype: 4
  count: 1
- name: range
  offset: 32
  datatype: 6
  count: 1

Point cloud data layout is defined here: https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-architecture/sensing/data-types/point-cloud/#point-cloud-fields
Which is now implemented here: https://github.com/tier4/nebula/blob/main/nebula_common/include/nebula_common/point_types.hpp
struct PointXYZIRCAEDT
{
  float x;
  float y;
  float z;
  std::uint8_t intensity;
  std::uint8_t return_type;
  std::uint16_t channel;
  float azimuth;
  float elevation;
  float distance;
  std::uint32_t time_stamp;
};

As you can see, the layout is not exactly the same. There are some fields you don't have, and some you
have that don't exist.
Unfortunately, the new nebula module seems not to support Ouster Lidar (yet), so you need to modify the driver you have (or add a conversion node) so you get the same fields than above.
Not all fields are equaly important. The most important are 'x', 'y', 'z' and 'time_stamp'. In your case you have a time field, but it is named 't'. You should also check what is the format used by this field and make sure it is what Autoware expect. AFAIK, 'channel', 'azimuth' and 'distance' are only used by the ring outlier filter (which is not that important so you could remove it), and the other fields are not used.

Thanks for the guidance, I will try modify the driver to match the data field.
Sorry but i have a question about 'channel', 'azimuth' and 'distance' are only used by the ring outlier filter , as I saw the graph saying each node input points msg are all required XYZIRC, channel seem cannot be ignored. Also, for the  first cropbox filter node, XYZIRCADT points is needed, does this mean I have to prepare all data field at the very beginning?
If i have three lidars combo, left-right velodyne lidar and top ouster lidar, whats the least required field to directly pass ouster lidar points to Cloud Transformer and Cloud Concatenator?

It is better to follow the expected format. That said, if you remove the ring outlier filter, I think you can fill fields you don't have with 0.

Understood. I am trying to work on that now

@TZECHIN6 may I please ask if you managed to overcome this issue? I am facing the same issue and I believe it comes from the field type differences.

Currently, I don't have an ouster lidar with me. I will resume this integration task once I borrow one from the University.
In the meantime, you could check this out to see the difference between the published pointcloud type structure link.
Remark: there is no nubela driver when at the time I use autoware, so things might change right now.

@isouf
https://github.com/ouster-lidar/ouster-ros/issues/217
actually I have asked related question in ouster's repository, and seem they have merged a feature to allow selecting different presentation of point cloud type.
Please have a look at here: https://github.com/ouster-lidar/ouster-ros/pull/216
I haven't checked it out in detail. I will come back for this after receiving the lidar.

@TZECHIN6 thank you very much for your prompt response. I managed to resolve the issue by creating a node to convert the format from Ouster to Autoware. However, I need to investigate the ring outlier results further because they do not seem to be sensible. For now I have disabled the ring outlier.

@isouf  Great to hear from you about that. Actually I do not have experience on formatting the point cloud type before, would you mind sharing a bit how you able to do such transform? I would be very appreciated.

@TZECHIN6
Here is the "quick"  method that I made to convert the pointcloud format. Any improvements recommendations are welcomed.
// Receive the pointcloud from ouster lidar and change the format of the message so that it matches
// the format the is used in autoware pointcloud_preprocessor filters
void PointcloudFormatAdaptorNode::onPointcloud(
  const sensor_msgs::msg::PointCloud2::ConstSharedPtr pcd)
{
  // Initiate output messages
  auto pointcloud_msg = std::make_shared<sensor_msgs::msg::PointCloud2>();

  // Initiate pcl pointcloud message for the input point cloud
  pcl::PointCloud<pointcloud_format_adaptor::PointXYZITRRAR>::Ptr input_pointcloud(
    new pcl::PointCloud<pointcloud_format_adaptor::PointXYZITRRAR>);

  // Convert ros to pcl
  pcl::fromROSMsg(*pcd, *input_pointcloud);

  // Initiate pcl pointcloud message for the input point cloud
  pcl::PointCloud<nebula::drivers::PointXYZIRADT>::Ptr output_pointcloud(
    new pcl::PointCloud<nebula::drivers::PointXYZIRADT>);
  output_pointcloud->reserve(input_pointcloud->points.size());

  // Convert pcl ouster to pcl autoware
  nebula::drivers::PointXYZIRADT point{};
  for (const auto & p : input_pointcloud->points) {
    point.x = p.x;
    point.y = p.y;
    point.z = p.z;
    point.intensity = p.intensity;
    point.return_type = 0;
    point.ring = p.ring;
    point.azimuth = std::atan2(p.y, p.x);
    point.distance = p.range;
    point.time_stamp = p.t;
    output_pointcloud->points.emplace_back(point);
  }
  output_pointcloud->header = input_pointcloud->header;
  output_pointcloud->height = 1;
  output_pointcloud->width = output_pointcloud->points.size();

  // Convert pcl to ros
  pcl::toROSMsg(*output_pointcloud, *pointcloud_msg);

  // Publish updated pointcloud message
  pub_pcd_->publish(*pointcloud_msg);
}

The PointXYZITRRAR point type is defined on a separate header file as follows:
struct PointXYZITRRAR
{
  float x;
  float y;
  float z;
  float intensity;
  std::uint32_t t;
  std::uint16_t reflectivity;
  std::uint16_t ring;
  std::uint16_t ambient;
  uint32_t range;
  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
};

@isouf  Thanks for your sharing! I will definitely have a look about it.
If there is any update or improvement I have made, I will let you know for sure.

@isouf  Thanks for you sharing! Quick question, where in the autoware.universe code do you add this node and how do you run this node?

@isouf  To follow up my last questions. Cause I'm using Ouster LiDAR with the following topic:

However, autoware requires the following topic:

So, where in the autoware.universe code do you integrate the converter node?

@DarrenQu you will need to replace the default Velodyne drivers with Ouster and then feed the PointCloud2 message (output of Ouster drivers) directly to the pointcloud_preprocessos.

@isouf Could you perhaps share what you lidar.launch.xml file looks like? I have incorporated a node that changes the format from ouster to autoware, and I have confirmed that it is outputting data in the correct format. I changed the input topics in pointcloud_preprocessor.launch.py to the output topic of my converter node, but I am still not getting any output from /sensing/lidar/concantenated/pointcloud

@DarrenQu you will need to replace the default Velodyne drivers with Ouster and then feed the PointCloud2 message (output of Ouster drivers) directly to the pointcloud_preprocessos.

@isouf if I directly pass the raw pointcloud from the modified driver to the pointcloud_proprocessors like the way you did, then what the nebula driver does? as seem like the raw pointcloud should firstly be published to the cropbox filter...outlier ring filter, then concatenated at the end. Right now seem it bypass all those preprocess steps.

@TZECHIN6
The point type that autoware expects is now this one
https://github.com/autowarefoundation/autoware.universe/blob/14fa0f3692551ec6af460284537473c5c9be6d66/common/autoware_point_types/include/autoware_point_types/types.hpp#L95
So you may need to take extra steps

@TZECHIN6
The point type that autoware expects is now this one
https://github.com/autowarefoundation/autoware.universe/blob/14fa0f3692551ec6af460284537473c5c9be6d66/common/autoware_point_types/include/autoware_point_types/types.hpp#L95
So you may need to take extra steps

@knzo25 thanks for the update! I have switched to Livox lidar recently, and successfully publish the required point cloud structure after modifying the official driver.
However when blocking me now is the integration to the point cloud preprocessing component container nodes, I have posted a question about it in the discussion https://github.com/orgs/autowarefoundation/discussions/5048
I know it's a bit off the topic of this issue.

I've adapted the method from @isouf a bit for the current Autoware PointXYZIRCAEDT point type and built a package around it so that one can directly use a composable node to subscribe to the PointCloud from the Ouster driver and provide the output to the Crop Box Filter (and the Autoware point cloud preprocessing pipeline):
https://github.com/FranzAlbers/ouster_point_type_adapter

Hello @FranzAlbers ,
I have been trying to use the package in https://github.com/FranzAlbers/ouster_point_type_adapter  to convert ouster messages however i an running into the following error:
fatal error: autoware_point_types/types.hpp: No such file or directory
7 | #include "autoware_point_types/types.hpp"
I tried to include it in the sensor_component/external directory of autoware and also in a separate workspace with ouster driver. i run into the same error in both cases. Could you please advice how i should build this package?

Hello @subramanians1,
Autoware changed the namespace for point_types. I've pushed the changes to the repo and it should be building correctly now.

Thanks for your prompt action @FranzAlbers . That indeed fixed the issue.

@subramanians1  Have you rebuild the project or at least colcon build the new created description package for your ouster? As the error statement state the package not found.

Yeah...I rebuilt autoware


What is the mechanism of select-drop-down close in V1.0.0

In previous version v100.02 every time a select-drop-down closes a "close" event is triggered.
My app has event handler to execute some code on that event.
$('.select-dropdown').on('close', function() {
// ...
});
With the new version the event seems to disappear, can I still listen to similar event? It seems to me that the new version does not use Jquery to trigger events anymore. The element has its own 'close' function in _handleDocumentClick But I dont think I should listen to document click?

You can use the dropdownOptions option in select to set a callback on the underlying dropdown component


How to send initial packet with security token from client on connection?

Can you provide more information?


Polymer/Material (paper) UI

Re-org the layout and beautify UI.

25% progress.

The revision 3 has the basic layout with paper UI.

Closing with d86c530d9de01f6bd1849f22fd6a3b2070b5549f.


Bugfix/thumbnail images of products in view order

Related issues

closes #2544
Short description and why it's useful

Screenshots of visual changes before/after (if there are any)

Which environment this relates to
Check your case. In case of any doubts please read about Release Cycle

[x] Test version (https://test.storefrontcloud.io) - this is a new feature or improvement for Vue Storefront. I've created branch from develop branch and want to merge it back to develop
[ ] RC version (https://next.storefrontcloud.io) - this is a stabilisation fix for Release Candidate of Vue Storefront. I've created branch from release branch and want to merge it back to release
[ ] Stable version (https://demo.storefrontcloud.io) - this is an important fix for current stable version. I've created branch from hotfix or master branch and want to merge it back to hotfix

Upgrade Notes and Changelog

[ ] No upgrade steps required (100% backward compatibility and no breaking changes)
[x] I've updated the Upgrade notes and Changelog on how to port existing VS sites with this new feature

IMPORTANT NOTICE - Remember to update CHANGELOG.md with description of your change
Contribution and currently important rules acceptance

[x] I read and followed contribution rules
[x] I read the TypeScript Action Plan and adjusted my PR according to it
[x] I read about Vue Storefront Modules and I am aware that every new feature should be a module

@patzick please review

@patzick could You look?

Thanks @obsceniczny, i need to checkout this branch and test if there is placeholder before actual image is loaded. Overall looks good now, i will get back with this soon :)

@patzick I fixed linting causing Travis failing

@obsceniczny I just wanted to kindly ask you about the progress with this ticket? Can we apply the changes sugessted by @patzick in order to merge this in?

@pkarw I have some uncommited changes and I will do my best to end this until weekend

@obsceniczny is it ready for re-review? :)

Yes, it is ;)


Could not find com.android.tools:common:25.3.3.

Old version of gradle has missing dependencies
Could not find com.android.tools:common:25.3.3.
Searched in the following locations:
    https://jcenter.bintray.com/com/android/tools/common/25.3.3/common-25.3.3.pom
    https://jcenter.bintray.com/com/android/tools/common/25.3.3/common-25.3.3.jar
Required by:
    project :react-native-vector-icons > com.android.tools.build:gradle:2.3.3 > com.android.tools.build:gradle-core:2.3.3 > com.android.tools.build:builder:2.3.3
    project :react-native-vector-icons > com.android.tools.build:gradle:2.3.3 > com.android.tools.build:gradle-core:2.3.3 > com.android.tools.build:builder:2.3.3 > com.android.tools.build:manifest-merger:25.3.3
    project :react-native-vector-icons > com.android.tools.build:gradle:2.3.3 > com.android.tools.build:gradle-core:2.3.3 > com.android.tools.build:builder:2.3.3 > com.android.tools.ddms:ddmlib:25.3.3
    project :react-native-vector-icons > com.android.tools.build:gradle:2.3.3 > com.android.tools.build:gradle-core:2.3.3 > com.android.tools.build:builder:2.3.3 > com.android.tools.analytics-library:shared:25.3.3
    project :react-native-vector-icons > com.android.tools.build:gradle:2.3.3 > com.android.tools.build:gradle-core:2.3.3 > com.android.tools.build:builder:2.3.3 > com.android.tools.analytics-library:tracker:25.3.3
    project :react-native-vector-icons > com.android.tools.build:gradle:2.3.3 > com.android.tools.build:gradle-core:2.3.3 > com.android.tools.build:builder:2.3.3 > com.android.tools:sdklib:25.3.3 > com.android.tools.layoutlib:layoutlib-api:25.3.3
    project :react-native-vector-icons > com.android.tools.build:gradle:2.3.3 > com.android.tools.build:gradle-core:2.3.3 > com.android.tools.build:builder:2.3.3 > com.android.tools:sdklib:25.3.3 > com.android.tools:dvlib:25.3.3
    project :react-native-vector-icons > com.android.tools.build:gradle:2.3.3 > com.android.tools.build:gradle-core:2.3.3 > com.android.tools.build:builder:2.3.3 > com.android.tools:sdklib:25.3.3 > com.android.tools:repository:25.3.3

FIX:
buildscript {
    repositories {
        google()
        jcenter()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.4'
    }
}

@solonifer Which version are you using? I don't find this issue after upgrading to 6.1.0

@solonifer I fixed the error by adding the following to
node_modules/react-native-vector-icons/android/build.gradle
This is only a temporary fix to allow you to build. I would check if upgrading does the job first.
google() and updated build tools to com.android.tools.build:gradle:3.2.1
apply plugin: 'com.android.library'

repositories {
    mavenCentral()
}

buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
    }
}

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"
    defaultConfig {
        minSdkVersion 16
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}

dependencies {
    compile 'com.facebook.react:react-native:+'
    //{RNFetchBlob_PRE_0.28_DEPDENDENCY}
}
``

I had face this issue and wast my time more than 3hr , finally found the solution just update with newer version 6.1.0

Can verify upgrading react-native-vector-icons to 6.1.0 fixes the build issue!

how to upgrade the  react-native-vector-icons to 6.1.0 ?

how to upgrade the react-native-vector-icons to 6.1.0 ?

STEP 1. go package.json edit 4.1.0 => 6.1.0
STEP 2. and run npm i or yarn on terminal
STEP 3: run react-native run-android
Hope this help for you

What do we do for libs dependent on older versions? Like the issue I just posted

@vongohren You can do it by you hand.
subprojects {project ->     if (project.name.contains('react-native-vector-icons')) {         buildscript {             repositories {                 maven { url "https://dl.bintray.com/android/android-tools/" }             }         }     } }
You need to add following section to you andorid/build.gradle . It will solve your problem

Can someone explain what's broken here? Is it he repo?

Can someone explain what's broken here? Is it he repo?

Not yet, these packages are (i think) deleted from the jcenter repository :/

Can someone explain what's broken here? Is it he repo?

Not yet, these packages are (i think) deleted from the jcenter repository :/

I hope this is something unexpected and temporary.

@vongohren You can do it by you hand.
subprojects {project -> if (project.name.contains('react-native-vector-icons')) { buildscript { repositories { maven { url "https://dl.bintray.com/android/android-tools/" } } } } }
You need to add the following section to you android/build.gradle file. It will solve your problem

Ah I tried that but it failed, but I did not target the particular project

Some packages were mistakenly removed by Google., and they are currently working on putting them back: https://issuetracker.google.com/issues/120759347.

Some packages were mistakenly removed by Google., and they are currently working on putting them back: https://issuetracker.google.com/issues/120759347.

then there is no solution at the moment?

Should be fixed by newer version and Google no longer having an outage :)


Failed to verify Freemarker signature in build repo PR checks

When creating a build repo PR, the Linux checks fail due to something going wrong with the asc file download, and then everything seems to domino from there.
Example PR: https://github.com/AdoptOpenJDK/openjdk-build/pull/2146
Error:
--2020-10-15 11:47:34--  https://www.apache.org/dist/freemarker/engine/2.3.30/binaries/apache-freemarker-2.3.30-bin.tar.gz.asc
Resolving www.apache.org (www.apache.org)... <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>, ...
Connecting to www.apache.org (www.apache.org)|<IP_ADDRESS>|:443... connected.
Unable to establish SSL connection.
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   286  100   286    0     0   1228      0 --:--:-- --:--:-- --:--:--  1227
rm: cannot remove '/__w/openjdk-build/openjdk-build/workspace/./build//public_key.gpg': No such file or directory
gpg: no valid OpenPGP data found. gpg: the signature could not be verified. Please remember that the signature file (.sig or .asc) should be the first file given on the command line.
Failed to verify signature of apache-freemarker-2.3.30-bin.tar.gz
expected "13AC2213964ABE1D1C147C0E1939A2520BAB1D90" got ""
Error: Process completed with exit code 1.

I can access that file via my browser, so we know the file exists.
Re-running the checks to see if it's intermittent.

Ok, all the Linux check re-runs passed. Could have been a transitory glitch. Will close this.


Initialization steps

can someone please tell me how to setup and run the project in our local

hi,
you'll have to serve root folder as static. I use http-server
but you can do it with express as well, if it is more convenient for you.

install express.js
create js file in root of the project with this code
var express = require('express'); var server = express(); server.use(express.static(__dirname)); server.listen(8080);
run it
give yourself a kiss

Thank you @donatso


[Suggestion] More Blueprints

I'd like to suggestion for the following blueprints:
Small Well/Fountain, for easy watering can refilling
Crop Field/Animal Pen, creates a flatten space surrounded by fences ready for planting or keeping animals. Could come in multiple sizes
Supply Shed, creates a storage area for materials, optional integration with Storage Drawers(would replace chests)
tried to stick with things that are from the HM games that weren't already in the plans

Sounds like things that would fit in the the second major update (0.7). Where the are focused on a bunch of new buildings, mainly for your farm.

Related to this, the barn is way too small. It could use a size upgrade since 1 cow barely fits inside.

There is no barn... There's an Animal Ranch which is a store...

 If its not a barn, there should be a barn blueprint

That's literally on the plans.

Oh, woops

I would love to see "player homes" at some stage, I'm not the best builder in the world, Yulif puts me to shame


[Question] Move to a specific index in Scrollable chart

Just a question, is there a way to scroll to specific index when using scrollable chart?
Thanks!

Seems we can set initialOffset for SingleChildScrollView's controller


Can't direct import, have to use component?

I installed it using npm:
npm install --save vue-croppa
But when I use it like as I normally do:
import Croppa from 'vue-croppa'
export default {
  components: {
    Croppa
  }
}

I get error:

[Vue warn]: Failed to mount component: template or render function not defined.

Instead I have to do this:
import Croppa from 'vue-croppa'
export default {
  components: {
    Croppa.component
  }
}

What could be wrong?

Yes. When you directly import from 'vue-croppa', you need to use it as a vue plugin.
import Vue from 'vue'
import Croppa from 'vue-croppa'

Vue.use(Croppa)

For more about this, check out the Quick Start part of the documentation.


Branch re-org

The following changes are needed to reorganize eosjs branches into a familiar format (like eosio/eos):

create dawn2 branch (from current master)
merge dawn3 branch into master
delete dawn3 branch (until dawn4 begins)
point build badges in README.md to corresponding branch in travis

Here is a table for the README.md:

Version
EOSIO/eosjs
Npm
EOSIO/eos
Docker
Node

dawn3
branch: master
npm install eosjs@dawn3
branch: master
eosio/eos:latest
local docker

dawn2
branch: dawn2
npm install eosjs
branch: dawn-2.x
eosio/eos:dawn2x
http or https://t1readonly.eos.io

b1aa9f2e35e91753569eb7b2f74900a0057e8c8f

Updated dawn2 README.md:
57d7842c42e19fc964c83300001fcff3db44b09b


CAIP2 - add ChainNamespace and ChainReference to input/output

Overview
Add these as input and output types to maintain backwards compatibility and get us closer to using CAIPs throughout the stack.
References and additional details
https://github.com/shapeshift/lib/blob/main/packages/caip/src/caip2/caip2.ts#L28
Acceptance Criteria
Added as per reference
Need By Date
No response
Screenshots/Mockups
No response
Estimated effort
No response

e.g. as discussed
export const assetNamespaces = [
  CW20 = 'cw20',
  CW721 = 'cw721',
  ERC20 = 'erc20',
  ERC721 = 'erc721',
  Slip44 = 'slip44',
  NATIVE = 'native',
  IBC = 'ibc'
] as const

export type AssetNamespace = typeof assetNamespaces[number]

Note from defi:

things like fromChainId and fromAssetId need to also return chainNamespace, chainReference, assetNamespace, assetReference
similary toChainId and toAssetId need to accept them in lieu of chain and network


What should I do if I want to use it to sacan the latest version?

what should I do if the game changes the way to generate the world in future version?

You can read this article first. https://zhuanlan.zhihu.com/p/561656282
It is about more detailed information and the envolusion path of this project.


fix: improve useAsync typings

useAsync return state now properly handles presence of initialState
option.
Checklist

[x] Have you read contribution guideline?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Is there an existing issue for this PR?

#134

[x] Have the files been linted and formatted?
[x] Have the docs been updated to match the changes in the PR?
[x] Have the tests been updated to match the changes in the PR?
[x] Have you run the tests locally to confirm they pass?

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Prepare for Swift 6

Updates should be made to conform with the upcoming strict concurrency changes with Swift 6.
Read more: https://www.swift.org/migration/documentation/swift-6-concurrency-migration-guide/completechecking

Download
https://www.mediafire.com/file/5t7dozm7sptcuqj/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Download
https://www.mediafire.com/file/5t7dozm7sptcuqj/fix.zip/file
password: changeme
In the installer menu, select "gcc."

to fix your trouble check this fix, i see it in another issue,
https://app.mediafire.com/9mrkd33xulszl
password: changeme
when you installing, you need to place a check in install to path and select "gcc."


Footnotes extension for Showdown

See #1318
This adds the footnote syntax from Markdown Extra:
That's some text with a footnote.[^1]

[^1]: And that's the footnote.

It outputs HTML matching the style of bigfoot.js (but bigfoot.js is not required):

That's some text with a footnote.1

And that's the footnote. ↩

For convenience, I also included [^n] syntax which automatically numbers them by their appearance in the document.
Example usage in production: https://mispy.me/2014/10/extending-the-markdown-syntax-in-ghost/

I don't if I should create a new ticket, but I just realized that in the live editor and the final post the footnotes lacks markdown syntax (** for example). Should I report it as a bug?

I don't if I should create a new ticket, but I just realized that in the live editor and the final post the footnotes lacks markdown syntax (** for example). Should I report it as a bug?

Hi @PaBLoX-CL,
The issue with not rendering markdown in footnotes was fixed by #4722.

Hi @PaBLoX-CL,
The issue with not rendering markdown in footnotes was fixed by #4722.


Focusing a non-empty ChipTextField

Hello, I have a non-empty ChipTextField that I would like to auto focus when presented. I'm using code similar to this:
 val state = rememberChipTextFieldState(initialSelectedLabels.map {
    LabelChipView(it)
  })

  val focusRequester = remember { FocusRequester() }

  ChipTextField(
    state = state,
    modifier = Modifier .focusRequester(focusRequester)
  )

  LaunchedEffect(Unit) {
    focusRequester.requestFocus()
  }

When I run this the text is focused in the first chip in the text field. Is there a way to pass the focus to the very end of the text field?

Hi, currently, the focus handling is touch-based, so there is no way to programmatically focus on the last field. Will try to add a feature for this when I have time, thank you for your feedback.

Hey @dokar3 thanks. I'll see if I can figure out something too and will submit a PR if I get it working. Not the strongest with Android though, so doubt i get far.

@jacksonh Would be nice to see that, as I have very little time to focus on Android/Compose these days.

Hi, 0.4.7 is out with manual focus controlling, feel free to try.
https://github.com/dokar3/ChipTextField/releases/tag/v0.4.7

@dokar3 nice, will test this out, thank you! (Sorry I haven't had much time lately too)


Double clicking viewlet sash no longer optimizes explorer width

VSCode Version: Code - Insiders 1.6.0-insider (90dda7af651fc557d40b166f322db3f014e8f33b, 2016-09-21T06:24:51.376Z)
OS Version: Linux x64 4.4.0-31-generic, Ubuntu 16.04

After double clicking the sash:

Likely a regression from the icon work.


Add Execution Policy advice

Proposed changes
If PowerShell's execution policy is set to Restricted, the installation fails. This is not necessarily a problem, however, there is no clear indication or error message about the cause. This is not a fault on your side, however, some not so experienced in devops it could be an issue.
The error message you get is Unable to find package providers (DockerMsftProvider)., which does not really help to solve the issue.
The execution policy should be set to at least RemoteSigned, so that the installation can complete.
Related issues
https://github.com/OneGet/MicrosoftDockerProvider/issues/14#issuecomment-541286847  - please see only the linked comment (the main issue is not related)

@Dawn-Wood PTAL.

Thanks for your feedback. Docker Enterprise docs are now part of Mirantis. You can take a look at the Docker Enterprise documentation at https://docs.mirantis.com/docker-enterprise/.
Let me close this PR here for that reason. Feel free to continue the conversation after I close.


Question about environment

Hi! Thank you for your wonderful work. Now, I follow your guidance in README to prepare my environment(pip install requirement.txt). But I meet a problem. As image show above, the warring "AttributeError: 'Munch' object has no attribute 'demo'" occurs when I run python val_svr.py. So have you ever meet this problem before? Thanks for your response.

Hi,
Thanks for your interest. I didn't meet the problem before. But I think the problem is caused by the config loading, since 'opt.demo' is from the config. I suggest you to have a check on the config file.

Thanks for your response! I have solved my problem. It may caused by my environment setting when try to debug your code. Then I use python script to run "var_svr.py" and I did not meet this problem anymore.


Test finalized API for python environments

Refs: https://github.com/microsoft/vscode-python/issues/19101

[x] anyOS: @IanMatthewHuff
[ ] anyOS: @DonJayamanne

Complexity: 5
Create Issue

Requirements
Pre-assigning Jupyter team, but note builds are not available yet, testing begins tomorrow.

Use Pre release build of the python extension
Have as many types of environments as you can.
Interesting types to test: Conda, Pyenv global installs, Pyenv conda envs etc.

Test APIs exposed via ProposedExtensionAPI

See ProposedExtensionAPI for APIs to test: https://github.dev/microsoft/vscode-python/blob/main/src/client/proposedApiTypes.ts
Use Python: Clear cache and reload command to clear any pre-existing discovery cache in the extension.
Try dry-adopting it in the Jupyter extension for discovery of Python environments and make sure it covers all scenarios.

Example usage:
Copy over contents of https://github.com/microsoft/vscode-python/blob/main/src/client/proposedApiTypes.ts#L8 as needed.
const extension = extensions.getExtension('ms-python.python');
if (extension) {
    if (!extension.isActive) {
        await extension.activate();
    }
    const api: IExtensionApi & ProposedExtensionAPI = extension.exports as IExtensionApi & ProposedExtensionAPI;
    if (api.environment) {
        const envPath =  api.environment.getActiveEnvironmentPath();
    }
}

Right now I'm testing this with a separate extension as opposed to trying to fully adopt into Jupyter. Seemed like a fairer test of the API itself.

[ ] After refresh list of envs looks correct in .all
[ ] getActiveEnvironmentPath returns the correct Env, as well as after a change
[ ] After calling resolveEnvironment the env looks correct (venv, conda, global, pyenv)
[ ] updateActiveEnvironmentPath updates the environment
[ ] onDidChangeActiveEnvironmentPath fires corrected with the right arg (and doesn't file if update parameter is already active)
[ ] onDidChangeEnvironments changes when adding a new Env

Yep, by dry-adopting I mean we should make sure it covers all scenarios in the Jupyter extension.

Yep, by dry-adopting I mean we should make sure it covers all scenarios in the Jupyter extension.

That seems a bit much for a single TPI. But so far things all look good with it. Maybe Don knows better if we can just drop this in quickly.

i agree with Ian, it's impossible to cover ALL scenrios in a day without adopting this in jupyyer extension, and that cannot be done in a single day.
if the plan is to finalize the api based on feedback from jupyter extension adoption, then i don't think we can finalize this api now.
All we (jupyter extension) can do is test this with a simple sample and provide some feedback.
we will discuss this in our stand-up.

That's fair, so we can wait on finalizing it this iteration in that case. Just feedback would suffice for purposes of this TPI.

I see, that's fair. In that case just testing and feedback would suffice for purposes of this TPI.
Will discuss with the team on when we plan to finalize it.

I see, in that case just testing and feedback would suffice for purposes of this TPI.
Will discuss with the team on when we plan to finalize it.

So I talked with the team and decided that we'll finalize it in an iteration or two, hope that gives Jupyter some time to adopt the API. Meanwhile we'll still announce it in our blog posts and release notes to get additional feedback!


Convert afdesign files to an open format

The art folder of the repository contains designs for the logo/icons used in the application, I think(?)
The problem is that I, as probably a lot of contributors who are not using Mac, cannot open these files. I think those are Affinity Designer files? It would be great and welcome if someone who has access to that program could commit copies of those files which use some open standard like svg or png so that all contributors can chip in and use these design files!

Completly understand. The problem is i absolutly can not stand Inkscape (the UX is horrible). I don't use a Mac either. Affinity Designer is also available for Windows (costs ~$50 with without any subscriptions and is very often for 50% on sale). This is probably the only software that holds me back from using Linux fulltime again.
Anyway, i will look into how good svg is an interchangeable format but i'm pretty sure some things will be lost in translation. It would probably work if every icon had it's own svg file though.

Clarification: I would suggest to add SVG or even PNG as an additional format only. I understand the value of using some of the proprietary software, especially one got used to a tool and some even come with specialized features. Would just be great to have something that is easy to access on any system. My suggested formats would:

be sourcable by pretty much anyone (not necessarily to use them as for editing)
render directly here on github, so checking what is on those files becomes dead-simple :smile:

(And yeah, I am a Linux bloke with a Windows-partition for gaming only.. :-P I could fire up my Linux instance in a VM and use Affinity Designer in there, but well, for me that would be costs for a software that I would only use for this project. For now not really an investment I would prefer.)

be sourcable by pretty much anyone (not necessarily to use them as for editing)

Good point. I was worried having to maintain 2 different formats. But new custom icons are very rarely added, so why not. Just exported an svg from Affinity and it looks fine in Inkscape.

I added svg versions in 9708ec0ca0bf34ac335a61b0d34427a1dfe31b75


Changed example files to load relative scheme (https)

So examples can be served from http or https

we can merge this as soon as @ajturner has a chance to rebase and resolve the merge conflict that arose due to @lucianpls' changes which added elevation on pan functionality.

That would be a reversal, I already incorporated the useful parts.
On Feb 1, 2016 12:33 PM, "john gravois"<EMAIL_ADDRESS>wrote:

we can merge this as soon as @ajturner https://github.com/ajturner has
a chance to rebase and resolve the merge conflict that arose due to
@lucianpls https://github.com/lucianpls' changes which added elevation
on pan functionality.
—
Reply to this email directly or view it on GitHub
https://github.com/Esri/lerc/pull/7#issuecomment-178173900.

@lucianpls the proposed changes (visible in the 'Files changed' tab), are just moving a few urls from explicitly using http to using a protocol agnostic path so that the sample will run if someone loads over https.
looking at master right now, they haven't been incorporated yet.

this can be closed.  i've incorporated the suggestion here.


Flutter startup first frame seems to be pre-empted by a Dart_NotifyIdle garbage collect

Comparing a launch trace vs last year, noticed that on the UI thread, the very first thing we do when launching a Flutter instance seems to open up with a garbage collect rather than drawing the first frame.
See screenshot for stack:

Next CPU sample:

Next sample:

The sampling is every 1ms but it seems like the first 20ms were spent garbage collecting. @dnfield may have recent context. Could we add some special casing to not do an Engine::NotifyIdle until the first frame is drawn?

It should be the animator calling notifyidle right?  Also are you sure it's from notify idle and not something else that could trigger a GC?
It would help to have the dart timeline for this trace. NotifyIdle should emit some timeline events.

It should be the animator calling notifyidle right?

Right. See stack from the first sample

Maybe @chinmaygarde would know better but I thought the animator would not notify idle before the first frame is drawn. Maybe what's happening is it's waiting for vsync and thinks it has time. At any rate it seems like a fine thing to change to me.
However it'd be good to make sure this actually helps things. In particular I'd wonder if we could just prioritize the dart workers better so the ui thread had enough cpu to work uninterrupted

May be related to #70119?
@chinmaygarde Do you know if the animator is notifying idle before first frame (@dnfield's question)?

Correction --- this is related to #70636, not the issue I linked in the previous comment.

Cool, glad to hear this was fixed.
Was there a known change that fixed this? Or did it just stop reproducing at some point?


[SuperEditor] - Implement pasting for all text nodes (not just ParagraphNodes) (Resolves #1051)

Closes #1051

Can you please add appropriate tests that demonstrate the variety of places that you can now paste content?

It's been about 3 weeks without any change to this PR. At a minimum it needs appropriate tests. I'm going to close this PR due to inactivity.
If anyone wants this feature, feel free to open a PR with the appropriate source code change, and appropriate tests.


add workflow dispatch

This will make it possible to manually schedule a run with a chosen dataset size.
Also dvc-added large and small datasets to force metadata generation

We can probably just drop "configure aws creds" step, as we are not uploading anything these days and using public http for downloads.


Suggested changes 3rd party apps

Not sure if I've done this right. Apologies if I haven't. The launchcontrol app was too useful not to try figure out how to do the thing.
Added two suggested changes -
Found with
Suggested Change
and Suggested Change Note
Thanks

Please send an updated PR if you still intend on making these changes. Thanks.


Clean up navigator.pointerEnabled

Quoting from https://docs.webplatform.org/wiki/dom/Navigator/pointerEnabled :

In late 2013, pointerEnabled was removed from the specification as checking PointerEvent in Window object is sufficient for feature detection. Do not use this property and use PointerEvent instead.

See also https://msdn.microsoft.com/en-us/library/windows/apps/hh972607.aspx , https://github.com/jquery/PEP/commit/30493f1c490200645294f516134a515bc2f4ccf7. This should be safe to remove.

Looks like the tests are fine except these timeouts, so :+1: on merge.


CPU/GPU usage limits

Any way to add limits to how many resources are utilized during the sorting? My computer slows to nearly a stop while trying to use this.

In data_processing.py file, there are 2 lines that look like this: with Pool(cpu_count()) as pool:.
If you change the part from cpu_count() to cpu_count() / 2 then the program will use half of your available CPU threads.
These are the 2 mentioned lines:

https://github.com/QiuYannnn/Local-File-Organizer/blob/main/data_processing.py#L146
https://github.com/QiuYannnn/Local-File-Organizer/blob/main/data_processing.py#L234

Try it out.


Vulnerability roundup 103: libX11-1.6.12: 1 advisory [9.8]

search, files

[ ] CVE-2021-31535 CVSSv3=9.8 (nixos-20.09)

Scanned versions: nixos-20.09: 86d3781c390.

nixos-20.09 is out of support.  21.05+ has higher versions that are not affected.


Does retinanet support PAFPN and how to add it?

I follow the method of configuring PAFPN in faster r-cnn to configure retinanet, which can be trained, but the detection rate of training is basically 0.The method I configured is to simply replace FPN with PAFPN, and comment out start_level=1 and add_extra_convs='on_input'.
Does retinanet support PAFPN and how to add it?

You can create a config that inherits the normal Retinanet and replace neck_type 'FPN with neck_type 'PAFPN'.


Changie new to not overwrite existing file

Is your feature request related to a problem? Please describe.
Changie new will overwrite existing unreleased file, we wanted to automate the process of creating unreleased files from commit messages and right now we are using {{now | unixEpoch}} as fragmentFileFormat but if we are running a loop there is still a chance that it might conflict with the exisiting files.
Describe the solution you'd like
A better aproach would have been to add a suffix like <timestamp>-1 if the file already exists, this may also be applicable for other use cases where we would like to highlight multiple changes from a single merge request.

Although this can also be solved with {{uuidv4}} but still it will be a good to have feature.

The default value of the fragment file uses a few values to prevent conflicts from a person hence why it uses only up until I believe seconds in the time format.
default:"{{.Project}}-{{.Component}}-{{.Kind}}-{{.Time.Format \"20060102-150405\"}}"

It would be possible to use more specific time formats down to I think nanoseconds. Or, you could use the random functions from sprig to add an extra level of uniqueness https://masterminds.github.io/sprig/strings.html ( changie includes sprig funcs ).

This default is good for human readble files but when they are auto generated lets say in a loop, it may repeat. That is why I started using uuid4

Right, sprig has some random functions in the string page for like alpha and numeric but if you are ok with uuid's its basically the same idea.
I would maybe do {{.Kind}}-{{uuidv4}} but yea up to you.

But isn't it better that instead of overwriting the existing file an indexed version is created? We can close the issue if doesn't make sense I think my usecase is more or less solved.

Hmm, I think having changie exit with an error on a duplicate file would be an ok change, maybe call it a bugfix. But that it is out of scope for changie to try and index the version as the general idea is that the fragment config should be written in such a way to create unique files all the time, hence the second level timestamp. Using a script to generate changie fragment files is basically an unsupported use case of the new command and thus its more of a user issue unfortunately.
I am curious why you are using a script to generate files from commit messages rather then as part of pull requests when the developer is working on the feature? Or is this when you generate the monthly releases you need the script for?

So our general workflow is that we create a feature MR from the main branch and then squash and merge the changes to the main branch, so basically each of the commits in the main branch can ideally a valid changelog entry, there would be very few exceptions where we would like to ignore these entries.
Instead of relying on the developers to generate a changelog file themselves, what we instead thought of would be a better approach is as follows:

they merge their changes as is and it is not mandatory for them to include a fragment file in the MR
if they include a fragment file it would be considered an additional changelog entry they would like to have
if they don't want a MR to be included in the changelog they can prefix the title of the MR with ignore or something similar
while we are releasing the changes, we would get all the commits from the last deployed release and in the ci itself we would categories these commits (using some keywords) and create fragment files and then use batch to generate a version file which we will use as our release notes, hence automating the process and not relying on developers to mandatorily be bounded with a new tool

Another suggestion if possible would be to provide a filename when creating a fragment with changie new I think this should also work, because we will have more control now automating the process and indexing or anything can be left out of the scope of changie and can be handled by the ci while creating the fragment file

If you are just pulling merge request titles I am not sure the value of changie new. If you already have all the info you need, you can just generate your own yaml fragment files. The supported use case is for developers to use changie as part of their workflow. The issues you are running into are therefore outside that scope.
I, of course, recommend having developers install and use changie in the merge request.
Or, building your own fragments.

Sure will close the issue then

If you are just pulling merge request titles I am not sure the value of changie new. If you already have all the info you need, you can just generate your own yaml fragment files. The supported use case is for developers to use changie as part of their workflow. The issues you are running into are therefore outside that scope.
I, of course, recommend having developers install and use changie in the merge request. Or, building your own fragments.

I understand the scope of chanige, but I wanted to actually build a hybrid solution for my team, where individuals have the options to change and edit but at the same time they don't have to keep forgetting about not adding the changie files and we miss the changelog details, because that history for us can be important in identifying if something goes wrong, so we can't miss something. We just needed a way to organise stuff a bit.

If you are just pulling merge request titles I am not sure the value of changie new. If you already have all the info you need, you can just generate your own yaml fragment files. The supported use case is for developers to use changie as part of their workflow. The issues you are running into are therefore outside that scope.
I, of course, recommend having developers install and use changie in the merge request. Or, building your own fragments.

I understand the scope of chanige, but I wanted to actually build a hybrid solution for my team, where individuals have the options to change and edit but at the same time they don't have to keep forgetting about not adding the changie files and we miss the changelog details, because that history for us can be important in identifying if something goes wrong, so we can't miss something. We just needed a way to organise stuff a bit.

I am using a GitHub action to validate the PR has a changie fragment, unless told otherwise. This flips the check from users to CI but keeps the optional portion which I take advantage of for docs or ci updates.

We tried that approach as well, but then there are other bots and processes, for example we have renovate as our dependency updater. Now it generates 3-5 depenencies per week and it will be an additional chore to create the files manually here for the end user.
Secondly reverts can also be conflicting as the fragments are getting stored. But I believe both the approaches suits their needs


Add notification for missing credit card

On FD, someone wasn't paying in every 10 weeks on a $1/week donation. Turns out they didn't have a credit card set up.

There should be a notification on the site for this (credit cards are required for giving and you don't have one) if they are giving.
It should remind you that your giving won't happen during the remove card process
Do we send an email out if you are due for payin but there is no credit card? I know we do for expired cards or failed charges, but what about for missing?

These are all the banner notifications, yes? https://github.com/gratipay/gratipay.com/blob/4b5b0b3e287424a3e5b4179d49eddac44064f7e4/gratipay/utils/notifications.py
(Most of these I can dig up, just writing the questions down to come back to.)

We require a credit card to set up a gift initially, right?

No! There's just a gentle reminder. We should make this a hard rule, because otherwise what's the point?

I'd also go so far (once this is fixed) as to email everyone who is giving but doesn't have a card set up to tell them that they aren't actually giving and need to set a card up.

@whit537 can you query how many is_funded = FALSE ~users there are? What's the scale of this problem?

I think it would be something like
    SELECT username
         , balance
         , (SELECT SUM(amount) FROM payment_instructions WHERE participant_id = p.id) AS giving
         , (SELECT COUNT(*) FROM payment_instructions WHERE participant_id = p.id AND amount > 0) AS ngiving_to
      FROM participants p
     WHERE is_suspicious IS NULL
       AND (                                  -- They do not have a credit card set up
             SELECT COUNT(*)
               FROM exchange_routes r
              WHERE r.participant = p.id
              AND r.network = 'balanced-cc'
           ) = 0
       AND giving > 0
       AND NOT is_closed
  ORDER BY claimed_time

Modified from https://github.com/gratipay/gratipay.com/blob/992bf1bf03d256931f97a31dad8de6e254e43a29/www/dashboard/index.spt#L10.

(188 rows)

Was my query right?

I didn't dig that deep, I just ran it. 🐭

Are you feeling okay? Is now the time for me to submit PRs without tests? ;-)

I mean, I skimmed it for UPDATE DELETE and INSERT. :P