Can't connect to mysql after vagrant up

I have several vm's but I only have one up at a time.  My newest ones no longer allow me to connect to the db via the instructions in the docs.  I can still connect to my older vm's.  Here's the output from Sequel Pro: The SSH Tunnel has unexpectedly closed.
Used command:  /usr/bin/ssh -v -N -S none -o ControlMaster=no -o ExitOnForwardFailure=yes -o ConnectTimeout=10 -o NumberOfPasswordPrompts=3 -i /Users/brentratliff/.vagrant.d/insecure_private_key -o TCPKeepAlive=no -o ServerAliveInterval=60 -o ServerAliveCountMax=1<EMAIL_ADDRESS>-L 58118:<IP_ADDRESS>:3306
OpenSSH_6.9p1, LibreSSL 2.1.8
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 21: Applying options for *
debug1: Control socket " none" does not exist
debug1: Connecting to <IP_ADDRESS> [<IP_ADDRESS>] port 22.
debug1: fd 3 clearing O_NONBLOCK
debug1: Connection established.
debug1: key_load_public: No such file or directory
debug1: identity file /Users/brentratliff/.vagrant.d/insecure_private_key type -1
debug1: key_load_public: No such file or directory
debug1: identity file /Users/brentratliff/.vagrant.d/insecure_private_key-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.9
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.7
debug1: match: OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.7 pat OpenSSH_6.6.1* compat 0x04000000
debug1: Authenticating to <IP_ADDRESS>:22 as 'vagrant'
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client<EMAIL_ADDRESS>none
debug1: kex: client->server<EMAIL_ADDRESS>none
debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
debug1: Server host key: ecdsa-sha2-nistp256 SHA256:i5ulGQSaClBuMlPY7WWiycJA6WN8XqlTQZDmLkqImSs
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:i5ulGQSaClBuMlPY7WWiycJA6WN8XqlTQZDmLkqImSs.
Please contact your system administrator.
Add correct host key in /Users/brentratliff/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /Users/brentratliff/.ssh/known_hosts:3
ECDSA host key for <IP_ADDRESS> has changed and you have requested strict checking.
Host key verification failed.

@brentratliff - "Host key verification failed." in this case just means that you're trying to connect to the same IP address (<IP_ADDRESS>) but the VM has been recreated, and has a new host key. This is a security measure used to help protect against MITM attacks, but in this case, since you know you recreated the VM, you can ignore it. You just need to delete the offending key.
See this article for how I do it: http://www.jeffgeerling.com/blog/2016/fastest-way-reset-host-key-when-rebuilding-servers-on-same-ip-or-hostname-frequently


No Grouping when using render option on columnDefs option

Hi,
I'm using an ajax data source and use the columnDefs.render Option to manipulate the data.
But there is no grouping on the specified column.
If I do NOT use the render option and use the columns option instead (not applicable on my project)  it works as expected.
live example
http://live.datatables.net/logubedu/1/edit

Hmmmm... The problem is much more deeper than I supposed.
First of all, I can simply fix your case in example. I can change to deep compare objects from "data" array. But his only helps in the case.
To provide more universal solution (which works for any render() function, also if it depend on row), more investingating required.
Or I can ask for comparators - the functions that compare data for specified columns in your way. This provide more universal solution (because you don't depend on 'display' type and can use any comparison). To make the example work we need to make a function for render, set up it for Rowsgroup and in columnDefs like this:
columnDefs: [
  {
    render: renderFunc,
    targets: '_all'
  }
]
comparators: [
  (a, b) -> render(a) === render(b)
]

renderFunc () {
  ...
  return value;
}

What do you think? Will the solution with comparators satisfied you?
To not forget:

column().data() only returns raw data values. But updated after ordering and so on

	_api_registerPlural( 'columns().data()', 'column().data()', function () {
		return this.iterator( 'column-rows', __columnData, 1 );
	} );

cell().render('display') return the result data will be shown in table. But will be! It seems the new data (applied immediately after calling order()) isn't change until actual render()

	_api_registerPlural( 'cells().render()', 'cell().render()', function ( type ) {
		return this.iterator( 'cell', function ( settings, row, column ) {
			return _fnGetCellData( settings, row, column, type );
		}, 1 );
	} );

I'm not sure it works in another plugin

First of all, I can simply fix your case in example. I can change to deep compare objects from "data" array. But his only helps in the case.

Could you post a fixed version for me to test?

Or I can ask for comparators - the functions that compare data for specified columns in your way. This provide more universal solution (because you don't depend on 'display' type and can use any comparison).

So I reuse my existing render function for comparison?
And this comparison would only be executed on the columns I specified in the rowsGroup option?
 rowsGroup: [
        0,
 ],

What do you think? Will the solution with comparators satisfied you?

Sounds fine to me :smiley_cat:

As a quick fix, I use this deepEqual function from https://stackoverflow.com/questions/201183/how-to-determine-equality-for-two-javascript-objects
function deepEqual(x, y) {
  const ok = Object.keys, tx = typeof x, ty = typeof y;
  return x && y && tx === 'object' && tx === ty ? (
    ok(x).length === ok(y).length &&
      ok(x).every(key => deepEqual(x[key], y[key]))
  ) : (x === y);
}

and replaced this line
if (columnValues[iRow] === columnValues[newSequenceRow]) {

with
if (deepEqual(columnValues[iRow], columnValues[newSequenceRow])) {

Yes. I mean exactly you wrote about quick fix. But this is not universal.
What I mean is the setting like:
rowsGroup: {
 groups: [ 0 ],
 comparators: [(a, b) -> renderFunc(a) === renderFunc(b)]
}

where renderFunc is the function of your render.
Because it's universal you can simply change it to whatever you want. For example:
rowsGroup: {
 groups: [ 0 ],
 comparators: [deepEqual]
}

It's decided. I will do just that at my next free weekand.

Hi, i've got the same problem. Any fix yet?


Changes for dropdown crash and UI fix for ios

Changes for dropdown crash while closing the popup.

@rthanga1
Below are points addressed in this PR.

Dropdown Crash
Added ControlLabel control to use the same as Input label
Added that Control Label In Dropdown
Switch Text binding is not working. So fixed that
Switch position left or right is required so added that option as well
Helper Text is not wrapping in TmInput


[BUG] Datatable UI Repeating in the blade template

Describe the bug
Datatable UI Repeating in the blade template
Steps To Reproduce
Added below sample/example code in blade template from documentation
`{{-- Setup data for datatables --}}
@php
$heads = [
'ID',
'Name',
['label' => 'Phone', 'width' => 40],
['label' => 'Actions', 'no-export' => true, 'width' => 5],
];
$btnEdit = '

';
$btnDelete = '

';
$btnDetails = '

';
$config = [
'data' => [
[22, 'John Bender', '+02<PHONE_NUMBER>89', ''.$btnEdit.$btnDelete.$btnDetails.''],
[19, 'Sophia Clemens', '+99<PHONE_NUMBER>21', ''.$btnEdit.$btnDelete.$btnDetails.''],
[3, 'Peter Sousa', '+69<PHONE_NUMBER>5243', ''.$btnEdit.$btnDelete.$btnDetails.''],
],
'order' => [[1, 'asc']],
'columns' => [null, null, null, ['orderable' => false]],
];
@endphp
{{-- Compressed with style options / fill data using the plugin config --}}

`
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots

Environment
Complete the next environment information.

Item
Version

Laravel
8.86

Project
Sample Project

OS
Windows

Additional context
Add any other context about the problem here. If you already have ideas to solve the issue, add them here or create a Pull Request (PR).

Also Data Table UI is not same as original template. Breadcrumbs how to populate in this template?

to add breadcrumbs, add @section('content_header') before @section('content')
@section('content_header')

Users

Dashboard

Users

@stop
@section('content')
 Your content goes here
@stop

@smilymunna92 Please, you can get the same UI style if you do not use striped or any other attribute on the component, except bordered. On the other hand, I can't reproduce your first issue. Probably, you are doing something wrong. Please, share the blade markup you are using to define the component.

Closed, no feedback...


Parse StructType columns in case expressions

Fixes #309

Looks good - need to bump version in pyproject.toml then we can merge


Ticket creation policy

We would like to have an option that controls the criteria for opening a ticket.
We would like to following fields to be configured via the cfg.yaml:
Policy-Min-Vulnerability= high (what is the minimum vulnerability severity that triggers a ticket)
Policy-Registry=<comma separated list of registries that will trigger opening a ticket)
Policy-Image-Name=<comma separated list of images that will trigger opening a ticket)
Policy-Non-Compliant=true/false (open ticket only if image is non-compliant)

@jerbia are this policies for all plugins (jira, email) or only for Jira?
if there are common rules, should i create new part in cfg.yaml?

@jerbia I offer add  settings block to cfg.yalm. Is it ok?
- name: settings
  Policy-Min-Vulnerability: high # (what is the minimum vulnerability severity that triggers a ticket)
  Policy-Registry: [alpine, Docker image] #<comma separated list of registries that will trigger opening a ticket)
  Policy-Image-Name: [alpine,alpine2] #<comma separated list of images that will trigger opening a ticket)
  Policy-Non-Compliant: true # true/false (open ticket only if image is non-compliant)

- name: jira
  enable: true
  ...

and this settings will be common for all plugins

@jerbia
I don't understand about a severity param.
Should I use aqua_severity, nvd_severity, vendor_severity or other?

Now I use aqua_severity. Pushed.


Global project enums

A great feature would be to be able to define enums at Project level, so I can use the same single enum for multiple Entities.
A classic example: having a global enum "ItemType" that could be used in different entities such as an item on the ground, a mob loot, or the content of a container etc.

Would it be easier to just define global values for all entities? I've also wondered if this would be a useful feature.
Otherwise maybe having global values per tag? I did some GOAP stuff recently where I had to setup a ton of states per entity that this would make pretty trivial...

I think having global values that are applied to all entities would allow for the simplest workflow and hit the most use-cases. I think per-tag values is an interesting idea, but would be a good feature after global values :)

Also open to the idea of Global Enums in general tho, I can see how useful that could be. We could add another tab to the project editor just for defining them, and then both the level values and entity values could pull their available Enums from that list.
I guess the question is which solution would provide the most value at the moment?

well considering levels already have global values, I'd lean towards global values for entities, but I could be swayed if I could think of a really good use-case for global enums!

@deepnight would global entity values solve your use case?

I'm not 100% to understand the proposal here. You lost me between enums and global entity values 🤔
Just to make sure I got it right, here is my interpretation:

add a way to define a Project-level enum (ex. Item, which contains Ammo and Gold)
allow Entities to have a value typed as Project Enum which refers to an existing Project-level enum (ex: a mob entity that has lootDrop value which is an Item)
in the editor, when you select a Mob instance and edit its lootDrop value, it shows a drop-down that lists all Project-level enum possible values (ex: Ammo or Gold, from Item).
multiple Entities can have values typed as Item (ex: a Chest with a content value)

Ah I see what you're saying. I guess what I was thinking about would be like

add a way to define global entity values that would be applied to all entities (ex. an enum value lootDrop, which contains None, Ammo, and Gold)
when you create an Entity, you won't have to enter in that custom value
when you select any Entity, the loopDrop value will be editable

I think the use-cases for these are so different that it would probably be considered two separate features. I think my idea would be more convenient in some cases but would create so much junk that it's not really ideal (unless we eventually would like to create tag-level global values - @deepnight's suggestion sounds really good to me!

Before we think about implementing this let's think about the workflow - where would you enter global enums? How would you select them? I'm wondering if they would live in the General tab or in the Entities tab, or whether or not it'd be useful to have another tab?

🤔 one idea would be to keep it out of the way and just surface it here.
Or maybe even better, saving all instanced values as templates and having some kind of autocomplete?

Maybe combine the two and only save globally-marked values as templates to avoid confusion?

and I guess while I'm in the mood, maybe instead of tag-level global values, you could instead have a way to make an already-created value global AND apply it to all entities, or entities by tag?

in the case of global values, we might want to add some kind of indicator that they're global so the user understands that editing it in one spot will edit it in every spot

Hmm I see :)
Maybe we could just separate the Enum into 2 separate types:

LocalEnum: an enum that is defined "on-the-fly" in the Entity definition
ProjectEnum: an enum which is defined in the General tab, as a Project-related enum

That approach makes sense for the most part but what trips me up is

Should options used only by entities exist in the General tab? I'm a little worried that we could throw every "global" thing in there until it gets really polluted.
I'm not sure where global enums would be accessed from individual entity setup, would we put them in the same dropdown as the value types:

or would they be accessible from a new button under this one?

either way again I'm a little worried about polluting these settings pages - it may just mean that they need a UI revamp so that it feels less cluttered? What do you all think?

If we implement Project level enums, I don't see why we'd even need local enums. What I'm thinking is that we add a "Values" tab to the project editor, under "Tilesets", where you can define the Enums you want (and eventually global values, since I still want that feature 😄). Then in the Entities tab, when you try to add an enum value, you are provided with a dropdown with all of your available enums.
This way we don't need to worry about scoping/UI for global and local enums, and you can reuse any enum you write as much as you need.

I think making all values global will just make something easy now more obscure and complicated for new users. I was simply suggesting having some Enums as global would be quite logical for this particular case.
An example of value I wouldn't like to be global:

I have a Mob entity with a Life (int) value, clamped from 0-100
I have a Door entity with a Life (int) value, not clamped

If these were globals, I would have to name them differently for no good reason, except they were forced as globals, which they are not :) I like the current approach which is super intuitive as it is.
My only grief is with current Enum because any medium/large project rapidly calls for "maintain consistency between Enums shared between different entities.
It's still useful to have local Enums because they mostly serve the purpose of "clamping" values to a limited set of possibilities, like clamping an Int. For example, I have a "Behavior" enum on my Mobs which has "Immobile" and "Wandering" possible values. Don't see a reason to have it as a global, BUT I could definitely live with that :) Enums have an intricate idea of being more advanced than Int for example. But that's just how I see them.
Having Project enums in a separate tab is a good approach, keeping Project Settings clean.

🤔 Does having to tab out of an entity creation flow to set a value negatively impact workflow too much?
And yeah let's get a UI revamp ticket open haha

@deepnight do you have a suggestion of how users will select those global enums from the Entity Creation flow?

I like to keep things explicit in term of UX. So I would either:

drop local enums and just have an Enum type, with a dropdown to pick which GlobalEnum I want to use here. Local Enums are not as important as global ones for me, but that's really a personal point of view.
have 2 separate types: Enum and GlobalEnum, both are explicits

I'm not a huge fan of a check box that actually changes a lot of things internally, in a "silent" way.
That's something that needs to be tested and check which approach is more intuitive & user friendly I guess 🤔

Just to clarify - I didn't mean to imply getting rid of local entity values, just local enum definitions 😅
The first idea that @deepnight suggested:

drop local enums and just have an Enum type, with a dropdown to pick which GlobalEnum I want to use here. Local Enums are not as important as global ones for me, but that's really a personal point of view.

is basically what I meant. The stuff about the global entity values (if we implement them or per-tag values) wouldn't end up replacing local values, they would be additions.
Sorry if I made that confusing!

I feel like losing local entity enums would be pretty bad. I also feel like separating out enums from all the other value types is a weird move to make, I'd rather have the ability to use all kinds of global data types.
BUT I do think that overall you might save time in a large project defining global enums and using them instead of local enums in the way you've described, so I'm not against the idea, I just feel like there may be a better way of handling it.
That said, I can't think of a reason not to move forward with this implementation if you guys like it! I think it might affect OGMO project files a little bit, but it shouldn't hurt ogmo LEVEL files.

Sounds like deepnight's second solution (have 2 separate types: Enum and GlobalEnum, both are explicits) is the one to go with then! I don't think switching tabs to edit global enums is too bothersome  My recommended UI implementation:

Add a button that opens a "Global Enum Editor" Popup to the entity tab:

Add Global Enum to the value type dropdown underneath the "Enum"

I like this approach :) Maybe you can have a single Enum type, but in the value editor (on the right side), you can eitheir pick a global enum from a drop-list, or type possible enum values in the text editor as it is now.
The enum sub-type is grayed to clearly show which one you're using (local or global)

started work on this under the global-enums branch 👍


Tracking issue for OpenNeuro sample run review

[ ] default

[x] ds000001_sample

[x] sub-10
[x] sub-11
[x] sub-13
[x] sub-16

[x] ds000157_sample

[x] sub-06
[x] sub-10
[x] sub-12
[x] sub-30

[x] ds000172_sample

[x] sub-control03
[x] sub-control04
[x] sub-control05
[x] sub-control09

[x] ds000203_sample

[x] sub-16
[x] sub-17
[x] sub-19
[x] sub-20

[x] ds000218_sample

[x] sub-05
[x] sub-13
[x] sub-19
[x] sub-20

[x] ds000219_sample

[x] sub-04
[x] sub-19
[x] sub-20
[x] sub-22

[x] ds000224_sample

[x] sub-MSC02
[x] sub-MSC03
[x] sub-MSC05
[x] sub-MSC06

[x] ds000229_sample

[x] sub-04
[x] sub-07
[x] sub-10
[x] sub-12

[x] ds000231_sample

[x] sub-01
[x] sub-04
[x] sub-05
[x] sub-08

[x] ds000233_sample

[x] sub-rid000012
[x] sub-rid000033
[x] sub-rid000036
[x] sub-rid000037

[x] ds000256_sample

[x] sub-CTS201
[x] sub-CTS213
[x] sub-CTS238
[x] sub-CTS241

[x] ds001019_sample

[x] sub-04
[x] sub-17
[x] sub-23
[x] sub-24

[x] ds001021_sample

[x] sub-A00008326

[ ] ds001105_sample

[ ] sub-004
[ ] sub-006
[ ] sub-011
[ ] sub-028

[ ] ds001219_sample

[ ] sub-05
[ ] sub-15
[ ] sub-19
[ ] sub-20

[ ] ds001226_sample

[ ] sub-CON10
[ ] sub-PAT02
[ ] sub-PAT05
[ ] sub-PAT23

[ ] ds001242_sample

[ ] sub-07
[ ] sub-26
[ ] sub-32
[ ] sub-45

[ ] ds001357_sample

[ ] sub-003
[ ] sub-008
[ ] sub-011
[ ] sub-016

[ ] ds001399_sample

[ ] sub-MOCCAG001
[ ] sub-MOCCAG002
[ ] sub-MOCCAG003

[ ] ds001408_sample

[ ] sub-NF06
[ ] sub-NF16
[ ] sub-control11
[ ] sub-control18

[ ] ds001419_sample

[ ] sub-01

[x] ds001439_sample

[x] sub-06
[x] sub-11
[x] sub-13
[x] sub-17

[ ] ds001634_sample

[ ] sub-01
[ ] sub-03
[ ] sub-17
[ ] sub-18

[ ] ds001635_sample

[ ] sub-04
[ ] sub-06
[ ] sub-07
[ ] sub-09

[ ] ds001722_sample

[ ] sub-02
[ ] sub-03
[ ] sub-11
[ ] sub-13

[ ] ds001761_sample

[ ] sub-01
[ ] sub-02
[ ] sub-03
[ ] sub-04

[ ] ds001818_sample

[ ] sub-012
[ ] sub-018
[ ] sub-036
[ ] sub-049

[ ] ds001840_sample

[ ] sub-08
[ ] sub-15
[ ] sub-24
[ ] sub-31

[ ] ds001927_sample

[ ] sub-s005
[ ] sub-s012
[ ] sub-s017
[ ] sub-s023

[ ] ds002013_sample

[ ] sub-AAA02
[ ] sub-AAA03
[ ] sub-AAX01
[ ] sub-AAX02

[ ] ds002033_sample

[ ] sub-15
[ ] sub-17
[ ] sub-22
[ ] sub-41

[ ] fs-no-reconall

[x] ds000001_sample

[x] sub-04
[x] sub-06
[x] sub-12
[x] sub-13

[ ] ds000172_sample

[ ] sub-control01
[ ] sub-control02
[ ] sub-control05
[ ] sub-control11

[ ] ds000203_sample

[ ] sub-10
[ ] sub-12
[ ] sub-13
[ ] sub-17

[ ] ds000218_sample

[ ] sub-02
[ ] sub-04
[ ] sub-10
[ ] sub-21

[ ] ds000219_sample

[ ] sub-01
[ ] sub-08
[ ] sub-15
[ ] sub-20

[ ] ds000229_sample

[ ] sub-01
[ ] sub-02
[ ] sub-03
[ ] sub-15

[ ] ds000231_sample

[ ] sub-05
[ ] sub-06
[ ] sub-07
[ ] sub-09

[ ] ds000233_sample

[ ] sub-rid000001
[ ] sub-rid000027
[ ] sub-rid000036
[ ] sub-rid000041

[ ] ds001299_sample

[ ] sub-02004
[ ] sub-02007
[ ] sub-02010
[ ] sub-02017

[ ] ds001302_sample

[ ] sub-06
[ ] sub-07
[ ] sub-10
[ ] sub-14

[ ] ds001510_sample

[ ] sub-09
[ ] sub-18
[ ] sub-21
[ ] sub-30

[ ] ds001511_sample

[ ] sub-sid000001
[ ] sub-sid000004
[ ] sub-sid000009
[ ] sub-sid000012

[ ] ds001534_sample

[ ] sub-07
[ ] sub-14
[ ] sub-26
[ ] sub-31

[ ] ds001634_sample

[ ] sub-08
[ ] sub-11
[ ] sub-13
[ ] sub-17

[ ] ds001635_sample

[ ] sub-06
[ ] sub-08
[ ] sub-10
[ ] sub-12

[ ] ds001722_sample

[ ] sub-01
[ ] sub-09
[ ] sub-15
[ ] sub-16

[ ] ds001907_sample

[ ] sub-RC4107
[ ] sub-RC4119
[ ] sub-RC4120
[ ] sub-RC4130

[ ] ds002006_sample

[ ] sub-03
[ ] sub-19
[ ] sub-23
[ ] sub-29

[ ] ds002306_sample

[ ] sub-01
[ ] sub-03
[ ] sub-04
[ ] sub-06

Something weird that I don't know how to interpret (I believe this is a problem of the original x-form headers):
ds001439/sub-17

If I'm understanding, you're wondering why it's pitched ~45deg back instead of forward? I suspect it's just that it's so close to the 45degree mark that calling the axis anterior or inferior was a coin flip on the scanner.

If I'm understanding, you're wondering why it's pitched ~45deg back instead of forward? I suspect it's just that it's so close to the 45degree mark that calling the axis anterior or inferior was a coin flip on the scanner.

You refer to the inclination of the head w.r.t. the prescribed bounding-box? I think there is really an axis swap on the header because if you look at the distortion it seems to go up-down/superior-inferior (which is technically not possible in humans on a closed bore).

Sorry, the problem isn't clear to me.


support aarch64 architecture

Expected behaviour
Support aarch64 architecture
Actual behaviour
Don't support aarch64/arm64  architecture

operating system
Linux arm-builder 4.14.105-19-beta3 #1 SMP Wed May 8 11:19:15 CST 2019 aarch64 aarch64 aarch64 GNU/Linux
architecture
aarch64
opencv-python version
4.x

ARM support is tracked here: https://github.com/skvark/opencv-python/issues/13
Currently there is no plans to provide aarch64/arm64 packages due to the Python packaging ecosystem's incomplete support for those architectures.

Python now supports manylinux2014 standard, which makes it possible to provide AArch64 wheels. For example, the latest version of NumPy now provides the AArch64 wheel (https://pypi.org/project/numpy/1.19.0/#files).  Is there anything specific that you need anything beyond manylinux2014 support?

@AshokBhat wow, it's really cool, didn't know about that.
I think that it needs to configure cross compilation toolchains (compilers).
AFAIK, currently, there is only docker container that uses default CentOS toolchain (which is x86 or amd64)

@Red-Eyed There are docker images available for AArch64 (aarch64 image: quay.io/pypa/manylinux2014_aarch64) in addition to x86_64 to build manylinux2014 images.  https://github.com/pypa/manylinux has the details.

Docker images are not enough. ARM based hardware is needed to build ARM wheels (or cross compiling, which is something I would not like to implement... also auditwheel works only on ARM HW: https://github.com/pypa/auditwheel/issues/244#issuecomment-640878061). The only CI system which has currently ARM support is https://www.shippable.com/ and so it's a major effort to start supplying ARM wheels for opencv-python and further increases my workload. Please continue discussing about this in the issue which is reserved for ARM based wheels: https://github.com/skvark/opencv-python/issues/13


elasticsearch configuration example

Add user, password and transport for elasticsearch configuration example.

Thank you @cmygeHm.


There maybe some bugs for controller connecting to switches on socket issues

the same issue is reported here : https://github.com/netgroup/rose-vm/issues/38
we close this issue here and we will continue to work on https://github.com/netgroup/rose-vm/issues/38


Can't generate samples from checkpoint file

When I try to run generate.py per the readme, I get this:
I tensorflow/core/common_runtime/gpu/gpu_device.cc:838] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX TITAN X, pci bus id: 0000:03:00.0)
Restoring model from model.ckpt-250
Traceback (most recent call last):
  File "generate.py", line 86, in <module>
    main()
  File "generate.py", line 66, in main
    feed_dict={samples: window})
  File "/home/ubuntu/jupyter_base/venv/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 710, in run
    run_metadata_ptr)
  File "/home/ubuntu/jupyter_base/venv/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 908, in _run
    feed_dict_string, options, run_metadata)
  File "/home/ubuntu/jupyter_base/venv/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 958, in _do_run
    target_list, options, run_metadata)
  File "/home/ubuntu/jupyter_base/venv/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 978, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors.InvalidArgumentError: Output dimensions must be positive
         [[Node: wavenet/dilated_stack/layer1/conv_filter/BatchToSpace = BatchToSpace[T=DT_FLOAT, block_size=2, _device="/job:localhost/replica:0/task:0/gpu:0"](wavenet/dilated_stack/layer1/conv_filter, wavenet/dilated_stack/layer1/conv_filter/BatchToSpace/crops)]]
Caused by op u'wavenet/dilated_stack/layer1/conv_filter/BatchToSpace', defined at:
  File "generate.py", line 86, in <module>
    main()
  File "generate.py", line 51, in main
    next_sample = net.predict_proba(samples)
  File "/home/ubuntu/jupyter_base/project/tensorflow-wavenet/wavenet.py", line 154, in predict_proba
    raw_output = self._create_network(encoded)
  File "/home/ubuntu/jupyter_base/project/tensorflow-wavenet/wavenet.py", line 112, in _create_network
    self.dilation_channels)
  File "/home/ubuntu/jupyter_base/project/tensorflow-wavenet/wavenet.py", line 51, in _create_dilation_layer
    name="conv_filter")
  File "/home/ubuntu/jupyter_base/venv/lib/python2.7/site-packages/tensorflow/python/ops/nn_ops.py", line 228, in atrous_conv2d
    block_size=rate)
  File "/home/ubuntu/jupyter_base/venv/lib/python2.7/site-packages/tensorflow/python/ops/gen_array_ops.py", line 308, in batch_to_space
    block_size=block_size, name=name)
  File "/home/ubuntu/jupyter_base/venv/lib/python2.7/site-packages/tensorflow/python/framework/op_def_library.py", line 703, in apply_op
    op_def=op_def)
  File "/home/ubuntu/jupyter_base/venv/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 2317, in create_op
    original_op=self._default_original_op, op_def=op_def)
  File "/home/ubuntu/jupyter_base/venv/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 1239, in __init__
    self._traceback = _extract_stack()```

I'm also seeing this issue. I suspect that this might be a bug in TensorFlow.
I'll have a look at what's causing this.
If you want to have a go at generating sound, an easy way to avoid this bug is to set the dilations parameter in the wavenet_params.json file to a list of 1s.
It will then use regular convolution, which doesn't have the problem.
(You will have to train a new network with this configuration).

Thanks for the workaround! It's working up until the 255th step, where it seems to be trying to address something out of range. I get the error:
... previous steps here ... Sample 255/8000: 151 E tensorflow/stream_executor/cuda/cuda_driver.cc:1140] could not synchronize on CUDA context: CUDA_ERROR_ILLEGAL_ADDRESS :: No stack trace available F tensorflow/core/common_runtime/gpu/gpu_util.cc:370] GPU sync failed

I've now fixed the first issue by avoiding to use tf.space_to_batch in the model, so it should be possible to load models with dilation factors > 1.
I'm also seeing the CUDA_ERROR_ILLEGAL_ADDRESS error, and will try to fix this one next.

I no longer get the above error, but now get:
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcurand.so locally
I tensorflow/core/common_runtime/gpu/gpu_init.cc:102] Found device 0 with properties:
name: GeForce GTX TITAN X
major: 5 minor: 2 memoryClockRate (GHz) 1.076
pciBusID 0000:03:00.0
Total memory: 11.92GiB
Free memory: 11.81GiB
I tensorflow/core/common_runtime/gpu/gpu_init.cc:126] DMA: 0
I tensorflow/core/common_runtime/gpu/gpu_init.cc:136] 0:   Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:838] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX TITAN X, pci bus id: 0000:03:00.0)
Restoring model from model.ckpt-1950
Traceback (most recent call last):
  File "generate.py", line 86, in <module>
    main()
  File "generate.py", line 66, in main
    feed_dict={samples: window})
  File "/home/ubuntu/jupyter_base/venv/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 710, in run
    run_metadata_ptr)
  File "/home/ubuntu/jupyter_base/venv/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 908, in _run
    feed_dict_string, options, run_metadata)
  File "/home/ubuntu/jupyter_base/venv/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 958, in _do_run
    target_list, options, run_metadata)
  File "/home/ubuntu/jupyter_base/venv/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 978, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors.InvalidArgumentError: Expected begin[2] == 0 (got 0) and size[2] == 0 (got -2) when input.dim_size(2) == 0
	 [[Node: wavenet/dilated_stack/layer2/Slice = Slice[Index=DT_INT32, T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/gpu:0"](wavenet/dilated_stack/layer2/Reshape_1, wavenet/dilated_stack/layer2/Slice/begin, wavenet/dilated_stack/layer2/Slice/size)]]
	 [[Node: wavenet/Reshape_1/_131 = _Recv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/cpu:0", send_device="/job:localhost/replica:0/task:0/gpu:0", send_device_incarnation=1, tensor_name="edge_2304_wavenet/Reshape_1", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/cpu:0"]()]]
Caused by op u'wavenet/dilated_stack/layer2/Slice', defined at:
  File "generate.py", line 86, in <module>
    main()
  File "generate.py", line 51, in main
    next_sample = net.predict_proba(samples)
  File "/home/ubuntu/jupyter_base/project/tensorflow-wavenet/wavenet.py", line 171, in predict_proba
    raw_output = self._create_network(encoded)
  File "/home/ubuntu/jupyter_base/project/tensorflow-wavenet/wavenet.py", line 129, in _create_network
    self.dilation_channels)
  File "/home/ubuntu/jupyter_base/project/tensorflow-wavenet/wavenet.py", line 75, in _create_dilation_layer
    conv_filter = self._causal_dilated_conv(input_batch, weights_filter, dilation)
  File "/home/ubuntu/jupyter_base/project/tensorflow-wavenet/wavenet.py", line 48, in _causal_dilated_conv
    out = tf.slice(restored, 4 * [0], [-1, -1, tf.shape(restored)[2] - pad_elements, -1])
  File "/home/ubuntu/jupyter_base/venv/lib/python2.7/site-packages/tensorflow/python/ops/array_ops.py", line 328, in slice
    return gen_array_ops._slice(input_, begin, size, name=name)
  File "/home/ubuntu/jupyter_base/venv/lib/python2.7/site-packages/tensorflow/python/ops/gen_array_ops.py", line 2009, in _slice
    name=name)
  File "/home/ubuntu/jupyter_base/venv/lib/python2.7/site-packages/tensorflow/python/framework/op_def_library.py", line 703, in apply_op
    op_def=op_def)
  File "/home/ubuntu/jupyter_base/venv/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 2317, in create_op
    original_op=self._default_original_op, op_def=op_def)
  File "/home/ubuntu/jupyter_base/venv/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 1239, in __init__
    self._traceback = _extract_stack()

I got this error
Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 1080, pci bus id: 0000:01:00.0)
Restoring model from ./logdir/train/2016-09-16T23:00:56.017589/model.ckpt-1800
Traceback (most recent call last):
File "generate.py", line 86, in
main()
File "generate.py", line 66, in main
feed_dict={samples: window})
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 710, in run
run_metadata_ptr)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 908, in _run
feed_dict_string, options, run_metadata)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 958, in _do_run
target_list, options, run_metadata)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 978, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors.InvalidArgumentError: Expected begin[2] == 0 (got 0) and size[2] == 0 (got -2) when input.dim_size(2) == 0
[[Node: wavenet/dilated_stack/layer2/Slice = Slice[Index=DT_INT32, T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/gpu:0"](wavenet/dilated_stack/layer2/Reshape_1, wavenet/dilated_stack/layer2/Slice/begin, wavenet/dilated_stack/layer2/Slice/size)]]
[[Node: wavenet/Reshape_1/_131 = _Recvclient_terminated=false, recv_device="/job:localhost/replica:0/task:0/cpu:0", send_device="/job:localhost/replica:0/task:0/gpu:0", send_device_incarnation=1, tensor_name="edge_2835_wavenet/Reshape_1", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/cpu:0"]]
Caused by op u'wavenet/dilated_stack/layer2/Slice', defined at:
File "generate.py", line 86, in
main()
File "generate.py", line 51, in main
next_sample = net.predict_proba(samples)
File "/mnt/sdb/tensorflow-wavenet/wavenet.py", line 171, in predict_proba
raw_output = self._create_network(encoded)
File "/mnt/sdb/tensorflow-wavenet/wavenet.py", line 129, in _create_network
self.dilation_channels)
File "/mnt/sdb/tensorflow-wavenet/wavenet.py", line 75, in _create_dilation_layer
conv_filter = self._causal_dilated_conv(input_batch, weights_filter, dilation)
File "/mnt/sdb/tensorflow-wavenet/wavenet.py", line 48, in _causal_dilated_conv
out = tf.slice(restored, 4 * [0], [-1, -1, tf.shape(restored)[2] - pad_elements, -1])
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/array_ops.py", line 328, in slice
return gen_array_ops.slice(input, begin, size, name=name)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/ops/gen_array_ops.py", line 2009, in _slice
name=name)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/op_def_library.py", line 703, in apply_op
op_def=op_def)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 2317, in create_op
original_op=self._default_original_op, op_def=op_def)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 1239, in init
self._traceback = _extract_stack()

At least samples needs to be initialised to float32 instead of int32 in generate.py it seems. Still trying to figure out.

@adroit91: Are you sure? The int32 array gets one-hot encoded, which casts the output to float32.
That should be a valid input to the network.

@ibab, I could be wrong. But on an interactive shell, there seems to be an error (sorry, am away from my computer right now). Also, the predict samples function seems to be missing a preprocessing step. I'm not sure but still trying to understand the code.

I've reduced the problem to the following code:
import numpy as np
import tensorflow as tf

x = np.ones((256, 256), dtype=np.float32)
s = tf.Session()
X = tf.placeholder(tf.float32)
y = tf.nn.softmax(X)

s.run(y, feed_dict={X: x})

$ python minimal_example.py
[...]
E tensorflow/stream_executor/cuda/cuda_event.cc:49] Error polling for event status: failed to query event: CUDA_ERROR_ILLEGAL_ADDRESS
F tensorflow/core/common_runtime/gpu/gpu_event_mgr.cc:198] Unexpected Event status: 1
zsh: abort      python run.py

So I suspect that this is indeed a bug in TensorFlow, unless someone can spot a mistake?
I'll try to run this with the latest master of TensorFlow.

I just found runnning tf.initialize_all_variables() is missing. Doesn't it affect?

@mecab: The Saver automatically initializes the variables that it restores, so this should be fine.

ah, I see, thanks.

I also confirmed https://github.com/ibab/tensorflow-wavenet/issues/13#issuecomment-247642993, and found this is not happen with dtype=tf.float64.
I successfully generated the result by casting out as follows:
proba = tf.nn.softmax(tf.cast(out, tf.float64)) in predict_proba().
It's dirty and could be cause slow down, but works 👹
(I haven't tested the result with well-trained model, though.)
Strange thing I see is generating samples from 0 to 255 is somehow too much slow. I also doubt it is Tensorflow or CUDA's bug.

@mecab Yeah, casting it is a good workaround.
Do you want to make a PR with this fix?

OK, I'm writing that

Made it!

Trying even after pulling these patches and retraining (although not for long), I get this (OSX, no GPU):
22:43 $ python generate.py --samples 16000 model.ckpt-150
Restoring model from model.ckpt-150
E tensorflow/core/client/tensor_c_api.cc:485] Expected begin[2] == 0 (got 0) and size[2] == 0 (got -2) when input.dim_size(2) == 0
	 [[Node: wavenet/dilated_stack/layer2/causal_conv/Slice_6 = Slice[Index=DT_INT32, T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/cpu:0"](wavenet/dilated_stack/layer2/causal_conv/Reshape_1, wavenet/dilated_stack/layer2/causal_conv/Slice_6/begin, wavenet/dilated_stack/layer2/causal_conv/Slice_6/size)]]
Traceback (most recent call last):
  File "generate.py", line 86, in <module>
    main()
  File "generate.py", line 66, in main
    feed_dict={samples: window})
  File "/Users/danbri/tensorflow/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 382, in run
    run_metadata_ptr)
  File "/Users/danbri/tensorflow/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 655, in _run
    feed_dict_string, options, run_metadata)
  File "/Users/danbri/tensorflow/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 723, in _do_run
    target_list, options, run_metadata)
  File "/Users/danbri/tensorflow/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 743, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors.InvalidArgumentError: Expected begin[2] == 0 (got 0) and size[2] == 0 (got -2) when input.dim_size(2) == 0
	 [[Node: wavenet/dilated_stack/layer2/causal_conv/Slice_6 = Slice[Index=DT_INT32, T=DT_FLOAT, _device="/job:localhost/replica:0/task:0/cpu:0"](wavenet/dilated_stack/layer2/causal_conv/Reshape_1, wavenet/dilated_stack/layer2/causal_conv/Slice_6/begin, wavenet/dilated_stack/layer2/causal_conv/Slice_6/size)]]
Caused by op u'wavenet/dilated_stack/layer2/causal_conv/Slice_6', defined at:
  File "generate.py", line 86, in <module>
    main()
  File "generate.py", line 51, in main
    next_sample = net.predict_proba(samples)
  File "/Users/danbri/tensorflow-wavenet/wavenet.py", line 174, in predict_proba
    raw_output = self._create_network(encoded)
  File "/Users/danbri/tensorflow-wavenet/wavenet.py", line 132, in _create_network
    self.dilation_channels)
  File "/Users/danbri/tensorflow-wavenet/wavenet.py", line 78, in _create_dilation_layer
    conv_filter = self._causal_dilated_conv(input_batch, weights_filter, dilation)
  File "/Users/danbri/tensorflow-wavenet/wavenet.py", line 49, in _causal_dilated_conv
    out = tf.slice(restored, 4 * [0], [-1, -1, tf.shape(restored)[2] - pad_elements, -1])
  File "/Users/danbri/tensorflow/lib/python2.7/site-packages/tensorflow/python/ops/array_ops.py", line 388, in slice
    return gen_array_ops._slice(input_, begin, size, name=name)
  File "/Users/danbri/tensorflow/lib/python2.7/site-packages/tensorflow/python/ops/gen_array_ops.py", line 2001, in _slice
    name=name)
  File "/Users/danbri/tensorflow/lib/python2.7/site-packages/tensorflow/python/framework/op_def_library.py", line 703, in apply_op
    op_def=op_def)
  File "/Users/danbri/tensorflow/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 2310, in create_op
    original_op=self._default_original_op, op_def=op_def)
  File "/Users/danbri/tensorflow/lib/python2.7/site-packages/tensorflow/python/framework/ops.py", line 1232, in __init__
    self._traceback = _extract_stack()

The implementation of causal convolution was buggy for some inputs. I've rewritten the part that caused this error in https://github.com/ibab/tensorflow-wavenet/commit/5136dbfd32b82d0cf6091cd8e883773bbaf41fef
Everything seems to be working now.
It would be great if someone could confirm that it's working for them as well.

the last commit can generate wave file now, but only generated noise,is there something missing?

The default hyperparameters are just guesses at the moment, so I wouldn't
expect it to work well unless you've changed them and achieved a low loss
value.
I suspect that we will need a much larger number of layers to reproduce the
DeepMind results.
Another thing would be to increase the window size from the default value
to something like 8000.
That way the network will take into account a larger number of past samples
when generating.
Also, there was a bug in the generation script that reduced the number of
values in the window to a single one, which would definitely lead to noise.
You should make sure that you have that fix in your local version. It's in
commit 6487cd1.
On Sat, Sep 17, 2016, 15:36 iwater<EMAIL_ADDRESS>wrote:

the last commit can generate wave file now, but only generated noise,is
there something missing?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ibab/tensorflow-wavenet/issues/13#issuecomment-247770110,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA2Wo7tglobBGXnTYAbRSXIsvkZx2XRVks5qq-zygaJpZM4J-J6D
.

This bug seems to be fixed now, so I'll close the issue.
If there new problems with the generation script we should open a new issue, as this one is starting to get long.

I solved the problem by upgrading cuDNN to v5.1 version. You can have a try.
cuDNN download : https://developer.nvidia.com/rdp/cudnn-download


Add link to each presentation start time

Breaking down the video so we can jump directly to the begin of each presentation if we want.

Thanks for taking the time to grab these links!!


Not working at all

I tried using your lib, but I encountered the following problem:

I added jCenter() to gradle file under buildscript/repositories
I added the compile  statement  compile 'com.brandongogetap:stickyheaders:0.4.4' to grade file
=> Suddenly my recycler view stops working and says: E/RecyclerView: No adapter attached; skipping layout

If I revert my gradle file, everything works again.
Don't know whats going wrong here ...

What version of the support library are you using? I don't see how simply importing this library would cause any changes in an application. The only thing I can see happening is your app now using support lib 25.3.1 if it isn't already on that or a later version. Even then, I'd be surprised if there were some breaking change in the support lib that caused your RecyclerView to not work.
You are adding this to the module's build.gradle and not your project's build.gradle, right?
If you can give me a way to reproduce this, I'll gladly take a look, but I'm going to assume this is unique issue with your specific project in some way.
Also, you probably don't need the jcenter() declaration, I'm pretty sure Android projects have that defined by default now; I just had it there for completeness.

Thanks for your quick response!
I am using support lib 24.2.1.
I also added everything to the modules build.gradle.
It works if I add your code classes manually to my project.
Unfortunately I have one more question. It seems that your lib does not work if the list has an extra header right before the sticky header items and normal items in the recycler view.
E.g. if I would achieve sticky headers with ItemDecorations the list needs to be uniform. Seems its the same with yours. Is that true? Or is there any workaround?

Did you figure out if this was an issue with your support library version? Like I said, using this library will automatically update your support lib to 25.3.1 (unless you exclude it in your build.gradle compile statement).
What is an extra header right before the sticky header? What is a "header" that you're referring to if not a sticky header?
I also don't understand what you mean about the list needing to be uniform.

Please reopen if the issue was not with the support lib version.


Create Table with price history

Price History
Spec

table pricehistory congains (price, date)
Action priceupdate() takes the current price in USD from the price table and enters it into pricehistory along with a date
priceupdate() is called every time the price changes
manually call priceupdate() to init the table with the current value

deployed


[SPARK-14781] [SQL] support nested predicate subquery

What changes were proposed in this pull request?
In order to support nested predicate subquery, this PR introduce an internal join type ExistenceJoin, which will emit all the rows from left, plus an additional column, which presents there are any rows matched from right or not (it's not null-aware right now). This additional column could be used to replace the subquery in Filter.
In theory, all the predicate subquery could use this join type, but it's slower than LeftSemi and LeftAnti, so it's only used for nested subquery (subquery inside OR).
For example, the following SQL:
SELECT a FROM t  WHERE EXISTS (select 0) OR EXISTS (select 1)

This PR also fix a bug in predicate subquery push down through join (they should not).
Nested null-aware subquery is still not supported. For example,   a > 3 OR b NOT IN (select bb from t)
After this, we could run TPCDS query Q10, Q35, Q45
How was this patch tested?
Added unit tests.

cc @hvanhovell

Test build #57474 has started for PR 12820 at commit 0c9f26c.

Cool!

Test build #57474 has finished for PR 12820 at commit 0c9f26c.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class LeftSemiPlus(exists: Attribute) extends JoinType

Merged build finished. Test FAILed.

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

It'd be better to name it ExistenceJoin. It took me a while to grasp what LeftSemiPlus means.

BTW one interesting thing: if we can implement whole-stage codegen for ExistenceJoin, then technically we can implement LeftSemi / Anti by just adding a filter on top without losing performance right?

Test build #57508 has started for PR 12820 at commit 0439346.

@rxin That's true, right now only BroadcastHashJoin is codegened. Another things is that ExistenceJoin will be null-aware, but LeftSemi/LeftAnti could still be simple.

Test build #57508 has finished for PR 12820 at commit 0439346.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class ExistenceJoin(exists: Attribute) extends JoinType

Merged build finished. Test FAILed.

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

Test build #57518 has started for PR 12820 at commit a34b172.

Test build #57518 has finished for PR 12820 at commit a34b172.

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

Merged build finished. Test PASSed.

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

Test build #57541 has started for PR 12820 at commit d7a3c8f.

Test build #57543 has started for PR 12820 at commit 023ba92.

Test build #57544 has started for PR 12820 at commit 1bb9f60.

@hvanhovell Does this look good to you? Can we merge this one first (before yours)?

LGTM

Lets merge this one first.

Test build #57541 has finished for PR 12820 at commit d7a3c8f.

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

Merged build finished. Test PASSed.

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

Test build #57543 has finished for PR 12820 at commit 023ba92.

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

Merged build finished. Test PASSed.

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

Merging this into master and 2.0, thanks!

Test build #57544 has finished for PR 12820 at commit 1bb9f60.

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

Merged build finished. Test PASSed.

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


Arc/circle texture coordinates

Are the texture coordinates of lovr.graphics.arc and lovr.graphics.circle correct?
They are between -0.5 and 1.5 (instead of what I expected: 0-1)

It's not the intended behavior.  Seems this was a regression from 429efcb38d820bc63ce7668f40bad7b8006a371a.

This should be fixed now in 0a2f9688500c6f228dd5b5a86a9cb796aff302c0


How to get Auth0 working?

I am trying to get Auth0 and aurelia-authentication working (I'm new to both).. but I cannot make head or tail of the document https://aurelia-authentication.spoonx.org/auth0.html
It is making a lot of assumptions and/or is missing a lot of information.
Is there a working example somewhere - that would explain it much better.
Thanks
Tim

@THuffam I think it's difficult to understand because you're new to both. All you have to do is fill out the config options and use the provider as described on usage:
class Login {
  // use authenticate(providerName) to get third-party authentication
  authenticate(name) {
    return this.authService.authenticate(name)
      .then(response => {
        this.provider[name] = true;
      });
  }
}

The documentation says the following:

At the time of writing this, it relies by default on the Auth0 Lock library, that handles both the UI and the logic for all the authentication tasks. You can load it by including a script tag directly in your index.html file, or alternatively with a loader of your choice.

I am using webpack, and had to do the following:

In main.js, I added import Auth0Lock from "auth0-lock";
Additionally, in the configure method, I had to add PLATFORM.global.Auth0Lock = Auth0Lock;

Is this normal, or am I overlooking something obvious?

Could be. Anyway, that part seems to work. How is the callback URL handled? Do I need to create a handler for that myself?

I couldn't find it, but I might be blind on both eyes. :-)

@RWOverdijk, as far as I can see, the callback stuff isn't documented. Should it be handled by an Aurelia route?

@dabide I don't know to be honest. I've never used this part of the plugin. But it seems to me that you don't have to handle a thing, and you just use authenticate. Maybe someone on gitter has the answer


Update api_gateway_authorizer_event.py

CN partition adaption

Issue number:
Summary
CN partition adaption
Changes
Change partition hard code

Please provide a summary of what's being changed

User experience

Please share what the user experience looks like before and after this change

Checklist
If your change doesn't seem to apply, please leave them unchecked.

[ ] Meet tenets criteria
[x] I have performed a self-review of this change
[x] Changes have been tested
[x] Changes are documented
[ ] PR title follows conventional commit semantics

Is this a breaking change?
RFC issue number:
Checklist:

[ ] Migration process documented
[ ] Implement warnings (if it can live side by side)

Acknowledgment
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
Disclaimer: We value your time and bandwidth. As such, any pull requests created on non-triaged issues might not be successful.

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (4663745) 97.46% compared to head (daec4a0) 97.46%.

Additional details and impacted files
@@           Coverage Diff            @@
##           develop    #2176   +/-   ##
========================================
  Coverage    97.46%   97.46%
========================================
  Files          147      147
  Lines         6872     6872
  Branches       505      491   -14
========================================
  Hits          6698     6698
  Misses         137      137
  Partials        37       37

Impacted Files
Coverage Δ

...ities/data_classes/api_gateway_authorizer_event.py
100.00% <100.00%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Hello @leif-ye! Thanks for submitting this PR to add CN partition support for this event source. Part of our automation failed because according to our contributing guide, the PR title must follow the conventional semantic title and every PR must also have an issue.
But don't worry, if you can't fix these minor problems, I can do this when reviewing this PR.
I hope you have a great day.


White covers with Ubuntu 22.04

Hi,
I have a Sunshine server (Ubuntu 24.04) and some Moonlight devices (Mac, TV, phones, ambernic device ...).
Some have mouse integration, not all.
Steam Big Picture works fine for gamepad control.
For this issue:

when I launch luntrisbiew from the sunshine application launcher, the application splash (the circle) never ends
if I launch from the desktop launcher or the gnome-terminal, I have white covers for all games :

launch of games is possible but I don't find how to quit with the keyboard (esc, del, ...)

I hope your project will find its community 👍

    def coverart_path(self):         """Return coverart image"""         # TODO robustify, take into account env vars, different file ext         return os.path.expanduser(f"~/.cache/lutris/coverart/{self.slug}.jpg")
Current limitation is only supporting .jpg file extension and it needs to be placed in folder above.
Image file names also should match how it is referenced in Lutris to get it working.
I managed to get it showing on the same Ubuntu version.
As for quitting using keyboard press and hold ESC as stated in readme.
Hope this helps!


log storage feature needs to be rewritten

Expected Behavior
Storage of logs succeeds at a high success rate with reasonable performance
Actual Behavior
In a sufficiently sized production system,  addressing

the watcher channel/thread leak by not cancelling context properly
but allowing log storage to complete before before properly cancelling the context to free up storage
yet avoid HTTP2 and GRPC throttling which can force log storage to take many MINUTES

is untenable with the current design.
2 months of performance analysis of GRPC and golang's HTTP2 have uncovered repeatedly report issues on the internet about HTTP2 Request Body access not scaling / becoming increadibly slow, as well GRPC level throttling which the current tuning options in the golang GRPC code have yet to resolve.
We have a prototype already that showed improvement wrt the HTTP2 body scaling issue,  where we did pod log retrieval in the API server and then stored to S3 there,  but it was still slowed by GRPC throttling on the background threads, leading to long delays before logs were actually stored.
The WG has discussed on calls and in slack, where we are close to high level agreement on doing log storage in the watcher, and only update the Log Records on success / failure.
@khrm @enarha @sayan-biswas @avinal FYI

| where we are close to high level agreement on doing log storage in the watcher
@gabemontero did you mean the watcher or the api?

| where we are close to high level agreement on doing log storage in the watcher @gabemontero did you mean the watcher or the api?

per recent exchange with @khrm @sayan-biswas I mean the watcher @enarha  .... we need to avoid GRPC calls where we obtain / wait on status like we have to do with UpdateLog, and thus need to interact with s3, etc. from our current watcher process.  We may have to do a vanilla GRPC get or two for metadata, but and the idea of even bypassing that to scaffold the metadata needed from what is already available in the watcher to engage with the external storage seemed feasible upon the last code review.  If not, those vanilla GRPC gets will scale better than having to confirm the S3 storage succeeded on the API server side.

And on a different note, since you've already spent a lot of time testing, could you please share what's the easiest way to reproduce the issue, e.g local Kind environment, how and what pipelineruns are you running, etc?

I think deployment of tekton results is up to the implementor.  Turns out deploying on openshift with our bootstrapping of minio and postgresql was easiest for me, so that is what I did.  But I'm sure others might find using kind etc. easier.
Between @pmacik and I we had two layers of testing.  Mine was a simple pipelinerun and bash script which I'll attach here.  That definitely exhibited the http2 body ready bottleneck, which I think would be a sufficient unit test for this.
@pmacik 's test employed a much more sophisticated pipeline used at Red Hat's internal deployment of Results ("Konflux").  In addition to the http2 body bottleneck, he could also exhibit the massive scaling issues with the internal GRPC WriteStatus function which we uncovered after adding debug into the GRPC code in this repo's vendor tree.  I'll post a duplication of my internal report in this issue in a separate comment.
Ultimately, once a developer has performance the unit test level validation with my test case, I would suggest the Results WG reach out to @pmacik to see about running his test with a version of these changes.  If/when that point is reached, I can point you to the branches our our internal deployment we used for @pmacik's testing.
results-763.zip

A copy/paste of analysis I shared internally at RH (with some removal of internal links):
OK verion 3 of the mem leak fix, which still makes GRPC calls to send logs, but does it all thread, with high timeouts, has been running in stage for 10 days.
While it is tolerable performance wise vs. the on thread version, but is still 3X slower, and the success rate is only on par at best (i.e. cancelled context aborts, etc) then the current version on konflux with the mem leak which does not properly handle context.
The upstream WG, including Khurram Baig from openshift pipelines, agrees the function needs to be rewritten.  I was able to do a prototype where GRPC was only used as as signal for the API server to read the logs, but while that was an improvement, still hlt GRPC / HTTP2 throttling / bottlenecks in my testing.  We all agree now that GRPC needs to be bypassed, and have the watcher access S3 directly.  I have opened https://github.com/tektoncd/results/issues/763 upstream to track.
On the performance problems, first, wrt the http2 body read bottleneck, the performance team lined me up with a golang performance engineer who I have been working with in https://redhat-internal.slack.com/archives/C060Z6FG7UK/p1718108397779749 .  We have confirmed the http2 body performance is well documented on the web, across other languages, but agreed it investigation at the golang level was warranted.  After about a week of testing and customized golang code, we still don't have any data at the golang level.  Bottom line, though I think at best we would just confirm what we read on the web across various languanges wrt http2 body access, flow control, etc.
Next, with the continued efforts between myself and Pavel Macik I believe we have made some headway on the 9 plus minute delays he saw with the "GGMGGM16" logs out of https://github.com/gabemontero/results/tree/downstream-http-vs-grpc with the lates round of debug.  Contact Pavel (@pmacik) if you need access to his spreadsheet.
The GGMGGM16, GGMGGM20, GGMGGM31, and GGMGGM33 logs all hit the 10 minute mark (600 seconds) in duration when the pipelineruns all complete concurently and write their logs.  The basic call stack is GGMGGM16, GGMGGM20, then GGMGGM33, then GGMGGM31.
https://github.com/gabemontero/results/blob/downstream-http-vs-grpc/vendor/google.golang.org/grpc/internal/transport/handler_server.go#L470 is GGMGGM16
https://github.com/gabemontero/results/blob/downstream-http-vs-grpc/vendor/google.golang.org/grpc/internal/transport/handler_server.go#L569 is GGMGGM20

https://github.com/gabemontero/results/blob/downstream-http-vs-grpc/vendor/google.golang.org/grpc/server.go#L1735 is GGMGGM33
https://github.com/gabemontero/results/blob/downstream-http-vs-grpc/vendor/google.golang.org/grpc/internal/transport/handler_server.go#L233 is GGMGGM31
Now, there were no GGMGGM34 logs https://github.com/gabemontero/results/blob/downstream-http-vs-grpc/vendor/google.golang.org/grpc/internal/transport/handler_server.go#L244 in Pavel's test run.
And that runStream is over at https://github.com/gabemontero/results/blob/downstream-http-vs-grpc/vendor/google.golang.org/grpc/internal/transport/handler_server.go#L578-L586 where the fn() call at https://github.com/gabemontero/results/blob/downstream-http-vs-grpc/vendor/google.golang.org/grpc/internal/transport/handler_server.go#L582 maps to various Writes I have instrumented, which then happen on the thread GRPC launches, where it wait for completion.
There are GGMGGM 24 logs from https://github.com/gabemontero/results/blob/downstream-http-vs-grpc/vendor/google.golang.org/grpc/internal/transport/handler_server.go#L382 .... we are writing data there ....  I see as long as 2 minutes there
iteration-0002-0075.tekton-results-api.logs:[pod/tekton-results-api-5b668c456c-s487j/api] GGMGGM24 serverHandlerTransport Write do Write data 2m0.299206724s ts<PHONE_NUMBER>.849309923
There are GGMGGM25 logs from https://github.com/gabemontero/results/blob/downstream-http-vs-grpc/vendor/google.golang.org/grpc/internal/transport/handler_server.go#L389 but a lot of those are in nanoseconds, like
iteration-0002-0075.tekton-results-api.logs:[pod/tekton-results-api-5b668c456c-s487j/api] GGMGGM25 serverHandlerTransport Write do Write data 100ns ts<PHONE_NUMBER>.647620007
But I now see a bug where I am printing the Write duration (duration4) vs. the Flush duration (durationa5) ... bottom line, the Flush can take time.
There are no GGMGGM26 through GGMGGM30 logs for processing of the headers.  So it is just the body of the response, which gets back to our http2 body access (in this case writes vs. reads).
Also, we don't hit the transport is closed do metrics bit at https://github.com/gabemontero/results/blob/downstream-http-vs-grpc/vendor/google.golang.org/grpc/internal/transport/handler_server.go#L291-L299 because the server stays up
Lastly, back to the WriteStatus function in i.e. GGMGGM31 and look at the whole function, https://github.com/gabemontero/results/blob/downstream-http-vs-grpc/vendor/google.golang.org/grpc/internal/transport/handler_server.go#L225-L302
It is single threaded.
That can only mean we are blocked on the mutex at https://github.com/gabemontero/results/blob/downstream-http-vs-grpc/vendor/google.golang.org/grpc/internal/transport/handler_server.go#L291-L299
i.e. this server when writing status appears SINGLE THREADED !!!
Further proof:
see the comment https://github.com/gabemontero/results/blob/downstream-http-vs-grpc/vendor/google.golang.org/grpc/internal/transport/handler_server.go#L156-L159 ... the channel gets fed from https://github.com/gabemontero/results/blob/downstream-http-vs-grpc/vendor/google.golang.org/grpc/internal/transport/handler_server.go#L220 i.e.  the "do" function in https://github.com/gabemontero/results/blob/downstream-http-vs-grpc/vendor/google.golang.org/grpc/internal/transport/handler_server.go#L238 .... so do function may be short, but they run serialized from the channel
only 1 server per https://github.com/gabemontero/results/blob/downstream-http-vs-grpc/cmd/api/main.go#L225 (that is the GGMGGM31 print per https://github.com/gabemontero/results/blob/downstream-http-vs-grpc/vendor/google.golang.org/grpc/server.go#L1727-L1736
and only 1 server transport per https://github.com/gabemontero/results/blob/downstream-http-vs-grpc/vendor/google.golang.org/grpc/server.go#L1070 for the Server from ^^^
this is why the GRPC thread pooling and thread launching does not help in out testing ... that is outside this single threaded write status

Also for reference, the performance issues with GRPC's ServerHTTP appear to be old news.  For example, see https://github.com/grpc/grpc-go/issues/586
Also, see is:issue performance in:title is:closed
As of this comment, there a no more open issues related to performance.
Lastly, none of the tuning options I found like https://github.com/gabemontero/results/blob/downstream-http-vs-grpc/vendor/google.golang.org/grpc/server.go#L163-L178 (some of which are mentioned in those closed performance issues) provided any benefit our testing.


only-arrow-functions rule should ignore functions that use the 'arguments' object

Bug Report

TSLint version: 3.15.1
TypeScript version: 2.1.0-dev.20160906
Running TSLint via: Visual Studio Code

TypeScript code being linted
// Redirect logging to native, WKWebView captures the alert and logs the message
console.log = function () { alert(["info", Array.prototype.slice.call(arguments)]); };

with tslint.json configuration:
{
  "extends": "tslint:latest",
  "rules": {
    "max-line-length": [false],
    "member-ordering": [true, { "order": "fields-first" }],
    "no-namespace": false,
    "no-console": [],
    "object-literal-sort-keys": false,
    "ordered-imports": false,
    "trailing-comma": "never",
    "triple-equals": false
  }
}

Actual behavior
TSLint reports that non-arrow functions are forbidden. Which is a good default. However when you want to use the arguments keyword in typescript you have to use the classic javascript function notation.
The following code:
console.debug = () => { alert(["debug", Array.prototype.slice.call(arguments)]); };

Will result in the following error:

error TS2496: The 'arguments' object cannot be referenced in an arrow function in ES3 and ES5. Consider using a standard function expression.

Expected behavior
TSLint should not apply the only-arrow-functions rule when the function refers to arguments. At least not if the project targets ES5 or lower.

Instead of using arguments, could you do something more in line with ES6 like this?
console.debug = (...args) => { alert(["debug", Array.prototype.slice.call(args)]); };

@JKillian Great suggestion, thank you!

Agreed, that could be a good rule. I'm going to close this issue though as we have a better solution than changing the only-arrow-functions rule


Remove trailing whitespace after Reflux

This fixes the linter error: error  Trailing spaces not allowed  no-trailing-spaces

@akampjes Thanks for your feedback. Just merged it into master.


⚠ Bofrost.lu has degraded performance

In cb5bd4b, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1878 ms

Resolved: Bofrost.lu performance has improved in 0b798d7 after 6 minutes.


[Issue] Compress UI Code When Release

In GitLab by @sokril on Sep 28, 2017, 15:51
Error info:
1.filename
2.function name
3.line num

In GitLab by @yhua123 on Nov 8, 2019, 07:38
compressed through npm

In GitLab by @liyanq528 on Nov 8, 2019, 07:38
fixed by pull request #1193

In GitLab by @yhua123 on Nov 8, 2019, 07:38
LGTM

In GitLab by @sokril on Nov 8, 2019, 08:12
closed

In GitLab by @sokril on Nov 8, 2019, 08:12
assigned to @yhua123


cmd/compile: TestEmptyDwarfRanges and TestScopeRanges fail on ios-arm64-corellium

https://storage.googleapis.com/go-build-log/d11befbe/ios-arm64-corellium_f53b1ad2.log (a TryBot on CL 491660):
--- FAIL: TestEmptyDwarfRanges (0.98s)
    scope_test.go:498: decoding dwarf section info at offset 0x0: too short
--- FAIL: TestScopeRanges (1.01s)
    scope_test.go:234: decoding dwarf section info at offset 0x0: too short
FAIL
FAIL	cmd/compile/internal/dwarfgen	1.038s

On iOS we don't combine the DWARF info into the binary, as the kernel doesn't like such a binary (https://cs.opensource.google/go/go/+/master:src/cmd/link/internal/ld/lib.go;l=1389). So we cannot find the DWARF section from the binary. I think it is okay to skip the test on iOS.

@cherrymui, the code you linked seems to apply to all darwin platforms — would this also apply to GOOS=darwin if external linking is forced on?


Activate Coding Compression chapter

This PR activates the Coding Compression chapter. It includes some typo/formatting fixes along with the refactor of the jpeg-compression interactive (which relates to #622).

The link should be created using a Verto button link.


oep(cstor, status): proposal for CSPC and CSPI status

Signed-off-by: shubham<EMAIL_ADDRESS>This PR adds proposal for CSPC and CSPI status.

Consider having:
PrevState, TransitionAge, Count of Transitions to become Healthy
Are we having events when state change happens?

As we discussed for any resource if we want to know when was the status is updated we will implement
LastUpdatedTime and LastTransisionTime and these fields will be available only for Status.Phase not for all the fields(ex: Capacity, ROMode) under status. If any error occurred during the status fetching those errors will be raised as events(We don't need error field in Status).

Will we add these fields for all OpenEBS resources?

 NAME                  HOSTNAME    ALLOCATED   FREE    CAPACITY  HEALTHYVOLUMES  PROVISIONEDVOLUMES  STATUS   AGE
  sparse-pool-1-7xq5    <IP_ADDRESS>     218K      9.94G    9.94G         3                  5           ONLINE   134m

Need to implement HEALTHYVOLUMES and PROVISIONEDVOLUMES in CSPI status.


Add Web3Modal + Wagmi v2 example in React

We need to upgrade our React example from Wagmi v1 to Wagmi v2. We already have an example with Next.

This React example needs to be merged into this branch https://github.com/WalletConnect/web-examples/pull/419

Hello, may I be assigned this issue?

Hey @glitch-txs can I work on this?

I just fixed this issue @glitch-txs you can check the PR - https://github.com/WalletConnect/web-examples/pull/421

thanks guys!
@dicethedev this should be from branch feat/wagmi-v2
because we have another folder under web3modal/react
you need to fork the repo with all branched, and move to the feat/wagmi-v2 branch.
Let me know if you it's ok
I'll prioritize you @Deepak2030 in the next contribution 🙏

Okay, @glitch-txs I will do that soon. Thanks for the feedback!


⚠ Bofrost.lu has degraded performance

In cb4827a, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1987 ms

Resolved: Bofrost.lu performance has improved in de16ea8.


Kubelet doesn't restart when one dependency is rebooted

Hi,
I've a node that is in 'not ready' status. Accessing in the node I can see that the kubelet.service is loaded but not running.
Looking the logs I see that flanneld has rebooted, so Docker.service (has a dependency with Flanneld) also has rebooted. Booth services now are active and running.
However, the kubelet service (has a dependency with Docker) is in loaded status. Why it is not running after reboot?

Are you using kube-aws? If so, I believe this same issue has come up: https://github.com/coreos/coreos-kubernetes/issues/545 and been fixed in master.
If this isn't the right fix for you could you paste the output from systemctl cat kubelet on the node whose kubelet isn't running?

Yes, it seems the same issue. I will check it in the next version.
Thanks


Bitwarden and Hund-based services

I use Bitwarden as my password manager. Their status page is powered by Hund, which unfortunately does not seem to have a simple JSON endpoint to ping for updates, but instead uses a live event stream of Server-Sent Events.
In order to obtain the status from Hund-based services, there could be a few approaches:
Approach A: following the SSE protocol

Open a long-running connection in the Service constructor
Listen to events with status updates
Cache the latest state from those events
Return the latest cached value in updateStatus

Pros:

Minimises data transfer (status updates are sent every 5 minutes)
Does not load the Hund servers with lots of connection requests

Cons:

Long-connection may not play well with Out's inner workings (conjecture, I haven't dived deep in the architecture)
Loss of network connection on the host may not reconnect easily (it does in curl, I haven't checked with Axios).

Approach B: polling

Open a connection in updateStatus
Wait for it to return the current status for the service
Kill the connection (as it will not terminate on its own)
Parse and return the current status

Pros:

Follows the rest of the Service implementations more closely (poll every 5 seconds)

Cons:

Feels hacky
Incurs load on the Hund servers
Unnecessary data transfer

Hi @franky47,
Thank you so much for the research you've done! 🔥
I personally prefer Approach B as:

It matches the rest of the services
I think 5 minutes is too long to be useful
I'm planning to make the poll time customizable, so that wouldn't work with Hund-based services if we follow Approach B

I'm OK with both approaches though.. If you're planning to implement this, feel free to go ahead with whatever you prefer 🚀

Note that the 5 minutes are the maximum time between "nothing changed" updates. I supposed (but haven't checked) that failures are reported in real time, in which case they'd be caught within the 5 seconds (max) of Out's polling.

Oh Ok that's awesome :D let's try either approach then :D

After leaving a connection open for a while, I did not get anymore status updates, so I guess solution B is indeed better, as this way we're sure not to miss anything. I'll see how I can kill the connection after the initial state is received, hopefully that can be done without adding extra dependencies.

Note: EventSource may not be the wisest choice for long-term maintenance, as it shows some lack of interest by the Chrome team and w3c. Examples include the inability to pass headers to the underlying request (which will be the subject of an incoming PR):
https://github.com/whatwg/html/issues/2177


Support of MKL

Tests for support MKL.
Currently: it finds MKL, but fails on linalg_svd

Tests for support MKL.
Currently: it finds MKL, but fails on linalg_svd => should be solved with this commit

@zoziha : these changes work on my Fedora computer with Intel OneAPI 2024.2 MKL + gfortran


[showcase] Add a persistent bucket

requested in https://2i2c.freshdesk.com/a/tickets/1255

I got more changes than I expected here
  Output of terraform plan
```
Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols:
  + create
  ~ update in-place
 <= read (data resources)
Terraform will perform the following actions:
data.aws_iam_policy_document.bucket_access["dask-staging.scratch-dask-staging"] will be read during apply
(depends on a resource or a module with changes pending)
<= data "aws_iam_policy_document" "bucket_access" {
+ id   = (known after apply)
+ json = (known after apply)
  + statement {
      + actions   = [
          + "s3:*",
        ]
      + effect    = "Allow"
      + resources = [
          + "arn:aws:s3:::2i2c-aws-us-scratch-dask-staging",
          + "arn:aws:s3:::2i2c-aws-us-scratch-dask-staging/*",
        ]

      + principals {
          + identifiers = [
              + "arn:aws:iam::790657130469:role/2i2c-aws-us-dask-staging",
            ]
          + type        = "AWS"
        }
    }
}

data.aws_iam_policy_document.bucket_access["go-bgc.scratch-go-bgc"] will be read during apply
(depends on a resource or a module with changes pending)
<= data "aws_iam_policy_document" "bucket_access" {
+ id   = (known after apply)
+ json = (known after apply)
  + statement {
      + actions   = [
          + "s3:*",
        ]
      + effect    = "Allow"
      + resources = [
          + "arn:aws:s3:::2i2c-aws-us-scratch-go-bgc",
          + "arn:aws:s3:::2i2c-aws-us-scratch-go-bgc/*",
        ]

      + principals {
          + identifiers = [
              + "arn:aws:iam::790657130469:role/2i2c-aws-us-go-bgc",
            ]
          + type        = "AWS"
        }
    }
}

data.aws_iam_policy_document.bucket_access["itcoocean.scratch-itcoocean"] will be read during apply
(depends on a resource or a module with changes pending)
<= data "aws_iam_policy_document" "bucket_access" {
+ id   = (known after apply)
+ json = (known after apply)
  + statement {
      + actions   = [
          + "s3:*",
        ]
      + effect    = "Allow"
      + resources = [
          + "arn:aws:s3:::2i2c-aws-us-scratch-itcoocean",
          + "arn:aws:s3:::2i2c-aws-us-scratch-itcoocean/*",
        ]

      + principals {
          + identifiers = [
              + "arn:aws:iam::790657130469:role/2i2c-aws-us-itcoocean",
            ]
          + type        = "AWS"
        }
    }
}

data.aws_iam_policy_document.bucket_access["ncar-cisl.scratch-ncar-cisl"] will be read during apply
(depends on a resource or a module with changes pending)
<= data "aws_iam_policy_document" "bucket_access" {
+ id   = (known after apply)
+ json = (known after apply)
  + statement {
      + actions   = [
          + "s3:*",
        ]
      + effect    = "Allow"
      + resources = [
          + "arn:aws:s3:::2i2c-aws-us-scratch-ncar-cisl",
          + "arn:aws:s3:::2i2c-aws-us-scratch-ncar-cisl/*",
        ]

      + principals {
          + identifiers = [
              + "arn:aws:iam::790657130469:role/2i2c-aws-us-ncar-cisl",
            ]
          + type        = "AWS"
        }
    }
}

data.aws_iam_policy_document.bucket_access["researchdelight.persistent-showcase"] will be read during apply
(config refers to values not yet known)
<= data "aws_iam_policy_document" "bucket_access" {
+ id   = (known after apply)
+ json = (known after apply)
  + statement {
      + actions   = [
          + "s3:*",
        ]
      + effect    = "Allow"
      + resources = [
          + (known after apply),
          + (known after apply),
        ]

      + principals {
          + identifiers = [
              + "arn:aws:iam::790657130469:role/2i2c-aws-us-researchdelight",
            ]
          + type        = "AWS"
        }
    }
}

data.aws_iam_policy_document.bucket_access["researchdelight.scratch-researchdelight"] will be read during apply
(depends on a resource or a module with changes pending)
<= data "aws_iam_policy_document" "bucket_access" {
+ id   = (known after apply)
+ json = (known after apply)
  + statement {
      + actions   = [
          + "s3:*",
        ]
      + effect    = "Allow"
      + resources = [
          + "arn:aws:s3:::2i2c-aws-us-scratch-researchdelight",
          + "arn:aws:s3:::2i2c-aws-us-scratch-researchdelight/*",
        ]

      + principals {
          + identifiers = [
              + "arn:aws:iam::790657130469:role/2i2c-aws-us-researchdelight",
            ]
          + type        = "AWS"
        }
    }
}

data.aws_iam_policy_document.bucket_access["staging.scratch-staging"] will be read during apply
(depends on a resource or a module with changes pending)
<= data "aws_iam_policy_document" "bucket_access" {
+ id   = (known after apply)
+ json = (known after apply)
  + statement {
      + actions   = [
          + "s3:*",
        ]
      + effect    = "Allow"
      + resources = [
          + "arn:aws:s3:::2i2c-aws-us-scratch-staging",
          + "arn:aws:s3:::2i2c-aws-us-scratch-staging/*",
        ]

      + principals {
          + identifiers = [
              + "arn:aws:iam::790657130469:role/2i2c-aws-us-staging",
            ]
          + type        = "AWS"
        }
    }
}

aws_s3_bucket.user_buckets["persistent-showcase"] will be created

resource "aws_s3_bucket" "user_buckets" {

acceleration_status         = (known after apply)
acl                         = (known after apply)
arn                         = (known after apply)
bucket                      = "2i2c-aws-us-persistent-showcase"
bucket_domain_name          = (known after apply)
bucket_prefix               = (known after apply)
bucket_regional_domain_name = (known after apply)
force_destroy               = false
hosted_zone_id              = (known after apply)
id                          = (known after apply)
object_lock_enabled         = (known after apply)
policy                      = (known after apply)
region                      = (known after apply)
request_payer               = (known after apply)
tags_all                    = (known after apply)
website_domain              = (known after apply)
website_endpoint            = (known after apply)
}

aws_s3_bucket_lifecycle_configuration.user_bucket_expiry["persistent-showcase"] will be created

resource "aws_s3_bucket_lifecycle_configuration" "user_bucket_expiry" {

bucket = "2i2c-aws-us-persistent-showcase"

id     = (known after apply)

rule {

id     = "delete-after-expiry"

status = "Disabled"

expiration {

days                         = 0
expired_object_delete_marker = (known after apply)
}
}
}

aws_s3_bucket_policy.user_bucket_access["dask-staging.scratch-dask-staging"] will be updated in-place
~ resource "aws_s3_bucket_policy" "user_bucket_access" {
id     = "2i2c-aws-us-scratch-dask-staging"
~ policy = jsonencode(
{
- Statement = [
- {
- Action    = "s3:"
- Effect    = "Allow"
- Principal = {
- AWS = "arn:aws:iam::790657130469:role/2i2c-aws-us-dask-staging"
}
- Resource  = [
- "arn:aws:s3:::2i2c-aws-us-scratch-dask-staging/",
- "arn:aws:s3:::2i2c-aws-us-scratch-dask-staging",
]
- Sid       = ""
},
]
- Version   = "2012-10-17"
}
) -> (known after apply)
# (1 unchanged attribute hidden)
}
aws_s3_bucket_policy.user_bucket_access["go-bgc.scratch-go-bgc"] will be updated in-place
~ resource "aws_s3_bucket_policy" "user_bucket_access" {
id     = "2i2c-aws-us-scratch-go-bgc"
~ policy = jsonencode(
{
- Statement = [
- {
- Action    = "s3:"
- Effect    = "Allow"
- Principal = {
- AWS = "arn:aws:iam::790657130469:role/2i2c-aws-us-go-bgc"
}
- Resource  = [
- "arn:aws:s3:::2i2c-aws-us-scratch-go-bgc/",
- "arn:aws:s3:::2i2c-aws-us-scratch-go-bgc",
]
- Sid       = ""
},
]
- Version   = "2012-10-17"
}
) -> (known after apply)
# (1 unchanged attribute hidden)
}
aws_s3_bucket_policy.user_bucket_access["itcoocean.scratch-itcoocean"] will be updated in-place
~ resource "aws_s3_bucket_policy" "user_bucket_access" {
id     = "2i2c-aws-us-scratch-itcoocean"
~ policy = jsonencode(
{
- Statement = [
- {
- Action    = "s3:"
- Effect    = "Allow"
- Principal = {
- AWS = "arn:aws:iam::790657130469:role/2i2c-aws-us-itcoocean"
}
- Resource  = [
- "arn:aws:s3:::2i2c-aws-us-scratch-itcoocean/",
- "arn:aws:s3:::2i2c-aws-us-scratch-itcoocean",
]
- Sid       = ""
},
]
- Version   = "2012-10-17"
}
) -> (known after apply)
# (1 unchanged attribute hidden)
}
aws_s3_bucket_policy.user_bucket_access["ncar-cisl.scratch-ncar-cisl"] will be updated in-place
~ resource "aws_s3_bucket_policy" "user_bucket_access" {
id     = "2i2c-aws-us-scratch-ncar-cisl"
~ policy = jsonencode(
{
- Statement = [
- {
- Action    = "s3:"
- Effect    = "Allow"
- Principal = {
- AWS = "arn:aws:iam::790657130469:role/2i2c-aws-us-ncar-cisl"
}
- Resource  = [
- "arn:aws:s3:::2i2c-aws-us-scratch-ncar-cisl/",
- "arn:aws:s3:::2i2c-aws-us-scratch-ncar-cisl",
]
- Sid       = ""
},
]
- Version   = "2012-10-17"
}
) -> (known after apply)
# (1 unchanged attribute hidden)
}
aws_s3_bucket_policy.user_bucket_access["researchdelight.persistent-showcase"] will be created

resource "aws_s3_bucket_policy" "user_bucket_access" {

bucket = (known after apply)
id     = (known after apply)
policy = (known after apply)
}

aws_s3_bucket_policy.user_bucket_access["researchdelight.scratch-researchdelight"] will be updated in-place
~ resource "aws_s3_bucket_policy" "user_bucket_access" {
id     = "2i2c-aws-us-scratch-researchdelight"
~ policy = jsonencode(
{
- Statement = [
- {
- Action    = "s3:"
- Effect    = "Allow"
- Principal = {
- AWS = "arn:aws:iam::790657130469:role/2i2c-aws-us-researchdelight"
}
- Resource  = [
- "arn:aws:s3:::2i2c-aws-us-scratch-researchdelight/",
- "arn:aws:s3:::2i2c-aws-us-scratch-researchdelight",
]
- Sid       = ""
},
]
- Version   = "2012-10-17"
}
) -> (known after apply)
# (1 unchanged attribute hidden)
}
aws_s3_bucket_policy.user_bucket_access["staging.scratch-staging"] will be updated in-place
~ resource "aws_s3_bucket_policy" "user_bucket_access" {
id     = "2i2c-aws-us-scratch-staging"
~ policy = jsonencode(
{
- Statement = [
- {
- Action    = "s3:"
- Effect    = "Allow"
- Principal = {
- AWS = "arn:aws:iam::790657130469:role/2i2c-aws-us-staging"
}
- Resource  = [
- "arn:aws:s3:::2i2c-aws-us-scratch-staging/",
- "arn:aws:s3:::2i2c-aws-us-scratch-staging",
]
- Sid       = ""
},
]
- Version   = "2012-10-17"
}
) -> (known after apply)
# (1 unchanged attribute hidden)
}
Plan: 3 to add, 6 to change, 0 to destroy.
Changes to Outputs:
~ buckets                   = {
+ persistent-showcase     = (known after apply)
# (6 unchanged attributes hidden)
}
</details>

I have deployed this:

tf apply went without issue
the PERSISTENT_BUCKET variable is now available on the hub pointing to the new bucket

I shall merge this now


Select correct 90 SNPs in PD

of previous 107 SNPs, selected 90 SNPs that were mentioned in lancet paper. the 90 snps don't really appear anywhere, but got the list from Mike Nalls.

this gets rid of these two outliers:

also

added rsid column
turned lower case allele into upper case
updated to correct study_doi (biorxiv before, now lancet neurology).

No separate summary stats.
Proxy cases come from UKBB (surprisingly, I would have thought 23andme). The paper has a nice overview that shows So 1/3 proxy cases, 2/3 cases:

The latest & biggest study is Chang et al. 2017. We have those sumstats in pd_no_proxy_2017.csv. In the figure above it looks like Nalls et al 2014 is actually bigger. But Chang meta-analysed two studies and this is where we have the sumstats from.


Remove cloud.gov deploy

in favor of the staging work being done in azure https://github.com/CDCgov/prime-central/issues/146

I would prefer to keep our existing CD environment working until we get working CD into Azure—especially since it seems like the plan for the staging environment isn't really suitable for either demos or QA.

My understanding was the demo env https://demo.simplereport.org/ was an azure env

Yeah, but @pete-usds hates the infrastructure and as far as I know it's all manually deployed. Let's sync sometime soon about what envs we need and how close we are to having them--I'm not sure anybody except possibly Pete has the full picture, which seems bad given Pete's imminent disappearance.

Yep demo is in azure, same steps to deploy as beta just change "beta" to "demo" in pretty much all the instructions! Still lots of manual stuff as Ben indicated.

@benwarfield-usds good to merge now that we have CD with the dev env?

I would say no, until that deploy has been QC'd a bit better and we've sorted out how we're using our environments for story QA.


Handle Command Errors for cogs

For example:
discord.ext.commands.errors.CommandNotFound: Command "subredit" is not found
```

@error when a task errors handle errors by logging them. If we can continue with running the task restart() the task


[WIP] Format now supports streaming

Depends on #621
Format now uses io.Reader/Writer, allowing binding.ToEvent and binding.ToMessage to use the new json streaming reader/writer
Note: this is breaking, although it's modifying an "internal" API (yeah it's public, but it's not really documented for users to use it)
Signed-off-by: Francesco Guardiani<EMAIL_ADDRESS>

Closing for now - we can reopen it if someone would like to continue to work on it


[WFRP4e Core] Character sheet fortune issue

Players can add and subtract fortune points.
The subtracking is offcourse something very handy but they can cheat and add fortune points without any message to the GM.From: Kelgtar#3842wfrp4e: 4.3.1wfrp4e-core: 2.2.1wfrp4e-dotr: 2.1.0wfrp4e-eis: 2.1.1wfrp4e-rnhd: 2.2.1wfrp4e-starter-set: 2.1.0wfrp4e-ua1: 2.1.0

No amount of technology can solve a person problem


Fix dockerfile

Encounter this issue while building Dagger from source for our GitHub Action in https://github.com/dagger/dagger-for-github/pull/53
  #10 8.698 go: downloading github.com/klauspost/compress v1.15.1
  #10 8.699 go: downloading github.com/containerd/ttrpc v1.1.0
  #10 9.890 go: missing Git command. See https://golang.org/s/gogetcmd
  #10 9.891 error obtaining VCS status: exec: "git": executable file not found in $PATH
  #10 9.891 	Use -buildvcs=false to disable VCS stamping.
  #10 ERROR: executor failed running [/bin/sh -c CGO_ENABLED=0 go build -o /out/dagger -ldflags '-s -d -w' ./cmd/dagger;     file /out/dagger | grep "statically linked"]: exit code: 1

https://github.com/dagger/dagger-for-github/runs/6136917852?check_suite_focus=true#step:3:479

This PR adds git package to fix this issue. We could also disable buildvcs if you want.
Also adds an action in our ci plan to check this Dockerfile builds correctly.

Argh looks like we are rate-limited by GitHub: https://github.com/dagger/dagger/runs/6141045840?check_suite_focus=true#step:6:1178
 3:56PM DBG system | #27 writing layer sha256:1cdedcb54f31f70eb8fa1ff866c61f3c5a2e484caa4570cea14935ae2dd731a9
3:56PM DBG system | #27 writing layer sha256:1cdedcb54f31f70eb8fa1ff866c61f3c5a2e484caa4570cea14935ae2dd731a9 0.6s done
4:01PM DBG system | #27 ERROR: maximum timeout reached

Argh looks like we are rate-limited by GitHub: https://github.com/dagger/dagger/runs/6141045840?check_suite_focus=true#step:6:1178

Yes. Noticing more and more PRs are being affected by this.
I've just restarted the CI


Added lock/unlock capability. Expedited commands now require modifier key.

Coverage increased (+0.05%) to 61.177% when pulling e68c201ac42ab9339f0f22ed32793e75fb2e9e53 on m-aslam-mj2:stage11 into beb1fee53b032a890bc7bbe379ef1b38d3e77dfe on CS2113-AY1819S1-T16-1:master.


[flutter_tools] allow flutter drive to take screenshots when sent a terminating signal

When LUCI times out a step after 30 minutes, it first sends a signal (SIGTERM on *nix, SIGINT I think on Windows) to the last running process. If the CI build is running flutter drive --screenshot=/path/to/screenshot ..., we should try to take a screenshot when this signal is sent.
Should add debugging for https://github.com/flutter/flutter/issues/114025

Let me know when you see this happen, curious if it works.

Will do


Streamline Issuer Info display

Currently Issuer Info has as separate sections:
Issuer Name
Location
Issuer URL
Condense to:
Issuer

what do you think @dmitrizagidulin? if you like it go ahead and assign this to Seth

+1 from me (to condense)

this has been implemented, closing


ECO2_Ledger.md

Grant Application Checklist

[ ] The application-template.md has been copied, renamed ( "project_name.md") and updated.
[ ] A BTC address for the payment of the milestones is provided inside the application.
[ ] The software of the project will be released under the Apache license version 2.0 as specified in the terms and conditions.
[ ] The total funding amount of the project is below CHF 30k at the time of submission.

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

I’m closing the grant application due to inactivity. Feel free to reopen it or to apply again.


Smart Blinds (unsupported) by Tuya

Describe the bug
Smart Blinds showing as (unsupported) by Tuya
Expected behavior
To control the blinds
Device Information
Product Name Smart Blinds
Device ID<PHONE_NUMBER>a160230b0e
Product Category cl
Json Debug
[
{
"code": "switch_1",
"value": false
},
{
"code": "percent_control",
"value": 0
}
]
Same issue is reported here https://github.com/home-assistant/core/issues/59158

#652

Hey Guys,
Any updates on this one?

I have installed 2021.12.6 and the blinds are now working

Glad the issue has been resolved 👍


submesh: half edge connectivity impl

for implementing algorithms that would benefit from half-edge data structure.

done over the last week


books bag tabletop

About the PR

Expanded the whitelist of the Librarian's Books Bag (a ginormous belt container) to allow the tags Write, Dice, Figurine, and TabletopBoard
Why / Balance

For Write because I feel the librarian should be able to more easily carry around instruments to write with (although this is mostly a nonissue with PDA, it just makes sense to me that writing and books would go together)
For everything else because a large part of Librarian gameplay is D&D and board games right now so the librarian should be able to very easily carry around everything they need to facilitate that.
None of these items are really that powerful to be able to carry around in terms of balance, only really contraband pens but those could be stored in the PDA previously or just about anywhere since they're all tiny 1x1 items.
Technical details

I added the TabletopBoard tag to the BaseBoardEntity entity (item) to facilitate, previously to my knowledge (and a codebase search) this tag was only used on the BaseBoardTabletop which is the entity that you use to play games on, not the in world item. This was possibly a typo?
Media

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

Changelog

:cl:

tweak: The Librarian's Books Bag can now hold D&D related items such as dice and battlemats.

Bless. Plays-The-Chess will finally have somewhere to put his boards!


Remove URL from QR-codes

Esther is going to manually shorten the URLs for the visitor website, so instead of adding the URL to the QR-code, we will put all the URLs in a text file in the ZIP file and she will manually generate the shortened URLs and put them on the sign.

Umm, weren't we going to also produce a text file with all the URLs as well, so that Esther can just copy and paste them into the URL shortening service? I totally forgot about that when I merged the PR and closed this issue?

Verified working on production server.


Update to Exonum revision 7223ce6ebcf [ECR-3972]

Overview
Updating to almost recent master.

See: https://jira.bf.local/browse/ECR-3972
Definition of Done

[x] There are no TODOs left in the code
[x] Change is covered by automated tests
[x] The coding guidelines are followed
[x] Public API has Javadoc
[x] Method preconditions are checked and documented in the Javadoc of the method
[ ] Changelog is updated if needed (in case of notable or breaking changes)
[ ] The continuous integration build passes

I'd update the proto-sources to keep them in sync.

Coverage decreased (-0.2%) to 86.667% when pulling 182ccb0e23bf6a4221015558071ccd22b9c9992a on vitvakatu:ecr-3972-update-7 into 5b7a82a4c3fd7c4988b12526050d5f7f285a8fa4 on exonum:master.