GUVNOR-2503: Asset screen Validate-button should use incremental builder

See https://issues.jboss.org/browse/GUVNOR-2503 and https://github.com/droolsjbpm/kie-wb-common/pull/421

Jenkins please retest this.

Jenkins, please retest this.

@etirelli @mariofusco Could you please review this PR? The issue is that when validating a single file in the Workbench (i.e. the User edits a DRL file and, before saving, validates it compiles OK etc) we used to create a new KieBuilder add the file being validated and compile. However since a DRL file can reference queries, functions, globals, Java classes etc in other files we had to add (in some cases) ALL files to the temporary KieBuilder and compile it; then extract any compilation errors for the single file being validated. This could be slow for large projects. So.. to fix it we're now cloning the existing KieFileSystem and reusing the clone in conjunction with an incremental compilation to just compile and validate the single file.

There are five PRs all together:-

https://github.com/droolsjbpm/drools/pull/873
https://github.com/droolsjbpm/guvnor/pull/346
https://github.com/droolsjbpm/kie-wb-common/pull/421
https://github.com/droolsjbpm/drools-wb/pull/265
https://github.com/droolsjbpm/optaplanner-wb/pull/89

@manstis I will let @mariofusco review this one as he is more familiar with this code than I am. The approach sounds fine though until we get an asynchronous, standalone compilation and validation service.

@etirelli ok. @porcelli Let me know when we have the asynchronous, standalone compilation and validation service available.. it sounds terrific! ;-)

LOL, @porcelli promised it by EOB today. Watch for it. :)

@etirelli if you volunteer to babysit son for a couple of days.. it may get done :)

@manstis @Rikkola @karreiro Just to be clear this approach works only if you have to validate one (or more) brand new files. If you're using it only in this scenario this is a +1 for me. Conversely if you're also changing one of the already existing resources this no longer works because you're not removing from the builder the artifacts created by the old resource before the change (as done by incremental compilation),

Thanks for the review @mariofusco
Unfortunately, I'm not sure if I'm missing something.
Here the steps for validating a resource:

https://github.com/karreiro/kie-wb-common/blob/d9cc28783d9e408527916f731fc0f7fc0076de1b/kie-wb-common-services/kie-wb-common-services-backend/src/main/java/org/kie/workbench/common/services/backend/validation/asset/Validator.java#L46
https://github.com/karreiro/kie-wb-common/blob/d9cc28783d9e408527916f731fc0f7fc0076de1b/kie-wb-common-services/kie-wb-common-services-backend/src/main/java/org/kie/workbench/common/services/backend/validation/asset/ValidatorBuildService.java#L48
https://github.com/karreiro/kie-wb-common/blob/d9cc28783d9e408527916f731fc0f7fc0076de1b/kie-wb-common-services/kie-wb-common-services-backend/src/main/java/org/kie/workbench/common/services/backend/validation/asset/ValidatorBuildService.java#L64-L68
https://github.com/karreiro/kie-wb-common/blob/d9cc28783d9e408527916f731fc0f7fc0076de1b/kie-wb-common-services/kie-wb-common-services-backend/src/main/java/org/kie/workbench/common/services/backend/builder/BuildServiceImpl.java#L336-L339
https://github.com/karreiro/kie-wb-common/blob/d9cc28783d9e408527916f731fc0f7fc0076de1b/kie-wb-common-services/kie-wb-common-services-backend/src/main/java/org/kie/workbench/common/services/backend/builder/Builder.java#L412-L412
https://github.com/karreiro/kie-wb-common/blob/d9cc28783d9e408527916f731fc0f7fc0076de1b/kie-wb-common-services/kie-wb-common-services-backend/src/main/java/org/kie/workbench/common/services/backend/builder/Builder.java#L383
https://github.com/karreiro/kie-wb-common/blob/d9cc28783d9e408527916f731fc0f7fc0076de1b/kie-wb-common-services/kie-wb-common-services-backend/src/main/java/org/kie/workbench/common/services/backend/builder/Builder.java#L539-L539
https://github.com/karreiro/drools/blob/incremental-validator/drools-compiler/src/main/java/org/drools/compiler/kie/builder/impl/KieBuilderSetImpl.java#L92
https://github.com/karreiro/drools/blob/incremental-validator/drools-compiler/src/main/java/org/drools/compiler/kie/builder/impl/KieBuilderSetImpl.java#L133

Probably I've misunderstood, but I think that the artifacts created by the old resource before the change are being cleaned, right?
Thanks, again :-)

Discussed this with @karreiro and the scenario described by @mariofusco seems to be working. Lets go ahead and merge this PR. Next week when Mario is back we can discuss if any additional fix is necessary. +1 to merge.

Jenkins, please retest this.

jenkins retest this.

@csadilek as we discussed, the tests are failing before applying the PR, so the failures are not related.


Refactor register API for making integration easier.

Do following adjustments.

Make the implementation take responsibilities to do all ID generation. Including a) Start with 2 b) Add 1 after getting the maxId
Adjust ES and H2(MySQL compatible) implementations.

This makes the register integration with 3rd part system possible.

Coverage increased (+0.004%) to 14.333% when pulling fa706937b1911e944de91ba7dc4ef13ee3dbf10f on refactor-register into addf5101e006f73467b2c43c3e477c4c8af96cb6 on master.

@peng-yongsheng Just fixed.


NTR: vegetarian diet

Parent: dietary intervention (MAXO:0000088)

Label: vegetarian

Narrow synonym: lacto-ovo vegetarian, ovo-vegetarian, lacto-vegetarian, pescatarian, pesco-vegetarian
Definition: A vegetarian diet excludes meat and meat products, poultry, seafood and flesh from any other animal. A lacto‐ovo‐vegetarian diet includes both eggs and dairy products, an ovo‐vegetarian diet includes eggs but not dairy products, and a lacto‐vegetarian diet includes dairy products but not eggs. A pescetarian (pesco‐vegetarian) diet includes fish but no other meat.
Reference: PMID:23965907, PMID:28040519

Tyrosinemia Type 1: indications for a low-tyrosine diet which can include:
Dietary management should be started immediately upon diagnosis and should provide a nutritionally complete diet with controlled intakes of phenylalanine and tyrosine using a vegetarian diet with low-protein foods and a medical formula such as Tyrex® (Ross) or Tyros-1® (Mead Johnson).


[servicebus] Check SDK support described types in message serialization and deserialization

We received a bug report in java SDK. Customer cannot cast property attribute from servicebus messages which are sent by .net SDK.
After investigation, we found that .net SDK support Uri, DateTimeOffset and TimeSpan object by using described types in amqp. But java SDK haven't mapped any of these described types.
Here is .net doc: https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-amqp-dotnet#message-serialization
Please confirm this case in SDK.

@richardpark-msft we need to address if this is an issue in the Go SDK

Yeah, I can add a simple test in for this. @jhendrixMSFT , might be some work incoming but I recall we had good primitive type mapping to AMQP types happening in the serializer in go-amqp.

I've added in some tests. There are two types that we can't handle today - 'TypeCodeDecimal', which doesn't have a supported decode/encode path in go-amqp and 'TypeCodeChar'.
@ZejiaJiang  - are there any types from the AMQP primitives that can't support? And if so, how are you documenting that?

@ZejiaJiang, one of the types (TypeCodeChar) is actually 4 bytes long. Java has a 2-byte char type, so what do you map it too? (and do you also support round-tripping)?

(also, closing this issue as we don't have immediate plans to add support, but can if customers need it)

@richardpark-msft
I've checked the source code of proton-j which is the AMQP implemetion in java language.
The proton-j support these two types that you mentioned above. Here is the related code:
Decimal:
https://github.com/apache/qpid-proton-j/blob/b51cac846a2f8f72f8dbb838bcd1d755de8110ad/proton-j/src/main/java/org/apache/qpid/proton/codec/Decimal128Type.java#L60-L101
Proton-j seprates decimal into msb and lsb.
Char:
https://github.com/apache/qpid-proton-j/blob/b51cac846a2f8f72f8dbb838bcd1d755de8110ad/proton-j/src/main/java/org/apache/qpid/proton/codec/CharacterType.java#L63-L126
The character encoding seems like can lose data.
Overall, the proton-j supports these types, and we didn't do extra work on these types.


Rsync Issue

Hi Dave;
Have been using AMPY until now but are trying rshell due to rsync but can't seem to get it to work.
See below, as you can see initially I list the local dir and then attempt rsync to the ESP32WROVER, yes the apps folder does exist on the WROVER.

Any idea what the problem may be ??

Any chance of adding the ability to add the folder if it does not exist as this would mean that I could create a dist(ribution) folder and run rsync and have it make an exact copy of the dist folder. Using current design I would need to manually add the target folders first ?!

PACBOOK:flash pac$ rshell -p $slab
Connecting to /dev/tty.SLAB_USBtoUART ...
Welcome to rshell. Use Control-D to exit.
/Volumes/Data/uPython/flash> ls
apps/           cert/           device/         html/           lib/            picoweb-master/ sys/            gv.py
boot/           dev/            fonts/          json/           main/           reg/            test/           main.py
/Volumes/Data/uPython/flash> rsync apps /flash/apps
Traceback (most recent call last):
  File "<stdin>", line 52, in <module>
  File "<stdin>", line 47, in recv_file_from_host
  File "<stdin>", line 34, in recv_file_from_host
KeyboardInterrupt:
>OKTraceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'T' is not defined
>OKTraceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'high' is not defined
>OKTraceback (most recent call last):
  File "<stdin>", line 1
SyntaxError: invalid syntax
>raw REPL; CTRL-B to exit
>raw REPL; CTRL-B to exit
>raw REPL; CTRL-B to exit
>raw REPL; CTRL-B to exit
>raw REPL; CTRL-B to exit
>raw REPL; CTRL-B to exit
>raw REPL; CTRL-B to exit
>raw REPL; CTRL-B to exit
>raw REPL; CTRL-B to exit
>raw REPL; CTRL-B to exit
>raw REPL; CTRL-B to exit
>raw REPL; CTRL-B to exit
>raw REPL; CTRL-B to exit
>raw REPL; CTRL-B to exit
>raw REPL; CTRL-B to exit
>raw REPL; CTRL-B to exit
>raw REPL; CTRL-B to exit
>raw REPL; CTRL-B to exit
>raw REPL; CTRL-B to exit
>raw REPL; CTRL-B to exit
>raw REPL; CTRL-B to exit
>raw REPL; CTRL-B to exit
>raw REPL; CTRL-B to exit
>raw REPL; CTRL-B to exit
>raw REPL; CTRL-B to exit
>raw REPL; CTRL-B to exit
>OKTraceback (most recent call last):
  File "<stdin>", line 2
SyntaxError: invalid syntax
>OKTraceback (most recent call last):
  File "<stdin>", line 2
SyntaxError: invalid syntax
>OKTraceback (most recent call last):
  File "<stdin>", line 1
SyntaxError: invalid syntax

I get the same errors with cp -r

Try starting rshell with the -a option.


Update DefaultAzureCredential with dev tool authentication

#10092 added integration with the Azure CLI, and #10840 added integration with Visual Studio Code's Azure Account extension. These are the only integrations we plan to add in 1.4.0.


add timeout error string for kDNSServiceErr_Timeout

Thanks for the patch. Unfortunately it doesn't do anything. Although the code is riddled with this idiom it does not work. The constants like kDNSServiceErr_Timeout are defined as an enum, not a preprocessor #define. So the #ifdef is always false and the code is never compiled.
The right way to handle these constants would be a configure-test. Unfortunately node-gyp does not have a configure phase. So we're stuck with not having these constants.
I'll probably merge it anyway, for completeness sake, but in case you actually need it you're out of luck I'm afraid. Just to let you know...

awww, had a case where this error is actually returned and debugged it with printf()... patch looked simple enough so I did not test it fully - sorry.

Thanks again. Sorry it doesn't work.
:-/


Building freestyle IoT application TEMPLATE

I cant find the Template to Build the Freestyle App at the WebIDE.
At the SAPUI5 Versions (SAP 1.50 /1.44/1.38) does not contain this template used on the tutorial.
Is there any other possibilities to get the OData from my ThingModel?
Can I get a OData link from the messages generated from my device?
Thanks a lot,
Paola

Hi Paola. Sorry for delay responding. Could you please check and reply if you still have this problem with the tutorial?

Closing as I haven't heard back if the issue persists.


Enter tokio context outside of a future

Sometimes, non-poll methods expect to be able to spawn tasks. One common case is Drop implementations of types that want to do some async cleanup. Would you PRs for any of the following?

enter_tokio_context + TokioEnterGuard wrapping TOKIO1.enter()
impl Drop<T> for Context<T> that enters the tokio context while dropping the inner value (requires some unsafe for ManuallyDrop, I think)

I'm more of a fan of the second option. You shouldn't need ManuallyDrop, just wrap the type in Option and take it out to drop it. I would accept this PR.

Yes, Option works too but has unnecessary overhead.

Just realized that Compat uses pin_project! for its definition, which prohibits custom Drop impls. So the Drop impl is only an option if we replace that safe abstraction with hand-checked unsafe.

pin_project! for its definition, which prohibits custom Drop impls.

pin-project-lite supports custom Drop impl: https://github.com/taiki-e/pin-project-lite/pull/25

The value of a pinned type can be overwritten with set. So if you set the type to None it will work.

Oohh, clever! I was aware of that method, but hadn't connected the dots. That should indeed make an unsafe-free solution possible. (together with Option::as_pin_mut which I found is also a thing)


[Feature] 希望拖动列宽时的提示框样式可以自定义

What problem does this feature solve?

可以自定义提示框
What does the proposed API look like?
theme加一个配置项

重复需求 #781


'1 is not a valid choice' when adding interface

Describe the bug
when running netbox_agent -c netbox_agent.yml  --register it breaks with:
INFO:root:Create new IP <IP_ADDRESS>/24 on enp130s0f0
DEBUG:urllib3.connectionpool:https://netbox.host:443 "POST /api/ipam/ip-addresses/ HTTP/1.1" 400 39
Traceback (most recent call last):
  File "/usr/local/bin/netbox_agent", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.6/dist-packages/netbox_agent/cli.py", line 44, in main
    return run(config)
  File "/usr/local/lib/python3.6/dist-packages/netbox_agent/cli.py", line 39, in run
    server.netbox_create_or_update(config)
  File "/usr/local/lib/python3.6/dist-packages/netbox_agent/server.py", line 292, in netbox_create_or_update
    self.network.create_or_update_netbox_network_cards()
  File "/usr/local/lib/python3.6/dist-packages/netbox_agent/network.py", line 444, in create_or_update_netbox_network_cards
    self.create_or_update_netbox_ip_on_interface(ip, interface)
  File "/usr/local/lib/python3.6/dist-packages/netbox_agent/network.py", line 319, in create_or_update_netbox_ip_on_interface
    status=1,
  File "/usr/local/lib/python3.6/dist-packages/pynetbox/core/endpoint.py", line 283, in create
    ).post(args[0] if args else kwargs)
  File "/usr/local/lib/python3.6/dist-packages/pynetbox/core/query.py", line 383, in post
    return self._make_call(verb="post", data=data)
  File "/usr/local/lib/python3.6/dist-packages/pynetbox/core/query.py", line 274, in _make_call
    raise RequestError(req)
pynetbox.core.query.RequestError: The request failed with code 400 Bad Request: {'status': ['1 is not a valid choice.']}

Expected behavior
It should create the interface with the ip
Configuration file
# Netbox configuration
netbox:
 url: 'https://netbox.host'
 token: XXXX
network:
  ignore_interfaces: "(dummy.*|docker.*)"
  ignore_ips: (127\.0\.0\..*|.*:.*)
datacenter_location:
 driver: "cmd:cat /root/datacenter"
 regex: "(.*)"
inventory: true

Environment:

OS: Ubuntu 18.04.3
Netbox agent version v0.6.2
Netbox version v2.11.3

Can confirm.

I have the "active" status
query_params = {                 'address': ip,                 'status': "active",                 'assigned_object_type': self.assigned_object_type,                 'assigned_object_id': interface.id             }

if there is no ipmi on the server, I can collect the information


backend.bicep has a hardcoded storage name

From Enterprise-Scale-APIM created by ahmedsza: cykreng/Enterprise-Scale-APIM#55
@winmike  - Not sure if you created this script. It has a hardcoded storage account name and hence will fail when others run.

Not sure about hardcoded account name. Here's the code:
var storageAccounts_saapimcsbackend_name  = toLower('st${deploymentDateTime}')
DateTimestamp should be pretty unique.
Can post here the error message? I cannot repro

Hi @ahmedsza  PR #47 backend.bicep lineno 70


[732] - Migrate to GitHub Actions

closes #732
Background
Migrate from CircleCI (circleci.yml) to GitHub Actions. Partially to support writing the .xliff localization file on protected branches, but partially because it gives us some nice affordances :)
Contents
The "main" jobs are event-driven:

Job
Desc

on_pull_request.yml
Run on PRs to develop

on_release_push.yml
Run on new pushes to release.* branches

on_crowdin_push.yml
Run on new pushes to crowdin.* branches

These jobs call composite actions[0] (reusable CI steps) to cleanup callsites, but also to make it clear what runs when. "On pull requests, XYZ steps are run" kinda thing.

Action
Desc

run_lane
Runs the input fastlane lane

xliff_import
Runs the xliff_import lane after pulling

xliff_export
Commit the translation file if changed

Notes

[0] What's a composite action?
This StackOverflow post goes into good detail, but as a brief summary, there's three kinds of "reusable thing" in GHActions:

Dispatch workflow
Reusable workflow
Composite action

Dispatch is a little hacky (can only run once in default branch, only thru API). Reusable workflows are ephemeral (don't maintain state per-job), so we'd need to upload/download artifacts between each step. Composite actions run in the same job! :) But they have two fun quirks:

Its yaml must be titled with {name}/aciton.yml
Any run: ... actions must specify a shell: ..., even though that is officially an optional property ☔

Remaining:

[] Resolve the corrupted SPM resolution file error (!)
[] Validate artifacts work as expected
[] Validate fastlane test annotations (fancy GitHub UI) are showing as expected in a PR
[] Validate Crowdin translation flow work as expected
[] Add MATCH_PASSWORD key to secrets if not already there (missing perms 🥺)

Haven't forgotten about this ;) dub dub week's been wild, will take a look this weekend 👍

Thank you, @luccab03, for picking this up and getting it back in motion! Also, thanks to @peterkos for laying the foundations here, even though I've strayed from parts of that vision in a few small ways. I think it's in a state where we can merge it and do some smaller iterative PRs to get it the rest of the way there.
Here are the highlights of what I have adjusted:
Test Plans
Unit and UI tests were created before Test Plans existed, and now we can use them to retry when tests fail automatically. I've set it to retry a failed test up to 3x, and it will respawn the process, hopefully sidestepping uncontrollable issues like unexpected simulator crashes.
Crowdin Updates
I've attempted to modernize the workflow, but there are still a few unfortunate gaps I have to compensate for. Crowdin has added many new tooling and workflow options, but the output files require additional processing.

The old CrowdinExport/CrowdinImports folders have been removed and no longer need to be managed manually
Xcode String Catalogs can be uploaded directly to Crowdin, so there is no apparent need to export as xliff files anymore, removing an entire xcodebuild operation.
Crowdin allows us to export a preconfigured "bundle" of xliff files corresponding to each source string catalog. We then download that bundle and import each xliff file one by one using xcodebuild.
Each xliff file is almost correct, but two metadata tags are swapped, making xcodebuild unable to import them correctly. I do a quick regex manipulation in Ruby and then attempt to import the file.
Xcode can struggle with the import operation due to a known issue with package resolution. This issue is typically resolved by reattempting the import, so I added a quick Ruby function to repeat the operation up to 3x. So far, that has allowed all files to be imported without issue!
Importing all of those xliff files separately is expensive, so merging them into a single file and doing a single import may be an opportunity to optimize. However, I have not verified that this works!

Workflow
This is subject to change with future iterations, but the overall translation workflow is mostly the same:

New strings are merged into develop, at which point they get uploaded to Crowdin.
Every 3 hours, a workflow runs that will fetch translations from Crowdin and attempt to import them, making a PR if anything has changed.

TODO

Implement the release workflow, so we can cut builds to Testflight
Ensure test failure reporting and artifact uploads are working as expected
Integrate PR suggestions for SwiftLint and potentially SwiftFormat
Investigate xliff merging optimizations


Large types with many fields hits backwards branches limit

Description
I've encountered the following error message when attempting to deserialize into a large type auto-generated from a large JSON file.
/Users/ion/.cache/zig/p/122054359cb91a29ab5b91ee8c3b347a110cdc3aa93fc4a60f28e0236d6d729bb343/src/attributes.zig:102:32: error: evaluation exceeded 1000 backwards branches
                if (std.mem.eql(u8, field.name, f.name)) {
                    ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/Users/ion/.cache/zig/p/122054359cb91a29ab5b91ee8c3b347a110cdc3aa93fc4a60f28e0236d6d729bb343/src/attributes.zig:102:32: note: use @setEvalBranchQuota() to raise the branch limit from 1000
/Users/ion/.cache/zig/p/122054359cb91a29ab5b91ee8c3b347a110cdc3aa93fc4a60f28e0236d6d729bb343/src/ser/traits/attributes.zig:27:29: note: called from here
        const A = Attributes(T, attributes);

It also looks like there is an error in src/de/impls/visitor/struct.zig:29.
How to Reproduce the Bug
Attempt to deserialize the given JSON into the given Zig type:
Zig type:

pub const TopLevel = struct {
    data: []Datum,
    pagination: Pagination,
    meta: Meta,
};

pub const Datum = struct {
    type: Type,
    id: []u8,
    slug: []u8,
    url: []u8,
    bitly_gif_url: []u8,
    bitly_url: []u8,
    embed_url: []u8,
    username: Username,
    source: []u8,
    rating: Rating,
    content_url: []u8,
    source_tld: []u8,
    source_post_url: []u8,
    is_indexable: i64,
    import_datetime: []u8,
    trending_datetime: []u8,
    images: Images,
    user: ?User,
};

pub const Images = struct {
    fixed_height_still: The480_WStill,
    original_still: The480_WStill,
    fixed_width: FixedHeight,
    fixed_height_small_still: The480_WStill,
    fixed_height_downsampled: FixedHeight,
    preview: DownsizedSmall,
    fixed_height_small: FixedHeight,
    downsized_still: The480_WStill,
    downsized: The480_WStill,
    downsized_large: The480_WStill,
    fixed_width_small_still: The480_WStill,
    preview_webp: The480_WStill,
    fixed_width_still: The480_WStill,
    fixed_width_small: FixedHeight,
    downsized_small: DownsizedSmall,
    fixed_width_downsampled: FixedHeight,
    downsized_medium: The480_WStill,
    original: FixedHeight,
    fixed_height: FixedHeight,
    looping: Looping,
    original_mp4: DownsizedSmall,
    preview_gif: The480_WStill,
    the_480_w_still: ?The480_WStill,

    pub const @"getty.db" = struct {
        pub const attributes = .{
            .the_480_w_still = .{
                .rename = "480w_still",
            },
        };
    };

    pub const @"getty.sb" = struct {
        pub const attributes = .{
            .the_480_w_still = .{
                .rename = "480w_still",
            },
        };
    };
};

pub const The480_WStill = struct {
    url: []u8,
    width: []u8,
    height: []u8,
    size: ?[]u8,
};

pub const DownsizedSmall = struct {
    width: []u8,
    height: []u8,
    mp4: []u8,
    mp4_size: []u8,
};

pub const FixedHeight = struct {
    url: []u8,
    width: []u8,
    height: []u8,
    size: []u8,
    mp4: ?[]u8,
    mp4_size: ?[]u8,
    webp: []u8,
    webp_size: []u8,
    frames: ?[]u8,
    hash: ?[]u8,
};

pub const Looping = struct {
    mp4: []u8,
    mp4_size: []u8,
};

pub const User = struct {
    avatar_url: []u8,
    banner_url: []u8,
    profile_url: []u8,
    username: Username,
    display_name: []u8,
    twitter: []u8,
};

pub const Meta = struct {
    status: i64,
    msg: []u8,
    response_id: []u8,
};

pub const Pagination = struct {
    total_count: i64,
    count: i64,
    offset: i64,
};

pub const Rating = enum {
    g,
    pg,
    pg_13,
    y,

    pub const @"getty.db" = struct {
        pub const attributes = .{
            .pg_13 = .{
                .rename = "pg-13",
            },
        };
    };

    pub const @"getty.sb" = struct {
        pub const attributes = .{
            .pg_13 = .{
                .rename = "pg-13",
            },
        };
    };
};

pub const Type = enum {
    gif,
};

pub const Username = enum {
    cheezburger,
    empty,
    meetaiko,
    producthunt,

    pub const @"getty.db" = struct {
        pub const attributes = .{
            .empty = .{
                .rename = "",
            },
        };
    };

    pub const @"getty.sb" = struct {
        pub const attributes = .{
            .empty = .{
                .rename = "",
            },
        };
    };
};

JSON (one data object only - to keep under limit)
{
  "data": [
    {
      "type": "gif",
      "id": "gl8ymnpv4Sqha",
      "slug": "cats-gl8ymnpv4Sqha",
      "url": "https://giphy.com/gifs/cats-gl8ymnpv4Sqha",
      "bitly_gif_url": "http://gph.is/1ZexrL0",
      "bitly_url": "http://gph.is/1ZexrL0",
      "embed_url": "https://giphy.com/embed/gl8ymnpv4Sqha",
      "username": "",
      "source": "http://www.reddit.com/r/gifs/comments/40bwcc/cats_cuddling/",
      "rating": "g",
      "content_url": "",
      "source_tld": "www.reddit.com",
      "source_post_url": "http://www.reddit.com/r/gifs/comments/40bwcc/cats_cuddling/",
      "is_indexable": 1,
      "import_datetime": "2016-01-10 16:25:16",
      "trending_datetime": "2017-07-25 12:15:01",
      "images": {
        "fixed_height_still": {
          "url": "https://media3.giphy.com/media/gl8ymnpv4Sqha/200_s.gif?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "width": "238",
          "height": "200"
        },
        "original_still": {
          "url": "https://media3.giphy.com/media/gl8ymnpv4Sqha/giphy_s.gif?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "width": "335",
          "height": "282"
        },
        "fixed_width": {
          "url": "https://media3.giphy.com/media/gl8ymnpv4Sqha/200w.gif?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "width": "200",
          "height": "168",
          "size": "816307",
          "mp4": "https://media3.giphy.com/media/gl8ymnpv4Sqha/200w.mp4?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "mp4_size": "53468",
          "webp": "https://media3.giphy.com/media/gl8ymnpv4Sqha/200w.webp?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "webp_size": "463236"
        },
        "fixed_height_small_still": {
          "url": "https://media3.giphy.com/media/gl8ymnpv4Sqha/100_s.gif?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "width": "119",
          "height": "100"
        },
        "fixed_height_downsampled": {
          "url": "https://media3.giphy.com/media/gl8ymnpv4Sqha/200_d.gif?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "width": "238",
          "height": "200",
          "size": "149811",
          "webp": "https://media3.giphy.com/media/gl8ymnpv4Sqha/200_d.webp?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "webp_size": "79132"
        },
        "preview": {
          "width": "226",
          "height": "190",
          "mp4": "https://media3.giphy.com/media/gl8ymnpv4Sqha/giphy-preview.mp4?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "mp4_size": "34232"
        },
        "fixed_height_small": {
          "url": "https://media3.giphy.com/media/gl8ymnpv4Sqha/100.gif?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "width": "119",
          "height": "100",
          "size": "329307",
          "mp4": "https://media3.giphy.com/media/gl8ymnpv4Sqha/100.mp4?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "mp4_size": "27066",
          "webp": "https://media3.giphy.com/media/gl8ymnpv4Sqha/100.webp?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "webp_size": "209276"
        },
        "downsized_still": {
          "url": "https://media3.giphy.com/media/gl8ymnpv4Sqha/giphy-tumblr_s.gif?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "width": "250",
          "height": "210"
        },
        "downsized": {
          "url": "https://media3.giphy.com/media/gl8ymnpv4Sqha/giphy-tumblr.gif?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "width": "250",
          "height": "210",
          "size": "1268794"
        },
        "downsized_large": {
          "url": "https://media3.giphy.com/media/gl8ymnpv4Sqha/giphy.gif?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "width": "335",
          "height": "282",
          "size": "2092733"
        },
        "fixed_width_small_still": {
          "url": "https://media3.giphy.com/media/gl8ymnpv4Sqha/100w_s.gif?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "width": "100",
          "height": "84"
        },
        "preview_webp": {
          "url": "https://media3.giphy.com/media/gl8ymnpv4Sqha/giphy-preview.webp?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "width": "133",
          "height": "112",
          "size": "48914"
        },
        "fixed_width_still": {
          "url": "https://media3.giphy.com/media/gl8ymnpv4Sqha/200w_s.gif?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "width": "200",
          "height": "168"
        },
        "fixed_width_small": {
          "url": "https://media3.giphy.com/media/gl8ymnpv4Sqha/100w.gif?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "width": "100",
          "height": "84",
          "size": "240785",
          "mp4": "https://media3.giphy.com/media/gl8ymnpv4Sqha/100w.mp4?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "mp4_size": "22302",
          "webp": "https://media3.giphy.com/media/gl8ymnpv4Sqha/100w.webp?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "webp_size": "159036"
        },
        "downsized_small": {
          "width": "334",
          "height": "282",
          "mp4": "https://media3.giphy.com/media/gl8ymnpv4Sqha/giphy-downsized-small.mp4?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "mp4_size": "195745"
        },
        "fixed_width_downsampled": {
          "url": "https://media3.giphy.com/media/gl8ymnpv4Sqha/200w_d.gif?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "width": "200",
          "height": "168",
          "size": "106769",
          "webp": "https://media3.giphy.com/media/gl8ymnpv4Sqha/200w_d.webp?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "webp_size": "59012"
        },
        "downsized_medium": {
          "url": "https://media3.giphy.com/media/gl8ymnpv4Sqha/giphy.gif?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "width": "335",
          "height": "282",
          "size": "2092733"
        },
        "original": {
          "url": "https://media3.giphy.com/media/gl8ymnpv4Sqha/giphy.gif?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "width": "335",
          "height": "282",
          "size": "2092733",
          "frames": "47",
          "mp4": "https://media3.giphy.com/media/gl8ymnpv4Sqha/giphy.mp4?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "mp4_size": "242120",
          "webp": "https://media3.giphy.com/media/gl8ymnpv4Sqha/giphy.webp?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "webp_size": "1170728"
        },
        "fixed_height": {
          "url": "https://media3.giphy.com/media/gl8ymnpv4Sqha/200.gif?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "width": "238",
          "height": "200",
          "size": "1152973",
          "mp4": "https://media3.giphy.com/media/gl8ymnpv4Sqha/200.mp4?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "mp4_size": "64900",
          "webp": "https://media3.giphy.com/media/gl8ymnpv4Sqha/200.webp?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "webp_size": "617762"
        },
        "looping": {
          "mp4": "https://media3.giphy.com/media/gl8ymnpv4Sqha/giphy-loop.mp4?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "mp4_size": "1246558"
        },
        "original_mp4": {
          "width": "480",
          "height": "404",
          "mp4": "https://media3.giphy.com/media/gl8ymnpv4Sqha/giphy.mp4?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "mp4_size": "242120"
        },
        "preview_gif": {
          "url": "https://media3.giphy.com/media/gl8ymnpv4Sqha/giphy-preview.gif?fingerprint=e1bb72ff597d1a8c4f54645836e08fe7",
          "width": "97",
          "height": "82",
          "size": "48424"
        }
      }
    }
  ],
  "pagination": {
    "total_count": 75875,
    "count": 25,
    "offset": 0
  },
  "meta": {
    "status": 200,
    "msg": "OK",
    "response_id": "597d1a8c4f54645836e08fe7"
  }
}

Additional Context
No response

Wow, that's a chonker!
As the error points out, you can use @setEvalBranchQuota to increase the amount of backwards branches the compiler can use before giving up (and erroring out). When testing the JSON payload you provided (one data object), a quota of  1800 worked for me.
I'm not sure what the best practice is for setting branch quotas in libraries, but for now I think I'll keep using the default in Getty (1000 branches). Users who work with larger types can set their own quotas. They have more insight into the types they're working with so they can set more accurate quotas. Plus, even if I did set a quota in Getty, I'm sure there'll be somebody out there who'll run into it eventually. 😅
P.S. After fixing the quota issue, I ran into an UnknownVariant error due to Username.empty being renamed to "". Pretty sure that's a bug in Getty, so I'll look into it.

Before making this issue I tried a quota of 10000, which seemed to be enough for all cases, but I did this in the library itself. I didn't realise you could set it within user code 🤔.
With regards to best practice, I've seen examples of the quota being calculated based on number of fields - e.g. https://github.com/ziglang/zig/blob/master/lib/std/fmt.zig#L532. There are also just arbitrary limits in the standard library too.
That being said, I think it would be more user-friendly to try and approximate the required quota based on the type, given this is an implementation detail that can be automated (cheaply and decideably) by the library. A somewhat analogous scenario is how a user doesn't want to try and estimate buffer sizes, they would prefer to pass an allocator that can be used by the library to get memory as needed. In this case the quota estimate might still not be enough, like you say, but would handle many more cases and save the user time from having to experiment with quotas.
The default limit is fine for now given that the user can actually change it, but I think an automated limit is worth considering for a future version.

With regards to best practice, I've seen examples of the quota being calculated based on number of fields - e.g. https://github.com/ziglang/zig/blob/master/lib/std/fmt.zig#L532.

I like that.
I'll update the struct visitor over the weekend to set a quota based on the number of fields. If everything looks good, I'll go ahead and update other spots in Getty as well.


Remove neuron view

Remove option to display internal neurons.  It should be replaced with the new PCA plot.

Removed in the current branch.


Provide config option to enable drawing of held key's binding

My keymap has two ways of going to another layer, either through holding a key with &mo or using a combo for &tog. The &mo key on that layer has its own binding to be used for the &tog option so I would like to display it on the layer. However, the keymap drawing only highlights the held key and does not show the binding (I looked through the config options provided but could not find a relevant config). Would it be possible to provide a config option to draw the bindings of held keys?

Hey there, you mean that the output of parsing (e.g. with keymap parse) does not have the tap/hold legends on the &mo key and simply produces {t: held} right? This was a very recent change I made after adding legends for transparent keys, so that they don't have the trans legend ▽ for most keymaps.
However I did not consider you might want to keep the legend for keymaps where there are multiple ways to get to the same layer, since parsing only assigns held keys to the first way it finds anyway. User feedback like this issue helps me to understand use cases better, so thanks for that. I'll add a config option so you can keep the old behavior.

One question: If we preserve the legends of held keys, would you prefer that be unconditional or should it still erase the ▽ legend if it is a &trans position?

I opted to go with the "smart" approach where the binding will be deleted only if it is transparent in the first place. This way we don't have to introduce a new config entry.
If that works for you I will make a bug fix release. If not, let me know.

Thanks for the quick fix, I think the smart approach sounds good. Will let you know if there's any issue once I've tested the new release.

Thanks, released v0.7.1 and it is on pypi.


Going beyond 48KHz, up to 88KHz and beyond.

How realistic is it to make 48KHz into 96KHz for example? And will it be like a real HI-FI sound, as if recorded in very high quality originally? If we use a usual 44KHz mp3 file as a source.
Thank you very much for your attention.

+1, 44.1kHz or 48kHz is fine. but 96kHz and 192kHz are more useful when processing, editing music. looking forward to it!

exponentially larger training time

exponentially larger training time

No, I mean whether the model is able to extrapolate to higher frequencies than 48KHz, without any re-training of the original models. For example, the same Stable Diffusion is able to do this, although with some difficulties.

+1, 44.1kHz or 48kHz is fine. but 96kHz and 192kHz are more useful when processing, editing music. looking forward to it!
The fact that we can get sounds from AudioLDM 2, for example, and enhance them with AudioSR, resulting in really high quality samples is a very good thing.

But what if some musicians or recording professionals want to increase the resolution of AudioSR to 96KHz or even higher. It would be very cool to make a normal and already good to hear MP3, Hi-Res 89,96, or 192KHz.
 No technology can increase the resolution and quality of sound so well, even if its sampling rate is very low.

there are very few sounds with frequency higher than 48k that you can hear.
such higher resolution is more useful for mastering- which is to say,
you're not really going to get
higher resolution data, you're just going to get a higher resolution
sampling rate.
On Sat, Sep 23, 2023 at 9:50 AM EX MACHINE GOD @.***>
wrote:

+1, 44.1kHz or 48kHz is fine. but 96kHz and 192kHz are more useful when
processing, editing music. looking forward to it!
The fact that we can get sounds from AudioLDM 2, for example, and enhance
them with AudioSR, resulting in really high quality samples is a very good
thing.
But what if some musicians or recording professionals want to increase the
resolution of AudioSR to 96KHz or even higher. It would be very cool to
make a normal and already good to hear MP3, Hi-Res 89,96, or 192KHz.
 No
technology can increase the resolution and quality of sound so well, even
if its sampling rate is very low.
—
Reply to this email directly, view it on GitHub
https://github.com/haoheliu/versatile_audio_super_resolution/issues/9#issuecomment-1732334822,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUYJQQ2UZL3YC5KQAE4SJRDX33ZLVANCNFSM6AAAAAA43U5VJ4
.
You are receiving this because you commented.Message ID:
@.***>


fix(sanitize): correctly sanitize the typescript generated symbol name

Current dependencies on/for this PR:

main

PR #71   👈

This comment was auto-generated by Graphite.


Incorrect Handling of max_tokens Parameter in o1 Model Requests

It seems that the o1 models do not support the max_tokens parameter, instead relying on max_completion_tokens. However, the sendRequest() method in all Handlers currently includes a max_tokens value of 2048 by default for each request. Additionally, it doesn't use array_filter (or equivalent) to remove the parameter when explicitly set to null.
Should this behavior be addressed?

Some extra information:
https://platform.openai.com/docs/api-reference/completions/create
It seems max_tokens has been deprecated

I'll get an update in today!

👍 !


Możesz podać swojego discorda

Daj swojego discorda XD

Nie dla psa

@.***
Sent with ProtonMail Secure Email.
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Sunday, March 21, 2021 10:10 PM, Szymon @.***> wrote:

Daj swojego discorda XD
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


[SUPPORT] Handling of DELETE operation using Debezium Kafka connector

Hi I am doing CRUD operation in YugabyteDB and my changes are tracked like below thru my Debezium Kafka connector config.
INSERT operation:
"before_id_value":null
"after_id_value":1000
"op": "c"
UPDATE operation:
"before_id_value":null
"after_id_value":1000
"op": "u"
DELETE operation
"before_id_value":1000
"after_id_value":null
"op": "d"
The HoodieSink connector perfectly handles Insert and update operations with after_id_value. it fails when i do DELETE operation as It will carry NULL value in the after_id_value. In Delete operation we will get before_id only. How do we dynamically assign this or is there any other way that we have to handle NULL values in Hoodie Kafka sink.
            "hoodie.datasource.write.recordkey.field": "after_id_value",
            "hoodie.datasource.write.partitionpath.field": "after_product_id_value",

My Kafka connector config below.
curl -i -X POST -H "Accept:application/json" -H "Content-Type:application/json" localhost:8085/connectors/ -d '{
"name": "hudi-mors-reviews",
"config": {
"bootstrap.servers": "localhost:9092",
"connector.class": "org.apache.hudi.connect.HoodieSinkConnector",
"tasks.max": "1",
"topics": "review1.public.reviews",
"hoodie.table.name": "public-mors-review-table",
"key.converter": "org.apache.kafka.connect.storage.StringConverter",
"value.converter": "org.apache.kafka.connect.storage.StringConverter",
"value.converter.schemas.enable": "false",
"hoodie.table.type": "MERGE_ON_READ",
"hoodie.base.path": "file:///tmp/hoodie/public-mors-review-table",
"hoodie.datasource.write.recordkey.field": "after_id_value",
"hoodie.datasource.write.partitionpath.field": "after_product_id_value",
"hoodie.schemaprovider.class": "org.apache.hudi.schema.SchemaRegistryProvider",
"hoodie.deltastreamer.schemaprovider.registry.url": "http://localhost:8081/subjects/review1.public.reviews-value/versions/latest",
"hoodie.kafka.commit.interval.secs": 60
}
}'
getting below error
[2023-11-27 08:31:47,194] WARN [hudi-mors-baltest|task-0] Error received while writing records for transaction<PHONE_NUMBER>3047010 in partition 0 (org.apache.hudi.connect.transaction.ConnectTransactionParticipant:238)
org.apache.hudi.exception.HoodieKeyException: recordKey value: "null" for field: "after_sno_value" cannot be null or empty.
at org.apache.hudi.keygen.KeyGenUtils.getRecordKey(KeyGenUtils.java:146)
at org.apache.hudi.keygen.SimpleAvroKeyGenerator.getRecordKey(SimpleAvroKeyGenerator.java:50)
at org.apache.hudi.keygen.BaseKeyGenerator.getKey(BaseKeyGenerator.java:69)
at org.apache.hudi.connect.writers.AbstractConnectWriter.writeRecord(AbstractConnectWriter.java:85)
at org.apache.hudi.connect.transaction.ConnectTransactionParticipant.writeRecords(ConnectTransactionParticipant.java:219)
at org.apache.hudi.connect.transaction.ConnectTransactionParticipant.processRecords(ConnectTransactionParticipant.java:137)
at org.apache.hudi.connect.HoodieSinkTask.put(HoodieSinkTask.java:114)
at org.apache.kafka.connect.runtime.WorkerSinkTask.deliverMessages(WorkerSinkTask.java:581)
at org.apache.kafka.connect.runtime.WorkerSinkTask.poll(WorkerSinkTask.java:333)
at org.apache.kafka.connect.runtime.WorkerSinkTask.iteration(WorkerSinkTask.java:234)
at org.apache.kafka.connect.runtime.WorkerSinkTask.execute(WorkerSinkTask.java:203)
at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:188)
at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:243)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
[2023-11-27 08:31:47,194] WARN [hudi-mors-baltest|task-0] Error received while writing records for transaction<PHONE_NUMBER>3047010 in partition 0 (org.apache.hudi.connect.transaction.ConnectTransactionParticipant:238)
Environment Description

Hudi version : 0.13.1

Spark version : 3.2

Hive version : N/A

Hadoop version : N/A

Storage (HDFS/S3/GCS..) : Local Storage /tmp

Running on Docker? (yes/no) : No

cc @ad1happy2go for the clarification ~

@seethb Full Details on this similar issue - https://github.com/apache/hudi/issues/9143
Go over it and let us know in case you have any doubts. Thanks.

Also @ad1happy2go we are not using PG (Postgres as the source) and the DB is YuagabyteDB however the CDC mechanism between YugabyteDB and PG is slightly different. here we use neither REPLICA IDENTITY FULL nor REPLICA IDENTITY  as our storage engine is different (DocDB). In such cases, we have op flag "d" which I shown above comes up with before and after image values. The challenge here is how dynamically we swap the before_field to after_field or after_field to before_field for both key and partition for diff. operations like "C", "U" and "D".

@seethb Can you ping me on slack. We can connect and call and understand more. Thanks

Hi @ad1happy2go Sure, I am available now and just pinged in slack please could you join. Thanks


Supporting reads

Hello,
I was wondering if it would be possible to add an option to list the supporting reads for each SV? Even if only for the pacbio/ont reads, I think it would be useful to have as an information.
Thank you in advance,
Andrea

Hi,
There are a few metrics in the output that should be sufficient:
SU column in the INFO field is the 'support' for the event, a combination of PE, SR and WR
WR is the read count for number of 'within-read' SVs
SR is the number of split-reads
PE is the number of paired-end discordant reads
Hope that helps

Hi @kcleal thank you for your reply. Unfortunately, I actually need something in the line of the RNAMES field generated by callers such as Sniffles and/or cuteSV. I would understand a "no, we won't implement it" if too much a bother :)

I see, sorry I misunderstood, I can see how this would be useful. I think this could be incorporated as an option in a future release. Would you prefer the RNAME's to be dumped into the output vcf, or perhaps to a seperate csv file in the temporary directory?

That would be great thanks! I think in the VCF would probably be more convenient to access, though I guess it can inflate the size. Both ways I think it would be fine, as long as the two can be unequivocally merged in a second moment.
Thanks again!

From: Kez Cleal @.>
Sent: Thursday, December 30, 2021 12:42:39 PM
To: kcleal/dysgu @.>
Cc: RenzoTale88 @.>; Author @.>
Subject: Re: [kcleal/dysgu] Supporting reads (Issue #18)
I see, sorry I misunderstood, I can see how this would be useful. I think this could be incorporated as an option in a future release. Would you prefer the RNAME's to be dumped into the output vcf, or perhaps to a seperate csv file in the temporary directory?
—
Reply to this email directly, view it on GitHubhttps://github.com/kcleal/dysgu/issues/18#issuecomment-1003012931, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AFRTPKB6LJRFIARPLWFSIB3UTRHT7ANCNFSM5K36ZJAA.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID: @.***>

Hi,
I've had a think about this feature and ran some quick tests, and I think it will be more difficult to implement efficiently than I first thought. The main problem is that paired-end reads end up consuming huge amounts of memory due to having to store all the query names of the reads. In the initial stages of analysis this can be quite problematic. I think I will put on hold trying to implement this for now.

I think this option is very handy, just wondering if that can easily done for LR


InvalidArgumentError: indices[0] = 0 is not in [0, 0)

I'm currently trying to get familiar with Snorkel, so I ran the tutorial notebooks. During training in the fifh, I get an error as listed below.
disc_model.train(F_train, train_marginals, n_epochs=20, lr=0.001)
# same happens with
searcher.fit(F_dev, L_gold_dev, n_epochs=50, rebalance=0.5, print_freq=25)

Before someone asks: yes, I also tried it with python2.7, same error.
Unfortunately I couldn't figure out where that comes from exactly or pinpoint it to a particular commit. However, it appears to me to be caused upstream.
Let me know if you need further details or what I can do to help fix that.
[SparseLR] lr=0.001 l1=0.0 l2=0.0
[SparseLR] Building model
[SparseLR] Training model
[SparseLR] #examples=3710  #epochs=20  batch size=100
---------------------------------------------------------------------------
InvalidArgumentError                      Traceback (most recent call last)
~/workspace/snorkel/senv/lib/python3.6/site-packages/tensorflow/python/client/session.py in _do_call(self, fn, *args)
   1138     try:
-> 1139       return fn(*args)
   1140     except errors.OpError as e:

~/workspace/snorkel/senv/lib/python3.6/site-packages/tensorflow/python/client/session.py in _run_fn(session, feed_dict, fetch_list, target_list, options, run_metadata)
   1120                                  feed_dict, fetch_list, target_list,
-> 1121                                  status, run_metadata)
   1122

/usr/lib64/python3.6/contextlib.py in __exit__(self, type, value, traceback)
     88             try:
---> 89                 next(self.gen)
     90             except StopIteration:

~/workspace/snorkel/senv/lib/python3.6/site-packages/tensorflow/python/framework/errors_impl.py in raise_exception_on_not_ok_status()
    465           compat.as_text(pywrap_tensorflow.TF_Message(status)),
--> 466           pywrap_tensorflow.TF_GetCode(status))
    467   finally:

InvalidArgumentError: indices[0] = 0 is not in [0, 0)
	 [[Node: embedding_lookup_sparse/embedding_lookup = Gather[Tindices=DT_INT64, Tparams=DT_FLOAT, _class=["loc:@Variable"], validate_indices=true, _device="/job:localhost/replica:0/task:0/cpu:0"](Variable/read, _arg_Placeholder_2_0_2)]]

During handling of the above exception, another exception occurred:

InvalidArgumentError                      Traceback (most recent call last)
<ipython-input-4-634e2f438b6b> in <module>()
----> 1 disc_model.train(F_train, train_marginals, n_epochs=20, lr=0.001)

~/workspace/snorkel/snorkel/learning/logistic_regression.py in train(self, X, training_marginals, n_epochs, lr, batch_size, l1_penalty, l2_penalty, print_freq, rebalance, seed)
    162             for i in range(0, n, batch_size):
    163                 r = min(n-1, i+batch_size)
--> 164                 loss, _, nnz = self._run_batch(X_train, y_train, i, r, nnz)
    165                 epoch_loss += loss
    166             # Print training stats

~/workspace/snorkel/snorkel/learning/logistic_regression.py in _run_batch(self, X_train, y_train, i, r, last_nnz)
    326             self.ids:     ids,
    327             self.weights: weights,
--> 328             self.Y:       y_batch,
    329         })
    330

~/workspace/snorkel/senv/lib/python3.6/site-packages/tensorflow/python/client/session.py in run(self, fetches, feed_dict, options, run_metadata)
    787     try:
    788       result = self._run(None, fetches, feed_dict, options_ptr,
--> 789                          run_metadata_ptr)
    790       if run_metadata:
    791         proto_data = tf_session.TF_GetBuffer(run_metadata_ptr)

~/workspace/snorkel/senv/lib/python3.6/site-packages/tensorflow/python/client/session.py in _run(self, handle, fetches, feed_dict, options, run_metadata)
    995     if final_fetches or final_targets:
    996       results = self._do_run(handle, final_targets, final_fetches,
--> 997                              feed_dict_string, options, run_metadata)
    998     else:
    999       results = []

~/workspace/snorkel/senv/lib/python3.6/site-packages/tensorflow/python/client/session.py in _do_run(self, handle, target_list, fetch_list, feed_dict, options, run_metadata)
   1130     if handle is None:
   1131       return self._do_call(_run_fn, self._session, feed_dict, fetch_list,
-> 1132                            target_list, options, run_metadata)
   1133     else:
   1134       return self._do_call(_prun_fn, self._session, handle, feed_dict,

~/workspace/snorkel/senv/lib/python3.6/site-packages/tensorflow/python/client/session.py in _do_call(self, fn, *args)
   1150         except KeyError:
   1151           pass
-> 1152       raise type(e)(node_def, op, message)
   1153
   1154   def _extend_graph(self):

InvalidArgumentError: indices[0] = 0 is not in [0, 0)
	 [[Node: embedding_lookup_sparse/embedding_lookup = Gather[Tindices=DT_INT64, Tparams=DT_FLOAT, _class=["loc:@Variable"], validate_indices=true, _device="/job:localhost/replica:0/task:0/cpu:0"](Variable/read, _arg_Placeholder_2_0_2)]]

Caused by op 'embedding_lookup_sparse/embedding_lookup', defined at:
  File "/usr/lib64/python3.6/runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "/usr/lib64/python3.6/runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "/home/username/workspace/snorkel/senv/lib/python3.6/site-packages/ipykernel_launcher.py", line 16, in <module>
    app.launch_new_instance()
  File "/home/username/workspace/snorkel/senv/lib/python3.6/site-packages/traitlets/config/application.py", line 658, in launch_instance
    app.start()
  File "/home/username/workspace/snorkel/senv/lib/python3.6/site-packages/ipykernel/kernelapp.py", line 477, in start
    ioloop.IOLoop.instance().start()
  File "/home/username/workspace/snorkel/senv/lib/python3.6/site-packages/zmq/eventloop/ioloop.py", line 177, in start
    super(ZMQIOLoop, self).start()
  File "/home/username/workspace/snorkel/senv/lib/python3.6/site-packages/tornado/ioloop.py", line 888, in start
    handler_func(fd_obj, events)
  File "/home/username/workspace/snorkel/senv/lib/python3.6/site-packages/tornado/stack_context.py", line 277, in null_wrapper
    return fn(*args, **kwargs)
  File "/home/username/workspace/snorkel/senv/lib/python3.6/site-packages/zmq/eventloop/zmqstream.py", line 440, in _handle_events
    self._handle_recv()
  File "/home/username/workspace/snorkel/senv/lib/python3.6/site-packages/zmq/eventloop/zmqstream.py", line 472, in _handle_recv
    self._run_callback(callback, msg)
  File "/home/username/workspace/snorkel/senv/lib/python3.6/site-packages/zmq/eventloop/zmqstream.py", line 414, in _run_callback
    callback(*args, **kwargs)
  File "/home/username/workspace/snorkel/senv/lib/python3.6/site-packages/tornado/stack_context.py", line 277, in null_wrapper
    return fn(*args, **kwargs)
  File "/home/username/workspace/snorkel/senv/lib/python3.6/site-packages/ipykernel/kernelbase.py", line 283, in dispatcher
    return self.dispatch_shell(stream, msg)
  File "/home/username/workspace/snorkel/senv/lib/python3.6/site-packages/ipykernel/kernelbase.py", line 235, in dispatch_shell
    handler(stream, idents, msg)
  File "/home/username/workspace/snorkel/senv/lib/python3.6/site-packages/ipykernel/kernelbase.py", line 399, in execute_request
    user_expressions, allow_stdin)
  File "/home/username/workspace/snorkel/senv/lib/python3.6/site-packages/ipykernel/ipkernel.py", line 196, in do_execute
    res = shell.run_cell(code, store_history=store_history, silent=silent)
  File "/home/username/workspace/snorkel/senv/lib/python3.6/site-packages/ipykernel/zmqshell.py", line 533, in run_cell
    return super(ZMQInteractiveShell, self).run_cell(*args, **kwargs)
  File "/home/username/workspace/snorkel/senv/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2698, in run_cell
    interactivity=interactivity, compiler=compiler, result=result)
  File "/home/username/workspace/snorkel/senv/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2808, in run_ast_nodes
    if self.run_code(code, result):
  File "/home/username/workspace/snorkel/senv/lib/python3.6/site-packages/IPython/core/interactiveshell.py", line 2862, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-4-634e2f438b6b>", line 1, in <module>
    disc_model.train(F_train, train_marginals, n_epochs=20, lr=0.001)
  File "/home/username/workspace/snorkel/snorkel/learning/logistic_regression.py", line 138, in train
    self._build()
  File "/home/username/workspace/snorkel/snorkel/learning/logistic_regression.py", line 256, in _build
    self._build_sigmoid(sparse_ids, sparse_vals)
  File "/home/username/workspace/snorkel/snorkel/learning/logistic_regression.py", line 214, in _build_sigmoid
    sp_weights=sparse_vals, combiner='sum')
  File "/home/username/workspace/snorkel/senv/lib/python3.6/site-packages/tensorflow/python/ops/embedding_ops.py", line 323, in embedding_lookup_sparse
    params, ids, partition_strategy=partition_strategy, max_norm=max_norm)
  File "/home/username/workspace/snorkel/senv/lib/python3.6/site-packages/tensorflow/python/ops/embedding_ops.py", line 122, in embedding_lookup
    return maybe_normalize(_do_gather(params[0], ids, name=name))
  File "/home/username/workspace/snorkel/senv/lib/python3.6/site-packages/tensorflow/python/ops/embedding_ops.py", line 42, in _do_gather
    return array_ops.gather(params, ids, name=name)
  File "/home/username/workspace/snorkel/senv/lib/python3.6/site-packages/tensorflow/python/ops/gen_array_ops.py", line 1179, in gather
    validate_indices=validate_indices, name=name)
  File "/home/username/workspace/snorkel/senv/lib/python3.6/site-packages/tensorflow/python/framework/op_def_library.py", line 767, in apply_op
    op_def=op_def)
  File "/home/username/workspace/snorkel/senv/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 2506, in create_op
    original_op=self._default_original_op, op_def=op_def)
  File "/home/username/workspace/snorkel/senv/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 1269, in __init__
    self._traceback = _extract_stack()

InvalidArgumentError (see above for traceback): indices[0] = 0 is not in [0, 0)
	 [[Node: embedding_lookup_sparse/embedding_lookup = Gather[Tindices=DT_INT64, Tparams=DT_FLOAT, _class=["loc:@Variable"], validate_indices=true, _device="/job:localhost/replica:0/task:0/cpu:0"](Variable/read, _arg_Placeholder_2_0_2)]]

Update: I think this comes down to an issue in treedlib, since compile_relation_feature_generator doesn't produce items

Hi @TimRepke ,
Thanks for the detailed post and for calling attention to this!  I haven't seen this before, and I agree that the error is a bit lacking in any specificity...
It does however seem like an error that would occur with null data passed in; i.e. I think the error is that tensorflow is checking the sparse indices against an empty data array?  Could you double check that both of your feature matrices (F_train and F_dev) are fully populated?  Another minor thing would be to change print_freq to a lower value (in either or both calls) so that we can see if this is happening during training, or during dev set eval?
Also, potentially worth noting that we're about to pull in a refactor of the tensorflow bindings ( #681 ) so there's a small chance that could help here, or at least we'd love to integrate any fixes required here into that PR.  So let us know re: the above sanity check questions to start
Thanks,
Alex

Hi @ajratner ,
yes, in fact F_train and F_dev are empty (<228x0 sparse matrix of type '<class 'numpy.int64'>' with 0 stored elements in Compressed Sparse Row format>), I guess that wasn't clear from my previous comment. That's where I started going up and down the chain of called functions.
As far as I understand it, the FeatureAnnotator is supposed to apply feature functions to the candidates
featurizer = FeatureAnnotator()
F_train = featurizer.apply(split=1)

but apparently (skipping a few calls), the anno_generator doesn't yield any items. Again, skipping a few things, I ended up in the get_binary_span_feats function, where things are handed over to treedlib, where finally nodes (candidates?) are filtered out.
I'm not familiar enough with the codebase to put my finger on the issue, but that's where the data stream ends and nothing is returned, so I think it might be the problem.

Found the issue!!!
Here min() is called on a generator and therefore iterating over it, leaving an empty iterator.
I fixed that and will open a PR soon with other small fixed I came across.

Hi @TimRepke great sleuthing!  I am still confused as to why this error happens for you with Python 2.7, as it doesn't for us; but either way great catch, seems worth fixing, and thanks for the PR!!

Any idea what that second data array is that TensorFlow is comparing against?
I'm getting a similar error while running _, _, _, _ = disc_model.score(session, F_test, L_gold_test) and test_predict = disc_model.predict(F_test). The difference is that it's not empty:
InvalidArgumentError: indices[30] = 28784 is not in [0, 20993)
The trace includes this TensorFlow call.

Hi @gabcbrown,
The second data array here is a parameters matrix.  Usually, this error would be indicative of the train and test sets having different feature spaces--specifically here, that the model was trained with a dataset having 20,993 features, and then the test set has additional features (extending to at least 28,784) which the model doesn't know anything about. (Ideally, a lookup like this should just return a parameter of zero... this is annoying nit w/ TF here...)
Either way, did you create F_test using apply_existing?
Let us know, and either way can try to have better error message here at very least (in the short run)!

Closing for now- hopefully v0.6 helps as well!  If still an issue please re-open!


Improve coverage

Improves coverage and improves local build processes (sqlite & orientdb)
Notes
All changes in main codebase are commented in PR review
Checklist

[x] complete core module
[x] post refactor (improve some local build issues)
[x] Unit test all changes
[x] Update README.md if applicable
[x]Add [WIP] to the pull request title if it's work in progress
[x] Squash commits that aren't meaningful changes
[x] Run sbt scalariformFormat test:scalariformFormat to make sure that the source files are formatted

@getquill/maintainers

@getquill/maintainers I finally finished it! It's not 100% but still reasonable numbers!

this is so amazing!!


Qa

Merged test to master

test

What's the purpose of these changes, and why do you want them to be merged?

Sorry my bad. I will close this one


Issue While Scrolling

Hi,
There seems to be an issue with drop down. When the drop down is opened and i try to scroll down the list using mouse scroller, its behaving abruptly. Sometimes it takes me directly to the bottom of the list and if i am at bottom of the list and tries to go up the list (using mouse scroller) its taking me back to the bottom again and again.
I have verified this issue in the plunkr linked also - https://plnkr.co/edit/99qoqLYUlFVsaIHUbbT8?p=preview
I have seen this issue on un-minified and minified code both. And in both firefox and chrome.
So for reproducing this, click on the input box so that drop down is opened and use the mouse scroller to select any timezone which is somewhere in middle of the drop down. Or go to the bottom of the list and try  to select the timezone in middle of list using mouse scroller.

Commenting to follow. Also having this issue.


Add startup\shutdown events?

We already have startup and shutdown events in abstract classes. But we have to add this in worker. Also we need to add signal handling for worker so we call shutdown event when kill signal is received.

This issue is reslved in 7825e8a2ef80693c22e6cbedf70f490f541004f1.


Fix memory-card version upgrade break wechaty-puppet

error TS2345: Argument of type 'import("/Users/yuangao/git/wechaty/wechaty/node_modules/memory-card/dist/src/memory-card").MemoryCard' is not assignable to parameter of type 'import("/Users/yuangao/git/wechaty/wechaty-puppet/node_modules/memory-card/dist/src/memory-card").MemoryCard'.
  Property 'name' is missing in type 'MemoryCard'.

572     puppetInstance.setMemory(puppetMemory)

Awesome! Will definitely create an issue next time :)

Hi @zixia , can you help me bump up the version or publish the 0.11.4 to npm? Seems like the new version from PR is not getting published.

It seems it had been published?
Please let me know by opening a new issue if you have other questions.

Yes, it had been published, apologize that I didn't check the build. The build failed so the new version got blocked.
Now everything is okay.

Ok, great.


Add to Buffers to DataSlots

Description
Add to/from buffer methods to the dataslots to allow for more efficient networking by not using NBT.
Fixes issue(s): # (issue)
Todo

[x] Add to/from buffer methods
[x] Replace custom packet with buffers instead of NBT
[ ] Check multiplayer (Initial seems fine, but a need a second opinion)

Checklist:

[ ] My code follows the style guidelines of this project (.editorconfig, most IDEs will use this for you)
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation

oh, and remove the unused import in S2CDataSlotUpdate


Fix broken link to 'reading time' example

What kind of changes does this PR include?

Minor content fixes (broken links, typos, etc.)

Description

What does this PR change? Give us a brief description.

Fix broken link to 'reading time' example that is now a reciple
Maybe this commented text should be a :::note outside the code snippet rewriten so the instructions are clear (as pointed by @sarah11918 )

Nice job spotting the link! Looking at this now, I totally agree @Alynva - Let's keep that code snippet short and sweet, and let's use our Recipe component to link to the Reading time recipe!

Nice job spotting the link! Looking at this now, I totally agree @Alynva - Let's keep that code snippet short and sweet, and let's use our Recipe component to link to the Reading time recipe!

Should I open a different PR or just commit it in here?

@Alynva Depends, how many PR credits do you want??  :wink:
Either is fine! You decide, and let us know!

@sarah11918 just commited here, let me know if its everything right 😃

@Alynva Looks great! Let's ship it!  :ship:


Open Command Prompt Here --> Developer Cmd Prompt

If I'm inside Visual Studio and I ask it to open a command prompt it should open and properly configure a Developer Command Prompt appropriate for the version of Visual Studio being used.

Hi @SlurpTheo, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, MSBOT;

Thanks for the PR! Just so we understand your scenario better... any reason you prefer the developer command prompt with Node.js projects?

@mousetraps I think the last PATH, environment variable setup I missed when attempting Open Command Prompt from Visual Studio was missing having tsc.exe available at the launched-in-the-right-location command prompt.

Gotcha, thanks. I don't think we're going to pull this one in - I just took a look at VsDevCmd.bat, and a few observations:

it adds a lot of unnecessary weight/complexity for most scenarios
it doesn't get updated if new versions of TS are installed, which means that tsc won't resolve to the proper location anyways
if you've installed typescript globally, it will override %PATH% with the version installed with Visual Studio, which creates potentially confusing inconsistencies between the default command prompt behavior and VS behavior.

That said, I do recommend taking a look at the Open Command Line extension, which should enable you to customize the experience a little more than currently possible with NTVS.
https://visualstudiogallery.msdn.microsoft.com/4e84e2cf-2d6b-472a-b1e2-b84932511379


typo in ./src/Climate.cpp:172:precpitation [precipitation]

please merge this very important fix

it closes #558


Waiting Matcher

This pull request contains a matcher implementing a wait pattern as introduced in Haste makes waste. The matcher will wait for the matched object to reach a certain state within a given timeout.
As standard matchers won't check a mutable aspect of the matched object this PR contains in addition a matcher which retrieves an aspect of the matched object and hands it over to some standard Hamcrest matcher.
Thus a typical usage looks like this:
ComponentUnderTest cut = ...;
State expectedState = ...;
Function<ComponentUnderTest,State> stateFunction = new Function<>() { ... };
assertThat(componentUnderTest,
           waitFor(applying(stateFunction, equalTo(expectedState)), 2, SECONDS));

In Java 8 this one will look even better - and would not require the preliminary function interface which comes with the ApplyingMatcher contained in this PR.
We use the given pattern since 2012 now with great success especially in UI tests where it takes some time until a wanted state is reached.
The wait-algorithm is decelerating regarding polls to the component under test. This is a learning when we first tried to poll very frequently that the component under test was busy answering the polls instead of trying to reach the wanted state (in this case we were polling Solr for having indexed a given document).

This is useful functionality but this implementation goes against the convention that matching is a pure function.
There are other Hamcrest extension libraries that perform polling & synchronisation in different ways (e.g. see http://github.com/sf105/proboscis).
Therefore I think this should be published as a third-party library that extends Hamcrest and not be part of the core.
When you publish this as a library, let us know the URL and we'll add it to the page of Hamcrest Extensions.

Thanks. The matcher is meanwhile available as Hamcrest — Next Deed library (already available at Maven Central). Hope you like the name and can guess what it means :smile:

Heh. Extended. Good one!
--Nat
On Saturday, 4 July 2015, Mark Michaelis<EMAIL_ADDRESS>wrote:

Thanks. The matcher is meanwhile available as Hamcrest — Next Deed
https://github.com/mmichaelis/hamcrest-nextdeed library (already
available at Maven Central). Hope you like the name and can guess what it
means [image: :smile:]
—
Reply to this email directly or view it on GitHub
https://github.com/hamcrest/JavaHamcrest/pull/109#issuecomment-118545310
.


Add link to new notes and cleanup formatting a bit.

Formatting adjustments to make the notes more readable.

Maybe set max line length of 80 or 100 too?


Update the WildFly image stream

Description
WildFly images are now deployed on quay.io.
What should happen?
Use the new images
What happens instead?
Stays on current image.

Guess this can be closed now? :-)


Write invalid data when cloning to force an abort

Otherwise it seems libgit2 isn't ready to handle premature eof? Unclear...

r? @matklad
(rust_highfive has picked a reviewer for you, use r? to override)

:pushpin: Commit 1428de3 has been approved by alexcrichton

@bors: r+

:hourglass: Testing commit 1428de3a608918248a700d2bcc1b23af90b585a6 with merge 65b6929c639a9cfc81349fda0caf161e83e5a32f...

@bors: r+

:pushpin: Commit a1e442e has been approved by alexcrichton

:hourglass: Testing commit a1e442e06f3119466d5d0daaca3b16aa00825bb9 with merge e08f310188cc0d101550c21b3d88877cfba7e5e1...

:sunny: Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing e08f310188cc0d101550c21b3d88877cfba7e5e1 to master...


When will the lvgl component be added to ESP-IDF git? (IDFGH-10394)

Is your feature request related to a problem?
It is inconvenient to patch each time.
When will the lvgl component be added to ESP-IDF git?
Describe the solution you'd like.
Please add the lvgl component to ESP-IDF git.
Describe alternatives you've considered.
No response
Additional context.
No response

We won't add LVGL into esp-idf repo, but LVGL has been in our component registry for a long time: https://components.espressif.com/components/lvgl/lvgl
For how to use it, please refer to esp-idf examples, there're many. e.g. https://github.com/espressif/esp-idf/blob/master/examples/peripherals/lcd/spi_lcd_touch/main/idf_component.yml#L3
Before that, you may want to read the document about how to use the Espressif component manager: https://docs.espressif.com/projects/idf-component-manager/en/latest/reference/manifest_file.html

thank yout about your help.
I need to do the patch below after cloning the esp-idf git.
$ git clone https://github.com/espressif/esp-dev-kits
$ cd esp-dev-kits
$ git submodule update --init --recursive
$ cd esp-idf
$ git apply --whitespace=fix ../esp-dev-kits/esp32-s3-lcd-ev-board/factory/patch/release5.0_psram_octal_120m.patch
$ git status      # Check whether the operation is successful, the output should look like below:
Perhaps if I do the example below, lvgl is automatically received?
https://github.com/espressif/esp-idf/blob/master/examples/peripherals/lcd/spi_lcd_touch/main/idf_component.yml#L3

The patch you posted actually is not for the LVGL library, but for the PSRAM support. A 120M DDR psram feature is not available on esp-idf v5.0. To make it work, user has to applied the patch.
Since esp-idf 5.1, the patch is not necessary, because we're adding it as an experimental feature in the esp-idf. See https://github.com/espressif/esp-idf/commit/739b3f03fbada583fe6a07ca771754505ef5b3fd
Also the doc here: https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/api-guides/flash_psram_config.html#all-supported-modes-and-speeds

I used esp-idf v5.1

An error occurred as below.
ort.dir/port/esp32s3/mspi_timing_config.c.obj -c /mnt/sda5/espressif/esp-idf_v5.1/components/esp_hw_support/port/esp32s3/mspi_timing_config.c
In file included from /mnt/sda5/espressif/esp-idf_v5.1/components/newlib/platform_include/assert.h:16,
from /home/sangjina/.espressif/tools/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/xtensa-esp32s3-elf/sys-include/sys/reent.h:503,
from /mnt/sda5/espressif/esp-idf_v5.1/components/newlib/platform_include/sys/reent.h:9,
from /home/sangjina/.espressif/tools/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/xtensa-esp32s3-elf/sys-include/string.h:11,
from /mnt/sda5/espressif/esp-idf_v5.1/components/esp_hw_support/port/esp32s3/mspi_timing_config.c:9:
/mnt/sda5/espressif/esp-idf_v5.1/components/esp_common/include/esp_assert.h:12:27: error: static assertion failed: "FLASH and PSRAM Mode configuration are not supported"
12 | #define ESP_STATIC_ASSERT static_assert
|                           ^~~~~~~~~~~~~
/mnt/sda5/espressif/esp-idf_v5.1/components/esp_hw_support/port/esp32s3/./mspi_timing_tuning_configs.h:172:1: note: in expansion of macro 'ESP_STATIC_ASSERT'
172 | ESP_STATIC_ASSERT(CHECK_POWER_OF_2(MSPI_TIMING_CORE_CLOCK_MHZ / MSPI_TIMING_PSRAM_MODULE_CLOCK), "FLASH and PSRAM Mode configuration are not supported");
| ^~~~~~~~~~~~~~~~~
[331/1222] Building C object esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/mspi_timing_tuning.c.objFAILED: esp-idf/esp_hw_support/CMakeFiles/__idf_esp_hw_support.dir/mspi_timing_tuning.c.obj

@strawberry3papa
The following Kconfig combination work for me:
CONFIG_IDF_TARGET="esp32s3"
CONFIG_ESPTOOLPY_FLASHFREQ_120M=y
CONFIG_SPIRAM=y
CONFIG_SPIRAM_MODE_OCT=y
CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y
CONFIG_SPIRAM_RODATA=y
CONFIG_SPIRAM_SPEED_120M=y
CONFIG_LV_MEM_CUSTOM=y
CONFIG_LV_MEMCPY_MEMSET_STD=y
CONFIG_LV_USE_PERF_MONITOR=y
CONFIG_IDF_EXPERIMENTAL_FEATURES=y

Thanks for reporting, feel free to reopen.


GSAGH-15 unit testing

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@2aeb3b4). Click here to learn what that means.
The diff coverage is n/a.

@@          Coverage Diff           @@
##             main    #174   +/-   ##
======================================
  Coverage        ?   6.03%
======================================
  Files           ?     201
  Lines           ?   28928
  Branches        ?       0
======================================
  Hits            ?    1746
  Misses          ?   27182
  Partials        ?       0

Flag
Coverage Δ

gsagh
6.03% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Proposal: Japanese Translation of the Documentation

Refer to #2150
In an effort to expand Hexo's presence in Japan, I propose adding Japanese documentation to the Hexo official website.
Translating the current documentation is expected to be easy. However, consideration must be given to the ongoing maintenance required with the addition of a new language.
Should the original English documentation receive updates, I am willing to contribute to the Japanese version's updates as much as possible. However, my availability may vary.
With this in mind, I would appreciate feedback on my initiative from the maintainers. If acceptable, I am eager to continue with the translation work, as detailed in the draft pull request linked to this issue.

However, consideration must be given to the ongoing maintenance required with the addition of a new language. Should the original English documentation receive updates, I am willing to contribute to the Japanese version's updates as much as possible.

As far as I know, changes to the documentation over the past few years have mostly been limited to feature additions when new versions are released. In addition we are currently considering migrating to Crowdin, so I think it will make it easier to check the differences between English and other languages.

However, my availability may vary.

All contributors and maintainers also. It is not necessary to worry.
One thing I'm wondering about is whether we'll need to merge PR #2150 before migrate to Crowdin (In other words, whether we can migrate only Japanese docs to Crowdin later additionaly). But I think we can figure it out somehow.
Anyway I'll review #2150 in this weekend or next weekend.
Thank you :)


I2C communication failure

I'm running macOS 12.4 on an M1 Mini with a Dell P3222QE.  I get
I2C communication failure: (iokit/?) unknown subsystem error
in response to every m1ddc command.
This is a bit beyond my pay grade - should I assume the problem is with the display?

I have the same problem on my M1 macbook pro with AOC Q27G2G4. I also run it on macOS 12.4. The error itself is way beyond my understanding, so I'm just leaving a note that it's not only your display that fails :)

Yeah, some displays just won't support DDC. It is either the HDMI port of the Mac (which has issues with DDC) or the display. I have a Lenovo Creator Extreme, it does not support DDC over the USB-C connection (even though it uses DisplayPort alt-mode) but supports it over DisplayPort for example. It is totally display firmware specific.

Thanks for the quick response, I will try with the display port

I have a Dell U4320Q and it works fine via USB-C DP Alt port, but won't work via DP on a Thunderbolt dock. I guess it has something to do with whether the middle layers (docks, USB hub controllers) support DDC/CI or not.

yes, it depends on how the dock handles i2c communication for ddc. Some docks/dongles are just not handling it right or doing it only for EDID data (which is required so the display works at all).

I2C communication failure: (iokit/?) unknown subsystem error

@waydabber When I use https://github.com/waydabber/BetterDisplay#readme It works perfectly but when I use this cli, it doesn't. Says same error in my mac m1. I just need a basic HDMI to DP switch command.

Hi, can you try the latest BetterDisplay version (that supports ddc input switch - does that work)?

Resolution, refresh rate, colors (if you are talking about adjustments) and brightnes (by default for the 0-50% part) does not require DDC. Question is if does DDC brightness (normally 50-100% which controls the hardware backlight), DDC contrast, DDC color control, DDC display input switching etc. work with BD. If not, then the problem is the same as with m1ddc.

@waydabber yea, you're right. Now I checked the settings under the DDC video adjustment tab, all doesn't work.

What connection are you using?

@waydabber Display Port (LS28AG700N)

Well, that should work. :) It might be that the display has some issues or does not support DDC on all ports. I have no experience with the G7.

Seeing this error to and in my case this happens with all monitors I have tried and I can verify that the same monitors through the same dongle / dock works on my Linux or Windows laptop.
Is there a way we can get more info into the error atleast, the current error is really vague.

I am also seeing the error on an Intel MacBook, again, another Windows laptop on the same exact config works normally.

Maybe unrelated but in my Intel MacBook, the MonitorControl app started working after the recent update

Just a note for other people facing this issue: Seems to work great with Caldigit TB3 dock, but my Anker 777 doesn't pass through the i2c sadly.


Root .env variables aren't available to prisma in monorepo

Bug description
We have a monorepo using turbo repo with the following structure:

The prisma package is being used in multiple applications, currently we're trying to use a single .env to avoid confusion. Moving the DATABASE_URL url from packages/prisma/.env to the root .env errors when trying to run any yarn prisma script.
We also tried to use a solution like cmd-env:

But no luck so far.

How to reproduce

Have a monorepo with and .env file at the root
Have something like packages/prisma in a monorepo package
Set DATABASE_URL in the root .env file.
Try to run any yarn prisma command.

Expected behavior
Being able to use the monorepo DATABASE_URL without having to set it up in packages/prisma/.env.
Prisma information

https://github.com/calcom/cal.com/blob/main/packages/prisma/schema.prisma
Environment & setup

OS: Mac OS 12
Database: PostgreSQL
Node.js version: v14.17.6

Prisma Version

prisma                  : 3.10.0
@prisma/client          : 3.10.0
Current platform        : darwin
Query Engine (Node-API) : libquery-engine 73e60b76d394f8d37d8ebd1f8918c79029f0db86 (at<EMAIL_ADDRESS>Migration Engine        : migration-engine-cli 73e60b76d394f8d37d8ebd1f8918c79029f0db86 (at node_modules/@prisma/engines/migration-engine-darwin)
Introspection Engine    : introspection-core 73e60b76d394f8d37d8ebd1f8918c79029f0db86 (at node_modules/@prisma/engines/introspection-engine-darwin)
Format Binary           : prisma-fmt 73e60b76d394f8d37d8ebd1f8918c79029f0db86 (at node_modules/@prisma/engines/prisma-fmt-darwin)
Default Engines Hash    : 73e60b76d394f8d37d8ebd1f8918c79029f0db86
Studio                  : 0.458.0

I can reproduce your original issue but npm + env-cmd seem to work for me, with either:

Directly running npm exec --workspace @mypkg/prisma -- env-cmd -f ../../.env prisma db push
Or, a package.json script (in the prisma pkg) e.g. "face": "env-cmd -f ../../.env prisma db push" and then running npm run --workspace @mypkg/prisma face from the root

This is gross though, either way. Would be nice to be able to configure prisma and tell it where to find the .env file, since the current options don't work great for a monorepo, as you said.

FWIW dotenv-cli also worked for me. My package.json script is:
"generate": "dotenv -e ../../.env -- prisma generate && prisma format",

And then:
npm run --workspace @mypkg/prisma-client db:seed:dev

Why can't this work out of the box?
Also the docs are kinda misleading:

The Prisma CLI looks for .env files, in order, in the following locations:
In the root folder of your project (./.env)

In a monorepo, the root of the project is the monorepo root. It makes sense to traverse up until the root of the monorepo.

Related example: https://github.com/vercel/turborepo/tree/main/examples/with-prisma

Related example: https://github.com/vercel/turborepo/tree/main/examples/with-prisma

Awesome @leerob although I see you're using symlinks to fix the ".env not it prisma root" problem. The thing is we only use this locally since we don't actually deploy .env files to prod. Wouldn't this approach break in prod in this case?

This would also help with #1255 and #9726

Any update on this guys?

up, having the same issue

I think I'm having the same issue.

Not being rude, but it's really tough when we can't achieve this in monorepo, moved to drizzle, it seems to be fine


fix: remove unused arguments

These are split from #8226, and arise from the fact the latest Lean is better at detecting these due to better abstraction.
I can't comment on whether any of these should be concerning, but putting them in a small commit makes it easier for someone to find and review them later.

These are cherry-picked so will produce no merge conflicts.

Seem reasonable to me!
bors d+

bors merge

bors merge
I expect this to pass linting, since it's cherry-picked from something that did

bors merge


[MRESOLVER-627] Improve transport selection and logging

In previous releases transport selection was really secretive and broken, as it considered invalid configuration as "protocol not supported" and Resolver did not log anything or worse, silently skipped to new transport.
Changes:

transport provider: was logging ONLY if transport selection failed (no transport was selected), changed to continuously log (in DEBUG) why a transport was ignored and next selection performed. Also, in case of total failure, exceptions are added now as suppressed ones instead just lost.
multiple transporter factories: smaller fixes for earlier protocol detection (file is exception to support cases like JIMFS), and when client creation is attempted but it fails due runtime exception, fail the whole process (like bad enum in JDK transport config).
before all transporter "blanket" threw NoTransporterEx and Basic connector was "protecting" caller from it, hence to continue doing so, no basic connector "blankets" all runtime and non-runtime exceptions coming from transport to "early report" problem as it happens in basic connector ctor.

https://issues.apache.org/jira/browse/MRESOLVER-627

I don't have an opinion on this.

Sure, no problem. But let me explain what was initial cause for this PR:
We knew that JDK transport cannot handle HTTP/2 GOAWAY, and recently we saw a surge in ITs and other jobs getting it, so we decided to force HTTP/1.1 while keeping JDK transport in use. I did that by creating .mvn/maven.config in maven and mvnd projects... then I went to check "effects" using -X locally and was very surprised to see that Maven started using Apache transporter instead.
Basically, turned out my config had wrong value (a typo), and even -X did not report this, instead all I saw in debug logs is that Maven uses Apache transport.... turned out, this typo was interpreted as "not my protocol" by JDK transport, and it made Maven select next available HTTP Transporter that was Apache. Very confusing.
Hence, this PR now:

logs every transport "disqualification" (in DEBUG) instead only when no transport could be selected
fails the build if any transport is mis-configured


WMS ID: 11315 Perform Access Reviews with Oracle Access Governance using OIG integration

Add here your WMS ID
General requirements

Information in the workshop is adequate and updated
Code is correct and working
Links are correct
Make sure you enter the help email link in your manifest.json
Please make sure WMS URLs are updated as needed after your PR is approved

Checklist - Refer to the QA document for the complete list
Please confirm that the following is completed before submitting your PR

[ ] All filenames are lower case (including folders, images, files, etc.)
[ ] Filenames are descriptive
[ ] Your workshop folder structure should be similar to the one used in the sample workshop (https://github.com/oracle-livelabs/common/tree/main/sample-livelabs-templates/sample-workshop)
[ ] Are you using multiple versions (desktop/, sandbox/, tenancy/)? Make sure that each of them contains a manifest.json and an index.html
[ ] Image references in markdown contain an alternate text

Update [accessgovernancee2e] folder

Update [accessgovernance-oci-iam] folder

Hi @ibalasun,
Please solve your conflicts


cw_serde dosn't support #[serde(rename = )]

Can you provide a full example to better illustrate the problem? Then we can use that to write a test and fix it quickly.


Patch busybox vulnerabilities

https://alpinelinux.org/posts/Alpine-3.14.3-released.html

An alternative to applying this PR is to rebuild the images, alpine:3.14 is refering to the same image as alpine:3.14.3
Both processes require human interaction. I am wondering if it woudn't be better to use a fixed version here and have a PR / sth like depndabot updating the image.

If you look at https://hub.docker.com/_/eclipse-temurin?tab=tags&page=1&name=17-jdk-alpine, you can see that eclipse-temurin:17-jdk-alpine was pushed around the exact same timeframe as the last push on the Alpine base image -- official images are all automatically rebuilt any time their base is updated.
Another way to see this is to pull the latest image and try to apply updates:
$ docker pull eclipse-temurin:17-jdk-alpine
17-jdk-alpine: Pulling from library/eclipse-temurin
Digest: sha256:32b5c3ab0a254b9fcfdd6fce9ac968c7d1f8b2785cfbd39643eaf1c08774d7aa
Status: Image is up to date for eclipse-temurin:17-jdk-alpine
docker.io/library/eclipse-temurin:17-jdk-alpine
$ docker run -it --rm eclipse-temurin:17-jdk-alpine sh
/ # apk upgrade --update
fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/community/x86_64/APKINDEX.tar.gz
OK: 9 MiB in 17 packages

(You can see there are no package updates available.)

@gdams - I'm a little unsure if this is where we should accept this patch. Thoughts?

As far as I'm aware this change is not needed. As @tianon mentioned the images are rebuilt every time the base image is rebuilt so we should always have the latest Alpine patches in our images. Closing for now


Unable to access Kusto DB from 1ES bot code

We are trying to connect Kusto Database( https://*.kusto.windows.net ) for 1ES BOT code using Tenant ID. In local we are able to access without any issues whereas in production it is failing with authentication issue.

Error:-

Can you please help me on this?

Hi @phaneendra-zen3,
Based on what you're describing, this does not look to be a Bot Framework-related issue. You are most likely hitting network access issues due to firewall permissions or similar which are preventing your compute of choice from communicating with the Kusto cluster.
I would recommend checking internally with folks to determine which ports need to be given access on your compute nodes, as well as determine if any allowances need to be opened up on the Kusto cluster side in order to enable communication.
As there is no evidence that this is a Bot Framework issue, I'll be closing this out. Let me know if there are any concerns.


Adding a community-managed GA code to the website

In the Community Meeting on 23 Feb we asked Google for some access to the Google Analytics so that we can have the data to make better decisions when restructuring docs.
Google told us that corporate policy would make this unfeasible. David Aronchick proposed just adding a 2nd GA code to the website/docs so that there can be a clear separation between a corporate account and one run by the community. There was lazy concensus during the meeting on this.
As far as I can tell there's no policies in the project on how "the community" can manage a google account (bus factor, trust, etc.), so that needs to be solved still, so just opening this up as a placeholder.
cc @RFMVasconcelos

@castrojo do you want to raise a proposal on kubeflow/community with a solution for how to assign access to this new Google analytics account? (I am not sure how GA works with assigning other people as 'viewers')
Currently most ACL is assigned in https://github.com/kubeflow/internal-acls. However, we still need a super-admin account to bootstrap the Google Analytics account, the password for which, will need to be somehow owned by the community.
Obviously this issue will come up again (and more significantly) after the formation of the "Technical Steering Committee"(https://github.com/kubeflow/community/issues/495) as all current super-admin accounts (for things like: GitHub and Google Groups) will need be handed over to the members of that committee.

David Aronchick proposed just adding a 2nd GA code

Wouldn't a 2nd GA code run into the same problem with Google corporate policies?

There was lazy concensus during the meeting on this.

Did anyone from Google actually say a 2nd GA code would be ok?

Did anyone from Google actually say a 2nd GA code would be ok?

There were googlers at the meeting but none that could speak to this, which is why I filed this in github as an item.

One potential path to get this done is:

Create a generic gmail address e.g<EMAIL_ADDRESS>Provide credentials of this account to a few leads in the community
Generate a tracking code from the new GA account
Make a PR that adds this code to the website
Provide view access to community members upon request

I'm happy to proceed if the community feels this is the way to go.

@RFMVasconcelos can you add this issue to the 1.3 project https://github.com/kubeflow/website/projects/2
If you think it makes sense? Having analytics will definitely help us prioritise the docs, which I imagine will get more traffic after 1.3.

Wait, its already there, lol.

Yes, I made this suggestion 10 days ago, and put it on the project, but did not act on it yet. @castrojo was having discussions with Google on this regard I believe. Any news?

Nothing new to report, I don't think we should block 1.3 on this though unless we hear something really soon.

/priority p2

I believe this would still be super valuable for the community!
@Bobgy any chance we can make this happen?

@RFMVasconcelos as discussed above, I think it's on us (maintainers of the website) to set up a new Google Analytics and manage our own auth.


⚠ Bofrost.be has degraded performance

In b79da80, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1065 ms

Resolved: Bofrost.be performance has improved in ad27eaa.


Ability to view when an upgrade is available for a chart

When a chart has a new version, show that an upgrade is available

On 2.5-head - commit id: d87f58a

deploy rancher-cis-benchmark:1.0.100 or rancher-logging:3.6.000.
Upgradable column has the version available, to which the chart can be upgraded to

When rancher-cis-benchmark:1.0.200 is deployed, the Upgradable field is -