Stopping VM instance in object destructor raises exception:  ssl.SSLError: Underlying socket connection gone

I have a simple class Test below which starts a Google Compute Engine VM and then stops it by either calling a function (explicit), or relying on object destruction, via __del__ (implicit).
class Test:
    def __init__(self):
        os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = 'secret.json'
        self._compute = googleapiclient.discovery.build('compute',
                                                        'v1',
                                                        cache_discovery=False)
        print('starting vm')
        req = self._compute.instances().start(project='test-project',
                                              zone='us-east1-b',
                                              instance='test-vm',
                                              requestId=uuid.uuid1())
        self.execute(req)
        self._running = True

    def stop(self):
        print('stopping vm')
        req = self._compute.instances().stop(project='test-project',
                                             zone='us-east1-b',
                                             instance='test-vm',
                                             requestId=uuid.uuid1())
        self.execute(req)
        self._running = False

    def execute(self, req):
        print(f'method({req.methodId})')
        resp = req.execute()
        while resp['status'] != 'DONE':
            time.sleep(1)
            resp = req.execute()
        return resp

    def __del__(self):
        if self._running:
            print('stopping in destructor')
            self.stop()

The Test class is interacted with as follows:
if __name__ == '__main__':
    print('start test')
    t = Test()

    print('vm running, wait 5 seconds')
    time.sleep(5)

    if len(sys.argv) == 2 and sys.argv[1] == 'stop':
        t.stop()

    print('test done')

When using the explicit method (ie: calling t.stop() before the object starts being destructed), the VM stops fine:
$ ./test.py stop
start test
starting vm
method(compute.instances.start)
vm running, wait 5 seconds
stopping vm
method(compute.instances.stop)
test done

However, when using the implicit method (ie: relying on t going out of scope, and having Test::__del__ called), I get an exception thrown from within the googleapiclient stack:
$ ./test.py
start test
starting vm
method(compute.instances.start)
vm running, wait 5 seconds
test done
stopping in destructor
stopping vm
method(compute.instances.stop)
Exception ignored in: <bound method Test.__del__ of <__main__.Test object at 0x7fe091720320>>
Traceback (most recent call last):
  File "./test.py", line 46, in __del__
  File "./test.py", line 32, in stop
  File "./test.py", line 37, in execute
  File "/src/test/.venv/lib/python3.6/site-packages/googleapiclient/_helpers.py", line 130, in positional_wrapper
  File "/src/test/.venv/lib/python3.6/site-packages/googleapiclient/http.py", line 846, in execute
  File "/src/test/.venv/lib/python3.6/site-packages/googleapiclient/http.py", line 183, in _retry_request
  File "/src/test/.venv/lib/python3.6/site-packages/googleapiclient/http.py", line 164, in _retry_request
  File "/src/test/.venv/lib/python3.6/site-packages/google_auth_httplib2.py", line 198, in request
  File "/src/test/.venv/lib/python3.6/site-packages/httplib2/__init__.py", line 1926, in request
  File "/src/test/.venv/lib/python3.6/site-packages/httplib2/__init__.py", line 1595, in _request
  File "/src/test/.venv/lib/python3.6/site-packages/httplib2/__init__.py", line 1502, in _conn_request
  File "/usr/lib/python3.6/http/client.py", line 1239, in request
  File "/usr/lib/python3.6/http/client.py", line 1285, in _send_request
  File "/usr/lib/python3.6/http/client.py", line 1234, in endheaders
  File "/usr/lib/python3.6/http/client.py", line 1026, in _send_output
  File "/usr/lib/python3.6/http/client.py", line 986, in send
  File "/usr/lib/python3.6/ssl.py", line 975, in sendall
  File "/usr/lib/python3.6/ssl.py", line 944, in send
  File "/usr/lib/python3.6/ssl.py", line 642, in write
ssl.SSLError: Underlying socket connection gone (_ssl.c:2067)

Environment details

OS: Ubuntu 18.04
Python version: 3.6
pip version: 19.0.3
google-api-python-client version: 1.7.8

I think you might be running into this:

__del__() can be executed during interpreter shutdown. As a consequence, the global variables it needs to access (including other modules) may already have been deleted or set to None. Python guarantees that globals whose name begins with a single underscore are deleted from their module before other globals are deleted; if no other references to such globals exist, this may help in assuring that imported modules are still available at the time when the __del__() method is called.

https://docs.python.org/3/reference/datamodel.html#object.__del__
You can make sure the compute resources get cleaned up consistently by using a context manager. Here is a modification of the code you provided above with __enter__ and __exit__ methods. I don't have much experience with context managers, so please read the official documentation if you go this route. :smiley:
import os
import uuid
import time

from googleapiclient import discovery

class Test:
    def __init__(self):
        os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "secret.json"
        self._compute = discovery.build("compute", "v1", cache_discovery=False)

    def __enter__(self):
        self.start()
        return self

    def __exit__(self, exc_type, exc_value, traceback):
        print("stopping in __exit__")
        self.stop()

    def start(self):
        print("starting vm")
        req = self._compute.instances().start(
            project="test-project",
            zone="us-east1-b",
            instance="test-vm",
            requestId=uuid.uuid1(),
        )
        self.execute(req)
        self._running = True

    def stop(self):
        print("stopping vm")
        req = self._compute.instances().stop(
            project="test-project",
            zone="us-east1-b",
            instance="test-vm",
            requestId=uuid.uuid1(),
        )
        self.execute(req)
        self._running = False

    def execute(self, req):
        print(f"method({req.methodId})")
        resp = req.execute()
        while resp["status"] != "DONE":
            time.sleep(1)
            resp = req.execute()
        return resp

if __name__ == "__main__":
    with Test() as t:
        print("vm running, wait 5 seconds")
        time.sleep(5)

    print("test done")

$ python3 make-vm.py
starting vm
method(compute.instances.start)
vm running, wait 5 seconds
stopping vm
method(compute.instances.stop)
stopping in __exit__
stopping vm
method(compute.instances.stop)
test done

Apologies for the long delay here, but hopefully this is useful to someone.

@busunkim96 thank you for this - very useful!


Add audio dongle as supported DeviceType

Add audio dongle as supported DeviceType

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (6fb4341) to head (531700b).
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #376   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            5         5
  Lines          653       654    +1
  Branches        28        28
=========================================
+ Hits           653       654    +1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Update Plugin Runtime and Decouple the Target association with the Context commands

What this PR does / why we need it

Update Plugin Runtime and Decouple the Target association with the Context commands
Removes the usage of deprecated functions
Updates the tanzu context list and tanzu context unset command to deprecated existing --target flag and introduce a new --type flag
Updates the tanzu context list user experience for Table format

Changed related to: https://github.com/vmware-tanzu/tanzu-plugin-runtime/pull/112
Which issue(s) this PR fixes

Fixes #
Describe testing done for PR

$ tz context list
  NAME   ISACTIVE  TYPE                ENDPOINT                                                                                KUBECONFIGPATH             KUBECONTEXT        PROJECT  SPACE
  kind   false     kubernetes                                                                                /Users/anujc/.kube/config  kind-test-cluster  n/a      n/a
  kind2  false     kubernetes                                                                                /Users/anujc/.kube/config  kind-test-cluster  n/a      n/a
  ucp1   false     application-engine  https://ucp-aria.stacks.bluesky.tmc-dev.cloud.vmware.com/org/ee04bfae-a665-4f20-a5b9-d8b043180252  /Users/anujc/.kube/config  tanzu-cli-ucp1
  tmc1   false     mission-control     https://ucp-aria.stacks.bluesky.tmc-dev.cloud.vmware.com                                           n/a                        n/a                n/a      n/a

# Test with deprecated --target flag
$ tz context list --target k8s
Flag --target has been deprecated, this was done in the v1.1.0 release, it will be removed following the deprecation policy (6 months). Use the --type flag instead.

  NAME   ISACTIVE  TYPE        ENDPOINT  KUBECONFIGPATH             KUBECONTEXT
  kind   false     kubernetes            /Users/anujc/.kube/config  kind-test-cluster
  kind2  false     kubernetes            /Users/anujc/.kube/config  kind-test-cluster

# Test Only K8S context type with different values
$ tz context list --type k8s
  NAME   ISACTIVE  TYPE        ENDPOINT  KUBECONFIGPATH             KUBECONTEXT
  kind   false     kubernetes            /Users/anujc/.kube/config  kind-test-cluster
  kind2  false     kubernetes            /Users/anujc/.kube/config  kind-test-cluster
$ tz context list --type K8s
  NAME   ISACTIVE  TYPE        ENDPOINT  KUBECONFIGPATH             KUBECONTEXT
  kind   false     kubernetes            /Users/anujc/.kube/config  kind-test-cluster
  kind2  false     kubernetes            /Users/anujc/.kube/config  kind-test-cluster
$ tz context list --type kubernetes
  NAME   ISACTIVE  TYPE        ENDPOINT  KUBECONFIGPATH             KUBECONTEXT
  kind   false     kubernetes            /Users/anujc/.kube/config  kind-test-cluster
  kind2  false     kubernetes            /Users/anujc/.kube/config  kind-test-cluster

# Test Only TMC context type
$ tz context list --type tmc
  NAME  ISACTIVE  TYPE             ENDPOINT
  tmc1  false     mission-control  https://ucp-aria.stacks.bluesky.tmc-dev.cloud.vmware.com

# Test Only TAE context type
$ tz context list --type tae
  NAME  ISACTIVE  TYPE                ENDPOINT                                                                                KUBECONFIGPATH             KUBECONTEXT     PROJECT  SPACE
  ucp1  false     application-engine  https://ucp-aria.stacks.bluesky.tmc-dev.cloud.vmware.com/org/ee04bfae-a665-4f20-a5b9-d8b043180252  /Users/anujc/.kube/config  tanzu-cli-ucp1
$ tz context list --type application-engine
  NAME  ISACTIVE  TYPE                ENDPOINT                                                                                KUBECONFIGPATH             KUBECONTEXT     PROJECT  SPACE
  ucp1  false     application-engine  https://ucp-aria.stacks.bluesky.tmc-dev.cloud.vmware.com/org/ee04bfae-a665-4f20-a5b9-d8b043180252  /Users/anujc/.kube/config  tanzu-cli-ucp1

# List all context and check active contexts
$ tz context list
  NAME   ISACTIVE  TYPE                ENDPOINT                                                                                KUBECONFIGPATH             KUBECONTEXT        PROJECT  SPACE
  kind   true      kubernetes                                                                                /Users/anujc/.kube/config  kind-test-cluster  n/a      n/a
  kind2  false     kubernetes                                                                                /Users/anujc/.kube/config  kind-test-cluster  n/a      n/a
  ucp1   false     application-engine  https://ucp-aria.stacks.bluesky.tmc-dev.cloud.vmware.com/org/ee04bfae-a665-4f20-a5b9-d8b043180252  /Users/anujc/.kube/config  tanzu-cli-ucp1
  tmc1   true      mission-control     https://ucp-aria.stacks.bluesky.tmc-dev.cloud.vmware.com                                           n/a                        n/a                n/a      n/a

# Verify unset for K8S
$ tz context unset -t k8s
The context 'kind' of type 'kubernetes' has been set as inactive

$ tz context list
  NAME   ISACTIVE  TYPE                ENDPOINT                                                                                KUBECONFIGPATH             KUBECONTEXT        PROJECT  SPACE
  kind   false     kubernetes                                                                                /Users/anujc/.kube/config  kind-test-cluster  n/a      n/a
  kind2  false     kubernetes                                                                                /Users/anujc/.kube/config  kind-test-cluster  n/a      n/a
  ucp1   false     application-engine  https://ucp-aria.stacks.bluesky.tmc-dev.cloud.vmware.com/org/ee04bfae-a665-4f20-a5b9-d8b043180252  /Users/anujc/.kube/config  tanzu-cli-ucp1
  tmc1   true      mission-control     https://ucp-aria.stacks.bluesky.tmc-dev.cloud.vmware.com                                           n/a                        n/a                n/a      n/a

# Verify unset for TMC with incorrect context name
$ tz context unset -t tmc unknown
[x] : The provided context 'unknown' does not exist or is not active for the given context type 'mission-control'

# Verify unset for TMC context type
[1]$ tz context unset -t mission-control
The context 'tmc1' of type 'mission-control' has been set as inactive

# Verify deprecated --target flag
$ tz context unset --target kind
Flag --target has been deprecated, this was done in the v1.1.0 release, it will be removed following the deprecation policy (6 months). Use the --type flag instead.

[x] : invalid target specified. Please specify a correct value for the `--target/-t` flag from 'kubernetes[k8s]/mission-control[tmc]/application-engine[tae]

Show dynamic columns with tanzu context list output.
$ tz context list
  NAME   ISACTIVE  TYPE                ENDPOINT                                                                                KUBECONFIGPATH             KUBECONTEXT        PROJECT  SPACE
  kind   false     kubernetes                                                                                /Users/anujc/.kube/config  kind-test-cluster  n/a      n/a
  kind2  false     kubernetes                                                                                /Users/anujc/.kube/config  kind-test-cluster  n/a      n/a
  ucp1   false     application-engine  https://ucp-aria.stacks.bluesky.tmc-dev.cloud.vmware.com/org/ee04bfae-a665-4f20-a5b9-d8b043180252  /Users/anujc/.kube/config  tanzu-cli-ucp1
  tmc1   false     mission-control     https://ucp-aria.stacks.bluesky.tmc-dev.cloud.vmware.com                                           n/a                        n/a                n/a      n/a

$ tz context delete ucp1
Deleting the context entry from the config will remove it from the list of tracked contexts. You will need to use `tanzu context create` to re-create this context. Are you sure you want to continue? [y/N]: y
[i] Deleting entry for context 'ucp1'

# As we do not have any TAE context it will not show `Project` and `Space` columns
$ tz context list
  NAME   ISACTIVE  TYPE             ENDPOINT                                                  KUBECONFIGPATH             KUBECONTEXT
  kind   false     kubernetes                                                                 /Users/anujc/.kube/config  kind-test-cluster
  kind2  false     kubernetes                                                                 /Users/anujc/.kube/config  kind-test-cluster
  tmc1   false     mission-control  https://ucp-aria.stacks.bluesky.tmc-dev.cloud.vmware.com  n/a                        n/a

Release note

Decouple the Target association with the Context commands

- The `--target` flag is deprecated over the newly introduced `--type` flag for the `tanzu context list` and `tanzu context unset` commands

Additional information
Special notes for your reviewer

Related: Update the --type completion option in the tanzu context create command after https://github.com/vmware-tanzu/tanzu-cli/pull/539 gets in.

Thanks for persisting through the various updates.
I would like to follow up on the metrics we generate to account for tae context, in particular to be able to distinguish between when a k8s vs tae context is used, but should be done in a followup. cc @prkalle

lgtm, reminder to squash/rebase as appropriate.

I will squash it as part of merging the PR.


[python] Early error for dataframe objects presented as obsm etc. on ingest

The obsm, obsp, varm, and varp must be 2D arrays, not dataframes. In those cases when an input AnnData object does contain a dataframe in any of these slots, the ingest fails (as it should) but it fails partway through the ingest, and it fails with a stack trace.

We should have a type-check early on in from_anndata (next to the other existing error checks) -- before the ingest starts -- not within the ingest-matrix function at which point the ingest would crash partway through
The error message should be user-friendly

@jp-dark or delegate will handle this for the upcoming sprint.


STORAGE:

How to get all internal & external storage path.. Please help me..

You can use the StorageManager service class. If you need a specific feature, open a new issue.


Feature Query: Support for Capture Snapshot & Restore Snapshot

Platform Details

Version of vRA: 7.2.0
Version of ESXi: 6.5

Scenario:
It would be very useful to be able to use the kitchen-vra gem to capture snapshots and restore snapshots to a test-kitchen instance.

It doesn't look it can be done with the vRA API, I'm afraid - it appears that that functionality relies within the vSphere API. I was hopeful it could be done since the snapshot functionality does appears in the VRA UI.
After some further consideration, I'll close this feature request, as it would greatly increase the complexity of kitchen-vra in a way that isn't beneficial. Thank you for the consideration, though!


fix(select): variant attr, tests

Closes #2664
What I did

replace boolean attrs with upstream's variant attr
remove case-sensitive and match-anywhere attrs from select and listbox, use a customFilter prop instead.
adjust tests

Notes to reviewers
please carefully review the spec files

@nikkimk I'm making assumptions that demo/chips.html and demo/multi-select-with-badge.html can now be removed? Their attributes are no longer available. Does that seem correct to you?

Docs and demos should align of upstream docs imho.

Docs and demos should align of upstream docs imho.

My mistake I misunderstood what the demos were supposed to show.  Compared to PFv4 and have a better understanding now of what should be shown there.

Options count for checkbox variant doesn't update on keyboard navigation selection, only on with mouse click.

2d39d804

@nikkimk If you write out the specs in prose, I can fill out the test file, e.g.
<pf-select> > variant attribute > "single" > calling focus()) > pressing Enter > opens
<pf-select> > variant attribute > "single" > calling focus()) > pressing Enter > pressing ArrowDown > focuses on first option
<pf-select> > variant attribute > "single" > calling focus()) > pressing Enter > pressing ArrowDown > pressing ArrowDown > focuses on second option
<pf-select> > variant attribute > "single" > calling focus()) > pressing Enter > pressing ArrowDown > pressing ArrowDown > pressing Enter > selects it
<pf-select> > variant attribute > "single" > calling focus()) > pressing Enter > pressing Space > closes

but for all the different scenarios
you're also welcome to take a crack at it, just commit whatever you have by eow so i can pick it back up sunday morning :handshake:

@bennypowers:
Single

 > variant attribute > "single" > calling focus()) > pressing Enter > opens and focuses on active item
 > variant attribute > "single" > calling focus()) > pressing Spacebar > opens and focuses on active item
 > variant attribute > "single" > calling focus()) > pressing ArrowDown > opens and focuses on active item
 > variant attribute > "single" > opened > first item focus() > pressing Shift+Tab > closes and sets focus on trigger
 > variant attribute > "single" > opened > first item focus() > pressing ArrowDown > focuses on second item
 > variant attribute > "single" > opened > second item focus() > pressing ArrowUp > focuses on first item
 > variant attribute > "single" > opened > first item focus() > pressing ArrowUp > focuses on last item
 > variant attribute > "single" > opened > last item focus() > pressing ArrowDown > focuses on first item
 > variant attribute > "single" > opened > first item focus() > pressing Enter > closes, selects activeItem, and sets focus on trigger

Checkbox

 > variant attribute > "checkbox" > calling focus()) > pressing Enter > opens and focuses on active item
 > variant attribute > "checkbox" > calling focus()) > pressing Spacebar > opens and focuses on active item
 > variant attribute > "checkbox" > calling focus()) > pressing ArrowDown > opens and focuses on active item
 > variant attribute > "checkbox" > opened > first item focus() > pressing Shift+Tab > closes and sets focus on
 > variant attribute > "checkbox" > opened with second item selected > first item focus() > pressing Enter > adds activeItem to selection but does not close
 > variant attribute > "checkbox" > selecting two items > shows badge with number 2
 > variant attribute > "checkbox" > hide-badge attribute > true > selecting two items > no badge is shown

Typeahead

 > variant attribute > "typeahead" > calling focus()) > pressing ArrowDown > opens, focuses on active item, selects it, and updates input
 > variant attribute > "typeahead" > opened > second item focus() > pressing Enter >  selects it, updates input, focuses on input, and closes

Typeahead multiple

 > variant attribute > "typeaheadmulti" > calling focus()) > pressing ArrowDown > opens and focuses on active item
 > variant attribute > "typeaheadmulti" > opened > first item focus() > pressing Shift+Tab > closes and sets focus on
 > variant attribute > "typeaheadmulti" > opened with second item selected > first item focus() > pressing Enter > adds activeItem to selection but does not close
 > variant attribute > "typeaheadmulti" > has-chips attribute??? > selecting first item > adds a chip and sets focus on input
 > variant attribute > "typeaheadmulti" > has-chips attribute??? > multiple items selected > selecting first chip > pressing Enter > deletes chip and focuses on next chip
 > variant attribute > "typeaheadmulti" > has-chips attribute??? > one item selected > selecting first chip > pressing Enter > deletes chip and focuses on next input
 > variant attribute > "typeaheadmulti" > has-chips attribute??? > no items selected > no chips displayed

@bennypowers per your question this morning for all select variants, when any listbox items is focused:

pressing Escape closes the listbox and focuses on the toggle button
pressing Shift+Tab closes the listbox and focuses on the toggle button
pressing Tab closes the listbox and focuses on the next focusable element in the DOM

ok tests on pf-select should be green now. I think we might be missing some assertions on accessible labels and aria descriptions, it would be good to ensure those are there
As well, it seems to me that delegatesFocus has different behaviour in chrome vs firefox. focusing the dropdown and pressing arrowdown in chromium focuses the first option, but in firefox it does not.

@nikkimk not correct in what way?

Nikki may be referring to how the variant demos from "Multi-selectable" on down on the docs page are currently all just the default "Single" select. For example, this is how "Checkbox" looks:

Also the "Accessibility" heading is currently a <p>:

Screen reader issues as of 1/31/24
It looks like Select is working as expected via keyboard in desktop browsers--when no screen reader is enabled. However, there are currently issues among all the major Mac and Win browser and screen reader combos (Mac Safari and VoiceOver, Win Chrome and JAWS, Win Firefox and NVDA).
The following can be tested/confirmed in the Single variant of Select (among others):
GIVEN a closed <pf-select> with keyboard focus

WHEN the user presses space or enter to open the list
  And then uses the arrow keys to highlight an option
  And then presses space or enter to select an option

THEN the highlighted option should be selected
  And the list should close

Mac Safari and VoiceOver
Right now, with Safari and VoiceOver, I can open the list with space/enter. And I can navigate the options with the up and down arrows.
However, pressing space/enter to select the highlighted option does not select the highlighted option. The first time you open the list and press space/enter, the list closes with the first option selected (e.g., "Blue" in the Single variant demo)--no matter which option you have highlighted. Upon subsequent openings of the list, the space/enter keys do nothing at all. The list can only be closed via tabbing or the escape key.
Win Chrome/JAWS and FireFox NVDA
Though the list can be opened via space/enter, the lists cannot be navigated via the arrow keys at all.
Hope that test scenario format is the kind of thing you're looking for, @bennypowers !

I noticed some issues with the typeahead multi variant, as well. It could be that the firefox-focus-fix ... broke (😉) the behaviour when expanding the menu for typeaheadmulti

i've got a couple more changes i'm planning for this: ListboxController will have to receive a secondary keyboard a11y controller (either rtic or activedescendant) in order to function. this will mean small changes to the interface on rtic

@nikkimk, @hellogreg, and @zeroedin this is ready for a comprehensive review. Notes:

Expect tabs tests to fail, we'll address those in a separate PR (per discussion today at office hours)
Please validate the test cases as test files have changed
Please consider downstream use through the lens of readability and maintainability. See this PR as an effort to limit the scope of the abstractions we offer in core. It might mean more work for downstream, but at the benefit of readability/maintainability/team-grokkability. Later on, when we have more downstream cases, we can always identity higher level abstractions, but if we make even small mistakes in high level abstractions now, we won't be able to support new features without breaking changes

https://deploy-preview-2677--patternfly-elements.netlify.app/components/select/
https://deploy-preview-2677--patternfly-elements.netlify.app/components/chip/

Chip group should be hidden if there are not chips, but it can be seen in DP

see f11741cc

The failures in rh-tabs will be P.G. fixed in a subsequent PR


Send/Receive/Close pattern on non-buffered channel results in panic

The following code panics
package helloworld

import (
	"fmt"
	"go.uber.org/cadence/workflow"
)

func init() {
	workflow.Register(Workflow)
}

func Workflow(ctx workflow.Context, name string) error {
	ch := workflow.NewChannel(ctx)
	for i := 0; i < 2; i++ {
		workerNum := i
		fmt.Printf("starting worker_%v\n", workerNum)
		workflow.Go(ctx, func(ctx2 workflow.Context) {
			fmt.Printf("worker_%v waiting to send on channel\n", workerNum)
			ch.Send(ctx2, workerNum)
			fmt.Printf("worker_%v sent on channel\n", workerNum)
		})
	}
	for i := 0; i < 2; i++ {
		var workerNum int
		iteration := i
		fmt.Printf("iteration_%v waiting to receive on channel\n", iteration)
		ch.Receive(ctx, &workerNum)
		fmt.Printf("iteration_%v receieved on channel from worker_%v\n", iteration, workerNum)
	}
	fmt.Println("closing channel")
	ch.Close()
	return nil
}

It panics on the second send with error "Closed channel" this indicates that somehow the channel is closed before send is complete. I suspect that what is happening is the second call to send unblocks receive, then the channel is closed, then send does something else that depends on the channel not being closed.

https://github.com/uber-go/cadence-client/issues/710


feat: support binary decoding

Codecov Report

Merging #4 (c38de2f) into main (3a00d25) will decrease coverage by 1.14%.
The diff coverage is 3.12%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
@@            Coverage Diff             @@
##             main       #4      +/-   ##
==========================================
- Coverage   81.49%   80.36%   -1.14%
==========================================
  Files          25       26       +1
  Lines        2124     2154      +30
==========================================
  Hits         1731     1731
- Misses        393      423      +30

Flag
Coverage Δ

rust
80.36% <3.12%> (-1.14%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Changed
Coverage Δ

src/arrow_reader/column.rs
92.96% <ø> (ø)

src/arrow_reader/column/binary.rs
0.00% <0.00%> (ø)

src/arrow_reader.rs
79.27% <12.50%> (-1.77%)
:arrow_down:


[wip] livereload: add

work in progress, untested so far

add livereloading
update docs to reflect new wayfarer api

closes #1

sheetify v5 should make this redundant


[BUG] Enable/Disable maintenance mode in UI prompts error, but host is set properly

Describe the bug
When trying to set host to maintenance or disable maintenance there's the following error displayed in UI, but in background the call seems to be made, because host is set to maintenance.
Request Failed
Cannot read property 'push' of null

To Reproduce
Steps to reproduce the behavior:

Go to a Host
Click on Enable Maintenance mode

Screenshots

Desktop (please complete the following information):

OS: Mac
Browser Chrome
Version 80
Tested with trillian env with KVM host

@borisstoyanov I'm not able to reproduce this one with the latest master. Are there any specific steps?
cc @rhtyd

I've also tried @shwstppr and I cannot as well. Lets ignore it for now and reopen if needed


Dropdown list showing onload (IE11)

IE11 is showing the complete dropdownlist when it finished loading it via ajax. I'm using latest tokenfield, jQuery 2.0.3, jQuery-UI 1.11.4 and Bootstrap 3.0.3.
This is my HTML ('source' is tested, this all works perfectly in Chrome and FF):
<input id="location-list" class="form-control input" type="text" placeholder="¿Dónde?">
<script type="text/javascript">
    $(function() {
        var oper = $("#operacion-list option:selected").val();
        $('#location-list')
        .tokenfield({
          autocomplete: {
            source: url,
            delay: 300
          },
          showAutocompleteOnFocus: true
        })
    });
</script>

Here are two screenshots of how I see it. The only way to make it disappear is click on the input then elsewhere.

Has anybody found a solution to this? I'm having the same issue.


Update to latest presto 0.175

The interface has changed since 0.130
[ERROR] presto-teradata-connector/src/main/java/com/facebook/presto/plugin/teradata/TeradataClient.java:[239,5] method does not override or implement a method from a supertype
[ERROR] presto-teradata-connector/src/main/java/com/facebook/presto/plugin/teradata/TeradataClient.java:[243,21] method buildSql in class com.facebook.presto.plugin.jdbc.BaseJdbcClient cannot be applied to given types;
[ERROR] required: java.sql.Connection,com.facebook.presto.plugin.jdbc.JdbcSplit,java.util.List<com.facebook.presto.plugin.jdbc.JdbcColumnHandle>
[ERROR] found: com.facebook.presto.plugin.jdbc.JdbcSplit,java.util.List<com.facebook.presto.plugin.jdbc.JdbcColumnHandle>

@Downchuck thank you for the heads up! We will update it - but if you have some spare time, would be great to get some help on this! 😄  Thanks!

Any idea when this will get updated?

@doug2525 We did not manage to update it yet. You are welcome to help us with this. Thanks!

@jmrozanec :) I'd love to but I'm afraid that might be a little out of my wheel house. I'm afraid I may be more a hinderance that a help.

I've opened a PR for this, feel free to check it out and leave some remarks.


⚠ AZ-Launcher has degraded performance

In d47f6c3, AZ-Launcher (https://az-launcher.nz/) experienced degraded performance:

HTTP code: 200
Response time: 2567 ms

Resolved: AZ-Launcher performance has improved in fb2f9c7 after 18 minutes.


added issue/pr stale workload automation

Signed-off-by: dislbenn<EMAIL_ADDRESS>Related Issue: https://github.com/stolostron/backlog/issues/22054
Description of changes
Added stale script automation to help manage and reduce inactive prs.

/unhold


Package Requested

[X] I would like someone else to build the manifest.
[ ] I would like help so I can submit the manifest.
[ ] I have performed a search and couldn't find this package.
[ ] I have checked that the installer for this package is not contained in a .zip file
[ ] I think there is a new version available and I have provided the URL.

Please provide the following information
Publisher: Virtualhere-Server
Publisher Url: https://www.virtualhere.com/windows_server_software
Package Name: VirtualHere
Description: VirtualHere allows USB devices to be used remotely over a network just as if they were locally connected!
Package Version: 4.4.2
Installer URL: https://www.virtualhere.com/sites/default/files/usbserver/vhusbdwin64.exe
Current Package Identifier (for new versions):

#78646


Fix local build with GPU support

Description
Allow local build with GPU support against TF 2.10
Partly fixes https://github.com/tensorflow/addons/issues/2712
To build locally it still required to manually replace crosstool_top value in .bazelrc with "@local_config_cuda//crosstool:toolchain"
Type of change

[x] Bug fix
[ ] New Tutorial
[ ] Updated or additional documentation
[ ] Additional Testing
[ ] New Activation and the changes conform to the activation contribution guidelines
[ ] New Callback and the changes conform to the callback contribution guidelines
[ ] New Image addition and the changes conform to the image op contribution guidelines
[ ] New Layer and the changes conform to the layer contribution guidelines
[ ] New Loss and the changes conform to the loss contribution guidelines
[ ] New Metric and the changes conform to the metric contribution guidelines
[ ] New Optimizer and the changes conform to the optimizer contribution guidelines
[ ] New RNN Cell and the changes conform to the rnn contribution guidelines
[ ] New Seq2seq addition and the changes conform to the seq2seq contribution guidelines
[ ] New Text addition and the changes conform to the text op contribution guidelines

Checklist:

[x] I've properly formatted my code according to the guidelines

[ ] By running Black + Flake8
[ ] By running pre-commit hooks

[x] This PR addresses an already submitted issue for TensorFlow Addons
[ ] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] This PR contains modifications to C++ custom-ops

How Has This Been Tested?
Local build with GPU support finished successful with these changes

What happen here?

Sorry, didn't know that removing my fork will close this PR.
Here is a full copy of this PR https://github.com/tensorflow/addons/pull/2764


Add support for Qt on BSD-like systems

installed via the ports system.

It works!

@myfreeweb thanks for your patience! :wink:


Implements the WinOobeStrategy

Abstract
Complementary to #254 , this PR implements the component will feed the Application class with the behavior necessary to run the OOBE on Windows. No dependency on WSLg. Requires x64 platform.
Choosing the app strategy now depends on:

the platform set by the compiler
the definition of WIN_OOBE_ENABLED constant (not yet defined anywhere, thus this won't affect 22.04.1 release).

Since the top-level Application<> class remains the same both the supported command line and its semantics must be preserved.
Explanation
TUI
Terminal user interface support is still required because there are still situations only detectable during runtime that may prevent running the new OOBE, such as user disabling WSL2 localhost forwarding in ~\.wslconfig. Achieving TUI support is very similar to what is done in SplashEnabledStrategy, with the need to present the splash and close it when the TUI is ready for interaction. Thus, the InstallerController component is reused as is, even though it can only be used in TUI mode. In the near future we will be able to further reduce its functionality when we completely drop support for running the OOBE thrrough WSLg, but that's topic for another cycle, when we would be sure it won't be anymore necessary.
GUI
Command line
As with SplashEnabledStrategy, this component must offer the slide show (aka splash) and control the installer. As the OOBE on Windows is merged with the slide show as a single app, the installer is started at the do_run_splash() method. That means that the required command line must be known at that moment. makeCli() thus enables creating the command line for the OOBE by ensuring a minimal stem concatenated with further options passed as parameters. The command line for the setup may have an optional --prefil option, if the launcher succesfully acquire some user information necessary to prefill the UI fields during setup (user name and language). In such scenario we fill a file buffer with that information before starting the OOBE and write its contents into the rootfs after registration.
Setup versus Reconfiguration
do_run_splash() only runs for the WSL setup variant. The same application is also used for the reconfiguration variant. So, do_reconfigure() must be able to start the OOBE process as well, with different command line options. do_run_splash() and do_reconfigure() are never called in the same run of the launcher. In that situation, there is no need for the slide show, as the distro is already registered, but that's handled in the Flutter code.
The runtime requirements for both variants are the same but their behaviors are very different, so the function run_on_autodetect_ui() provides selecting which UI to run and accept callables with the different behaviors that must be achieved.
Setup UI can be selected via launcher command line (via the option --ui) as well as by setting the LAUNCHER_FORCE_MODE environment variable (reading it is part of the autodetection routine). For simplicity it was decided in the past that we wouldn't support the --ui option in reconfiguration, but instead rely on autodetection. That remains.
Server control and monitoring
In GUI mode everything server-related is done by Flutter. This is a great point of simplification, since we don't need to start it, spawn small processes to watch its startup and timeout after some attempts. Timeout heuristics are always questionable.
GUI Startup and IPC
The slide show reads text from standard input that comes from the launcher's stdout to monitor for errors, as before. Launcher is responsible for piping stdout to the child process stdin to make that possible. The same ConsoleService used inSplashEnabledStrategy fed by a named pipe is used for that.
Additionally, the launcher must notify the child process of the suitable moment to start the server (after registration is complete) and request it to gracefully quit, if TUI is required instead of GUI, for instance. Both behaviors are achieved by using distinct SetOnceNamedEvents created before running the OOBE and set when (and if) necessary. Closing the OOBE window is achieved by setting one named event (support for that is landing in https://github.com/canonical/ubuntu-desktop-installer/pull/1032).
Trying out
Playing with this requires cloning https://github.com/canonical/ubuntu-desktop-installer somewhere, compiling the Windows entry point of the ubuntu_wsl_setup package, copying the generated artifacts into this repository build folder (x64\Debug for instance) and passing the WIN_OOEB_ENABLED definition during compilation. Quite complicated for now, but my next PRs will address that complexity by bringing UDI as a submodule and tweaking the build system to select and build the correct submodule automatically as well as defining the constant.
cd <this-repository-root-dir>
git clone https://github.com/canonical/ubuntu-desktop-installer UDI
cd UDI/packages/ubuntu_wsl_setup
flutter pub get
flutter build windows -t lib/main_win.dart --release
copy build/windows/runner/Release/* <this-repository-root-dir>/x64/Debug
cd <this-repository-root-dir>
.\DistroLauncher.sln

Set WIN_OOBE_ENABLED in the IDE GUI and debug it as you would.

Rebasing due merge conflicts.


Rework file highlight rendering and fix yaml copy-paste

Fixes: https://github.com/go-gitea/gitea/issues/19331
Followup to #19798. Remove both the .line and .cl classes from Chroma's HTML which made the old conditional work again. This fixed Copy of YAML files for me while also reducing the amount of rendered HTML nodes.
This retains the .w class which is for whitespace and which may be useful for themes to style.

I proposed a PR https://github.com/silverwind/gitea/pull/2 .
Major changes:

the tags are processed accurately
read the buffer directly instead of splitting it, performance improvement.
EOL should be handled correctly
complete (and more simple) tests

After this PR, the highlighted result can be processed easily without hacky methods.

I have a feeling that the fix should also be included in 1.17 release, otherwise the lost empty line problem is too annoying for users.

merged that, pr. Need to rebase and test this.

Tested this successfully, copy paste of empty lines in YAML still works.
Regarding final newline, it seems to behave similar to https://github.com/go-gitea/gitea/pull/18076 now, which I'm personally happy with. The option from that PR could still be added separately later.

Squashed and added a better title.

@zeripath would you mind a review? This PR started out as a bugfix for copy/paste, but then was rewritten by @wxiaoguang. I think it's a nice simplification of the output HTML of rendered files, it also removes wrapper elements introduced by chroma, the same as we did in https://github.com/go-gitea/gitea/pull/19958, resulting in less HTML sent the the browser, and in turn faster rendering.

Hmm... I have a feeling that we're going about this the wrong way.
What's the purpose of all of this?

Remove both the .line and .cl classes from Chroma's HTML which made the old conditional work again

OK. Where and why do they appear?

The chroma HTML formatter adds them for each line during its Format
https://github.com/alecthomas/chroma/blob/96fe58e6b13d6bf3e2da0bb88b37f70be2dd9bef/formatters/html/html.go#L279

Let's examine that code:
	fmt.Fprintf(w, f.preWrapper.Start(true, f.styleAttr(css, chroma.PreWrapper)))

	highlightIndex = 0
	for index, tokens := range lines {
		// 1-based line number.
		line := f.baseLineNumber + index
		highlight, next := f.shouldHighlight(highlightIndex, line)
		if next {
			highlightIndex++
		}

		if !(f.preventSurroundingPre || f.inlineCode) {
			// Start of Line
			fmt.Fprint(w, `<span`)

			if highlight {
				// Line + LineHighlight
				if f.Classes {
					fmt.Fprintf(w, ` class="%s %s"`, f.class(chroma.Line), f.class(chroma.LineHighlight))
				} else {
					fmt.Fprintf(w, ` style="%s %s"`, css[chroma.Line], css[chroma.LineHighlight])
				}
				fmt.Fprint(w, `>`)
			} else {
				fmt.Fprintf(w, "%s>", f.styleAttr(css, chroma.Line))
			}

			// Line number
			if f.lineNumbers && !wrapInTable {
				fmt.Fprintf(w, "%s", f.styleAttr(css, chroma.LineNumbers), f.lineIDAttribute(line), f.lineTitleWithLinkIfNeeded(lineDigits, line))
			}

			fmt.Fprintf(w, `<span%s>`, f.styleAttr(css, chroma.CodeLine))
		}

		for _, token := range tokens {
			html := html.EscapeString(token.String())
			attr := f.styleAttr(css, token.Type)
			if attr != "" {
				html = fmt.Sprintf("%s", attr, html)
			}
			fmt.Fprint(w, html)
		}

		if !(f.preventSurroundingPre || f.inlineCode) {
			fmt.Fprint(w, `</span>`) // End of CodeLine

			fmt.Fprint(w, `</span>`) // End of Line
		}
	}
	fmt.Fprintf(w, f.preWrapper.End(true))

Interestingly this differs from the code we currently have in Gitea because of: https://github.com/alecthomas/chroma/commit/d18e8a46f25ce0eb40f276410ab6cb3f2def9b7e

1. Upgrade Chroma to at least version 2.2.0
Chroma has added an option to  prevent these spans from being created in the first place.
Can we fix this without upgrading Chroma?
However assuming that we can't upgrade Chroma... Perhaps we can do things differently... Lets just look at this loop a bit more clearly.
	for index, tokens := range lines {
		// 1-based line number.
		...

		// Start of Line
		fmt.Fprint(w, `<span`)
		if highlight {
			...
		} else {
			fmt.Fprintf(w, "%s>", f.styleAttr(css, chroma.Line))
		}

		// Line number
		...

		fmt.Fprintf(w, `<span%s>`, f.styleAttr(css, chroma.CodeLine))

		for _, token := range tokens {
			html := html.EscapeString(token.String())
			attr := f.styleAttr(css, token.Type)
			if attr != "" {
				html = fmt.Sprintf("%s", attr, html)
			}
			fmt.Fprint(w, html)
		}

		fmt.Fprint(w, `</span>`) // End of CodeLine

		fmt.Fprint(w, `</span>`) // End of Line
	}

2. Lex and Format lines individually then remove the common prefix and suffix
There is no need to send the whole excerpt to the lexer and formatter in one go.
So long as you keep hold of the lexer state you can lexer and feed each line to the formatter individually.
Looking at the formatter code it should be clear that every line will start with  and end with
Therefore if we feed lines in to the lexer and formatter one at a time we will always be able to just return the inner subset of the string.
3. Split lines using the suffix-prefix
Even if we don't want to do that - there is still no need to parse the html output from chroma. You can simply remove the initial  and terminal  and just strings.Split(formatted, `</span></span><span class="line"><span class"cl">`)  to get the highlighted lines.

I guess I also don't understand what the
 is supposed to be doing.

Chroma has added an option to prevent these spans from being created in the first place.

Right, it's then obvious that we should upgrade first and set that Chroma option to remove the span wrappers. Ideally we may then get away without modifying HTML, but I have my doubts about it because of this empty line copying issue.
Maybe we should start a fresh PR. I'm not sure I have the bandwidth to do so in the next days, so if @wxiaoguang wants to take a stab, please go ahead. It will probably also require a update in the diff code after the Chroma upgrade.

Hmm... I have a feeling that we're going about this the wrong way.
Interestingly this differs from the code we currently have in Gitea because of: https://github.com/alecthomas/chroma/commit/d18e8a46f25ce0eb40f276410ab6cb3f2def9b7e

At that time, it was the right way.

Looking at the formatter code it should be clear that every line will start with  and end with

Replacing these tags without a parser are fragile, it's not right. About strings.Split(formatted, `</span></span><span class="line"><span class"cl">`), you can read the old code like https://github.com/go-gitea/gitea/commit/948190ed3d611b8e9dc83cc5857c0d0f0ecd66a0 , if you think that was right, I have nothing to argue, while I insist that was not.

I guess I also don't understand what the
 is supposed to be doing.

That' in comment, to make the test clear: make it clear to do tests: "
" is the real newline for rendering, '\n' is ignorable/trim-able and could be ignored. You can take the old tests if you like.

Maybe we should start a fresh PR. I'm not sure I have the bandwidth to do so in the next days, so if wxiaoguang wants to take a stab, please go ahead. It will probably also require a update in the diff code after the Chroma upgrade.

Sorry but I have no time either, feel free to close this one and open a new one.

@zeripath
Now, in https://github.com/go-gitea/gitea/pull/19967/commits/49f62a4d7145e14e5277e5c7d03995fe05a8c171 , there is no tag parser, just use Split+Trim as your wish.

I'm bowing out from reviewing this PR. I've said my piece regarding this.
I do not believe that the tag parser is necessary. I've explained that instead we should just use our knowledge of the output that comes from the formatter as I proposed in my PR.
I am deeply disturbed by the proposal to use the magic code
 too. I do not understand why it is necessary.
I will not review further.

I am deeply disturbed by the proposal to use the magic code
 too. I do not understand why it is necessary.

I was also against this. It seems just weird to abuse this token for our purposes when browsers can render literal newlines just fine.

OK, since many people do not like the HTML entity, then https://github.com/go-gitea/gitea/pull/19967/commits/025e3d9aa2f8fd4e61e31210eb868db27c3bb334 removed it.
But I do not know how to rewrite the tests to satisfy everyone. Please edit the tests directly, I am fine with any approach.

.

Seems to complicated to backport, even with https://github.com/go-gitea/gitea/commit/3310dd1d197495fbfa2d7ee490e19e6d08e1d30f applied I get merge conflicts, let's skip this.

There should be no hard dependency between these 2 PRs.
Maybe, for backport, could a simple and quick fix be fine? Maybe zeripath's approach can be backported without conflict, it doesn't change too much.

I tried to make a backport with zeripath's approach.

https://github.com/go-gitea/gitea/pull/20612

If users want to hide the last empty line or show a block emoji (🚫) for no-newline when rendering, the new code is easier to do so in the future.

->  Show a no-EOL mark for the last line when viewing a file #27391


Update to automated tests

Updates:

[x] .env_example
[x] tests/features/example_test.feature
[x] .gitignore
[x] package.json
[x] .github/workflows/run_form_tests.yml

This was just a test, I believe


Login page: selection for Identity Provider or WebID

The documentation says: "To log in, you need to provide an Identity Provider or a WebID. The application will detect which one you use (...)"
If the application detects it, why do you have to select?

The documentation is wrong, the implementation seems OK. Adapt the documentation.


More updates to Taal

The coverage test failures are not really important and/or related to this PR, I think.

We should be able to merge this once you've finished your review, @sloede.


Files lost after EISDIR: illegal operation on a directory, unlink - in version 10.0.8

Description
Three times in 2 weeks I have lost files due to failures that seem related to lint-staged. I'm having trouble cleanly reproducing it, and I'm not sure what is relevant.  Note that the directory structure is a bit unusual. Inside my main git repo arlo, I have a directory R2B2 with a separate git repo.
The symptom is that when I do a commit, most files in that R2B2 directory and it's subdirectories are removed, and they don't appear to be saved in the automatic stash backup.
This is happening in version 10.0.8 and it may have been fixed or made irrelevant by some more recent changes, but since I haven't seen the EISDIR issue noted before here, this may be new.
Or I might have missed something, because I'm very new to lint-staged. Sorry!
The latest failure went like this:
$ git commit
husky > pre-commit (node v12.14.1)
  ✖ Preparing...
    → EISDIR: illegal operation on a directory, unlink '/srv/s/electionaudits/arlo/arlo/R2B2'
  ↓ Running tasks... [skipped]
    → Skipped because of previous git error.
  ↓ Applying modifications... [skipped]
    → Skipped because of previous git error.
  ↓ Cleaning up... [skipped]
    → Skipped because of previous git error.

  ✖ lint-staged failed due to a git error.
  Any lost modifications can be restored from a git stash:

    > git stash list
    stash@{0}: On master: automatic lint-staged backup
    > git stash pop stash@{0}

EISDIR: illegal operation on a directory, unlink '/srv/s/electionaudits/arlo/arlo/R2B2'
husky > pre-commit hook failed (add --no-verify to bypass)

So the commit failed, leaving me without many of my files, and when I followed the recovery procedure (git stash pop stash@{0}), I didn't get them back.
Steps to reproduce
So far I can only say this has happened several times in similar ways (before I had any clue even what the lint-staged tool was (a tool which others on the project installed), or how important it was to at least look for this sort of damage and recovery options).
For others in this situation, I did find this interesting and useful note on how git stage -u works.
how to view untracked files that were "git stash -u" - Stack Overflow
Debug Logs

I'm a novice with how this is all configured, but I'll try next time I run it.

expand to view
test details section
COPY THE DEBUG LOGS HERE

Environment

OS: Ubuntu 18.04
Node.js: v12.14.1
lint-staged: v10.0.8

Hello, I'm sorry for your troubles! After checking out the v10.0.8 code, it's probably because we were trying to clean out untracked files after stashing (since a stash might resurrect deleted files due to a bug in git versions <= 2.13.0); does the R2B2 directory show up if you run git ls-files --others --exclude-standard in the super repo?
In any case, this is most probably fixed by updating to the latest version, as unstaged/unrelated files are left as-is.
If you can update to the latest version, and the issue persists, please let me know and I'll take a closer look.

Thanks for the quick response.
Yes, R2B2/ shows up in git ls-files --others --exclude-standard

@nealmcb I see the linked issue has been merged, did it fix your problem? Feel free to comment or close this issue if so.


Publish documentation for version 4.12

Version 4.12 doesn't have an up to date documentation at https://material-ui.com/

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Summary 💡
4.12 has introduced deprecation warnings, for instance:

The prop onExited of ForwardRef(Snackbar2) is deprecated. Use the TransitionProps prop instead.

I wanted to see how the things are supposed to work with 4.12, so I went to the Snackbar documentation at https://material-ui.com/components/snackbars/#snackbar
This is the 4.11 documentation. And I tried to look for a more recent version and couldn't find any.
So I'm left with a new warning that I don't know how to fix…
Motivation 🔦
I want to remove those pesky deprecation warnings in react-admin (cf https://github.com/marmelab/react-admin/issues/6451)

You may just have an outdated service worker. Try clearing your cache or open the site in an incognito tab. That may display the 4.12 documentation.

I wanted to see how the things are supposed to work with 4.12, so I went to the Snackbar documentation at material-ui.com/components/snackbars/#snackbar
This is the 4.11 documentation. And I tried to look for a more recent version and couldn't find any.

Why do you think this is the 4.11 documentation?

I wanted to see how the things are supposed to work with 4.12, so I went to the Snackbar documentation at material-ui.com/components/snackbars/#snackbar
This is the 4.11 documentation. And I tried to look for a more recent version and couldn't find any.

Why do you think this is the 4.11 documentation?

I guess you specifically mean https://material-ui.com/components/snackbars/#ConsecutiveSnackbars.tsx? Seems like we forgot to update the documentation in that regard.
Feel free to open a PR targetting the v4.x branch that applies the migration note.

I don't know what happened - perhaps an outdated service worker as you said. I loaded the doc again, and you're right, it's 4.12 all right. Sorry for the noise.
feel free to close this issue.


Use disabled icons for CheckBox in DefaultTheme

CheckBox

After
Before

PopupMenu

After
Before

P.S. I found that PopupMenu modulates the icon color for the disabled state. Is this necessary when using separate icons for each state?

P.S. I found that PopupMenu modulates the icon color for the disabled state. Is this necessary when using separate icons for each state?

Technically, we should get rid of either the modulation or the disabled icons, but this would break compatibility with existing custom themes.

If we remove modulation, all custom themes will also be changed. For example, EditorTheme:

PopupMenu Without Modulation
PopupMenu With Modulation

Note: This shouldn't be cherry-picked as it affects default theme appearance.

Thanks!


visioStencils/Stencils/IT Vendors/Ruckus Wireless Miscellaneous v2022.vsd - rename to vss

File extension is wrong, this should be .vss. The stencils work once the file extension is renamed to .vsd, but do not open as a .vsd.

Will fix that, thanks !


Request: Option to set Overall Rationale/Methodology for whole season

For users who use the same methodology the entire season, an option to save that reasoning for all future polls would be convenient.

How about a button to reuse the same rationale/methodology from the previous week?

What if you had a user level page to talk about your approach? Would you still care about this feature?

That would work! Same effect, different implementation.

Ballot just pulls that methodology from the user page? Might need a section for each year as people shift, but that would work. It seems like this is probably most used by people with computer or hybrid poll.


Report which versions of Postgres this works against (has been tested against) in the README

Closing in favor of #136 and #142


King

HMT-Escrow supports arbitrary EVM networks but there's a bit of work to do to make a network first class and make sure that it works. All of our EVM network launches are supported by gitcoin but you can gain a yearly bonus by being our network sponsor. If you need support please join tech-discussions on the human protocol discord linked on hmt.ai.
Steps to receive gitcoin bounty

[x] Suggest and have us authorize your bridging strategy. After all we need to bridge HMT over to the new network. Usually we need to use a erc20 compatible approach.
[x] Launch the contracts on the devnet and make sure that everything is working
[x] Launch contracts on production network and file a commit with all the contract information to this repo's documentation. Here's an example https://github.com/humanprotocol/hmt-escrow/pull/296

[x] Launch KVstore contracts https://github.com/humanprotocol/eth-kvstore

[x] Add the contracts to the relevant network scanner (etherscan equivalent)
[x] Launch a working app on the network. The easiest one to get going is our example fortune. https://github.com/humanprotocol/fortune  Make a video of the functionality of the app working on the new network and link to relevant scanner transactions.
[x] Add to human dashboard [ https://dashboard.humanprotocol.org/ ]. This will require that you configure a human subgraph
[x] Request to become the maintainer for your EVM network. We will list you on our repo, give you an extra reward (generally around 1 ETH per year) and invite you to conferences. We will celebrate your name forever!
[x] Verify bridging of tokens works

High level rules to make sure that you are doing this correctly

[x] We never want to create a mintable token. Your change should not change the total token supply from 1 billion
[x] When deploying production contracts use a dedicated wallet with a seed phrase you don't use anywhere else. You might be required to share it with us.

I don't understand at all

@posix4e @posix4e No update from @Kinceo1, I since this can effectively be closed now.


TFLite Conversion Issue when 'training' option is being enabled.

Working on Colab

TensorFlow version: 2.2.0

Error
While reading about PR RFC: On-Device Training with TensorFlow(https://github.com/tensorflow/community/pull/124), and trying to include 'train' option in convert(I know tflite currently does not support on-device training, but was curious to check how operations would look like), I am facing the following error:
InvalidArgumentError                      Traceback (most recent call last)
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/importer.py in _import_graph_def_internal(graph_def, input_map, return_elements, validate_colocation_constraints, name, producer_op_list)
    496         results = c_api.TF_GraphImportGraphDefWithResults(
--> 497             graph._c_graph, serialized, options)  # pylint: disable=protected-access
    498         results = c_api_util.ScopedTFImportGraphDefResults(results)

InvalidArgumentError: Input 0 of node SGD/SGD/update_11/ResourceApplyGradientDescent was passed float from sequential/dense_1/BiasAdd/ReadVariableOp/resource:0 incompatible with expected resource.

During handling of the above exception, another exception occurred:

ValueError                                Traceback (most recent call last)
12 frames
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/importer.py in _import_graph_def_internal(graph_def, input_map, return_elements, validate_colocation_constraints, name, producer_op_list)
    499       except errors.InvalidArgumentError as e:
    500         # Convert to ValueError for backwards compatibility.
--> 501         raise ValueError(str(e))
    502
    503     # Create _DefinedFunctions for any imported functions.

ValueError: Input 0 of node SGD/SGD/update_11/ResourceApplyGradientDescent was passed float from sequential/dense_1/BiasAdd/ReadVariableOp/resource:0 incompatible with expected resource.

Command used to run the converter or code if you’re using the Python API
Model Description
model = tf.keras.Sequential([tf.keras.layers.Conv2D(32, kernel_size=3, padding='same', activation='relu', input_shape=(32,32,3)),
                             tf.keras.layers.Conv2D(32, kernel_size=3, activation='relu', padding='same'),
                             tf.keras.layers.MaxPool2D(pool_size=(2,2), strides=(2,2)),
                             tf.keras.layers.Conv2D(64, kernel_size=3, activation='relu', padding='same'),
                             tf.keras.layers.Conv2D(64, kernel_size=3, activation='relu', padding='same'),
                             tf.keras.layers.MaxPool2D(pool_size=(2,2), strides=(2,2)),
                             tf.keras.layers.Flatten(),
                             tf.keras.layers.Dense(128, activation='relu'),
                             tf.keras.layers.Dense(10)])

model.compile(optimizer='sgd', loss=tf.keras.losses.CategoricalCrossentropy(from_logits=True), metrics=['accuracy'])

Convert Code
_LOSS_FN = tf.keras.losses.CategoricalCrossentropy()
_OPTIM = tf.optimizers.SGD()

@tf.function(input_signature=[
    tf.TensorSpec(model.inputs[0].shape, model.inputs[0].dtype),
    tf.TensorSpec(model.outputs[0].shape, model.outputs[0].dtype),
])
def train(x, y):
  with tf.GradientTape() as tape:
    prediction = model(x)
    loss = _LOSS_FN(prediction, y)
  gradients = tape.gradient(loss, model.trainable_variables)
  _OPTIM.apply_gradients(zip(gradients, model.trainable_variables))

concrete_func = train.get_concrete_function()

# convert to tflite
converter = tf.lite.TFLiteConverter.from_concrete_functions([concrete_func])
converted_tflite_model = converter.convert()

Can anyone please help me out with the error?

Currently, TFLite do not support on-device training officially. And also does not support natively mutable variable use cases.

I think that error is because of the AssignVariableOp that is not supported by convert() function. Looking at the Traceback error, it shows that convert() function by default freezes the parameters.
Though I am yet to explore in detail, https://github.com/tensorflow/examples/blob/master/lite/examples/model_personalization/README.md, shows that there is a way to do transfer learning on-device, that is, train some of the layers on android device, using a base model and a head model. Does this train only the dense layers? Or can it be used to train Conv layers too?

@sarthak-chakraborty you're right. We have limited supported mutable variable support via flex delegate and AssignVariableOp is an typical example of that.
@jaeyoo could you answer the model personalization questions?

As for the Model Personalization questions, I have the following questions:

It contains the head and base model. I have checked that including a full CNN model in head layer works and it gets trained as well in an android phone. However, head models created with only Sequential API is getting converted. Does it mean there is no support for head models with Functional API? Using functional API gives the error: RuntimeError: Unexpected Keras eval signature inputs

I understand that some layers like DepthwiseConv2d will not be converted since there is no support of DepthwiseConv2dNativeBackpropFilter and DepthwiseConv2dNativeBackpropInput in whitelisted flex ops. However, is it possible to freeze certain layers in the head model (example, freeze the depthwiseConv2d layer so that no backprop takes place)? I have tried the following:
a) Made some layers as non-trainable in head model
b) In the train function of the file tfltransfer/heads/keras_model_head.py, I used only the variables that are corresponding to the trainable layers for calculating tf.gradients() (i.e. variables in
with tf.name_scope(scope + '/backprop'):
    gradients = tf.gradients(loss, variables, stop_gradients=variables)

contains only the variables corresponding to trainable layers) gives the error:
Placeholder head/depth_conv1024_12/depthwise_kernel should be specified by input_arrays.

Any help regarding this matter will be highly appreciated.

@jaeyoo friendly ping.

It contains the head and base model. I have checked that including a full CNN model in head layer works and it gets trained as well in an android phone. However, head models created with only Sequential API is getting converted. Does it mean there is no support for head models with Functional API? Particularly, the problem lies if we define an Input layer, i.e., tf.keras.Input(shape=()) causes the error in both functional as well as Sequential API. However, Sequential API can be bypassed without mentioning the Input Layer which cannot be done in Functional API. Using Input Layer gives the error: RuntimeError: Unexpected Keras eval signature inputs

You can provide name in InputLayer in  Sequential API like this:
layers.InputLayer(input_shape=(whatever), name='target_input') and perhaps its not gonna be an error.

As for the Model Personalization questions, I have the following questions:

It contains the head and base model. I have checked that including a full CNN model in head layer works and it gets trained as well in an android phone. However, head models created with only Sequential API is getting converted. Does it mean there is no support for head models with Functional API? Particularly, the problem lies if we define an Input layer, i.e., tf.keras.Input(shape=()) causes the error in both functional as well as Sequential API. However, Sequential API can be bypassed without mentioning the Input Layer which cannot be done in Functional API. Using Input Layer gives the error: RuntimeError: Unexpected Keras eval signature inputs

Yes, currently, model personalization doesn't support Functional API. Could you try to specify your input specification as listed in keras_head_model.py and tflite_transfer_converter.py?
      loss, gradients, variables = self.head_model.train(bottleneck, labels)
      converter = tfv1.lite.TFLiteConverter.from_session(
          sess, [bottleneck, labels] + variables, [loss] + gradients)

I understand that some layers like DepthwiseConv2d will not be converted since there is no support of DepthwiseConv2dNativeBackpropFilter and DepthwiseConv2dNativeBackpropInput in whitelisted flex ops. However, is it possible to freeze certain layers in the head model (example, freeze the depthwiseConv2d layer so that no backprop takes place)? I have tried the following:
a) Made some layers as non-trainable in head model
b) In the train function of the file tfltransfer/heads/keras_model_head.py, I used only the variables that are corresponding to the trainable layers for calculating tf.gradients() (i.e. variables in
with tf.name_scope(scope + '/backprop'):
    gradients = tf.gradients(loss, variables, stop_gradients=variables)

contains only the variables corresponding to trainable layers) gives the error:
Placeholder head/depth_conv1024_12/depthwise_kernel should be specified by input_arrays.

Any help regarding this matter will be highly appreciated.

Could you remove the variables from the following two lists in __init__() of keras_head_model.py?
variables = tfv1.global_variables()
      self._variable_names = [variable.name for variable in variables]
      self._initial_params = [variable.eval() for variable in variables]

Yes, currently, model personalization doesn't support Functional API.

Support of Functional API in personalization layer is being easily achieved by changing line 124 in keras_model_head.py from if key.endswith('_input') to if 'input' in key. Or, it can be done by following @Egorovlvan 's suggestion.

I understand that some layers like DepthwiseConv2d will not be converted since there is no support of DepthwiseConv2dNativeBackpropFilter and DepthwiseConv2dNativeBackpropInput in whitelisted flex ops. However, is it possible to freeze certain layers in the head model (example, freeze the depthwiseConv2d layer so that no backprop takes place)? I have tried the following:
a) Made some layers as non-trainable in head model
b) In the train function of the file tfltransfer/heads/keras_model_head.py, I used only the variables that are corresponding to the trainable layers for calculating tf.gradients() (i.e. variables in

with tf.name_scope(scope + '/backprop'):
    gradients = tf.gradients(loss, variables, stop_gradients=variables)

contains only the variables corresponding to trainable layers) gives the error:
Placeholder head/depth_conv1024_12/depthwise_kernel should be specified by input_arrays.

In regards to this, I have also made changes in keras_model_head.py and by introducing train_variables.
Both changes are reflected in PR https://github.com/tensorflow/examples/pull/228


[Feature Request]:  Add support for named vectors in weaviate

Feature Description
Allow users to interact with weaviate's named vectors feature
Reason
Need to figure out how best to update the abstractions in llamaindex to support this
Value of Feature
Native support for multimodal retrieval use cases

closed as the approach in llamaindex at the moment is to attach an embedding model directly to the vector store object, so that all interactions with that vector store use the correct embeddings. (so one vector store per modality)


Error during certificate path validation

I'm unable to generate FIK and BKP, because I get the following warning.
I've tried installing the I.CA Root certificate with keytool, but that didn't help.
I'm using the example code in the Usage section in readme.
Thanks for any help.
WARNING: Interceptor for {http://fs.mfcr.cz/eet/schema/v3}EETService#{http://fs.mfcr.cz/eet/schema/v3}OdeslaniTrzby has thrown exception, unwinding now
org.apache.cxf.binding.soap.SoapFault: Error during certificate path validation: No trusted certs found
at org.apache.cxf.ws.security.wss4j.WSS4JUtils.createSoapFault(WSS4JUtils.java:277)
at org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessageInternal(WSS4JInInterceptor.java:333)
at org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessage(WSS4JInInterceptor.java:190)
at cz.tomasdvorak.eet.client.security.SecureEETCommunication$1.handleMessage(SecureEETCommunication.java:135)
at cz.tomasdvorak.eet.client.security.SecureEETCommunication$1.handleMessage(SecureEETCommunication.java:119)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:802)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1673)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1551)
at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1348)
at org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:56)
at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:215)
at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)
at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:651)
at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307)
at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:516)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:425)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:326)
at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:279)
at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:138)
at com.sun.proxy.$Proxy70.odeslaniTrzby(Unknown Source)
at cz.tomasdvorak.eet.client.EETClientImpl.submitReceipt(EETClientImpl.java:35)
at application.Main.main(Main.java:49)
Caused by: org.apache.wss4j.common.ext.WSSecurityException: Error during certificate path validation: No trusted certs found
at org.apache.wss4j.common.crypto.Merlin.verifyTrust(Merlin.java:877)
at cz.tomasdvorak.eet.client.security.MerlinWithCRLDistributionPointsExtension.verifyTrust(MerlinWithCRLDistributionPointsExtension.java:34)
at org.apache.wss4j.dom.validate.SignatureTrustValidator.verifyTrustInCerts(SignatureTrustValidator.java:108)
at org.apache.wss4j.dom.validate.SignatureTrustValidator.validate(SignatureTrustValidator.java:64)
at org.apache.wss4j.dom.processor.SignatureProcessor.handleToken(SignatureProcessor.java:185)
at org.apache.wss4j.dom.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:428)
at org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor.handleMessageInternal(WSS4JInInterceptor.java:278)
... 23 more

Hi, I will need more info: production or playground endpoint? Which certificate exactly are you using (filename, which subject and issuer in it)? Could you share content of the BinarySecurityToken of the response (EET server public certificate, to be found in webservice.log)?
Thanks!
Tomas

At first I had a problem with playground, but I figured out I was using the wrong server Certificate, but now I have the same problem in the production endpoint.
I'm using this certificate:
http://www.ica.cz/userfiles/files/certifikaty/SHA2/qica_root_key_20090901.der
Here is the content of the BinartySecurityToken:
<wsse:BinarySecurityToken wsu:Id="SecurityToken-dcff09fe-50df-4fc5-98f2-d3702bd3520b" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3">MIIGajCCBFKgAwIBAgIEAKqDwjANBgkqhkiG9w0BAQsFADB/MQswCQYDVQQGEwJDWjEoMCYGA1UEAwwfSS5DQSBRdWFsaWZpZWQgMiBDQS9SU0EgMDIvMjAxNjEtMCsGA1UECgwkUHJ2bsOtIGNlcnRpZmlrYcSNbsOtIGF1dG9yaXRhLCBhLnMuMRcwFQYDVQQFEw5OVFJDWi0yNjQzOTM5NTAeFw0xNjEwMjUxMzE0NTdaFw0xNzEwMjUxMzE0NTdaMIGRMSYwJAYDVQQDDB1FbGVrdHJvbmlja8OhIGV2aWRlbmNlIHRyxb5lYjELMAkGA1UEBhMCQ1oxQTA/BgNVBAoMOMSMZXNrw6EgcmVwdWJsaWthIC0gR2VuZXLDoWxuw60gZmluYW7EjW7DrSDFmWVkaXRlbHN0dsOtMRcwFQYDVQQFEw5JQ0EgLSAxMDM4NDczNDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJ+UCnx1Kb2VsZ0HvozKvx3I7dGkcV2kwEDtdzrmSeqkmMDk6LLKkmQAUYWd3GpV0YEa0ueWtFBWw3HB1joEoSUjrMLlIfcvCwi1QkfiufvRZXs/LA3eJU3lCD2rDsTE1V2kprAKqlATkye7m1c1SMOzp8ZiOVamH34hTsah+BCbN+P0BaQQGjPCtkRa35BDNcPuoT05MejyeQL239I4dgaR2UlYGRiG69yfigRYYp06wHaaYzmSeCqO8ei//Ob8BA2uSm1vO/8R8QOjmv3bnYPVRRnTZ27RqbFwQh5HFLsZ73KnKqRVnIcgXUPegUuY8yrfHOtFe4JlquAVBnVocP8CAwEAAaOCAdkwggHVMDgGA1UdEQQxMC+BE2Vwb2Rwb3JhQGZzLm1mY3IuY3qgGAYKKwYBBAGBuEgEBqAKDAgxMDM4NDczNDAOBgNVHQ8BAf8EBAMCBsAwRQYDVR0gBD4wPDAwBg0rBgEEAYG4SAoBIQEAMB8wHQYIKwYBBQUHAgEWEWh0dHA6Ly93d3cuaWNhLmN6MAgGBgQAj3oBATCBjwYDVR0fBIGHMIGEMCqgKKAmhiRodHRwOi8vcWNybGRwMS5pY2EuY3ovMnFjYTE2X3JzYS5jcmwwKqAooCaGJGh0dHA6Ly9xY3JsZHAyLmljYS5jei8ycWNhMTZfcnNhLmNybDAqoCigJoYkaHR0cDovL3FjcmxkcDMuaWNhLmN6LzJxY2ExNl9yc2EuY3JsMGUGCCsGAQUFBwEBBFkwVzAqBggrBgEFBQcwAoYeaHR0cDovL3EuaWNhLmN6LzJxY2ExNl9yc2EuY2VyMCkGCCsGAQUFBzABhh1odHRwOi8vb2NzcC5pY2EuY3ovMnFjYTE2X3JzYTAJBgNVHRMEAjAAMB0GA1UdDgQWBBR/GZkmy8LPnWEZPkzHc2U65Nw1BTAfBgNVHSMEGDAWgBR0ggiR49lkaHGF1usx5HLfiyaxbTANBgkqhkiG9w0BAQsFAAOCAgEAViZN9/+XngmZ+kubBf13tov2mlHNXYs3pswu+06I9EOoscZDMXCceVRi50aUv5cbJmEb6P65+EiFB8ZfH8coxBTFe0+xVR7e3kJ+HpQtAmvjbkwBDvWSzS5RSozTpj0CEdfqpWkocJdlX1AYJhHsDtAJzdX0tXHOOgfqUl8qJ+kGeB/X2gt7/f5ODgy+V6OR6aQDYdX0ymg99YN8hLyJBO8K259t5TWNZBEmvwHyXsPd5UzoKU/FheR0VFawSUOFrdcKWWDPbHzHoVZ4xMFh+LPHJns9v7lQdAmb/TVNUvwQwD8t3hh1PR+DH9KL/DDD0utgApCGf2E6fy5lo8xOSXTTHGcOvYdAHx5+mVKph4WEw2CiqP6si0oOWLI1DaZUwC+2U0CwOjlK7+S59FocQ9+DK/vtnfC1z5bXCvKMpgEdHGaV02OZWMvbluAqBZQlkEUnQkAx0pOvK8cY3vSoEXJDeFy62HvFIydAR8nriFbuKha5BiAwI6JN0Ari0+E/Vxqhvu273UoonQcgi/ymBy7mZ2w/Uy5M2+QamCYag/B9dGapJnvk2T00bwpAOsvEyI1fYOqDpOLDRCU/9bmS3qcctg//LSS18s1Z93p5vfRx7LoqFOXhagXWIrX2YU+TqN8EtCyhZSoGzo7zaacz2XWWQh86AbkHGi6i42YVfpY=</wsse:BinarySecurityToken>

Could you try this I.CA root certificate against the production endpoint? http://www.ica.cz/userfiles/files/certifikaty/HCA_kvalifikovany/2qca16_rsa.der
I think they are using two different CA's for the communication. But I don't have any production klient keys to be able to test that.
Thanks!

The site https://prod.eet.cz/ is issued by this certificate:
{subject='CN=GeoTrust Extended Validation SHA256 SSL CA, O=GeoTrust Inc., C=US', issuer='CN=GeoTrust Primary Certification Authority - G3, OU=(c) 2008 GeoTrust Inc. - For authorized use only, O=GeoTrust Inc., C=US', SerialNumber=111783015348261377250807606752936718522, validFrom=2013-04-09T02:00:00+02:00, validTo=2023-04-09T01:59:59+02:00}
For java-8-oracle  Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 8 must be used (I have tested that ubuntu java-8-openjdk don't needs this) , see: http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html

Sorry for my previous offtopic comment, default java truststore is used for https ;(
But check attached testcase (see the exception in testCrlProduction):
eet-production-error.zip
This issue comes on production when checking returned signature (workarroud is to skip CRL checking on production environment).

Hi @marek-veber,
Thank you for your test case. With your help I've been finally able to figure it out. There are basically two different issues:
Two CA certificates are needed in production
The production certificate is issued by SERIALNUMBER=NTRCZ-26439395, O="První certifikační autorita, a.s.", CN=I.CA Qualified 2 CA/RSA 02/2016, C=CZ. To be able to validate it, 2qca16_rsa.der (Qualified system certificate subordinate QCA (CN = I.CA Qualified 2 CA/RSA 02/2016 sn:  100001006/0x5f5e4ee)) is needed.
But this is just a subordinate CA. So we need to add a root CA too: rca15_rsa.der (Qualified system certificate root CA (CN = I.CA Root CA/RSA,  sn:  100000000/0x5f5e100)).
With both this certificates, we are able to verify the whole chain down to the root. This is different to playground, where the EET PG certificate is issued directly by the root CA (qica_root_key_20090901.der).
CRLs of subordinate CA has to be checked
The MerlinWithCRLDistributionPointsExtension class imported automatically only the CRLs provided by the CA, which issued the cert. But we need to validate CRLs of the whole chain, including CRLs of root CA, which issues the subordinate QCA certificate.
All the tests are passing now, with validation and CRLs checking enabled. It's needed to update eet-client to 2.0.0 release and provide additional certificates to the library:
InputStream clientKey = getClass().getResourceAsStream("/keys/CZ683555118.p12");
InputStream rootCACertificate = getClass().getResourceAsStream("/keys/rca15_rsa.der");
InputStream subordinateCACertificate = getClass().getResourceAsStream("/keys/2qca16_rsa.der");
EETClient client = EETServiceFactory.getInstance(clientKey, "eet", rootCACertificate, subordinateCACertificate);

Could you please test this client version and setup against production endpoint?
Thank you very much!
Tomas

Nice work, it works for me ! (on oracle java there is need of JCE).
Sorry for the my incomplete report - I knowed about the needs of two certificates (root&intermediate) - I have solved it by the same way as You, sorry again. To solve the CLR check - it needs more than my knowledge ;) Thanks for solving it.
I have another issue which was just solved by me, I will open it separatelly.

Hi @Lainiel,
Any feedback? Does it work for you now? May I close this issue as resolved?
Thanks,
Tomas

Closing due to inactivity. Feel free to reopen in case of any problems.


More interaction events / react-with-gesture

Looks like I'll need some more mouse events, eg. up, down, move, wheel etc.
I might see if I can do a PR to implement them but it looks like you have an interface with react-with-gesture working. Do you have an example of that I can play with?

Hey Ryan, yes, this is what i'm sitting on right now, we have mouseEnter/Leave/Move/Click/Up/Down now, which allows it to interface with use-gesture: https://codesandbox.io/s/l4vxzx5kjq
But this is under heavy construction right now. I think the events in three-fiber are pretty good right now, touch is of course missing for now. use-gesture goes through some major churn still to find the best possible abstraction for all of this.

Btw, the interaction stuff is already available as beta on npm.

PS. what are you building if don't mind me asking.

Looking very nice, I'll have a play!
Click and drag with perspective has some interesting consequences.

in the demo its just a naive mouse -> viewport coords translation. perspective cameras need math to do it correctly, but i think that's userland.

I'm working on what is basically a giant interactive Gantt chart. I've been hitting performance issues with svg and I only expect it to multiply as I add dom elements. Which is why I'm playing with three.js - I need the GPU. Probably not the most interesting example for using 3D modelling library but it looks like I can have some fun with it! - and it seems like building graphical editing tools online (like Figma) can only really be performant through WebGL.

ps. The beta events work a treat so far! Looking forward to the final result.

It would be great if you could pass in the other modifier keys and mouse buttons - or just the entire dom click event.

Perfect, Thanks!
I'm also not sure scroll makes sense as the canvas will never have a scrollbar.
I've only ever used it by accident when trying to use wheel.

There's no reason touch events can't work in a similar way, right?
Maybe I can try throwing that together tonight if I have the time.
On Wed., 27 Mar. 2019, 3:15 pm Paul Henschel<EMAIL_ADDRESS>wrote:

I added onWheel and onScroll, the event is part of the returned data
object. Couldn't test it now but should work. It's out as
<EMAIL_ADDRESS>—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/drcmda/react-three-fiber/issues/49#issuecomment-477174938,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AE4Bx5nyBCGHoBcbP-83r2sNUsrjhXx2ks5va3zzgaJpZM4cNqqN
.

sure, we could probably even re-use the handler for it. theres some complexity in the stopPropagation handling, but the logic should be same.

There seems to be an issue with raycaster.intersectObjects(state.current.scene.__interaction, true) when it comes to touch events. Perhaps it's just the chrome emulation, will let you know how it goes on a real touch device.

Yeah seems as though people are using touch events to fire mouse events to get the raycaster working.

the raycaster isn't related to events, though, it just shoots a virtual ray through the scene. if you receive a touchevent and calculate the ray, it will intersect. can i see the code you're working with?

Basically - I just need to have a think about how to best handle multitouch with raycasting hits, and learn how the touchStart and touchEnd events work with multitouch as well.

Perhaps if you just provide all the raycast hits for touches, changedTouches & targetTouches it will cover all bases.


How to install manjaro-sway

Hi! I just want to try manjaro-sway but I got an error when making the completed.zip
I found I can join .zip.z01 and .zipjust doing cat file.zip.z01 file.zip > completed.zipand it works but when I wanted to extract it as .iso it fails, any suggestion how can I test manjaro-sway?
thank you, if here is not the best way to publish sorry!

Running this command worked for me:
zip -FF manjaro-sway-21.1.0-210923-linux514.iso.zip --out out.zip && unzip out.zip


QSI Pipe Sealing People

Description

Seal yourself in a pipe forever with a qsi
Reproduction

flush I linked qsi
swap
drop qsi in hand
get out of pipe and use qsi
you are now forever sealed in the pipe that you dropped the qsi in
Screenshots

https://github.com/space-wizards/space-station-14/assets/83733158/e021d153-df68-491a-8d32-b9dfb372f7f7
Additional context

Making a PR to disable the qsi till less buggy, I spent 5 minutes to find this bug without any prior knowledge of this kind of interaction

Make it check CanInsert on the target container.

Dupe https://github.com/space-wizards/space-station-14/issues/29157


'npm run dev' to get started even if yarn is selected before

Reference
https://github.com/vuejs/vue-cli/issues/1164
Vue version
2.9.3
Reproduction link
No need for a repo.
Steps to reproduce
vue init webpack my-project
Select Yarn as package manager
At the End of installation...
To get started:
cd my-project
... and then...
What is expected?
yarn run dev
What is actually happening?
npm run dev

I have no  idea what you are talking about

While installation you can choose the package manager. In this case i took yarnbut at the end of installation the instruction says to use npm to start the app not yarn. I think it's inconsistent.
In some of my projects while working with other people we often had problems because of switching between npm and yarn. The system should lead devs to use only one package manager from the beginning on.

I think he means that this line:
https://github.com/vuejs-templates/webpack/blob/4f564a2715dd9ca39307c5603a3b91f0523f1f67/utils/index.js#L78
should take into account the npm/yarn option selection instead of always displaying "npm run dev"


TOR connect/disconnect functionality

Need to add functionality to tor to auto-detect when the network is down/connection not working and print out an error message in mwc713.
Qt wallet needs to update status indicator for TOR based on this message. (similar to mwcmqs)

I will add the mwc713 functionality and re-assign to Konstantin when complete.

This is working now in the latest build. Closing this out.


Want to import duplicates and import

I want to disable the duplicates check during the import process and want to import the duplicate items but ignoreDuplicates: false seems has no effect.
tools.ImportDir('directory', {
    ignoreDuplicates: false,
}).then(collection => {
    //
}).catch(err => {
    //
});

How do I disable the ignoreDuplicates check and import everything including the duplicates? Any help would be highly appreciated 😀

That option is badly named, all it does is disables warning when duplicate items are found.
Each icon must have unique name. To make sure icons have unique names, you can use option keywordCallback to set custom names for icons:
const collection = await tools.ImportDir('dir', {
	keywordCallback: (key, file, options) => {
		let result = key
			.toLowerCase()
			.replace(/_/g, '-') // Replaces '_' with '_'
			.replace(/[^a-zA-Z0-9\-_:]/g, '') // Removes all invalid characters
			.replace(/--*/, '-'); // Replaces double '-' with single '-'
		return result;
	}
});

That's default function. You can create a temporary variable to track used keys and add suffixes like -2 to duplicate items:
let keywords = Object.create(null);
const collection = await tools.ImportDir('dir', {
	keywordCallback: (key, file, options) => {
		let result = key
			.toLowerCase()
			.replace(/_/g, '-') // Replaces '_' with '_'
			.replace(/[^a-zA-Z0-9\-_:]/g, '') // Removes all invalid characters
			.replace(/--*/, '-'); // Replaces double '-' with single '-'

		// Avoid duplicates
		if (keywords[result] !== void 0) {
			let count = 2;
			while (true) {
				let testKey = result + '-' + count;
				if (keywords[testKey] === void 0) {
					result = testKey;
					break;
				}
				count ++;
			}
		}

		keywords[result] = true;
		return result;
	}
});

Or you can use file argument to set custom keywords for specific files.

Yay! That did it 🎉 Thanks, man. Really appreciate for the solution 🍺


Deposits are broken/fund hot wallet??

Will hot wallet ever be funded again? Im guessing no. Stopping Withdraws only adds to issues. Please let me Withdraw my BTC that is now only worth 1/8 of what it was when I deposited.

@debow22 we ha


Fixed PowerTools repo on CentOS 8

On CentOS 8 the repo filename is CentOS-Linux-PowerTools.repo Then enable task doesn't work and installation of the needrestart package failed due a missing dependency.
This fix enable this repo correctly on Centos 8.3

Thanks yet again, I missed that 8.2 -> 8.3 change.

Thanks yet again, I missed that 8.2 -> 8.3 change.