drive list -trashed is inoperative

Google Drive# drive list -trashed
Google Drive#

Although:

My .driverc is available in case there is any interaction: driverc.txt
Am I missing something?

Ubuntu 16.10 4.8
drive version couldn't be any fresher:
drive version: <IP_ADDRESS>
Commit Hash: 'fa3d326f72ae91399b2aa607c79293fb8a293b96'
Go Version: go1.7.1
OS: linux/amd64
BuildTime: 2016-12-24 06:22:04.78836032 +0100 CET

Thanks @jean-christophe-manciot for the issue!
So drive list is relative to the current working directory, that means that all files are resolved relative to the working directory.
Your issue is from the confusion of the implication of that statement. That is that trashed state file "Organization" is NOT a file trashed relative to to /.
The simple way to explain drive list --trashed is that it will only list files exactly in the current working directory  that are trashed.
As I had explained as well in https://github.com/odeke-em/drive/issues/820#issuecomment-270056417, Google Drive just moves the state of that file to Trashed, but the actual file is restored to and still has a reference to its parent.
For now there isn't a specialized command for inspecting the trash but this issue creates the need for it. Otherwise in the context of drive list, --trashed works as expected ie just ONLY relative to the current working directory.

drive list --trashed should do what it says, i.e list the objects which are currently trashed.
It is unnatural to have to go to the local equivalent of remotely trashed folders to be able to list their contents. Also, If we have multiple trashed objects from different folders, it becomes too harsh to list them all, for instance just to make sure they were really trashed.
Is it really an API limitation or does this issue come from the way it has been implemented?
If it's an API limitation, I would suggest to remove that option which leads to confusion.

@odeke-em : Another issue: passing the object as parameter to drive list --trashed is inoperative, despite that it's done in the right folder:
# pwd
/home/actionmystique/GD
# drive list -long -trashed -hidden -no-prompt
d- owner       0.00B     	0B5fXyIn0-GDFWS1tNlNua2tkX3c		2015-04-02 17:14:32 +0000 UTC	/CCDA
# drive list -long -trashed -hidden -no-prompt CCDA
"/CCDA" cannot be found remotely

Also, drive list should not return the object with a leading '/' since it's a path relative to the working directory (which is not '/'):


Remove post-stop event from the devfile spec

Which area this feature is related to?
/area api
Which functionality do you think we should add?
We want to remove the  post-stop event as this is hasn't been implemented and there are no known valid use case for it.
Why is this needed? Is your feature request related to a problem?
Having both pre-stop and post-stop is confusing.
Implementing post-stop may be challeging.

We should deprecate the field first and remove after several version of deprecation


Update timeout for .github/workflows/backport.yml

This is an automated pull request to update default timeouts for all jobs in .github/workflows/backport.yml that do not currently contain a default timeout property.
Please review these changes closely to ensure that all jobs have sufficient time to run. If a job needs more time, please add a timeout property to that job to override the organization default.
Additionally, please be attentive to unintended changes to the workflow YAML file, as the parser is not perfect.
Lastly, note that it is up to the reviewer to merge this pull request and delete the PR branch once they are satisfied with the changes.

 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.

Closing in favor of https://github.com/Kong/kong/pull/12566.


Hide APIs to be left in preview ahead of Ni GA

There are APIs we intend to keep in preview and they need to be hidden from the public API ahead of this GA. These include:

[x] RegionalAuthority enumeration
[x] Region property from ClientSecretCredentialOptions and ClientCertificateCredentialOptions
[x] AzureApplicationCredential
[x] AzureAppliationCredentialOptions

@schaabs ohh correct! thank you


Derive from alpine 3.4 instead of 3.2

To work around known vulnerabilities in alpine 3.2 such as CVE-2016-2177
and CVE-2016-2178.
Fix #140
My local ad-hoc test worked, so assuming CI also passes this should be good to go.

Cool, thanks!


Using Laravel Sail to Package Development

Sail Version
v1.24.0
Laravel Version
v10.21.0
PHP Version
8.2.10
Operating System
Linux
OS Version
Ubuntu 22.04
Description
I'm trying to use Laravel Sail in the development of a laravel package along with testbench. It works great, but I'm having problems with browser tests.
Is there any possibility to make it work, using the selenium image?
Steps To Reproduce
My docker-compose.yml:
# For more information: https://laravel.com/docs/sail
version: '3'
services:
    laravel.test:
        build:
            context: ./vendor/laravel/sail/runtimes/8.2
            dockerfile: Dockerfile
            args:
                WWWGROUP: '${WWWGROUP}'
        image: sail-8.2/app
        extra_hosts:
            - 'host.docker.internal:host-gateway'
        ports:
            - '${APP_PORT:-80}:80'
            - '${VITE_PORT:-5173}:${VITE_PORT:-5173}'
        environment:
            WWWUSER: '${WWWUSER}'
            LARAVEL_SAIL: 1
            XDEBUG_MODE: '${SAIL_XDEBUG_MODE:-develop,debug,coverage}'
            XDEBUG_CONFIG: '${SAIL_XDEBUG_CONFIG:-client_host=host.docker.internal}'
            IGNITION_LOCAL_SITES_PATH: '${PWD}'
        volumes:
            - '.:/var/www/html'
        networks:
            - sail
        depends_on:
            - selenium
    selenium:
        image: selenium/standalone-chrome
        extra_hosts:
            - 'host.docker.internal:host-gateway'
        volumes:
            - '/dev/shm:/dev/shm'
        networks:
            - sail
        ports:
            - 4444:4444
networks:
    sail:
        driver: bridge

Add in phpunit.xml:
<env name="DUSK_DRIVER_URL" value="http://selenium:4444/wd/hub" />
Error:

I know that this is not a bug, as Sail is aimed at Laravel applications, but if I have an idea of the problem and can help, I will be grateful.

@crynobone Any idea how to resolve this?

See my previous response.


Create an inventory of existing WZD Feeds

Publish where consumers can find existing WZD feeds

That seems essential!
With the General Bikeshare Feed Specification or GBFS, the inventory of feeds is in the same repo as the specification. This poses an issue because the commit log mixes spec changes and feed location updates, so it's harder to isolate either type of change. When this is implemented, I'd recommend creating a separate but related repo that provides a directory of WZD feeds.

@DeraldDudley @antrim Thank you both for this feedback! I've started https://github.com/usdot-jpo-ode/jpo-wzdx/issues/49 to get feedback on a few upcoming features for consumers of realtime/historical WZDx data, one of which is an inventory of active WZDx feeds. Would love to get your feedback on it there discuss more.
Julia Lien, USDOT ITS DataHub


Add CSS to center align images with class

This PR addresses https://github.com/executablebooks/sphinx-book-theme/issues/141 and https://github.com/executablebooks/jupyter-book/issues/1204 by defaultling img elements in the main content column to be centre alined.
Classes align-left and align-right will override as expected.
These behaviours now match default behaviours of figures.

nice! thanks very much 🎉 the failing test is annoyingly because sphinxcontrib-bibtex hasn't released a new version yet. Think you could post a screenshot of before/after so that it's clear what will change in the docs?

Sure thing! Screenshots below. This PR simply adds the styles for class="align-center".
Before:

After:

Nice! Thanks very much 🙂


Loan Delinquency Classification job

Description
Describe the changes made and why they were made.
The delinquency bucket is defined and It can be configured at the product level, there should be a verification at certain period to check, update the loan account’s delinquency field according to the configuration done at the loan product level and keep the proper loan delinquency tag history to be analyzed later
Checklist
Please make sure these boxes are checked before submitting your pull request - thanks!

[ ] Write the commit message as per https://github.com/apache/fineract/#pull-requests

[ ] Acknowledge that we will not review PRs that are not passing the build ("green") - it is your responsibility to get a proposed PR to pass the build, not primarily the project's maintainers.

[ ] Create/update unit or integration tests for verifying the changes made.

[ ] Follow coding conventions at https://cwiki.apache.org/confluence/display/FINERACT/Coding+Conventions.

[ ] Add required Swagger annotation and update API documentation at fineract-provider/src/main/resources/static/legacy-docs/apiLive.htm with details of any API changes

[ ] Submission is not a "code dump".  (Large changes can be made "in repository" via a branch.  Ask on the developer mailing list for guidance, if required.)

FYI our guidelines for code reviews are at https://cwiki.apache.org/confluence/display/FINERACT/Code+Review+Guide.

@josehernandezfintecheandomx Please use the fineract-client in the integration tests! That way you can test 2 in 1 :)

@josehernandezfintecheandomx Please use the fineract-client in the integration tests! That way you can test 2 in 1 :)

I've already used even I've extended the use of this for the Loan Product and Loan Account test helpers


Numerical differences between shardings in random algorithm

Description
We are seeing numerical differences between shardings in random number initialization on GPUs. For example, if I have a mesh of DP, FSDP, TP , based on what no of devices I allocate to each of these axes the numerical output of my initialization changes drastically. As a result of this when we are using TP we are seeing divergences in the network.
System info (python version, jaxlib version, accelerator, etc.)
`jax:    0.4.27.dev20240514
jaxlib: 0.4.27.dev20240420
numpy:  1.26.4
python: 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0]
jax.devices (8 total, 8 local): [cuda(id=0) cuda(id=1) ... cuda(id=6) cuda(id=7)]
process_count: 1
platform: uname_result(system='Linux', node='ipp1-2023.nvidia.com', release='5.15.0-88-generic', version='#98-Ubuntu SMP Mon Oct 2 15:18:56 UTC 2023', machine='x86_64')

$ nvidia-smi
Tue May 14 23:37:29 2024
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.54.14              Driver Version: 550.54.14      CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA A30                     On  |   00000000:01:00.0 Off |                    0 |
| N/A   27C    P0             31W /  165W |     234MiB /  24576MiB |      0%      Default |
|                                         |                        |             Disabled |
+-----------------------------------------+------------------------+----------------------+
|   1  NVIDIA A30                     On  |   00000000:23:00.0 Off |                    0 |
| N/A   27C    P0             32W /  165W |     234MiB /  24576MiB |      0%      Default |
|                                         |                        |             Disabled |
+-----------------------------------------+------------------------+----------------------+
|   2  NVIDIA A30                     On  |   00000000:41:00.0 Off |                    0 |
| N/A   28C    P0             33W /  165W |     234MiB /  24576MiB |      0%      Default |
|                                         |                        |             Disabled |
+-----------------------------------------+------------------------+----------------------+
|   3  NVIDIA A30                     On  |   00000000:61:00.0 Off |                    0 |
| N/A   26C    P0             32W /  165W |     234MiB /  24576MiB |      0%      Default |
|                                         |                        |             Disabled |
+-----------------------------------------+------------------------+----------------------+
|   4  NVIDIA A30                     On  |   00000000:81:00.0 Off |                    0 |
| N/A   27C    P0             34W /  165W |     234MiB /  24576MiB |      0%      Default |
|                                         |                        |             Disabled |
+-----------------------------------------+------------------------+----------------------+
|   5  NVIDIA A30                     On  |   00000000:A1:00.0 Off |                    0 |
| N/A   28C    P0             33W /  165W |     234MiB /  24576MiB |      0%      Default |
|                                         |                        |             Disabled |
+-----------------------------------------+------------------------+----------------------+
|   6  NVIDIA A30                     On  |   00000000:C1:00.0 Off |                    0 |
| N/A   28C    P0             32W /  165W |     234MiB /  24576MiB |      0%      Default |
|                                         |                        |             Disabled |
+-----------------------------------------+------------------------+----------------------+
|   7  NVIDIA A30                     On  |   00000000:E1:00.0 Off |                    0 |
| N/A   28C    P0             33W /  165W |     234MiB /  24576MiB |      0%      Default |
|                                         |                        |             Disabled |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A        41      C   python                                          0MiB |
|    1   N/A  N/A        41      C   python                                          0MiB |
|    2   N/A  N/A        41      C   python                                          0MiB |
|    3   N/A  N/A        41      C   python                                          0MiB |
|    4   N/A  N/A        41      C   python                                          0MiB |
|    5   N/A  N/A        41      C   python                                          0MiB |
|    6   N/A  N/A        41      C   python                                          0MiB |
|    7   N/A  N/A        41      C   python                                          0MiB |
+-----------------------------------------------------------------------------------------+
``

The re-produce unittest is as below, it is required to run on a node with 8GPUs

`import jax.numpy as jnp
import jax
from jax.experimental import mesh_utils as jax_mesh_utils
from jax.experimental.pjit import pjit
from jax.sharding import PartitionSpec as P
from jax.sharding import Mesh

MESH_DATA_AXIS = 'data'
MESH_TENSOR_AXIS = 'tensor'
MESH_FSDP_AXIS="pipeline"

# create an FSDP mesh
ici_mesh = (2, 4, 1)  # DP, FSDP, TP
dcn_mesh = (1, 1, 1)  # DP, FSDP, TP
devices = jax_mesh_utils.create_hybrid_device_mesh(ici_mesh, dcn_mesh)
fsdp_mesh = Mesh(devices, (MESH_DATA_AXIS, MESH_FSDP_AXIS, MESH_TENSOR_AXIS))
print(fsdp_mesh.shape)  # (2, 8, 1)

# create an FSDP, TP mesh
ici_mesh = (1, 4, 2)  # DP, FSDP, TP
dcn_mesh = (1, 1, 1)  # DP, FSDP, TP
devices = jax_mesh_utils.create_hybrid_device_mesh(ici_mesh, dcn_mesh)
fsdp_tp_mesh = Mesh(devices, (MESH_DATA_AXIS, MESH_FSDP_AXIS, MESH_TENSOR_AXIS))
print(fsdp_tp_mesh.shape)  # (1, 4, 4)

# create an FSDP, TP, DP mesh
ici_mesh = (2, 2, 2)  # DP, FSDP, TP
dcn_mesh = (1, 1, 1)  # DP, FSDP, TP
devices = jax_mesh_utils.create_hybrid_device_mesh(ici_mesh, dcn_mesh)
fsdp_tp_dp_mesh = Mesh(devices, (MESH_DATA_AXIS, MESH_FSDP_AXIS, MESH_TENSOR_AXIS))
print(fsdp_tp_dp_mesh.shape)  # (2, 2, 4)

# generate the data
batch_size = 32
seq_len = 8192
n_heads = 32
head_dim = 128
emb_dim = 4096
DATA_SUBMESH = (MESH_DATA_AXIS, MESH_FSDP_AXIS)

def gen_data_fn():
    key = jax.random.PRNGKey(43)
    scale = 0.05
    activations = scale * jax.random.normal(key, shape=(batch_size, seq_len, emb_dim), dtype=jnp.bfloat16)
    weights = scale * jax.random.normal(key, shape=(emb_dim, n_heads, head_dim), dtype=jnp.bfloat16)
    return activations, weights

data_fn = pjit(
    gen_data_fn,
    out_shardings=(P(DATA_SUBMESH, None, MESH_TENSOR_AXIS), P(MESH_FSDP_AXIS, MESH_TENSOR_AXIS, None)),
)

# fsdp utputs
with fsdp_mesh:
    act1, weights1 = data_fn()

with fsdp_tp_mesh:
    act2, weights2 = data_fn()

with fsdp_tp_dp_mesh:
    act3, weights3 = data_fn()

# diff b/w fsdp and fsdp,tp
def get_diffs(x, y):
    abs_diff = jnp.abs(x - y)
    max_difference = round(jnp.max(abs_diff), 5)
    min_difference = round(jnp.min(abs_diff), 5)
    avg_difference = round(jnp.mean(abs_diff), 5)
    return max_difference, min_difference, avg_difference

max_diff, min_diff, avg_diff = jax.jit(get_diffs)(act1, act2)
print(f"Differences b/w FSDP and FSDP,TP: Max -- {max_diff}, Min -- {min_diff}, Average -- {avg_diff}")

max_diff, min_diff, avg_diff = jax.jit(get_diffs)(act1, act3)
print(f"Differences b/w FSDP and FSDP,TP,DP: Max -- {max_diff}, Min -- {min_diff}, Average -- {avg_diff}")
`

This is fixed by upgrading to partitionable threefry, e.g. by adding the following line to the top of the file (after imports):
jax.config.update('jax_threefry_partitionable', True)

See https://github.com/google/jax/discussions/18480 for more on the upgrade (which was delayed a bit, but is still planned).

IIUC this is a bug even with jax_threefry_partitionable=False, and also we don't yet know what's causing this bug. Good to know that setting jax_threefry_partitionable=True fixes it though!

Yes, I consider it a bug as well, but still undiagnosed.


Ready to Upstream?

@froi @zkoppert @jasonmacgowan
This appears to be working now that Froi got the merge fixed for us.  Are we ready to attempt to upstream this?

I seem to remember we decided not to upstream. @Chocrates and @zkoppert am I correct? Something to do with upstream not accepting PRs?

Its broken right now so I closed the PR.  I thought we were going to try to get it upstream and if they pushed back we weren't going to push.


Plate resolution

There doesn't seem to be a command line option for this any more.

Ok but why did you close this one?


Questions about measuring sensitivity and genetic algorithm application

Hi, it is a nice code for a quantization.
However, I have some questions about sensitivity measurement and genetic algorithm.

In the paper, you expressed that layer sensitivity can be measured with diagonal loss while off-diagonal loss expresses cross-layer  sensitivity. However, I could not find such a loss term in your code in this git..... if you do not mind, please let me know where you wrote those terms.

It was quite interesting that using genetic algorithm to find the optimal bitwidth configuration for each block. But as well as sensitivity problem, I could not find such a code for this algorithm in the git. Again, if you do not mind it either, please let me know where it is.

By the way, I am really impressed with your paper and code for new quantization method. Hope you to have a nice day. Thank you!
p.s. when you mentioned about examining permutations, you said that it would be 3^n permutations while n is the number of layers in a block. and 3 is the number of bit candidates(2,4,6). However, due to negligible performance drop with 4bits and 8 bits quantization, only 2 bit permutation is considered according to your paper. However, if only 2 bit permutation is considered, shouldn't it be 1^n permutations per each block? I am a bit confused with this part.

Hi,
Thanks for your interest in this work.
The sensitivity measure, as well as the genetic algorithm, will be released in the future, we are cleaning this code.
For your question of 2-bit permutation, let's consider an example of a block with 3 layers. You should first check 3+3 per-layer permutations for 4-bit and 8-bit. Then, for 2-bit quantization, you need to evaluate 3 possibilities for one layer quantized to 2-bit, and 3 possibilities for two layers quantized to 2-bit, and finally 1 possibilities for all of 3 layers quantized to 2-bit.

Hi,
Thanks for your interest in this work.
The sensitivity measure, as well as the genetic algorithm, will be released in the future, we are cleaning this code.
For your question of 2-bit permutation, let's consider an example of a block with 3 layers. You should first check 3+3 per-layer permutations for 4-bit and 8-bit. Then, for 2-bit quantization, you need to evaluate 3 possibilities for one layer quantized to 2-bit, and 3 possibilities for two layers quantized to 2-bit, and finally 1 possibilities for all of 3 layers quantized to 2-bit.

Thank you for your reply.
I have another question. Do I have to used the pretrained model from your link to test this git? If it is possible, I want to use some pretrained models that pytorch provides like ResNet and MobileNet.
p.s. I found that you added some extra relu layers for basic block and bottleneck. If you do not mind, would you like to tell me the reason for it?

Hi,
Thanks for your interest in this work.
The sensitivity measure, as well as the genetic algorithm, will be released in the future, we are cleaning this code.
For your question of 2-bit permutation, let's consider an example of a block with 3 layers. You should first check 3+3 per-layer permutations for 4-bit and 8-bit. Then, for 2-bit quantization, you need to evaluate 3 possibilities for one layer quantized to 2-bit, and 3 possibilities for two layers quantized to 2-bit, and finally 1 possibilities for all of 3 layers quantized to 2-bit.

This have not been released yet?


Allow styles for colors and other properties

It would be nice if options could be passed to the constructor to have custom colors for different UI elements on the graph (pink and lightgray are identical to my eyes).  While we are at it, we should also allow configuring the stroke width of selections and labels.

Added in PR #152.


Redaction of undecrypted E2E events aren't picked up by iOS

Fixed - https://github.com/matrix-org/matrix-ios-kit/commit/3fbaf14a07ab29a0f033cc3f89f6426cfa66a0a4


Highlight similar text dpends on search settings

Issue Type: Bug
When I double-click or otherwise highlight some text, similar text is marked throught the file. Which text exactly get marked dpends on the search settings that are active at the moment, but they are not displayed in any way for adjusting.
For example, create a new file with this text:
for
fork
For

Highlight the "for" on the first line - the other 2 "for"s are marked. Now press Ctrl-F and set either "Match case" or "Match whole word". Now close the search box and highlight the "for" again. Whetever settings were set in the search box are applied here as well, but there is no visibale indication of what they are or way to set them without opening the search box again.
VS Code version: Code 1.49.0 (e790b931385d72cf5669fcefc51cdf65990efa5d, 2020-09-10T13:22:08.892Z)
OS version: Windows_NT x64 10.0.18362
Remote OS version: Linux x64 4.9.0-0.bpo.6-amd64

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-8350U CPU @ 1.70GHz (8 x 1896)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: disabled_offopengl: enabled_onprotected_video_decode: enabledrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
15.85GB (6.57GB free)

Process Argv

Screen Reader
no

VM
0%

Item
Value

Remote
SSH: mews7748

OS
Linux x64 4.9.0-0.bpo.6-amd64

CPUs
Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz (8 x 2258)

Memory (System)
15.54GB (3.63GB free)

VM
0%

Extensions (9)

Extension
Author (truncated)
Version

remote-ssh
ms-
0.51.0

remote-ssh-edit
ms-
0.51.0

material-icon-theme
PKi
4.3.0

gitlens
eam
10.2.2

todo-tree
Gru
0.0.178

me-vscode
ME-
0.0.9

git-graph
mhu
1.25.0

cpptools
ms-
0.30.0-insiders5

hexeditor
ms-
1.3.0

I see the Find options on-screen for a short time but I think the time it stays on-screen needs to be extended.  If I want to mouse over there and change options it usually has disappeared before I get there.  It seems to be there for only two seconds.
Version: 1.52.0-insider (user setup)
Commit: caf01baa45b9816e2e1d8a2de22b40cf89459c03
Date: 2020-11-20T07:41:44.570Z
Electron: 9.3.3
Chrome: 83.0.4103.122
Node.js: 12.14.1
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.20262

I see the Find options on-screen for a short time but I think the time it stays on-screen needs to be extended. If I want to mouse over there and change options it usually has disappeared before I get there. It seems to be there for only two seconds.

However the "find options" are not visible at all when you are just selecting some text and look for similar text.

Yes, they are in the Insiders' Build - upper right corner.

@ArturoDent please file a new bug for that issue.


Hotfix/issue 443

This change is

Current coverage is 58.46% (diff: 23.20%)

Merging #482 into master will increase coverage by 0.14%

@@             master       #482   diff @@
==========================================
  Files          1945       1945
  Lines         99961     101762   +1801
  Methods           0          0
  Messages          0          0
  Branches      12418      12923    +505
==========================================
+ Hits          58303      59500   +1197
- Misses        38548      39094    +546
- Partials       3110       3168     +58

Powered by Codecov. Last update 121f5af...0517648

Reviewed 59 of 59 files at r1.
Review status: all files reviewed at latest revision, all discussions resolved, some commit checks failed.

Comments from Reviewable


pyTransition : Errors in sample code

Two errors cause issues when running the sample code for request_accessibility_map:

lat/long are inverted
there is a trailing comma at the end of the parameters

Also, those code example should be included in the README from external file so that we can CI test them.

Another one. In the two samples for connecting to the server, the get_nodes() function is used as an example. It is called in two different ways: Transition.get_nodes() and transition_instance.get_nodes()

The first one gives the following error:
TypeError: Transition.get_nodes() missing 1 required positional argument: 'self'
While the second one gives the following error:
HTTPError: 500 Server Error: Internal Server Error for url: https://stmplanif.transition.city/api/v1/nodes
So it seems that:

the second formulation should be used in all sample code
the get_nodes() function does not work properly

https://github.com/chairemobilite/transition/pull/1171 add a method to link actual script to the README to ease in testing.
Some fixes were applied


canjs backup does not report correct "isDirty" status after modifications were made

Please see this example here: http://jsfiddle.net/fsw49seo/
When trying to create a new can.map object, add data, and then use backup, the 'isDirty' status will return false even though I have since modified the object. My example above shows a few attempts to get the status of the object, even after modifying it.

Hey @WooFerPPK, you need to pass the optional [deep] bool to isDirty as you're checking for nested changes: http://canjs.com/docs/can.Map.backup.prototype.isDirty.html
Adding .isDirty(true) to your test makes it work as you would expect.


Graph UI Lab - Can't Connect?

Was on the last step of https://review.docs.microsoft.com/en-us/labs/insiderdevtour2018/graph/index?tutorial-step=2&branch=insiderdevtour%2Fdev

I'm getting this can't connect to service after typing in my username and 'getting redirected to organization sign-in page' (the console app is still working fine, as does logging in a browser).
If I close the window, the page contents has a Microsoft.Identity.Client.MsalException: WAB authentication failed followed by a FileNotFoundException.

This worked in the VM for the UI project, but I couldn't get it to work for the console project now for some reason:

I just reproduced this in the UI project inside the VM.  I uninstalled the app and re-ran and it worked - will keep this open until we gain more certainty around the cause.


Add support for undocumented API attributes

Per the Medium developers, there are two undocumented API attributes that can be specified if one is uploading a backlog of posts: publishedAt and notifyFollowers. The publishedAt flag takes any date in the past (since scheduling posts isn't yet supported by Medium). The notifyFollowers flag is a boolean that disables pinging your followers in case of bulk imports.
More info @ https://github.com/Medium/medium-api-docs/issues/6

New version posted to RubyGems

:+1:


Flow broken with ROMS data

Streamline advection no longer works with the ROMS "jsmall" data set (and possibly others).
To reproduce:

Load Data/ROMS/jsmall
Enable Flow with default settings. Nothing is displayed. Changing various parameters (seed locations, direction, integration length) does not seem to help

I think this is fixed in PR #2385 . Let's close it for now and verify later.


[Feature Request]

Any way you guys could add touch bar support?

yup. Its possible. But its still experimental.
https://electron.atom.io/docs/api/touch-bar-button/


[UX] error page for attempting to use an expired onboarding or password-reset email should give user option to send a new one

In WSO2IS 5.6.0, when a user-onboarding email expires, that user is simply displayed an error message.  Presenting the option to send a fresh email alongside this message would improve the user experience in this case.
I suspect, but have not verified, that the same applies for an expired password-reset email.

screenshot for reference:

This capability is already available in the REST API [1]. Hence reducing the severity since this is a UI improvement.
[1] https://docs.wso2.com/display/IS550/apidocs/self-registration/#!/operations#SelfRegister#resendCodePost

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


[DO-NOT-MERGE] declarative cfg prototype a

Description
A detailed explanation of the changes in your PR.
Feel free to remove this section if it is overkill for your PR, and the title of your PR is sufficiently descriptive.
Checklist

[ ] Investigated and inspected CI test results
[ ] Unit test and regression tests added
[ ] Evaluated and added CHANGELOG entry if required
[ ] Determined and documented upgrade steps
[ ] Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)

If any of these don't apply, please comment below.
Testing Performed
TODO(replace-me)
Use this space to explain how you tested your PR, or, if you didn't test it, why
you did not do so. Valid reasons include, for example, "CI is sufficient",
"No testable changes". Feel free to attach JSON snippets, curl commands,
screenshots.
In addition to reviewing your code, reviewers must also review your testing
instructions and make sure they are sufficient.

Current dependencies on/for this PR:

master

PR #3915   👈

This comment was auto-generated by Graphite.

/test all

/retes-required

/retest-required

/retest-required

/retest-required


Force sensor update to allow derivative helper to track current power draw.

Hi there
I have some devices that does report Total Energy utilization but not Current Energy. So to be able to track real-time power, i created some derivative sensors and was able to get current power draw.
But the problem is that the derivative helper only updates it's value when source sensor updates itself. It looks like when i power off the AC the sensor does not update anymore and my derivative sensor is stuck with the last reading in watts.
Would it be possible to force sensor update within a given timeframe, let's say 1 min?
Cheers, Tabascoz

Thanks for the suggestion. I'll have to think about this one. I know an entity can be configured to force updates to the state even if the value doesn't change, but I believe this has a side effect of causing it to take much more room in the database as each (identical) state is written.

I haven't figured out if it's possible, but a solution might be to force the sensor updates only when the device powers on/off.

That would be a very good solution. My discharge sensor and the energy socket match quite well. But i can no longer select the time window in the sensor; this would lead to a smothered line, but then the problem described occurs.


Refactoring in Eclipse 4.5 (Mars) fails sometimes because of Lombok

Migrated from Google Code (issue 839)

Eclipse mars has some real funny bugs around the formatter (https://bugs.eclipse.org/bugs/show_bug.cgi?id=303519). My first guess would be that this is at least somewhata related to your issues

Lombok v1.16.6 has just been released and contains several Mars fixes. Can you please verify if this version still contains the problem?

I had experienced this bugs when using refactor commands in Eclipse and it solved when I upgraded to Lombok v1.16.6... Thanks!


Action aborts with: Error: Cannot read property 'split' of undefined

When I created a PR with an Apex change the PMD Github Action aborted with this
analyze
Cannot read property 'split' of undefined
Looks like it aborted after parsing the SARIF of the second issue. At least only one is displayed correctly

We call split here: https://github.com/pmd/pmd-github-action/blob/76f6e255c0d5fba5f3182825af0ecf11c687fa71/lib/annotations.js#L55
I think, this problem occurs if a rule has no description... the action should however not abort, if this is the case.


Support more NoSQL databases

I don't know if this topic has already been discussed, but I was thinking on the idea of including a NoSQL database option in Caravel.
Whereas currently the interface for connection is made using SQLAlchemy and, as its own name says, it doesn't deal with anything that is not SQL, I think this could be a nice upgrade.
PS: I imagine that this change could bring changes on the current interface as well.

We support Druid which we query through a REST API. There's a common interface to both, though it's non trivial (but certainly doable!) to add support for a new DB backend. We were discussing adding support for ElasticSearch for instance as we have some use cases at Airbnb.

Any specific backend you had in mind?

CouchDB

I would like to suggest MongoDB.

Mongodb would be great !

Acting like a REST API client could be used to connect to several databases

Well the REST APIs to different NOSQL dbs are all very different. I don't think there's a standard there... Different calls to get column metadata, different APIs for queries, ...

Ok. Just a suggestion.

I'm thinking about ElasticSearch. Has a nice REST interface, and Caravel could be a nice alternative to Kibana...
I wonder if porting Caravel would be mainly a matter of reimplementing what I see for Druid in views.py, or it would be much more than that?

I see that topic of integrating with Kibana is covered in some detail in #241.

@jgbarah, @mistercrunch, any update on this issue? Has there been work done on this that I could see?

ElasticSearch support +1

+1 for ElasticSearch

+1

+1 for ElasticSearch

+1 for ElasticSearch

+1 for ElasticSearch

+1 for ElasticSearch

PSA: Please make use of github reactions instead of the annoying +1 comments, thanks.

+1 for ElasticSearch

Anyone actually working on this?
Is there any standard Python API so user could implement certain interface for specific NoSQL database when officially it's not done yet?

@QiXuanWang yes, you should write a sqlalchemy dialect to be pluggable with superset

Here's the spec for Python's DBAPI:
https://www.python.org/dev/peps/pep-0249/

Would it be possible to know the list of NoSql databases currently supported by Superset? Is there a list or additional information somewhere. By the way, also in favour of an Elasticsearch support.

+1 for elasticsearch

+1 for elasticsearch...

+1 for bigquery

People, backends support won't automagically appear by themselves by adding +1. Again: https://github.com/airbnb/superset/issues/600#issuecomment-255326247

I've done some work to clarify the connectors interface, making it easier to add new connectors to the platform.

FYI I started the work to integrate with ElasticSearch. Seems like it's going to be fairly straightforward. Let me know if you want to get involved.
https://github.com/airbnb/superset/pull/2953

https://github.com/apache/incubator-superset/pull/8441


NO_ARTIFACTS = InvalidInputException

Hello,
I'm getting the error:
Invalid artifacts: artifact type NO_ARTIFACTS should have null output name

Maybe I'm missing something?
module "build" {
  source              = "git::https://github.com/cloudposse/terraform-aws-codebuild.git?ref=master"
  namespace           = var.environment
  stage               = var.project
  name                = var.name

  # https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-available.html
  build_image         = "aws/codebuild/standard:4.0"
  build_compute_type  = "BUILD_GENERAL1_SMALL"
  build_timeout       = 60
  artifact_type       = "NO_ARTIFACTS"

  # These attributes are optional, used as ENV variables when building Docker images and pushing them to ECR
  # For more info:
  # http://docs.aws.amazon.com/codebuild/latest/userguide/sample-docker.html
  # https://www.terraform.io/docs/providers/aws/r/codebuild_project.html

  privileged_mode     = true
  aws_region          = "us-east-1"
  aws_account_id      = var.aws_account_numbers[0]
  image_repo_name     = var.image_repo_name
  image_tag           = var.image_tag
  private_repository  = true

  source_credential_auth_type   = "PERSONAL_ACCESS_TOKEN"
  source_credential_server_type = "GITHUB"
  source_credential_token       = var.github_access_token

  buildspec = "buildspec.yml"

  # Optional extra environment variables
  environment_variables = [
    {
      name = "AWS_DEFAULT_REGION"
      value = var.aws_region
    }
  ]
}

I have the same issue

Same here.  Also I switch to S3 to try and workaround I get "Invalid artifacts: location is required" but cannot see the property listed

@twmartin @python3k @andrewrutter @dominic-byrne-worldpay @twigs67
Is this problem still affecting you folks ? Do you folks know of a way to resolve this in terraform ?

This is also an issue for me.  Fixed it by destroying the codebuild project then re-creating it (commenting out in terraform).  I'm using provider version 5.19.0 and terraform >= 1.5.5

Still an issue as of Terraform v1.9.8 and AWS Provider 5.68.0, but you can change the artifact type in AWS Console, so destroying and recreating the Codebuild Project resource is likely the quickest remedy.

You cannot update the artifact type
This build project uses AWS CodePipeline, which requires source type and artifact type to be set to CODEPIPELINE. To make
changes, you must use the AWS CLI to edit both values.


fix error dashboard

Description
Edit the following

Widget edit button operation error
Fix chart y-axis panel error
List update error during replication
List update error when deleting

Related Issue :

How Has This Been Tested?

Check that the chart edit screen is displayed immediately when the chart edit button is pressed.
Check if the y-axis panel is displayed normally when opening the chart editing screen.
Check if the list is displayed normally when cloning the dashboard.
Check if the list count is displayed normally when deleting the dashboard.

Need additional checks?
Types of changes

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

Checklist:

[ ] I have read the CONTRIBUTING document.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have added tests to cover my changes.

Additional Context

deploy to 2


Updated remove_from_Folders()

According to the errata, found on the updates section of http://www.informit.com/store/c-plus-plus-primer-9780321714114
" Page 522: The remove_from_Folders member correctly removes pointers to itself from each of its corresponding Folders, but it should clear its own folders member as well."

thx.


Add health check to my apps

This is a work-in-progress implementation of adding health check to the My Appliances page, as per issue #18 .
Remaining TODOs:

[x] Add a modal popup when Delete is clicked when there are default credentials available for the cloud and ask the user if they also want to also delete the appliance
[x] Add a launch history page
[ ] attention is needed to change the name of My Appliances and the text to reflect these updates to the UI
[x] getKP should just get the keypair from the launchTask instead of assuming it will be the latest_task

Those are the main remaining TODOs off the top of my head, but there are probably a few other UI tweaks we'll still want.

Did you end up switching to postgres locally to avoid Celery dying due to the locked sqlite?

@afgane No, I'm still using sqlite and just restart it every time it fails.

For some reason when I launched an Ubuntu instance the keyPair field in the launch task result had a null material value. So I wasn't able to successfully test displaying the keypair material.  I'm not sure if it is just the Ubuntu appliance or what.

@machristie If a key with the given name exists under the current account, the key will just be reused and hence no material will be available so that's the expected behavior.

@afgane ok, thanks. I guess I'm not sure how to test the retrieval of the material then. Would you be able to test it?

@machristie This is looking great! Let's make it go live.


Random crop error: ZeroDivisionError: float division by zero

❓ Questions and Help
I'm implementing random cropping method and my functions is the following.
class RandomCrop(object):
    def __init__(self, size):
        self.size = size

    @staticmethod
    def get_params(img, output_size):
        """Get parameters for ``crop`` for a random crop.
        Args:
            img (PIL Image): Image to be cropped.
            output_size (tuple): Expected output size of the crop.
        Returns:
            tuple: params (i, j, h, w) to be passed to ``crop`` for random crop.
        """
        w, h = img.size
        th, tw = output_size
        if w == tw and h == th:
            return 0, 0, h, w

        i = random.randint(0, h - th) #height
        j = random.randint(0, w - tw) #width
        return i, j, th, tw

    def __call__(self, image, target):
        i, j, h, w = self.get_params(image, self.size)
        image = F.crop(image, i, j ,h, w)
        target = target.crop([j, i, j+w, i+h])
        return image, target

However, I'm getting the error message as follows:
2019-04-26 15:27:16,323 maskrcnn_benchmark.trainer INFO: Start training
Traceback (most recent call last):
  File "tools/train_net.py", line 186, in <module>
    main()
  File "tools/train_net.py", line 179, in main
    model = train(cfg, args.local_rank, args.distributed)
  File "tools/train_net.py", line 85, in train
    arguments,
  File "/home/ubuntu/github/maskrcnn-benchmark/maskrcnn_benchmark/engine/trainer.py", line 67, in do_train
    loss_dict = model(images, targets)
  File "/home/ubuntu/anaconda3/envs/pytorch_p36/lib/python3.6/site-packages/torch/nn/modules/module.py", line 491, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/ubuntu/anaconda3/envs/pytorch_p36/lib/python3.6/site-packages/apex-0.1-py3.6-linux-x86_64.egg/apex/amp/_initialize.py", line 194, in new_fwd
    **applier(kwargs, input_caster))
  File "/home/ubuntu/github/maskrcnn-benchmark/maskrcnn_benchmark/modeling/detector/generalized_rcnn.py", line 52, in forward
    x, result, detector_losses = self.roi_heads(features, proposals, targets)
  File "/home/ubuntu/anaconda3/envs/pytorch_p36/lib/python3.6/site-packages/torch/nn/modules/module.py", line 491, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/ubuntu/github/maskrcnn-benchmark/maskrcnn_benchmark/modeling/roi_heads/roi_heads.py", line 39, in forward
    x, detections, loss_mask = self.mask(mask_features, detections, targets)
  File "/home/ubuntu/anaconda3/envs/pytorch_p36/lib/python3.6/site-packages/torch/nn/modules/module.py", line 491, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/ubuntu/github/maskrcnn-benchmark/maskrcnn_benchmark/modeling/roi_heads/mask_head/mask_head.py", line 77, in forward
    loss_mask = self.loss_evaluator(proposals, mask_logits, targets)
  File "/home/ubuntu/github/maskrcnn-benchmark/maskrcnn_benchmark/modeling/roi_heads/mask_head/loss.py", line 112, in __call__
    labels, mask_targets = self.prepare_targets(proposals, targets)
  File "/home/ubuntu/github/maskrcnn-benchmark/maskrcnn_benchmark/modeling/roi_heads/mask_head/loss.py", line 94, in prepare_targets
    segmentation_masks, positive_proposals, self.discretization_size
  File "/home/ubuntu/github/maskrcnn-benchmark/maskrcnn_benchmark/modeling/roi_heads/mask_head/loss.py", line 37, in project_masks_on_boxes
    scaled_mask = cropped_mask.resize((M, M))
  File "/home/ubuntu/github/maskrcnn-benchmark/maskrcnn_benchmark/structures/segmentation_mask.py", line 486, in resize
    resized_instances = self.instances.resize(size)
  File "/home/ubuntu/github/maskrcnn-benchmark/maskrcnn_benchmark/structures/segmentation_mask.py", line 393, in resize
    resized_polygons.append(polygon.resize(size))
  File "/home/ubuntu/github/maskrcnn-benchmark/maskrcnn_benchmark/structures/segmentation_mask.py", line 277, in resize
    ratios = tuple(float(s) / float(s_orig) for s, s_orig in zip(size, self.size))
  File "/home/ubuntu/github/maskrcnn-benchmark/maskrcnn_benchmark/structures/segmentation_mask.py", line 277, in <genexpr>
    ratios = tuple(float(s) / float(s_orig) for s, s_orig in zip(size, self.size))
ZeroDivisionError: float division by zero

Does anyone have any insight on this issue? Many thanks!

Looks like cropping is leaving some boxes empty and so the masks/boxes have 0 area. Pretty sure you need to filter out empty/severely cropped boxes when you call bbox.crop.

I used the original code and met the same problem

I used the original code and met the same problem

Did you solve it?

I used the original code and met the same problem

Did you solve it?

No, this problem randomly occurs and only occurred once, when I resume training and train for another backbone, seems that this problem is gone, sorry that I also have no idea why this happened.

I used the original code and met the same problem

Did you solve it?

No, this problem randomly occurs and only occurred once, when I resume training and train for another backbone, seems that this problem is gone, sorry that I also have no idea why this happened.

I have encountered similar problem before that the randomly cropped path does not have any boxes so it cannot perform training normally. I have implemented a new version and it works good now.
`
class RandomCrop(object):
# Random crop data augmentation for training.
# This is motivated from papers of face detection on WiderFace.
# The min_scale and max_scale are relative to the smaller side
# of the input image. First, we crop a square region by randomly
# sample a float scale within [min_scale, max_scale], and then
# crop the image. Second, the boxes are cropped accordingly with
# boxes kept only if the IoU with original box is larger than
# the given iou_thresh. If it ends up without any remaining boxes,
# it will randomly select a box to re-crop to make sure the box is
# within the cropped region (to guard the process to not crush
# due to no target for an image).
def __init__(self, min_scale, max_scale, iou_thresh=0.5):
    # scale realtive to the smaller size of the image
    self.min_scale = min_scale
    self.max_scale = max_scale
    self.iou_thresh = iou_thresh

def get_params(self, image_size):
    w, h = image_size
    min_s = self.min_scale
    max_s = self.max_scale
    # randomly sample a scale within the range
    s = random.random() * (max_s - min_s) + min_s
    crop_size = int(min(w, h) * s)
    x1 = random.randint(0, w - crop_size)
    y1 = random.randint(0, h - crop_size)
    return x1, y1, crop_size

def get_safe_params(self, image_size, crop_size, target):
    w, h = image_size
    b = random.randint(0, len(target)-1)
    x1,y1,x2,y2 = target[[b]]._split_into_xyxy()
    cx = int((x1 + x2) / 2)
    cy = int((y1 + y2) / 2)
    x1 = max(int(cx - crop_size/2), 0)
    y1 = max(int(cy - crop_size/2), 0)
    x2 = min(int(cx + crop_size/2), w)
    y2 = min(int(cy + crop_size/2), h)
    new_crop_size = min(x2-x1+1, y2-y1+1)
    return x1, y1, new_crop_size

def __call__(self, image, target):
    image_size = image.size
    x1, y1, crop_size = self.get_params(image_size)

    original_target = target.copy_with_fields(list(target.extra_fields.keys()))
    box = (x1, y1, x1+crop_size-1, y1+crop_size-1)
    target = target.crop(box)
    ious = target.area() / original_target.area()
    target = target[ious >= self.iou_thresh]

    if len(target) > 0:
        image = F.crop(image, y1, x1, crop_size, crop_size)
        return image, target

    # guard against no box available after crop
    x1, y1, crop_size = self.get_safe_params(image_size, crop_size, original_target)
    box = (x1, y1, x1+crop_size-1, y1+crop_size-1)
    target = original_target.crop(box) # re-crop original target
    image = F.crop(image, y1, x1, crop_size, crop_size)
    return image, target

`

I used the original code and met the same problem

Did you solve it?

No, this problem randomly occurs and only occurred once, when I resume training and train for another backbone, seems that this problem is gone, sorry that I also have no idea why this happened.

I have encountered similar problem before that the randomly cropped path does not have any boxes so it cannot perform training normally. I have implemented a new version and it works good now.
`class RandomCrop(object):
Random crop data augmentation for training.
This is motivated from papers of face detection on WiderFace.
The min_scale and max_scale are relative to the smaller side
of the input image. First, we crop a square region by randomly
sample a float scale within [min_scale, max_scale], and then
crop the image. Second, the boxes are cropped accordingly with
boxes kept only if the IoU with original box is larger than
the given iou_thresh. If it ends up without any remaining boxes,
it will randomly select a box to re-crop to make sure the box is
within the cropped region (to guard the process to not crush
due to no target for an image).
def __init__(self, min_scale, max_scale, iou_thresh=0.5):
    # scale realtive to the smaller size of the image
    self.min_scale = min_scale
    self.max_scale = max_scale
    self.iou_thresh = iou_thresh

def get_params(self, image_size):
    w, h = image_size
    min_s = self.min_scale
    max_s = self.max_scale
    # randomly sample a scale within the range
    s = random.random() * (max_s - min_s) + min_s
    crop_size = int(min(w, h) * s)
    x1 = random.randint(0, w - crop_size)
    y1 = random.randint(0, h - crop_size)
    return x1, y1, crop_size

def get_safe_params(self, image_size, crop_size, target):
    w, h = image_size
    b = random.randint(0, len(target)-1)
    x1,y1,x2,y2 = target[[b]]._split_into_xyxy()
    cx = int((x1 + x2) / 2)
    cy = int((y1 + y2) / 2)
    x1 = max(int(cx - crop_size/2), 0)
    y1 = max(int(cy - crop_size/2), 0)
    x2 = min(int(cx + crop_size/2), w)
    y2 = min(int(cy + crop_size/2), h)
    new_crop_size = min(x2-x1+1, y2-y1+1)
    return x1, y1, new_crop_size

def __call__(self, image, target):
    image_size = image.size
    x1, y1, crop_size = self.get_params(image_size)

    original_target = target.copy_with_fields(list(target.extra_fields.keys()))
    box = (x1, y1, x1+crop_size-1, y1+crop_size-1)
    target = target.crop(box)
    ious = target.area() / original_target.area()
    target = target[ious >= self.iou_thresh]

    if len(target) > 0:
        image = F.crop(image, y1, x1, crop_size, crop_size)
        return image, target

    # guard against no box available after crop
    x1, y1, crop_size = self.get_safe_params(image_size, crop_size, original_target)
    box = (x1, y1, x1+crop_size-1, y1+crop_size-1)
    target = original_target.crop(box) # re-crop original target
    image = F.crop(image, y1, x1, crop_size, crop_size)
    return image, target

`

Hi, On using the code, I am getting the following assertion error. Can you help me out on this?
assert all(bbox.size == size for bbox in bboxes)
AssertionError


test(native-filters): scoping tree in native filters modal

SUMMARY

Add test to Scoping tree in native filters modal
Includes also tests for FiltersScope functionality in native filters modal

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

Codecov Report

Merging #12655 (e66d87a) into master (a422c76) will decrease coverage by 3.36%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #12655      +/-   ##
==========================================
- Coverage   66.79%   63.43%   -3.37%
==========================================
  Files        1015      486     -529
  Lines       49676    29969   -19707
  Branches     4847        0    -4847
==========================================
- Hits        33183    19010   -14173
+ Misses      16371    10959    -5412
+ Partials      122        0     -122

Flag
Coverage Δ

cypress
?

javascript
?

python
63.43% <ø> (-0.57%)
:arrow_down:

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

Impacted Files
Coverage Δ

superset/db_engines/hive.py
0.00% <0.00%> (-85.72%)
:arrow_down:

superset/db_engine_specs/hive.py
54.61% <0.00%> (-29.24%)
:arrow_down:

superset/db_engine_specs/presto.py
70.56% <0.00%> (-11.48%)
:arrow_down:

superset/utils/celery.py
96.42% <0.00%> (-3.58%)
:arrow_down:

superset/db_engine_specs/mysql.py
89.79% <0.00%> (-2.05%)
:arrow_down:

superset/views/database/mixins.py
80.70% <0.00%> (-1.76%)
:arrow_down:

superset/result_set.py
96.69% <0.00%> (-1.66%)
:arrow_down:

superset/models/core.py
87.22% <0.00%> (-1.64%)
:arrow_down:

superset/db_engine_specs/base.py
85.20% <0.00%> (-0.77%)
:arrow_down:

superset/reports/notifications/base.py
95.00% <0.00%> (-0.46%)
:arrow_down:

... and 531 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2463215...e66d87a. Read the comment docs.

Codecov Report

Merging #12655 (e66d87a) into master (a422c76) will decrease coverage by 3.36%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #12655      +/-   ##
==========================================
- Coverage   66.79%   63.43%   -3.37%
==========================================
  Files        1015      486     -529
  Lines       49676    29969   -19707
  Branches     4847        0    -4847
==========================================
- Hits        33183    19010   -14173
+ Misses      16371    10959    -5412
+ Partials      122        0     -122

Flag
Coverage Δ

cypress
?

javascript
?

python
63.43% <ø> (-0.57%)
:arrow_down:

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

Impacted Files
Coverage Δ

superset/db_engines/hive.py
0.00% <0.00%> (-85.72%)
:arrow_down:

superset/db_engine_specs/hive.py
54.61% <0.00%> (-29.24%)
:arrow_down:

superset/db_engine_specs/presto.py
70.56% <0.00%> (-11.48%)
:arrow_down:

superset/utils/celery.py
96.42% <0.00%> (-3.58%)
:arrow_down:

superset/db_engine_specs/mysql.py
89.79% <0.00%> (-2.05%)
:arrow_down:

superset/views/database/mixins.py
80.70% <0.00%> (-1.76%)
:arrow_down:

superset/result_set.py
96.69% <0.00%> (-1.66%)
:arrow_down:

superset/models/core.py
87.22% <0.00%> (-1.64%)
:arrow_down:

superset/db_engine_specs/base.py
85.20% <0.00%> (-0.77%)
:arrow_down:

superset/reports/notifications/base.py
95.00% <0.00%> (-0.46%)
:arrow_down:

... and 531 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 2463215...e66d87a. Read the comment docs.


Remove restart logic from README and test

The required code in nixpkgs was reverted so we should not advertise a
feature that does not work. We can revert this commit if the feature is
re-merged into 22.05 with the proper version in it.

The required code in nixpkgs was reverted so we should not advertise a feature that does not work. We can revert this commit if the feature is re-merged into 22.05 with the proper version in it.

Does it not work for simple restarts even?


Appdaemon4 HAOS Plugin and Hass-apps not working.

Hi,
I'm trying to get hass-apps working inside AppDaemon4.  I've followed all the instructions and I'm sure I've done everything by the book, the logs are showing that AppDaemon installs the hass-apps Python package during startup, but this is where the good news ends.
Installing collected packages: observable, cached-property, hass-apps
Successfully installed cached-property-1.5.2 hass-apps-0.20200319.0 observable-1.0.3
[cont-init.d] appdaemon.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[10:12:55] INFO: Starting AppDaemon...

Any apps placed in the config/appdaemon/apps folder do not seem to be able to refence the installed hass-apps package and just state:
2021-11-11 11:13:01.484407 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/hass_apps_loader.py - ignoring
2021-11-11 11:13:01.489322 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/schedule_heating.py - ignoring

Full startup log:
[s6-init] making user provided files available at /var/run/s6/etc...exited 0.
[s6-init] ensuring user provided files have correct perms...exited 0.
[fix-attrs.d] applying ownership & permissions fixes...
[fix-attrs.d] done.
[cont-init.d] executing container initialization scripts...
[cont-init.d] 00-banner.sh: executing...
-----------------------------------------------------------
 Add-on: AppDaemon 4
 Python Apps and Dashboard using AppDaemon 4.x for Home Assistant
-----------------------------------------------------------
 Add-on version: 0.7.0
 You are running the latest version of this add-on.
 System: Home Assistant OS 6.6  (amd64 / qemux86-64)
 Home Assistant Core: 2021.11.1
 Home Assistant Supervisor: 2021.10.8
-----------------------------------------------------------
 Please, share the above information when looking for help
 or support in, e.g., GitHub, forums or the Discord chat.
-----------------------------------------------------------
[cont-init.d] 00-banner.sh: exited 0.
[cont-init.d] 01-log-level.sh: executing...
Log level is set to INFO
[cont-init.d] 01-log-level.sh: exited 0.
[cont-init.d] appdaemon.sh: executing...
Looking in links: https://wheels.home-assistant.io/alpine-3.13/amd64/
Collecting hass-apps
  Downloading hass_apps-0.20200319.0-py3-none-any.whl (54 kB)
Requirement already satisfied: voluptuous~=0.11 in /usr/lib/python3.9/site-packages (from hass-apps) (0.12.1)
Collecting cached-property~=1.5
  Downloading https://wheels.home-assistant.io/alpine-3.13/amd64/cached_property-1.5.2-py2.py3-none-any.whl (7.6 kB)
Requirement already satisfied: appdaemon<5,>=3.0 in /usr/lib/python3.9/site-packages (from hass-apps) (4.1.0)

----TRUNCATED A BUNCH REQUIREMENT SATISFIED OUTPUT ---

Requirement already satisfied: oauthlib>=3.0.0 in /usr/lib/python3.9/site-packages (from requests-oauthlib>=0.5.0->msrest>=0.6.21->azure-keyvault-secrets==4.3.0->appdaemon<5,>=3.0->hass-apps) (3.1.1)
Installing collected packages: observable, cached-property, hass-apps
Successfully installed cached-property-1.5.2 hass-apps-0.20200319.0 observable-1.0.3
[cont-init.d] appdaemon.sh: exited 0.
[cont-init.d] done.
[services.d] starting services
[services.d] done.
[10:12:55] INFO: Starting AppDaemon...
2021-11-11 11:12:58.923614 INFO AppDaemon: AppDaemon Version 4.1.0 starting
2021-11-11 11:12:58.924626 INFO AppDaemon: Python version is 3.9.5
2021-11-11 11:12:58.925389 INFO AppDaemon: Configuration read from: /config/appdaemon/appdaemon.yaml
2021-11-11 11:12:58.926353 INFO AppDaemon: Added log: AppDaemon
2021-11-11 11:12:58.927937 INFO AppDaemon: Added log: Error
2021-11-11 11:12:58.928995 INFO AppDaemon: Added log: Access
2021-11-11 11:12:58.930096 INFO AppDaemon: Added log: Diag
2021-11-11 11:12:59.017832 INFO AppDaemon: Loading Plugin HASS using class HassPlugin from module hassplugin
2021-11-11 11:12:59.176110 INFO HASS: HASS Plugin Initializing
2021-11-11 11:12:59.177591 INFO HASS: HASS Plugin initialization complete
2021-11-11 11:12:59.179923 INFO AppDaemon: Initializing HTTP
2021-11-11 11:12:59.182640 INFO AppDaemon: Using 'ws' for event stream
2021-11-11 11:12:59.198090 INFO AppDaemon: Starting API
2021-11-11 11:12:59.215897 INFO AppDaemon: Starting Old Admin Interface
2021-11-11 11:12:59.217723 INFO AppDaemon: Starting Dashboards
2021-11-11 11:12:59.317093 INFO HASS: Connected to Home Assistant 2021.11.1
2021-11-11 11:12:59.371853 INFO AppDaemon: App 'hello_world' added
2021-11-11 11:12:59.375856 INFO AppDaemon: Found 1 total apps
2021-11-11 11:12:59.378295 INFO AppDaemon: Starting Apps with 1 workers and 1 pins
2021-11-11 11:12:59.381839 INFO AppDaemon: Running on port 5050
2021-11-11 11:12:59.489693 INFO HASS: Evaluating startup conditions
2021-11-11 11:12:59.527717 INFO HASS: Startup condition met: hass state=RUNNING
2021-11-11 11:12:59.529075 INFO HASS: All startup conditions met
2021-11-11 11:12:59.609248 INFO AppDaemon: Got initial state from namespace default
2021-11-11 11:13:01.457781 INFO AppDaemon: Scheduler running in realtime
2021-11-11 11:13:01.469940 INFO AppDaemon: Adding /config/appdaemon/apps to module import path
2021-11-11 11:13:01.484407 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/hass_apps_loader.py - ignoring
2021-11-11 11:13:01.489322 WARNING AppDaemon: No app description found for: /config/appdaemon/apps/schedule_heating.py - ignoring
2021-11-11 11:13:01.493325 INFO AppDaemon: Loading App Module: /config/appdaemon/apps/hello.py
2021-11-11 11:13:01.516644 INFO AppDaemon: Initializing app hello_world using class HelloWorld from module hello
2021-11-11 11:13:01.984273 INFO hello_world: Hello from AppDaemon
2021-11-11 11:13:01.988963 INFO hello_world: You are now ready to run Apps!
2021-11-11 11:13:01.995478 INFO AppDaemon: App initialization complete

User error!  I was saving my hass-apps app files as .py instead of .yaml.


Add ability to apply additional configuration options to the cloudflared instance

Allow for specifying replicas, affinity, tolerations on the cloudflared deployments.
And potentially create a service and or service monitors for metrics.

It should already be possible to create your own cloudflared deployments, since the operator uses the Cloudflare API for routing, rather than a local config file. If that works for you, I can add a GatewayInfrastructure parameter to disable the operator's deployment.
Tunnel metrics are available on port 2000, but controller metrics aren't enabled. I'll fix that in the next release and add optional ServiceMonitors. kubebuilder has a plugin for controller Grafana dashboards too, would that be useful to you? Just using controller metrics though, not cloudflared.

It should already be possible to create your own cloudflared deployments, since the operator uses the Cloudflare API for routing, rather than a local config file. If that works for you, I can add a GatewayInfrastructure parameter to disable the operator's deployments.

Would this approach work for you? I'd like to cut a release this week

https://istio.io/latest/docs/tasks/traffic-management/ingress/gateway-api/#manual-deployment
Would this count as a way to do manual deployments of gateways?

@danielloader not really, traffic flows directly to the tunnel so no services are involved. the operator matches gateway config to tunnels using gateway.Name == tunnel.Name instead.


Uprate Married Couple's Allowance for 2023

Uprating changes for 2023
Married couple's allowance will be increased:
Minimum from £3,640 to £4,010
Maximum from £9,415 to £10,375
Change £364 to £401
Change £941.50 to £1,037.50
The income limit will increase from £31,400 to £34,600.
Zendesk ticket

Ah yes, I saw some tests were added in a previous PR but wasn't sure if that had to be done every time. Thank you!


Antone plane fitter fix

fixes #2074
https://github.com/openhumanoids/oh-distro-private/issues/2074#issuecomment-157876764

travis-ci doesn't seem to be starting up.  I'm going to merge this and let drc001 dashboard run it.


Request for getter-functions

Hi,
Thank you for creating Turtle for Colab.
I think it would be useful with functions that returns the current color, background, window size and pen width.
I have seen that there are global variables for these properties in your code, but when I try to use them they only contain the original default value even after I change a value. For example if I print(pen_color) it says "white" even though I've changed it and the pen draws with another color.
I guess that this has something to do with global variables, and I have tried adding the global keyword but that does not help.
One example when this would be useful is to check that I don't change the pen to the same color as the current background. It would also be useful to know the window size from within the code.
If I paste the entire ColabTurtle code into a cell it works, but if I install it doesn't. You can see an example here:
Install: https://colab.research.google.com/drive/1kyv1dC1z9x_2KuUGoYSSV1cU3faOeCT9
Paste: https://colab.research.google.com/drive/1kFDaAi6oKQKhu5q2sO5V4FpNQcK0MLT-

Hi @magnuskson, thanks for the issue. I had left my notifications off, so I see this issue only now 🤦
As you imported the variables in the beginning and the values are primitive values, they are copied during import. So, it is pretty normal that their unchanged version is exposed to your main program. The solution sure would be implementing getter functions from the ColabTurtle module. Are you still interested in this improvement, though?

Thanks for your reply @tolgaatam .
I haven't used turtles for a while. I don't think I will use it in the future either, at least not in the Colab environment. So I have no need for this functionality.

Thanks for your input anyways, I have updated the project and added all the functions that you requested, along with many other standard turtle API. If you restart using turtle on colab some day, feel free to come with your new suggestions. I will see them on time, hopefully.

Closing as the discussion is over.


[FLINK-7169][CEP] Support AFTER MATCH SKIP function in CEP

Thanks for contributing to Apache Flink. Before you open your pull request, please take the following check list into consideration.
If your changes take all of the items into account, feel free to open your pull request. For more information and/or questions please refer to the How To Contribute guide.
In addition to going through the list, please provide a meaningful description of your changes.

[x] General

The pull request references the related JIRA issue ("[FLINK-XXX] Jira title text")
The pull request addresses only one issue
Each commit in the PR has a meaningful commit message (including the JIRA id)

[x] Documentation

Documentation has been added for new functionality
Old documentation affected by the pull request has been updated
JavaDoc for public methods has been added

[x] Tests & Build

Functionality added by the pull request is covered by tests
mvn clean verify has been executed successfully locally or a Travis build has passed

Hi @yestinchen ,
Thanks for the update.
After second round of review. I found many problems with current approach. It returns only the first match in a stream in most cases.

Let's analyze a pattern A B C with SKIP_TO_FIRST C and a sequence a1 b1 c1 a2 b2 c2. It will return only a1 b1 c1 and will left the NFA without any valid ComputationalStates which results in stopping processing.

Another problem is we do not handle a matches that can potentially finish before previously started. E.g. for Pattern

Pattern<Event, ?> pattern = Pattern.<Event>begin("ab").where(new SimpleCondition<Event>() {
	@Override
	public boolean filter(Event value) throws Exception {
		return value.getName().equals("a") || value.getName().equals("b");
	}
}).followedBy("c").where(new IterativeCondition<Event>() {
	@Override
	public boolean filter(Event value, Context<Event> ctx) throws Exception {
		return value.getName().equals("c") && ctx.getEventsForPattern("ab").iterator().next().getPrice() == value.getPrice();
	}
}).setAfterMatchSkipStrategy(new AfterMatchSkipStrategy(AfterMatchSkipStrategy.SkipStrategy.SKIP_PAST_LAST_EVENT));

and a sequence a(price = 1) b(price = 2) c(price = 2). I think a desired behaviour would be to start new matching after c event, but it won't as the matching started at a and will not start at b.

Some general notes:

I think the SQL's specification does not suits well into CEP's library as we do not operate on a partition/bounded collection of events. The specification on the other hand assumes such bounded data. I think we would benefit from some additional documentation how the AFTER_MATCH clause works in case of unbounded data. E.g. what does empty match mean:

Note that the AFTER MATCH SKIP syntax only determines the point to resume scanning for a match after a non-empty match. When an empty match is found, one row is skipped (as if SKIP TO NEXT ROW had been speci ed). Thus an empty match never causes one of these exceptions.

etc.

I really don't like the idea of so many cases when RuntimeException can be thrown. I feel the reason for using CEP is a constantly running jobs that search for patterns in a stream rather than ad-hoc queries.
E.g in case of a Pattern like A B? C with SKIP_TO_LAST B a sequence like a c results in an exception and the job being killed. In my opinion it does not suits well into constantly running job. From operational side running such Patterns would be at least interesting ;), as they depend so much on the arriving data.

I don't know the reasoning, but Esper, that was mentioned as the other(besides Oracle) library that supports MATCH_RECOGNIZE clause does not support AFTER MATCH at all.

I found out there was already an ongoing work to introduce part of the AFTER MATCH (the SKIP_PAST_LAST). The corresponding jira: https://issues.apache.org/jira/browse/FLINK-3703 and closed PR: #2367 .

To sum up thanks @yestinchen for the work. Unfortunately I think the clause needs a little bit more conceptual discussion before we can introduce this change. I think the SKIP_PAST_LAST behaviour would be very helpful (in fact there were alread requests for it in the mailing list) and the most straight forward to implement. I would love to here your opinions @yestinchen as well as @kl0u and @dianfu.

@dawidwys Thanks for the reviewing.
Problem 1 is easy to fix, we can just start a new match process if the only left computation state reaches stopState.
Problem 2 can not be avoided with current approach.  It's impossible to know whether there are potential matches.
I think the best wary to implement this correctly is try to start a new match process after processing each event, and discard unfinished match process after a successful match according to the skip strategy. In order to do that, we need to keep the logical order of the events, which is the original idea I proposed.
As for your general notes, I have some ideas:

I agree that the Oracle's specification is designed for bounded data. But match recoginize in unbounded data is very similar to bounded data, since all data are being processed one by one, and there's no need for bound information. As for empty match , I think we can just use Oracle's definition.

Some patterns permit empty matches. For example:
PATTERN (A*)
can be matched by zero or more rows that are mapped to A.
An empty match does not map any rows to primary row pattern variables; nevertheless, an empty match has a starting row. For example, there can be an empty match at the first row of a row pattern partition, an empty match at the second row of a row pattern partition, etc. An empty match is assigned a sequential match number, based on the ordinal position of its starting row, the same as any other match.

I feel uncomfortable with the RuntimeExceptions too. But these exceptions are very important to keep the skip semantics right. I understand your main concern is that Exceptions will stop the matching process, which is unacceptable to online streaming service. To address this, I think we can introduce a default strategy(SKIP_TO_NEXT_EVENT, for example). If these exceptions happens, we can use default strategy to continue the match process, and change the strategy back after a successful match. We can also add a switch to let user decide whether to enable this feature.

I still think it's useful to support these skip strategies. Don't know why Esper does not support them.

Thanks for the related information. I took a brief look at the PR, which is very similar to this PR. I  wonder why it is closed without merging into the master code?

Looking forward to your feedbacks. Thanks.

Sorry for late response. I think this feature is very useful and agree that we should have a clear thought on what things should be for each skip strategy. I noticed that there are already some discussions in FLINK-3703 which we can refer. I will take a look at this PR and also FLINK-3703 these two days and will post my thought.

Hi @yestinchen
Thanks for your feedback.
Right now, I just want to address the empty match issue. It is not easy to apply that definition to unbounded data. In the SQL specification at the end of partition we can deterministically decide if a partial match is empty or not. It is not the case in unbounded data, as future arriving events may make the partial matches empty.
Those are the nuances I think should be addressed first, but I agree there are many similarities.
I will try to address rest later during the day, but I think we should continue in the JIRA.

@dawidwys  @yestinchen Thanks for your discussion, I am also working on the empty match issue now.  Please have a look at https://issues.apache.org/jira/browse/FLINK-7292.

@dianfu Thanks for your reviewing.
I found @dawidwys wrote a draft about the JIRA's implementation. I'll go through that first and address those issues in this PR latter.

@dawidwys @dianfu I've updated the approach according to the document. Feel free to comment.

Thanks for your reviews @dawidwys ! I'll update the doc in the following commits.

Still missing some tests:

ensuring the NFA#extractCurrentMatches returns patterns in order.
skip to first/last with oneOrMore

Docs missing

Hi @dawidwys , sorry for the late response.
Thanks for your reviews, I have updated the test and the document. Please take a look if you have time. Thanks.

I think you can merge it @dawidwys .
I was following the evolution of this PR and I think it looks good ;) .
Thanks for the work both @yestinchen and @dawidwys !

@dawidwys Thanks for the reviews and comments, please change the documentation during merge.
And @kl0u , thanks for the reviews!


Add tasty-program

Add tasty-program to stackage

base-<IP_ADDRESS> is out of bounds for:

[ ] tasty-program-1.0.3 (>=4.7 && < 4.9). Jan Stolarek<EMAIL_ADDRESS>@jstolarek. @jstolarek

Is it possible to relax the base upperbound?

The bound has been relaxed in version 1.0.5 (released yesterday on Hackage).

Thanks
This happens since there is a delay between packages appearing on Hackage and getting visible in the Stackage cache.


Command line keyboard events

Dart SDK Version: Dart VM version: 2.4.0
OS: Windows 10 x64
I am working on a command line dart application and am looking for the ability to detect keyboard events. For example, if the user presses ctrl (or cmd), this would cause different behavior as the program executes tasks. I have found a few instances that seem to get close, but do not have the complete extendability I am looking for. Specifically:

https://pub.dev/packages/hotkey - this one is simply out of date, but also seems like it is only for html applications, same as current keyboard support (the dart:html library).
https://github.com/dart-lang/sdk/issues/15188 - this is useful for special cases but does not extend beyond signals

I tried a very simple test, but similarly, it does not get very far:
import 'dart:io';
void main() {
  stdin.echoMode = false;
  stdin.lineMode = false;

  stdin.listen((data) {
    print (data);
  });
}

since it only prints out on pressing down (cannot detect holding a key) and does not recognize when the shift or ctrl key are pressed alone since they do not write alone.
Another thought that I have not tried yet was starting a separate process and try to detect keyboard input through a separate pipe, but this seems clunky and does not solve the root problem of lower-level access to keyboard interaction.
I am wondering if there is planned support for handling more advanced keyboard combinations (non-blocking) with special keys like ctrl and shift for command-line written dart applications. If there is not, whether any community libraries have been written. Lastly, if the answer is no to both questions, possible (preferably simple 😄) implementations. What would be of most importance is regarding holding ctrl or shift. Thanks!

If lineMode doesn't do what you want, then your use case likely isn't covered by dart:io currently. Routing to the dart:io owners.

does not recognize when the shift or ctrl key are pressed alone since they do not write alone.

This isn't, as far as I'm aware, information available to something running inside of a shell. The combined input (like control + some character) is available, but not a modifier key pressed on its own.

handling more advanced keyboard combinations (non-blocking) with special keys like ctrl and shift

You'll get different bytes on stdin depending on whether a modifier was used, but you won't get things like keydown/keyup. These things aren't possible in a terminal.

Thanks for the responses. I kinda figured this would be the case and have been working towards a new design to avoid keyboard input. However... out of curiosity:
Would it be possible to write an asynchronous native extension (os specific) to detect key presses (eg KeyUp/KeyDown)? Having not written a native extension yet (and just noticed them), are they similar to Python extensions? At first glance, it looks like a very similar concept (sorry if this is slightly off-topic).

Would it be possible

I'm not sure - I don't know the details of having something running that has full access to read from the keyboard. I'd imagine we won't have a full answer to that unless Flutter desktop becomes fully supported.
I think for now this isn't something we want to try to bake in to the Dart SDK so I'll close the issue - you may want to file an issue against flutter desktop asking about this support.

Adding @mit-mit; might be interesting to consider this in the context of Dart native console applications. This also affects our ability to read keyboard arrow keys. I think we want at some point to be able to retrieve keyboard scan codes.
(I also ran into this, for what it's worth.)

I, too, have run into the need for reading arrow keys from the command line (interactive dart shell programs)

Re-opening as desktop is now indeed a supported platform

cc @a-siva

Just in case it's handy, @jtmcdole, I wound up writing a console package that solves for a lot of command-line problems. It's PM-quality code, so your mileage may vary :) but it's sophisticated enough to support a port of a simple full-screen text editor to Dart.

That's awesome!   FYI; There is also https://github.com/DirectMyFile/console.dart  I'm not sure this handle modifier keys though.


enumerate function hangs with locked bitbox02

if a user has not yet touched one of the bitbox02 start screen arrows (to indicate which side is up) hwi enumerate will work the same as with a locked ledger nano x and return nothing
it seems that once a user has touched one of the bitbox02 start screen arrows then the hwi enumerate function will hang until the bitbox02 is unlocked which can cause problems especially for GUI applications that use the HWI library

For me the hwi enumerate never ends, even after unlocking with the pin and introducing the passphrase

That unlock happens during unlock is by design and was introduced in https://github.com/bitcoin-core/HWI/pull/404. Is this still how it should behave @achow101 or did something change?


Update mysql.sql: DATETIME(6) is not compatible with MySQL < 5.6.4

http://dev.mysql.com/doc/refman/5.6/en/date-and-time-type-overview.html
"MySQL 5.6.4 and up permits fractional seconds for TIME, DATETIME, and TIMESTAMP values, with up to microseconds (6 digits) precision. To define a column that includes a fractional seconds part, use the syntax type_name(fsp), where type_name is TIME, DATETIME, or TIMESTAMP, and fsp is the fractional seconds precision. For example:
CREATE TABLE t1 (t TIME(3), dt DATETIME(6));"
This means that for versions MySQL < 5.6.4 the syntax dt DATETIME(6) produces an error.
As this is an optional value I suggest to use DATETIME without fsp to keep it more compatible.

FYI, I went ahead and brought the minimum down to 5.5.0 in e2beb09. See #218 for details.


route scheduling issues on big_layout

Sometimes trains would try to lock the same tracks.

route leg has_entered() was not behaving correctly when enter sensor was not present.
Also trains tried to advance twice from the same signal, when advancing triggered another train to advance, which would then trigger the original train again to advance.


Upgrade: GPU implementations

We greatly improve performance under NVIDIA GPU machines.

Can one of the admins verify this patch?

add to whitelist

test this please


Move to smaller base image

Use alpine, mount aws-lambda-rie

Codecov Report

Merging #20 (06ea956) into main (f760245) will not change coverage.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##             main      #20   +/-   ##
=======================================
  Coverage   55.12%   55.12%
=======================================
  Files           4        4
  Lines         156      156
=======================================
  Hits           86       86
  Misses         58       58
  Partials       12       12

Impacted Files
Coverage Δ

cmd/opg-s3-antivirus-update/freshclam.go
0.00% <0.00%> (ø)

cmd/opg-s3-antivirus/scanner.go
0.00% <0.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f760245...06ea956. Read the comment docs.


Error: failed to parse kubelet flag: unknown flag: --network-plugin

Hi,
I have a running cluster with version as below
GitVersion:"v1.24.2",
what is the solution for the CNI changes in this version for running clusters that are throwing errors for --network-plugin flags? i cant seem to find any way to fix the running clusters.
2 of my clusters are apparently down due to this and cant seem to figure out how to fix
I have tried changing the file /var/lib/kubelet/kubeadm-flags.env to below and still doesnt help
KUBELET_KUBEADM_ARGS="--pod-infra-container-image=k8s.gcr.io/pause:3.5"
KUBELET_NETWORK_ARGS=''

This looks like a support request. See https://git.k8s.io/kubernetes/SUPPORT.md
/remove-kind bug
/kind support

Related to the issue https://github.com/kubernetes/website/issues/33640
Documentation is updated and merged but what about running clusters? what can be done?

As that link explained, GitHub is not the right place to get support for using Kubernetes.
@ramakrpr my advice would be to ask your question on Server Fault. You could also search the documentation.

Hello @ramakrpr , thank you for flagging the issue. As @sftim mentioned, this is not an issue related to Kubernetes documentation. From the discussion, it seems you need support for using Kubernetes. Please route your questions to Server Fault or related communities and seek out support.

/reopen
/assign


Markdown's Open Preview editor toolbar item: Open to the side

VSCode Version: Code - Insiders 1.10.0-insider (40fecfaa77f01672e8a147be71f6f7ccb9cf8a12, 2017-02-27T14:09:29.088Z)
OS Version: Darwin x64 15.6.0
Extensions: none

Currently the Markdown editor has the Open Preview action in its toolbar. It would be more convenient if that was the Open Preview to the Side action.

@chrmarti whats wrong with Alt-click on the icon to get the other action?

@bpasero It's not discoverable. (I didn't know it was there.)

I think it is quite common to trigger an "alternative" action when you press a modifier key, e.g. we also allow you to open "to the side" from the explorer when you press Ctrl key while clicking. What is nice about the editor toolbar is that the action icon even changes to indicate the semantics.
I find it hard to argue that the default should be changed. I think you can find many users that prefer the current solution of not opening to the side.

My intuition is the opposite: Most users would prefer the side-by-side action, because that gives them the better editing experience.
What seems to make it harder to discover:

Wouldn't Cmd/Ctrl be the more appropriate modifier, since that is used in browsers for opening a link in a new tab?
The icon only changes when pressing the modifier and mousing over that toolbar item.

Agree with @chrmarti that ctrl would be more appropriate than alt since we use it in the files explorer. Took me quite some time to recognize that this is alt in markdown.

With the setting "window.menuBarVisibility": "toggle", the menu bar will show after "alt+click", it's annoying...

@chrmarti e392265 changes the default action to: open preview to side. I agree this is the more common use case for the preview
Regarding alt vs. ctrl, this seems to be defined by editor. Markdown contributes a toolbar item with an alternate action, but I believe the editor is what determines which key modifier to use to activate this action

Markdown contributes a toolbar item with an alternate action, but I believe the editor is what determines which key modifier to use to activate this action

It's the menu implementation. The reason for using alt and not control is that this allows to show an Alternative action in that place. This is inspired by the mac which changes menus when pressing Alt.


OptionButton fix remove and select

closes https://github.com/godotengine/godot/issues/6558
Added a few features since these are always needed.

Make sure there is always something selected

Always Select next on remove_item
Always Select first on add_item if current is -1

Make sure no duplicate names are allowed (it is optional and disabled by default)
Deselect all now works with select(-1)

Insert at id was not working, solved it by converting -1 to size() and added a sort by item.ID in PopupMenu. It updates item.ID on each sort. Adding an item at < current will increase current by one silently.
Example
func _ready():
	$OptionButton.add_item("0")
	$OptionButton.add_item("1")
	$OptionButton.add_item("2")
	$OptionButton.add_item("3")

	$OptionButton.add_item("0.0",0) # Moves 0 to index 1 and updates current from 0 to 1

Test
extends Control

var option_button
var label_index

func _ready():

	var hb_label = HBoxContainer.new()
	var label = Label.new()
	label.text = "Selected: "
	label_index = Label.new()

	hb_label.add_child(label)
	hb_label.add_child(label_index)

	var vb = VBoxContainer.new()
	var hb = HBoxContainer.new()
	hb.set("custom_constants/separation", 20)

	var add = Button.new()
	var add_custom = Button.new()
	var delete = Button.new()
	var clear = Button.new()
	var select_nothing = Button.new()
	option_button = OptionButton.new()
	#option_button.set_allow_duplicates(false)
	option_button.connect("item_selected",self,"_on_OptionButton_item_selected")
	add()
	add()
	add()
	add()
	add()

	add.text = "Add"
	add_custom.text = "Add Custom"
	delete.text = "Delete"
	clear.text = "Clear"
	select_nothing.text = "Select Nothing"
	add.connect("pressed", self, "add")
	add_custom.connect("pressed", self, "add_custom")
	delete.connect("pressed", self, "delete")
	clear.connect("pressed", self, "clear")
	select_nothing.connect("pressed", self, "select_nothing")

	hb.add_child(add)
	hb.add_child(add_custom)
	hb.add_child(delete)
	hb.add_child(clear)
	hb.add_child(select_nothing)

	vb.add_child(hb)
	vb.add_child(hb_label)
	vb.add_child(option_button)

	add_child(vb)

func add():
	if !option_button.add_item("Element "+str(option_button.get_item_count())):
		print("Already in use: " + str(option_button.get_item_count()))

func add_custom():
	if !option_button.add_item("Custom Element "+str(option_button.get_item_count()), 0): # Try 0,1,2
		print("Already in use: " + str(option_button.get_item_count()))

func delete():
	option_button.remove_item(option_button.get_selected())

func clear():
	option_button.clear()

func select_nothing():
	option_button.select(-1)

func _process(delta):
	label_index.text = str(option_button.get_selected())

func _on_OptionButton_item_selected(ID):
	print("Event: " + str(ID))

Moving to 3.2 milestone as we're about to enter the beta stage and release freeze for Godot 3.1. Only bug fixes against issues of the 3.1 milestone (or enhancements to core features of the 3.1 roadmap) will be considered until 3.1-stable is released.
Note: If it's merged after 3.1-stable is released, this change might be considered for cherry-picking into a later 3.1.x release.

@AlexHolly Is this still desired? If so, it needs to be rebased on the latest master branch.
If not, abandoned pull requests will be closed in the future as announced here.

This PR has not received any new commits for over half a year and is abandoned, closing.


Doesn't seem to create the /login folder during install

I get this error after following the installation instructions and trying to log in using 'admin' 'admin':
POST http://mrpjenkins.wtf.nap/api/login 404 (Not Found)
a @ libs.min.js:486
ea @ libs.min.js:481
$get.g @ libs.min.js:479
l.promise.then.p @ libs.min.js:507
(anonymous function) @ libs.min.js:509
$get.l.$eval @ libs.min.js:519
$get.l.$digest @ libs.min.js:516
$get.l.$apply @ libs.min.js:520
(anonymous function) @ libs.min.js:602
g.event.dispatch @ libs.min.js:92
g.event.add.p.handle @ libs.min.js:86
I know it's something I've done wrong but I can't figure it out.  I've tried creating the folder but that just produces a different error.
Help anyone?

There is no api/login folder, as it is a rewrite for the API. If you're getting a 404, then something is off with either Apache (or nginx) or with your PHP install.
Take a look at #3, #7, and #102 to see if anything in there helps.
I'm going to close this, but please reply if you don't get what you need from previous issues and I'll re-open.


How to use fastmoe on fairseq?

If we want to use fastmoe on fairseq, which parts need to be rewritten?

We have not tried that. If your purpose is to try BASE layers (arxiv 2103.16716), all you need is a new gate module that implements the distribution algorithm in the paper.

all you need is a new gate module that implements the distribution algorithm in the paper.

Thanks, I modified the code of the MLP layer, and the training (Gshard and Naive gate) loss indeed converged faster than the original transformer in the fairseq library.
But, I find whether if I add the gate loss to total loss, the model performance (logPPL in translation) won't change.
[code]:
GateLoss=([layer.MoeMLP.gate.loss for layer in self.encoder.layers],[layer.MoeMLP.gate.loss for layer in self.decoder.layers])
The logPPL and Gate loss curves can be seen in the following pictures.

for p in module.parameters():
setattr(p, "expert", "I'm an expert.")
FairSeq的All-reduce也会跳过专家层。所以给专家参数设置一个"expert"属性就可以进行distributed moe x data parallel 混合并行了。

GShard and Naive gates performs differently, according to my observation. I hear from someone else that the AUX loss is not workign well in every model. Maybe you need to make some changes to the algorithm to make it work?


Sharp doesn't work with vips 8.0.0+

I suspect this is something that Sharp would need to fix, but I'm not entirely clear if this is a problem with Sharp or a problem with image-resizer's integration with Sharp.
I updated vips with brew to the latest version (8.0.2) and afterwards got this error message when starting up the server:
module.js:355
  Module._extensions[extension](this, filename);
                               ^
Error: dlopen(/Users/jgillman/Code/myproject/node_modules/image-resizer/node_modules/sharp/build/Release/sharp.node, 1): Library not loaded: /usr/local/lib/$
ibvips.40.dylib
  Referenced from: /Users/jgillman/Code/myproject/node_modules/image-resizer/node_modules/sharp/build/Release/sharp.node
  Reason: image not found
    at Error (native)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/Users/jgillman/Code/myproject/node_modules/image-resizer/node_modules/sharp/index.js:11:13)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (/Users/jgillman/Code/myproject/node_modules/image-resizer/src/streams/filters/blur.js:3:13)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)

Downgrade vips with brew
For anyone with the same problem, you can install the 7.42.3 version of vips with brew like so:
brew update
brew remove vips
cd /usr/local/Library
git checkout 6fc408b25a Taps/homebrew/homebrew-science/vips.rb
brew install homebrew/science/vips --with-webp --with-graphicsmagick

If you later need to install the most recent version you can reset your change:
brew remove vips
cd /usr/local/Library
git reset HEAD Taps/homebrew/homebrew-science/vips.rb
brew install homebrew/science/vips --with-webp --with-graphicsmagick

For reference, you can always check your vips version with vips --version.
The version you are installing from the code above this commit: https://github.com/Homebrew/homebrew-science/commit/6fc408b25a0c7f0afc4a978b5a1165b28175c629

@jgillman
Sorry for taking a while to respond to this, but I dont believe this is an issue at all. I just ran the library against v8.0.2 with no issues. I suspect that you did you re-install sharp when you upgraded the library. Sharp needs to re-build is c bindings against the new vips and it will fail otherwise.
I just bumped the repo to v1.0.2 to include a newer sharp. If you upgrade I would recommend blowing away your /node_modules and re-installing everything.

Just bumped again, so look for v1.1.0.


pull request for e2e test at 01/21/2017 07:56:16

:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


🐛 [BUG] : Possible bug with auth, check delete user after login with apple.

It's fixed with RN version.It's fixed with RN version.


local report: rename "Demo" to "Slides"

Place where we store all screenshots and nearby comments is not a Demo. Slides describe situation better

feature is available in 7.0.2-SNAPSHOT


Is it possible to export react components to use from native js?

Does it possible?
Using @react annotation doesn't exports definition(and brokes exporting if I've used @JSExportTopLevel annoation)
We trying to develop our components with scala.js but all infrastructure are JSX based and we must to export our components as plain-js components.
Thank you!

Yes, it is! (a bit excited cause this is one of my favorite features of Slinky)
So Slinky components when you define them are Scala objects, but can be converted to regular JS objects through an implicit conversion to the ReactComponentClass type. So for example, you could create a JS object containing your exported Slinky components like this:
js.Dynamic.literal(
  "MyComponent" -> (MyComponent: ReactComponentClass),
  "MyOtherComponent" -> (MyOtherComponent: ReactComponentClass),
  ...
)

and then that object would be what you export out of your Scala.js code with @JSExportTopLevel.

Thank you!
That's great! Slinky made our frontend be frontend without pain!