Some examples to understand API

Hi,
would be really useful to get some examples to understand how to actually use the API. Most of it it's just written but I couldn't figure out how I really should use it (for example, the validation on schema?).
Thanks and good bye

For now there's this entire open source application: https://github.com/0x8890/imagenote
It's about 1k lines of code, not too much but also not a small readable example either.
I know examples are lacking :(

I took a look at the example.
I'm looking for the query parameters to sort, range or whatever using the default fortunejs serving (like ?sort=-name but for example, how works range?)

The ad hoc JSON serializer that it comes with is not documented, currently the only way to see how to use it is the tests, though not everything is tested yet.
I would recommend using the Micro API or JSON API serializer for now. Particularly, the JSON API standard already documents what queries are allowed.

Okay, but for those default there isn't any sort of range support (for examples on a date field, like "every field from this date forward")

It is implemented, but no test case for it yet. Example:
?range[date_field]=1992-03-17&range[date_field]=1994-04-20

Another option is to use the wire protocol, which accepts exactly the arguments of the request method.

There is a related issue now https://github.com/fortunejs/fortune/issues/198.
The idea is this:

First the built-in query parsing needs to be extracted so that it may be reused in any HTTP serializer.
Then a built-in HTML serializer, that responds to the same exact URIs and queries as the default JSON serializer, provides a human-friendly interface for using and understanding the context and controls of the response. By using content negotiation, one can switch between HTML/JSON seamlessly.
Since the default JSON serializer is not hypermedia like HTML, I'd recommend using the Micro API serializer for machine-to-machine hypermedia.

I think that having a human interface that is compatible with the machine interface would be more useful than documentation, but still docs are nice.

So now the HTML serializer is done. You can start up a server:
'use strict'

const instance = require('fortune/test/integration/test_instance')
const http = require('http')
const fortune = require('fortune')

instance().then(x => http.createServer(fortune.net.http(x)).listen(1337))

Point your browser to http://localhost:1337 and start poking around. Anything you do has a JSON representation! So you could copy and paste from the browser URL and put it into curl:
curl "http://localhost:1337/user/3?include=friends&include=friends.ownedPets&fields=name&fields=birthday&fields=friends"

The same URL is accessible as a web page, or JSON. The Micro API serializer has been updated to use the new default URL/query parser, so you can also get a JSON-LD response back.


Add support for Encrypted Client Hello (ECH)

It seems this is something that has to also be enabled on the server side, but from the Chrome note here they support it in 117:
https://chromestatus.com/feature/6196703843581952
https://blog.cloudflare.com/announcing-encrypted-client-hello/

This extension has landed in Chrome 119.

This also seems to be available in Firefox 118, and enabled by default since Firefox 119.

probably want to track https://github.com/curl/curl/pull/11922 ?

That patch is landed. Using it would seem to require updating curl_impersonate to target some version of curl newer than 8.8.0.


Add Tor Support

Allow users to connect to nodes via tor.

Wondering if we should use https://pub.dev/packages/utopic_tor_onion_proxy in dart which only supports Andoird or do it via https://crates.io/crates/libtor in stackmate-core which supports all platforms.

Moved this issue to stackmate-core https://github.com/i5hi/stackmate-core/issues/3


How to run vosk-browser instantly?

Hello Corelly,
Firstly, thanks a lot for this amazing piece of software of yours.
I was wondering if there is a way to run your script instantly, but I finally figure it out. Keep up the great work! :-)
Best Regards

simply upload the index.html and wasm file on server and have everything work instantly without the need to build anything. Because I have many web-assembly or wasm scripts that just run like that, and I aslo see that you have a wasm file in the lib folder. How can we just upload it and start using the script?
Also, do you have a working copy of your own full vosk-browser demo to share, that we can just upload to server and start using?

un your script ins


fix: Update generics docs to mention we have traits now

Description
Problem*
Resolves https://github.com/noir-lang/noir/issues/3952
Summary*
Updates an outdated section of the docs which claims we don't have traits - when we do now.
Additional Context
I have a link to the traits page included here which I still need to test to see if it works
Documentation*
Check one:

[ ] No documentation needed.
[x] Documentation included in this PR.
[ ] [Exceptional Case] Documentation to be submitted in a separate PR.

PR Checklist*

[x] I have tested the changes locally.
[x] I have formatted the changes with Prettier and/or cargo fmt on default settings.

Links now work 🙂

cc @noir-lang/developerrelations doc changes FYI.


helm plugin install installs a default version in case requested version is not available

Tried installing a plugin version which did not existed, ideally I would expect an error in that case that requested version does not exist, but to my surprise it goes ahead to install a default version.
While looking in the code, what I found was that in case it does not gets the requested version it treats as if the version was never requested.
$ helm plugin install https://github.com/technosophos/helm-github
Installed plugin: github
$ helm plugin list
NAME  	VERSION	DESCRIPTION
github	0.1.0  	This plugin provides GitHub services to Helm.
$ helm plugin remove github
Removed plugin: github
$ helm plugin install https://github.com/technosophos/helm-github --version 0.2.0
Installed plugin: github
$ helm plugin list
NAME  	VERSION	DESCRIPTION
github	0.1.0  	This plugin provides GitHub services to Helm.

Closed in #2400


material2 not compatible with beta.17+

At least md-button and checkboxes fail to display their content after the update to beta 17. No errors in console thrown.
Just downgraded to beta16 and everything's working as expected.

There were some breaking changes in beta.17. The fixes will be in our alpha.4

+1, thanks.

Fixed on master via #378


DeploymentSettings doesn't handle the agent pool id if it's a secret and fails/ignore silently

What happened?
I have stack a that creates an AgentPool() ✔. That stack exports the agent_pool as an object that contains id, name and token (secret) ✔.
Another stack output agent-pool-id-secret exports the pool id as a secret ✔.
The stack output is like this.
Current stack outputs (2):
    OUTPUT                VALUE
    agent-pool            {"id":"12e730d9-f499-429f-b72e-cd2455f61f1b","name":"agent-pool-resource","token":"[secret]"}
    agent-pool-id-secret  [secret]

I have a stack b that retrieves that retrieves the 2 stack outputs as stack references from stack a. ✔
Stack b creates a DeploymentSettings() and uses the agent-pool.id (which should be a string) as part of the resource creation.
The DeploymentSettings() is created BUT the agent_pool_id is never set ❌.
After additional investigation, I wondered if passing the secret instead of an output could be the issue (step 5 onward) and it appears this seems to be the case. If the agent_pool_id receives a secret, then the value somehow isn't used ❌
Steps to reproduce

Deploy stack a ✔
Deploy stack b (don't forget to adapt the stack reference location) ✔
Check the Deployment setting for stack b

The Source control settings are updated correctly ✔
The Deployment runner pool remains the  same (Pulumi hosted pool) ❌
No indication of a failure that the Deployment hosted pool wasn't changed ⁉

Destroy stack b
Update the code to use agent_pool_id_secret instead of agent_pool['id'] for the agent_pool_id property
Deploy stack b ✔
Check the Deployment setting for stack b

The Source control settings are updated correctly ✔
The Deployment runner pool remains the  same (Pulumi hosted pool) ❌
No indication of a failure that the Deployment hosted pool wasn't changed ⁉

Running pulumi up --refresh correctly shows diff: +agentPoolId ✔
Check the Deployment setting for stack b

The Deployment runner pool remains the  same (Pulumi hosted pool) ❌
No indication of a failure that the Deployment hosted pool wasn't changed ⁉

Workaround
For now, it's possible to workaround this temporarily by remove the secrets and using plain text values. However, this is problematic because using an object as a stack reference accounts for 1 resource only where using multiple stack references will account for more resources and ultimately increase the cost passed on the customer.
Example
Stack a
"""A Python Pulumi program"""

import pulumi
import pulumi_pulumiservice as pulumiservice

pulumi_agent_pool = pulumiservice.AgentPool("agentPoolResource",
    name="agent-pool-resource",
    organization_name="menfin",
    description="this is to test agent pool id"
)

pulumi.export("agent-pool", {
    'id': pulumi_agent_pool.agent_pool_id,
    'name': pulumi_agent_pool.name,
    'token': pulumi_agent_pool.token_value
})

pulumi.export("agent-pool-id-secret", pulumi.Output.secret(pulumi_agent_pool.agent_pool_id))

Stack b
"""A Python Pulumi program"""

import pulumi
import pulumi_pulumiservice as pulumiservice

stack_ref = pulumi.StackReference("menfin/zendesk/0001")
agent_pool = stack_ref.require_output('agent-pool')
agent_pool_id_secret = stack_ref.require_output("agent-pool-id-secret")

deployment_settings = pulumiservice.DeploymentSettings(
    resource_name = "deployment-settings",
    organization = pulumi.get_organization(),
    project = pulumi.get_project(),
    stack = pulumi.get_stack(),
    agent_pool_id=agent_pool['id'],
    # agent_pool_id=agent_pool_id_secret,
    source_context = pulumiservice.DeploymentSettingsSourceContextArgs(
        git = pulumiservice.DeploymentSettingsGitSourceArgs(
            branch = "main",
            repo_url = "aureq/aws-py-eks-helm",
            git_auth = pulumiservice.DeploymentSettingsGitSourceGitAuthArgs(
                basic_auth = pulumiservice.DeploymentSettingsGitAuthBasicAuthArgs(
                    username = "aureq",
                    password = "<redacted>"
                )
            )
        )
    ),
    operation_context = pulumiservice.DeploymentSettingsOperationContextArgs(
        environment_variables = {
            "SECRET_ENV_VAR": pulumi.Output.secret('This should NOT be visible')
        }
    )
)

Output of pulumi about
CLI
Version      3.134.1
Go Version   go1.23.1
Go Compiler  gc

Plugins
KIND      NAME           VERSION
resource  pulumiservice  0.26.1
language  python         unknown

Host
OS       debian
Version  12.7
Arch     x86_64

This project is written in python: executable='/home/aureq/work/customers/zendesk/0001-xxxxx/b/venv/bin/python' version='3.11.9'

Current Stack: menfin/zendesk/0002

TYPE                                    URN
pulumi:pulumi:Stack                     urn:pulumi:0002::zendesk::pulumi:pulumi:Stack::zendesk-0002
pulumi:providers:pulumi                 urn:pulumi:0002::zendesk::pulumi:providers:pulumi::default
pulumi:pulumi:StackReference            urn:pulumi:0002::zendesk::pulumi:pulumi:StackReference::menfin/zendesk/0001
pulumi:providers:pulumiservice          urn:pulumi:0002::zendesk::pulumi:providers:pulumiservice::default_0_26_1
pulumiservice:index:DeploymentSettings  urn:pulumi:0002::zendesk::pulumiservice:index:DeploymentSettings::deployment-settings

Found no pending operations associated with 0002

Backend
Name           pulumi.com
URL            https://app.pulumi.com/aureq
User           aureq
Organizations  aureq, team-ce, menfin, menfin-team, demo
Token type     personal

Dependencies:
NAME                  VERSION
pip                   24.0
pulumi_pulumiservice  0.26.1
setuptools            65.5.0

Pulumi locates its logs in /tmp by default

Additional context
In part related to https://github.com/pulumi/pulumi/issues/17422
Contributing
Vote on this issue by adding a 👍 reaction.
To contribute a fix for this issue, leave a comment (and link to your pull request, if you've opened one already).

This is solved in https://github.com/pulumi/pulumi-pulumiservice/pull/467, should be out in the next release
Thank you for the detailed description!


Documentation Improvement for Face-Emotions-Recognition [SSOC Project Request]

Problem
The documentation provided in this repo folder is very lengthy and poorly formatted.
A lengthy documentation may be difficult to navigate and consume, especially if it is not well-organized or if it contains irrelevant information. Users might have difficulty finding the information they need, and this can lead to frustration and confusion.
It is also visually unappealing, making it hard to read and understand. The lack of proper formatting, such as headings, bullet points, and tables, can make it difficult to locate specific information and follow the document's structure.
Both of these issues can negatively affect the usability of the documentation, which can reduce the effectiveness of the project Face-X.
Improvements

Simplification of the language.
Using headings and subheadings.
Using bullet points.
Including tables for technical specifications.
Providing links to relatable resources.

Conclusion
I want to raise this issue and work on it @akshitagupta15june . I am a SSOC 2.0 Contributor.

Please Ma'am assign me this issue under SSOC'23

@akshitagupta15june ma'am please assign the issue as part of SSOC 2.0 ...

I also want to contribute on this issue

@akshitagupta15june Please merge this PR. It solves the issue as discussed above. I am Aviral Srivastava, a SSOC Contributor. Please add SSOC label as well.
Thank you.


USB redirection for USB serial converter CH340

Hello FreeRDP team
We use Freerdp with ThinClients and the USB redirection for programming different Arduino boards. This works very well and once again a big thanks to you for that!
We use the following USB serial devices:

Arduino Mega 2650 2341:0042 Arduino SA/ Mega 2560 R3 (SDC ACM).
Arduino UNO 2a03:0043 dog hunter AG / Arduino UNO Rev 3
AZ-Delivery Typ2 UNO R3 with ATMega328P 2341:0043 Arduino SA/ Uno R3 (CDC ACM)
Arduino Nano (old Bootloader ATmega328P) 0403:6001 FTDI 232 USB-Serial
All these USB-Serial converters work well and reliably.
Unfortunately, the AZ-Delivery Arduino Nano with VID:PID 1a86:7523 from QinHeng Electronics hangs away with the CH340 serial converter when uploading a sketch.
Does anyone have any ideas about this?

I have used  version xfreerdp 2.8.0 with command line:
xfreerdp /v:<IP_ADDRESS> /sec-rdp /u:'user' /p:'password' /d:'domain' /bpp:32 /rfx /gfx /sound:sys:pulse /usb:auto,id:2341:0042#0403:6001#2a03:0043#1778:0212 /drive:C,/mnt/usbdevice
If I try to upload an arduino sketch, the device disapears in the device manger.
Environment: server is Windows Server 2019, client is Linux ( architecture x86)

I have added the output from: xfreerdp /v:<IP_ADDRESS> /sec-rdp /u:'user' /p:'password' /d:'domain' /bpp:32 /rfx /gfx /sound:sys:pulse /usb:dbg,auto,id:2341:0042#0403:6001#2a03:0043#1778:0212 /drive:C,/mnt/usbdevice:
[11:18:28:406] [17879:17880] [INFO][com.freerdp.gdi] - Local framebuffer format  PIXEL_FORMAT_BGRX32
[11:18:28:407] [17879:17880] [INFO][com.freerdp.gdi] - Remote framebuffer format PIXEL_FORMAT_BGRA32
[11:18:28:550] [17879:17890] [INFO][com.freerdp.channels.rdpdr.client] - Loading device service drive [C] (static)
[11:18:28:558] [17879:17880] [INFO][com.freerdp.channels.rdpsnd.client] - [static] Loaded pulse backend for rdpsnd
[11:18:28:558] [17879:17880] [INFO][com.freerdp.channels.drdynvc.client] - Loading Dynamic Virtual Channel rdpsnd
[11:18:28:558] [17879:17880] [INFO][com.freerdp.channels.drdynvc.client] - Loading Dynamic Virtual Channel urbdrc
[11:18:28:565] [17879:17880] [DEBUG][com.freerdp.channels.urbdrc.client] - UDEVMAN device registered.
[11:18:28:565] [17879:17880] [INFO][com.freerdp.channels.drdynvc.client] - Loading Dynamic Virtual Channel rdpgfx
[11:18:28:566] [17879:17880] [INFO][com.freerdp.channels.urbdrc.client] - VID: 0x2341, PID: 0x0042
[11:18:28:566] [17879:17880] [INFO][com.freerdp.channels.urbdrc.client] - VID: 0x0403, PID: 0x6001
[11:18:28:566] [17879:17880] [INFO][com.freerdp.channels.urbdrc.client] - VID: 0x2A03, PID: 0x0043
[11:18:28:566] [17879:17880] [INFO][com.freerdp.channels.urbdrc.client] - VID: 0x1778, PID: 0x0212
[11:18:29:595] [17879:17897] [INFO][com.freerdp.channels.rdpsnd.client] - [dynamic] Loaded pulse backend for rdpsnd
[11:18:30:117] [17879:17897] [INFO][com.freerdp.channels.rdpsnd.client] - [dynamic] Loaded pulse backend for rdpsnd
[11:18:30:122] [17879:17890] [INFO][com.freerdp.channels.rdpdr.client] - registered device #1: C (type=8 id=1)
[11:18:30:148] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] RIM_EXCHANGE_CAPABILITY_REQUEST   [none |server] [00000100] InterfaceId=00000000, MessageId=00000000, FunctionId=00000100, length=16
[11:18:30:148] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [WRITE] RIM_EXCHANGE_CAPABILITY_RESPONSE  [none |client] [00000001] InterfaceId=00000000, MessageId=00000000, FunctionId=00000001, length=16
[11:18:30:149] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] RIMCALL_RELEASE                   [none |server] [00000001] InterfaceId=00000000, MessageId=00000000, FunctionId=00000001, length=12
[11:18:30:149] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] CHANNEL_CREATED                   [proxy|server] [00000100] InterfaceId=40000002, MessageId=00000000, FunctionId=00000100, length=24
[11:18:30:149] [17879:17897] [TRACE][com.freerdp.channels.urbdrc.client] - CHANNEL_CREATED                   [proxy|server] [256]
[11:18:30:150] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [WRITE] CHANNEL_CREATED                   [proxy|client] [00000100] InterfaceId=40000003, MessageId=00000000, FunctionId=00000100, length=24
[11:18:30:150] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] RIMCALL_RELEASE                   [proxy|server] [00000001] InterfaceId=40000002, MessageId=00000000, FunctionId=00000001, length=12
[11:18:30:150] [17879:17897] [TRACE][com.freerdp.channels.urbdrc.client] - RIMCALL_RELEASE                   [proxy|server] [1]
[11:20:32:307] [17879:17895] [DEBUG][com.freerdp.channels.urbdrc.client] - Hotplug add device VID=0x1A86,PID=0x7523 class LIBUSB_CLASS_VENDOR_SPEC
[11:20:32:307] [17879:17895] [DEBUG][com.freerdp.channels.urbdrc.client] - bus:1 dev:14
[11:20:32:307] [17879:17895] [DEBUG][com.freerdp.channels.urbdrc.client] -   Port: 2
[11:20:32:307] [17879:17895] [DEBUG][com.freerdp.channels.urbdrc.client] -   DevPath: 1-2
[11:20:32:308] [17879:17895] [DEBUG][com.freerdp.channels.urbdrc.client] -   Open hub: 1
[11:20:32:308] [17879:17895] [DEBUG][com.freerdp.channels.urbdrc.client] - Registered Device: Vid: 0x1A86 Pid: 0x7523 InterfaceClass = LIBUSB_CLASS_VENDOR_SPEC
[11:20:32:308] [17879:17895] [DEBUG][com.freerdp.channels.urbdrc.client] - [WRITE] ADD_VIRTUAL_CHANNEL               [proxy|sink  ] [00000100] InterfaceId=40000001, MessageId=00000005, FunctionId=00000100, length=12
[11:20:32:310] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] RIM_EXCHANGE_CAPABILITY_REQUEST   [none |server] [00000100] InterfaceId=00000000, MessageId=00000000, FunctionId=00000100, length=16
[11:20:32:311] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [WRITE] RIM_EXCHANGE_CAPABILITY_RESPONSE  [none |client] [00000001] InterfaceId=00000000, MessageId=00000000, FunctionId=00000001, length=16
[11:20:32:312] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] RIMCALL_RELEASE                   [none |server] [00000001] InterfaceId=00000000, MessageId=00000000, FunctionId=00000001, length=12
[11:20:32:312] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] CHANNEL_CREATED                   [proxy|server] [00000100] InterfaceId=40000002, MessageId=00000000, FunctionId=00000100, length=24
[11:20:32:312] [17879:17897] [TRACE][com.freerdp.channels.urbdrc.client] - CHANNEL_CREATED                   [proxy|server] [256]
[11:20:32:312] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [WRITE] CHANNEL_CREATED                   [proxy|client] [00000100] InterfaceId=40000003, MessageId=00000000, FunctionId=00000100, length=24
[11:20:32:312] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] RIMCALL_RELEASE                   [proxy|server] [00000001] InterfaceId=40000002, MessageId=00000000, FunctionId=00000001, length=12
[11:20:32:312] [17879:17897] [TRACE][com.freerdp.channels.urbdrc.client] - RIMCALL_RELEASE                   [proxy|server] [1]
[11:20:32:315] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [WRITE] ADD_DEVICE                        [proxy|sink  ] [00000101] InterfaceId=40000001, MessageId=00000000, FunctionId=00000101, length=468
[11:20:32:317] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] QUERY_DEVICE_TEXT                 [proxy|server] [00000104] InterfaceId=40000005, MessageId=00000000, FunctionId=00000104, length=20
[11:20:32:317] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [WRITE] QUERY_DEVICE_TEXT_RSP             [stub  |client] [0000000b] InterfaceId=80000005, MessageId=00000000, FunctionId=0000000b, length=38
[11:20:32:319] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] QUERY_DEVICE_TEXT                 [proxy|server] [00000104] InterfaceId=40000005, MessageId=00000000, FunctionId=00000104, length=20
[11:20:32:319] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [WRITE] QUERY_DEVICE_TEXT_RSP             [stub  |client] [00000015] InterfaceId=80000005, MessageId=00000000, FunctionId=00000015, length=58
[11:20:32:524] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] QUERY_DEVICE_TEXT                 [proxy|server] [00000104] InterfaceId=40000005, MessageId=00000000, FunctionId=00000104, length=20
[11:20:32:525] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [WRITE] QUERY_DEVICE_TEXT_RSP             [stub  |client] [0000000b] InterfaceId=80000005, MessageId=00000000, FunctionId=0000000b, length=38
[11:20:32:526] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] QUERY_DEVICE_TEXT                 [proxy|server] [00000104] InterfaceId=40000005, MessageId=00000000, FunctionId=00000104, length=20
[11:20:32:526] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [WRITE] QUERY_DEVICE_TEXT_RSP             [stub  |client] [00000015] InterfaceId=80000005, MessageId=00000000, FunctionId=00000015, length=58
[11:20:32:534] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] REGISTER_REQUEST_CALLBACK         [proxy|server] [00000101] InterfaceId=40000005, MessageId=00000000, FunctionId=00000101, length=20
[11:20:32:534] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - urbdrc_process_register_request_callback
[11:20:32:534] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] INTERNAL_IO_CONTROL               [proxy|server] [00000103] InterfaceId=40000005, MessageId=00000000, FunctionId=00000103, length=28
[11:20:32:534] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [WRITE] IOCONTROL_COMPLETION              [proxy|client] [00000100] InterfaceId=40000000, MessageId=00000000, FunctionId=00000100, length=32
[11:20:32:535] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] TRANSFER_IN_REQUEST               [proxy|server] [00000105] InterfaceId=40000005, MessageId=00000000, FunctionId=00000105, length=32
[11:20:32:535] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - URB TS_URB_GET_DESCRIPTOR_FROM_DEVICE[u]
[11:20:32:536] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [WRITE] URB_COMPLETION                    [proxy|client] [00000101] InterfaceId=40000000, MessageId=00000000, FunctionId=00000101, length=75
[11:20:32:538] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] TRANSFER_IN_REQUEST               [proxy|server] [00000105] InterfaceId=40000005, MessageId=00000000, FunctionId=00000105, length=123
[11:20:32:538] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - URB TS_URB_SELECT_CONFIGURATION[u]
[11:20:32:541] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [WRITE] URB_COMPLETION_NO_DATA            [proxy|client] [00000102] InterfaceId=40000000, MessageId=00000000, FunctionId=00000102, length=120
[11:20:32:544] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] TRANSFER_IN_REQUEST               [proxy|server] [00000105] InterfaceId=40000005, MessageId=00000000, FunctionId=00000105, length=40
[11:20:32:544] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - URB TS_URB_VENDOR_DEVICE[u]
[11:20:32:544] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - RequestId 0x0 TransferFlags: 0x3 ReqTypeReservedBits: 0x0 Request:0x5f Value: 0x0 Index: 0x0 OutputBufferSize: 0x7 bmRequestType: 0xc0
[11:20:32:545] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [WRITE] URB_COMPLETION                    [proxy|client] [00000101] InterfaceId=40000000, MessageId=00000000, FunctionId=00000101, length=38
[11:20:32:547] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] TRANSFER_IN_REQUEST               [proxy|server] [00000105] InterfaceId=40000005, MessageId=00000000, FunctionId=00000105, length=40
[11:20:32:547] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - URB TS_URB_VENDOR_DEVICE[u]
[11:20:32:547] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - RequestId 0x0 TransferFlags: 0x0 ReqTypeReservedBits: 0x0 Request:0xa1 Value: 0x0 Index: 0x0 OutputBufferSize: 0x0 bmRequestType: 0x40
[11:20:32:547] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [WRITE] URB_COMPLETION_NO_DATA            [proxy|client] [00000102] InterfaceId=40000000, MessageId=00000000, FunctionId=00000102, length=36
[11:20:32:549] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] TRANSFER_IN_REQUEST               [proxy|server] [00000105] InterfaceId=40000005, MessageId=00000000, FunctionId=00000105, length=40
[11:20:32:549] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - URB TS_URB_VENDOR_DEVICE[u]
[11:20:32:549] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - RequestId 0x0 TransferFlags: 0x0 ReqTypeReservedBits: 0x0 Request:0x9a Value: 0x1312 Index: 0xd982 OutputBufferSize: 0x0 bmRequestType: 0x40
[11:20:32:549] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [WRITE] URB_COMPLETION_NO_DATA            [proxy|client] [00000102] InterfaceId=40000000, MessageId=00000000, FunctionId=00000102, length=36
[11:20:32:551] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] TRANSFER_IN_REQUEST               [proxy|server] [00000105] InterfaceId=40000005, MessageId=00000000, FunctionId=00000105, length=40
[11:20:32:551] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - URB TS_URB_VENDOR_DEVICE[u]
[11:20:32:552] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - RequestId 0x0 TransferFlags: 0x0 ReqTypeReservedBits: 0x0 Request:0x9a Value: 0xf2c Index: 0x7 OutputBufferSize: 0x0 bmRequestType: 0x40
[11:20:32:552] [17879:17897] [DEBUG][com.freerdp.channels.urbdrc.client] - [WRITE] URB_COMPLETION_NO_DATA

@meddi good question. can you redirect the device as serial port instead?
usb redirection does not work for all classes of devices, so you might have more success with that.
from the log I can see no issue (e.g. freerdp passes data between the remote and libusb)

@meddi what might be a problem is that if the USB device is reset (or the configuration used changed) by the programmer then the redirection might break. (no idea if that happens though)

Hello akallabeth,
We have provided USB serial converters via COM redirection in some cases. This also works in principle. With
xfreerdp /v:<IP_ADDRESS> /sec-rdp /u:'user' /p:'password' /d:'domain' /bpp:32 /rfx /gfx /sound:sys:pulse /serial:COM3,/dev/ttyUSB0,Serial,permissive /drive:C,/mnt/usbdevice
you can program the boards well via the Arduino IDE.
But if you open the serial monitor, this does not work. E.g. see the following log:
xfreerdp /v:10.10.10. /sec-rdp /u:'user' /p:'password' /d:'domain' /bpp:32 /rfx /gfx /sound:sys:pulse /serial:COM3,/dev/ttyUSB0,Serial,permissive /drive:C,/mnt/usbdevice
[13:06:08:359] [7336:7337] [WARN][com.freerdp.core.nego] - Error: SSL_NOT_ALLOWED_BY_SERVER
[13:06:08:366] [7336:7337] [WARN][com.freerdp.core.nego] - Error: SSL_NOT_ALLOWED_BY_SERVER
[13:06:09:694] [7336:7337] [INFO][com.freerdp.gdi] - Local framebuffer format  PIXEL_FORMAT_BGRX32
[13:06:09:694] [7336:7337] [INFO][com.freerdp.gdi] - Remote framebuffer format PIXEL_FORMAT_BGRA32
[13:06:10:828] [7336:7347] [INFO][com.freerdp.channels.rdpdr.client] - Loading device service serial [COM3] (static)
[13:06:10:829] [7336:7347] [INFO][com.freerdp.channels.rdpdr.client] - Loading device service drive [C] (static)
[13:06:10:836] [7336:7337] [INFO][com.freerdp.channels.rdpsnd.client] - [static] Loaded pulse backend for rdpsnd
[13:06:10:836] [7336:7337] [INFO][com.freerdp.channels.drdynvc.client] - Loading Dynamic Virtual Channel rdpsnd
[13:06:10:836] [7336:7337] [INFO][com.freerdp.channels.drdynvc.client] - Loading Dynamic Virtual Channel rdpgfx
[13:06:11:899] [7336:7353] [INFO][com.freerdp.channels.rdpsnd.client] - [dynamic] Loaded pulse backend for rdpsnd
[13:06:12:690] [7336:7353] [INFO][com.freerdp.channels.rdpsnd.client] - [dynamic] Loaded pulse backend for rdpsnd
[13:06:12:696] [7336:7347] [INFO][com.freerdp.channels.rdpdr.client] - registered device #1: COM3 (type=1 id=1)
[13:06:12:696] [7336:7347] [INFO][com.freerdp.channels.rdpdr.client] - registered device #2: C (type=8 id=2)
[13:06:48:740] [7336:7337] [INFO][com.freerdp.core] - ERRINFO_LOGOFF_BY_USER (0x0000000C):The disconnection was initiated by the user logging off their session on the server.
[13:06:48:740] [7336:7337] [ERROR][com.freerdp.core] - rdp_set_error_info:freerdp_set_last_error_ex ERRINFO_LOGOFF_BY_USER [0x0001000C]
DELL-3040-01:~# xfreerdp /v:<IP_ADDRESS> /sec-rdp /u:'nfsadmin' /p:'f1010' /d:'gpudom' /bpp:32 /rfx /gfx /sound:sys:pulse /serial:COM3,/dev/ttyUSB0,Serial,permissive /drive:C,/mnt/usbdevice
[13:06:55:937] [7356:7357] [WARN][com.freerdp.core.nego] - Error: SSL_NOT_ALLOWED_BY_SERVER
[13:06:55:945] [7356:7357] [WARN][com.freerdp.core.nego] - Error: SSL_NOT_ALLOWED_BY_SERVER
[13:06:56:271] [7356:7357] [INFO][com.freerdp.gdi] - Local framebuffer format  PIXEL_FORMAT_BGRX32
[13:06:56:271] [7356:7357] [INFO][com.freerdp.gdi] - Remote framebuffer format PIXEL_FORMAT_BGRA32
[13:06:56:418] [7356:7367] [INFO][com.freerdp.channels.rdpdr.client] - Loading device service serial [COM3] (static)
[13:06:56:418] [7356:7367] [INFO][com.freerdp.channels.rdpdr.client] - Loading device service drive [C] (static)
[13:06:56:429] [7356:7357] [INFO][com.freerdp.channels.rdpsnd.client] - [static] Loaded pulse backend for rdpsnd
[13:06:56:429] [7356:7357] [INFO][com.freerdp.channels.drdynvc.client] - Loading Dynamic Virtual Channel rdpsnd
[13:06:56:430] [7356:7357] [INFO][com.freerdp.channels.drdynvc.client] - Loading Dynamic Virtual Channel rdpgfx
[13:06:57:484] [7356:7373] [INFO][com.freerdp.channels.rdpsnd.client] - [dynamic] Loaded pulse backend for rdpsnd
[13:06:58:685] [7356:7357] [INFO][com.freerdp.client.x11] - Logon Error Info LOGON_WARNING [LOGON_MSG_SESSION_CONTINUE]
[13:07:04:544] [7356:7367] [INFO][com.freerdp.channels.rdpdr.client] - registered device #1: COM3 (type=1 id=1)
[13:07:04:544] [7356:7367] [INFO][com.freerdp.channels.rdpdr.client] - registered device #2: C (type=8 id=2)
[13:07:50:318] [7356:7378] [WARN][com.winpr.comm] - TIOCGICOUNT ioctl failed, errno=[25] Inappropriate ioctl for device.
[13:07:50:318] [7356:7378] [WARN][com.winpr.comm] - could not read counters.
[13:07:50:362] [7356:7393] [WARN][com.winpr.comm] - EofChar 1A cannot be set
[13:07:50:362] [7356:7393] [WARN][com.winpr.comm] - [permissive]: whereas it failed, made to succeed IoControlCode=[0x001B005C] IOCTL_SERIAL_SET_CHARS, last-error: 0x00000032
[13:07:50:365] [7356:7394] [WARN][com.winpr.comm] - SERIAL_DTR_CONTROL:OFF and SERIAL_RTS_CONTROL:ON cannot be different, HUPCL will be set since it is claimed for one of the both lines.
[13:07:50:365] [7356:7394] [WARN][com.winpr.comm] - Attempt to set XonLimit with an unsupported value: 1024
[13:07:50:365] [7356:7394] [WARN][com.winpr.comm] - Attempt to set XoffLimit with an unsupported value: 1024
[13:07:50:365] [7356:7394] [WARN][com.winpr.comm] - [permissive]: whereas it failed, made to succeed IoControlCode=[0x001B0064] IOCTL_SERIAL_SET_HANDFLOW, last-error: 0x00000032
[13:07:50:387] [7356:7403] [WARN][com.winpr.comm] - EofChar 1A cannot be set
[13:07:50:387] [7356:7403] [WARN][com.winpr.comm] - [permissive]: whereas it failed, made to succeed IoControlCode=[0x001B005C] IOCTL_SERIAL_SET_CHARS, last-error: 0x00000032
[13:07:50:390] [7356:7404] [WARN][com.winpr.comm] - SERIAL_DTR_CONTROL:OFF and SERIAL_RTS_CONTROL:ON cannot be different, HUPCL will be set since it is claimed for one of the both lines.
[13:07:50:391] [7356:7404] [WARN][com.winpr.comm] - Attempt to set XonLimit with an unsupported value: 1024
[13:07:50:391] [7356:7404] [WARN][com.winpr.comm] - Attempt to set XoffLimit with an unsupported value: 1024
[13:07:50:391] [7356:7404] [WARN][com.winpr.comm] - [permissive]: whereas it failed, made to succeed IoControlCode=[0x001B0064] IOCTL_SERIAL_SET_HANDFLOW, last-error: 0x00000032
[13:07:50:416] [7356:7414] [WARN][com.winpr.comm] - EofChar 1A cannot be set
[13:07:50:416] [7356:7414] [WARN][com.winpr.comm] - [permissive]: whereas it failed, made to succeed IoControlCode=[0x001B005C] IOCTL_SERIAL_SET_CHARS, last-error: 0x00000032
[13:07:50:418] [7356:7415] [WARN][com.winpr.comm] - Attempt to set XonLimit with an unsupported value: 1024
[13:07:50:418] [7356:7415] [WARN][com.winpr.comm] - Attempt to set XoffLimit with an unsupported value: 1024
[13:07:50:418] [7356:7415] [WARN][com.winpr.comm] - [permissive]: whereas it failed, made to succeed IoControlCode=[0x001B0064] IOCTL_SERIAL_SET_HANDFLOW, last-error: 0x00000032
[13:07:50:428] [7356:7420] [WARN][com.winpr.comm] - TIOCGICOUNT ioctl failed, errno=[25] Inappropriate ioctl for device.
[13:07:50:428] [7356:7420] [WARN][com.winpr.comm] -   could not read counters.
[13:07:50:529] [7356:7420] [WARN][com.winpr.comm] - TIOCGICOUNT ioctl failed, errno=[25] Inappropriate ioctl for device.
[13:07:50:529] [7356:7420] [WARN][com.winpr.comm] -   could not read counters.
[13:07:50:533] [7356:7421] [WARN][com.winpr.comm] - TIOCGICOUNT ioctl failed, errno=[25] Inappropriate ioctl for device.
[13:08:31:627] [7356:7429] [WARN][com.winpr.comm] - TIOCGICOUNT ioctl failed, errno=[25] Inappropriate ioctl for device.
[13:08:31:627] [7356:7429] [WARN][com.winpr.comm] - could not read counters.
[13:08:31:655] [7356:7439] [WARN][com.winpr.comm] - [permissive]: whereas it failed, made to succeed IoControlCode=[0x001B005C] IOCTL_SERIAL_SET_CHARS, last-error: 0x00000057
[13:08:31:658] [7356:7440] [WARN][com.winpr.comm] - Attempt to set XonLimit with an unsupported value: 0
[13:08:31:658] [7356:7440] [WARN][com.winpr.comm] - Attempt to set XoffLimit with an unsupported value: 0
[13:08:31:658] [7356:7440] [WARN][com.winpr.comm] - [permissive]: whereas it failed, made to succeed IoControlCode=[0x001B0064] IOCTL_SERIAL_SET_HANDFLOW, last-error: 0x00000032
Probably functions are still missing here.
In our experience it works better with USB redirection.

I have looked further into the USB redirection. It is enough to just open the COM port:
In Powershell
$serial = new-object System.IO.Ports.SerialPort COM3,9600,None,8,1
$serial.Open()
Generates the output:
[14:21:57:726] [6948:6966] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] IO_CONTROL [proxy|server] [00000102] InterfaceId=4000000c, MessageId=000000, FunctionId=00000102, length=28
[14:21:57:727] [6948:6966] [DEBUG][com.freerdp.channels.urbdrc.client] - ioctl: IOCTL_INTERNAL_USB_GET_PORT_STATUS
[14:21:57:763] [6948:6966] [DEBUG][com.freerdp.channels.urbdrc.client] - PORT STATUS:0xff590000
[14:21:57:763] [6948:6966] [DEBUG][com.freerdp.channels.urbdrc.client] - [WRITE] IOCONTROL_COMPLETION [proxy|client] [00000100] InterfaceId=40000000, MessageId=000000, FunctionId=00000100, length=34
And the device disappears from the device manager

I have never use FreeRDP.
I am using .net6 and get this issue too.
System.IO.Ports.SerialPort is a class in System.IO.Ports.SerialPort, which is a serial port lib for C#, and published by Mircosoft.
It throw an Exception when 0x1A be received:
System.TimeoutException:“The operation has timed out.”
In this function:
public int Read(byte[] buffer, int offset, int count)
I believe it is an issue in this lib.

@meddi @akallabeth
I get this issue too. I will describe my problems and look forward to your suggestions.
aim
I want to redirect the local serial device to the remote desktop.I test two types of serial port devices(usb ch340+pc 232 interface).And I was going to test both devices separately via /usb and /serial , and there were some problems during the testing.
Local machine: Ubuntu 20.04.4 LTS
Remote desktop: Windows 10 Pro(Build18363)
before test

I installed the ch340 drivers on Ubuntu and Windows.
I test both ch340 and 232 communication on Ubuntu. It work well.
The 232 device is /dev/ttyS0.The usb ch340 device is /dev/ttyUSB0.
I used sudo chmod 777 /dev/ttyS0 to get the permissions for 232 device.
I used sudo chmod 777 -R /dev/bus/usb/ to get the permissions for usb ch340 device.
I tested on the stable-2.0 branch I compiled(aed7c03c8a42c9e8f43eeda4c6ef5a652c9b8bf3).

test1: test 232 via /serial
When i used cmd:./xfreerdp /v:xxx /u:xxx /p:xxx /cert:ignore /serial:COM25,/dev/ttyS0,Serial,permissive.The COM25 port redirected to the remote desktop can be sent and received normally.
test2: test usb ch340 via /serial
I refer to the issuse(#6512 ) of the following test methods.
When i used cmd:./xfreerdp /v:xxx /u:xxx /p:xxx /cert:ignore /serial:COM26,/dev/USB0,Serial,permissive.The COM26 port redirected to the remote desktop can only send, but cannot receive.The console prints the following warning:[WARN][com.winpr.comm] - TIOCGICOUNT ioctl failed, errno=[22].When i remove the options permissive.The serial application scanned  COM26 but could not open it.The console prints the same warning:[WARN][com.winpr.comm] - TIOCGICOUNT ioctl failed, errno=[22].
It's worth noting that COM26 didn't appear in windows' Device Manager list, whether I include options permissive or not. But the serial application scanned to COM26.
test3: test usb ch340 via /usb
When i used cmd:./xfreerdp /v:xxx /u:xxx /p:xxx /cert:ignore /usb:dbg,id:1a86:7523 .I saw a device named USB-SERIAL CH340 appearing in the windows' Device Manager list.But the serial application did not scan.And if I disconnect I can't connect to the remote desktop again via freerdp.The only solution is to restart the remote desktop.
This is the log when the remote desktop is connected.
[06:54:16:316] [6729:6730] [INFO][com.freerdp.gdi] - Local framebuffer format  PIXEL_FORMAT_BGRX32
[06:54:16:316] [6729:6730] [INFO][com.freerdp.gdi] - Remote framebuffer format PIXEL_FORMAT_BGRA32
[06:54:16:366] [6729:6730] [INFO][com.freerdp.channels.rdpsnd.client] - [static] Loaded fake backend for rdpsnd
[06:54:16:366] [6729:6730] [INFO][com.freerdp.channels.drdynvc.client] - Loading Dynamic Virtual Channel urbdrc
[06:54:16:368] [6729:6730] [DEBUG][com.freerdp.channels.urbdrc.client] - UDEVMAN device registered.
[06:54:16:368] [6729:6730] [INFO][com.freerdp.channels.drdynvc.client] - Loading Dynamic Virtual Channel rdpgfx
[06:54:16:368] [6729:6730] [INFO][com.freerdp.channels.urbdrc.client] - VID: 0x1A86, PID: 0x7523
[06:54:16:368] [6729:6730] [DEBUG][com.freerdp.channels.urbdrc.client] -   Port: 10
[06:54:16:368] [6729:6730] [DEBUG][com.freerdp.channels.urbdrc.client] -   DevPath: 1-10
[06:54:16:368] [6729:6730] [DEBUG][com.freerdp.channels.urbdrc.client] -   Open hub: 1
[06:54:16:368] [6729:6730] [DEBUG][com.freerdp.channels.urbdrc.client] - Registered Device: Vid: 0x1A86 Pid: 0x7523 InterfaceClass = LIBUSB_CLASS_VENDOR_SPEC
[06:54:17:574] [6729:6768] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] RIM_EXCHANGE_CAPABILITY_REQUEST   [none |server] [00000100] InterfaceId=00000000, MessageId=00000000, FunctionId=00000100, length=16
[06:54:17:574] [6729:6768] [DEBUG][com.freerdp.channels.urbdrc.client] - [WRITE] RIM_EXCHANGE_CAPABILITY_RESPONSE  [none |client] [00000001] InterfaceId=00000000, MessageId=00000000, FunctionId=00000001, length=16
[06:54:17:577] [6729:6768] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] RIMCALL_RELEASE                   [none |server] [00000001] InterfaceId=00000000, MessageId=00000000, FunctionId=00000001, length=12
[06:54:17:577] [6729:6768] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] CHANNEL_CREATED                   [proxy|server] [00000100] InterfaceId=40000002, MessageId=00000000, FunctionId=00000100, length=24
[06:54:17:577] [6729:6768] [TRACE][com.freerdp.channels.urbdrc.client] - CHANNEL_CREATED                   [proxy|server] [256]
[06:54:17:577] [6729:6768] [DEBUG][com.freerdp.channels.urbdrc.client] - [WRITE] CHANNEL_CREATED                   [proxy|client] [00000100] InterfaceId=40000003, MessageId=00000000, FunctionId=00000100, length=24
[06:54:17:578] [6729:6768] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] RIMCALL_RELEASE                   [proxy|server] [00000001] InterfaceId=40000002, MessageId=00000000, FunctionId=00000001, length=12
[06:54:17:578] [6729:6768] [TRACE][com.freerdp.channels.urbdrc.client] - RIMCALL_RELEASE                   [proxy|server] [1]
[06:54:17:578] [6729:6768] [DEBUG][com.freerdp.channels.urbdrc.client] - [WRITE] ADD_VIRTUAL_CHANNEL               [proxy|sink  ] [00000100] InterfaceId=40000001, MessageId=00000005, FunctionId=00000100, length=12
[06:54:17:593] [6729:6768] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] RIM_EXCHANGE_CAPABILITY_REQUEST   [none |server] [00000100] InterfaceId=00000000, MessageId=00000000, FunctionId=00000100, length=16
[06:54:17:593] [6729:6768] [DEBUG][com.freerdp.channels.urbdrc.client] - [WRITE] RIM_EXCHANGE_CAPABILITY_RESPONSE  [none |client] [00000001] InterfaceId=00000000, MessageId=00000000, FunctionId=00000001, length=16
[06:54:17:605] [6729:6768] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] RIMCALL_RELEASE                   [none |server] [00000001] InterfaceId=00000000, MessageId=00000000, FunctionId=00000001, length=12
[06:54:17:605] [6729:6768] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] CHANNEL_CREATED                   [proxy|server] [00000100] InterfaceId=40000002, MessageId=00000000, FunctionId=00000100, length=24
[06:54:17:605] [6729:6768] [TRACE][com.freerdp.channels.urbdrc.client] - CHANNEL_CREATED                   [proxy|server] [256]
[06:54:17:605] [6729:6768] [DEBUG][com.freerdp.channels.urbdrc.client] - [WRITE] CHANNEL_CREATED                   [proxy|client] [00000100] InterfaceId=40000003, MessageId=00000000, FunctionId=00000100, length=24
[06:54:17:605] [6729:6768] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] RIMCALL_RELEASE                   [proxy|server] [00000001] InterfaceId=40000002, MessageId=00000000, FunctionId=00000001, length=12
[06:54:17:605] [6729:6768] [TRACE][com.freerdp.channels.urbdrc.client] - RIMCALL_RELEASE                   [proxy|server] [1]
[06:54:17:605] [6729:6768] [DEBUG][com.freerdp.channels.urbdrc.client] - [WRITE] ADD_DEVICE                        [proxy|sink  ] [00000101] InterfaceId=40000001, MessageId=00000000, FunctionId=00000101, length=468
[06:54:17:609] [6729:6768] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] QUERY_DEVICE_TEXT                 [proxy|server] [00000104] InterfaceId=40000005, MessageId=00000000, FunctionId=00000104, length=20
[06:54:17:609] [6729:6768] [DEBUG][com.freerdp.channels.urbdrc.client] - [WRITE] QUERY_DEVICE_TEXT_RSP             [stub  |client] [0000000b] InterfaceId=80000005, MessageId=00000000, FunctionId=0000000b, length=38
[06:54:17:613] [6729:6768] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] QUERY_DEVICE_TEXT                 [proxy|server] [00000104] InterfaceId=40000005, MessageId=00000000, FunctionId=00000104, length=20
[06:54:17:613] [6729:6768] [DEBUG][com.freerdp.channels.urbdrc.client] - [WRITE] QUERY_DEVICE_TEXT_RSP             [stub  |client] [00000015] InterfaceId=80000005, MessageId=00000000, FunctionId=00000015, length=58
[06:54:17:064] [6729:6768] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] QUERY_DEVICE_TEXT                 [proxy|server] [00000104] InterfaceId=40000005, MessageId=00000000, FunctionId=00000104, length=20
[06:54:17:064] [6729:6768] [DEBUG][com.freerdp.channels.urbdrc.client] - [WRITE] QUERY_DEVICE_TEXT_RSP             [stub  |client] [0000000b] InterfaceId=80000005, MessageId=00000000, FunctionId=0000000b, length=38
[06:54:17:067] [6729:6768] [DEBUG][com.freerdp.channels.urbdrc.client] - [READ ] QUERY_DEVICE_TEXT                 [proxy|server] [00000104] InterfaceId=40000005, MessageId=00000000, FunctionId=00000104, length=20
[06:54:17:067] [6729:6768] [DEBUG][com.freerdp.channels.urbdrc.client] - [WRITE] QUERY_DEVICE_TEXT_RSP             [stub  |client] [00000015] InterfaceId=80000005, MessageId=00000000, FunctionId=00000015, length=58
This is the log after I disconnected and reconnected.
[07:06:33:731] [6929:6930] [ERROR][com.freerdp.core.connection] - Timeout waiting for activation
[07:06:33:733] [6929:6929] [ERROR][com.freerdp.core] - freerdp_abort_connect:freerdp_set_last_error_ex ERRCONNECT_CONNECT_CANCELLED [0x0002000B]

@LucasMou ok, sad to hear, but not much we can do:

/serial just opens a local serial device and forwards the operations between local and remote. if some ioctl fails, that means that the device is not supporting something the remote requires. (that is why one device works whereas the other does not)
/usb does raw USB level redirection. So, if the device is forwarded successfully that means that the FreeRDP related part works, but the device (driver) for windows seems to be buggy? (therefore the hang in the remote os)


Pin typing-extensions to 4.7.1

This pull request pins typing-extensions to 4.7.1 since v4.8.0 dropped support for Python 3.7 which can still be used with some Splunk server versions (https://github.com/python/typing_extensions/blob/main/CHANGELOG.md#release-480rc1-september-7-2023).

I'll merge it so I can test the built release artifact.


Monitor if we can remove some unnecessary code from the js bundle

Coming from this thread, check in the end of October if there is anything in the bundle that can be removed. We can see how big of a problem this is and evaluate if its worth to create some automatic check
Original issue https://github.com/Expensify/App/issues/48978

No need for bug zero person now

Hey, I'm from Callstack, I can take a look at it

not overdue

Monthly

There is an increase in size of 0.6 MB, from 19.18 to 19.78 MB, and it seems to be caused by different modules. I think the next time we monitor this, if there is another big increase we should try to dig into this to find how to improve it. @mountiny

sounds good, keeping this monthly

@gedu how is this looking now?

This time the increase was 0,34MB, from 19,78MB to 20,12MB. Not sure if we want to set a max value so we try to be below it. @mountiny

Is there anything you could find that could be removed?

I can take a deeper look and see if I can find something

@mountiny I was investigating a bit further and probably would be good to create an issue around this because now, for example the PDFThumbnail always will use legacy code even in modern browser, so that can impact the performance and browsers won't benefit from new features
import pdfWorkerSource from 'pdfjs-dist/legacy/build/pdf.worker.mjs';

Given that importing a worker is the recommended way, maybe we can be smarter on which build to load

@gedu yeah this sounds good to me
Would you mind posting the details of the problem/ solution here for the issue and I can create it

Propose to update react-native-qrcode-svg to use rn 0.75 so we can remove that lib save ±600kb?
I found this issue reported: https://github.com/Expensify/react-native-qrcode-svg/issues/199
This is the commit which added the text-encoding lib: https://github.com/Expensify/react-native-qrcode-svg/commit/53f1c5fe3c98986a29e79ef5dabe229d89a08c48
Chatting internally, we think we can add a conditional code to would work as expected. if someone is using 0.75 with TextDecoder & TextEncoder supported natively then fine we don’t require text-encoding and we don’t include it in final’s app bundle, the rest of the people it works as expected.
or we can try: https://microsoft.github.io/rnx-kit/docs/tools/metro-serializer-esbuild

Sounds good, feel free to make a proposal!

Proposal: Optimize PDF.js Worker Import for React-PDF
Problem
When using the PDFThumbnail component in React-PDF, the current implementation always imports the legacy version of the pdf.worker.js file (pdfjs-dist/legacy/build/pdf.worker.mjs). This approach has the following issues:

Performance Impact: Modern browsers cannot take advantage of newer features and optimizations available in the non-legacy build of pdf.worker.js.
Inefficiency: The legacy build is larger and less optimized, which can lead to slower load times and increased resource usage.
Suboptimal Developer Experience: Developers may not be aware of the performance trade-offs caused by the default import, leading to unintentional inefficiencies in their applications.

Proposed Solution
Update react-fast-pdf so the PDFThumbnail component (and any other relevant parts of React-PDF) to dynamically load the appropriate pdf.worker.js build based on the environment.

Defaulting to the Modern Build: Use the modern pdf.worker.min.mjs file as the default worker for environments that support it.
Fallback to Legacy Build: Gracefully fallback to the legacy build only when necessary (e.g., for older browsers that lack support for modern JavaScript features).
This can be achieved by  https://microsoft.github.io/rnx-kit/docs/tools/metro-serializer-esbuild or conditional code

Background
react-native-qrcode-svg relies on the text-encoding library to provide TextDecoder and TextEncoder functionality, which is essential for encoding and decoding text data. However, starting with React Native 0.75, these functionalities are natively supported, making the inclusion of text-encoding redundant for modern environments.
Despite this, the library currently includes text-encoding in all builds, regardless of the React Native version. This results in an unnecessary increase in app bundle size, particularly for developers using React Native 0.75 or higher, where native support for TextDecoder and TextEncoder is already available. This behavior impacts performance and resource usage, especially for applications targeting modern devices.
Reference the relevant issue and commit:
• Issue: Expensify/react-native-qrcode-svg#199
• Commit: 53f1c5f
Problem
The react-native-qrcode-svg library always includes the text-encoding library, adding approximately 600KB to the app bundle size. This is unnecessary for React Native 0.75+ environments, where TextDecoder and TextEncoder are natively supported, leading to inefficiencies in modern applications.
Proposed Solution
Update react-native-qrcode-svg to conditionally include the text-encoding library based on the React Native version or the availability of native TextDecoder and TextEncoder. This can be achieved through the following steps:

Version Check:
○ Add conditional logic to detect if the app is running on React Native 0.75 or higher.
○ Exclude the text-encoding library from the bundle if native support for TextDecoder and TextEncoder is available.
Metro Serializer Optimization:
○ Use tools like Metro Serializer Esbuild to further optimize the bundle and ensure unused dependencies like text-encoding are excluded.

Making this monthly again


build and push multi-arch image

What this PR does / why we need it:
build and push multi-arch image
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:

Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.

Release note:

/lgtm


Ballerina Http/2 service does not respond to the request made from the browser

Description:
When there is a secure listener is available with the version http/2, all the invocations from the browser fails. But when it is invoked from curl with the option --http1.1 it works with no issue.
Further information can be found on https://github.com/wso2/product-microgateway/issues/1302
Steps to reproduce:
Implement and build the code in  https://ballerina.io/learn/by-example/https-listener.html with http2
Affected Versions:
ballerina 1.1.5, 1.2.6
OS, DB, other environment details and versions:
MacOS Mojave
Browser: Chrome, Safari
Related Issues (optional):

https://github.com/wso2/product-microgateway/issues/1302
Suggested Labels (optional):

Bug
Suggested Assignees (optional):

@chamil321 , @shafreenAnfar , @daneshk

Tried the scenario with chrome and firefox. The issue seemed to be with the ciphers. When connecting with HTTP 2, browsers only accept a filtered set of ciphers. So when trying to make an HTTPS connection over HTTP2 with browsers, you should configure an acceptable cipher.
I tried with "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256" configured as the cipher and the connection was successfully made.
Ballerina service
import ballerina/http;
import ballerina/log;
import ballerina/io;

http:ListenerConfiguration helloWorldEPConfig = {
httpVersion: "2.0",
    secureSocket: {
        keyStore: {
            path: "/home/bhashinee/ballerina_home/bre/security/ballerinaKeystore.p12",
            password: "ballerina"
        },
        ciphers: ["TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"]
    }
};

listener http:Listener helloWorldEP = new (9097, config = helloWorldEPConfig);

@http:ServiceConfig {
    basePath: "/hello"
}
service helloWorld on helloWorldEP {
    @http:ResourceConfig {
        methods: ["GET"],
        path: "/"
    }
    resource function sayHello(http:Caller caller, http:Request req) {
        http:Response res = new;
        res.setHeader("content-encoding", "gzip");
        res.setPayload("Hello World");
        var response = caller->respond(res);
        if (response is error) {
            log:printError("Error in responding ", response);
        }
    }
}

Chrome output

However, there was a problem with content-encoding in HTTP2. Without setting the content-encoding header, it was not working.
Created an issue to track this: https://github.com/ballerina-platform/ballerina-lang/issues/24977
@VirajSalaka Can you also check this?


[1.11-RC1] OS X client binary is broken, not statically  linked

Looks like the OS X client binary is not statically linked;
docker-1.11.0-rc1 --version
dyld: Library not loaded: /usr/local/opt/libtool/lib/libltdl.7.dylib
  Referenced from: /usr/local/bin/docker-1.11.0-rc1
  Reason: image not found
Trace/BPT trap: 5

libltdl seems to be related to pkcs11 signing, which was added in https://github.com/docker/docker/commit/141369457ffaeee79154f4b649525f5c8b3d5f2e, but now moved out of experimental, and the script has changed a bit https://github.com/docker/docker/blob/master/hack/make/binary#L39-L48
otool -L /usr/local/bin/docker-1.11.0-rc1
/usr/local/bin/docker-1.11.0-rc1:
	/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1253.0.0)
	/System/Library/Frameworks/Security.framework/Versions/A/Security (compatibility version 1.0.0, current version 57336.1.9)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1225.1.1)
	/usr/local/opt/libtool/lib/libltdl.7.dylib (compatibility version 11.0.0, current version 11.1.0)

If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
For more information about reporting issues, see CONTRIBUTING.md.
You don't have to include this information if this is a feature request
(This is an automated, informational response)

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

/cc @docker/core-notary-maintainers

Already on it

@endophage thanks, @cyli was also looking

docker-machine should be unaffected based on its dependencies; one solution we're exploring could be to update toolbox and docker for mac to install libtool, and to add documentation for those who download the binary directly

And update the brew formula to require libtool be installed.  It might be possible to statically link it in, but then if there are any CVEs in libtool we'd have to repackage.  Although we'd have to do that for docker toolbox too.

documentation changes could be added to https://github.com/docker/docker/issues/21334. this will probably only affect people that don't have docker-toolbox installed, and try to download a binary, so it's a limited group of users.
having the right instructions on installing the requirements would be good though

We're looking at toolbox and it will need an update. The non-experimental toolbox does not currently include the necessary libs

TODOs in order to close this issue:

[ ] Update toolbox to include libltdl (possibly also libykcs11, libykpiv and libcrypto, currently included in experimental toolbox)
[ ] Submit PR to brew to update both docker and add the libtool dependency.
[ ] Update Docker for Mac to add libltdl
[ ] Update windows packages to include libtool (http://gnuwin32.sourceforge.net/packages/libtool.htm)

Deb/RPMs do not need updates because docker for linux is statically compiled:
➜  bin$ ldd docker
	not a dynamic executable

@endophage debs/rpms actually are dynamically linked

https://github.com/Homebrew/homebrew/compare/master...cyli:docker-yubikey-support?expand=1 waiting for tag bump and revision change.  Although these changes should work fine with 1.10.3, and everyone's just going to download the bottle anyway.
Wondering if I should submit this as a WIP PR, or just wait until 1.11 is out of RC.


Wrap Date.now in arrow fn and drop existance check

Description: Uses Date.now indirectly in the Scheduler, rather than getting the reference statically. Makes common testing infrastructure work, by making it possible to monkeypatch Date.now.
Just assigning Date.now as the default argument for the now constructor param would have the same problem as before. But it would be possible to use () => Date.now() there instead, if you don't need to keep backwards compatibility with the Scheduler API.
Related issue (if exists): #3847

Coverage remained the same at 96.747% when pulling 73d9bffec339972db7ef4e5d5044e42d110b104c on mtaran-google:patch-1 into df0ea7c78767c07a6ed839608af5a7bb4cefbde5 on ReactiveX:master.


Inconsistent handling of glossary entries acronyms

This is a Bug Report
Problem:
The acronyms of the various glossary entries are provided inconsistently. Specifically

The acronym may be provided parenthesized in the title, or provided in the entry body.
The entry may use the full term as title, or use the acronym for it.
The acronym may appear in the 'Also known as:' (aka) field.

Proposed Solution:
Decide on how acronyms should be provided and adapt glossary entries to follow the same approach. One approach could be to have in the title the full term, followed by the acronym within parentheses.
Page to Update:
Multiple pages in https://kubernetes.io/docs/reference/glossary/

Good idea @gedimitr
/kind cleanup
/priority backlog


findObjects function not available on index object.

Hello,
I was performing a basic demo with:
<script setup>
const algoliaIndex = useAlgoliaInitIndex('test')
console.log(algoliaIndex.appId)
</script>

But the algoliaIndex object only has the search function available, not the findObjects operations that we are supposed to do on the Algolia documentation: https://www.algolia.com/doc/api-client/methods/search/
Is this an expected behaviour? Thanks!

Hey @Agusnez
I am not sure about this method. Do you mean that the TS is not suggesting it in the autocomplete or that this method is not available at all?
Maybe you need to load full algoliasearch (not the default lite version) to make it work.

Hi @Baroshem,
Thank you very much for your help. The thing that is not working is that the method is not available at all:
Unhandled Promise Rejection: TypeError: index.findObject is not a function.

Let me look into the full algoliasearch, because it might be my case, since I'm using the useInitIndex moethod, not the useAlgoliaInitIndex like the example. (This is because I don't have it available in my installation)
I will post my updates.

Hey @Agusnez
I think you have a typo in your method name (gindObject instead of findObjects).
Also, make sure to use useAlgoliaInitIndex at all times. The other method wont work.

Hi @Baroshem, I have good news about this.
I was using the previous version of the module @nuxt-modules/algolia. Removing it from the package.json and running npm i @nuxtjs/algolia fixed the issue. Now I see the useAlgoliaInitIndex function available.
Thank you very much for your help!

@Agusnez I am glad that you have figured it out!
If you will have any questions, please let me know :)


NaN instead of proper values in metrics

We're using Prometheus in Kubernetes project. However, we quite often observe NaN instead of a proper value in out metrics, e.g.:
....
rest_client_request_latency_microseconds{url="http://<IP_ADDRESS>:8080/api/v1/nodes?fieldSelector=%7Bvalue%7D",verb="GET",quantile="0.5"} NaN
rest_client_request_latency_microseconds{url="http://<IP_ADDRESS>:8080/api/v1/nodes?fieldSelector=%7Bvalue%7D",verb="GET",quantile="0.9"} NaN
rest_client_request_latency_microseconds{url="http://<IP_ADDRESS>:8080/api/v1/nodes?fieldSelector=%7Bvalue%7D",verb="GET",quantile="0.99"} NaN
rest_client_request_latency_microseconds_sum{url="http://<IP_ADDRESS>:8080/api/v1/nodes?fieldSelector=%7Bvalue%7D",verb="GET"} 3395
rest_client_request_latency_microseconds_count{url="http://<IP_ADDRESS>:8080/api/v1/nodes?fieldSelector=%7Bvalue%7D",verb="GET"} 2
....

What is interesting, the sum and count is always ok - the problem is only with percentiles.
This particular metric is defined as following:
29   RequestLatency = prometheus.NewSummaryVec(
30     prometheus.SummaryOpts{
31       Subsystem: restClientSubsystem,
32       Name:      "request_latency_microseconds",
33       Help:      "Request latency in microseconds. Broken down by verb and URL",
34     },
35     []string{"verb", "url"},
36   )

Do you know why is this happening?

If there's no requests in a period, then it's not possible to calculate the percentile. NaN is reported instead in that case.
Does that answer your question?

Sorry - I'm not sure if I understand in what period.
From the example above - there were 2 requests, with a sum of 3395 - however, all percentiles are reported as NaN. Is that expected?

If it has been a while since the requests, then that is expected. If you graph the percentile values you'll see they had a non-nan value around the time of the requests.

So those percentiles are computed only from some time period (not from all the values requests so far - i.e. since starting the component)? If so, what is the value of that period and can this be configured?

cc @fgrzadkowski

See https://github.com/prometheus/client_golang/issues/85 and https://github.com/prometheus/client_golang/blob/fcd2986466589bcf7a411ec3b52d85a8df9dcc8b/prometheus/summary.go#L118
If you want to control things at that level, I'd suggest a Histogram rather than a Summary.

I see - thanks for quick response!

Hello @brian-brazil .  Small world :-)

How do I filter out the NaN, I am going a group by (metrics_type) and for some types its giving NaN.

@ashoksahoo As far as I know that is the proper way. If you need to catch negatives as well you can combine with or and include value <= 0.

I'm having the same problem as @ashoksahoo
My query
sum(rate(http_endpoint_duration_seconds[5m])) by (endpoint, quantile)
The problem is I have 60+ servers and some of them don't get hit every now and then which means I'm almost never getting any graphs displayed because the result of the query above is Nan

Anything available in this that we can pass in to have it default to 0 if NaN.nfinity shows up?


'should parse MULTILEADER entities' test fails because leaders.dxf is missing

See https://github.com/gdsestimating/dxf-parser/blob/c348f6a7fc2c72bc52d3fd6789c1820307f441b8/test/DxfParser.test.js#L180
This file is missing from the repo. So the test fails.

I think it's supposed to be mleader.dxf.


Are IndexErrors at ct/client/reporter.py", line 64, in _scan_der_cert expected?

I ran python/utilities/logobserver/logobserver.py against https://ct.googleapis.com/testtube and noticed some IndexErrors during the run, for example:
ERROR:root:Traceback (most recent call last):
  File "/<MY_FOLDER>/ct/client/reporter.py", line 64, in _scan_der_cert
    root = cert.Certificate(der_chain[-1], strict_der=False)
IndexError: list index out of range

ERROR:root:list index out of range
ERROR:root:Entry 50614 in batch <50000, 50999> raised an exception during scan

The "extra_data" for log entries 50614 was "AAAA"
Nothing serious but just wondering, is throwing IndexError the desired behavior here? Thanks!

There's two things here:

the code is bugged because it doesn't make a check on the length of der_chain before trying to access it's end element -- that's easily fixed, and the result here would be that we don't create a root_issuer field in the  X509Description proto that's being built in _scan_der_cert

this happened because, as you mention, that particular log entry didn't have an extra_data field.  Well, the 'AAAA' base64 value is \000\000\000 anyway.  My interpretation is that the log entry contains just an end-entity cert with no chain.  Perhaps it's self-signed?  Anyway this contravenes RFC6962 sect 3.1 https://tools.ietf.org/html/rfc6962#section-3.1 which states that

"""Each submitted certificate MUST be accompanied by all
additional certificates required to verify the certificate chain up
to an accepted root certificate.  The root certificate itself MAY be
omitted from the chain submitted to the log server."""
I'm not completely sure how TestTube is set up.  Possibly because it's for testing purposes it accepts all certs regardless of whether they have a chain leading to an accepted root.  @AlCutter do you know?
I don't think this bug would be hit if you ran the logobserver.py against one of the production CT Logs.
But it should still be fixed to not raise IndexException.

On 3 June 2015 at 12:16, Paul Hadfield<EMAIL_ADDRESS>wrote:

There's two things here:

the code is bugged because it doesn't make a check on the length of
der_chain before trying to access it's end element -- that's easily fixed,
and the result here would be that we don't create a root_issuer field in
the X509Description proto that's being built in _scan_der_cert
2.
this happened because, as you mention, that particular log entry
didn't have an extra_data field. Well, the 'AAAA' base64 value is
\000\000\000 anyway. My interpretation is that the log entry contains just
an end-entity cert with no chain. Perhaps it's self-signed? Anyway this
contravenes RFC6962 sect 3.1
https://tools.ietf.org/html/rfc6962#section-3.1 which states that
"""Each submitted certificate MUST be accompanied by all
additional certificates required to verify the certificate chain up
to an accepted root certificate. The root certificate itself MAY be
omitted from the chain submitted to the log server."""
I'm not completely sure how TestTube is set up. Possibly because it's for
testing purposes it accepts all certs regardless of whether they have a
chain leading to an accepted root. @AlCutter https://github.com/AlCutter
do you know?

Testtube only accepts certs chaining to roots it knows, like all logs. At
least, it should!

I don't think this bug would be hit if you ran the logobserver.py against
one of the production CT Logs.
But it should still be fixed to not raise IndexException.
—
Reply to this email directly or view it on GitHub
https://github.com/google/certificate-transparency/issues/769#issuecomment-108304425
.

It's entirely valid to have an empty extra_data field - in case a root is logged. That seems like the case you're hitting - the reporter should be changed not to assume the chain is non-empty (and probably use the leaf_cert as the root if it's empty).

That entry doesn't appear to be a self-signed root (although it is an intermediate), but it is issued directly by one of the certs in Testtube's set of trusted roots:
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number:
            18:40:33:5c:29:b0:7f:0d:1f:bf:ff:64:64:7e:38:f9
    Signature Algorithm: dsa_with_SHA256
        Issuer: C=US, O=Symantec Corporation, OU=Symantec Trust Network, OU=FOR TEST PURPOSES ONLY, CN=Symantec Class 3 TEST Public Primary Certification Authority-G7
        Validity
            Not Before: Dec  7 00:00:00 2012 GMT
            Not After : Dec  6 23:59:59 2022 GMT
        Subject: C=US, O=Symantec Corporation, OU=Symantec Trust Network, OU=FOR TEST PURPOSES ONLY, CN=Symantec Class 3 DSA EV SSL TEST CA
        Subject Public Key Info:
            Public Key Algorithm: dsaEncryption
                pub:
                    00:9d:ca:97:4a:e2:a1:47:97:62:4e:a1:a0:bc:e8:
                    87:d4:ab:58:02:95:a3:09:eb:b6:15:f1:5e:8c:25:
                    d2:26:11:54:d7:d9:cc:1a:fb:41:23:0c:33:54:be:
                    9f:ae:d6:e4:8f:e4:51:c6:64:25:1a:9a:5e:f9:19:
                    ef:6b:34:19:64:0a:17:cc:9f:21:8b:0a:54:28:7e:
                    ff:05:00:69:01:85:88:0e:23:6b:2e:c7:8b:1b:61:
                    f5:89:0c:19:e1:d5:9a:98:b4:1e:46:05:8d:d6:42:
                    a4:d8:f4:96:ca:7d:49:33:8d:fc:e2:0d:b6:1f:1f:
                    a4:d1:6c:2a:b8:ab:e7:83:fd:ad:f2:2b:de:36:65:
                    40:2c:da:bc:3c:41:de:90:1f:2a:28:16:3d:29:3d:
                    69:5c:ae:b0:8a:2c:35:f7:51:a0:9d:4d:24:11:e0:
                    ac:48:99:10:5e:7d:fe:61:61:86:68:e9:c6:89:31:
                    f8:dd:bf:e4:18:b2:55:55:30:64:3b:f5:90:6a:1a:
                    3d:c8:0c:79:18:84:0a:2e:21:e6:fc:ed:5f:1e:e1:
                    67:f8:6d:3c:0c:11:6d:de:f6:fe:e5:31:4c:76:e5:
                    1b:68:46:8d:e1:bf:f0:95:af:23:22:d3:e0:a9:67:
                    4c:e1:05:4c:56:91:87:22:0f:98:c3:5a:0e:fc:9c:
                    d7:81
                P:
                    00:ed:10:ce:4a:9e:3b:91:d1:8f:22:b5:33:76:88:
                    c6:c3:d2:9f:a0:98:a1:70:71:07:27:f5:3d:61:71:
                    39:52:2a:98:ae:27:72:37:bc:f0:bc:cb:3f:f9:95:
                    91:f2:0e:20:cb:ff:64:54:d1:44:33:0c:d7:c3:74:
                    df:d3:0e:b1:de:d0:0f:f3:21:18:37:c4:0c:87:d3:
                    02:9e:d9:98:ff:b3:b8:59:fc:d7:66:9e:ee:e4:26:
                    fc:aa:44:5c:ca:83:ac:91:de:59:7b:ac:77:d3:6e:
                    d6:ba:99:44:b7:6b:c3:e1:c9:39:00:0b:12:3c:d7:
                    9b:c6:e0:62:6b:4a:9e:0c:9f:82:88:87:73:14:6d:
                    cf:52:8e:9b:3e:99:2d:95:32:6a:a4:e3:2a:60:b5:
                    12:ea:65:98:99:7b:a0:78:da:ff:5e:bb:a9:d2:21:
                    63:23:56:46:3c:72:3e:a2:01:fc:8a:88:3e:c9:af:
                    74:04:a6:85:69:8c:98:74:e1:72:05:5d:60:df:06:
                    d2:2e:3e:5f:db:ee:08:0d:3e:07:1f:c8:7f:e3:64:
                    67:1b:c9:80:0f:d0:7b:8b:67:d0:66:e4:a1:f4:29:
                    34:21:41:a9:98:13:16:0d:87:84:9e:3c:18:84:87:
                    8f:49:6d:a8:b1:2c:b4:88:19:18:c5:91:ab:98:9c:
                    35:57
                Q:
                    00:c5:25:3c:9c:a7:43:1a:50:e7:a0:54:35:c6:1b:
                    48:95:80:c5:2b:f3:d1:77:01:56:32:d0:18:ca:e7:
                    0a:07:c5
                G:
                    4d:b1:a2:93:24:49:ed:b3:3a:82:33:cf:d4:e7:2d:
                    af:02:28:4c:cd:12:23:28:7e:21:94:82:0e:a7:3d:
                    f4:40:86:9d:63:19:f4:60:de:ba:c7:30:9f:eb:a5:
                    f4:f4:a6:85:6d:b9:9c:1e:da:b1:0f:b0:b7:af:0b:
                    57:ed:1d:60:36:17:a2:40:60:7c:83:0d:a6:cc:27:
                    31:d3:78:68:97:83:18:0e:36:fd:45:d5:f7:45:12:
                    fe:e1:2a:2f:30:7f:b1:73:7c:03:e3:e2:6b:00:15:
                    c3:e3:7a:83:d7:0b:28:5d:3e:7a:26:13:67:4e:d5:
                    cc:02:f7:8a:bc:ad:a1:72:c2:34:6c:84:a9:87:63:
                    b1:e2:db:3b:db:d1:47:f6:57:ba:22:22:04:ea:5b:
                    ca:67:c9:41:54:02:e3:82:05:04:cf:cc:fe:cc:26:
                    fd:20:a5:f3:c3:80:3c:89:5e:ad:31:67:2e:39:1b:
                    78:21:f7:e0:80:a6:d5:06:44:a8:2e:2c:a6:30:12:
                    4d:f3:02:40:53:5d:bc:81:04:84:21:d5:23:50:a9:
                    b7:04:b0:f4:1f:ef:dd:d3:5b:a3:d5:9b:73:48:09:
                    30:c3:34:7d:6f:ab:10:c2:67:b8:8c:71:16:2c:7e:
                    d8:ec:85:28:b7:c0:ad:65:eb:cf:9a:75:a3:ac:12:
                    3f
        X509v3 extensions:
            X509v3 Basic Constraints: critical
                CA:TRUE, pathlen:0
            X509v3 Certificate Policies:
                Policy: X509v3 Any Policy
                  CPS: http://www.symauth.com/cps/testca
                  User Notice:
                    Explicit Text: http://www.symauth.com/rpa

            X509v3 CRL Distribution Points:

                Full Name:
                  URI:http://pilot-crl.verisign.com/testpca3-g7.crl

            X509v3 Key Usage: critical
                Certificate Sign, CRL Sign
            X509v3 Subject Alternative Name:
                DirName:/CN=DSA2048,256-2
            X509v3 Subject Key Identifier:
                F7:B1:41:29:F4:82:01:5C:0A:EA:8A:A7:75:79:26:C4:A7:98:BF:C3
            X509v3 Authority Key Identifier:
                keyid:EE:37:0E:47:A1:B4:79:0F:8E:0C:C3:DA:47:A3:D1:5E:75:06:FF:B6

    Signature Algorithm: dsa_with_SHA256
         r:
             00:82:60:b5:db:0f:8a:5e:77:f8:c1:c5:b0:a4:ca:
             8f:b6:3b:23:0f:74:2b:07:2d:64:56:0a:07:52:20:
             d4:f7:fd
         s:
             6e:91:a3:6f:e6:9f:b5:0b:da:07:21:b1:a1:29:fb:
             47:45:41:6f:9d:bf:c2:b5:cf:b3:ac:cc:a4:76:cf:
             f1:fd

This bug also occurred on entry 5301782 of the Google Aviator Log.

This occurred when probing the other 2 Google production logs.
Also, the exception caused an entire batch of certs not being stored into CertDB. However, the "state" of the log was already updated as verified, so even if you re-run logobserver.py, you wouldn't re-insert the missing certs.

Can you confirm this is with the latest version of the code? I thought I fixed a bug in that area.
If you could post the output of 'git log |head -5' and the command line you used to run the scan, I'll try and reproduced.

Yeah I can reproduce this issue with the latest version.
linshung@linshung-mbp1 certificate-transparency$ git log |head -5
commit 81a74044f364a55609a54537d24b61fb363f7dcc
Merge: 3ad23bb 052341d
Author: Al Cutter<EMAIL_ADDRESS>Date:   Tue Jul 21 16:33:51 2015 +0100

First, edit python/ct/config/logs.config to use Certly's log (since it's smaller than Google's).
ctlog:{
  log_server:'https://log.certly.io'
  log_id:'zbUXm3/BwEb+6jETaj+PAC5hgvr4iW/syLL1tatgSQA='
  public_key_info:{
    type:ECDSA
        pem_key:'-----BEGIN ECDSA PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0D'
        'AQcDQgAECyPLhWKYYUgEc+tUXfPQB4wtGS2MNvXrjwFCCnyYJifBtd2Sk7Cu+Js9DNhMTh'
        '35FftHaHu6ZrclnNBKwmbbSA==\n-----END ECDSA PUBLIC KEY-----'
  }
}

Must mkdir due to issue #771
linshung@linshung-mbp1 python$ mkdir /tmp/ct_monitor/
linshung@linshung-mbp1 python$ mkdir /tmp/ct_monitor/zbUXm3/
linshung@linshung-mbp1 python$ mkdir /tmp/ct_monitor/zbUXm3/BwEb+6jETaj+PAC5hgvr4iW/

Run logobserver.py
linshung@linshung-mbp1 certificate-transparency$ cd python/
linshung@linshung-mbp1 python$ python utilities/logobserver/logobserver.py
WARNING:root:Monitor state file not found, assuming first run.
ERROR:root:Traceback (most recent call last):
  File "/<MY_PATH>/certificate-transparency/python/ct/client/reporter.py", line 68, in _scan_der_cert
    root = cert.Certificate(der_chain[-1], strict_der=False)
IndexError: list index out of range

ERROR:root:list index out of range
ERROR:root:Entry 16640 in batch <16000, 16999> raised an exception during scan

Let's check the cert count in TempDB and CertDB
linshung@linshung-mbp1 tmp$ sqlite3 /tmp/ct_tmp/db1
SQLite version 3.8.5 2014-08-15 22:37:57
Enter ".help" for usage hints.
sqlite> select count(*) from entries;
18185
linshung@linshung-mbp1 tmp$ sqlite3 /tmp/ct_cert
SQLite version 3.8.5 2014-08-15 22:37:57
Enter ".help" for usage hints.
sqlite> select count(*) from certs;
17185

An entire batch of certs <16000, 16999> is missing.


nixos-containers: add TimeoutStartSec option

Motivation for this change
Fixes #65001
Default is now 1m instead of global default of 15sec. It is also
configurable.
This is not a very elegant solution since the system load is still very high at boot, but it fixes the issue for now.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Notify maintainers
cc @arianvp @edolstra @kampfschlaefer

To test this, i created an Installer live image with 100 containers configured and bootet it.
All containers start now. The start fails without this fix.

@Infinisil can you review it again?

Oh actually, while running nix-build nixos/release.nix -A tests.containers-imperative.x86_64-linux:
machine# [   61.148540] systemd[1]: /nix/store/ar6287z36akl2m2a9mdvan37ad17scjh-unit-container-.service/container@.service:31:
  Failed to parse TimeoutStartSec= parameter, ignoring:

You should probably make the dummy be valid too

@Infinisil thanks for mentioning the tests. They run sucessfull now!
I set the dummy to the current default (systemd default) of 15s.

Hello @davidak, I am slightly confused by this PR.
You say the current default set by systemd is 15s. But I don‘t think this is the case. I am curious where you got this number. At least on my systems (using nixos for two years) the timeout is and has been since the introduction of systemd in arch years ago 90s.
I mean it doesn‘t really matter, but this PR actually lowered the default TimeoutStartSec for my containers and subsequently my containers now fail more often.
So I am wondering: What do you think about raising the timeout to 90s or making this option null-able and just not setting it by default to make sure we use the systemd default (even if they change it)?

@maralorn i got the information from this stackexchange answer :D
https://github.com/NixOS/nixpkgs/issues/65001#issuecomment-516059508

I mean it doesn‘t really matter, but this PR actually lowered the default TimeoutStartSec for my containers and subsequently my containers now fail more often.

That was not my intention. Do you use NixOS stable or unstable? They might have different systemd versions.

So I am wondering: What do you think about raising the timeout to 90s or making this option null-able and just not setting it by default to make sure we use the systemd default (even if they change it)?

When it's actually 90s, we might be fine with a null-able option. But since we depend on it, it might be more stable to set 90s as default. Would you create a PR for that? I can review it then.


SM-92 admin grpc endpoints

Proposed Changes
Impacted Routes

Caveats

looks good for me now @JamesReate, @lauradeng23 please continue with rpc implementation


add ini-file

Feature-request
Description
In the current state, only arguments while executing SakuraTree can be used for controlling. As extension for this, also ini-files should be able for referencing.
Related Issue
Kitsunemimi-Repos, which have to be updated
Possible Implementation

automatically done with #154, because there was a config-file necessary for the remove-systems


Allow provision of custom DatastoreProvider instances for new Morphia instances

This patch supersedes #728, and is branched from the current head.

Thanks.  I'll take a look at this in a bit.

The API looks a little wonky.  I noticed there are no tests.  Could you add some showing how this change would look when providing a custom provider?  The API feels a bit inverted and I'd like to see it in action.

What about removing DatastoreProvider.register and setting the datastore for example via the constructor in a specific implementation?

Yeah, the register bit looks weird to me.

OK.  I understand what's going on with this a bit better now.  I don't like it but that's not this PR's fault as this Provider thing is really half-backed.
So with that that thought, what exactly is this change supposed to provide.  The Provider doesn't really do much and I'm trying to decide what to do about that.  This PR touches upon an area that's seen a few requests for updates but internally morphia's just not structured to accommodate them just yet.  So if we're going to break the API to do this "right," now's the time before 1.0 locks us in to an API.

IMHO https://github.com/mongodb/morphia/pull/728#issue-62678389 describes it very well.
Our problem is the same: We have multiple datastores in a single application and get the wrong datastore when trying to fetch a $ref (which will obviously fail).

I agree, this is probably the wrong way to approach the problem in the long term, this was just the minimal change that I could see: adding alternative implementations of the provider interface avoided changing the API for any existing code.
As @xeraa indicates, the change is supposed to provide a way to declare which Datastore instance is expected to be returned when the mapper is loading a DBRef, instead of the current behaviour of 'the last Datastore that was instantiated'. I would like to see some kind of distinct relationship between a Mapper and a Datastore, such that when working within a datastore instance there is no confusion over which location objects are being loaded from. This is the use case for the SingleDatastoreProvider class.
The problem with this is that the metadata collected by a Mapper could be used with several datastores containing the same model structure, and instantiating a new Mapper for each is slow and duplicates resources. Hence the ThreadLocalDatastoreProvider, which allows a single mapper to be used across multiple threads in a thread-per-request style application, and the correct datastore can then be set for each thread without duplicating Mapper instances per thread.
An alternative may be to share the metadata between mapper instances using some Mapper.clone() process applied during creation of the Datastore, thus allowing every datastore to be locked to a separate Mapper instance, which would then know which datastore to load references from. I'm not sure how this would interact with the dynamic mapping of new classes, but I think it would solve the same use case as described here.

(Sorry for the delay.  I was out last week.)
I see the reasoning and I've figured out what I don't like about this pull request.  The good news is that it's not the PR to blame.  The bad news is that morphia's internal APIs are a bit of a mess.  I'll run the tests locally against this today and probably merge it since my concerns are no fault of yours.

merged


feat: WP-261 - remove sharebar stickyness, add bottom sharebar

Im looking into it :)

The tests also need having a look at, they are currently failing.


Error: Laravel9 - Finder

Describe the bug
After update Laravel to 9, and Platform to 12, I got message:
vendor\symfony\finder\Finder.php::[611]
You must call one of in() or append() methods before iterating over a Finder.
Server (please complete the following information):

Platfrom Version: 12.3.2
Laravel Version: 9.9.0
PHP Version:  8.1.5

Hi @vallter2 Duplicates: https://github.com/orchidsoftware/platform/issues/2128
The section you need is located here https://orchid.software/en/docs/upgrade/#icons
'icons' => [
    'orc' => \Orchid\IconPack\Path::getFolder(),
]


Slight optimisation on cache hit without match.

Actually, on cache hit, there is a new pointless dynamic_cast done if ptr is not an instance of required class.
It would be slightly faster to return directly nullptr if there is a cache hit but if this_vtable doesn't match with the stored one.

I believe this does not work, imagine the following:
// Class hierarchy is A -> B -> C
A* a = new B;
fast_dynamic_cast<B*>(a);
// Cached offset is now A->B, Cached vtable is [A::vftable]

A* a2 = new C;
fast_dynamic_cast<B*>(a2);
// With your change, this returns zero, because
// if(src_vtable_ptr == this_vtable) faiils and thus a nullptr is returned

I will let it run through my unit tests on monday though, to give you a definite answer.

You are right, I didn't consider that case. Forget about it.


Pre-trained Weights are no longer available !! help please !! i need it

Hey i can't download pre-trained weight even yu provide a link of TFLite (mirnet-fixed/dr) but didn't work should have the pretrained model please help me i need this for my studies

okey thank you bro


Latlng to screen position

Hi,
I have a moving marker that tracks the user position. I want to be able to save the user path, a bit like this :

To do this, I need to know how to convert a given position LatLng to a screen position (x, y) (where x and y are pixels), this will allow me to draw a circle at the given position.
I've already seen #231 but it doesn't seem to fit my needs.
Thanks !

You can use
CustomPoint<num> screenPosition =
            Epsg3857().latLngToPoint(mapPosition.center, mapPosition.zoom);

Can you try it and tell if it worked or not?

Yes I'm gonna try it asap (but not before sunday because I don't have access to an IDE before).

The proposed solution didn't work for me. It gives completely different values depending on the zoom level, and they do not seem to be related at all to the screen.

@c-mendoza It should give different values depending on the zoom level. Think of a Marker on the  map before and after a zoom. Its place changes(unless it is in the center of the map) It's LatLng does not change but it's place in the screen changes because of the zoom level.
The solution I proposed works for me.

@aytunch thanks for the quick reply. I'm getting wildly different values depending on zoom level, and the values don't seem to correlate at all to screen coordinates:
_onMapTapped(LatLng point) {
    CustomPoint<num> screenPosition = Epsg3857().latLngToPoint(mapController.center, mapController.zoom);
    print('Map Center: ${mapController.center}, zoom: ${mapController.zoom}');
    print('Screen position: $screenPosition');
}

flutter: Map Center: LatLng(latitude:42.874552, longitude:-78.885459), zoom: 15.023030455492945
flutter: Screen position: CustomPoint (2394053.6168428315, 3136045.6988957934)

flutter: Map Center: LatLng(latitude:42.873977, longitude:-78.884953), zoom: 16.3294798810794
flutter: Screen position: CustomPoint (5921292.46594501, 7756493.206048926)

flutter: Map Center: LatLng(latitude:42.873685, longitude:-78.884736), zoom: 17.792225925136517
flutter: Screen position: CustomPoint (16321041.76060866, 21379481.089647323)

When I zoom increases, the latLngToPoint return values increase as well. I don't know if it makes a difference, but I'm using Mapbox as the tile provider.
Any idea what could cause this?

@c-mendoza @Skyost If you want to find the absolute x,y screen coordinates, you can get the CustomPoint of the LatLng with the function I provided and then subtract it from the topleft(northwest) of the visible map.
So top left of the map screen point will be (0,0) and bottom right will be (mapwidth, mapheight)
CustomPoint<num> northWestPoint = Epsg3857()
          .latLngToPoint(mapPosition.bounds.northWest, mapPosition.zoom);
CustomPoint<num> markerPoint =
              Epsg3857().latLngToPoint(markerLatLng, mapPosition.zoom);
double x = markerPoint.x -
              northWestPoint.x;
double y =
              markerPoint.y - northWestPoint.y;

thanks for the detailed answer @aytunch


Throw proper errors everywhere

The following changes were made

Sometimes throw new Error(... was used, other places throw "... was used.
All throw calls now use new Error

Select2 no longer officially supports the 3.x version line, and will no longer be accepting pull requests to correct issues present in it. It is highly recommended to upgrade to the latest version of Select2 if you can, as that is the version which will continue to be supported in the future.
If this issue is still present in the latest version of Select2, or the feature has not yet been added, we encourage you to submit a new pull request against the master branch.


adding AeroGUI

spec_version needs to be "v1.4"
"spec_version" : 1, is a special case. All others are defined as "spec_version" : "vX.Y",

works locally, Jenkins is old. I'm merging this.


Breaking change with SimpleMDE in toolbar icons

I'm submitting a...

[x] Bug report
[ ] Feature request

Reproduction steps
When passing custom toolbar icons, the no-disable class previously used in SimpleMDE is not respected.
Check this JSFiddle: https://jsfiddle.net/myv5wgh0/.
Due to a change in early v2 (https://github.com/Ionaru/easy-markdown-editor/commit/7b147b3148671ddb7befe38c51e72cce9a8c0639#diff-510834ebe67771ad1adc3336cb7fd314R16116), element.classList is now used instead of the element.className previously in use which results in a loss of classnames.
Also, the changes in v2 resulted in changes in the shape of the toolbar objects, which makes it a breaking change with SimpleMDE (need to add the noDisableproperty in EasyMDE).
So, no big bad breaking change, but I think it's worth mentioning it.
I found this "bug" because in a project of ours we use a different set of toolbar icons (material) and we needed to customize the actions.
Version information
EasyMDE version: >2.0.0

I'm hitting the same problem for a different reason.  Do you have a timeline for when the typings will be updated so the noDisable and noMobile booleans will be added to the interface ToolbarIcon?
    interface ToolbarIcon {
        name: string;
        action: string|((editor: EasyMDE) => void);
        className: string;
        title: string;
        noDisable?: boolean;
        noMobile?: boolean;
    }

Thanks


[CI] Ensure Move Tests are run when Move files change

Description
Move tests are run as part of the Rust tests for the Sui Framework, but they should also be run when there are only Move changes.
Surfaced because a recent PR (#14429) Moved some Move tests causing CI to fail on main, and this wasn't picked up because diff tests hadn't been run.
Test Plan
CI

LGTM but we should probably change a .move file in this PR just to prove that it works

Haha, that's why this PR is a draft -- I was figuring out how to test it.  I think I'm going to have to temporarily change the definition of isRust to exclude its own workflow file:
https://github.com/MystenLabs/sui/blob/4d2b9c1e11e4163ab98576f69b98e4f286b152f7/.github/actions/diffs/action.yml#L26-L34
and then change a Move file.

...no luck, I think it's still considered a Rust change because at the start of the PR, the workflow mentions that changes to the workflow count as Rust changes.  I'm going to have to land the PR, and then submit a new PR that has a Move only change.

Test succeeded -- earlier issue was a typo in the workflow config.


Service Fabric Cluster upgrade 6.5 -> 7.0 may roll back due to Docker waiting for AzureFileDiskVolumeDriver to respond

when service fabric is configured to use 'Azure Files volume driver for Service Fabric', Service Fabric upgrade from 6.5 to 7.0 may fail.
https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-containers-volume-logging-drivers
status:
service fabric pg has bug open for this issue.
adding this issue link to internal bug.
this git 'issue' is for public tracking.
repro:
install service fabric 6.5 with containers on nano 1903 LTS
add azure files volume driver. this will add an unsupported docker plugin
during upgrade, fabricdeployer restarts dockerd and waits 15 seconds.
dockerd does not start listening until plugin connectivity has been verified to sfazurefile.
if plugin does not respond in 15 seconds, service fabric upgrade rolls back
error:
Failed starting service, Error: Microsoft.Azure.ServiceFabric.Extension.Core.AgentException: StartFabric failed.
not reproducible:
Customer mitigated by doing the following:
net stop ServiceFabricNodeBootstrapAgent
net stop FabricHostSvc
ren d:\docker\volumes\metadata.db d:\docker\volumes\metadata.bak
net start fabrichostsvc
net start servicefabricNodeBootstrapAgent

this issue has been fixed in service fabric 8.0 CU 1 8.0.516.9590


Testcase for FSP Console Issue(Bug 150765).

Make sure IPMI SOL Console connected in another terminal before running this
test. Below is the command line for execution of this test.
./op-test --bmc-type FSP --bmc-ip x.xx.xxx.xx --bmc-username dev --bmc-password ******
--bmc-passwordipmi ***** --host-ip x.xx.xxx.xx --host-user root --host-password *****
--machine-state OS --run testcases.ConsoleBug150765.ConsoleBug150765
Signed-off-by: Pridhiviraj Paidipeddi<EMAIL_ADDRESS>

This change is

@oohal  Can you have a look into the Bug 150765. Testcase is added here to recreate that bug, which is having without system dump involvement. It's just now 2 IPL's of the FSP system.


Angular Integration

Description
Use StencilJS framework integration functionality to generate Angular wrappers and publish them to NPM.
Stencil Angular Framework Integration
Acceptance Criteria

[ ] Angular wrappers can be automatically generated
[ ] Angular wrappers can be automatically published as part of the existing build pipeline
Generated Angular wrappers should not be stored in version control

@ryan-henness-trimble
TLDR
In the process of building the Angular library from the stencil web components, I have found all of the manual steps that need to be done to build the library. We originally agreed that the best approach would be to generate everything on the fly in the github action. I haven't actually tried this yet but I have ran into a few obvious hurdles with the generate everything on the fly approach.
I think it would be much better use of our time to just accept that we might need to create an angular-workspace inside source control that will store the generated components.
Details
Here are the steps that need to be performed to build an angular library and publish it to npm (Not in perfect order):
Bold items would be difficult / time consuming to implement using the "generate on the fly" approach

Install the angularOutputTarget dev dependency
> npm install @stencil/angular-output-target --save-dev

Update the stencil.config.ts to include:

angularOutputTarget({
      componentCorePackage: "@trimble-oss/modus-web-components",
      directivesProxyFile: "./angular-workspace/projects/trimble-oss/modus-angular-components/src/lib/stencil-generated/components.ts",
      directivesArrayFile: "./angular-workspace/projects/trimble-oss/modus-angular-components/src/lib/stencil-generated/index.ts",
    })

Create an angular workspace
> npx -p @angular/cli ng new angular-workspace --no-create-application

Create the modus-angular-components library (run from inside the angular workspace)
> npx -p @angular/cli ng generate library @trimble-oss/modus-angular-components

5. Delete the placeholder components and services from the angular library

Build the stencil project (from the stencil project root directory)
> npm run build

7. Import and Export all components into the angular module
8. Update tsconfig to disable lib checks. This is required to allow us to extend the stencil HTML elements in Angular

Link the stencil root directory to the angular directory using npm link

10. Bump the angular library version number

Build the angular library:
> npx ng run @trimble-oss/modus-angular-components:build:production

Publish the angular library:
> npm publish

I started wondering yesterday after our talk if this might be too much of a time burner. Sounds like it might be a good idea to just include them in our source control (like you said), as long as we find a good way to let developers know that they are not the source of truth and shouldn't be modified directly

Agreed.
It can be part of the README.md or CONTRIBUTING.md
I will raise a PR in the coming days for the first part of the angular stuff.
I tried to publish the library to npm yesterday but it said I didn't have paid access to the repo or something. Any ideas there?

Ohh this might be easiest to test out publishing on the public npm registry, since I'm not sure which permissions you'll need to publish on the GitHub registry. I can get you the auth token needed for that