Support Cloudflare R2 for object store check-pointing

Cloudflare R2 is cheaper than S3 (no egress fees) and is very easy to use.
It is fully S3 compatible, so it should be possible to just use the S3 object store logger (if I can specify the Cloudflare endpoint)

Hi @vedantroy -- In fact, you already can specify the endpoint URL for Cloudflare R2:
endpoint_url (str, optional): The URL to an S3-Compatible object store. Must be specified if using something
            other than Amazon S3, like Google Cloud Storage. Defaults to None.`\

Using this option, I believe you can initialize your S3ObjectStore object like this:
train_remote = S3ObjectStore(
    endpoint_url="https://<ACCOUNT_ID>.r2.cloudflarestorage.com"
    bucket=s3_bucket_name,
    prefix=bucket_prefix + '/train',
)

This is supported in the current version of Composer. Please give this a try and confirm whether it works for you!

@kobindra
contrastive_train-contrastive_train-1  | Traceback (most recent call last):
contrastive_train-contrastive_train-1  |
contrastive_train-contrastive_train-1  |   File "contrastive_train.py", line 63, in <module>
contrastive_train-contrastive_train-1  |     app()
contrastive_train-contrastive_train-1  |
contrastive_train-contrastive_train-1  |   File "contrastive_train.py", line 52, in train
contrastive_train-contrastive_train-1  |     run_trainer(
contrastive_train-contrastive_train-1  |
contrastive_train-contrastive_train-1  |   File "/app/util/run.py", line 19, in run_trainer
contrastive_train-contrastive_train-1  |     trainer = make_trainer(
contrastive_train-contrastive_train-1  |
contrastive_train-contrastive_train-1  |   File "/app/trainer/trainer.py", line 127, in make_trainer
contrastive_train-contrastive_train-1  |     return Trainer(
contrastive_train-contrastive_train-1  |
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/composer/trainer/trainer.py", line 918, in __init__
contrastive_train-contrastive_train-1  |     self.engine.run_event(Event.INIT)
contrastive_train-contrastive_train-1  |
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/composer/core/engine.py", line 235, in run_event
contrastive_train-contrastive_train-1  |     self._run_callbacks(event)
contrastive_train-contrastive_train-1  |
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/composer/core/engine.py", line 414, in _run_callbacks
contrastive_train-contrastive_train-1  |     cb.run_event(event, self.state, self.logger)
contrastive_train-contrastive_train-1  |
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/composer/core/callback.py", line 96, in run_event
contrastive_train-contrastive_train-1  |     return event_cb(state, logger)
contrastive_train-contrastive_train-1  |
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/composer/loggers/object_store_logger.py", line 271, in init
contrastive_train-contrastive_train-1  |     retry(ObjectStoreTransientError,
contrastive_train-contrastive_train-1  |
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/composer/utils/retrying.py", line 87, in new_func
contrastive_train-contrastive_train-1  |     return func(*args, **kwargs)
contrastive_train-contrastive_train-1  |
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/composer/loggers/object_store_logger.py", line 272, in <lambda>
contrastive_train-contrastive_train-1  |     self.num_attempts)(lambda: _validate_credentials(self.object_store, object_name_to_test))()
contrastive_train-contrastive_train-1  |
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/composer/loggers/object_store_logger.py", line 254, in object_store
contrastive_train-contrastive_train-1  |     self._object_store = _build_object_store(self.object_store_cls, self.object_store_kwargs)
contrastive_train-contrastive_train-1  |
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/composer/loggers/object_store_logger.py", line 40, in _build_object_store
contrastive_train-contrastive_train-1  |     return object_store_cls(**object_store_kwargs)  # type: ignore
contrastive_train-contrastive_train-1  |
contrastive_train-contrastive_train-1  | TypeError: __init__() got an unexpected keyword argument 'bucket_name'

oh, it's bucket not bucket_name

@kobindra Is there a way to specify the folder name for the checkpoints. for example, I don't really want it to be "some random integer + a word", I would much prefer it if I could specify the folder name to some meaningful id

Hi @vedantroy , yes you can provide the save_folder argument for the Trainer. For more details on checkpointing, see our guide here: https://docs.mosaicml.com/en/v0.9.0/trainer/checkpointing.html, and let me know if anything there is unclear or confusing!

Doesn't work, see:
contrastive_train-contrastive_train-1  | Traceback (most recent call last):
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/boto3/s3/transfer.py", line 288, in upload_file
contrastive_train-contrastive_train-1  |     future.result()
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/s3transfer/futures.py", line 103, in result
contrastive_train-contrastive_train-1  |     return self._coordinator.result()
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/s3transfer/futures.py", line 266, in result
contrastive_train-contrastive_train-1  |     raise self._exception
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/httpsession.py", line 448, in send
contrastive_train-contrastive_train-1  |     urllib_response = conn.urlopen(
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/urllib3/connectionpool.py", line 703, in urlopen
contrastive_train-contrastive_train-1  |     httplib_response = self._make_request(
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/urllib3/connectionpool.py", line 398, in _make_request
contrastive_train-contrastive_train-1  |     conn.request(method, url, **httplib_request_kw)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/urllib3/connection.py", line 239, in request
contrastive_train-contrastive_train-1  |     super(HTTPConnection, self).request(method, url, body=body, headers=headers)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/http/client.py", line 1256, in request
contrastive_train-contrastive_train-1  |     self._send_request(method, url, body, headers, encode_chunked)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/awsrequest.py", line 94, in _send_request
contrastive_train-contrastive_train-1  |     rval = super()._send_request(
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/http/client.py", line 1302, in _send_request
contrastive_train-contrastive_train-1  |     self.endheaders(body, encode_chunked=encode_chunked)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/http/client.py", line 1251, in endheaders
contrastive_train-contrastive_train-1  |     self._send_output(message_body, encode_chunked=encode_chunked)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/awsrequest.py", line 130, in _send_output
contrastive_train-contrastive_train-1  |     self._handle_expect_response(message_body)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/awsrequest.py", line 176, in _handle_expect_response
contrastive_train-contrastive_train-1  |     self._send_message_body(message_body)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/awsrequest.py", line 209, in _send_message_body
contrastive_train-contrastive_train-1  |     self.send(message_body)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/awsrequest.py", line 218, in send
contrastive_train-contrastive_train-1  |     return super().send(str)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/http/client.py", line 964, in send
contrastive_train-contrastive_train-1  |     datablock = data.read(self.blocksize)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/s3transfer/utils.py", line 511, in read
contrastive_train-contrastive_train-1  |     data = self._fileobj.read(amount_to_read)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/s3transfer/upload.py", line 90, in read
contrastive_train-contrastive_train-1  |     raise self._transfer_coordinator.exception
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/httpsession.py", line 448, in send
contrastive_train-contrastive_train-1  |     urllib_response = conn.urlopen(
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/urllib3/connectionpool.py", line 703, in urlopen
contrastive_train-contrastive_train-1  |     httplib_response = self._make_request(
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/urllib3/connectionpool.py", line 398, in _make_request
contrastive_train-contrastive_train-1  |     conn.request(method, url, **httplib_request_kw)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/urllib3/connection.py", line 239, in request
contrastive_train-contrastive_train-1  |     super(HTTPConnection, self).request(method, url, body=body, headers=headers)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/http/client.py", line 1256, in request
contrastive_train-contrastive_train-1  |     self._send_request(method, url, body, headers, encode_chunked)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/awsrequest.py", line 94, in _send_request
contrastive_train-contrastive_train-1  |     rval = super()._send_request(
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/http/client.py", line 1302, in _send_request
contrastive_train-contrastive_train-1  |     self.endheaders(body, encode_chunked=encode_chunked)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/http/client.py", line 1251, in endheaders
contrastive_train-contrastive_train-1  |     self._send_output(message_body, encode_chunked=encode_chunked)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/awsrequest.py", line 130, in _send_output
contrastive_train-contrastive_train-1  |     self._handle_expect_response(message_body)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/awsrequest.py", line 176, in _handle_expect_response
contrastive_train-contrastive_train-1  |     self._send_message_body(message_body)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/awsrequest.py", line 209, in _send_message_body
contrastive_train-contrastive_train-1  |     self.send(message_body)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/awsrequest.py", line 218, in send
contrastive_train-contrastive_train-1  |     return super().send(str)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/http/client.py", line 964, in send
contrastive_train-contrastive_train-1  |     datablock = data.read(self.blocksize)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/s3transfer/utils.py", line 511, in read
contrastive_train-contrastive_train-1  |     data = self._fileobj.read(amount_to_read)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/s3transfer/upload.py", line 90, in read
contrastive_train-contrastive_train-1  |     raise self._transfer_coordinator.exception
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/httpsession.py", line 448, in send
contrastive_train-contrastive_train-1  |     urllib_response = conn.urlopen(
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/urllib3/connectionpool.py", line 703, in urlopen
contrastive_train-contrastive_train-1  |     httplib_response = self._make_request(
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/urllib3/connectionpool.py", line 398, in _make_request
contrastive_train-contrastive_train-1  |     conn.request(method, url, **httplib_request_kw)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/urllib3/connection.py", line 239, in request
contrastive_train-contrastive_train-1  |     super(HTTPConnection, self).request(method, url, body=body, headers=headers)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/http/client.py", line 1256, in request
contrastive_train-contrastive_train-1  |     self._send_request(method, url, body, headers, encode_chunked)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/awsrequest.py", line 94, in _send_request
contrastive_train-contrastive_train-1  |     rval = super()._send_request(
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/http/client.py", line 1302, in _send_request
contrastive_train-contrastive_train-1  |     self.endheaders(body, encode_chunked=encode_chunked)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/http/client.py", line 1251, in endheaders
contrastive_train-contrastive_train-1  |     self._send_output(message_body, encode_chunked=encode_chunked)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/awsrequest.py", line 130, in _send_output
contrastive_train-contrastive_train-1  |     self._handle_expect_response(message_body)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/awsrequest.py", line 176, in _handle_expect_response
contrastive_train-contrastive_train-1  |     self._send_message_body(message_body)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/awsrequest.py", line 209, in _send_message_body
contrastive_train-contrastive_train-1  |     self.send(message_body)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/awsrequest.py", line 218, in send
contrastive_train-contrastive_train-1  |     return super().send(str)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/http/client.py", line 964, in send
contrastive_train-contrastive_train-1  |     datablock = data.read(self.blocksize)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/s3transfer/utils.py", line 511, in read
contrastive_train-contrastive_train-1  |     data = self._fileobj.read(amount_to_read)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/s3transfer/upload.py", line 90, in read
contrastive_train-contrastive_train-1  |     raise self._transfer_coordinator.exception
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/httpsession.py", line 448, in send
contrastive_train-contrastive_train-1  |     urllib_response = conn.urlopen(
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/urllib3/connectionpool.py", line 703, in urlopen
contrastive_train-contrastive_train-1  |     httplib_response = self._make_request(
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/urllib3/connectionpool.py", line 398, in _make_request
contrastive_train-contrastive_train-1  |     conn.request(method, url, **httplib_request_kw)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/urllib3/connection.py", line 239, in request
contrastive_train-contrastive_train-1  |     super(HTTPConnection, self).request(method, url, body=body, headers=headers)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/http/client.py", line 1256, in request
contrastive_train-contrastive_train-1  |     self._send_request(method, url, body, headers, encode_chunked)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/awsrequest.py", line 94, in _send_request
contrastive_train-contrastive_train-1  |     rval = super()._send_request(
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/http/client.py", line 1302, in _send_request
contrastive_train-contrastive_train-1  |     self.endheaders(body, encode_chunked=encode_chunked)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/http/client.py", line 1251, in endheaders
contrastive_train-contrastive_train-1  |     self._send_output(message_body, encode_chunked=encode_chunked)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/awsrequest.py", line 130, in _send_output
contrastive_train-contrastive_train-1  |     self._handle_expect_response(message_body)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/awsrequest.py", line 176, in _handle_expect_response
contrastive_train-contrastive_train-1  |     self._send_message_body(message_body)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/awsrequest.py", line 209, in _send_message_body
contrastive_train-contrastive_train-1  |     self.send(message_body)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/awsrequest.py", line 218, in send
contrastive_train-contrastive_train-1  |     return super().send(str)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/http/client.py", line 964, in send
contrastive_train-contrastive_train-1  |     datablock = data.read(self.blocksize)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/s3transfer/utils.py", line 511, in read
contrastive_train-contrastive_train-1  |     data = self._fileobj.read(amount_to_read)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/s3transfer/upload.py", line 90, in read
contrastive_train-contrastive_train-1  |     raise self._transfer_coordinator.exception
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/httpsession.py", line 448, in send
contrastive_train-contrastive_train-1  |     urllib_response = conn.urlopen(
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/urllib3/connectionpool.py", line 703, in urlopen
contrastive_train-contrastive_train-1  |     httplib_response = self._make_request(
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/urllib3/connectionpool.py", line 398, in _make_request
contrastive_train-contrastive_train-1  |     conn.request(method, url, **httplib_request_kw)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/urllib3/connection.py", line 239, in request
contrastive_train-contrastive_train-1  |     super(HTTPConnection, self).request(method, url, body=body, headers=headers)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/http/client.py", line 1256, in request
contrastive_train-contrastive_train-1  |     self._send_request(method, url, body, headers, encode_chunked)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/awsrequest.py", line 94, in _send_request
contrastive_train-contrastive_train-1  |     rval = super()._send_request(
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/http/client.py", line 1302, in _send_request
contrastive_train-contrastive_train-1  |     self.endheaders(body, encode_chunked=encode_chunked)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/http/client.py", line 1251, in endheaders
contrastive_train-contrastive_train-1  |     self._send_output(message_body, encode_chunked=encode_chunked)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/awsrequest.py", line 130, in _send_output
contrastive_train-contrastive_train-1  |     self._handle_expect_response(message_body)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/awsrequest.py", line 176, in _handle_expect_response
contrastive_train-contrastive_train-1  |     self._send_message_body(message_body)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/awsrequest.py", line 209, in _send_message_body
contrastive_train-contrastive_train-1  |     self.send(message_body)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/awsrequest.py", line 218, in send
contrastive_train-contrastive_train-1  |     return super().send(str)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/http/client.py", line 964, in send
contrastive_train-contrastive_train-1  |     datablock = data.read(self.blocksize)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/s3transfer/utils.py", line 511, in read
contrastive_train-contrastive_train-1  |     data = self._fileobj.read(amount_to_read)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/s3transfer/upload.py", line 90, in read
contrastive_train-contrastive_train-1  |     raise self._transfer_coordinator.exception
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/s3transfer/tasks.py", line 139, in __call__
contrastive_train-contrastive_train-1  |     return self._execute_main(kwargs)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/s3transfer/tasks.py", line 162, in _execute_main
contrastive_train-contrastive_train-1  |     return_value = self._main(**kwargs)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/s3transfer/upload.py", line 787, in _main
contrastive_train-contrastive_train-1  |     response = client.upload_part(
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/client.py", line 512, in _api_call
contrastive_train-contrastive_train-1  |     return self._make_api_call(operation_name, kwargs)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/botocore/client.py", line 919, in _make_api_call
contrastive_train-contrastive_train-1  |     raise error_class(parsed_response, operation_name)
contrastive_train-contrastive_train-1  | botocore.exceptions.ClientError: An error occurred (ServiceUnavailable) when calling the UploadPart operation (reached max retries: 4): Reduce your concurrent request rate for the same object.
contrastive_train-contrastive_train-1  |
contrastive_train-contrastive_train-1  | During handling of the above exception, another exception occurred:
contrastive_train-contrastive_train-1  |
contrastive_train-contrastive_train-1  | Traceback (most recent call last):
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap
contrastive_train-contrastive_train-1  |     self.run()
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/multiprocessing/process.py", line 108, in run
contrastive_train-contrastive_train-1  |     self._target(*self._args, **self._kwargs)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/composer/loggers/object_store_logger.py", line 534, in _upload_worker
contrastive_train-contrastive_train-1  |     upload_file()
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/composer/utils/retrying.py", line 87, in new_func
contrastive_train-contrastive_train-1  |     return func(*args, **kwargs)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/composer/loggers/object_store_logger.py", line 526, in upload_file
contrastive_train-contrastive_train-1  |     object_store.upload_object(
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/composer/utils/object_store/s3_object_store.py", line 130, in upload_object
contrastive_train-contrastive_train-1  |     self.client.upload_file(Bucket=self.bucket,
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/boto3/s3/inject.py", line 143, in upload_file
contrastive_train-contrastive_train-1  |     return transfer.upload_file(
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/boto3/s3/transfer.py", line 294, in upload_file
contrastive_train-contrastive_train-1  |     raise S3UploadFailedError(
contrastive_train-contrastive_train-1  | boto3.exceptions.S3UploadFailedError: Failed to upload /tmp/tmp03iu288a/8705ce1f-8ffd-4ecc-8724-2f5dfe7f2913 to checkpoints/train/1661480783-olive-dragonfly/checkpoints/ep0-ba40-rank0: An error occurred (ServiceUnavailable) when calling the UploadPart operation (reached max retries: 4): Reduce your concurrent request rate for the same object.
contrastive_train-contrastive_train-1  |                Traceback (most recent call last):
contrastive_train-contrastive_train-1  |   File "contrastive_train.py", line 62, in <module>
contrastive_train-contrastive_train-1  |     app()
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/typer/main.py", line 328, in __call__
contrastive_train-contrastive_train-1  |     raise e
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/typer/main.py", line 311, in __call__
contrastive_train-contrastive_train-1  |     return get_command(self)(*args, **kwargs)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/click/core.py", line 1130, in __call__
contrastive_train-contrastive_train-1  |     return self.main(*args, **kwargs)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/typer/core.py", line 778, in main
contrastive_train-contrastive_train-1  |     return _main(
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/typer/core.py", line 216, in _main
contrastive_train-contrastive_train-1  |     rv = self.invoke(ctx)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/click/core.py", line 1657, in invoke
contrastive_train-contrastive_train-1  |     return _process_result(sub_ctx.command.invoke(sub_ctx))
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/click/core.py", line 1404, in invoke
contrastive_train-contrastive_train-1  |     return ctx.invoke(self.callback, **ctx.params)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/click/core.py", line 760, in invoke
contrastive_train-contrastive_train-1  |     return __callback(*args, **kwargs)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/typer/main.py", line 683, in wrapper
contrastive_train-contrastive_train-1  |     return callback(**use_params)  # type: ignore
contrastive_train-contrastive_train-1  |   File "contrastive_train.py", line 51, in train
contrastive_train-contrastive_train-1  |     run_trainer(
contrastive_train-contrastive_train-1  |   File "/app/util/run.py", line 26, in run_trainer
contrastive_train-contrastive_train-1  |     trainer.fit()
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/composer/trainer/trainer.py", line 1386, in fit
contrastive_train-contrastive_train-1  |     self._train_loop()
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/composer/trainer/trainer.py", line 1600, in _train_loop
contrastive_train-contrastive_train-1  |     self.engine.run_event(Event.BATCH_END)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/composer/core/engine.py", line 239, in run_event
contrastive_train-contrastive_train-1  |     self._run_callbacks(event)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/composer/core/engine.py", line 414, in _run_callbacks
contrastive_train-contrastive_train-1  |     cb.run_event(event, self.state, self.logger)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/composer/core/callback.py", line 96, in run_event
contrastive_train-contrastive_train-1  |     return event_cb(state, logger)
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/composer/loggers/object_store_logger.py", line 294, in batch_end
contrastive_train-contrastive_train-1  |     self._check_workers()
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/composer/loggers/object_store_logger.py", line 311, in _check_workers
contrastive_train-contrastive_train-1  |     raise RuntimeError('Upload worker crashed. Please check the logs.')
contrastive_train-contrastive_train-1  | RuntimeError: Upload worker crashed. Please check the logs.
contrastive_train-contrastive_train-1  | Traceback (most recent call last):
contrastive_train-contrastive_train-1  |
contrastive_train-contrastive_train-1  |   File "contrastive_train.py", line 62, in <module>
contrastive_train-contrastive_train-1  |     app()
contrastive_train-contrastive_train-1  |
contrastive_train-contrastive_train-1  |   File "contrastive_train.py", line 51, in train
contrastive_train-contrastive_train-1  |     run_trainer(
contrastive_train-contrastive_train-1  |
contrastive_train-contrastive_train-1  |   File "/app/util/run.py", line 26, in run_trainer
contrastive_train-contrastive_train-1  |     trainer.fit()
contrastive_train-contrastive_train-1  |
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/composer/trainer/trainer.py", line 1386, in fit
contrastive_train-contrastive_train-1  |     self._train_loop()
contrastive_train-contrastive_train-1  |
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/composer/trainer/trainer.py", line 1600, in _train_loop
contrastive_train-contrastive_train-1  |     self.engine.run_event(Event.BATCH_END)
contrastive_train-contrastive_train-1  |
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/composer/core/engine.py", line 239, in run_event
contrastive_train-contrastive_train-1  |     self._run_callbacks(event)
contrastive_train-contrastive_train-1  |
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/composer/core/engine.py", line 414, in _run_callbacks
contrastive_train-contrastive_train-1  |     cb.run_event(event, self.state, self.logger)
contrastive_train-contrastive_train-1  |
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/composer/core/callback.py", line 96, in run_event
contrastive_train-contrastive_train-1  |     return event_cb(state, logger)
contrastive_train-contrastive_train-1  |
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/composer/loggers/object_store_logger.py", line 294, in batch_end
contrastive_train-contrastive_train-1  |     self._check_workers()
contrastive_train-contrastive_train-1  |
contrastive_train-contrastive_train-1  |   File "/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/composer/loggers/object_store_logger.py", line 311, in _check_workers
contrastive_train-contrastive_train-1  |     raise RuntimeError('Upload worker crashed. Please check the logs.')
contrastive_train-contrastive_train-1  |
contrastive_train-contrastive_train-1  | RuntimeError: Upload worker crashed. Please check the logs.
contrastive_train-contrastive_train-1  |
contrastive_train-contrastive_train-1  | wandb: Waiting for W&B process to finish... (failed 1). Press Control-C to abort syncing.
wandb:                                                                                MB deduped)
contrastive_train-contrastive_train-1  | wandb:
contrastive_train-contrastive_train-1  | wandb: Run history:
contrastive_train-contrastive_train-1  | wandb:               epoch ▁
contrastive_train-contrastive_train-1  | wandb:          loss/train ▅▁▅█▅▆▆▅▆▅▆▆▆▆▆▆▅▅▇▅▆▆▆▆▆▆▆▆▆▆▆▆▅▆▆▅▆▅▅▅
contrastive_train-contrastive_train-1  | wandb:     lr-AdamW/group0 ▁▂▃▄▆▆██████████████████████████████████
contrastive_train-contrastive_train-1  | wandb:      rank_zero_seed ▁
contrastive_train-contrastive_train-1  | wandb:         temperature ▁▁
contrastive_train-contrastive_train-1  | wandb:   trainer/batch_idx ▁▁▁▁▂▂▂▂▂▃▃▃▃▃▄▄▄▄▄▄▅▅▅▅▅▅▆▆▆▆▆▇▇▇▇▇████
contrastive_train-contrastive_train-1  | wandb: trainer/global_step ▁▁▁▁▂▂▂▂▂▃▃▃▃▃▄▄▄▄▄▄▅▅▅▅▅▅▆▆▆▆▆▇▇▇▇▇████
contrastive_train-contrastive_train-1  | wandb:  trainer/grad_accum ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
contrastive_train-contrastive_train-1  | wandb:    wall_clock/total ▁▁▁▁▁▁▂▂▂▂▂▃▃▃▃▃▄▄▄▄▄▅▅▆▆▆▆▆▆▇▇▇▇▇▇█████
contrastive_train-contrastive_train-1  | wandb:    wall_clock/train ▁▁▁▁▁▁▂▂▂▂▂▃▃▃▃▃▄▄▄▄▄▅▅▆▆▆▆▆▆▇▇▇▇▇▇█████
contrastive_train-contrastive_train-1  | wandb:      wall_clock/val ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁
contrastive_train-contrastive_train-1  | wandb:
contrastive_train-contrastive_train-1  | wandb: Run summary:
contrastive_train-contrastive_train-1  | wandb:               epoch 0
contrastive_train-contrastive_train-1  | wandb:          loss/train 3.95309
contrastive_train-contrastive_train-1  | wandb:     lr-AdamW/group0 0.0005
contrastive_train-contrastive_train-1  | wandb:      rank_zero_seed<PHONE_NUMBER>
contrastive_train-contrastive_train-1  | wandb:         temperature 0.07
contrastive_train-contrastive_train-1  | wandb:   trainer/batch_idx 62
contrastive_train-contrastive_train-1  | wandb: trainer/global_step 62
contrastive_train-contrastive_train-1  | wandb:  trainer/grad_accum 1
contrastive_train-contrastive_train-1  | wandb:    wall_clock/total 101.53677
contrastive_train-contrastive_train-1  | wandb:    wall_clock/train 101.53677
contrastive_train-contrastive_train-1  | wandb:      wall_clock/val 0.0
contrastive_train-contrastive_train-1  | wandb:
contrastive_train-contrastive_train-1  | wandb: Synced<PHONE_NUMBER>-olive-dragonfly: https://wandb.ai/vroomerify/app/runs/3qptaxw8
contrastive_train-contrastive_train-1  | wandb: Synced 6 W&B file(s), 0 media file(s), 0 artifact file(s) and 0 other file(s)
contrastive_train-contrastive_train-1  | wandb: Find logs at: ./wandb/run-20220826_022624-3qptaxw8/logs
contrastive_train-contrastive_train-1  |
contrastive_train-contrastive_train-1  |                    | 62/3600 [02:04<42:06,  1.40ba/s, loss/train=3.9531]
/root/miniconda3/envs/video-rec/lib/python3.8/site-packages/composer/loggers/object_store_logger.py:436: RuntimeWarning: The following objects may not have been uploaded, likely due to a worker crash:<PHONE_NUMBER>-olive-dragonfly/checkpoints/ep0-ba40-rank0
contrastive_train-contrastive_train-1  |   warnings.warn(
contrastive_train-contrastive_train-1  | /root/miniconda3/envs/video-rec/lib/python3.8/site-packages/composer/cli/launcher.py:223: UserWarning: AutoSelectPortWarning: The distributed key-value port was auto-selected. This may lead to race conditions when launching multiple training processes simultaneously. To eliminate this race condition, explicitly specify a port with --master_port PORT_NUMBER
contrastive_train-contrastive_train-1  |   warnings.warn('AutoSelectPortWarning: The distributed key-value port was auto-selected. '
contrastive_train-contrastive_train-1  | ERROR:composer.cli.launcher:Rank 0 crashed with exit code 1.
contrastive_train-contrastive_train-1  | ERROR:composer.cli.launcher:Global rank 0 (PID 94) exited with code 1
contrastive_train-contrastive_train-1  | Waiting up to 30 seconds for all training processes to terminate. Press Ctrl-C to exit immediately.
contrastive_train-contrastive_train-1  | Global rank 0 (PID 94) exited with code 1
contrastive_train-contrastive_train-1  | ERROR conda.cli.main_run:execute(41): `conda run composer -n 2 contrastive_train.py train /config.yml /data` failed. (See above for error)

Setting num_concurrent_uploads=1 doesn't help

hey @vedantroy, we're looking into adding CloudFlare R2 as an ObjectStore. We will let you know when we have added it!

hey @vedantroy, Cloudflare R2 is supported for checkpointing now. We added the support in https://github.com/mosaicml/composer/pull/2215 and https://github.com/mosaicml/composer/pull/1915
The docs are here


Transaction is too old to perform reads or be committed

Received exception from server (version 21.8.7)
when collecting table xxx  having the following error: Code: 8067, e.displayText() = DB::Exception: Error whiling scanning data through FBDItrator. message: Transaction is too old to perform reads or be committed SQLSTATE: HY000,

Hi @luozhenglin , thank you for reporting the issue. I wonder what is the version that you are using and what is the query. I think this issue already been handled in latest code

And can you tell more about your ByConity setup?


Handlebars not working on IOS

Pre-compiled templates using node. Everything works great on Windows desktop (all browsers except safari) also works on Droid phone. On iPad and iPhone none of the templates load. It looks like any time Handlebars is called, the browser stops rendering the rest of the javascript. I'm using 4.0.3 but I have tried 4.0.2 and 3.0.3

Can you provide an example reproduction case?

If you really need I can give you access to the site. Basically as soon as I call Handlebars in my code (ex. Handlebars.templates.mytemplate(context)). All javascript after that stops working. It works on desktop. I ran a console log on Handlebars.templates and it does return the templates as the object in safari. I also tried compiling at run-time with the same results.

compiled using the handlebars command line
task.handlbars:

{{ task.id }}{{ page.archive }}
{{ task.assembly_number }}
{{ task.employee.cardnumber }} - {{ task.employee.firstname }} {{ task.employee.lastname }}
{{ task.area.name }}
{{ task.type.name }}
{{ task.start }}
{{ task.stop }}
	{{#is_archive}}
	{{ task.employee.supervisor.firstname }} {{ task.employee.supervisor.lastname }}
{{ task.job.number }}
{{ task.status }}
	{{/is_archive}}

			{{#is_single}}

			{{/is_single}}
			{{#is_archive}}

			{{/is_archive}}

taskList.handlebars
{{#each tasks as |task| }}
{{>task task=task}}
{{/each }}
app.js
var loadTaskList = function() {
return getTasks(jobId)
.done(function(data, textStatus, jqXHR) {
$('#progress-bar').hide();
var taskList = Handlebars.templates.taskList(data);
taskHolder.html(taskList);
$('#task-table').trigger('update');
})
.fail(function(jqXHR, textStatus, errorThrown) {
$('.alert-top').append(errorThrown);
})
};
tasks.html

If you create a simplified repo case on jsfiddle was can try to help.
Otherwise there's not a lot that we can do to help you out.
On Mon, Sep 28, 2015 at 3:57 PM bskimball<EMAIL_ADDRESS>wrote:

compiled using the handlebars command line
task.handlbars:
{{ task.id }}{{ page.archive }}
{{ task.assembly_number }}
{{ task.employee.cardnumber }} - {{ task.employee.firstname }} {{
task.employee.lastname }}
{{ task.area.name }}
{{ task.type.name }}
{{ task.start }}
{{ task.stop }}
{{#is_archive}}
{{ task.employee.supervisor.firstname }} {{
task.employee.supervisor.lastname }}
{{ task.job.number }}
{{ task.status }}
{{/is_archive}}
{{#is_single}}
{{/is_single}}
{{#is_archive}}
{{/is_archive}}
taskList.handlebars
{{#each tasks as |task| }}
{{>task task=task}}
{{/each }}
app.js
var loadTaskList = function() {
return getTasks(jobId)
.done(function(data, textStatus, jqXHR) {
$('#progress-bar').hide();
var taskList = Handlebars.templates.taskList(data);
taskHolder.html(taskList);
$('#task-table').trigger('update');
})
.fail(function(jqXHR, textStatus, errorThrown) {
$('.alert-top').append(errorThrown);
})
};
tasks.html
—
Reply to this email directly or view it on GitHub
https://github.com/wycats/handlebars.js/issues/1108#issuecomment-143871712
.

Thank you for your help. I fixed the issue. I removed all of my helpers then put them back in one at a time. The problem was with the {{#if_eq task.status 'Complete'}} success {{/if_eq}} helper. For some reason safari didn't like it but the other browsers don't mind it.


fix timing bug

PR Type

Bug Fix

Related Links

Description

Review Procedure

Remarks

Pre-Review Checklist for the PR Author
PR Author should check the checkboxes below when creating the PR.

[ ] Assign PR to reviewer

Checklist for the PR Reviewer
Reviewers should check the checkboxes below before approval.

[ ] Commits are properly organized and messages are according to the guideline
[ ] (Optional) Unit tests have been written for new behavior
[ ] PR title describes the changes

Post-Review Checklist for the PR Author
PR Author should check the checkboxes below before merging.

[ ] All open points are addressed and tracked via issues or tickets
[ ] Write release notes

CI Checks

Build and test for PR: Required to pass before the merge.

サイネージだとautoware_interfaceを渡してます
https://github.com/tier4/AutowareSignage/pull/68/files#diff-e1cb7e4e8d86928337d396d057939723b027cb1795bc0261794be9efe85b9a0eR33


Upgrade JavaParser dependency

The latest version is much more stable and has support for Java 9.
https://github.com/javaparser/javaparser/

Hi @matozoid and @hoijui , I've forked this project to https://github.com/scalagen/scalagen
@matozoid I saw that you already made some changes on top of my fork.
Would you mind opening a PR?


feat: copy curl command button

Description
A nice feature of Swagger UI is that for each request submitted via the UI, an equivalent cURL command will be generated. This allows users to easily generate and replay requests via the CLI.
It would be nice if for the submission of workflow and task runs (and possibly in other cases) such a cURL command would be generated as well for the user's convenience.
Possible solution(s)
One way of implementing this without distracting the user too much or showing too much text would be by placing a small button with a clipboard icon next to the "Submit" button. When pressed, the cURL command is copied to the clipboard.

Ahh, how about having a tree like this at the end of each component https://shoelace.style/components/tree#lazy-loading. This approach unobtrusively records every request made within the component, providing a copyable cURL command for each request. This implementation ensures transparency without compromising the user's UI/UX experience. @uniqueg

Nice idea, but how do you want to display the commands in the list in such a way that they are distinguishable from one another? The complete commands are probably too long to render nicely, and if you shorten them in some way, you may lose some or all distinguishing values.
Also, users can browse task/workflow runs via the list view components. And when exploring details of any one individual run, I think there should be an option to replay/clone/copy a run (i.e., open the corresponding "create run" component and autopopulate with values of previous run). If we have that and the ability to copy the cURL command for a single command, then we'd automatically support copying cURL commands for old runs via this mechanism. And if we find that to be a common operation and we want to make that easier, we could add a button or context menu option to copy a cURL command to reach row of the list view directly.
Btw, I think the "Copy cURL command" button should have the same behavior as the submit button: grayed out and inactive until enough data has been entered to allow triggering a run.


Obsolete results

Once the road network is modified the results become obsolete. This information has to be transmitted to the user.

How do you mean obsolete? Isn't the whole point of modifying a road network to compare results between the 'before' and 'after' scenario?

A more correct term would be outdated results. Imagine the following:

create a scenario
generate results - calculations are shown on the scenario page
modify the road network of the scenario through iD

Until new results are generated, the results that are shown on the page (step 2) will not reflect the changes made in step 3. We'd like to clearly communicate that to the users through some sort of message.

I see, wouldn't it be a solution to create a new scenario with the modified road network?
This way one can regenerate results on the original scenario and it is clear to which scenario the results belong

Yes, if you want to compare two different road networks, you'd create two different scenarios. But in the new version of RRA you can also edit the road network through iD. We'd like to allow for users to edit & generate more than once on the same scenario.


Add color swatch on the side directly

I love this extension a lot, it is so good. Now I don't need to open another app to draw, but......
When I am performing a demo to explain what is happening to my students, I need to use a different color for them to easier identify what is happening. But it is very difficult for me to switch colour. So here is my suggestion, are you able to add a color switch right here below, I provided 16 color code to ease you implement it:
16 default color - so that on clicking change pen color ❤
FFC114
F6630D
FF0066
E71224
5B2D90
AB008B
CC0066
004F8B
00A0D7
33CCFF
008C3A
66CC00
000000
333333
849398
FFFFFF

and here is a screenshot representing what i'm thinking.

Hi @ericsia, I'm glad to hear that you like the extension !
In order to achieve what you want, I would advise to use the excalidraw keyboard shortcuts.
After selectin the pen, you can type the s key to reveal the color picker. Then you can use any displayed key to switch to the corresponding color (ex: d for green).
If you feel like this is not suffecient for your usecase, please create an issue in the upstream repository : https://github.com/excalidraw/excalidraw/issues.

Well, that is not ideal especially in long term involve in frequently switching between color.
Is it possible for you guys developer make something different for this vscode extension to keep the pallet expanded instead of use s to expand it?
I tried to find where did they store the color palette but I couldn't find it, else I could edit it myself

I try to stay as close to possible to the native excalidrwa experience in this extension to limit the amount of code I need to maintain. The code in this respository is the glue between excalidraw and vscode apis.

I try to stay as close to possible to the native excalidraw experience in this extension to limit the amount of code I need to maintain, so I am not willing to add some custom UI in this repository. The code in this respository is the glue between excalidraw and vscode apis.

I really hope the collor pallete can keep oppening, it just requires a bit of shifting down

how about writing a script to automate patching the pallet? so even next time they update it, running the script will patch it

If you want to change the behavior of excalidraw, please open an issue / pull request in the excalidraw/excalidraw upstream repository.
I will not implement any patch here, because most of the user want an experience as close as possible to the excalidraw browser version, with the benefits of vscode feature (multiple tabs, version control...)

@pomdtr when I split-view click s doesn't show up the pallet thought


New way to do auth?

Hey guys,
There are some update about auth example at vue-apollo repo https://github.com/Akryum/vue-apollo/blob/master/tests/demo/src/vue-apollo.js
I wonder if we can do the same?
P/S: v3.0.0-beta.14 is released by the way :)

By this way we may have a solution for auth-module also https://github.com/nuxt-community/auth-module/pull/140

@kieusonlam just released new version to npm for newest beta on vue-apollo

@dohomi What about createProvider like vue-apollo demo (it have login and logout inside), can we do something like that :)

@kieusonlam what exactly do you mean? This plugin exposes apolloProvider so you can use it in Vuex-actions or any component related code

@dohomi Sorry if I'm misunderstanding his demo. I'm not really good as English so I gonna try explain to you as clear as I can :) You can take a look at demo folder https://github.com/Akryum/vue-apollo/tree/master/tests/demo/src
In main.js https://github.com/Akryum/vue-apollo/blob/master/tests/demo/src/main.js you can see:
...
import { createProvider } from './vue-apollo'

...

new Vue({
  ...
  provide: createProvider({}, { router }).provide(),
  ...
}).$mount('#app')

he use createProvider by another file that he has created in vue-apollo.js
Now go into vue-apollo.js in same folder https://github.com/Akryum/vue-apollo/blob/master/tests/demo/src/vue-apollo.js
You can see he create some functions createProvider, onLogin, onLogout and he use that funtion on demo folder. You can take a bit time to look as all that functions.
I just wonder if we can do something like vue-apollo.js inside this plugin which have login and logout by the default.
For example in the apollo config file instead of
import { ApolloLink, concat, split } from 'apollo-link'
import { HttpLink } from 'apollo-link-http'
import { InMemoryCache } from 'apollo-cache-inmemory'
import { WebSocketLink } from 'apollo-link-ws'
import { getMainDefinition } from 'apollo-utilities'
import 'subscriptions-transport-ws' // this is the default of apollo-link-ws

export default (ctx) => {
  const httpLink = new HttpLink({uri: 'https://api.graph.cool/simple/v1/' + process.env.GRAPHQL_ALIAS})
  const authMiddleware = new ApolloLink((operation, forward) => {
    //This function is called before every request. Update ctx.req.session and window.__NUXT__.state.session
    //To point to wherever you store your token
    const token = process.server ? ctx.req.session : window.__NUXT__.state.session
    operation.setContext({
      headers: {
        Authorization: token ? `Bearer ${token}` : null
      }
    })
    return forward(operation)
  })
  // Set up subscription
  const wsLink = new WebSocketLink({
    uri: `wss://subscriptions.graph.cool/v1/${process.env.GRAPHQL_ALIAS}`,
    options: {
      reconnect: true,
      connectionParams: () => {
        const token = process.server ? ctx.req.session : window.__NUXT__.state.session
        return {
          Authorization: token ? `Bearer ${token}` : null
        }
      }
    }
  })

  const link = split(
    ({query}) => {
      const {kind, operation} = getMainDefinition(query)
      return kind === 'OperationDefinition' && operation === 'subscription'
    },
    wsLink,
    httpLink
  )

  return {
    link: concat(authMiddleware, link),
    cache: new InMemoryCache()
  }
}

We just need to do something like this:
{
  httpEndpoint: process.env.VUE_APP_GRAPHQL_HTTP || 'http://localhost:4000/graphql',
  wsEndpoint: process.env.VUE_APP_GRAPHQL_WS || 'ws://localhost:4000/graphql',
  tokenName: AUTH_TOKEN,
  persisting: false,
  websocketsOnly: false,
  // ssr: false,
  // link: myLink,
  // cache: myCache,
  // apollo: { ... }
}

You might want to see https://github.com/Akryum/vue-cli-plugin-apollo which he use to create createProvider.
Then everyone don't need to write too much code and because we default have some thing like Login / Login funtions, so we can do something like this.$apollo.login(AUTH_TOKEN) it will easier for everyone. And by this way maybe we can apollo login schema in auth-module as well.
That what I thought.

@kieusonlam thanks for your suggestion. its actually a nice idea if you have time to submit a PR I'm happy to assist.

I'm working on it. I don't know if I do it right. Here is my fork:
https://github.com/kieusonlam/apollo-module/blob/master/plugin.js
Currently, I don't know how to put setToken function in $apollo, and the right way to get the module options.
Should I submit a WIP PR.

@kieusonlam how about to provide a plugin to publish some internal functions:
$apolloHelpers:{
  setToken:() => {
    // sets the token
  }
}

sure you can provide a PR out of your fork and then we can ask other users to join for a best practice setup

@kieusonlam as v4 just published as pre-alpha I think we took care of all of your ideas. I will close this now as login/logout handling is fully covered with this plugin


Move datetime field types into subproject

Codecov Report

Merging #29 (bb4ad09) into master (4397831) will decrease coverage by 16.36%.
The diff coverage is 49.32%.

@@             Coverage Diff             @@
##           master      #29       +/-   ##
===========================================
- Coverage   75.99%   59.62%   -16.37%
===========================================
  Files          47       50        +3
  Lines        4053     4139       +86
  Branches      513      533       +20
===========================================
- Hits         3080     2468      -612
- Misses        772     1505      +733
+ Partials      201      166       -35

Impacted Files
Coverage Δ

...nMain/kotlin/dev/evo/elasticmagic/doc/DocSource.kt
64.22% <0.00%> (-9.82%)
:arrow_down:

...nMain/kotlin/dev/evo/elasticmagic/doc/FieldType.kt
45.03% <18.60%> (-31.95%)
:arrow_down:

...nMain/kotlin/dev/evo/elasticmagic/doc/DateField.kt
33.33% <33.33%> (ø)

...onMain/kotlin/dev/evo/elasticmagic/doc/Document.kt
86.11% <33.33%> (-1.16%)
:arrow_down:

...mmonMain/kotlin/dev/evo/elasticmagic/query/Term.kt
64.51% <62.50%> (+0.58%)
:arrow_up:

...n/kotlin/dev/evo/elasticmagic/doc/DateFieldType.kt
82.69% <82.69%> (ø)

.../kotlin/dev/evo/elasticmagic/aggs/DateHistogram.kt
100.00% <100.00%> (ø)

...Main/kotlin/dev/evo/elasticmagic/aggs/Histogram.kt
82.28% <100.00%> (-0.11%)
:arrow_down:

...mmonMain/kotlin/dev/evo/elasticmagic/aggs/Range.kt
73.20% <100.00%> (-0.55%)
:arrow_down:

...tlin/dev/evo/elasticmagic/query/FieldOperations.kt
45.00% <100.00%> (+2.89%)
:arrow_up:

... and 23 more

Continue to review full report at Codecov.

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


Lint web codebase

What this PR does / why we need it:

Fix yarn lint command due to the update of eslint-config (ref: release note).
Add yarn lint:fix command under web directory.
Fix lint problems using the above added command.

I did not change the pkg/app/web/src/components/application-form/index.tsx file as much as possible since it's under developing currently

Which issue(s) this PR fixes:
Fixes #
Does this PR introduce a user-facing change?:

NONE

Nice!
/lgtm

Nice.
/approve


Fix bug in killed quick finish

If a job is actually not run at all, but it has been marked as killed, the right thing to do is set the status to KILLED.
This was caught by a unit test on a failed Travis. Details can be found in https://github.com/azkaban/azkaban/pull/1509#issuecomment-333196277.

Really sorry for introducing this bug in the first place. I should've checked this more carefully.. I guess it was so rare that it was never revealed by the tests before, but I'm glad it was caught this time!


feat: add regex support to disableAllRules function

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[FLOC-3922] Lint benchmark directory

This PR adds the benchmark directory to the lint tests.
Code in the directory was changed to pass the lint tests.  Most were stylistic issues, but there was one bug where the variable t0 was used in a closure within a loop, meaning that some elapsed time measurements may have been shorter than the actual time taken, probably by a fraction of a second.

This should also change tox.ini, or delete the lint environment from there
(and probably add a script that developers can use to run lint checks
locally.)

The changes in the current PR are fine though.

Tests in Jenkins have passed, but GitHub is not showing the correct status. Merging based on direct view of Jenkins.


Replay packet id window

The current implementation expects the replay packet id to be always be increasing by one without gap starting at 1. The openvpn-rfc says it is a monotonically increasing sequence. Another part of the rfc draft suggests keeping a sliding window of 32. For tls-crypt-v2 the sequence can start at 0x0f000001 (I believe) to signal early negotiation support (for hmac cookie only for now). The only requirement seems to be that the replay packet id is not zero.
https://github.com/robur-coop/miragevpn/blob/35a8d96783695674913ee42379f8384b34d83fe9/src/engine.ml#L807-L824
https://github.com/OpenVPN/openvpn-rfc/blob/bbde60d7f28a5436e21b3f475788f7922e0d9339/openvpn-wire-protocol.xml#L365-L375
https://github.com/OpenVPN/openvpn-rfc/blob/bbde60d7f28a5436e21b3f475788f7922e0d9339/openvpn-wire-protocol.xml#L1057-L1071

This is related to #53, with the sliding window code suggested by @cfcs in https://github.com/robur-coop/miragevpn/pull/37#issuecomment-607618553
module Sliding_window : sig
  type t
  val make : int -> t
  val add : int -> t -> (t, string) result
  val mem : t -> int -> bool
  val pp : Format.formatter -> t -> unit
end = struct
  type t = { window: int; counter: int; }
  let make counter = { window = 1; counter }
  let add n {window; counter} =
    if n <= counter then begin
      let diff = counter -n in
      if diff >= Sys.int_size
      then Error "n not in sliding window"
      else Ok {window = window lor (1 lsl diff); counter}
    end else begin (* counter > n; always succeeds *)
      let diff = n - counter in
      if diff >= Sys.int_size
      then Ok (make n) (* new window *)
      else Ok {window = (window lsl diff) lor 1; counter = n}
    end

  let pp ppf {window;counter} =
    Fmt.pf ppf "{ window = %d; counter = %d }" window counter

  let mem {window;counter} n =
    let diff = counter - n in
    if counter < n || diff > Sys.int_size
    then false
    else 0 <> window land (1 lsl diff)
end

For more clarity: as far as I understand the OpenVPN, we should accept any replay id that is larger then the previous one.
Also, the sequence number should be increasing without gaps. Both is not correct in our implementation (but works incredible well).

I think the sliding window implementation is interesting. The default window size (see option --replay-window in openvpn) is 64, so 62 is maybe acceptable. On the other hand they write the following:
          If  you  are using a network link with a large pipeline (meaning
          that the product of bandwidth and latency is high), you may want
          to use a larger value for n. Satellite links in particular often
          require this.

This also depends on the CPU architecture; maybe a window size of 30 is undesirable(?)


[DDW-275] Improve NTP check handling

This PR improves NTP check handling, allowing the user to re-trigger this check without restarting Daedalus.
Todo:

[x] Implement the link to check the time again in the NTP error screen
[x] Implement the node info call with the force-check parameter
[ ] Provide translations - cc: @darko-mijic
[ ] Prevent click on time-check link while we are executing the request
[ ] During submission we should change the way "Check time again" link looks like -> let's change the text to "Checking time...", remove the underline style, prevent clicking and animate the 3 dots at the end in the same way we do on the "Connecting to network..." screen

Screenshots:

Review Checklist:
Basics

[ ] PR is updated to the most recent version of target branch (and there are no conflicts)
[ ] PR has good description that summarizes all changes and shows some screenshots or animated GIFs of important UI changes
[ ] CHANGELOG entry has been added and is linked to the correct PR on GitHub
[ ] Automated tests: All acceptance tests are passing (yarn run test)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in development build (yarn run dev)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in production build (yarn run package / CI builds)
[ ] There are no flow errors or warnings (yarn run flow:test)
[ ] There are no lint errors or warnings (yarn run lint)
[ ] Text changes are proofread and approved (Jane Wild)
[ ] There are no missing translations (running yarn run manage:translations produces no changes)
[ ] UI changes look good in all themes (Alexander Rukin)
[ ] Storybook works and no stories are broken (yarn run storybook)
[ ] In case of dependency changes yarn.lock file is updated

Code Quality

[ ] Important parts of the code are properly documented and commented
[ ] Code is properly typed with flow
[ ] React components are split-up enough to avoid unnecessary re-rendering
[ ] Any code that only works in Electron is neatly separated from components

Testing

[ ] New feature / change is covered by acceptance tests
[ ] All existing acceptance tests are still up-to-date
[ ] New feature / change is covered by Daedalus Testing scenario
[ ] All existing Daedalus Testing scenarios are still up-to-date

After Review:

[ ] Merge PR
[ ] Delete source branch
[ ] Move ticket to done on the Youtrack board

@daniloprates how can i test this? When im changing the system settings and clicking on "Check the time again" nothing nothing happens.

@DominikGuzei in order for this to work you should pull the latest Cardano-sl develop branch and build it PLUS run it with --new-wallet flag!

@nikolaglumac ok will do that in a separate repo clone since my current setup doesn't have the syncing bug you all ran into (otherwise working with the nix-shell would become a nightmear as you always have to pass-in the startup time)!

@daniloprates I have refactored the request logic: https://github.com/input-output-hk/daedalus/pull/1086/commits/323421eb07afec6fc4d3f2981ebe2c172d8afb69
...now you will be able to use isExecuting to change the button text and prevent 2nd click when we have a running request...

@daniloprates you need to expose localTimeDifferenceRequest from the NetworkStatusStore within the LoadingPage container like we do for other requests - eg.  https://github.com/input-output-hk/daedalus/blob/develop/source/renderer/app/containers/wallet/WalletReceivePage.js#L108
Then you can track if the request is executing and in case it is you can do the switch from "Check time again" to "Checking time..." state.

@nikolaglumac isExecuting state is done ✓
I was able to test the isExecuting feature by forcing the NTP error screen to appear. It works fine.
However, the force-check parameter itself wasn't tested yet.

@DominikGuzei that's a valid point. We will need to think this through some more...

@daniloprates I will take over this task as there is a lot of specific testing I want to do in order to make sure everything is working as expected.

@nikolaglumac ok!

I will add a few more improvements!

@DominikGuzei @darko-mijic @MarcusHurney @daniloprates this PR is finally ready for review 🎉

Let's wait with the review for a couple of more hours. I need to check one last detail!

@DominikGuzei @MarcusHurney @darko-mijic this PR is now ready for review.
Please don't merge it until we get the missing translations...

Thanks @DominikGuzei! Will merge this one now.
Missing translations will be added in a different task...
  systemTime.error.onCheckTheTimeAgainLink: !!!Check the time again
  systemTime.error.timeOffsetIndeterminable: !!!more than 15 seconds

cc @darko-mijic


[WIP]#1255 Changed the footer

Work In Progress [#1255]
Changes:

[x]  Please use the small Creative Commons buttons instead of large buttons.
[x] Behind "The website and it's contents are licensed under Creative Commons Attribution 4.0 International License." or similar add the following: "The site was generated using the Open Event format on the eventyay site generator. Please submit issues here."
[ ]  Store buttons on the itself. Do not embed external buttons.
[ ] Use the correct link to the actual license
[ ] There is a link to the organizer, e.g. "© 2017 FOSSASIA and Science Centre Singapore." with a wrong link. Take out that link.

Demo-https://demolp.github.io/
There are still certain things left to entirely close this Issue.
The second was little unclear, so I would ask again what exactly you want @mariobehling in that point.
The links in 3rd and 4rth were taken from the JSON FOSSASIA16.zip. They looked like correct.
I am waiting for suggestions to complete this PR.

Codecov Report

Merging #1271 into development will not change coverage.
The diff coverage is n/a.

@@             Coverage Diff              @@
##           development    #1271   +/-   ##
============================================
  Coverage        65.46%   65.46%
============================================
  Files                9        9
  Lines             1523     1523
  Branches           225      225
============================================
  Hits               997      997
  Misses             526      526

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 6cc56e4...b86f282. Read the comment docs.

Please generate a test site with your improvements from the OSCAL data. So, I can compare the changes more easily.
If there are issues with the Open Event sample, then they need to be fixed. But it will be much easier if you can set up an OSCAL test site.
Another point: If you label your PR [WIP] many reviewers will usually not look at them until you take out [WIP]. Cheers.

@Princu7  @mariobehling
here is the test site using OSCAL data
https://demolp.github.io/OSCAL%202017/
I think the links are wrong because OSCAL 2017 data doesn't have the correct data for links, they seems to be null and point to home.
To the contrary, data from FOSSASIA16.zip holds correct data for the links and hence they work fine.
https://demolp.github.io/FOSSASIA16/

@Lplenka Please check https://eventyay.com/api/v1/events/47
The copyright and licence details can be found in licence_details & copyright in the JSON. We extract the information from these in fold.js in the method convertLicenseToCopyright. Please apply a null check in the function to make sure that the URL does points to the correct location.

Sorry:sweat:
:thinking:  seems like, rebasing my feature branch caused some extra commits. Closing this PR and making a new one.


VS2017 TypeScript intellisense and syntax coloring incorrect - 2.4.1 installed but reports as 2.3.4

I recently upgraded to VS 2017 15.3.3 and I've noticed my TypeScript files are not being handled correctly in Visual Studio. I don't know if the two are related as I haven't worked on TypeScript files recently.
Inside Visual Studio 2017, Help > About lists TypeScript as version <IP_ADDRESS>, even though in Control Panel > Programs and Features it only lists TypeScript <IP_ADDRESS> - I don't know where the <IP_ADDRESS> number is coming from. I don't see a TypeScript version selection control in the VS Options window which only appears when you have multiple versions installed.
The actual problem is when a .ts file is open in the editor I only get basic syntax highlighting for language keywords, strings, numbers, comments, et cetera - but no coloring of type-names, for example - and of course, no .js and .map files are being generated on-save unless I build my project. The navigation bar at the top of the editor has 3 empty drop-down lists even though I'm in a project and my caret inside a class member function, and the Ctrl+Space and other commands does not open any kind of auto-complete or suggestions - it feels like it's loaded in a basic TextMate-only editor. I disabled the built-in TextMate Grammar extension and restarted Visual Studio and indeed, my .ts files now open in the Plain Text editor with no highlighting at all - so for some reason the TextMate Grammar editor is hijacking TypeScript. So I reinstalled the TypeScript <IP_ADDRESS> SDK, but that had no effect, as opening .ts files causes the TextMate-only editor to open them still. I note that after reinstalling the TypeScript SDK my .ts files are no-longer recompiled to .js/.map when I build my project anymore.
I noticed when I opened Tools > Options > Text Editor > File Extension the list is completely empty, regardless of the Editor I select - bizarre.
I also ran devenv /setup from an elevated VS Command Prompt, no effect was observed.
I'm assuming this is a corrupt VS configuration - but my bug/feature-request is for the TypeScript tooling to self-diagnose an incorrect file-type-to-editor assignment within Visual Studio.

I am having the same issue.

Seeing a stale version number under Help > About is a known issue that we're working on now.  You can ignore it for now.

@Jehoel @BillZiss Can you please provide some background?

Which version of VS did you upgrade from?
Which versions of the TS SDK have you manually installed, if any?
Which version(s) of TS are selected in your projects?
Did you Open Folder or Open Project?
Have you enabled Lightweight Solution Load?

Having copies of your projects would be very helpful, but we could get an overview from a command like dir /s  *.ts *.js *.tsx *.jsx *html *.json.
Thanks!

I completely nuked my computer's multiple Visual Studio (2015 and 2017) installations yesterday and did a clean install of just VS2017 15.3.3 directly from MSDN and then installed the TypeScript <IP_ADDRESS> SDK and it's working fine now, but I'll answer your questions from memory:

Version 15.3.2.
I had version 2.4.0 manually installed, then I installed 2.4.1 on top of it. I don't remember doing anything special during the upgrade process.
It's an ASP.NET Web Application project. I remember the project had 2.4 set because it asked me to upgrade the project from 2.3 earlier in the month (side-note: on my new now-working installation it says "2.4 (Unavailable)" even though it builds fine.
Open Project
No
I experienced the symptoms regardless of the context in which a .ts file was opened - the editor was broken for every project, including project-less standalone .ts files. My projects do not have a .tsconfig file at present.

6 is particularly interesting.  Thanks for taking the time to reduce the repro!

@BillZiss Are your answers the same?

I'm going to close this issue since we have a fix in progress for a related issue and @Jehoel is no longer having problems.  @BillZiss, can you please reactivate this issue or file a new one (and tag me) if you continue to have problems?


Applying external forces

Hi,
I think Brax currently doesn't support applying external force/torque to the bodies. I'm getting around this by setting linear and angular velocities with qp.replace(). It would be nice to have an explicit function like PyBullet's applyExternalForce. Any plan to implement something like this?

Yes, we do plan to implement this, but haven't had a good concrete need for it yet, and it somewhat complicates the step semantics if not done carefully.  I'll follow up here when we get to this (hopefully soon!)

Bumping this request. External forces proved very useful for trajectory optimization in my recent project, and I'd love to use Brax for further development of this. See: https://dl.acm.org/doi/abs/10.1145/3480144

Great, closing the issue. If the external force application doesn't work for you, please file a new issue.


Set grace=0 to server stop in route_guide

Fix #5619

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Thanks!


chore: bdd-sbrp-import-1582852771 to 0.0.1

chore: Promote bdd-sbrp-import-1582852771 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Sequence to Sequence Attention model

First of all thanks for this wonderful library.
How can we make a simple sequence to sequence Attention model (Bahdanau et al: https://arxiv.org/abs/1409.0473) using LSTM? As there are some open source libraries for NMT (like OpenNMT) where you can use it as a black box for training your model but nowhere I could find its simple implementation.

You can check some code examples here. If you don't find anything of use, go to tensorflow, they have an example of seq2seq model.


Cluster missing in Device bulk edit parameters

As ...
Ozzie - Operator
I want ...
To be able to change Cluster parameter along with other Device parameters during one bulk update.
So that ...
Cluster parameter along with other Device parameters during one bulk update instead of changing/clearing Cluster parameter for every Device.
I know this is done when...
In our case a lots of Devices needed to be moved from Site A to Site B. Site is one of parameters which can be changed in bulk update but this change ended with an error as those devices were assigned to a Cluster which is still on Site A.
I have advised to our Data Center Management team that they should first go to the each Cluster, unassigned those Devices and then change the Site parameter. It would be great if we could set Cluster to null and change Site in one bulk edit.
Optional - Feature groups this request pertains to.

[ ] Automation
[ ] Circuits
[X] DCIM
[ ] IPAM
[ ] Misc (including Data Sources)
[ ] Organization
[ ] Plugins (and other Extensibility)
[ ] Security (Secrets, etc)
[ ] Image Management
[ ] UI/UX
[ ] Documentation
[ ] Other (not directly a platform feature)

Database Changes
No response
External Dependencies
No response

Hi, any update here? Some teams working with us tend to time to time hit this issue... It would ease the flow if it would be possible update in a single step (incl. in device bulk edit).


Live Broadcast Download Issue on 60fps streams

Live Broadcast download issue with 60fps streams the audio is always desynced.
Live Broadcast with 30 fps works fine with no desync
Post stream broadcast download of 60fps is fine with no desync
Post stream broadcast download of 30fps is fine with no desync

Uhm, I think this is a misunderstanding. TL is no live-encoder or whatsoever. I am even surprised, that you can already download "live" broadcasts. After finishing a stream, Twitch post-processes the broadcast. If that is done, it's TL-ime not before. If you want to use harddisk recording while streaming, OBS is the tool to go, not TL.


Show version and app version for Istio system chart

rancher/rancher:master
When enabling istio, both the version and the app version should be shown. Currently only the the version is shown - 0.0.1, which does not make clear that Istio is using a different version.

Create a cluster
Navigate to Enable Istio screen
Version shows 0.0.1

Expected:

Version shows 0.0.1 (or current system chart version) and the App version (Istio version) shows the correct Istio version

this is a UI related fix, the chart should already contain the istio version with 1.1.5-rancher1 from the external, can we update to it accordingly thanks.

We changed it back to 0.0.1 as 1.1.5-rancher1 is not a standard version style in Helm concept.
Maybe we need to use a label or something for istio info

@loganhz this should correspond with the fact that we shouldn't pin versions in the backend and should show the versions. For istio specific, we should figure out how to show the chart version (0.0.1) as well as the app version (istio 1.2).

rancher/rancher:master-head 66beb03f

Create cluster
Enable Istio
Istio version selector displays both the chart version, and the istio version


Fix segmentation

This pull fixes the obvious bugs in the new elegant-based segment_experiment workflow (i.e. segmenting a whole experiment from the calling process_experiment.segment_experiment). Note that I had to hack the subprocess call in segment_images; the call uses kwargs that were introduced with python 3.7 (scopes are on 3.6). Feel free to revert this hack or keep it around until we do the next software upgrade for the scopes.
Side note: worm_segmenter is now data-only (+executable) as suggested. Everything has been updated and tested on purple.

looks good -- thanks! I can work around the subprocess limitations using the older API.

Here's the equivalent functionality in py3.6-speak: 2749a0f

No, thank you for testing and debugging!! Sorry I didn’t get a chance to do so sooner...

On Sep 10, 2018, at 1:22 PM, Drew Sinha<EMAIL_ADDRESS>wrote:
Cool - thanks!

From: Zachary Pincus<EMAIL_ADDRESS>Sent: Sunday, September 9, 2018 9:42:54 PM
To: zplab/elegant
Cc: Sinha, Drew; Author
Subject: Re: [zplab/elegant] Fix segmentation (#31)
Here's the equivalent functionality in py3.6-speak: 2749a0fhttps://github.com/zplab/elegant/commit/2749a0fc552312220c34ca3029702019ae03a26b
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/zplab/elegant/pull/31#issuecomment-419771535, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AXTrCuJTQZyIXAUMkL4asd6Mgbo-xAHXks5uZdGugaJpZM4WgaDJ.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub, or mute the thread.


[BUG]: editorInstance?.setEditable is not a function

I am using extremely simple example in expo
const editor = useEditorBridge({
bridgeExtensions: [
PlaceholderBridge.configureExtension({
placeholder: 'Type something...',
}),
],
});
return (

<RichText editor={editor} style={{height: 250, marginTop: -14}}
/>
The RichText works, but as soon as I put in the bridgeExtensions I get this error:
editorInstance?.setEditable is not a function (it is undefined)
I tried setting conditionals, I tried rendering the RichText when the instance is available, nothing has worked so far. Why is this happening?

Hey @Bauss9,
You need to add the CoreBridge but in your case I'm guessing you want all of them enabled. Update your code to
const editor = useEditorBridge({
  bridgeExtensions: [
    ...TenTapStartKit,
    PlaceholderBridge.configureExtension({
        placeholder: 'Type something...',
    }),
  ],
});


[CI] Pin docker to 24.0

Why are these changes needed?
Docker 25.0 was released on January 19 which coincides with when #1859 started occurring.
Regardless of whether this fixes the issue or not, we should merge this PR. The Docker version should be pinned to increase the stability of our CI.
This PR vendors the Docker install script which is also under the Apache 2.0 license.

Related issue number

Checks

[ ] I've made sure the tests are passing.
Testing Strategy

[ ] Unit tests
[ ] Manual tests
[ ] This PR is not tested :(

Still doesn't fix the issue, we get the same error: https://buildkite.com/ray-project/ray-ecosystem-ci-kuberay-ci/builds/3022#018d32bd-8c94-4932-ac55-5abeb7e77e3d/251-576

@kevin85421 I think it may still be worth merging this PR to make CI more stable in the future.  For example, it makes it impossible for an external docker upgrade to break CI, so it reduces the number of things we have to check when CI randomly breaks.  What do you think? We can change the pin to 25.0.

Reopening this PR so I can continue testing.

Ah, this PR only affects the docker client version, not the docker server version. I was using docker --version to check, but that only shows the client version.   docker info shows the server version as well:
root@ba2a950ca1ae:/go/kuberay# docker info
Client: Docker Engine - Community
 Version:    24.0.7
 Context:    default
 Debug Mode: false
 Plugins:
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.12.1
    Path:     /usr/libexec/docker/cli-plugins/docker-buildx
  compose: Docker Compose (Docker Inc.)
    Version:  v2.24.1
    Path:     /usr/libexec/docker/cli-plugins/docker-compose

Server:
 Containers: 1
  Running: 1
  Paused: 0
  Stopped: 0
 Images: 2
 Server Version: 25.0.0


dropping a user happens before revoking role_grants

Provider Version
"0.25.10"
Terraform Version
v1.0.2
Describe the bug
When creating users and then dropping them, I am experiencing a error because snowflake_role_grant wants to update the users attribute in place after the user is dropped.
Expected behavior
snowflake_role_grants should be applied after snowflake_user on creation.
snowflake_role_grants should be applied  before snowflake_user destruction.
Code samples and commands
locals {
    "HR_ANALYST" = {
      warehouse : "HR_WH",
      can_create: []
      can_read : ["ANALYTICS__HR"],
      users : {
        "minnie.mouse" = {}
        #  "micky.mouse" = {}
      }
    }

  users_map = { for item in flatten([
    for role, v in local.functional_roles : [
      for key, user in v.users : {
        name              = key
        first_name        = title(split(".", key)[0])
        last_name         = length(split(".", key)) > 1 ? title(split(".", key)[1]) : null
        default_role      = role
        granted_to_roles  = toset(compact((flatten([role, lookup(user, "extra_roles", "")]))))
        default_warehouse = v.warehouse
        email             =<EMAIL_ADDRESS>      }
    ]
    ]) : item.name => item
  }
}

resource "snowflake_role" "functional" {
  for_each = local.functional_roles
  name     = upper(each.key)
  provider = snowflake.sec
}

resource "snowflake_role_grants" "functional_to_users" {
  for_each  = snowflake_role.functional
  provider  = snowflake.sec
  role_name = upper(each.key)

  roles = flatten([
    "SYSADMIN"
  ])

  users = [for v in keys(local.functional_roles[each.key].users): snowflake_user.users[v].name]

}

resource "snowflake_user" "users" {
  provider = snowflake.sec
  for_each = local.users_map

  name         = each.key
  first_name   = each.value.first_name
  last_name    = each.value.last_name
  email        = each.value.email
  login_name   = each.value.email
  default_role = snowflake_role.functional[each.value.default_role].name
}

Additional context
comment/uncomment micky.mouse to reveal the problem. (user micky.mouse does not exist)

Hi @rudeb0y ! Any idea about whether or not a solution to this problem might be coming soon?
We are using the terraform-provider to create a role hierarchy to help managing permissions on our database. We have recently needed to remove a few outdated roles, and are running into this exact error.
Also, do you have any suggestions on how to best handle this issue before there is a fix?
Thanks! And great work

Hi @FredericoCoelhoNunes - I don't think this is something that is easily fixed, or I wouldn't know how. After I filed this I figured that it might be more of an issue for terraform than the provider.

Hi @rudeb0y , thanks for your reply. Could you elaborate on why you think this is a Terraform issue? I might be totally wrong, by I would assume that the order in which resources are executed is defined in the provider code, or no? is it something more lower-level?


Enable guests to detect more than 64GB of memory

This was a partial merge from UDK2015 Ovmf to enable Windows guests to
see more than 64GB of RAM.

Nice work: thanks !


Changesets and 0.7.0 release

Also removed release-please configs, which we never used.

Codecov Report

Merging #1687 (d825890) into develop (04259c3) will not change coverage.
The diff coverage is n/a.

:exclamation: Current head d825890 differs from pull request most recent head 4385ca1. Consider uploading reports for the commit 4385ca1 to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff            @@
##           develop    #1687   +/-   ##
========================================
  Coverage    71.58%   71.58%
========================================
  Files           92       92
  Lines         4656     4656
  Branches       853      853
========================================
  Hits          3333     3333
  Misses        1318     1318
  Partials         5        5

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


Deliver roadmap of dates for all Jamborees for Bionetworks

Jamborees will be only for Bionetworks requiring them. As of 02/03/2023, it appears a max of 3 Bionetworks will require one.

Bionetworks are still moving in this direction ... 02/05/2024. We are waiting on their scheduling.


some flags arent here

the flags arent here
TEAM_PSEUDO_USER (2 ^ 10) and  BOT_HTTP_INTERACTIONS (2 ^19)

Hey @Mrgaton,
It doesn't seem like these flags belong to any badge, whats up with those?

From the discord DEVELOPER PORTAL

there are some flags that aren't here

From the discord DEVELOPER PORTAL

there are some flags that aren't here

Those flags have nothing to do with the repository.


Dashboard should show information about hardware, performance workload, cpu info, memory info, hdd info

#31


Why can’t I access the member of a proto message？

# file_name: test.proto
message base
{
    optional uint32 n = 1;
}
message Test
{
    optional base test = 1;
}

import test_pb2
def demo(req: test_pb2.Test) -> str:
    print(req.test.n)  # unknown and cannot access the member

how can I deal with the lint?

I'm going to close this; this has been labeled as waiting for a response for about a month and this behavior is expected for protobuf's generated code.


bug() : Editor Scrolling when user zooms in or out

Description
The scrolling was handled by the CustomText class and the event emitted during scroll is yscroll or xscroll. Unlike shortcuts, scrolling cannot be stopped by simply binding a shortcut. To suppress the scroll event when the control is pressed, we use an indicator variable in the CustomText class to check whether control key is pressed or not. If pressed then we exclude the scroll events like xscroll and yscroll.
Fixes #23
Have you read the Contributing Guidelines on Pull Requests?

[x] Yes
[ ] No

Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
[ ] Documentation Update

Checklist:

[x] My works and is relatively clean.
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas

@all-contributors please add @Sid200026 for bug

@all-contributors please add @Sid200026 for bug


Redesigned the searchBar. Different look in Dark and Light ModeFeature

Description
Before the search bar had default look but not it has been designed to a design similar to Instagram(not the functionality just the design)
Issue Resolved
Fixed #37
Screenshot
Light Theme:

s
Dark Theme:

Checklist
Please make sure to review the following before submitting your PR:

[X] I have read the contribution guidelines.
[X] I have read the code of conduct.
[X] I have reviewed my submission in detail.

Lgtm, great work ! @neil0504 😄

Thank you @ken1000minus7 . it was great working on this PR


semver versioning dependency breaks on es5-ext 0.10.52

Throws the following exception when a newer version of es5-ext is installed
internal/modules/cjs/loader.js:583
    throw err;
    ^

Error: Cannot find module 'es5-ext/object/assign'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
    at Function.Module._load (internal/modules/cjs/loader.js:507:25)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:22:18)
    at Object.<anonymous> (/home/me/some-project/backend/node_modules/d/index.js:5:23)
    at Module._compile (internal/modules/cjs/loader.js:689:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
    at Module.load (internal/modules/cjs/loader.js:599:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
    at Function.Module._load (internal/modules/cjs/loader.js:530:3)
    at Module.require (internal/modules/cjs/loader.js:637:17)
    at require (internal/modules/cjs/helpers.js:22:18)
    at Object.<anonymous> (/home/me/some-project/backend/node_modules/cli-color/index.js:3:9)

I was able to get it working with...
// package.json
"resolutions": {
  "cli-color/**/es5-ext": "0.10.51"
}

@cawalch It looks as problem with your installation.
cli-color has es5-ext dependency properly configured and<EMAIL_ADDRESS>has es5-ext/object/assign module.
I'm closing it now, but if you have further doubts do not hesitate to comment

Confirmed it was local.
There was a cached version of es5-ext missing object/assign. Clearing my yarn cache fixed it.
Thanks!