feat!: Use lvmdEmebbed by default

BREAKING CHANGE:  Using lvmdEmbedded by default reduces pod count per host by 1 and causes no loss of functionality. Users are only impacted if they have added initicontainers or modified volumes/mounts.

@jakobmoellerdev
The lvmd embedded option has only been in place for a short time.
How long do you think we should wait for stabilization?

lvmd embedded mode will be used in all Openshift TopoLVM installations by default starting with Openshift 4.15 Release which is coming end of next month. After that I suggest waiting 2-3 months so we can report issues upstream. So I suggest putting this on hold for the next quarter

@jakobmoellerdev Thank you for the information.
Personally, I think it is a little early to get solid assurance of safety, so I would like to wait a few more months or so.
@ryanfaircloth Do you have any issues with waiting a few months?

@jakobmoellerdev Thank you for the information.
Personally, I think it is a little early to get solid assurance of safety, so I would like to wait a few more months or so.
@ryanfaircloth Do you have any issues with waiting a few months?

I do not I just adopted this via helm chart config

Hey guys revisiting this PR as part of regular maintenance. Do we want to get this merged at all? (its now been long enough that embedded lvmd is out and we have received positive resonance thus far in the OpenShift version of it which is productized in Red Hat).

Hello.
After observing the feature for a sufficient period, I have no objections to enabling it by default.
However, upon investigating the impact of enabling it by default, I found that some tests fail. Therefore, we cannot merge this PR as it is. @ryanfaircloth, Would you like to revise the PR to include the necessary test fixes?
The current e2e tests for TopoLVM assume that lvmd is outside of Kubernetes, so it does not function correctly when moved inside Kubernetes. We need to fix so that the e2e tests pass with the default settings.


Not working Now because of latest webpack configurations

Hi its not working fine can you please provide latest upgraded template ?

Sorry, I won't be able to look at this for several weeks.

Its Ok Brother. But Whenever you get time do the changes.


Remove auto-screenshot behavior

We can't distinguish between ClickFailed errors which will be retried,
and those which have actually failed for good. This means we end up
writing hundreds of screenshot files during a failure, and we sometimes
write several screenshot files even when the click ends up working.
This isn't feasible to work around in a driver, so this commit removes
the behavior from capybara-webkit. Something like this may make more
sense in Capybara proper.
Resolves #626.

Looks good to me.


License issue

While the license.txt file states that the code is released under the MIT license, the Help Content tab that opens up when JDev restarts after installing the accelerator states that it's released under the GPL.
To add more to the confusion, there's a readme.txt file in Runtime/Application Sources which states that the accelerator is provided as-is, but does not state the users' rights and obligations.
It would be nice to dismiss the confusion and use the same license text in all places, and the use of a permissive license like MIT is crucial for its use by companies since the GPL scares most of them away.

UPDATE: This project is no longer maintained. AMPA is now part of Oracle MAF 2.3.1 http://www.ateam-oracle.com/migrating-ampa-apps-to-oracle-maf-2-3-1-client-data-model/


Doesn't work

I just cloned this repo and tried to deploy it to App Runner via the instructions in the docs. Please advise.

That looks like it's health checking on port 8080 instead of 8000. Can you try deploying again with port 8000?


move all shadow client assets to its own namespace

this makes things more organized and easier to update

@PeytonPlayz595 you should merge this one into 5.0

Shadow 5.0 is going to have most of the stuff built into it to keep people from easily changing the textures, some people tried to change some assets to say "made by xxx"

And I've barely even started on 5.0 😭😭😭


Any chance to support iOS ?

The beauty of flutter comes out when we can develop 1 codebase for both android and iOS :)

@DannyFilo https://pub.dev/packages/flutter_core_image_filters try this


About evaluation

Hello, thank you for your great work! May I ask how you evaluate the model on the test set of MUSDB18-HQ? Could you please upload the evaluate function? Thank you very much

You can refer to https://github.com/adefossez/sdx23 and use evaluate_locally.py for evaluation after inference is completed.


Remove CI/CD Pipeline section in content/de/docs/tutorials/_index.md

Part of #23167 for DE

/lgtm
/approve


Bugfix/on change

Description
This PR has two high level changes on the react slider:

Adds a prop (defaults to true) to opt in or out of being notified with every drag
Prevents the onChange callback from firing on render

While this wasn't the intentional behavior in the initial implementation, removing it makes this a breaking change.

Motivation and Context
The onChange firing on render could potentially lead to a app in an infinite loop since every change would eventually cause a new set of props (if used within a redux app), and would go through the render flow, which in turn would trigger the onChange. Before this change, the workaround was to check if the value hadn't changed on the onChange function.
How Has This Been Tested?
React slider unit tests and app unit tests.
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[X] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[X] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[X] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[X] All new and existing tests passed.

LGTM!


Improve wrapper around OpenSSL RAND

High Level Overview of Change

Context of Change

Type of Change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] Refactor (non-breaking change that only restructures code)
[ ] Tests (You added tests for code that already exists, or your new feature included in this PR)
[ ] Documentation Updates
[ ] Release

Reopening because it looks like this was merged with zero reviews. @ximinez can you confirm that you reviewed this change as part of https://github.com/XRPLF/rippled/pull/4270?
If so, you can put an approval on this PR.
I know it has already been merged, but we'd like to confirm approval since this change (if not reverted) will be included in the 1.10 release.

LGTM!

There used to be a lock around OpenSSL code. OpenSSL internally implements a lock for this, so the other lock is no longer needed.
Super minor performance improvement when OpenSSL randomness is used, which is not often.


Fix shades remotes

These devices have multiple button groups (https://blinds.lowes.com/product/detail.action?sku=Lutron-Serena-RF-4-Group-Remote-Control)

Fixes KeyError when fetching button devices (when it hit the second group)

Pico remotes work great.  Unfortunately I hit this on the 3rd instance when I deployed to my production machines for testing.
The shade remotes have 5 button groups.

{
			"href": "/device/43",
			"Name": "Shade Remote",
			"FullyQualifiedName": ["Upstairs Hall", "Shade Remote"],
			"Parent": {
				"href": "/project"
			},
			"SerialNumber": XXXXXXX,
			"ModelNumber": "CS-YJ-4GC-WH",
			"DeviceType": "FourGroupRemote",
			"ButtonGroups": [{
				"href": "/buttongroup/22"
			}, {
				"href": "/buttongroup/23"
			}, {
				"href": "/buttongroup/24"
			}, {
				"href": "/buttongroup/25"
			}, {
				"href": "/buttongroup/26"
			}],
			"AssociatedArea": {
				"href": "/area/7"
			},
			"LinkNodes": [{
				"href": "/device/43/linknode/42"
			}],
			"DeviceRules": [{
				"href": "/devicerule/32"
			}]
		}

@mdonoughe Sorry I didn't catch this in the first round of testing (I don't have the shades remotes on my primary or secondary instances), but it look like we need a 0.12.1.

This PR changes the buttongroup to button_groups so I extracted some of the PR into a 0.12.1 release. It probably doesn't matter because it's unlikely anybody started using the 0.12.0 released less than 24 hours ago, but 0.12.1 shouldn't contain breaking changes.

Can you check that this works with your shade remotes before I release 0.13.0?

Can you check that this works with your shade remotes before I release 0.13.0?

I will test 0.12.1 and dev shortly with the shade remote

0.12.1 I'm not too worried about. I copied the test data from this branch and fixed a KeyError. Only the buttons from each remote's first group should appear.

Testing

[x] 0.12.1 -- confirmed key error gone, no callback for button groups beyond the first (expected)
[ ] dev -- expected key error gone, callback for button groups beyond the first

Confirmed working
{
    "event_type": "lutron_caseta_button_event",
    "data": {
        "serial": <SNIP>,
        "type": "FourGroupRemote",
        "button_number": <SNIP>,
        "device_name": "<SNIP>",
        "area_name": "Living Room",
        "action": "press"
    },
    "origin": "LOCAL",
    "time_fired": "2021-12-05T17:11:37.714549+00:00",
    "context": {
        "id": "00b4a41fbca0a3025f5cbc72916eadd7",
        "parent_id": null,
        "user_id": null
    }
}

Tested on second instance as well 👍

Released as 0.13.0: https://pypi.org/project/pylutron-caseta/0.13.0/


kubernetes-helmPlugins.helm-diff: 3.9.4 -> 3.9.5

Description of changes
https://github.com/databus23/helm-diff/releases/tag/v3.9.5

Things done
This version requires go 122, so changed the builder

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Thanks! Verified on x86_64-linux against a live cluster.


Clicked on MSA and...nothing.

Whaaa happen???

Typing issue...translate as What happened?

@ARWattam link or it didn't happen

With @ARWattam 's blessing I do hereby dissolve this bug


Move items between two or more grid-stack containers

Hi, I would like to have two or more grid-stack containers and move the items (portlets) between them. How to register this containers, so the portlets can be moved from one to another container? And after that, how can I become the serialized positions for each container?
Example:
[div class="grid-stack" id="grid-nav-left"][/div]
[div class="grid-stack" id="grid-body"][/div]
[div class="grid-stack" id="grid-nav-right"][/div]
Thanks!
Nik

Hi guys, no one knows about this issue? @troolee do you know how to use it or maybe give me a tipp what to do for this feature?
Thanks
Nik

I'm interested in thuis too. My scenario is that i want to have a toolbar from which users can drag items onto multiple gridstack. Any printers in the right direction would be appreciated.

Hi guys, just found this thread thanks to me ol' friend Mr.Google.
I am looking for the same thing to have 2 containers. The left container will be inactive items, the right side will be an empty container for active. I will like to drag items from the left to the right container to make the item active, and also have an option to simply drag around in that container and re-size each in the active container.

+1

:+1:

I just initialized two grids, rather than the random class name for
example '.grid-stack-22113'  generated by grid stack I made the class name
an option then initialized each grid with active and inactive class name....
On Fri, May 29, 2015 at 3:57 PM, Antonio Bologna<EMAIL_ADDRESS>wrote:

[image: :+1:]
—
Reply to this email directly or view it on GitHub
https://github.com/troolee/gridstack.js/issues/133#issuecomment-106916078
.

Could you please elaborate, sir.

@alangunning I have trying your solution, but doesn't work for me. Do you have some sample code?

@alangunning Did you actually get it to work? Or were you just writing off the top of your head? Cause your solution doesn't seem to work. However, I'd love to be proved incorrect. So please, it would appreciated if you were to share with us the code you wrote that actually got it to work.

Apologies, I have been very busy in work. I will try code up a demo to
share later today
On Jun 2, 2015 10:57, "Enrique Caballero"<EMAIL_ADDRESS>wrote:

@alangunning https://github.com/alangunning Did you actually get it to
work? Or were you just writing off the top of your head? Cause your
solution doesn't seem to work. However, I'd love to be proved incorrect. So
please, it would appreciated if you were to share with us the code you
wrote that actually got it to work.
—
Reply to this email directly or view it on GitHub
https://github.com/troolee/gridstack.js/issues/133#issuecomment-107983124
.

@enriquecaballero @nnikolay
I have provided a rough demo of the concept for now.To save time I made my changes in Dev branch of my own fork of this repo. Will contribute back asap or feel free to re-use any of the code.
Demo can be viewed at: http://alangunning.github.io/gridstack.js/demo/multiple-grids.html

@alangunning Looks good! Is there a way to actually have it animate while I drag from one container to another? With placeholder, etc.

@alangunning this is great! Many thanks! Can you please take a look at the resizing of an item. For example it is not possible for me to resize the item 2, because it overlaps item 3 and item 3 don't move.

@enriquecaballero I did not implement this functionality as it would require a lot of re-calculations that I did not require for my workflow. I simply allow to drag and drop a widget in order to add to another grid. You can see in my sample code that I set auto_position = true in add widget function so that will use existing gridstack core library to place the widget in any available position.
@nnikolay All active widgets are re-sizing fine in all desktop browsers I've tested. Do you mean that when you extend widget 2 that widget 3 does not move down to next row ? In my example I have limited my grids to 6 rows which is preventing this as the grid is full. If you want it to do that, you will need to remove gridstack option 'height' to remove row limit and also adjust the appropriate css accordingly.

@alangunning thanks a lot. Your suggestion fixes the issue I mean with the resizing. I have played a bit with your example, but I can not set 2-3 active grids and move items between them. Can you please make an example with 2 or more active grids, where I can move widgets between them? In my case I don't need any inactive grid, only active grids. For example I am trying to build an page builder with elements like: header, body, left and right grid. Is it possible you make a small example?
Thanks a lot!
Nik

@troolee thank you for the great plugin
@alangunning thanks for the demo, I tried a bit around based on your solution but I always got into trouble when moving an item between the grid-stacks. the item to move became invisible outside the gid-stack origin. Did I miss something?
And just in case: does anyone have a solution (or hint) for correctly auto-positioning the item automatically when moving around the item in the target grid-stack, before dropping?

I've moving widgets in and out of nested grids as a way of grouping widgets. We were originally going to use drag-and-drop to move widgets from parent grid to nested grids, but you end up having to chase down your nested grid's widget as it slides out of the way assuming a move. We're opting instead for a global "group widgets" mode as an alternative and distinguished UI apart from drag-and-drop move. Basically: add a group (aka, a nested grid), activate the group for adding/removing widgets, clicking widgets in the group evicts them from the group, clicking widgets outside the group moves them into group, lastly deactivate the "add/remove widgets" mode on the group.

Hi all,
I 'm new user of the Gridstack, I have the same problem as drag and drop a widget to another grid-stack . Is there a new fix of this issue ?

@marshmeloo I don't think this library is maintained anymore... I would also love this functionality but, looks like it's not going to happen.

+1

This issue is currently in development. We'll try to find a solution for v0.2.5.

This functionality will most definitely be available in v1.0. v0.2.5 is going to be smaller features and bug fixes, tightening up the library.

Ok folks, I've finally done this. It has experimental status right now and gonna be it up to 1.0.0 so use it with caution and let me know it you see any issues (with behaviour, events, etc).
It probably has issues with knockout/angular/etc so it needs to be checked.
I'm closing this issue so feel free to open new ones in case of bugs.
Next, we likely to release 0.2.5 as it is right now and all issues you find will be fixed in 0.3.0.
Cheers.

+1

Hi,
Could you please let us know how to enable this experimental option?
I have tested with the following option without any success: acceptWidgets: 'grid-stack-item'.
Actually, I cannot drag out from the grid-stack container.
By the way, thanks for your incredible work!
Cheers.

It should be selector .grid-stack-item. Please check out a demo http://troolee.github.io/gridstack.js/demo/two.html

@derekm I currently have the same issu, were you able work it out?

@alangunning
I have a question about your posted demo with active and inactive widget grids.
How do you get the ID of a single widget?
I want to add content to the widgets, but the <div class"content">  tag adding the content to all widgets.
How can i manage only one widget?
Thanks

Is anyone here?

Can you please any one help me on this?

Thanks in advance!!

Could you possibly support drag and drop WITHOUT removing the dragged element from its original parent? In my case I want to have a sidebar that contains element that have to be cloned when dragged onto a grid. Looking at the code, the draggable is simply removed after a clone is made:
var el = $(ui.draggable).clone(false);
el.data('_gridstack_node', node);
$(ui.draggable).remove();
The call to remove the draggable should not occur in my specific case. It should only occur when dragging and dropping from one gridstack to another gridstack but not from my sidebar.

Did anyone find an update to this ? For layout designs once a widget is dragged, it would be helpful if it's not removed from sidebar.

@mandys That feature doesn't exist yet, but I'd be happy to add it to our plans for the future.
So that I'm sure that we'll be satisfying your need - you want the ability to clone a widget rather than move a widget in particular instances. Is this correct?

That is correct @radiolips. I think I found that to be one of the most requested features (across some GitHub tickets). Has anyone written a patch for it yet ? Even if it's not available in the core and there is a patch it would be helpful.

No one has yet written a conditional patch, though a few people have made attempts at alterations.
You can see the near-term plan for gridstack here. It doesn't include this feature and I'm unsure if it'll be available for version 1.0. The changes for 1.0 are necessary for the library to mature, but I agree that there have been many requests for this cloning capability as well.
I'll take a look at reprioritizing some enhancements to see what I can do about getting this readied for you sooner.

{draggable:{ revert: true, helper: "clone" }}

JqueryUI has this function, but it doesn't work here


Clarify surprises/gotchas + consider adding warnings on readme

Hi Fabio,
I've been using DaggerMock since yesterday and so far it's been really great - it's awesome to get rid of the boilerplate in such a succinct way.
However, I've encountered 2 surprises.
First, I've noticed that if I don't annotate a field with @Mock, the library doesn't mock it. Is this correct?
I found this because in one test I didn't have to verify anything on the mock, so I didn't add the @Mock field. But this made the test fail.
If this is the expected behavior, I suggest emphasizing this on the readme so that other people don't get bitten by this. I propose adding something like:

Note: DaggerMockRule will only mock the fields annotated with @Mock.

Second, I've also noticed that in order to verify something on my mocks, I must delay the launch of the activity by passing false to launchActivity at the ActivityTestRule constructor, like this:
@Rule public ActivityTestRule<MainActivity> activityRule = new ActivityTestRule<>(MainActivity.class, true, false);

Is this correct? If it is, I suggest adding a note on the readme, something like:

Note: you must manually launch the Activity by passing false to launchActivity at the ActivityTestRule constructor.

Yes, I know that this is how it's done on the example on the readme, but still I got bitten by this. It took me like 2 hours to figure out why it didn't work.
If you agree I can send a pull request with these changes.

Hi,
thanks for your suggestions and you are right, the documentation should be improved :(
Here's my attempt to clarify that two things:

DaggerMock invokes MockitoAnnotations.initMocks method and then collects the test fields to use them. If you don't use @Mock the field will remain blank but there are cases when you don't want to use that annotation: you can use @Spy or just instantiate an object (for example a manually written stub)

I always launch the activity manually because I want to define mock behavior at the beginning of the test (before the invocation of the onCreate method invocation). Even if you launch the activity at the beginning of the test I prefer to launch it manually, I am not sure about the invocation order of rule code when there are multiple rules defined

Regarding 1), since I didn't have to verify anything on my mock, I didn't annotate it with @Mock. But this made the test use the real presenter (which talked to the real repository...) and made the tests fail. This was unexpected to me and is what I would like to warn about on the readme. Not sure what's the appropriate text we could add though.
Regarding 2), I would explicitly mention on the readme (in the Espresso support section) that you need to launch the activity manually to define behavior and/or verify things on your mocks.
If you are interested on improving this, I can send a pull request. We can discuss the wording there.

Hi, I added two notes in the README to clarify these two points. I hope these notes help to understand the DaggerMock behaviour, if you notice something wrong feel free to point it out or create a pull request.
Thanks again for your help

I've sent a pull request: #56


Add MapFlags::map_hugetlb_with_size_log2

Closes #2124

We can merge this PR as-is, but @newpavlov could you please leave a TODO here: support Andorid and Fuchsia when libc 0.2.151 gets released


Interesting Question - codebase

I saw you putting most codes on root_path, and functionality codes and test codes in same path.
any benefit? or only habit(one kind of practice)? Do you have programming by meta-programming?

Thanks for asking. :-)
The main reason is that this library started in 2012. That's a long time before the dust on Go coding standards and good practices settled.
So while I would do things a bit different now, it also has its positive sides. E.g. if you were to put all search-related queries into package "elastic.go/search/queries" and all aggregations into "elastic.go/search/aggs", you would more often than not always import all of these packages when performing a search. Without the extra packages you can just import anything with a one-line import. And when you had to mix Elastic with other search-related things in your code, you would probably even have to alias the "elastic.go/search/queries" as esqueries "elastic.go/search/queries" to prevent name clashes.
Notice I'm not saying that the above slicing of namespaces would be a good idea. I'm just trying to say that sometimes the naive way of organizing code also has its benefits.
I'm not sure what you mean by "programming by meta-programming"?

Thank you for explaining!
Imagine the huge files in root, so hard to manage, so I thought you might have scripts to generating the functionality codes, that is I said "mete-programming"(coding by codes 😄 )

@y00rb Oh, I see. Yes, there is a generator in the generate-api branch. It reads the REST API spec and builds Go code from it.
It's not perfect, i.e. you have to edit the generated files afterwards and fix a few things. But yes, that's how most of the services have been generated.
HTH.


feat: Support generating string literal union type of Types

In Ftrack, my "Types" in the settings are not generated into the schema.
It would be awesome if I had a string literal union type of something like:
export type Types =
  "some-type-a" |
  "some-type-b";

Assuming I had two "Types" in my Ftrack, with those type names.
Maybe actually all of the attributes could be included, such as the ID and color. But that would require generating objects instead of types.

If I understand what you're looking for it's included in this repo, but for it to be useable it needs an API update that was released to our cloud customers about a month ago and will be in the next on-prem release when that arrives.


[BUG] panic: unaligned 64-bit atomic operation

Describe the bug
I updated my selfhosted instance from version 7.4.0 to 8.3.3 and now when I run the stack I get this errors from the automuteus/automuteus container;
2023/11/18 12:19:15 8.3.3-f0971d9
2023/11/18 12:19:15 No NUM_SHARDS specified; defaulting to 1
2023/11/18 12:19:15 No SHARDS specified, defaulting to 0
2023/11/18 12:19:15 [Locale] Loaded language: de - Englisch
2023/11/18 12:19:15 [Locale] Loaded language: en - English
2023/11/18 12:19:15 [Locale] Loaded language: es - Inglés
2023/11/18 12:19:15 [Locale] Loaded language: fr - Anglais
2023/11/18 12:19:15 [Locale] Loaded language: it - Inglese
2023/11/18 12:19:15 [Locale] Loaded language: ja - 日本語
2023/11/18 12:19:15 [Locale] Loaded language: no - Engelsk
2023/11/18 12:19:15 [Locale] Loaded language: pl - Angielski
2023/11/18 12:19:15 [Locale] Loaded language: pt - Portuguese-Brazil
2023/11/18 12:19:15 [Locale] Loaded language: ro - Română
2023/11/18 12:19:15 [Locale] Loaded language: ru - Russian
2023/11/18 12:19:15 [Locale] Loaded language: sv - Engelska
2023/11/18 12:19:15 [Locale] Loaded language: uk - Українська
2023/11/18 12:19:15 [Locale] Loaded language: zh - Distr.
panic: unaligned 64-bit atomic operation
goroutine 1 [running]:
runtime/internal/atomic.panicUnaligned()
	/usr/local/go/src/runtime/internal/atomic/unaligned.go:8 +0x24
runtime/internal/atomic.Load64(0x3d3a044)
	/usr/local/go/src/runtime/internal/atomic/atomic_arm.s:280 +0x14
github.com/jackc/pgx/v4/pgxpool.(*Pool).Stat(0x3d3a000)
	/go/pkg/mod/github.com/jackc/pgx/v4@v4.17.0/pgxpool/pool.go:577 +0x38
github.com/jackc/pgx/v4/pgxpool.(*Pool).checkMinConns(0x3d3a000)
	/go/pkg/mod/github.com/jackc/pgx/v4@v4.17.0/pgxpool/pool.go:490 +0x1c
github.com/jackc/pgx/v4/pgxpool.ConnectConfig({0xc9c350, 0x302a0d8}, 0x33d6bc0)
	/go/pkg/mod/github.com/jackc/pgx/v4@v4.17.0/pgxpool/pool.go:266 +0x34c
github.com/jackc/pgx/v4/pgxpool.Connect({0xc9c350, 0x302a0d8}, {0x3cbdab0, 0x70})
	/go/pkg/mod/github.com/jackc/pgx/v4@v4.17.0/pgxpool/pool.go:178 +0x60
github.com/automuteus/automuteus/v8/pkg/storage.(*PsqlInterface).Init(0x3eaab70, {0x3cbdab0, 0x70})
	/src/pkg/storage/postgres.go:45 +0x38
main.discordMainWrapper()
	/src/main.go:160 +0xa98
main.main()
	/src/main.go:52 +0x9c

To Reproduce
Steps to reproduce the behavior:
I used a raspberry pi 4 8GB RAM with every packages updated to current version.
I copy the latest version of the https://github.com/automuteus/deploy/blob/main/docker-compose.yml inside portainer and import all env from https://github.com/automuteus/deploy/blob/main/sample.env with the adition of the tokens and passwords from the previous version.
AUTOMUTEUS_TAG=8.3.3
GALACTUS_TAG=4.0.0

Expected behavior
I expect the container to start
Screenshots
Nothing to see
Version of bot & capture

Bot: 8.3.3
Capture: Not yet downloaded

Additional Information
root@raspberrypi-nes:~# uname -a
Linux raspberrypi-nes 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr  3 17:24:16 BST 2023 aarch64 GNU/Linux

root@raspberrypi-nes:~# docker ps
CONTAINER ID   IMAGE                           COMMAND                  CREATED          STATUS                          PORTS                                                                                NAMES
82d79b5ff88b   automuteus/automuteus:8.3.3     "./app"                  7 minutes ago    Restarting (2) 54 seconds ago                                                                                automuteus-automuteus-1
b0bb8aea32eb   automuteus/galactus:4.0.0       "/app/app"               13 minutes ago   Up 13 minutes                   <IP_ADDRESS>:1882->8123/tcp, :::1882->8123/tcp                                                        automuteus-galactus-1
eaed74d3e128   redis:alpine                    "docker-entrypoint.s…"   31 minutes ago   Up 29 minutes                   6379/tcp                                                                                automuteus-redis-1
39c3c305a101   postgres:12-alpine              "docker-entrypoint.s…"   31 minutes ago   Up 29 minutes                   5432/tcp                                                                                automuteus-postgres-1

@Zehir
As a workaround, could you please add arm_64bit=0 to your /boot/config.txt, and reboot RPi?
https://www.raspberrypi.com/documentation/computers/config_txt.html#arm_64bit
I think you are using 32bit version of RPi OS, but it loads 64bit kernel by default (arm_64bit=1). This causes your docker to pull the image for aarch64, and panic since the userspace is still in 32bit.

uname -m was returning 64 bit but you may be right. I scraped everything and install rpi OS 64 bit and now it's working thanks


Work around bug in Python Extension API

Work around for #12250

Codecov Report

Merging #12424 (0dc390b) into main (101e248) will decrease coverage by 0%.
The diff coverage is 52%.

@@          Coverage Diff           @@
##            main   #12424   +/-   ##
======================================
- Coverage     69%      69%   -1%
======================================
  Files        496      496
  Lines      31426    31453   +27
  Branches    4925     4928    +3
======================================
- Hits       21990    21967   -23
- Misses      7595     7639   +44
- Partials    1841     1847    +6

Impacted Files
Coverage Δ

src/platform/api/pythonApi.ts
68% <45%> (-4%)
:arrow_down:

src/notebooks/controllers/controllerLoader.ts
83% <71%> (-1%)
:arrow_down:

...books/controllers/remoteKernelControllerWatcher.ts
95% <100%> (+<1%)
:arrow_up:

...honAndRelatedNonPythonKernelSpecFinder.old.node.ts
81% <0%> (-10%)
:arrow_down:

...otebooks/controllers/controllerPreferredService.ts
70% <0%> (-6%)
:arrow_down:

...ractive-window/editor-integration/codeGenerator.ts
89% <0%> (-3%)
:arrow_down:

src/kernels/errors/kernelErrorHandler.ts
56% <0%> (-2%)
:arrow_down:

.../notebooks/controllers/vscodeNotebookController.ts
85% <0%> (-2%)
:arrow_down:

...c/kernels/execution/cellExecutionMessageHandler.ts
79% <0%> (-2%)
:arrow_down:

... and 12 more


Implement amend command.

The amend command needs to save working changes to the current commit. This is simple enough to do.
It also needs to rebase all dependent commits on top of the current commit to ensure that the updated changes are included in the child commits.
git rebase update is a depot tools command which could be used to achieve this.

Amend is implemented but needs to be revisited now that tree generation is available.


[Feature Request] Compatibility with "SONOFF Zigbee Bridge Pro" (ZBBridge-P) based on ESP32 and CC2652P

This request comes a little ahead of its time since this ITead Sonoff ZBBridge-P is not available to buy yet, but it will be soon ;)
https://community.home-assistant.io/t/itead-sonoff-zbbridge-p-coming-soon-a-new-cc2652-and-esp32-based-sonoff-zigbee-bridge-and-sensors-from-itead-leaked-via-fcc/378924
UPDATE! ZBBridge-P (a.k.a. "ZB Bridge-P") has now been released as "SONOFF Zigbee Bridge Pro" as is now available for purchase:
https://itead.cc/product/sonoff-zigbee-bridge-pro/
FCC leak shows the upcoming Sonoff ZBBridge-P v1.1 Zigbee Bridge coming from ITead will be based on ESP32 and CC2652P.
https://fccid.io/2APN5ZBBRIDGEP
Wondering if can be hacked with ESPHome into a network-attached remote Zigbee adapter for ZHA (and Zigbee2MQTT)?
Internal pictures posted from FCC show using an unannounced Texas Instruments CC2652P (CC2652P1) MCU chip based “SM-031 v1.1” radio module which must be made by CoolKit (the company that makes their EFR32MG21 based “SM-011 V1.0” module).
ESP32 has replaced the ESP8266/ESP8285, and it also looks like added an onboard clock-battery too, presumably for RTC (Real-Time Clock)?
https://fccid.io/2APN5ZBBRIDGEP/Internal-Photos/Internal-Photos-5613131

FFC also leaked new Sonoff branded Door/Window Sensor, Motion Sensor, Temp/Humidity Sensor, and a Button as wireless Zigbee devices, all with the same CCC2652P (CC2652P1/CC2652P1F) chip which +20 dBm capable power amplifier is really overkill for battery-operated sensors and should on theory use more battery power than if they would have used the compatible CC2652R or CC2652RB.
Sadly it looks like even this new variant of Sonoff ZBBridge still uses Wi-Fi instead of a wired Ethernet network like the newer ZB-GW03:
https://community.home-assistant.io/t/zb-gw03-ewelink-ethernet-zigbee-gateway-now-hacked-with-tasmota-zbbridge-so-can-be-used-via-mqtt-or-as-a-remote-zigbee-adapter-with-home-assistant-zha-and-zigbee2mqtt/341223
Ethernet is preferred by DIY users who flash Tasmota or ESPHome in order to use it as a remote Zigbee adapter with ZHA or Zigbee2MQTT because tunnelling serial communication over a serial stream server connection and the serial APIs of the Zigbee stacks are not robust/stable over WiFi as assume a direct connection, which is why both ZHA and Zigbee warns against using WiFi-based networked-attached Serial-to-IP Zigbee bridges/gateways/adapters:
https://www.home-assistant.io/integrations/zha#warning-about-wi-fi-based-zigbee-to-serial-bridgesgateways
https://www.zigbee2mqtt.io/advanced/remote-adapter/connect_to_a_remote_adapter.html
According to digiblur who broke this news, these are slated to be released in March of 2022:
https://www.digiblur.com/2021/12/new-sonoff-zigbee-bridge-and-sensors.html
Not sure if this is intended to permanently replace the popular ITead Sonoff ZBBridge
https://community.home-assistant.io/t/sonoff-zbbridge-sonoff-zigbee-bridge-from-itead/187346
As I understand ITead have not abandoned Silicon Labs yet but it is just that Silabs chip stocks have suffered worse than most other companies during the still currently ongoing worldwide chip shortage.
PS: Assume it will use the same firmware for CC2652P as “Sonoff Zigbee 3.0 USB Dongle Plus”:
https://community.home-assistant.io/t/sonoff-zigbee-3-0-usb-dongle-plus-by-itead-is-based-on-texas-instruments-cc2652p-can-now-be-ordered-for-10-99/340705/283

FYI, both NotEnoughTech and digiblur have received theirs and while neither of them has tried to flash/hack it yet they posted some early thoughts on the original eWeLink hub firmware and hardware board, confirming that the first retail version ITead's SONOFF Zigbee Bridge Pro with PCB board labelled "ZBBridge-P V1.1 2021.11.12" is indeed based on Espressiff  ESP32-DOWD-V3 (that ESP32 variant by the way also has integrated support for Bluetooth 4.2 including BLE), Texas Instruments CC2652P Zigbee module labelled "SM-031 V1.1 2021.07.28" (so probably manufactured by CoolKit Technologies like the Zigbee module for previous Sonoff bridge), with a cell-battery for the RTC (Real-Time-Clock), a built-in buzzer for chime or alarm-siren, and also an Espressiff branded PSRAM (ESP-PSRAM16H) with 2MB/16Mbit capacity.
digiblurDIY also mention that he managed to backup original firmware from ESP32 without issue so suspect that it is not locked:
https://www.youtube.com/watch?v=P5op57y5i6k?t=920&ab_channel=digiblurDIY
https://notenoughtech.com/home-automation/sonoff-zigbee-bridge-pro/
https://www.youtube.com/watch?v=fsIjFxCPJLA&ab_channel=NotEnoughTECH

@syssi FYI, @jonasled created an ESPHome configuration for Sonoff ZBBridge-P bridge and posted it on GitLab here:
https://jonasled.dev/jonasled/sonoff-zigbee-bridge-pro-esphome
It is in turn based on the ESPHome configuration for the original Sonoff Zigbee Bridge from thegroove:
https://github.com/thegroove/esphome-zbbridge/issues/16

FYI, Giancky79 also created an ESPHome configuration for Sonoff ZBBridge-P bridge here:
https://github.com/Giancky79/ZB-Bridge-P

hi, i don't know why, but i have the error from the log of zigbee2mqtt: "error failed to connect to the adapter (error srsp - sys - ping after 6000ms)", i found a new configuration for serial to try
serial:
port: 'tcp://192.168.x.x:6638'
adapter: zstack
it's normal? @Hedda i have update a fw with a python script, for change the string for working with cc2652 sm-031with latest update from fw of koenkk, i don't think the problem are on yaml esphome, i'm write correctly the fw of cc2652, but if this configuration working for zigbee2mqtt, update the github with all
P.S. the python script is not mine but from @snakuzzo

Best is to post/ask under discussions in Koenkk's zigbee2mqtt repository -> https://github.com/Koenkk/zigbee2mqtt/discussions
Of course, you can not use x like tcp://192.168.x.x:6638 as wildcards, instead, it needs to be the IP address of the device.
I also do not think you need to specify adapter: zstack as Zigbee2MQTT will default adapter to zstack if nothing is specified, so currently you only have to specify the specific radio type if using a ezsp, deconz, or zigate radio adapter and it is not detected.
https://www.zigbee2mqtt.io/advanced/remote-adapter/connect_to_a_remote_adapter.html
See -> https://www.zigbee2mqtt.io/advanced/remote-adapter/connect_to_a_remote_adapter.html#_3-configure
https://www.zigbee2mqtt.io/advanced/remote-adapter/connect_to_a_remote_sonoff_zbbridge.html#connect-to-a-remote-sonoff-zbbridge
PS: If to map the socket directly with socat (read example https://www.redhat.com/sysadmin/getting-started-socat ) then you can also for testing purposes connect to TCP port with zigpy-cli or/and zigpy-znp just to try see if applicaton firmware replies or not:
https://github.com/zigpy/zigpy-cli
https://github.com/zigpy/zigpy-znp
You can for example test an energy scan with zigpy-znp tools -> https://github.com/zigpy/zigpy-znp/blob/dev/TOOLS.md
or do the same with zigpy-cli -> https://github.com/zigpy/zigpy-cli/blob/dev/README.md#performing-an-energy-scan

I have people encounter the "error srsp - sys - ping after 6000ms" randomly. the for a networ connected device, the most reliable way I've found to solve it is to do a full re-flash (including erase) of the esp device doing he serial stream. I still do not fully understand why this error occurs for some people and not others.

Best is to post/ask under discussions in Koenkk's zigbee2mqtt repository -> https://github.com/Koenkk/zigbee2mqtt/discussions
Of course, you can not use x like tcp://192.168.x.x:6638 as wildcards, instead, it needs to be the IP address of the device.
I also do not think you need to specify adapter: zstack as Zigbee2MQTT will default adapter to zstack if nothing is specified, so currently you only have to specify the specific radio type if using a ezsp, deconz, or zigate radio adapter and it is not detected.
https://www.zigbee2mqtt.io/advanced/remote-adapter/connect_to_a_remote_adapter.html
See -> https://www.zigbee2mqtt.io/advanced/remote-adapter/connect_to_a_remote_adapter.html#_3-configure
https://www.zigbee2mqtt.io/advanced/remote-adapter/connect_to_a_remote_sonoff_zbbridge.html#connect-to-a-remote-sonoff-zbbridge
PS: If to map the socket directly with socat (read example https://www.redhat.com/sysadmin/getting-started-socat ) then you can also for testing purposes connect to TCP port with zigpy-cli or/and zigpy-znp just to try see if applicaton firmware replies or not:
https://github.com/zigpy/zigpy-cli
https://github.com/zigpy/zigpy-znp
You can for example test an energy scan with zigpy-znp tools -> https://github.com/zigpy/zigpy-znp/blob/dev/TOOLS.md
or do the same with zigpy-cli -> https://github.com/zigpy/zigpy-cli/blob/dev/README.md#performing-an-energy-scan

ops, i read an old documentation from zigbee2mqtt.io

I have people encounter the "error srsp - sys - ping after 6000ms" randomly. the for a network connected device, the most reliable way I've found to solve it is to do a full re-flash (including erase) of the esp device doing he serial stream. I still do not fully understand why this error occurs for some people and not others.

thx, i'm try with esptool, maybe esphome create a bin with unknown error inside or clone esp32, make different hardware problem

ok, after few days, i'm try to format and re build esphome firmware, nothing change, after i'm try tasmota32-zbbrdgpro.factory, with new fw modified for zbbridge-p, zigbee2mqtt not working, same error srsp, with zha, after reconfigure tasmota with tcp, working very well.
I'm not an engineer, maybe it's my limit on compiling with esphome, but it didn't work, sorry for wasting everyone's time
i'm try with other configuration on esphome in the future

Let's close this issue because there a other projects available already. I don't own the device and cannot help here much without having access to the hardware.


Rename qc-toolkit to qupulse

and give more precise description (name's "backronym").

Thanks for the contribution @terrorfisch


How to get the result from queryBuilder?

I'm using a queryBuilder:
const placeBuilder = place.query()
    .select('place.*', 'user.name as userName')
    .join('user', 'place.user_id', 'user.id');
  console.log('placeBuilder: ', placeBuilder);

The console.log('placeBuilder: ', placeBuilder) return an object QueryBuilder  which contains many attributes such as
QueryBuilder {
  _knex:
   { [Function: knex]
     Promise:
      { [Function: Promise]
        TypeError: [Function: TypeError],
        RangeError: [Function: RangeError],
        CancellationError: [Function: SubError],
        TimeoutError: [Function: SubError],
        OperationalError: [Function: OperationalError],
        RejectionError: [Function: OperationalError],
        AggregateError: [Function: SubError],
        _peekContext: [Function: peekContext],
        onPossiblyUnhandledRejection: [Function],
        onUnhandledRejectionHandled: [Function],
        longStackTraces: [Function],
        hasLongStackTraces: [Function],
        config: [Function],
        getNewLibraryCopy: [Function],
        is: [Function],
        fromCallback: [Function],
        fromNode: [Function],
.....

I want to get the result of queryBuilder when there are no data to display i.e something like placeBuilder: undefined or null how can I get the result of queryBuilder?

You need to await on the query builder or call any of the promise methods listed in the docs. All IO operations in node are async. You cannot make database queries synchronously.


Gemini docs : The multi-turn conversations example needs a slight modification

The following code was taken from the Quickstart tutorial, that shows how to use Gemini in Android. In the multi-turn conversations example, I faced a problem when running the provided code snippet.
// For text-only input, use the gemini-pro model
GenerativeModel gm = new GenerativeModel(/* modelName */ "gemini-pro",
// Access your API key as a Build Configuration variable (see "Set up your API key" above)
    /* apiKey */ BuildConfig.apiKey);
GenerativeModelFutures model = GenerativeModelFutures.from(gm);

// (optional) Create previous chat history for context
Content.Builder userContentBuilder = new Content.Builder();
userContentBuilder.setRole("user");
userContentBuilder.addText("Hello, I have 2 dogs in my house.");
Content userContent = userContentBuilder.build();

Content.Builder modelContentBuilder = new Content.Builder();
modelContentBuilder.setRole("model");
modelContentBuilder.addText("Great to meet you. What would you like to know?");
Content modelContent = userContentBuilder.build();

List<Content> history = Arrays.asList(userContent, modelContent);

// Initialize the chat
ChatFutures chat = model.startChat(history);

// Create a new user message
Content userMessage = new Content.Builder()
    .addText("How many paws are in my house?")
    .build();

Executor executor = // ...

// Send the message
ListenableFuture<GenerateContentResponse> response = chat.sendMessage(userMessage);

Futures.addCallback(response, new FutureCallback<GenerateContentResponse>() {
    @Override
    public void onSuccess(GenerateContentResponse result) {
        String resultText = result.getText();
        System.out.println(resultText);
    }

    @Override
    public void onFailure(Throwable t) {
        t.printStackTrace();
    }
}, executor);

When using the code as is, I get an Exception and to solve the problem. We should specify the user role when creating the userMessage.
So instead of this :
// Create a new user message
Content userMessage = new Content.Builder()
    .addText("How many paws are in my house?")
    .build();

It should be replaced by :
// Create a new user message
Content.Builder userMessageBuilder = new Content.Builder();
userMessageBuilder.setRole("user");
userMessageBuilder.addText(query);
Content userMessage = userMessageBuilder.build();

@ImadSaddik Sorry that you ran into that, but I'm glad that you managed to find the solution - and thanks for calling it out! We have now added setRole("user") to the multi-turn conversations example. :)

Awesome 😎

@MohammedAbidNafi That's because these methods don't return a builder. You'll have to use them exactly as the snippet above:
Content.Builder userMessageBuilder = new Content.Builder();
userMessageBuilder.setRole("user");
userMessageBuilder.addText("How many paws are in my house?");
Content userMessage = userMessageBuilder.build();

Java support has not been prioritized in this SDK, unfortunately, so we ended up with these uncovenient APIs :/
I will discuss with the team about improving Java support.


Update TTNN documentation for atan2, hypot, squared_difference

According to the documentation atan2, hypot and squared difference can have its second input as a tensor or scalar while the op accepts only tensor .

#7297  Merged


BASIC code structure not good

Do you want to have the enhancement of existing game ? 😀 Describe yourself..
it would be easy and good , if CSS file would also exist in the repo and all the CSS code can be implemented over there.
KINDLY, assign this issue to me under GSSOC 24
Describe the solution you'd like
Solution steps
By creating a separating CSS file , and adding all the CSS code over there in that fille
Select program in which you are contributing
GSSOC 24
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

@anshgautam-github Could you please explain more what you want to do, if possible you can also add screenshot.

If you have any doubt you can directly send message on our discord (https://discord.gg/rZb46cCMmK), we have created seprate chennals for all projects...
Thank you :)

@Durgesh4993  here, i would like to separate the html and css file , since all the css code is written in the html file itself.
By doing this , this will enhance the file structure.


Postgres script

Create tables for easier duplication

We need this script to work assuming that postgres isn't even installed on the machine

see #64

Can this be closed if #64 was closed?


mainwindow.py - Select parts on the board in pcbnew when they are sel…

…ected in the footprint_list list
Makes it easier to figure out which parts are being chosen, as a cross check for things like part size

This is a really cool one 😎


Handling Missing Data in GPs

We can handle missing data (of Y) in GPs fairly easily, because they are closed under marginalization.
All we have to do, is to ignore the corresponding samples (rows) for the corresponding dimensions (columns) of Y.
I implemented an automatic handling of missing data in sparse gps. Have a look at
GPy/core/sparse_gp.py and GPy/models/bayesian_gplvm.py
In the parameters_changed method the selection begins, whether we have missing_data or not. If so, we loop through the dimensions and select the non missing values for each dimension and do the standard computations. This is easily applied to GPs themselves, so we might want to put it there as well.
Let me know what you guys think of it, and if it makes any sense to you.

So the idea is to take over the ideas from sparse gp minibatch and apply them to the GP class. It is not very nice as of yet, though, so maybe someone else wants to take a look and get ontop of it?


Update weaver-cats, weaver-scalacheck to 0.7.15

Updates

com.disneystreaming:weaver-cats
com.disneystreaming:weaver-scalacheck

from 0.7.11 to 0.7.15.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.disneystreaming" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "com.disneystreaming" }
}]

labels: library-update, early-semver-minor, semver-spec-patch, commit-count:1

Codecov Report

Merging #142 (649ce9d) into master (acc035a) will not change coverage.
The diff coverage is n/a.

 Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Add version history graph

Depends on #218
Add graph to display version history.

This actually looks nice @cdce8p 🤩

@ludeeus Updated the PR with your suggestion and rebased it. Should be good now


Remove spurious npm dist-tag entries

The published npm package has many unexplained dist-tag entries:
$ npm dist-tag ls cypress-test-data-generator
JavaScript: 1.0.0
alpha: 1.0.0
beta: 1.0.0
cypress: 1.0.0
data-generation: 1.0.0
latest: 1.0.0
npm: 1.0.0
open-source: 1.0.0
plugin: 1.0.0
test-automation: 1.0.0
testing: 1.0.0
utility: 1.0.0

Typically only latest is used and the remainder can probably be deleted.
Related

https://github.com/cypress-io/cypress-documentation/pull/5938

This issue has been resolved. Now, only the 'latest' tag remains, as recommended.
Actions taken:

Removed all dist-tags except 'latest' from the npm package.
Verified that only the 'latest' tag is present using npm dist-tag ls cypress-test-data-generator.

Thank you for bringing this to my attention!
Closes #7


issue-707

Adding parsing support for the common header P-Asserted-Identity as a Name_Addr_Header

Thanks for the PR! There's still a little bit of work to do here, it looks like. If we are going to support P-Asserted-Identity, we'd like to support it in full. What this means:

Adding a property to the IncomingMessage type
Using that property within your conditional instead of calling setHeader again (just like all the other cases)
Adding a property to OutgoingRequestMessageOptions and setting that header if the option is present.

Along with the above, in terms of your specific code changes:

Please fix the spacing on the your conditional line (space on either side of the parentheses)
don't use headerName.toLowerCase() within the case block. This isn't necessarily because it's bad, but we'd prefer to keep it in line with the other cases.

Lastly, I'm going to close the issue, we don't need to track this in both places. Thanks again!

Hi @lancedouglas1,
Do you have any plans to complete this work? I'll leave this open for another week or two before closing.


PHP5 is no longer available in some apt source

php-proxy is now working well with PHP7, so what about just removing that '5' in the install script
This may change some of the dependencies, like php-mbstring will be required

Fixed: https://github.com/Athlon1600/php-proxy-installer/commit/2d1c9b6f6381b5ad26de65c500a6f1c432d3fa51


Allow multiple --testResultsProcessor options

Do you want to request a feature or report a bug?
Feature
What is the current behavior?
Run jest tests passing two --testResultsProcessor options:
./node_modules/jest/bin/jest.js --testResultsProcessor=./processorA.js --testResultsProcessor=./processorB.js

Error:
● Validation Error:

  Module ./processorA.js,./processorB.js in the testResultsProcessor option was not found.

What is the expected behavior?
Both results processors are called back.
Please provide your exact Jest configuration and mention your Jest, node, yarn/npm version and operating system.
jest: 21.0.2
node: 8.4.0
yarn: 1.0.0
OS: Linux Mint

Having such a feature would allow tools to implement jest integration using --testResultsProcessor and not worry about overwriting user-specified --testResultsProcessor.
E.g. currently WebStorm uses --setupTestFrameworkScriptFile for its jest integration. Well, it turned out to be not great (need to add IDE sources to transformIgnorePatterns and unmockedModulePathPatterns). Using jest-editor-support is too much as IDE needs TestResults only (also parent test suites are missing there for some reason). Seems tests results passed to test results processor (--testResultsProcessor) fit perfectly.

I don't think this needs to change. You can simply have a testResultsProcessor that wraps other test results processors:
module.exports = results => processA(processB(results));

that seems much more straightforward to me. What do you think?

@cpojer Yeah, delegation is a good approach (I thought about it and should have mentioned it, sorry). It will work, however, it has a downside: a tool has to run jest with --showConfig first to find out user-specified testResultsProcessor. It may take ~0.5 second to complete and might be annoying.
Since it's needed for tools, I'd be glad to work on a PR if this issue gets accepted.

I'm fine with a PR that turns this option into a string or array value instead of just string.

The thing to consider though is that the ordering may matter: the results processors may return any object that may not be the same one as before, it may have less information that the next processor expects.

Continuing what @cpojer already said: Combine test results processors using custom one:
http://wookieb.pl/multiple-testresultsprocessors-with-jest/
However, it would be nice if testResultsProcessor would accept an array

I'm gonna close this as composition solves this problem for now.

Copied the solution from http://wookieb.pl/multiple-testresultsprocessors-with-jest/ here:
Create resultsProcessor.js file with the following content
module.exports = function() {
    require('../node_modules/ts-jest/coverageprocessor').apply(this, arguments);
    return require('../node_modules/jest-junit').apply(this, arguments);
    // add any other processor you need
};

Remember to update package.json too
{
   "jest": {
        "testResultsProcessor": "./resultsProcessor"
   }
}

Streamlined it a bit here: https://www.npmjs.com/package/jest-multiple-result-processors


Makes install and uninstall respect for allDevices setting.

The allDevices setting was not considered by the installPackage and uninstallPackage method, so that packages were installed to only one device.

I've kinda wanted to avoid installing/uninstalling all devices at once since there are many times I don't want to lose my data by uninstalling from all accidentally and wanted to make it explicit. I'm still undecided about this at the moment. Installing to all devices at once isn't bad, though.

Eh, seems reasonable enough, will merge.
Thanks


SPO Site Collection App Catalog and Enabling Custom Scripting

What type of issue is this?
Question
What SharePoint development model, framework, SDK or API is this about?
💥 SharePoint Framework
Target SharePoint environment
SharePoint Online
What browser(s) / client(s) have you tested

[ ] 💥 Internet Explorer
[X] 💥 Microsoft Edge
[ ] 💥 Google Chrome
[ ] 💥 FireFox
[ ] 💥 Safari
[ ] mobile (iOS/iPadOS)
[ ] mobile (Android)
[ ] not applicable
[ ] other (enter in the "Additional environment details" area below)

Additional environment details

browser version
SPFx version
Node.js version
etc

Issue description
Do we to enable custom scripting in SPO site collection to set up App catalog inside that site collection?

Per my test, it's no need to enable custom scripting in SPO site collection to set up App catalog.
Just use the Add-SPOSiteCollectionAppCatalog cmdlet to create a site collection app catalog:
Add-SPOSiteCollectionAppCatalog -Site https://tenant.sharepoint.com/sites/test


Reminder messages for not-passing if unchanged for a while

We have a number of badge entries where people have started & not completed, and have not even been updated for a while.
I have an idea: Email reminders.  If it's not passing, hasn't been edited for more than 60 days, and our last reminder was more than 60 days ago, it's eligible for a reminder message.  Then we sort by age of last edit, email up to a fixed number of reminders, and record that we sent the reminder.  (That way, if the code has a bug, we're not spamming everyone).
We could add, to each project, a "do not remind" status, so that people who want to inhibit reminders on that project can do so.

Based on discussion with Marcus, perhaps those times should be 30 days, sort by reminder date (oldest one first), and trigger this daily.  So if 100 reminders are eligible, and we only send 20/day, then we send reminders those whose last reminder messages are the oldest.
The idea is to make this algorithm work regardless of size, and to not act like a spammer.

Another limitation: We need to make sure that ONLY the production-bestpractices site sends these emails.  The master.bestpractices and staging.bestpractices sites are similar as possible to the final site - they even run with the "production" environment setting - but they must NOT send these reminder messages.

Kevin Wall posted:

I prefer the original 60 day proposal over the 30 day notice. Some of the projects listed probably don't have all the most volunteer help (I know ESAPI does not), and addressing some of these things can take longer than 60 days.
Just my $.02,
-kevin

That makes sense.  Since I proposed 60 days originally, I obviously don't think 60 days is a terrible number.  However, Marcus also has a point - we want to encourage people to not lose momentum.  Waiting 60 days for a first reminder may be a little long.  I think the better approach is to send the very first reminder after 30 days of inactivity, and then only send later reminders every 60 days.  That way, people who are overwhelmed are unlikely to feel nagged, but people who just got a little busy get their first reminder sooner.
Here's an updated (detailed) proposal:

If we're in a production environment but not the true production system (e.g., the "staging" branch), stop & don't send any emails.
Select projects eligible for reminders = in_progress and not recently_lost_badge and inactive and not recently_reminded:

in_progress = badge_percentage less than 100%.
recently_lost_badge = lost_passing_at is not null AND less than 30 days ago
inactive = updated_at is 30 days ago or more
recently_reminded = last_reminder_at is not null AND at least 60 days ago.  Notice that if recently_reminded is null (no reminders sent), only the other criteria matter.

Prioritize.  Sort by the last_reminder_at datetime (use updated_at if last_reminder_at is null), oldest first.  Since last_reminder_at gets updated with a newer datetime when we send a message, each email will send will lower its reminder priority - we will eventually cycle through all inactive projects.
Send X of the highest-priority (oldest) emails, and for each, reset its last_reminder_at as we send the email.
Send a single report message to the LF, providing a list of projects who were given a reminder.

By only sending X messages at a time, we don't look like a spammer, and we limit the damage if there's an error in the code.
There are a lot of moving parts in this algorithm, but I think it's clear.  I just want to make sure that we avoid lots of nagging - the goal is to encourage people, not to bother them.
I'm not sure how easy will be to index on "last_reminder_at", particularly at the ORM level (which I really want to use because that's portable).  That will need investigating.  In general I try to always have an index for any anticipated database search or sort, so that we can grow quickly.

According to this StackOverflow answer, I should be able to do the sorting on "column1 if not null, else column2" as this requires using this format:

jobs.order("COALESCE(deadline_date, due_date)")

PostgreSQL 8 appears to have COALESCE, and it says it's a "SQL standard function" (I wonder which standard, but I digress).
I intend to do this entirely with the ActiveRecord query interface as a single select+sort+select, and not implement it using methods or direct SQL commands.  Using the ActiveRecord query interface will turn this directly into a single database request, which will be blazingly fast regardless of the database size (once we add the indexes).  Method invocations would be super-slow, and direct SQL commands can be harder to port than ActiveRecord's interface (which works to paper over differences between SQL engines).

We'll need text on the project page to explain the new disabled_reminders checkbox.  Something like this:

We occasionally send email reminders if your project isn't passing and you haven't edited its entry in a long time. Click here if you want to disable inactivity reminders:

We'll also need a message to send.  Something like this:

Subject: Project ### does not yet have the "best practices" badge
This is just a reminder that your project's best practices badge entry at (PROJECT_ENTRY_URL) does not currently have a badge and has not been updated in a while.  We encourage you to keep making progress!
If you have questions, or need help, please contact (EMAIL) or file an issue at (BADGEAPP_ISSUE_TRACKER_URL).
If you want to disable these reminder messages, edit your badge entry at (PROJECT_ENTRY_URL) to turn on "disable inactivity reminder".  However, we hope you'll instead complete and earn the badge.

See this pull request: https://github.com/linuxfoundation/cii-best-practices-badge/pull/492

I just pushed this functionality into the "production" site.  All seems to be working.  We'll run a live test; if that works, we'll install a timer to engage it.
@MarcusStreets - let me know of any special issues.

That had a lot of annoying complications, but it's done.  Hopefully we'll get more badges as a result.


[Request] (not an issue) Wordfilter Rewrite/Improve

I would like to see the word filter like phoenix:
For example, i tink the IDs in the blackword table are unneeded, and wold love to see a replacement table

Sorry i didn't understood. Explain better

Yupi has
If you saw a word in the blackwordfilter
It always changed to bobba
Phoenix has
replacement per word wich is quite sweet

Change in wordfilter.ini ...

No i ment like, replacemet for each word
A diffrent replacement per word

That is exactly what i said --'


[Feature Request] NFC

For next revision, can you add NFC components. (eg https://www.nxp.com/docs/en/nxp/data-sheets/PN532_C1.pdf)
Could then use Watchy with other NFC devices, eg  https://arduinogetstarted.com/tutorials/arduino-rfid-nfc-door-lock-system
Happy to be first to sign up on CrowdSupply!

I'll also throw out a vote for NFC. Would really open some doors for using the device in interesting ways I think, considering how cheap NFC tags are.
I'm sticking tags up around my house for triggering actions with my phone, but I don't always carry my phone. I will almost always have a watch on though, so Watchy would be just completely perfect for something like this.

It would be cool if watchy had this capability. But what antenna would this require? I was looking at how Flipper Zero implemented NFC and RFID, and it seems like it might require a large circuit board to act as the antenna.

But yeah, it would be really nice to use watchy as a wireless-swiss-army-knife like Flipper Zero (You can use it to clone your NFC/RFID cards). It already has the hardware to compete with products like https://dstike.com/products/dstike-deauther-watch-v3s


Transcribe audio to text always returns {"err": "region not configured for transcription"}

Hello, Good Amplify community, it's a pleasure to be on this channel, I am new in the management of Amplify services I am testing the service with Predictions speechGenerator, but when I test the App generated in React-Native in the console I get an Error {"err": "region not configured for transcription"}, I have checked the microphone buffer and certainly generates data, I am testing only with the phrase "Hello Word", I have used the Basic configuration automatically generated by AWS Amplify.
I will leave the fragments of my code, to see if it is a problem with the region where I created the Backend or something in my code that in theory is very simple.
`/* eslint-disable */
// WARNING: DO NOT EDIT. This file is automatically generated by AWS Amplify. It will be overwritten.

const awsmobile = {
"aws_project_region": "us-east-1",
"aws_cognito_identity_pool_id": "us-east-1:75f67dbf-//kkk/",
"aws_cognito_region": "us-east-1",
"aws_user_pools_id": "us-east-1_/jjj/",
"aws_user_pools_web_client_id": "/jjjjj************",
"oauth": {},
"aws_cognito_username_attributes": [],
"aws_cognito_social_providers": [],
"aws_cognito_signup_attributes": [
"EMAIL"
],
"aws_cognito_mfa_configuration": "OFF",
"aws_cognito_mfa_types": [
"SMS"
],
"aws_cognito_password_protection_settings": {
"passwordPolicyMinLength": 8,
"passwordPolicyCharacters": []
},
"aws_cognito_verification_mechanisms": [
"EMAIL"
],
"predictions": {
"convert": {
"speechGenerator": {
"region": "us-east-1",
"proxy": false,
"defaults": {
"VoiceId": "Ricardo",
"LanguageCode": "en-US"
}
}
}
}
};

export default awsmobile;`

My Code in React-Native
`import React, {useState} from 'react';
import {
View,
Text,
StyleSheet,
TextInput,
TouchableOpacity,
} from 'react-native';
import {Amplify} from 'aws-amplify';
import {
Predictions, AmazonAIPredictionsProvider,
} from '@aws-amplify/predictions';
import awsconfig from '../../src/aws-exports';

import MicStream from 'react-native-microphone-stream';

// from https://github.com/aws-samples/amazon-transcribe-websocket-static/tree/master/lib

Amplify.configure(awsconfig);
Amplify.addPluggable(new AmazonAIPredictionsProvider());
const initialState = {name: '', description: ''};

global.Buffer = global.Buffer

function VoiceCapture() {
const [text, setText] = useState('');

// from https://github.com/aws-samples/amazon-transcribe-websocket-static/tree/master/lib
function pcmEncode(input) {
let offset = 0;
const buffer = new ArrayBuffer(input.length * 2);
const view = new DataView(buffer);
for (let i = 0; i < input.length; i++, offset += 2) {
const s = Math.max(-1, Math.min(1, input[i]));
view.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7fff, true);
}
return buffer;
}

async function transcribe(bytes) {
await Predictions.convert({
transcription: {
source: {
bytes,
},
language: 'en-US',
},
})
.then(({transcription: {fullText}}) => console.log({fullText}))
.catch((err) => console.log({err}));
}

const listener = MicStream.addListener((data) => {
console.log('Data:',data);

// encode the mic input
const pcmEncodedBuffer = pcmEncode(data);

// // add the right JSON headers and structure to the message
// let audioEventMessage = getAudioEventMessage(
//   global.Buffer.from(pcmEncodedBuffer),
// );

// //convert the JSON object + headers into a binary event stream message
// let binary = eventStreamMarshaller.marshall(audioEventMessage);

// the docs say this takes a PCM Audio byte buffer, so i assume the wrappers above aren't necessary. Tried them anyways with no luck.
// (https://docs.amplify.aws/lib/predictions/transcribe/q/platform/js#set-up-the-backend)
transcribe(pcmEncodedBuffer);
});

function startTranscribing() {
MicStream.init({
bufferSize: 4096 * 32, // tried multiplying this buffer size to send longer - still no luck
// sampleRate: 44100,
sampleRate: 16000,
bitsPerChannel: 16,
channelsPerFrame: 1,
});

MicStream.start();
console.log('Started mic stream');
}

function stopTranscribing() {
console.log('Stopped mic stream');
MicStream.stop();
listener.remove();
}

return (

<TouchableOpacity
style={styles.mediumButton}
onPress={() => {
// Voice.start('en_US');
// transcribeAudio();
startTranscribing();
}}>
START
    <TouchableOpacity
      style={styles.mediumButton}
      onPress={() => {
        stopTranscribing();
      }}>
      <Text style={styles.mediumButtonText}>STOP</Text>
    </TouchableOpacity>
  </View>
  <TextInput
    style={styles.editableText}  multiline
    onChangeText={(editedText) => setText(editedText)}>
    {text}
  </TextInput>
</View>
);
}

const NewVoice = () => {
return (

);
};

export const colors = {
primary: '#0049bd',
white: '#ffffff',
};

export const padding = {
sm: 8,
md: 16,
lg: 24,
xl: 32,
};
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: 'white',
padding: padding.lg,
},
bodyText: {
fontSize: 16,
height: 20,
fontWeight: 'normal',
fontStyle: 'normal',
},
mediumButtonText: {
fontSize: 16,
height: 20,
fontWeight: 'normal',
fontStyle: 'normal',
color: colors.white,
},
smallBodyText: {
fontSize: 14,
height: 18,
fontWeight: 'normal',
fontStyle: 'normal',
},
mediumButton: {
alignItems: 'center',
justifyContent: 'center',
width: 132,
height: 48,
padding: padding.md,
margin: 14,
backgroundColor: colors.primary,
fontSize: 20,
fontStyle: 'normal',
elevation: 1,
shadowOffset: {width: 1, height: 1},
shadowOpacity: 0.2,
shadowRadius: 2,
borderRadius: 2,
},
editableText: {
textAlign: 'left',
textAlignVertical: 'top',
borderColor: 'black',
borderWidth: 2,
padding: padding.md,
margin: 14,
flex: 5,
fontSize: 16,
height: 20,
},
horizontalView: {
flex: 1,
flexDirection: 'row',
alignItems: 'stretch',
justifyContent: 'center',
},
});

export default NewVoice;

hey @gqcryptoraul, thank you for reaching out. from the information provided(aws-exports and app.js) I understand that you are trying to convert text to speech.

async function transcribe(bytes) {
await Predictions.convert({
transcription: {
source: {
bytes,
},
language: 'en-US',
},
})
.then(({transcription: {fullText}}) => console.log({fullText}))
.catch((err) => console.log({err}));
}

The API call being used here would need to be the example as follows.
Predictions.convert({
      textToSpeech: {
        source: {
          text: textToGenerateSpeech,
          language: "es-MX" // default configured in aws-exports.js
        },
        voiceId: "Mia"
      }
    }).then(result => {

      setAudioStream(result.speech.url);
      setResponse(`Generation completed, press play`);
    })
      .catch(err => setResponse(JSON.stringify(err, null, 2)))

Please refer to https://docs.amplify.aws/lib/predictions/text-speech/q/platform/js/#working-with-the-api providing this information. For testing purposes I utilized the Texttospeech function example provided here: https://aws.amazon.com/blogs/mobile/announcing-the-new-predictions-category-in-amplify-framework/
In my tests i observed the error "region not configured for transcription occurs when we use a different api from the category configured.
Please do let us know if this aligns with your use case.

@ykethan   Thanks for your input, but what I need to do is to Transcribe text from audio. using (speechGenerator) So I am also using a library that recognizes the voice and stores it in the buffer and then with the Amplify framework I can write the interpreted text in the temporary voice recording.
As you have a lot of experience I would like if you could send me a link to be used in React-Native.
This is the prediction that I want to use and that I have configured in my local project.
"predictions": {
"convert": {
"speechGenerator": {
"region": "us-east-2",
"proxy": { "proxy": false,
"defaults": {
"voiceId": "joey",
"languageCode": "en-US"
}
}
}
}

hey, I will be transferring the issue to amplify js for better assistance on your use case using react native.
additionally, amplify does allow us to convert text from audio when we provide the following options.
amplify add predictions
? Please select from one of the categories below: Convert
? What would you like to convert?
  Translate text into a different language
  Generate speech audio from text
> Transcribe text from audio

observed the aws-exports file with the following.
"predictions": {
        "convert": {
            "transcription": {
                "region": "us-east-1",
                "proxy": false,
                "defaults": {
                    "language": "en-GB"
                }
            }
        }
    }


[DO NOT MERGE] #359 - Handle metadata for all children of a list field

- Summary

Closes #359

- Test plan

I know, no excuses for not writing any tests but I ended up having to test it all manually anyway in my use case. Adding, removing and updating any child of the list works, there are no incompatibilities with the current version, nothing needs to be changed in the docs (they don't go very deep into the relation widget anyway - room for improvement in another contribution), now works as expected. If you did the setup to confirm the bug exists (see #359), just adding, editing and removing entries in the list field should be enough to confirm that the metadata now comes as expected.

- Description for the changelog

Handle metadata for all children of a list field

- A picture of a cute animal (not mandatory but encouraged)

Sorry, just noticed a little screw up in the diff from screwing around with values, fixing it

^ Now we're good :)

@Benaiah @lmcorreia webpack footer removed

LGTM

Sorry, must have been my build settings. Thanks for the commit, @josephearl


bestvideo+bestaudio format with a new 4k video

I'm having problems with the download of a 4k video with the format "bestvideo+bestaudio". The url is this: https://youtu.be/U-zC8BkPBZM the output looks like this:

And the console data with -v parameter is this:
[youtube] U-zC8BkPBZM: Downloading webpage
[youtube] U-zC8BkPBZM: Extracting video information
[youtube] U-zC8BkPBZM: Downloading DASH manifest
[debug] Invoking downloader on 'https://r3---sn-j5cax8pnpvo-x1x6.googlevideo.com/videoplayback?id=53ecc2f0190f0593&itag=272&source=youtube&requiressl=yes&pl=20&mm=31&ms=au&mv=m&ratebypass=yes&mime=video/webm&gir=yes&clen=177042540&lmt=1420786500033193&dur=270.729&signature=962907BBFA9E264A92A0E64A3DE3199C7AE41F74.3F089D6E0C32C94C88766D4F33B98D1252BE69DC&fexp=900720,907263,909425,934954,937517,9406746,9406813,9406834,9407103,9407465,9408018,9408101,945132,948124,951511,951703,952302,952612,952901,955301,957201,959701,961404,964733&mt=1427113641&key=dg_yt0&upn=wUcrn4vCncs&sver=3&ip=<IP_ADDRESS>&ipbits=0&expire=1427135268&sparams=ip,ipbits,expire,id,itag,source,requiressl,pl,mm,ms,mv,ratebypass,mime,gir,clen,lmt,dur'
[download] Destination: Above & Beyond feat. Alex Vargas - 'All Over The World' (Official Video)-U-zC8BkPBZM.f272.webm
[download] 100% of 168.84MiB in 01:49
[debug] Invoking downloader on 'https://r3---sn-j5cax8pnpvo-x1x6.googlevideo.com/videoplayback?id=53ecc2f0190f0593&itag=141&source=youtube&requiressl=yes&pl=20&mm=31&ms=au&mv=m&ratebypass=yes&mime=audio/mp4&gir=yes&clen=8635569&lmt=1420874399720891&dur=270.837&signature=40D51BD20B372CF14EA6CFB253270E35E7AF7C27.666F496CFEB8EC71224D83A62B0C46F228EA31BA&fexp=900720,907263,909425,934954,937517,9406746,9406813,9406834,9407103,9407465,9408018,9408101,945132,948124,951511,951703,952302,952612,952901,955301,957201,959701,961404,964733&mt=1427113641&key=dg_yt0&upn=wUcrn4vCncs&sver=3&ip=<IP_ADDRESS>&ipbits=0&expire=1427135268&sparams=ip,ipbits,expire,id,itag,source,requiressl,pl,mm,ms,mv,ratebypass,mime,gir,clen,lmt,dur'
[download] Destination: Above & Beyond feat. Alex Vargas - 'All Over The World' (Official Video)-U-zC8BkPBZM.f141.m4a
[download] 100% of 8.24MiB in 00:05
[ffmpeg] Merging formats into "Above & Beyond feat. Alex Vargas - 'All Over The World' (Official Video)-U-zC8BkPBZM.mkv"
[debug] ffmpeg command line: ffmpeg -y -i 'Above & Beyond feat. Alex Vargas - '"'"'All Over The World'"'"' (Official Video)-U-zC8BkPBZM.f272.webm' -i 'Above & Beyond feat. Alex Vargas - '"'"'All Over The World'"'"' (Official Video)-U-zC8BkPBZM.f141.m4a' -c copy -map 0:v:0 -map 1:a:0 'Above & Beyond feat. Alex Vargas - '"'"'All Over The World'"'"' (Official Video)-U-zC8BkPBZM.mkv'

I'm sure is not a problem with the codecs on my PC because downloading only "bestvideo" without encoding to mkv, gives the same result. So the downloaded format is wrong or it has some weir encoding.

Plays smoothly in mplayer, same mess in vlc 2.1.5 for me. What player do you use for playback?

Added to the issue: VLC Media Player on Windows 8.1

I'm closing the issue as it's out of scope of youtube-dl and seems to be vlc related (neither 2.1.5 not 2.2.0 worked for me). At the same time this video plays perfectly in mplayer and ffplay.


Require PHP 5.5 for WildPHP

PHP 5.4 support is going to be dropped in 10 days, so let's stop supporting PHP 5.4.

Don't worry about the scrutinizer error; I canceled it so we don't get too many requests in a short period.
Thanks, will merge :)


Allow ClientApps to write meta.account

To allow more flexible configurations of access policies, there are times when a client will need to set the account of a resource based on business logic. A classic example managing family access policies - we'd want to assign a parent to an account representing that family group.
Combined with #1441 , this will give us a lot more flexibility on crafting access policies.

@rahul1 Thoughts on which ClientApplication accounts should be allowed to set account?
Option 1 - any client that does not have an account compartment defined in corresponding AccessPolicy
Option 2 - any client that is configured as a Project Admin
Option 3 - Other?


Add support for sending and receiving pings

added support for receiving pings, but still need to implement sending


Enabling compression on client connection results in "connection was bad" error

When compression is enabled on the client my application fails with connection was bad, the nested exception is:
io.CopyN failed. err unexpected EOF, copied 0, expected 29

But when disabling compression the application works correctly.
Repro Steps
Start MariaDB in Docker:
docker run --rm -e MYSQL_ROOT_PASSWORD=root -p 3306:3306 mariadb:10.3.39

Create the DB and table found in the attached file
db_schema.txt
Run this test:
import (
  "github.com/go-mysql-org/go-mysql/client"
  "github.com/go-mysql-org/go-mysql/mysql"
  "github.com/stretchr/testify/assert"
)

func TestServer_ShowFieldTable1(t *testing.T) {
	a := assert.New(t)

	c, err := client.Connect("localhost:3306", "root", "root", "mydb", func(conn *client.Conn) {
		conn.SetCapability(mysql.CLIENT_COMPRESS) // Disable compression and the test will pass
	})
	a.NoError(err)

	execute, err := c.Execute("SHOW FIELDS FROM mydb.table1")
	if a.NoError(err) {
		rs := execute.Resultset
		a.Equal(575, len(rs.RowDatas))
	}
}

Some more context in case it helps. I notice that setting net_buffer_length on the server causes the above test case to pass, for example:
set global net_buffer_length=32768;

then resetting it lot the original value will revert to the previous failing behavior.
set global net_buffer_length=16384;

Thanks for the bugreport. I'll try to reproduce this.

I've created a PR that seems to fix this in my fork: https://github.com/go-mysql-org/go-mysql/pull/863

Merged https://github.com/go-mysql-org/go-mysql/pull/863


feat: add netlify rebuild periodic job

Signed-off-by: Kush Trivedi<EMAIL_ADDRESS>

/assign @castrojo
/cc @mrbobbytables

/lgtm
/approve


Source Detail Pages

As a user I want to go to the Git Repository, Bucket, or Helm Repository detail page and on the detail tab see extra metadata information that is on the object.
Considerations: we should be able to use k8s annotations on the resource for accomplishing this task.
Acceptance Criteria
Add annotations to a Git Repository, Bucket, and Helm Repository in your git repository and have them sync with Flux.  When you open Weave GitOps and go to the detail pages of those specific Git Repository, Bucket, and Helm Repository objects you will see the following behavior.

When I mark something with metadata.weave.works/description a key/value pair for that item appears below the default key value pairs in the UI. E.g. metadata.weave.works/description: Hello would appear as Description: Hello on the site under the Metadata group per the designs.

When I create an annotation with multiple words with - then I will format that appropriate.  E.g.metadata.weave.works/created-by: Lone Star then I will see Created By: Lone Star on the site under the Metadata group per the designs.

When I create an annotation with multiple words via lower camel case createdBy or upper camel case CreatedBy then no special formatting will occur. E.g. metadata.weave.works/createdBy: Shrek or metadata.weave.works/CreatedBy: Boss Baby then I will see createdBy: Shrek and CreatedBy: Boss Baby respectively.

When I create an annotation that is a url such as metadata.weave.works/google: https://www.google.com then I would expect to be able to see Google: https://www.google.com and to be able to click on the hyperlink and be taken to the appropriate page on a new tab.

When I have an additional weaveworks annotation such as weave.works/surprise or random.weave.works/something these are not registered as metadata and do not appear on the page.

When I have an additional arbitrary annotation such as this.is.important/i-mean-it these are not registered as metadata and do not appear on the page.

When there are multiple metadata key/values they are sorted alphabetically.  So even if the payload returns metadata.weave.works/foo before metadata.weave.works/bar.  I would expect to see Bar then Foo on the detail page in the metadata section.

If the user were to put some sort of code in the annotation that it would be plain text and we wouldn't process that code.  Put some HTML in as an annotation and ensure it comes back as plain text. E.g.  This is text would come back as it is written.  The text would not be bold.

We will not support non http/https hyperlinks.

If there is no metadata to display then do not show the Metadata header.

Remaining work in this story:

Point 1, 2 and 3 are covered by #2269
Point 4 mentions both a label (#2269) and a value (#2280)
Point 5 and 6 are done.
Point 7 is not done.
Point 8 and 9 are covered by #2280
Point 10 is done


[WIP] Allow user to choose between multiple endpoint lists at runtime

What does this PR do?
This PR addresses OSD-15143, which calls for conditional logic to support hypershift-specific endpoints. We've decided to generalize this to "support any arbitrary list of endpoints baked into the golden AMI."
Checklist

[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have made corresponding change to the default configuration files
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have tested the functionality against gcp / aws, it doesn't cause any regression
[ ] I have added execution results to the PR's readme

Reviewer's Checklist

[ ] (This needs to be done after technical review) I've run the branch on my local, verified that the functionality is ok

How to test this PR
TBA

/label tide/merge-method-squash

Codecov Report

Merging #168 (a8bb96a) into main (c63a060) will decrease coverage by 0.03%.
The diff coverage is 0.00%.

Additional details and impacted files

@@           Coverage Diff            @@
##            main    #168      +/-   ##
========================================
- Coverage   5.81%   5.79%   -0.03%
========================================
  Files         17      17
  Lines       1100    1105       +5
========================================
  Hits          64      64
- Misses      1027    1032       +5
  Partials       9       9

Impacted Files
Coverage Δ

cmd/egress/cmd.go
0.00% <0.00%> (ø)

pkg/helpers/helpers.go
33.33% <ø> (ø)

pkg/verifier/aws/entry_point.go
0.00% <0.00%> (ø)

pkg/verifier/package_verifier.go
0.00% <ø> (ø)

/hold
This PR is ready for review, but I'm holding it until the compatibility warning in the description is addressed.

/unhold
Now that the new config files have landed in the golden AMI, this PR is ready to be merged after a final review :)

/lgtm


add a key constructor accepting raw bytes

The current API only accepts hex-encoded strings. Although this is what's specified, there are scenarios where a Bytes.t, Cstruct.t or similar might come in handy.

RFC 8422 seems to be using raw bytes:

For the X25519 and X448 curves, the only valid representation is the
one specified in [RFC7748], a 32- or 56-octet representation of the u
value of the point.

Both HACL* and Zarith support Bytes.t, ocaml-tls operates on Cstruct.t [2]. Cstruct.t can be converted to Bigarray.t without copying, but not to Bytes.t. Thus, users that hold a Cstruct.t will always have to copy their data to feed it to the curve backend, so offering a Bytes.t interface should be sufficient.


[hotfix] Update copyright NOTICE year to 2024

What is the purpose of the change
(For example: This pull request makes task deployment go through the blob server, rather than through RPC. That way we avoid re-transferring them on each deployment (during recovery).)
Brief change log
(for example:)

The TaskInfo is stored in the blob store on job creation time as a persistent artifact
Deployments RPC transmits only the blob storage reference
TaskManagers retrieve the TaskInfo from the blob cache

Verifying this change
Please make sure both new and modified tests in this PR follows the conventions defined in our code quality guide: https://flink.apache.org/contributing/code-style-and-quality-common.html#testing
(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)

Added integration tests for end-to-end deployment with large payloads (100MB)
Extended integration test for recovery after master (JobManager) failure
Added test that validates that TaskInfo is transferred only once across recoveries
Manually verified the change by running a 4 node cluster with 2 JobManagers and 4 TaskManagers, a stateful streaming program, and killing one JobManager and two TaskManagers during the execution, verifying that recovery happens correctly.

Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

@1996fanrui @RocMarshal  If you have time, can you help reivew some of this PR, thank you

would you mind updating the PR description as well?

Thanks @caicancai for the fix!
The change LGTM, would you mind updating the PR description as well?

OK，Do you think this modification is appropriate?


[Android] Enable widevine support

Currently, crosswalk only support clearkey CDM, but doesn't support
widevine CDM. This PR will enable it in crosswalk for android.
The spec can refer https://w3c.github.io/encrypted-media/.
The steps to verify this feature:
Add "enable_widevine=1" to the GYP_DEFINES. Then run gyp and build.
The following link is for DRM testing. If 'com.widevine.alpha' keySystem
is not supported, the below video won't play.
http://shaka-player-demo.appspot.com/?dash;asset=assets/car_segmenttemplate.mpd

@huningxin Please take a look.

@huningxin The trybot error has been fixed. PTAL.

@qjia7 have you both check turn on/off enable_widevine? From your change, I guess there should be problem when enable_widevine==0.
And your code use defined(OS_ANDROID) protection? Isn't Cdm corss-platform support?
 From your change, I guess there should be problem when enable_widevine==0.

@halton I only checked when enable_widevine=1, whether widevine CDM is supported. The result is even we turn on enable_widevine, the test video still can't be played. So I investigated the reason and send this PR. After adding this patch, the test video can be played well. But I haven't checked to turn off enable_widevine, But I can give a try and provide the result. I think enable_widevine will add some classes and macro. If we disable it, maybe some functions will be blocked which will result in playing failure.

And your code use defined(OS_ANDROID) protection? Isn't Cdm corss-platform support?

cdm is cross-platform. But for this patch, I only enabled widevine for android support (I think this is high priority). I can enable other platforms in following PR. How do you think?

@qjia7 , you need ensure the build fine with enable_widevine on/off. And please decide whether to turn this flag on by default.
Secondly, I know you only tested on Android. But the code seems cross-platform, you suppose benefit upstream already, no need to explicitly add protection for Android unless we really want to support Android only.
Add @darktears  in cc.

@halton

I know you only tested on Android. But the code seems cross-platform, you suppose benefit upstream already, no need to explicitly add protection for Android unless we really want to support Android only.

Chromium have supported widevine. Crosswalk have some issues to directly support it since it depends on  content level. But there are some implementation is in chrome level.
This PR is only for android not for linux, windows.  There is no error to explicitly add protection for android because those classes are only for android. If we want to support other platforms, we need to do like below:
void AddChromeKeySystems(std::vector<KeySystemInfo>* key_systems_info) {
#if defined(ENABLE_PEPPER_CDMS)
  AddExternalClearKey(key_systems_info);

#if defined(WIDEVINE_CDM_AVAILABLE)
  AddPepperBasedWidevine(key_systems_info);
#endif  // defined(WIDEVINE_CDM_AVAILABLE)
#endif  // defined(ENABLE_PEPPER_CDMS)

#if defined(OS_ANDROID)
  cdm::AddAndroidWidevine(key_systems_info);
#endif  // defined(OS_ANDROID)
}

@halton @darktears Any feedback about current implementation?

LGTM, please rebase your code to fix the merge conflict. Ping @darktears

@halton The patch has been updated. Thanks.

@kenchris Please take a look. Seems that @darktears is on vacation.

LGTM

Does one need to ship additional files somewhere if enable_widevine==1? I've always been under the impression that some proprietary blob is needed at some point.

Does one need to ship additional files somewhere if enable_widevine==1?

I think it doesn't need. But I am not sure.  In fact, I am not very clear about your question. Could you please tell me how to verify it in my developing machine? I can check it:)

First of all: I may be asking some stupid questions, but I really don't know much about what this Widevine CDM is supposed to do and how.
With that said, one check would be to launch that URL in the pull request message using Crosswalk on Android and check if it works out of the box. If it does not, it means additional files need to be shipped somewhere.

@rakuco  It should not need additional resource. Apply this patch and build it. I can directly use src/out/Debug/xwalk_app_template.tar.gz alone. Use make_apk.py in that zip file to build a widevine application which will run  http://shaka-player-demo.appspot.com/?dash;asset=assets/car_segmenttemplate.mpd well.
BTW: Widevine cdm is use to decrypt an encrypted html5 video. So you see the spec https://w3c.github.io/encrypted-media/ for the encrypted-media. And some concepts of Key Systems.
For android, widevine cdm will use android sdk API android.media.MediaDrm
For windows, widevine cdm will use google's widevinecdm.dll

@rakuco okay to merge with @qjia7 's explanation?

OK, so on Android nothing's special is needed, whereas on other platforms a proprietary blob is needed.

a question: How about Playready CDM

a question: How about Playready CDM

Currently, it is not supported. We need to evaluate the status of upstream and consider the next step.


fixFix scanner's _max_thread_num may == 0

Proposed changes
Fix scanner's _max_thread_num may == 0 when setting  doris_scanner_thread_pool_thread_num < 4;
Problem summary
Describe your changes.
Checklist(Required)

[ ] Does it affect the original behavior
[ ] Has unit tests been added
[ ] Has document been added or modified
[ ] Does it need to update dependencies
[x] Is this PR support rollback (If NO, please explain WHY)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 32.53 seconds
stream load tsv:          444 seconds loaded<PHONE_NUMBER>9 Bytes, about 160 MB/s
stream load json:         21 seconds loaded<PHONE_NUMBER> Bytes, about 107 MB/s
stream load orc:          60 seconds loaded<PHONE_NUMBER> Bytes, about 17 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230414132159_clickbench_pr_129213.html


H <IP_ADDRESS> + ST2 on OSX: Can't seem to get the build system to work

Using Build system VEX Build. Runs fine and reports finished in the ST shell, but produces no *.vex file.
Is it because of the minor-minor version 16 at the end of the folder name?
Or is there another trick?
-b

Bin path on osx is actually /Library/Frameworks/Houdini.framework/Versions/#.#.#/Resources/bin.
The build system tries to find it under /Applications/Houdini #.#.#

Fixed OSX_DEFAULT, osx specific regex and the vcc bin path. But i'm still getting 'vcc: Error 1095: No input files specified.' when running 'compile and run.py' directly from the console. Doesn't work inside ST2 either. No error's but produces no vex file so probably same error.
Not sure what's wrong. I'll keep testing.

Well, you've got it finding the compiler which is good but the path to the vex script is probably wrong or ill-formed. Definitely a bug. The file you're trying to compile is saved, right? You're not just running the command in a new tab?
I'll try and take a look at this over the weekend. The entire package is due an update for H15 so I'll get those changes in as well. I don't have OSX installed on any machines atm so there may be some back and forth before I get it right.

The weird thing is that i'm doing os.path.exists() on vfl, vex and vcc inside the build method and both vfl and vcc are good.
So i tried to set the shell arg in subprocess.call([vcc, vfl, '-o', vex], shell=False)to false, and then i get vcc to output the correct vex file when running python compile_and_run.py with out any errors.
The build system still doesn't work though so i'm suspecting it has something to do with how VEX Build.sublime-buildis set up. Maybe :)

Not sure if the PR is in line with your idea of doing everything from "compile_and_run.py" and it might be a little hacky. But it works :)


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Fix resume session

Currently resumeSession is called before config is finished. This make the tokens be reset before the user is loaded. The session is lost each time you reload the page.
In order to make it work you will have to init your client like that:
(async () => {
  await AccountsClient.config({
    server: 'http://localhost:3010',
    tokenStoragePrefix: 'express-rest',
    history: browserHistory,
    title: 'express-rest',
    loginPath: '/login',
    signUpPath: '/signup',
    homePath: '/',
    reduxLogger: createLogger(),
    passwordSignupFields: 'USERNAME_AND_EMAIL',
  }, new RestClient({
    apiHost: 'http://localhost:3010',
    rootPath: '/accounts',
  }));
  await AccountsClient.resumeSession();
})();

So basically, the user is now responsible for calling resumeSession?
That's fine by me..

It's not the best way I know but at least it's now working..

Btw is the first react version it was like that.

I think it's the same on react-native package.. This basically means that Accounts.config will be called in the app bootstrap phase, then the router (manager by the user) will call resumeSession and on fail it will route to login form.. That's the basic scenario but you have the freedom to do whatever you'd like.