Migrate from Trust Ray to blockbook

Fixes #954

[x] Add generic EthereumClient interface
[x] Add blockbook/ens/collectible/trustray sub packages
[x] Get token lists
[x] Add Blockbook mock tests

Non-blocker:

[ ] No data field in ContractCall

I think we have to fork blockbook to finish those left TODOs

I think we have to fork blockbook to finish those left TODOs

Forking blockbook is one thing, but running it (together with a node) is more complicated, no?

not really, that's exactly what we did for bitcoin, blockbook (indexer) + rpc node (bitcoind) in one instance

Added token list https://github.com/trustwallet/blockatlas/pull/992/commits/1bf18ab7d708a052c11c529b68792a77236c1e36

I want to test it in non-production environment with iOS app before merging, @EnoRage how to achieve this?

I want to test it in non-production environment with iOS app before merging, @EnoRage how to achieve this?

API provided

I had some issue for TX observer with functions, will need more time to review it

there is an issue with parsing transactions. Example:  block num 8698970
Trust RAY response:

Blockbook:

Transaction:
https://etherscan.io/tx/0x274df9abbb6009b4b08f22e44574e1b1a161eca0b01b7b77976774ab2f7a46b9
Another tx in this block with the same issue:
0x1d041cc3e10a71ef3cf6499c74fe03c1869a7c2b29e1dfed97316c2dcde63144
We need to ensure that TokenTransfer is not contract call type

I think that the best way to check that: Get about 20 transactions from ray and ensure that blockbook will return the same response. We actively use Meta of tx to send notifications: https://github.com/trustwallet/blockatlas/blob/master/pkg/blockatlas/tx.go#L239
So tx.Meta must be set properly

I'm fixing FIO issues, will test block against trust ray later

metadata missing in block api should be fixed, there are some differences from trust ray for token transfer

http://localhost:8420/v1/ethereum/0x11111254369792b2ca5d084ab5eea397ca8fa48b
Can we try to parse contract addresses? It is not working for ray implementation.

Also another exmaple with some strange symbols for USDC:
http://localhost:8420/v1/ethereum/0xde274664ad6ecaf0240501aff7d081fefc8654de

 {
            "id": "0x997b563a12fb10b2347783ee1c48f1557ea323179fd8d5bb34fdca5ea4c96d9d",
            "coin": 60,
            "from": "0xDe274664aD6ECaF0240501AFf7D081fEFC8654De",
            "to": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
            "fee": "156180761014400",
            "date":<PHONE_NUMBER>,
            "block": 9774314,
            "status": "completed",
            "sequence": 28,
            "type": "token_transfer",
            "direction": "outgoing",
            "memo": "",
            "metadata": {
                "name": "USD//C",
                "symbol": "USDC",
                "token_id": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
                "decimals": 6,
                "value": "33507774130",
                "from": "0xDe274664aD6ECaF0240501AFf7D081fEFC8654De",
                "to": "0x69CEE776211DBC37Bf2a9f125f21670536f69359"
            }
        }

didn't get it, we won't add any new features to trust ray
"USD//C" is from the blockbook api, we don't do any formating

didn't get it, we won't add any new features to trust ray
"USD//C" is from the blockbook api, we don't do any formating

Currently there is 500 error for some addresses like 0x11111254369792b2ca5d084ab5eea397ca8fa48b
2. 👌

I reproduced, because of pending txs, let me fix it

"USD//C" is from blockbook api, we don't do any formating

This is ok, as our backend will have correct name for it, we only need list of contracts

Rancher was updated, necessary config endpoint provided

@vikmeup are you ok with @hewigovens answers? If so @hewigovens let's merge it to master, Rancher is ready for that


Add a scroll to filters on the right column

fixed with https://github.com/plouc/thumbor-toy/commit/04637c6b7da9e2d986851aae5e1ab862f009d94c


xds-k8s: Fix the issue with parsing Operation.metadata

What's this PR do?

Solves an issue with unpacking Operation.metadata causing json_format.ParseError due to Can not find message descriptor by type_url: type.googleapis.com/.... The problem was in unpacking Any field with an API-specific message, for which the framework doesn't have (and doesn't need to have) a proto
Improves the readability of the framework.infrastructure.gcp.api.OperationError:

framework.infrastructure.gcp.api.OperationError: networksecurity operation "projects/sergiitk-grpc-gke/locations/global/operations/operation-1634241849307-5ce5594e7b223-0cccc5de-589eef3f" failed.
  code: 3 (INVALID_ARGUMENT)
  message: "Config validation failed"
  details: [
    {
      "@type": "type.googleapis.com/google.rpc.BadRequest",
      "fieldViolations": [
        {
          "field": "resource.authorization_policy",
          "description": "authorizationPolicy must not be set on endpointConfigSelector when type is GRPC_SERVER"
        }
      ]
    }
  ]
  metadata:
    {
      "@type": "type.googleapis.com/google.cloud.networkservices.v1beta1.OperationMetadata",
      "createTime": "2021-10-14T20:04:09.494310751Z",
      "endTime": "2021-10-14T20:04:10.258674021Z",
      "target": "projects/sergiitk-grpc-gke/locations/global/endpointPolicies/ejona-xds-k8s-test-endpoint-policy-dev",
      "verb": "create",
      "requestedCancellation": false,
      "apiVersion": "v1beta1"
    }

How should this be manually tested?
Instantiate OperationError with the response:
{'name': 'projects/sergiitk-grpc-gke/locations/global/operations/operation-1634241849307-5ce5594e7b223-0cccc5de-589eef3f', 'metadata': {'@type': 'type.googleapis.com/google.cloud.networkservices.v1beta1.OperationMetadata', 'createTime': '2021-10-14T20:04:09.494310751Z', 'endTime': '2021-10-14T20:04:10.258674021Z', 'target': 'projects/sergiitk-grpc-gke/locations/global/endpointPolicies/ejona-xds-k8s-test-endpoint-policy-dev', 'verb': 'create', 'requestedCancellation': False, 'apiVersion': 'v1beta1'}, 'done': True, 'error': {'code': 3, 'message': 'Config validation failed', 'details': [{'@type': 'type.googleapis.com/google.rpc.BadRequest', 'fieldViolations': [{'field': 'resource.authorization_policy', 'description': 'authorizationPolicy must not be set on endpointConfigSelector when type is GRPC_SERVER'}]}]}}

What are the relevant tickets?

b/189957957
#27141

test run: https://source.cloud.google.com/results/invocations/6aa32251-f87f-4b63-8117-8ca358415bc0
also cc @gnossen

/easycla


[SPARK-35876][SQL][3.1] ArraysZip should retain field names to avoid being re-written by analyzer/optimizer

What changes were proposed in this pull request?
This PR fixes an issue that field names of structs generated by arrays_zip function could be unexpectedly re-written by analyzer/optimizer.
Here is an example.
val df = sc.parallelize(Seq((Array(1, 2), Array(3, 4)))).toDF("a1", "b1").selectExpr("arrays_zip(a1, b1) as zipped")
df.printSchema
root
 |-- zipped: array (nullable = true)
 |    |-- element: struct (containsNull = false)
 |    |    |-- a1: integer (nullable = true)                                      // OK. a1 is expected name
 |    |    |-- b1: integer (nullable = true)                                      // OK. b1 is expected name

df.explain
== Physical Plan ==
*(1) Project [arrays_zip(_1#3, _2#4) AS zipped#12]               // Not OK. field names are re-written as _1 and _2 respectively

df.write.parquet("/tmp/test.parquet")
val df2 = spark.read.parquet("/tmp/test.parquet")

df2.printSchema
root
 |-- zipped: array (nullable = true)
 |    |-- element: struct (containsNull = true)
 |    |    |-- _1: integer (nullable = true)                                      // Not OK. a1 is expected but got _1
 |    |    |-- _2: integer (nullable = true)                                      // Not OK. b1 is expected but got _2

This issue happens when aliases are eliminated by AliasHelper.replaceAliasButKeepName or AliasHelper.trimNonTopLevelAliases called via analyzer/optimizer
spark/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/optimizer/Optimizer.scala
Line 883 in b89cd8d
upper.map(replaceAliasButKeepName(_, aliases))
spark/sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/analysis/Analyzer.scala
Line 3759 in b89cd8d
val cleanedProjectList = projectList.map(trimNonTopLevelAliases)
I investigated functions which can be affected this issue but I found only arrays_zip so far.
To fix this issue, this PR changes the definition of ArraysZip to retain field names to avoid being re-written by analyzer/optimizer.
Why are the changes needed?
This is apparently a bug.
Does this PR introduce any user-facing change?
No. After this change, the field names are no longer re-written but it should be expected behavior for users.
How was this patch tested?
New tests.

Test build #142694 has started for PR 33810 at commit ff1353e.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47196/

Test build #142695 has started for PR 33810 at commit 5b3fc53.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47197/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47196/

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

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47197/

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

Test build #142694 has finished for PR 33810 at commit ff1353e.

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

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

ping @cloud-fan

Test build #142695 has finished for PR 33810 at commit 5b3fc53.

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

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

Test build #142704 has started for PR 33810 at commit 1cbc87b.

Test build #142704 has finished for PR 33810 at commit 1cbc87b.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

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

Kubernetes integration test unable to build dist.
exiting with code: 1
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47206/

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

Test build #142722 has started for PR 33810 at commit e633591.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47222/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47222/

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

Test build #142728 has started for PR 33810 at commit 8933e2e.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47228/

Test build #142722 has finished for PR 33810 at commit e633591.

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

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

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47228/

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

thanks, merging to 3.1/3.0!

Test build #142728 has finished for PR 33810 at commit 8933e2e.

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

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


fix(focus-trap): not attaching correctly if element is not in the DOM on init

Currently the focus trap attempts to attach itself once on init (e.g. when it is projected inside of an overlay), however in some cases it might not be in the DOM yet. These changes make it so it re-tries to attach itself until it does so successfully.

@jelbourn How are we looking on this one?

You can use amazing time picker (amazing-time-picker) for this purpose, and it is fully compatible with Angular 2-7 and Material design:
https://github.com/owsolutions/amazing-time-picker
Live demo:
https://owsolutions.github.io/amazing-time-picker
Thanks.

@torabian Please do not spam unrelated PRs and issues promoting a project. Further spam will lead to your account being blocked.


Transaction proving stucked while running integration tests.

Integration tests are getting stucked at transaction proving stage.
Logs after running integration test with command
cargo run --bin=integration --features=integration

After a bit of debugging i confirmed that the execution is halted at the proving stage here

We saw your message in the Discord and @mFragaBA did a few tests. What's likely causing the proving to take so long is that you are running the client on debug instead of release. Furthermore, you can utilize the testing flag to speed up account creation (the node should also run using this flag) and the concurrent flag to make use of concurrency in execution and proving, making it even faster. The command should look something like cargo run --release --bin=integration --features=integration,concurrent,testing.The Makefile contains a few make targets for this if you are familiar with it and would prefer using that.

running cargo run --release --bin=integration --features=integration should be enough as integration feature activates testing and concurrent
I saw on discord you were using specific commits. If the above doesn't work it might be worth trying a more recent miden client commit, as the commit mentioned on discord was using an older version of miden crypto and winterfell while the node commit already had the changes for winterfell and miden crypto (both at 0.8.0)

Thanks @igamigo @mFragaBA for the comments, The release flag fixes things out.
Also, I switched to the latest commits for both node and client.


Update encryption.md

The main change is that there is no need to call spp.setPermissions(ap); as the access permission object is already set in the constructor of StandardProtectionPolicy.
The other changes are minor enhancements:

Added ap.setCanExtractContent(false); as another example of protection
Added a few extra comments

Thanks for the contribution


Issue140 model get user

Closes #140

Rebasing should solve the github actions errors

If you want to fix the comments, we could change the database.


sketch-rnn training strange output

Hi,
I'm training a few quickdraw dataset models and this happened:
INFO:tensorflow:best_valid_cost: -0.1457, valid_cost: -0.0727, valid_recon: -0.0727, valid_kl: 0.0000, valid_time_taken: 8.3365
INFO:tensorflow:step: 23020, lr: 0.000109, klw: 0.3450, cost: 0.0214, recon: 0.0214, kl: 0.0000, train_time_taken: 28.0388
INFO:tensorflow:step: 23040, lr: 0.000109, klw: 0.3452, cost: 0.0541, recon: 0.0541, kl: 0.0000, train_time_taken: 28.0359
INFO:tensorflow:step: 23060, lr: 0.000109, klw: 0.3453, cost: 0.1154, recon: 0.1154, kl: 0.0000, train_time_taken: 27.9668
INFO:tensorflow:step: 23080, lr: 0.000108, klw: 0.3455, cost: nan, recon: nan, kl: 0.0000, train_time_taken: 28.0272
INFO:tensorflow:step: 23100, lr: 0.000108, klw: 0.3456, cost: nan, recon: nan, kl: 0.0000, train_time_taken: 27.9840
INFO:tensorflow:step: 23120, lr: 0.000108, klw: 0.3458, cost: nan, recon: nan, kl: 0.0000, train_time_taken: 27.9740

This is training the quickdraw dataset door.npz model.
Is it normal for the cost to go "not a number" ?
I've stopped training for now: should I resume or simply convert the current checkpoints to a .json file and use it ?
As a side question I've noticed training is a bit slow.
I've noticed @hardmaru's answer to a different ticket on changing hparams to trade of accuracy for training speed. I was wondering if there are any plans to change the RNN implementation to CUDA LTSM or similar accelerated implementations ?
Many thanks for the wonderful resources,
George

Hi @hardmaru ,
I have another quick question about resuming:
I if I started with 200K steps, training: step shouldn't go beyond 200K, right ?
Here's output from running sketch_rnn_train with --resume_training True:
INFO:tensorflow:step: 295860, lr: 0.000010, klw: 0.5000, cost: 0.0549, recon: 0.0549, kl: 0.0000, train_time_taken: 7.1699

As far as I can tell, if I pass 200K steps and resume, there is nothing using the model.global_step in comparison relation to hps.num_steps. Shouldn't the train loop be something like for _ in range(global_step,hps.num_steps): ?
If so I will be more than happy to submit a PR, otherwise please advise.
Thank you,
George


Collective AllReduce ops cannot run with variables shared across tasks in between-graph replication

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 16.04
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary): installed by pip install tensorflow-gpu
TensorFlow version (use command below): v2.0.0-rc2-26-g64c3d38 2.0.0
Python version: 3.6
Bazel version (if compiling from source):
GCC/Compiler version (if compiling from source):
CUDA/cuDNN version: CUDA 10.0 and cudnn 7.6
GPU model and memory:   Tesla V100, ~16Gb

Describe the current behavior
The collective ops executor will fail with the following program.
Describe the expected behavior
The expected behavior is that the program should run correctly in a between-graph replication as if the graph does not contain collective ops everything will run correctly.
Code to reproduce the issue
import threading
from multiprocessing import Process

import tensorflow as tf
from tensorflow.core.protobuf import config_pb2
from tensorflow.python import ops
from tensorflow.python.client.session import Session
from tensorflow.python.ops import collective_ops

cluster_spec = {
    "worker": [
        "localhost:14286",
        "localhost:14287"
    ]
}
inputs = [0.1, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1]
group_size = 4
group_key = 1
instance_key = 1
use_nccl = False
num_gpus_per_node = 2

def _configure(group_size):
    gpu_options = config_pb2.GPUOptions(
        visible_device_list='0,1',
        per_process_gpu_memory_fraction=0.7 / (group_size))
    experimental = config_pb2.ConfigProto.Experimental(collective_nccl=use_nccl)
    experimental.collective_group_leader = '/job:worker/replica:0/task:0'
    return config_pb2.ConfigProto(gpu_options=gpu_options, experimental=experimental)

class TFCluster(object):
    def __init__(self, cluster_spec):
        self._cluster_spec = cluster_spec
        self._num_worker = 0
        self._tf_servers = []

    def start(self):
        def server(job_name: str, task_index: int):
            server = tf.distribute.Server(self._cluster_spec,
                                          job_name=job_name,
                                          task_index=task_index,
                                          config=_configure(group_size))
            server.join()

        self._num_worker = len(cluster_spec.get("worker", []))
        assert self._num_worker >= 1
        for i in range(self._num_worker):
            self._tf_servers.append(Process(target=server,
                                            args=("worker", i), daemon=True))
        for proc in self._tf_servers:
            proc.start()

    def stop(self):
        for proc in self._tf_servers:
            proc.terminate()

def between_graph_test():
    def run_between_graph_clients(client_fn, cluster_spec, num_gpus, *args,
                                  **kwargs):
        threads = []
        for task_type in ['chief', 'worker']:
            for task_id in range(len(cluster_spec.get(task_type, []))):
                t = threading.Thread(
                    target=test_reduction,
                    args=(task_type, task_id, num_gpus) + args,
                    kwargs=kwargs)
                t.start()
                threads.append(t)
        for t in threads:
            t.join()

    def test_reduction(task_type,
                       task_id,
                       num_gpus):
        worker_device = "/job:%s/task:%d" % (task_type, task_id)
        master_target = "grpc://" + cluster_spec[task_type][0]
        with ops.Graph().as_default(), Session(target=master_target) as sess:
            collectives = []
            for i in range(num_gpus):
                with ops.device('/job:worker/task:0/device:CPU:0'):  # make sure all use the same variable
                    t = tf.Variable(inputs)
                with ops.device(worker_device + '/device:GPU:' + str(i)):
                    collectives.append(collective_ops.all_reduce(
                        t, group_size, group_key, instance_key, 'Add', 'Div'))
            run_options = config_pb2.RunOptions()
            run_options.experimental.collective_graph_key = 6
            sess.run(tf.compat.v1.global_variables_initializer())
            res_m = sess.run(collectives, options=run_options)
            print(res_m)

    run_between_graph_clients(
        test_reduction,
        cluster_spec,
        num_gpus_per_node)

# launch in-process clusters
cluster = TFCluster(cluster_spec)
cluster.start()

# run between graph execution
between_graph_test()
cluster.stop()

Other info / logs
2019-11-01 18:37:48.066477: I tensorflow/core/distributed_runtime/rpc/grpc_server_lib.cc:365] Started server with target: grpc://localhost:14286
2019-11-01 18:37:48.066556: I tensorflow/core/distributed_runtime/rpc/grpc_server_lib.cc:365] Started server with target: grpc://localhost:14287
2019-11-01 18:37:48.733123: I tensorflow/core/distributed_runtime/base_rendezvous_mgr.cc:161] Skipping rendezvous re-initialization.
2019-11-01 18:37:50.385293: W tensorflow/core/common_runtime/base_collective_executor.cc:216] BaseCollectiveExecutor::StartAbort Aborted: [_Derived_]Cleanup<PHONE_NUMBER>5199527
	 [[{{node CollectiveReduce}}]]
2019-11-01 18:37:50.385319: W tensorflow/core/distributed_runtime/rpc/grpc_worker_service.cc:510] RecvTensor cancelled for<PHONE_NUMBER>5199527
[array([0.1, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1], dtype=float32), array([0.1, 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1], dtype=float32)]
Exception in thread Thread-2:
Traceback (most recent call last):
  File "/home/ubuntu/arion/arion-env/lib/python3.6/site-packages/tensorflow_core/python/client/session.py", line 1365, in _do_call
    return fn(*args)
  File "/home/ubuntu/arion/arion-env/lib/python3.6/site-packages/tensorflow_core/python/client/session.py", line 1350, in _run_fn
    target_list, run_metadata)
  File "/home/ubuntu/arion/arion-env/lib/python3.6/site-packages/tensorflow_core/python/client/session.py", line 1443, in _call_tf_sessionrun
    run_metadata)
tensorflow.python.framework.errors_impl.AbortedError: From /job:worker/replica:0/task:0:
[_Derived_]Cleanup<PHONE_NUMBER>5199527
	 [[{{node CollectiveReduce}}]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/ubuntu/anaconda3/lib/python3.6/threading.py", line 916, in _bootstrap_inner
    self.run()
  File "/home/ubuntu/anaconda3/lib/python3.6/threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
  File "/home/ubuntu/pycharm/examples/allreduce/test_collective.py", line 91, in test_reduction
    res_m = sess.run(collectives, options=run_options)
  File "/home/ubuntu/arion/arion-env/lib/python3.6/site-packages/tensorflow_core/python/client/session.py", line 956, in run
    run_metadata_ptr)
  File "/home/ubuntu/arion/arion-env/lib/python3.6/site-packages/tensorflow_core/python/client/session.py", line 1180, in _run
    feed_dict_tensor, options, run_metadata)
  File "/home/ubuntu/arion/arion-env/lib/python3.6/site-packages/tensorflow_core/python/client/session.py", line 1359, in _do_run
    run_metadata)
  File "/home/ubuntu/arion/arion-env/lib/python3.6/site-packages/tensorflow_core/python/client/session.py", line 1384, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.AbortedError: From /job:worker/replica:0/task:0:
[_Derived_]Cleanup<PHONE_NUMBER>5199527
	 [[node CollectiveReduce (defined at /arion/arion-env/lib/python3.6/site-packages/tensorflow_core/python/framework/ops.py:1751) ]]

Original stack trace for 'CollectiveReduce':
  File "/anaconda3/lib/python3.6/threading.py", line 884, in _bootstrap
    self._bootstrap_inner()
  File "/anaconda3/lib/python3.6/threading.py", line 916, in _bootstrap_inner
    self.run()
  File "/anaconda3/lib/python3.6/threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
  File "/pycharm/examples/allreduce/test_collective.py", line 87, in test_reduction
    t, group_size, group_key, instance_key, 'Add', 'Div'))
  File "/arion/arion-env/lib/python3.6/site-packages/tensorflow_core/python/ops/collective_ops.py", line 58, in all_reduce
    subdiv_offsets=subdiv_offsets)
  File "/arion/arion-env/lib/python3.6/site-packages/tensorflow_core/python/ops/gen_collective_ops.py", line 349, in collective_reduce
    name=name)
  File "/arion/arion-env/lib/python3.6/site-packages/tensorflow_core/python/framework/op_def_library.py", line 793, in _apply_op_helper
    op_def=op_def)
  File "/arion/arion-env/lib/python3.6/site-packages/tensorflow_core/python/util/deprecation.py", line 507, in new_func
    return func(*args, **kwargs)
  File "/arion/arion-env/lib/python3.6/site-packages/tensorflow_core/python/framework/ops.py", line 3360, in create_op
    attrs, op_def, compute_device)
  File "/arion/arion-env/lib/python3.6/site-packages/tensorflow_core/python/framework/ops.py", line 3429, in _create_op_internal
    op_def=op_def)
  File "/arion/arion-env/lib/python3.6/site-packages/tensorflow_core/python/framework/ops.py", line 1751, in __init__
    self._traceback = tf_stack.extract_stack()

I believe this issue is related to https://github.com/tensorflow/tensorflow/issues/33469, where the fix there was to simply lower the log level to avoid repeatedly logging Skipping rendezvous re-initialization.
It seems that the collective executor cannot correctly interpret a shared variable (declared with the same name and device placement string) across two tasks in between-graph replication (as the example shown above).

I hope @dubey can take a look at this issue, thanks!

Thanks! Encountered this issue too. Would it be possible to have a rough ETA on this? Appreciate it.

Is this still an issue with latest tf version 2.2?


(Android) Fix: File path correction if Uri authority is FileProvider

Platforms affected
Android
Motivation and Context
Select some videos or images return path error when Uri authority is FileProvider, then the app restarts.. That's why this bug is not always happening but it can be really annoying.
It's probably fixing the following issues (hard to say some descriptions are rather short): Resolves #573, resolves #531, resolves #548, resolves #554, resolves #558, resolves #563
Description
Checking if Uri authority is FileProvider for MediaStore content then find the URI.
Testing
Tested with most of my user's app and with my Huawei p smart 2019 - Android 10 and with Samsung Galaxy S5.
Checklist

[x] I've run the tests to see all new and existing tests pass
[x] Commit is prefixed with (platform) if this change only applies to one platform (e.g. (android))
[x] If this Pull Request resolves an issue, I linked to the issue in the text above (and used the correct keyword to close issues using keywords)

It looks good, do you know if there is a test app available that shows the reproduction of the original issue?

This PR cannot be accepted if it contains commits from other PRs.
If you need to include other commits for a temporarily workaround, you should branch off first and apply commits there.

Please merge it.  It seems good enough change and the current Android camera is useless.

I used this PR to try if it resolves the issue #554 but the problem is still here.
I ( and other people ) think that is not a problem about uri

Guys, any update about this 🥶?
I've tried @timbru31 fileHelper.java and it doesn't work
Thanks

I fixed with this code:
`
public static String getFilePath(Context context, Uri uri) {
Cursor cursor = null;
final String[] projection = {
  MediaStore.MediaColumns.DISPLAY_NAME
};

try {
  cursor = context.getContentResolver().query(uri, projection, null, null,
    null);
  if (cursor != null && cursor.moveToFirst()) {
    final int index = cursor.getColumnIndexOrThrow(MediaStore.MediaColumns.DISPLAY_NAME);
    return cursor.getString(index);
  }
} finally {
  if (cursor != null)
    cursor.close();
}
return null;

}
..................
  // DownloadsProvider
  else if (isDownloadsDocument(uri)) {
    String fileName = getFilePath(context, uri);
    if (fileName != null) {
      return Environment.getExternalStorageDirectory().toString() + "/Download/" + fileName;
    }

........................
`

Any update on this?

I fixed with this code:
public static String getFilePath(Context context, Uri uri) {

    Cursor cursor = null;
    final String[] projection = {
      MediaStore.MediaColumns.DISPLAY_NAME
    };

    try {
      cursor = context.getContentResolver().query(uri, projection, null, null,
        null);
      if (cursor != null && cursor.moveToFirst()) {
        final int index = cursor.getColumnIndexOrThrow(MediaStore.MediaColumns.DISPLAY_NAME);
        return cursor.getString(index);
      }
    } finally {
      if (cursor != null)
        cursor.close();
    }
    return null;
  }

..................

      // DownloadsProvider
      else if (isDownloadsDocument(uri)) {
        String fileName = getFilePath(context, uri);
        if (fileName != null) {
          return Environment.getExternalStorageDirectory().toString() + "/Download/" + fileName;
        }
........................

Can you share your FileHelper.java file?

@sylber-cz  here is my fileHelper.java
FileHelper[OK].java.zip

@sylber-cz here is my fileHelper.java
FileHelper[OK].java.zip

Thanks Robin, may I ask what version of cordova-plugin-camera are you running? Because I did a quick comparison of your and mine Filehelper.java file, and it seems like they are not equal with each other..
FileHelper.zip


How to create sample data (audio) from wav or MP3 file

Hi,
How can create sample data from wave/mp2 file? I need to pass the audio file path or convert the audio file to the audio sample data (FftSharp.SampleData.SampleAudio1()).
Please guide me or provide some samples where I can convert the audio file to the required sample data array.
Thank you in adabance
Dhan

Hi @dhanajik, this code sample shows you how to read data from a WAV file
https://github.com/swharden/Spectrogram#read-data-from-a-wav-file


Remove ModifyCoins, replace pruneSpent, refactor GetUTXOStats

On top of #415
05293f3cb, 13870b56f and 4ec0d9e79 from Core#10195
Additional changes done in ProcessGetUTXOs (to continue to support BIP64)

utACK


Fix compatibility issues of ndarray.view

Close #1288, close #5427, close #5431.

Jenkins, test this please

Jenkins CI test (for commit cc01c59fa7366ad0e3b4f1c6e98ee86a5caa4650, target branch master) succeeded!


Issues with glide and dependencies

I am working on fixing a few issues in flannel: handling AWS API rate limits, etc.
I need to add a new dependency: github.com/aws/aws-sdk-go/aws/session, but I am having issues with glide. I followed official glide documentation how to add dependencies correctly. When I run glide install after glide get github.com/aws/aws-sdk-go/aws/session, glide downloads a a lot of stuff, it seems to update a lot of dependencies, however github.com/aws/aws-sdk-go/aws/session never gets added. Instead glide adds this:
> find vendor/ -name session.go | grep aws
vendor/k8s.io/kubernetes/vendor/github.com/aws/aws-sdk-go/aws/session/session.go
vendor/github.com/docker/distribution/vendor/github.com/aws/aws-sdk-go/aws/session/session.go

This is my first time using glide for go deps management, but I cannot see what I am doing wrong. Any guidance would certainly help. Thanks!

So in terms of aws/session I figured that out. The current version of aws-sdk-go is pinned to a version which does not have aws/session. But glide still updates lots of other dependencies, because quite a few of them aren't versioned.
Any plans to sort this out?

There are no current plans - feel free submit a PR though.

There are no current plans - feel free submit a PR though.

I think I am slowly working towards that. :-)

Closing as this is just a standard glide problem. It might be worth us pinning more in the glide.yaml, but I have no current plans to do this,


multiple cookie headers should be joined with semicolons

please see https://github.com/kennethreitz/requests/issues/1155#issuecomment-55176733

This should be fixed by https://github.com/shazow/urllib3/pull/534 after we cut a new release of requests.

I apologise, my original statement in #1155 is wrong. Multiple cookie headers shouldn't be joined at all: there is simply no safe way to do that.


Transcode by torrent client

Does the sickbeard_mp4_automator script also start transcoding the content, downloaded directly by qBittorrent or Deluge?

It can but not until downloads are complete but the delugePostProcess and qBitTorrentPostProcess include everything needed for conversion. They don’t do tagging due to lack of metadata. This should be outlined in the readme.


Move hardware signing back into experimental

So it doesn't block the RC release.
We need to address https://github.com/docker/docker/issues/21494 before moving this back into GA.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "hardware-signing-experimental-again" git@github.com:cyli/docker.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "hardware-signing-experimental-again" git@github.com:cyli/docker.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.


Remove deprecation warning in client.rb

Hi Team,
I was wondering if you would consider removing this warning from dalli? We use dalli as a dependency of a dependency. The middle dependency is unlikely to be updated (The PR is here https://github.com/nickelser/suo/pull/21). Would you consider removing this warning? As far as I can tell, there is no harm in leaving this file empty.
I'm not asking you to be forever backwards compatible. Just to remove this one grain of sand from our development environment.
Whatever you decide, thank you for maintaining this gem!

Hi @langsharpe .  I appreciate that you'd like to see that deprecation message removed from your system, and that the suo gem isn't being updated so it's not likely to be fixed properly.  But this is a place where a deprecation warning makes a lot of sense.
There is actually some harm in leaving empty files around for historical reasons. It's one more thing that a contributor or maintainer needs to understand about the project history in order to understand the code's current state.  So I do want to make sure we clean up those things over time.  This deprecation warning let's users of the Dalli gem know that, at some point, this file will disappear (likely with the next major version bump).
So I'm going to close this PR, leaving the deprecation warning in place.  Thanks for the contribution, and I hope you understand my reasoning.


read nodal and elemental tags from MEDIT mesh

The MEDIT mesh format has exactly one int tag for each of its "Vertices" and for each of its elements ("Edges", "Triangles", &c.).  These aren't currently read by meshio.medit_io.read.
The elemental tags in particular are written by Gmsh (-format mesh) and reflect its "physical" tags with option
Mesh.SaveElementTagType=2

This then would answer the question about tagged subsets of elements #290 of @nschloe in #289 about further work on decoding MSH4 #280:

Before this can go anywhere, we have to make a decision on how to use the tag groups in MSH4. I'm not sure about that yet. We used to simply create integer node/element data, but really that's quite ineffective. Perhaps we can do something that is common to MSH4 and Exodus which also has node/element sets. (And another mesh format, perhaps Medit?)

If meshio.read read the elemental tags, it would make MEDIT mesh a competitive format for pygmsh.generate_mesh nschloe/pygmsh#212, particularly as, there being exactly one int tag, it should be possible to read all the elements of each type at once rather than line by line.
A start was made on this in bbc886c in #292 but the latter turns out to have enough complexity of its own so it was reverted.

A comment from #292:

What on Earth does one call the keys in point_data, cell_data['line'], cell_data['triangle'], &c.? I guess this gets back to #175 and #290.

Here I've tried to mimic current (or rather recent, pre #280) behaviour of meshio and used "gmsh:physical" for cell_data despite its absurdity here and then "medit:ref" for point_data. I was never entirely comfortable with "gmsh:physical" but #175 had gone on long enough by the time it was closed with #199; hopefully something will come out of #290.

A start was made on this in bbc886c in #292 but the latter turns out to have enough complexity of its own so it was reverted.

So will you open another PR for this?

I think that this is fixed by #297.

Alright, let's close it then.


REF: Do not import lmfit at the top of scans.

lmfit raises on import in IPython 4.0. Since it's only used in one scan (Center) let's import it in the __init__. I don't usually like this pattern, but this is one time I think it's justified. I'll fix this on the lmfit side shortly.

Seems sensible enough


Docker daemon returns an API internal server errror

What's your CLI version?
0.89.18
Description & steps to reproduce
When working with two enclaves simultaneously, the Docker daemon sometimes stops functioning and returns an API Internal Server Error. This often occurs when running kurtosis run while using kurtosis service ... on another enclave. The same issue arises when using docker commands to interact with the Docker daemon. This occurs on M1 Mac.

The only solution is then to restart the docker daemon, clean all the enclaves and redeploy the stack with kurtosis run but this is quite time-consuming
Desired behavior
Kurtosis commands execute successfully regardless of another kurtosis enclave being in the process of being run.
What is the severity of this bug?
Painful; this is causing significant friction in my workflow.
What area of the product does this pertain to?
CLI: the Command Line Interface

Documenting your issue here @leovct More context in this thread: https://discord.com/channels/783719264308953108/1131048810861314169/1247547114343366757
@barnabasbusa suggested using Orbstack instead of Docker Desktop to get around this problem, I haven't tried out Orbstack myself yet.

Documenting your issue here @leovct More context in this thread: https://discord.com/channels/783719264308953108/1131048810861314169/1247547114343366757
@barnabasbusa suggested using Orbstack instead of Docker Desktop to get around this problem, I haven't tried out Orbstack myself yet.

I think Orbstack could solve this issue. Unfortunately, it doesn't offer x86 simulation like Docker Desktop does so I can't migrate to Orbstack yet...

We are trying to build all the images for dual arch. Which image have you failed to find a native arm image for ?

We are trying to build all the images for dual arch. Which image have you failed to find a native arm image for ?

Sorry, I did not describe the full context. At Polygon, we are also working on our kurtosis package for spinning up CDK infra. Unfortunately, there is no arm build yet for zkEVM prover. This is the main pain point, but that is something I can take a look at.

I'd consider adding arm builder to zkevm prover project then. Native execution is always a lot better anyway. An interim solution could be that you locally build zkevm prover on your arm machine, and kurtosis will pick up the native image (assuming you tagged it the same as the official docker image tag is).


LineChart Is it possible to show tooltips and dots when the users only touch the line

Hi, im currently using LineChart for our company's project. I have problem implementing according to my ui & ux design. Default behaviour is it will show tooltips and dot when we touch every area inside the chart. Is it possible to show tooltips and dots when the users touch only for the line? thank you.

Hi. you mean you don't need to show the below line. correct?


Add the large (Finpar) benchmarks to the automatic test suite

I constantly break the benchmarks because their is no automatic system to yell at me when I do.  For example, they are broken now, and I am not sure when that happened, but it looks like it has something to do with CSE.  They were also broken due to small bugs in range analysis, but I just fixed that.
An alternative is to write some other programs that are just as big and punishing of the compiler optimisations, but I have no idea what they would be.  Maybe some machine learning or crypto thing?

Oh, we did this.


progress hook not called on some videos

hello,
I'm writing a GUI to browse/download some videos (https://github.com/xantares/maxitube) based on yt-dl.
I'm trying to display the progress of the download, but on some videos (from canalplus for example) the progress hook is only called at the end of download (although I can see the curses progress percentage in the console) with the 'finished' state:
http://www.canalplus.fr/c-divertissement/c-le-petit-journal/pid6515-le-petit-journal.html?vid=1206051
whereas on some other sites the progress hook is called with the percentage of progress along with the 'downloading' state:
http://www.goldenmoustache.com/le-lab-la-drogue-arthur-laloux-56283/
any clue ?

This is a bug / missing feature. I'll leave this issue open as a feature request (for hook support in the f4m/hls/rtmp downloader).

seems f4m has code related to progress hook.
is it hls or rtmp ?
do you think it would be easy to implement ?

fixed by https://github.com/rg3/youtube-dl/pull/4973


refactor: optimize the code of angle calculations

Improved computing performance
Superior annotation

Please make sure to label your PR with "bug", "new feature" or "breaking change" label(s).
To prevent this PR from going to the changelog marked it with the "skip changelog" label.

Snapshot stored with reference name:
refs/pull/14519/merge
Test environment:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14519/merge/index.html
To test a playground add it to the URL, for example:
https://babylonsnapshots.z22.web.core.windows.net/refs/pull/14519/merge/index.html#WGZLGJ#4600
Links to test babylon tools with this snapshot:
https://playground.babylonjs.com/?snapshot=refs/pull/14519/merge
https://sandbox.babylonjs.com/?snapshot=refs/pull/14519/merge
https://gui.babylonjs.com/?snapshot=refs/pull/14519/merge
https://nme.babylonjs.com/?snapshot=refs/pull/14519/merge
To test the snapshot in the playground with a playground ID add it after the snapshot query string:
https://playground.babylonjs.com/?snapshot=refs/pull/14519/merge#BCU1XR#0

Awesome!
A small question regarding typing, and a general question - you say the performance is better. how did you test that?

In the case of Vector3, the following operations are reduced:

1 operation of 'Math.sqrt()' in 'normalizeToNew()'
1 division operation in 'normalizeToNew()'
6 times of multiplication in 'normalizeToNew()'
4 function calls

there is still an "any". i'll merge it and fix it later.


mWeb - IOU - Blank page displayed tapping continue from Verify identity page

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Go to staging.new.expensify.com and login
Tap fab and select "Send money"
Proceed the IOU flow  up to verify identity page
Tap " Continue" button

Expected Result:
User is taken to Onfido flow for verification
Actual Result:
Blank page appears
Workaround:
Unknown
Platform:

Where is this issue occurring?

Mobile Web

Version Number: 1.1.17-0
Reproducible in staging?: yes
Reproducible in production?: no
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos:
https://user-images.githubusercontent.com/43996225/143979549-6b18bd0e-d6e4-4ff7-8498-f288938fac2e.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause
Slack conversation:
View all open jobs on GitHub

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

Triggered auto assignment to @francoisl (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

Possible candidate https://github.com/Expensify/App/pull/6454#pullrequestreview-815276478.

Thanks @luacmartins, do you have an idea how we would fix that?
I already have my account verified on staging/prod, so I'm trying to reproduce on dev for now.

I'm not sure if the PR I linked is actually the cause. It's just something that I worked on that could potentially cause this and it was deployed last night. I thought it could be of some help in the search.
I tried reproducing on dev but couldn't. I will try again after lunch.

I can't reproduce either for now on the latest main – maybe it's been fixed by another PR?

Going to try on the commit that's currently on staging.

@francoisl I managed to reproduce on the latest main. The problem was the PR that I linked earlier. I'm putting up the revert.


Updated git commit DetectChanges on account customizations

Not sure if this was intentional.  If so, I would like to learn more. Having changes detected seems to make sense here to update account configurations.

@TroyFluegge  - thank you for your PR. This configuration is intentional. The update of global customizations and account customizations should be done through the invoke-customizations Step Function.
This allows for customers to have many AFT provisioned accounts, and have customizations rolled out to specific accounts whenever they desire.
Please refer to the 'Re-Invoke Customizations' section of the documentation here - https://docs.aws.amazon.com/controltower/latest/userguide/aft-account-customization-options.html


Wiredep and bower components

Hi.
I would like to change  bower_components path and add "/" before url, when wiredep put all .js files into jade template.
I tried to do this in wiredep.js but it does not work.
I would like to chenge from:
// bower:js
script(src='bower_components/jquery/dist/jquery.js')
to:
// bower:js
script(src='/bower_components/jquery/dist/jquery.js')

Hi @pagoad,
Could you post your .yo-rc.json file (located in the root of your project)? That would help me debug this faster.
Thanks!

{
"generator-yeogurt": {
"config": {
"projectName": "Project",
"versionControl": "none",
"useServer": true,
"dbOption": "none",
"singlePageApplication": false,
"htmlOption": "jade",
"jsOption": "browserify",
"cssOption": "less",
"useJsdoc": false,
"useKss": false,
"useTesting": true,
"testFramework": "mocha"
},
"version": "0.14.1"
}
}

By default, all injected javascript and css paths start with a /, so I'm not sure why your wiredep task isn't doing this correctly. This is the piece of code you should see in your grunt/config/util/wiredep.js task:
// Make sure everything has an absolute path (starts with '/')
fileTypes: {
  jade: {
    replace: {
      js: 'script(src=\'/{{filePath}}\')',
      css: 'link(rel=\'stylesheet\', href=\'/{{filePath}}\')'
    }
  }
},

As you can see from the above code snippet, there is a replace object that allows you to change how the paths are injected.
Hopefully this helps. If you have more questions, I would recommend you raise an issue upstream to the grunt-wiredep and/or the wiredep repos themselves.
Closing out.


Unit tests should use different surface inputs for tools

Expected Behavior
As per our conversation today, we realized it would be a good idea to add a TIN as one of the inputs we use for our Linear Line of Sight unit tests.  @mfunk not sure if you want more from me on this one, but assign back to me if you want more.

Current Behavior

Possible Solution

Steps to Reproduce (for bugs)

Context

Your Environment

Version used:
Environment name and version (e.g. Chrome 39, node.js 5.4):
Operating System and version (desktop or mobile):
Link to your project:

Should add TIN, Terrain, Mosaic datasets, Enterprise GDB Raster Datasets and Mosaics in addition to local Raster Datasets.


[docs][draft] NFT rental

Description
Describe the changes or additions included in this PR.
Test Plan
How did you test the new or updated feature?

If your changes are not user-facing and do not break anything, you can skip the following section. Otherwise, please briefly describe what has changed under the Release Notes section.
Type of Change (Check all that apply)

[ ] protocol change
[ ] user-visible impact
[ ] breaking change for a client SDKs
[ ] breaking change for FNs (FN binary must upgrade)
[ ] breaking change for validators or node operators (must upgrade binaries)
[ ] breaking change for on-chain data layout
[ ] necessitate either a data wipe or data migration

Release notes

Until we have an NFT section, I think it fits best as a child to kiosk apps but I wouldn't die on that hill. Open to suggestions for a better fit.

I'm not sure the borrow -> reclaim flow is safe in this example. What would happen if I borrowed an item, then wrapped its Promise and sent it to @0x0? AFAICT, then there's nothing stopping me from keeping the rented item forever. The immediate fix is to not allow the Promise to have store but then you would need to return the rented object within the transaction, which isn't compatible with the idea that you could rent an item for multiple days.
I think the full fix requires storing the active lease for a rentable item in the Kiosk, and allowing the renter to borrow it multiple times, within the period they own the lease for, but requiring that they return it at the end of every transaction.

This is a very good catch, thanks @amnn ! The idea was to borrow the item as long as its being borrowed and it should be borrowed and returned within the same PTB. Since once rented the item is "physically" transfered to the borrowers Kiosk, they can rent it with a promise whenever they would like. The promise isn't meant to exist outside of a PTB. So I believe removing Promise is the way to go here

Thanks for the clarifications @StefPler ! One more follow-up on how this protocol works: If the items is moved to the borrower's Kiosk extension when the rent period starts, how do you guarantee that it gets returned once the lease has expired?

Thanks for the clarifications @StefPler ! One more follow-up on how this protocol works: If the items is moved to the borrower's Kiosk extension when the rent period starts, how do you guarantee that it gets returned once the lease has expired?

When the rental period concludes, the renter can call the 'reclaim' function to retrieve their item from the borrower's bag

Thanks for the clarifications @StefPler ! One more follow-up on how this protocol works: If the items is moved to the borrower's Kiosk extension when the rent period starts, how do you guarantee that it gets returned once the lease has expired?

@amnn For each item, a wrapper object (Rentable) is used that contains the item itself and some metadata that are relevant to the rental. Two of the metadata's fields that assist with this are the duration and the start_date which are checked in the reclaim function. Once the rental duration has elapsed, the owner can claim back their asset directly from the borrower's Kiosk. This does mean that as long as the user doesn't manually reclaim it, the borrower can "benefit" from it. We could add an assertion that prevents the borrower from borrowing if its expired but we kept it in as a positive side effect for the borrower :)
Not sure if we explicitly mention this though

Thanks both, okay that makes sense!

@ronny-mysten, I noticed you requested review from me again -- was that intentional? I reviewed two hours before your request.

@ronny-mysten, I noticed you requested review from me again -- was that intentional? I reviewed two hours before your request.

I think I thought I had addressed your comments so was just looking for an approval.

Thanks for moving this over @StefPler! One big thing I noticed is that the guide is not using Move 2024 yet. Let me add @tnowacki as a reviewer to speak to whether that's an issue or not (for your reference Todd, there's another PR, #16520 for another guide that's in a similar position).

Not sure if I understand the ask here, but yeah, all docs/guides need to be 2024-ified.

Not sure if I understand the ask here, but yeah, all docs/guides need to be 2024-ified.

I disagree @tnowacki. You seem to fully understand the ask :). It's now 2024-ified.


Move log registry to wagtailcore and validate log actions

This PR moves the log registry into wagtailcore and adds validation to make sure log actions are registered at the point of inserting new logs. I've also renamed the registry so that we can have multiple registries for different object types.
This PR:

[x] Move log registry to core
[x] Make log registry specific to pages (so pages can have a different set of actions to images, for example)
[x] Validate log action on save

Future PRs:

Polymorphic log actions (where a wagtail.copy acts as a specific version of wagtail.create)
Grouping logs (Logs that were generated at the same time are linked in the database and displayed as one)
Auto-assign user if log generated in Wagtail admin (in case this is forgotten, or not possible due to the way the view is coded)

Sorry for the mistake, this is ready for another review now!

Merged in 7423d72efe58d38e9a287999940b9b302cac58e4 + parents


Copy over the functionality that is necessary to support line graph from carbon-graphs to terra-graphs

Feature Request
Description

As a developer of terra-graphs, I want to copy over the functionality that is necessary to support line graph from carbon-graphs to terra-graphs
So that line graph can exist solely inside of the terra-graphs package
We'll know we're done when the code is moved over, tests are passing, and the code is merged to main.

As we're doing this work let's keep this in mind: https://github.com/cerner/terra-graphs/issues/44


Document how to create/use local images for testing

Presently README explains that for creating local image for the controller the following command can be used:
docker build -t my-repository/capd-manager:latest .
In order to use this local image, it must be loaded into the kind cluster using kind load command:
kind load docker-image my-custom-image:unique-tag
However, kind documentation warns about not using the latest label:

The Kubernetes default pull policy is IfNotPresent unless the image tag is :latest in which case the default policy is Always. IfNotPresent causes the Kubelet to skip pulling an image if it already exists. If you want those images loaded into node to work as expected, please:
don’t use a :latest tag

CAPD documentation should include this same instructions and don't suggest using latest label.
/documentation

/kind documentation

The alternative here is to upload the image so that it doesn't need to be loaded, but that's pushing the image out only to be pulled locally. It might be a waste of bandwidth but it is easy.
I wonder if there is value in being able to run this offline?

/priority awaiting-more-evidence

/close
timeout


[New game]: WAY_OUT 👾

🎮 Game Request
Game logic and basic description

The door is locked.

Point down the features
Game points
Select program in which you are contributing
GSSoC23
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hey @0xabdulkhalid !
Thank you for raising an issue 💗
You can self assign the issue by commenting /assign in comment 😀
Make sure you follow CODE OF CONDUCT and CONTRIBUTING GUIDELINES 🚀
Don’t Forget to ⭐ our GameZone🎮
Make sure you join our Discord🕹

/assign


Question: gh-pages branch

Hi,
I also on the way to deploy via doxygen the github page.
Question regarding the branch gh-pages.
Is it a copy of the actual main, or does it only contain the docs folder to serve the html stuff?

It will be a separately maintained branch that just has the pages for the static github pages site.
It should get created automatically if you set up your GitHub pages site in the repo settings to point to the gh-pages branch.


Ignore non-existing default icons for FileAttachment annotations (issue 16800)

The FileAttachment annotations in the referenced PDF document have /Graph Name-entries, which is a type that we don't provide a default icon for; see PR #15747.
In that case, since a non-existent icon is explicitly specified, it seems reasonable to fallback to no icon rather than "PushPin" as we currently do.

On second thought, this is probably not entirely correct.
The FileAttachment annotations also have non-standard /CA and /ca entries, and we should probably take those into account when rendering the default icons.


Configure GeoDash not working

Hello,
I am in the Project Dashboard and when I click on the button to configure the geodash, nothing happens. Is this feature still active?

Looks like the project has to be published before setting up this feature? Can we either allow simultaneous set up or hide the button until we can use it in the project management page?

I'm still struggling with the widgets. I just created one, but the new widget specifications don't seem to be saving to the project. When I go to collect information at a new plot, the GeoDash is still empty.

I just pushed a fix for this.  There was an issue with the Geo-Dash not actually being created properly.  It will be updated on the live site soon

Now my Geo-Dash project specifications and edits are saving, however when I go to analyze the plot the Geo-Dash widgets are empty. The test project I have set up is under the US Forest Service Institution, called 'CEO Manual Test Project'.


New Install - Database not populated and API not communicating?

New install on FreeBSD 12.2  jail. I'm not sure if it is a permissions problem or environment variable problem or both or something else altogether, can browse to first page, but nothing populated and /admin and /api get 404's. /browse, /random, /recipes and /news are basically blank besides header and footer. /login shows textboxes and button, but no action. It looks like css and js work, just not API. Logs show no errors or point to anything useful. Database has tables but no sample data (I assumed it had dummy recipes, etc. but none show.) Can anyone point me in a direction? How can I otherwise populate database to troubleshoot in that direction? Is there a schema or dump I can use? I would like to provide documentation to steps I took once completed for everyone's edification.

Go into your database container docker exec -it openeats_db_1 /bin/sb and check that the database is there (SHOW DATABASES;) if the openeats db isn't there, create it (CREATE DATABASE openeats;).
Then go into your api container docker exec -it openeats_api_1 /bin/sh and run:
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser

Then you can populate it with sample data using
python manage.py loaddata course_data.json
python manage.py loaddata cuisine_data.json
python manage.py loaddata news_data.json
python manage.py loaddata recipe_data.json
python manage.py loaddata ing_data.json

And finally restart your docker containers.

The first command doesn't seem to do what I expected:
$ docker exec -it openeats_db_1 /bin/sb
OCI runtime exec failed: exec failed: container_linux.go:367: starting container process caused: exec: "/bin/sb": stat /bin/sb: no such file or directory: unknown

I'm having the same issues. I've been attempting to set up and following directions, the openeats.sql database isn't created. Running quickstart a second time creates an empty openeats.sql (0 bytes).
Starting OpenEats
==================
Taking a database backup (saving as openeats.sql)...
mysqldump: Got error: 1045: "Access denied for user 'root'@'localhost' (using password: YES)" when trying to connect

I can connect to the container with  docker exec -it openeats_db_1 /bin/su, but I can't run the mysql command:
$ /opt/OpenEats# docker exec -it openeats_db_1 /bin/su
root@4ddfb2405f99:/# mysql
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

Any thoughts? I keep erasing everything and staring fresh to get the same issue.

The first command should be /bin/sh. That was a typo from my side.

Updated: Changed mysql to correct command using the standard password
Did you get it working them?

When you get the access denied it is because the password is wrong.

No, I keep trying to erase all the containers and start over to get a db instance with the correct password...
docker stop openeats_web_1 openeats_nginx_1 openeats_api_1 openeats_db_1 ;  docker rm openeats_web_1 openeats_nginx_1 openeats_api_1 openeats_db_1

I clone the repo...
git clone https://github.com/open-eats/OpenEats.git

I create the env_prod.list
# Database config
MYSQL_DATABASE=openeats
MYSQL_ROOT_PASSWORD=root

# Django config
API_URL=<IP_ADDRESS>:8000
API_PORT=8000
DJANGO_SECRET_KEY=sdfsadfas32e98zsdvhhsnz6udvbksjdhfi4galshjfg
DJANGO_SETTINGS_MODULE=base.settings
DJANGO_DEBUG=True
ALLOWED_HOST=myhost.org,<IP_ADDRESS>
HTTP_X_FORWARDED_PROTO=true

# Node config
NODE_ENV=production
NODE_URL=localhost:8080
NODE_API_URL=http://myhost.org:7000
NODE_LOCALE=en

Then creating the docker-prod.override.yml...
version: '2.3'
services:
  nginx:
    ports:
      - "7000:80"
    restart: always
  api:
    restart: always
  web:
    restart: on-failure
  db:
    restart: always

I am then starting everything with ./quick-start.py.
./quick-start.py
==================
Downloading Images
==================
latest: Pulling from openeats/openeats-api
Digest: sha256:7d73944dc653a2781c566055c3ecd5c4d126766e256dc27dbcc36c37fae62b9a
Status: Image is up to date for openeats/openeats-api:latest
docker.io/openeats/openeats-api:latest
latest: Pulling from openeats/openeats-web
Digest: sha256:f49139cd0daa83a3420c7993c080e398c58de327032dbfaf26323ea1b4c17526
Status: Image is up to date for openeats/openeats-web:latest
docker.io/openeats/openeats-web:latest
latest: Pulling from openeats/openeats-nginx
Digest: sha256:d30864b7f37f6ad399d97f00e8f07fcef26256cf4c75facfab6f1c7517a1b117
Status: Image is up to date for openeats/openeats-nginx:latest
docker.io/openeats/openeats-nginx:latest
==================
Starting OpenEats
==================
Creating the DB. This may take a minute...
 Please wait ~30 seconds for the containers to come online.

After this, there is no openeats.sql stat base int he OpenEats folder. I then attempt to start mysql on the db container, as shown in my previous post it fails to connect with the default password of 'root'.
I presume this is why the database is never created, then the backup process creates an empty one when running QuickStart again? Do I have the correct default password?

 Something like docker volume rm openeats_database.
Try and switch mysql image to linuxserver/mariadb.

I was not deleting the volume... I was not aware of volumes, I have more to learn about Docker! :)
Your comment helped and I was able to get into mysql with the default password and create the database. So, now I just have to get the API to talk to the front end...
Thanks!

@rlglenn Did you get the install to work?

@rlglenn Did you get the install to work?

I was able to create the database and populate it, but the API is still a no-go and the website is basically blank.
Also, I'm not using docker if that wasn't clear. This is all on one instance of a BSD jail.

Are you following the guide on running without docker? https://github.com/open-eats/OpenEats/blob/master/docs/Running_the_App_Without_Docker.md
Can you post the instructions you have written to this point so we can try to reproduce and test?
It may also be working and just have no data. Can you navigate to the /admin page?

I did follow the guide, but some things didn't work so I had to improvise, if I recall correctly. The database is populated so the loaddata scripts work, and I could navigate to admin login page, but not log in. I will attempt to recreate since it has been so long since I last tried and will post it all here.

In the best effort to keep diversions to a minimum, I will post what I did to set up, and only go as far as when I started to experience problems:
Jail setup:
Release: 12.2-RELEASE
IPv4 Address = <IP_ADDRESS>/30
Default Router: <IP_ADDRESS>

NAT port forwarding:
Jail Port Number: 80
Host Port Number: 8099

Mount point:
/mnt/<your pool>/<your dataset name>/openeats -> /mnt/<your pool>/iocage/jails/mysql/root/var/db/mysql

Database:
pkg install mariadb105-server
chown -R mysql:mysql /var/db/mysql/

sysrc mysql_enable=yes
service mysql-server start
mysql_secure_installation

Create openeats database

At this point there is no data in the database, of course.
Install software:
pkg install git curl openssl python3 python37 py37-pip openjpeg node14 npm-node14 apache24

In the best effort to keep diversions to a minimum, I will post what I did to set up, and only go as far as when I started to experience problems:
Jail setup
Release: 12.2-RELEASE
IPv4 Address = <IP_ADDRESS>/30
Default Router: <IP_ADDRESS>

NAT port forwarding:
Jail Port Number: 80
Host Port Number: 8099

Mount point:
/mnt/<your pool>/<your dataset name>/openeats -> /mnt/<your pool>/iocage/jails/mysql/root/var/db/mysql

Install Dependencies
pkg install git curl openssl python3 python37 py37-pip openjpeg node14 npm-node14 apache24

Database
pkg install mariadb105-server
chown -R mysql:mysql /var/db/mysql/

sysrc mysql_enable=yes
service mysql-server start
mysql_secure_installation

Create openeats database

At this point there is no data in the database, of course.
Continuing onto Set up the OpenEats-api from https://github.com/open-eats/OpenEats/blob/master/docs/Running_the_App_Without_Docker.md
The MYSQL_ROOT_PASSWORD is confusing
I had to change the group and exec path in /opt/openeats/openeats-api/base/gunicorn_start.sh and add a line to collect the pid.
No systemd so had to setup rc.d script
chmod +x /usr/local/etc/rc.d/openeats
chmod +x /opt/openeats/openeats-api/base/prod-entrypoint.sh
sysrc openeats_enable=yes
service openeats start

Since the (.) command isn't available in csh, use bash
/usr/local/bin/bash
. ./.env
exit

Install the dependecies
<EMAIL_ADDRESS><EMAIL_ADDRESS>After installing above ,when I run /opt/openeats/openeats-web/node_modules/yarn/bin/yarn start I get:
Module build failed: Error: Cannot find module 'node-sass'
error Command failed with exit code 1.
Even tough I followed the steps on Running_the_App_Without_Docker.md. After investigating, I see that node-sass is not installed
# npm list node-sass
<EMAIL_ADDRESS>/opt/openeats/openeats-web
└── (empty)

There is also a warning/err that peer deps ajv, react and fsevents are missing.
So at this point, should I clone node-sass from https://github.com/sass/node-sass.git and try building them again? What about the other 3 deps it is complaining about?
After we answer that, I will go on to posting the apache web config and report what happens then. Keep in mind that this is NAT'ed and the port is forwarded. I can also post config file contents if need be.


setting environment variables in handler.go/handle

	for k, v := range env {
		os.Setenv(k, v)
	}

Is there a specific reason to set event-environment variables for each call?
Since the lambda handler can be called concurrently, is it possible that these can conflict? Or is there a guaranteed clean environment with every new call?
I do not need environment variables in my project, is it possible to give the option to turn this off with a call? For example in init() ?
func init() {

	runtime.HandleFunc(handle)

	runtime.SetEnv(false)
}

So, environment variables are well, ... very tricky in Lambda.
We have to set them with each call because of the underlying official runtime has the same behaviour. Thus, if you go through the code of the official Python or NodeJS interfaces (not officially available but visible inside the Lambda execution environment) , you will see this behaviour.
The reason is pretty simple, you can change Lambda role permissions and then Lambda environment has to regenerate new credentials (tmp key, session, etc) and it can be made at any time.
Moreover, we won't provide any interface (like runtime.SetEnv) because this project should be as closely as possible the same as any official AWS interfaces. The goal here is to provide seamless integration and no (or nearly no) gap for future migration to official interfaces.
PS1: You lambda function is guaranteed to not be called concurrently. This is how Lambda works.
PS2: Trust me you don't even lose a millisecond of execution time because of these env vars (when creating this project we paid attention to 2 things, performance and memory, fanatically).

seems like you are the expert guys here :-)


Remove buttons on toolbar control

Hi,
I need remove this buttons when I click at polyline or polygon.
Have a way to remove this?

Thanks

I think you are looking for the leaflet-draw repository


feat(csharp) language-specification/documentation-comments

This commit implements the full specification of C# about code comments.
This includes:

The 18 official documentation tags of the language, all of them with auto completion and its official descriptions.
Aditionally, writing /// creates a block of comments with description, parameter, return, and example. This is a common behavior in C# IDEs.

I'm adding them to the bottom of the file, so it doesn't spook future new contributors.

I've also added fixes for jsdoc and tsdoc. I will keep reviewing, but for now that should be all.

Added: LuaDoc full specification
Following the current convention of this repository, I've moved lua.json to /lua and created luadoc.json.


Optimization for large mazes

Optimize rendering to prevent flashing effect in large mazes.

Can I work on this Issue?

Go for it!


Fill in more specs for Pupcycler::Upcycler

and also add the concept of a cool down period so that freshly-provisioned servers don't end up in a reboot loop, add some convenience module accessors for upcycler, store, and packet_client.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@7e1daaf). Click here to learn what that means.
The diff coverage is 88.46%.

@@            Coverage Diff            @@
##             master       #5   +/-   ##
=========================================
  Coverage          ?   95.08%
=========================================
  Files             ?        8
  Lines             ?      305
  Branches          ?        0
=========================================
  Hits              ?      290
  Misses            ?       15
  Partials          ?        0

Impacted Files
Coverage Δ

lib/pupcycler/config.rb
100% <ø> (ø)

lib/pupcycler.rb
100% <100%> (ø)

lib/pupcycler/app.rb
94.54% <100%> (ø)

lib/pupcycler/store.rb
97.33% <100%> (ø)

lib/pupcycler/packet_client.rb
100% <100%> (ø)

lib/pupcycler/worker.rb
84.84% <63.63%> (ø)

lib/pupcycler/upcycler.rb
89.79% <90.47%> (ø)

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 7e1daaf...f74a097. Read the comment docs.


Only 3 reflections allowed, stopping.

Issue
What does this mean and how can I change it
Whenever this message shows up my code is messed up
The error above this warning is The LLM did not conform to the edit format.
How about an option if The LLM did not conform to the edit format fall back to a other fallback modal to give it a try.
Version and model info
──────────────────────────────────────────────────────────────────Aider v0.55.0
Main model: claude-3-5-sonnet-20240620 with diff edit format,
infinite output
Weak model: claude-3-haiku-20240307
Git repo: \<IP_ADDRESS>\YonaVmDataShare\Projects\KDSMenu.git
with 51 files
Repo-map: using 1024 tokens, auto refresh
Use /help  for help, run "aider --help" to see cmd line
args

Thanks for trying aider and filing this issue. This doc may be helpful:
https://aider.chat/docs/troubleshooting/edit-errors.html

I'm going to close this issue for now, but feel free to add a comment here and I will re-open. Or feel free to file a new issue any time.

Is it possible to increase the maximum number of reflections?

I had the same issue and dug in a bit, it doesn't look like there is a config we can change but you'd have to change the value in base_coder.py.  I think you can just say "continue what you were doing" or something like that to continue... that's what I went with.  Of course, you can also change the value too.

@honuonhval can you provide a patch ?

What do you mean?  Do you mean patch to configure max reflections in config?  Would it be something that you'd want @paul-gauthier ?

We want this

I thought about this a bit, about what the use case of this feature is. I see two:

User is afk (either intentionally or unexpectedly) and this feature prevents the model for failing for hours and hours emptying the user's wallet in terms of API credits.
History retains all the reflections, all the attempts of fixing the lit errors, filling up the available context and causing the model to effectively "forget" about everything that came before the 30 attempts to fix lint errors, even if attempt 30 was successful, having to re-explain the context of the task to the model seems like a bad outcome that this default of 3 reflections prevents.

If it's true that history management behaves like this (I think it does), then it does make sense to have a lower limit by default such as 3, but users should also be allowed to change this in some ini somewhere, and that ini should ideally mention these considerations.
And even better approach would be to improve history management such that once the lint error is fixed all the reflections are removed from history, making it seem from the model's perspective as if it got it right on the first try, making it so that from it's point of view, no lint errors ever happened.
That would leave only the first consideration to worry about. But for that use case, maximum of 3 seems unreasonable unless user is using o1 as the editor model, where each reflection could easily cost the user $1. While this could be adjusted to differ per-model, wouldn't a better solution be to not stop at 3 reflections, but simply pause and ask the user if he wants to continue trying? Maybe even allow the user to input the maximum number of reflections he'll allow.


Notebook controller always defaulting to Pyolite with the new MRU kernel picker

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version:  Latest Insiders 1.75
OS Version:  Mac

Steps to Reproduce:

Install VSCode insiders
Install Julia , pyolite, Jupyter pre-release & python pre-release extension
Ensure MRU is used as the kernel picker
Create a new workspace folder and a new ipynb file with a name such as helo_world1234.ipynb
The kernel that is selected is pyolite
Create a new cell and run the cell and there is no prompt to select a kernel (proving the fact that pyolite is somehow selected by VS Code as the default kernel)

Expected experience - as a user I would be required to select a kernel

@rebornix I'm still running into this issue and so is @amunger

after updating I'm no longer hitting this

My scenario:

Create a venv
Use that venv as the kernel
Delete that venv
Refresh interpreters
At some point after reloading vscode or reopening the notebook, the pyolite kernel is selected

Open notebook a.ipnb
Run cell and in the prompt select kernel .venv (no idea why i need to select one when i had already selected this, doesnt matter, we can repro this again)
Wait for cell to complete
Close notebook
Re-load VS Code
Open notebook a.ipynb again
No kernel is selected, I get Select Kernel for this file.

First output
[KernelDetection] start extension activation for jupyter-notebook
[NotebookEditorWidget] warmup file:///Users/donjayamanne/crap/misc/a.ipynb
[NotebookEditorWidget] warmup - webview resolved
[NotebookEditorWidget] warmup - viewport warmed up
[NotebookEditorWidget] warmup - list view model attached, set to visible
[KernelDetection] finish extension activation for jupyter-notebook
[History] getMatchingKernels: 90 kernels available for /Users/donjayamanne/crap/misc/a.ipynb. Selected: undefined. Suggested: undefined
[History] mru: 5 kernels in history, 4 registered already.
[History] getMatchingKernels: 90 kernels available for /Users/donjayamanne/crap/misc/a.ipynb. Selected: undefined. Suggested: undefined
[History] mru: 5 kernels in history, 4 registered already.
[History] getMatchingKernels: 90 kernels available for /Users/donjayamanne/crap/misc/a.ipynb. Selected: undefined. Suggested: undefined
[History] mru: 5 kernels in history, 4 registered already.
[History] getMatchingKernels: 90 kernels available for /Users/donjayamanne/crap/misc/a.ipynb. Selected: undefined. Suggested: undefined
[History] mru: 5 kernels in history, 4 registered already.
[History] getMatchingKernels: 90 kernels available for /Users/donjayamanne/crap/misc/a.ipynb. Selected: undefined. Suggested: undefined
[History] mru: 5 kernels in history, 4 registered already.
[History] getMatchingKernels: 90 kernels available for /Users/donjayamanne/crap/misc/a.ipynb. Selected: undefined. Suggested: undefined
[History] mru: 5 kernels in history, 4 registered already.
[History] getMatchingKernels: 90 kernels available for /Users/donjayamanne/crap/misc/a.ipynb. Selected: .venv (Python 3.9.15). Suggested: undefined
[History] mru: 5 kernels in history, 4 registered already.
[History] getMatchingKernels: 90 kernels available for /Users/donjayamanne/crap/misc/a.ipynb. Selected: .venv (Python 3.9.15). Suggested: undefined
[History] mru: 5 kernels in history, 4 registered already.
[History] getMatchingKernels: 90 kernels available for /Users/donjayamanne/crap/misc/a.ipynb. Selected: .venv (Python 3.9.15). Suggested: undefined
[History] mru: 5 kernels in history, 4 registered already.
[History] getMatchingKernels: 90 kernels available for /Users/donjayamanne/crap/misc/a.ipynb. Selected: .venv (Python 3.9.15). Suggested: undefined
[History] mru: 5 kernels in history, 4 registered already.
[History] getMatchingKernels: 90 kernels available for /Users/donjayamanne/crap/misc/a.ipynb. Selected: .venv (Python 3.9.15). Suggested: undefined
[History] mru: 5 kernels in history, 4 registered already.
[History] getMatchingKernels: 90 kernels available for /Users/donjayamanne/crap/misc/a.ipynb. Selected: .venv (Python 3.9.15). Suggested: undefined
[History] mru: 5 kernels in history, 4 registered already.
[History] getMatchingKernels: 90 kernels available for /Users/donjayamanne/crap/misc/a.ipynb. Selected: .venv (Python 3.9.15). Suggested: undefined
[History] mru: 5 kernels in history, 4 registered already.
[History] getMatchingKernels: 90 kernels available for /Users/donjayamanne/crap/misc/a.ipynb. Selected: .venv (Python 3.9.15). Suggested: undefined
[History] mru: 5 kernels in history, 4 registered already.
[History] getMatchingKernels: 90 kernels available for /Users/donjayamanne/crap/misc/a.ipynb. Selected: .venv (Python 3.9.15). Suggested: undefined
[History] mru: 5 kernels in history, 4 registered already.

Second reload (kernel is not auto selected)
[KernelDetection] start extension activation for jupyter-notebook
[NotebookEditorWidget] warmup file:///Users/donjayamanne/crap/misc/a.ipynb
[NotebookEditorWidget] warmup - webview resolved
[NotebookEditorWidget] warmup - viewport warmed up
[NotebookEditorWidget] warmup - list view model attached, set to visible
[KernelDetection] finish extension activation for jupyter-notebook
[History] getMatchingKernels: 90 kernels available for /Users/donjayamanne/crap/misc/a.ipynb. Selected: undefined. Suggested: undefined
[History] mru: 5 kernels in history, 4 registered already.
[History] getMatchingKernels: 90 kernels available for /Users/donjayamanne/crap/misc/a.ipynb. Selected: undefined. Suggested: undefined
[History] mru: 5 kernels in history, 4 registered already.

This bug has been fixed in the latest release of VS Code Insiders!
@DonJayamanne, you can help us out by commenting /verified if things are now working as expected.
If things still don't seem right, please ensure you're on version 07d6f5b35fac559504dec65e3073d796b2d25a55 of Insiders (today's or later - you can use Help: About in the command palette to check), and leave a comment letting us know what isn't working as expected.
Happy Coding!

Still running into this.

Open notebook select kernel
Run a cell
Close notebook
Reload vscode
Open the notebook and we have Select Kernel displayed

Here is the Notebook logs
[KernelDetection] start extension activation for jupyter-notebook
[NotebookEditorWidget] warmup file:///Users/donjayamanne/crap/misc/a.ipynb
[NotebookEditorWidget] warmup - webview resolved
[NotebookEditorWidget] warmup - viewport warmed up
[NotebookEditorWidget] warmup - list view model attached, set to visible
[KernelDetection] finish extension activation for jupyter-notebook
[History] getMatchingKernels: 91 kernels available for /Users/donjayamanne/crap/misc/a.ipynb. Selected: undefined. Suggested: undefined
[History] mru: 5 kernels in history, 4 registered already.
[History] getMatchingKernels: 91 kernels available for /Users/donjayamanne/crap/misc/a.ipynb. Selected: undefined. Suggested: undefined
[History] mru: 5 kernels in history, 4 registered already.

Yes the controllers have been created and regsietered
here are the jupyter logs confirming the fact that the controllers are registered
debug 12:51:07.659: Creating notebook controller for startUsingPythonInterpreter & view jupyter-notebook (id='.jvsc74a57bd08d5ba0844302807eb036461f209c43f4b480158b851d7a5b69faf22bf4995b18./Users/donjayamanne/crap/.venv/python./Users/donjayamanne/crap/.venv/python.-m#ipykernel_launcher') with name '.venv (Python 3.9.15)'
debug 12:51:07.660: Creating notebook controller for startUsingPythonInterpreter & view interactive (id='.jvsc74a57bd08d5ba0844302807eb036461f209c43f4b480158b851d7a5b69faf22bf4995b18./Users/donjayamanne/crap/.venv/python./Users/donjayamanne/crap/.venv/python.-m#ipykernel_launcher') with name '.venv (Python 3.9.15)'

Create a new ipynb file on disc
We see Select Kernel
Type into the cell and then automatically Pyolite is selected as the active kernel

@DonJayamanne and I debugged together, and here are our findings. Basically it's a race condition but it should be prevented.

With https://github.com/microsoft/vscode/commit/1fabb1921a16b21f0acac915c5bbd0b00e51ec1d, everyone a notebook is closed, the selected kernel is removed from notebook binding. This means we are no longer saving the selected kernel to storage.
The selected kernel is stored in editor view state
When we open a notebook, we will restore kernel from view state. If the kernel is not registered yet, then it skips this step.

In @DonJayamanne 's case, he has 90+ kernels, registering them takes long time. When reloading the window, the editor tries to restore the kernel, but can't find a matching kernel, thus it skips restoring the selected kernel.
I guess removing selected kernel from notebook binding for all notebooks is not expected from the commit title "Keep selected kernel from untitled notebook when saving".

I hardly remember this change at all but I'll take a look!

I think the change you're referring to is for

Also fix caching the previously selected kernel for Untitled-1 after saving it

Basically, remove the notebook binding for the untitled document when it's closed when saving and switching to the new saved notebook. I think this should be ok, it's treating the notebookBindings list as active notebook bindings.

everyone a notebook is closed, the selected kernel is removed from notebook binding. This means we are no longer saving the selected kernel to storage.
I'm actually not seeing that- I see that when I close a notebook, first the NotebookEditorWidget gets its editor view state which includes the selected kernel id, then second, we close the notebook textmodel and fire the event that it was closed, and the kernel service removes the kernel from this._notebookBindings.

When we open a notebook, we will restore kernel from view state. If the kernel is not registered yet, then it skips this step.

This is an issue and I can repro it with my kernels if I do this

Open notebook, select kernel
Close notebook
Reload window
Reopen same notebook: sometimes, view state restore happens before kernels are done registering, and so the previous kernel is not selected

I suggest letting the view state restore set the previous kernel id into this._notebookBindings even before that kernel exists. When the kernel is registered, it will be set up correctly.
Looking over the code, I'm not sure whether it will be an issue somewhere for this._notebookBindings to have a binding to a kernel that does not exist? I think it's ok?

@DonJayamanne can you verify this?


[AutoRelease] t2-computefleet-2024-07-23-16018(can only be merged by SDK owner)

https://github.com/Azure/sdk-release-request/issues/5257
Recording test success
https://dev.azure.com/azure-sdk/internal/_build?definitionId=7101

issue link:https://github.com/Azure/sdk-release-request/issues/5257


Fails to build on nixos

Hi I am trying to install this and whenever I go to rebuild me system Hyprpanel fails to build giving the following error.
On unstable for the record and here is my flake https://gist.github.com/ShadowReaper420/93bdd068d7c76dffbaed0496d83bb696 relevant lines 46, 47, 84 and 85
┏━ 1 Errors:
┃ error: builder for '/nix/store/bf2akzyhaiqs8p1f6wlriipqr42130cp-hyprpanel-latest.drv' failed with exit code 1;
┃        last 9 log lines:
┃        > Running phase: unpackPhase
┃        > unpacking source archive /nix/store/r589fqrcb7xcc2v9q95dxcrxw7cmjp0q-dwxykhj6pg1bgwlp6lq0lp2ldf484z5n-source
┃        > source root is dwxykhj6pg1bgwlp6lq0lp2ldf484z5n-source
┃        > Running phase: patchPhase
┃        > Running phase: updateAutotoolsGnuConfigScriptsPhase
┃        > Running phase: configurePhase
┃        > no configure script, doing nothing
┃        > Running phase: buildPhase
┃        > error: ModuleNotFound resolving "./main.ts" (entry point)
┃        For full logs, run 'nix log /nix/store/bf2akzyhaiqs8p1f6wlriipqr42130cp-hyprpanel-latest.drv'.

Also here is the nix log.
Location:
   src/commands.rs:151
flugel@nixos:~/ > nix log /nix/store/bf2akzyhaiqs8p1f6wlriipqr42130cp-hyprpanel-latest.drv
warning: The interpretation of store paths arguments ending in `.drv` recently changed. If this command is now failing try again with '/nix/store/bf2akzyhaiqs8p1f6wlriipqr42130cp-hyprpanel-latest.drv^*'
Running phase: unpackPhase
@nix { "action": "setPhase", "phase": "unpackPhase" }
unpacking source archive /nix/store/r589fqrcb7xcc2v9q95dxcrxw7cmjp0q-dwxykhj6pg1bgwlp6lq0lp2ldf484z5n-source
source root is dwxykhj6pg1bgwlp6lq0lp2ldf484z5n-source
Running phase: patchPhase
@nix { "action": "setPhase", "phase": "patchPhase" }
Running phase: updateAutotoolsGnuConfigScriptsPhase
@nix { "action": "setPhase", "phase": "updateAutotoolsGnuConfigScriptsPhase" }
Running phase: configurePhase
@nix { "action": "setPhase", "phase": "configurePhase" }
no configure script, doing nothing
Running phase: buildPhase
@nix { "action": "setPhase", "phase": "buildPhase" }
error: ModuleNotFound resolving "./main.ts" (entry point)

The nix config is being updated super soon. It was the only thing pending after the update.

Guess I pick an amazing time to try it out then lol.

It's merged, you should be good if you run
nix flake update


Individual Figures

Is there a way in E3SM-Diags to have the individual subplots printed out individually for the comparison plots?  For example, a typical output figure has three panels, 1)  Model, 2) Observed, 3) Difference.  I always want to take a few of these figures and include them in presentations or papers, but not necessarily in the same template as the standard output.  I end up making three copies and then cropping out the individual pieces myself, but if it is possible to get all three figures individually that would be awesome and save me a lot of time.

@AaronDonahue : unfortunately this is currently not supported. But I agree with you that it would be very useful. I often end-up having to crop to extract individual panels.
I'm trying to think how best we could implement this feature:

Add an option to additionally save individual panel plots in separate files. Relatively simple to implement, but somewhat wasteful because we would generate plots multiple times.
Always save as separate plot files. Cleaner, but it would break the html viewer (which is not that easy to fix since the person who wrote it is no longer here).

Any suggestions on how you would like to see it implemented?

Maybe this would be the most elegant solution:
https://stackoverflow.com/questions/4325733/save-a-subplot-in-matplotlib

This is somewhat of an aside, but I've been using pieces of the underlying e3sm_diags code lately to generate graphics I want. I can create and save individual panels that way, but the figsize dimension is used in a hardcoded way which can't easily be changed (so I still end up cropping white space from my 1-panel plot).

Yes, I made the decision earlier on to hard code figure sizes and subplots location. It's not ideal, but it was the best solution I could find to guarantee that each panels would always be exactly at the same location on every single plot. I didn't like the AMWG feature in which subplots change size and location depending things like the length of the experiment name.

Roger that. Having extra white space is a small price to pay for not having figures overwriting each other and doing strange things.

@AaronDonahue, new feature to save individual panel plots has been implemented in PR https://github.com/E3SM-Project/acme_diags/pull/169.
Waiting on @zshaheen to check code and merge to master.

Everything looks great, Chris' additions are now in master. As Chris stated, the PR explains how to use the new parameter.
To create an env to use the latest code on master, please read this.

@zshaheen and @golaz , awesome thanks!  I'll check it out.

If there are any issues, please feel free to open this issue again.


Add a heapsize_derive crate based on Macros 1.1

r? @Manishearth

This doesn't seem to ignore #[ignore_heap_size_of] attributes? Looks ok otherwise.

Good point, I'll add that.

Thanks for the comments @dtolnay, I think I addressed everything.

@bors-servo r=Manishearth,nox

:pushpin: Commit b8580f7 has been approved by Manishearth,nox

:zap: Test exempted - status


[UI]Redesign Sign-Up and Sign-In Pages to Fix Overflow and Improve Layout

Description
Redesign Sign-Up and Sign-In Pages to Fix Overflow and Improve Layout (Potentially including navbar at the top for easier navigation, if it fits the design)
Current Behavior
The current layout of both the sign-up and sign-in pages overflows beyond the visible screen, resulting in a poor user experience.
Screenshots

Proposed Changes:

Fix the layout so the sign-up and sign-in pages fit properly within the visible screen without overflow.
Ensure the pages are responsive across various screen sizes .
Improve the visual design for consistency and a modern appearance.
Potentially include a navbar at the top for easier navigation, if it fits the design.

Impact
This change will improve usability by ensuring that all elements of the sign-up and sign-in pages are visible on any screen size, eliminating the need for horizontal scrolling. It will also enhance accessibility and visual appeal, making the design more user-friendly and consistent with the overall theme of the system.
Kindly assign this issue to me and add the appropriate labels.

@rashmibarodiya
Go for it


Removing plug '' statements?

VAM somehow allows to write VAMActivate PLUGIN_NAME PLUGIN_NAME ... in vimrc.
I find the Plug 'PLUGIN_NAME' tedious to write for every plugin I test out and it would be nicer to be able to just paste the github link and be done with it.

That can be done with a helper command. You may or may not want to plug#begin and plug#end in it.
function! s:plugs(args)
  call plug#begin()
  for arg in split(a:args)
    Plug arg
  endfor
  call plug#end()
endfunction
command! -nargs=+ Plugs call s:plugs(<q-args>)

Thanks, great stuff.