RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. If you are running on a CPU-only machine, please use torch.load with map_location=torch.device('cpu') to map your storages to the CPU.

I have converted my model into torch serve format and it is trained on GPU , while inferencing I found that by default inference.py uses cuda for inferencing. We can specify device while inferencing through normal mmdetection models but in conversion this is not available which gives the error. Below is the error traceback-
2021-06-02 17:27:53,113 [WARN ] W-9004-table_1.0 org.pytorch.serve.wlm.BatchAggregator - Load model failed: table, error: Worker died.
2021-06-02 17:27:53,113 [DEBUG] W-9004-table_1.0 org.pytorch.serve.wlm.WorkerThread - W-9004-table_1.0 State change WORKER_STARTED -> WORKER_STOPPED
2021-06-02 17:27:53,113 [WARN ] W-9004-table_1.0 org.pytorch.serve.wlm.WorkerLifeCycle - terminateIOStreams() threadName=W-9004-table_1.0-stderr
2021-06-02 17:27:53,113 [WARN ] W-9004-table_1.0 org.pytorch.serve.wlm.WorkerLifeCycle - terminateIOStreams() threadName=W-9004-table_1.0-stdout
2021-06-02 17:27:53,113 [INFO ] W-9004-table_1.0 org.pytorch.serve.wlm.WorkerThread - Retry worker: 9004 in 2 seconds.
2021-06-02 17:27:53,132 [INFO ] W-9004-table_1.0-stderr org.pytorch.serve.wlm.WorkerLifeCycle - Stopped Scanner - W-9004-table_1.0-stderr
2021-06-02 17:27:53,132 [INFO ] W-9004-table_1.0-stdout org.pytorch.serve.wlm.WorkerLifeCycle - Stopped Scanner - W-9004-table_1.0-stdout
2021-06-02 17:27:55,499 [INFO ] W-9000-table_1.0-stdout MODEL_LOG - Listening on port: /tmp/.ts.sock.9000
2021-06-02 17:27:55,499 [INFO ] W-9000-table_1.0-stdout MODEL_LOG - [PID]39202
2021-06-02 17:27:55,500 [INFO ] W-9000-table_1.0-stdout MODEL_LOG - Torch worker started.
2021-06-02 17:27:55,500 [DEBUG] W-9000-table_1.0 org.pytorch.serve.wlm.WorkerThread - W-9000-table_1.0 State change WORKER_STOPPED -> WORKER_STARTED
2021-06-02 17:27:55,500 [INFO ] W-9000-table_1.0 org.pytorch.serve.wlm.WorkerThread - Connecting to: /tmp/.ts.sock.9000
2021-06-02 17:27:55,500 [INFO ] W-9000-table_1.0-stdout MODEL_LOG - Python runtime: 3.8.5
2021-06-02 17:27:55,500 [INFO ] W-9000-table_1.0-stdout MODEL_LOG - Connection accepted: /tmp/.ts.sock.9000.
2021-06-02 17:27:55,502 [INFO ] W-9003-table_1.0-stdout MODEL_LOG - Listening on port: /tmp/.ts.sock.9003
2021-06-02 17:27:55,502 [INFO ] W-9003-table_1.0-stdout MODEL_LOG - [PID]39205
2021-06-02 17:27:55,503 [INFO ] W-9003-table_1.0-stdout MODEL_LOG - Torch worker started.
2021-06-02 17:27:55,503 [DEBUG] W-9003-table_1.0 org.pytorch.serve.wlm.WorkerThread - W-9003-table_1.0 State change WORKER_STOPPED -> WORKER_STARTED
2021-06-02 17:27:55,503 [INFO ] W-9003-table_1.0-stdout MODEL_LOG - Python runtime: 3.8.5
2021-06-02 17:27:55,503 [INFO ] W-9003-table_1.0 org.pytorch.serve.wlm.WorkerThread - Connecting to: /tmp/.ts.sock.9003
2021-06-02 17:27:55,505 [INFO ] W-9003-table_1.0-stdout MODEL_LOG - Connection accepted: /tmp/.ts.sock.9003.
2021-06-02 17:27:55,562 [INFO ] W-9003-table_1.0-stdout MODEL_LOG - Generating grammar tables from /usr/lib/python3.8/lib2to3/Grammar.txt
2021-06-02 17:27:55,571 [INFO ] W-9000-table_1.0-stdout MODEL_LOG - Generating grammar tables from /usr/lib/python3.8/lib2to3/Grammar.txt
2021-06-02 17:27:55,579 [INFO ] W-9006-table_1.0-stdout MODEL_LOG - Listening on port: /tmp/.ts.sock.9006
2021-06-02 17:27:55,581 [INFO ] W-9006-table_1.0-stdout MODEL_LOG - [PID]39198
2021-06-02 17:27:55,582 [INFO ] W-9006-table_1.0-stdout MODEL_LOG - Torch worker started.
2021-06-02 17:27:55,582 [DEBUG] W-9006-table_1.0 org.pytorch.serve.wlm.WorkerThread - W-9006-table_1.0 State change WORKER_STOPPED -> WORKER_STARTED
2021-06-02 17:27:55,582 [INFO ] W-9006-table_1.0 org.pytorch.serve.wlm.WorkerThread - Connecting to: /tmp/.ts.sock.9006
2021-06-02 17:27:55,582 [INFO ] W-9006-table_1.0-stdout MODEL_LOG - Python runtime: 3.8.5
2021-06-02 17:27:55,583 [INFO ] W-9006-table_1.0-stdout MODEL_LOG - Connection accepted: /tmp/.ts.sock.9006.
2021-06-02 17:27:55,663 [INFO ] W-9003-table_1.0-stdout MODEL_LOG - Generating grammar tables from /usr/lib/python3.8/lib2to3/PatternGrammar.txt
2021-06-02 17:27:55,733 [INFO ] W-9006-table_1.0-stdout MODEL_LOG - Generating grammar tables from /usr/lib/python3.8/lib2to3/Grammar.txt
2021-06-02 17:27:55,737 [INFO ] W-9000-table_1.0-stdout MODEL_LOG - Generating grammar tables from /usr/lib/python3.8/lib2to3/PatternGrammar.txt
2021-06-02 17:27:55,831 [INFO ] W-9006-table_1.0-stdout MODEL_LOG - Generating grammar tables from /usr/lib/python3.8/lib2to3/PatternGrammar.txt
2021-06-02 17:27:56,126 [INFO ] W-9001-table_1.0-stdout MODEL_LOG - Listening on port: /tmp/.ts.sock.9001
2021-06-02 17:27:56,126 [INFO ] W-9001-table_1.0-stdout MODEL_LOG - [PID]39233
2021-06-02 17:27:56,126 [INFO ] W-9001-table_1.0-stdout MODEL_LOG - Torch worker started.
2021-06-02 17:27:56,127 [DEBUG] W-9001-table_1.0 org.pytorch.serve.wlm.WorkerThread - W-9001-table_1.0 State change WORKER_STOPPED -> WORKER_STARTED
2021-06-02 17:27:56,127 [INFO ] W-9001-table_1.0-stdout MODEL_LOG - Python runtime: 3.8.5
2021-06-02 17:27:56,127 [INFO ] W-9001-table_1.0 org.pytorch.serve.wlm.WorkerThread - Connecting to: /tmp/.ts.sock.9001
2021-06-02 17:27:56,127 [INFO ] W-9001-table_1.0-stdout MODEL_LOG - Connection accepted: /tmp/.ts.sock.9001.
2021-06-02 17:27:56,149 [INFO ] W-9007-table_1.0-stdout MODEL_LOG - Listening on port: /tmp/.ts.sock.9007
2021-06-02 17:27:56,149 [INFO ] W-9007-table_1.0-stdout MODEL_LOG - [PID]39225
2021-06-02 17:27:56,149 [INFO ] W-9007-table_1.0-stdout MODEL_LOG - Torch worker started.
2021-06-02 17:27:56,149 [INFO ] W-9007-table_1.0-stdout MODEL_LOG - Python runtime: 3.8.5
2021-06-02 17:27:56,150 [DEBUG] W-9007-table_1.0 org.pytorch.serve.wlm.WorkerThread - W-9007-table_1.0 State change WORKER_STOPPED -> WORKER_STARTED
2021-06-02 17:27:56,150 [INFO ] W-9007-table_1.0 org.pytorch.serve.wlm.WorkerThread - Connecting to: /tmp/.ts.sock.9007
2021-06-02 17:27:56,159 [INFO ] W-9005-table_1.0-stdout MODEL_LOG - Listening on port: /tmp/.ts.sock.9005
2021-06-02 17:27:56,159 [INFO ] W-9005-table_1.0-stdout MODEL_LOG - [PID]39230
2021-06-02 17:27:56,159 [INFO ] W-9005-table_1.0-stdout MODEL_LOG - Torch worker started.
2021-06-02 17:27:56,159 [DEBUG] W-9005-table_1.0 org.pytorch.serve.wlm.WorkerThread - W-9005-table_1.0 State change WORKER_STOPPED -> WORKER_STARTED
2021-06-02 17:27:56,160 [INFO ] W-9005-table_1.0-stdout MODEL_LOG - Python runtime: 3.8.5
2021-06-02 17:27:56,160 [INFO ] W-9005-table_1.0 org.pytorch.serve.wlm.WorkerThread - Connecting to: /tmp/.ts.sock.9005
2021-06-02 17:27:56,161 [INFO ] W-9007-table_1.0-stdout MODEL_LOG - Connection accepted: /tmp/.ts.sock.9007.
2021-06-02 17:27:56,166 [INFO ] W-9005-table_1.0-stdout MODEL_LOG - Connection accepted: /tmp/.ts.sock.9005.
2021-06-02 17:27:56,185 [INFO ] W-9001-table_1.0-stdout MODEL_LOG - Generating grammar tables from /usr/lib/python3.8/lib2to3/Grammar.txt
2021-06-02 17:27:56,231 [INFO ] W-9001-table_1.0-stdout MODEL_LOG - Generating grammar tables from /usr/lib/python3.8/lib2to3/PatternGrammar.txt
2021-06-02 17:27:56,239 [INFO ] W-9005-table_1.0-stdout MODEL_LOG - Generating grammar tables from /usr/lib/python3.8/lib2to3/Grammar.txt
2021-06-02 17:27:56,247 [INFO ] W-9007-table_1.0-stdout MODEL_LOG - Generating grammar tables from /usr/lib/python3.8/lib2to3/Grammar.txt
2021-06-02 17:27:56,262 [INFO ] W-9002-table_1.0-stdout MODEL_LOG - Listening on port: /tmp/.ts.sock.9002
2021-06-02 17:27:56,262 [INFO ] W-9002-table_1.0-stdout MODEL_LOG - [PID]39224
2021-06-02 17:27:56,262 [INFO ] W-9002-table_1.0-stdout MODEL_LOG - Torch worker started.
2021-06-02 17:27:56,262 [INFO ] W-9002-table_1.0-stdout MODEL_LOG - Python runtime: 3.8.5
2021-06-02 17:27:56,262 [DEBUG] W-9002-table_1.0 org.pytorch.serve.wlm.WorkerThread - W-9002-table_1.0 State change WORKER_STOPPED -> WORKER_STARTED
2021-06-02 17:27:56,262 [INFO ] W-9002-table_1.0 org.pytorch.serve.wlm.WorkerThread - Connecting to: /tmp/.ts.sock.9002
2021-06-02 17:27:56,263 [INFO ] W-9002-table_1.0-stdout MODEL_LOG - Connection accepted: /tmp/.ts.sock.9002.
2021-06-02 17:27:56,264 [INFO ] W-9004-table_1.0-stdout MODEL_LOG - Listening on port: /tmp/.ts.sock.9004
2021-06-02 17:27:56,265 [INFO ] W-9004-table_1.0-stdout MODEL_LOG - [PID]39244
2021-06-02 17:27:56,265 [INFO ] W-9004-table_1.0-stdout MODEL_LOG - Torch worker started.
2021-06-02 17:27:56,265 [DEBUG] W-9004-table_1.0 org.pytorch.serve.wlm.WorkerThread - W-9004-table_1.0 State change WORKER_STOPPED -> WORKER_STARTED
2021-06-02 17:27:56,265 [INFO ] W-9004-table_1.0 org.pytorch.serve.wlm.WorkerThread - Connecting to: /tmp/.ts.sock.9004
2021-06-02 17:27:56,265 [INFO ] W-9004-table_1.0-stdout MODEL_LOG - Python runtime: 3.8.5
2021-06-02 17:27:56,268 [INFO ] W-9004-table_1.0-stdout MODEL_LOG - Connection accepted: /tmp/.ts.sock.9004.
2021-06-02 17:27:56,287 [INFO ] W-9005-table_1.0-stdout MODEL_LOG - Generating grammar tables from /usr/lib/python3.8/lib2to3/PatternGrammar.txt
2021-06-02 17:27:56,293 [INFO ] W-9007-table_1.0-stdout MODEL_LOG - Generating grammar tables from /usr/lib/python3.8/lib2to3/PatternGrammar.txt
2021-06-02 17:27:56,328 [INFO ] W-9004-table_1.0-stdout MODEL_LOG - Generating grammar tables from /usr/lib/python3.8/lib2to3/Grammar.txt
2021-06-02 17:27:56,335 [INFO ] W-9002-table_1.0-stdout MODEL_LOG - Generating grammar tables from /usr/lib/python3.8/lib2to3/Grammar.txt
2021-06-02 17:27:56,381 [INFO ] W-9002-table_1.0-stdout MODEL_LOG - Generating grammar tables from /usr/lib/python3.8/lib2to3/PatternGrammar.txt
2021-06-02 17:27:56,383 [INFO ] W-9004-table_1.0-stdout MODEL_LOG - Generating grammar tables from /usr/lib/python3.8/lib2to3/PatternGrammar.txt
2021-06-02 17:28:01,363 [INFO ] W-9003-table_1.0-stdout MODEL_LOG - No CUDA runtime is found, using CUDA_HOME='/usr'
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG - Use load_from_local loader
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG - Backend worker process died.
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG - Traceback (most recent call last):
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -   File "/home/billion/PycharmProjects/tablecell_inference/venv/lib/python3.8/site-packages/ts/model_service_worker.py", line 182, in <module>
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -     worker.run_server()
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -   File "/home/billion/PycharmProjects/tablecell_inference/venv/lib/python3.8/site-packages/ts/model_service_worker.py", line 154, in run_server
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -     self.handle_connection(cl_socket)
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -   File "/home/billion/PycharmProjects/tablecell_inference/venv/lib/python3.8/site-packages/ts/model_service_worker.py", line 116, in handle_connection
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -     service, result, code = self.load_model(msg)
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -   File "/home/billion/PycharmProjects/tablecell_inference/venv/lib/python3.8/site-packages/ts/model_service_worker.py", line 89, in load_model
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -     service = model_loader.load(model_name, model_dir, handler, gpu, batch_size, envelope)
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -   File "/home/billion/PycharmProjects/tablecell_inference/venv/lib/python3.8/site-packages/ts/model_loader.py", line 110, in load
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -     initialize_fn(service.context)
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -   File "/tmp/models/4a1d614beb934891bccdbab9eb454537/mmdet_handler.py", line 27, in initialize
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -     self.model = init_detector(self.config_file, checkpoint, self.device)
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -   File "/home/billion/PycharmProjects/tablecell_inference/venv/lib/python3.8/site-packages/mmdet/apis/inference.py", line 42, in init_detector
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -     checkpoint = load_checkpoint(model, checkpoint, map_location=map_loc)
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -   File "/home/billion/PycharmProjects/tablecell_inference/venv/lib/python3.8/site-packages/mmcv/runner/checkpoint.py", line 522, in load_checkpoint
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -     checkpoint = _load_checkpoint(filename, map_location, logger)
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -   File "/home/billion/PycharmProjects/tablecell_inference/venv/lib/python3.8/site-packages/mmcv/runner/checkpoint.py", line 466, in _load_checkpoint
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -     return CheckpointLoader.load_checkpoint(filename, map_location, logger)
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -   File "/home/billion/PycharmProjects/tablecell_inference/venv/lib/python3.8/site-packages/mmcv/runner/checkpoint.py", line 243, in load_checkpoint
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -     return checkpoint_loader(filename, map_location)
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -   File "/home/billion/PycharmProjects/tablecell_inference/venv/lib/python3.8/site-packages/mmcv/runner/checkpoint.py", line 260, in load_from_local
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -     checkpoint = torch.load(filename, map_location=map_location)
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -   File "/home/billion/PycharmProjects/tablecell_inference/venv/lib/python3.8/site-packages/torch/serialization.py", line 594, in load
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -     return _load(opened_zipfile, map_location, pickle_module, **pickle_load_args)
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -   File "/home/billion/PycharmProjects/tablecell_inference/venv/lib/python3.8/site-packages/torch/serialization.py", line 853, in _load
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -     result = unpickler.load()
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -   File "/home/billion/PycharmProjects/tablecell_inference/venv/lib/python3.8/site-packages/torch/serialization.py", line 845, in persistent_load
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -     load_tensor(data_type, size, key, _maybe_decode_ascii(location))
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -   File "/home/billion/PycharmProjects/tablecell_inference/venv/lib/python3.8/site-packages/torch/serialization.py", line 834, in load_tensor
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -     loaded_storages[key] = restore_location(storage, location)
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -   File "/home/billion/PycharmProjects/tablecell_inference/venv/lib/python3.8/site-packages/torch/serialization.py", line 175, in default_restore_location
2021-06-02 17:28:01,364 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -     result = fn(storage, location)
2021-06-02 17:28:01,365 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -   File "/home/billion/PycharmProjects/tablecell_inference/venv/lib/python3.8/site-packages/torch/serialization.py", line 151, in _cuda_deserialize
2021-06-02 17:28:01,365 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -     device = validate_cuda_device(location)
2021-06-02 17:28:01,365 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -   File "/home/billion/PycharmProjects/tablecell_inference/venv/lib/python3.8/site-packages/torch/serialization.py", line 135, in validate_cuda_device
2021-06-02 17:28:01,365 [INFO ] W-9003-table_1.0-stdout MODEL_LOG -     raise RuntimeError('Attempting to deserialize object on a CUDA '
2021-06-02 17:28:01,365 [INFO ] W-9003-table_1.0-stdout MODEL_LOG - RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. If you are running on a CPU-only machine, please use torch.load with map_location=torch.device('cpu') to map your storages to the CPU.
2021-06-02 17:28:01,409 [WARN ] W-9003-table_1.0-stderr MODEL_LOG - /home/billion/PycharmProjects/tablecell_inference/venv/lib/python3.8/site-packages/mmdet/models/builder.py:70: UserWarning: train_cfg and test_cfg is deprecated, please specify them in model

How can I map my model to cpu externally or is it possible during conversion?

Change device to 'cpu' when you calling init_detector(self.config_file, checkpoint, self.device) function.

CUDA is used in inference API in by default. I know to pass the cpu parameter when inferencing through init_detector function explicitly but after or during conversion in torchserve format I don't have any idea.

Any update on this? I also have same issue.
The serving docker image works fine with the --gpus flag, but if you omit this like the docs say (https://mmdetection.readthedocs.io/en/latest/useful_tools.html?highlight=TorchServe#run-mmdet-serve) you get the above error.

Same here. This is because the GPU is available on your computer but you want to use the CPU
        self.map_location = 'cuda' if torch.cuda.is_available() else 'cpu'
self.device = torch.device(self.map_location + ':' +
str(properties.get('gpu_id')) if torch.cuda.
is_available() else self.map_location)
Change them to 'cpu' before convert model to torchserve


docs: split list into project-internal and public interfaces

As the interface spec library continues to grow, the readme will soon become quite unwieldy to parse and navigate. As suggested by @massigori in a verbal conversation, we suggest to break it into internal and public interfaces. I took the liberty to break the internal interface list up on a per project basis.

@massigori: Should hydra_endpoints move into internal?
@delgod: Should database_backup move into internal?
@Lukewh: when this merges, some adjustments might be required in the charmhub interfaces page, depending on how the scraping is implemented.

@simskij yes, the only public one we will have at this stage is oauth. We will soon land 2 more internal interfaces

Should database_backup move into internal?

No, this should be a generic interface, not an internal one

I'm assuming the "Public" list should show on charmhub.io, and the "Internal" list is, well, internal?
It might be useful to add a document explaining the differences, as there is for the legend?

@jnsgruk @gruyaume @simskij we still need to know what we should be displaying on charmhub.io. Is it just the public table?

@jnsgruk @gruyaume @simskij we still need to know what we should be displaying on charmhub.io. Is it just the public table?

Yes, I think that's probably most useful for now at least.


[PDI-18671] Out of Memory Error when using Database Lookup Step with Cache Enabled

Database lookup cache reached to many entries in the reported case using dates.
This is the case when the lookup table uses Date objects (Without time). The key of the database cache was the Date object but was being stored with time. This caused multiple keys to be stored for the same values.
Also the db lookup cache stored a TimedRow object which adds a Date object to each entry. This TimedRow was used in the past to order entries and eliminate the oldest. The cache uses a LinkedHashMap which garantees the order of input. So we can rely on the order of the LinkedHashMap to eliminate the oldest entry and remove the TimedRow.
3 different commits:
1 - Added Unit Tests to DefaultCache testing store and get operations
2 - Removal of TimedRow from DefaultCache
3 - When Date objects are used and we are formating the value only with Dates (no time part) trim the Date object of its timepart in order to store only the date itself avoiding clogging the cache with unnecessary entries.

:white_check_mark: Build finished in 39m 37s
Build command:
mvn clean verify -B -e -Daudit -amd -pl core,engine

:ok_hand: All tests passed!
Tests run: 4819, Failures: 0, Skipped: 7    Test Results

:information_source:  This is an automatic message

:white_check_mark: Build finished in 39m 52s
Build command:
mvn clean verify -B -e -Daudit -amd -pl core,engine

:ok_hand: All tests passed!
Tests run: 4819, Failures: 0, Skipped: 7    Test Results

:information_source:  This is an automatic message


GEOMESA-1356 The Native API's query-builder should allow temporal bou…

…nds to be (in|ex)clusive
Added a new builder function and corresponding unit tests.
Signed-off-by: Chris Eichelberger<EMAIL_ADDRESS>

looks good to me

This is good to go once the headers are added.  I'd really like to see 'before' and 'after' added.
Repeated calls to before/after can just reset the value.

Looks good to me.  As soon as Travis says 'Green', let's merge it.


Wrong configuration parameter in README.md

'rulesets' writes instead 'ruleSets' in section Options for detekt configuration closure

Hey, it is the perfect way for you to contribute, wanna try :) ?

Ok, thnks!) I'll try.


Feature Request: Bring back dragging of mini player by holding album art.

OS: Arch Linux
Issue Descriptions: In older versions you could drag around the mini player by holding down the album art, this has now been removed
Steps to Reproduce: Turn on mini player, try moving window by holding the album art and dragging.
I am using the i3 window manager and have turned off title bars on windows, but in the newest update of the player I can no longer drag around the mini player without the bars turned on (I turned them back on just to move around the mini player).

(Here is what I am referencing, the bar on top used to not be present.)
Is it possible to bring back the old dragging interface?

You can bring back the old dragging interface by disabling the "native window frame" option in the app settings.

Thanks


Add Python 3.5 to tox and trove classifiers

We test against Python 3.5:
https://github.com/twisted/constantly/blob/3189c1b4913565caf6280213e2b09e503f7ef148/.travis.yml#L4-L9
But we don't have an explicit tox enviroment for it:
https://github.com/twisted/constantly/blob/3189c1b4913565caf6280213e2b09e503f7ef148/tox.ini#L2
Or a trove classifier:
https://github.com/twisted/constantly/blob/3189c1b4913565caf6280213e2b09e503f7ef148/setup.py#L21-L32
constantly should have both a Python 3.5 tox environment and trove classifier.

OBE, but also fixed.


x/pkgsite: add Affected Symbols section to vulnerability pages

For example, https://pkg.go.dev/vuln/GO-2021-0113 should have an "Affected Symbols" section explicitly listing these symbols from the ecosystem_specific.imports.symbols section:
"MatchStrings",
"MustParse",
"Parse",
"ParseAcceptLanguage"

See https://github.com/golang/vulndb/issues/967 and https://pkg.go.dev/vuln/GO-2022-0646.

Blocked by https://github.com/golang/go/issues/54992

I am afraid the table view can be a bit too crowed depending on the number of symbols.
Suggestions are welcome.

It might make sense to list the information vertically, as opposed to in a table. It is also likely that in many reports, all exported symbols will be affected.
/cc @jinhongy @fflewddur for UX input
We should also only list exported symbols on this page, and maybe link to the corresponding pkg.go.dev/# page (This is #52660). We compute derived symbols when creating the reports, for this use case on pkgsite.

@julieqiu Where is the derived symbols field? I don't see derived symbols in the example data nor the osv package types (https://pkg.go.dev/golang.org/x/vuln/osv#EcosystemSpecificImport).

This is cl/429678 patchset 3
List affected symbols (exported only) in the next <tr>.

When multiple packages are affected:

When there are more than N (e.g. 5) symbols for a package, use <details> or javascript to show more.

I would recommend to use the table considered the case that we might have multiple packages with multiple affected symbols. We can make it clear even with huge amount of affected symbols with following adjustment:

One symbol for each line
Only show max symbols by default, it there are more, add a " # more" link behind
Expand the rest of all affected symbols in the table if developers click on the more link

Thanks @jinhongy! Would you mind sharing what the mobile design would look like? Here's the current mobile view:

Here is my recommendation for responsive table in mobile view

Thanks @jinhongy
In the cl/429678 patchset 4, I made it to the three-column (Package, Versions, Symbols) table for wide screens, and made it similar to @jinhongy's mock for narrower screens.
I hope use of grid gives us more flexibility.
To make it look more polished, I need help from @jamalc or @jinhongy who are more capable of js/css.
Wide screen

Differences from @jinhongy 's suggestion

three columns instead of 4 columns: because there can be multiple version ranges.
versions before symbols: because IMO version range info is more important than individual symbol list.
use <details> instead of the delicate expansion feature: I hope someone more capable of CSS & JS handle the issue if we decide to show the first N.
print full package path only instead of the package name: Need investigation
didn't linkify symbols - that is https://github.com/golang/go/issues/52660

Mobile view

Collapsed

Expanded


Checkin Logs

Is there a location where the final results of the checkin attempt is logged? "You got seat B45"

if you set up email notifications, that will show you what boarding position you got.
the only logging that happens is for errors.


Support periodic-type improper in CHARMM FF

Hi, BLaDE developer(s).
While testing lambda-dynamics with ligands parameterized using GAFF, we realized that the periodic-type improper in CHARMM PRM file, which uses a cosine functional form, is not supported.
So, I made a slight change to support it.
It would be great if you consider merging this update into BLaDE.
Please let me know if there is any issue.

Merged this into the CHARMM version of BLaDE too, if that matters to you. It's currently in dev-release branch msld_rlh_amber, and should make it's way out to the public version eventually.


UDP Socket API

Still needs ICMP integration as of now, so it we need to expand on ICMP before we can finish UDP (and TCP) sockets

@fwsGonzo @AndreasAakesson - reviewing UDP-sockets now, are they consistent with TCP sockets?

TCP doesn't have a "Socket API" anymore, so no. It would take some work to make one look like the other, even though UDP is stateless. TCP should be stable now, so we can use that. I imagine SocketUDP or whatever its called will become UDP::Something (its definitely not a connection). But people are not used to any of the things we are doing now anyways. UDP belongs in connectionless communication. Feel free to suggest names.

What's the status on this issue? Imo the UDP API looks good - it's difficult to make it look more like TCP. Is the issue the TCP API - should it look more like POSIX or can the UDP and TCP look different from each other?

I revamped it already, and we ended up with UDPSocket or SocketUDP (I dont remember which). And it's probably fine now.


build(oxygen): add-on v0.0.8

As a kind of Release Candidate of v1.6.0, this pull request publishes the latest master via Oxygen add-on channel.
I tested this change on Oxygen 22.0 build<PHONE_NUMBER> using https://github.com/AirQuick/xspec/raw/oxy-addon_0-0-8/oxygen-addon.xml.

Should be on hold until #893 and #894 get merged.

I tested this change on Oxygen 22.0 build<PHONE_NUMBER> using https://github.com/AirQuick/xspec/raw/oxy-addon_0-0-8/oxygen-addon.xml.

Tested again with #894.
I'm merging this, and directly I will verify the add-on online.

I'm merging this, and directly I will verify the add-on online.

Done. The upgrade from v0.0.7 was offered and v0.0.8 is working fine on Oxygen 22.0 build<PHONE_NUMBER>.


How to display info?

How to display info about again:
NAV Admin Username  : ???
NAV Admin Password  : ???
Container IP Address: ??
Container Hostname  : ???
Web Client          : ???
Dev. Server         : ???
Dev. ServerInstance : ???
Files:
?????
?????http://4d6047c27961:8080/certificate.cer

You cannot get the container to display these things again.
Typically you have given these things to docker as parameters, so the display is only for convenience if you didn't give the parameter.
you can see container IP address and hostname with docker ps
dev. server is http://hostname (or https depending on whether or not you use SSL)
dev. server instance is always NAV
files can be viewed by opening http://hostname:8080

try docker logs <container id>
At least this works then you start the container with -d parameter, don't know if it works when you start it without -d.

Yes, this one works always and you can see all data being logged.

Sorry for maybe obvious questions, but I'm new in docker.
Thank You all guys.


"linearToRelativeLuminance()" has been renamed

Description of the bug
When force-installing Three.js r143 alongside the latest version of postprocessing I encounter the following error:

It appears that the latest version of Three.js has renamed this function to luminance().
A quick search of postprocessing shows that this function is used in a few shaders, such as "src/effects/glsl/fxaa.frag".
Not a big deal since I'm technically not using a supported version, but figured I'd flag this if it wasn't on the radar! Thank you for the awesome library!
Relevant PR: https://github.com/mrdoob/three.js/pull/24347

Thanks for the report! This will be fixed in the next release via e69d6ed.

Fixed in<EMAIL_ADDRESS>


An unofficial remake/sequel of that Microsoft game where you tilt your phone to roll a ball around and get into the goal and pick up other balls along the way would be cool.

Not sure if I'd actually try to make this unless I'm bored with all other projects, but I'm just putting this here just in case. I'd have to give credit to Microsoft for the original version and that I got the idea from that one.
I think this should go in its own repo since it's not necessarily directly related to everything else in Retiled, even though it was a Windows Phone game. I'll see. Maybe there will be a "RetiledGames" folder in this repo.
Using Godot 2D would probably work well and be simple enough. I want this to run well on the PinePhone, so Unity is out of the question.
I'd add several features, mainly:

Multiple environments (like adding a forest-style area)
More control options in addition to tilting the device

Touch-and-drag and click-and-drag input

Touching and dragging or clicking and dragging will both simulate tilting the phone in whichever direction was dragged in.
Dragging back to the center will put the ball in neutral.
It would be useful to allow people to change the draggable area to whatever space they need, for better accessibility.

Arrow keys

Simulates tilting, just like dragging.
The keys used can be changed.
Spacebar (or another key of the player's choosing) is used to put the ball in neutral, as if simulating returning the phone to where it was.

PineTime tilt controls would be cool as another way to use tilt controls without tilting the phone itself. Would help with accessibility, as people would be able to continue to see the screen no matter how the watch is tilted. I found I had to move around a lot to continue to see the screen when I played it several years ago.
Anything anyone else implements

Boss levels

One idea is that there can be an "evil ball" that'll cause your balls to split, and if you don't have any to split, then you'll have to try the level again. The "evil ball" could be glowing red and be spiky. You'll have to avoid it as you move your own ball(s) around, as it'll have similar physics to yours.

Importantly, I'd have to say that my version was inspired by theirs existing.


1Pcpxw6wJwXABhjCspe3CNf3gqSeh6eien and get_market_details issue

For a number of markets, when you call 'get_market_details', there is a 'last_trades' false positive which appears for many different asset pairs, some of them are listed below.
    $this->counterblock->execute('get_market_details', [
        'asset1' => 'WPPEPE',
        'asset2' => 'XCP'
    ]);

    $this->counterblock->execute('get_market_details', [
        'asset1' => 'PEPESUS',
        'asset2' => 'XCP'
    ]);

    $this->counterblock->execute('get_market_details', [
        'asset1' => 'MOONPEPE',
        'asset2' => 'XCP'
    ]);

The trade in question is:
    {
      "countersource": "1Pcpxw6wJwXABhjCspe3CNf3gqSeh6eien",
      "amount":<PHONE_NUMBER>,
      "match_id": "514b1ef2d10bf67c2a635f65d99c05a0f18673b98a65f317cfe22206c6125071_df91e13d183e4513254b89f57116bd1e80fcc618cad5f6e87c2a37fc2ae9eb76",
      "total":<PHONE_NUMBER>,
      "type": "BUY",
      "source": "1Pcpxw6wJwXABhjCspe3CNf3gqSeh6eien",
      "price": "1.00000000",
      "status": "completed",
      "block_time":<PHONE_NUMBER>,
      "block_index": 302903
    }

Which is someone trading XCP for XCP, with themselves.
See: http://blockscan.com/orderInfo/14450

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Maybe a solution is to check that trades occur after the most recent issuance block_index of the asset pairs.

Another solution is checking that asset1 != asset2 while returning results. This XCP for XCP trade is unusual.

Another solution is checking that asset1 != asset2

@droplister that's what I do in yet-to-be submitted PR for counterparty-cli


Make default dummy link making, without any structure

:tada: This issue has been resolved in version 1.4.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


fix: handle null in MSW mocks

Status

READY
Description
null needs to be stringified to get MSW mocks to work

Please ignore this PR for now
I might have got it wrong and issues is adding 'Content-Type': 'application/json' to empty response body

Hey @melloware , I checked the source only, it makes sense to me, but I don't use orval for MSW. I also didn't check changes to samples. Hope this helps, cheers!


COMPILE::JS and COMPILE::SWF

I would like to use the extension for framework development.
Currently, code which contains compiler flags for SWF and JS output, cause an error. How can this be resolved?

Duplicate #8
This will be fixed in 0.1.1, which I hope to release this week.

Good to know!


[B19] Caster Gauntlet, Foci, and Enchanted Pickaxe disappeared

Logged out and had all these items in my inventory, plus more, but when I logged in the next day my foci, gauntlet, and pickaxe were gone. I checked all the chests, checked the empty spaces by clicking on them, made sure they weren't on the ground somewhere nearby and couldn't find them.
I remade them and a few days later the same thing happened to more of my foci, my new gauntlets, and my new pickaxe.

This seems related to my issue affecting the same items, duly noted.

U research Focus:Break?
See that post: https://github.com/Azanor/thaumcraft-beta/issues/1234

@SancaVIP  I did not. As I said, all of the listed items were in my inventory before logging out and as soon as I logged in the next day they were all gone.
I hadn't done anything but log in.

I could not replicate this issue, nor dit anyone else report something like this. Closing it for now.


TF2.6 compile error with custom eigen repo

Please make sure that this is a build/installation issue. As per our GitHub Policy, we only address code/doc bugs, performance issues, feature requests and build/installation issues on GitHub. tag:build_template
System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Centos7
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device:
TensorFlow installed from (source or binary): source
TensorFlow version: r2.6
Python version: Python 3.6.8
Installed using virtualenv? pip? conda?: pip
Bazel version (if compiling from source): bazel 3.7.2
GCC/Compiler version (if compiling from source): gcc version 6.5.1 20190307
CUDA/cuDNN version:
GPU model and memory:

Describe the problem
Hi, guys,
I want to compile tensorflow r2.6 with a custom eigen. But it occurs errors.
Provide the exact sequence of commands / steps that you executed before running into the problem
TF r2.6 is compiled successfully.
#bazel build  //tensorflow/tools/pip_package:build_pip_package
...
INFO: Found applicable config definition build:v2 in file /tensorflow/.bazelrc: --define=tf_api_version=2 --action_env=TF2_BEHAVIOR=1
INFO: Found applicable config definition build:linux in file /tensorflow/.bazelrc: --copt=-w --host_copt=-w --define=PREFIX=/usr --define=LIBDIR=$(PREFIX)/lib --define=INCLUDEDIR=$(PREFIX)/include --define=PROTOBUF_INCLUDE_PATH=$(PREFIX)/include --cxxopt=-std=c++14 --host_cxxopt=-std=c++14 --config=dynamic_kernels --distinct_host_configuration=false
INFO: Found applicable config definition build:dynamic_kernels in file /tensorflow/.bazelrc: --define=dynamic_loaded_kernels=true --copt=-DAUTOLOAD_DYNAMIC_KERNELS
DEBUG: /root/.cache/bazel/_bazel_root/68a62076e91007a7908bc42a32e4cff9/external/tf_runtime/third_party/cuda/dependencies.bzl:51:10: The following command will download NVIDIA proprietary software. By using the software you agree to comply with the terms of the license agreement that accompanies the software. If you do not agree to the terms of the license agreement, do not use the software.
INFO: Analyzed target //tensorflow/tools/pip_package:build_pip_package (430 packages loaded, 26907 targets configured).
INFO: Found 1 target...
Target //tensorflow/tools/pip_package:build_pip_package up-to-date:
  bazel-bin/tensorflow/tools/pip_package/build_pip_package
INFO: Elapsed time: 634.229s, Critical Path: 344.77s
INFO: 7345 processes: 387 internal, 6958 local.
INFO: Build completed successfully, 7345 total actions

Based on the same environment, I modified  eigen workspace.bzl of TF r26.
--- a/third_party/eigen3/workspace.bzl
+++ b/third_party/eigen3/workspace.bzl
@@ -9,13 +9,19 @@ def repo():
     EIGEN_COMMIT = "12e8d57108c50d8a63605c6eb0144c838c128337"
     EIGEN_SHA256 = "f689246e342c3955af48d26ce74ac34d21b579a00675c341721a735937919b02"

-    tf_http_archive(
-        name = "eigen_archive",
-        build_file = "//third_party/eigen3:eigen_archive.BUILD",
-        sha256 = EIGEN_SHA256,
-        strip_prefix = "eigen-{commit}".format(commit = EIGEN_COMMIT),
-        urls = [
-            "https://storage.googleapis.com/mirror.tensorflow.org/gitlab.com/libeigen/eigen/-/archive/{commit}/eigen-{commit}.tar.gz".format(commit = EIGEN_COMMIT),
-            "https://gitlab.com/libeigen/eigen/-/archive/{commit}/eigen-{commit}.tar.gz".format(commit = EIGEN_COMMIT),
-        ],
-    )
+    native.new_local_repository(
+       name = "eigen_archive",
+       path = "/mnt/eigen",
+       build_file = "//third_party/eigen3:eigen_archive.BUILD",
+    )

Then I checkout the eigen repo to the same commit id 12e8d57108c50d8a63605c6eb0144c838c128337
$ cd /mnt/eigen
$ git remote -vvv
origin  https://gitlab.com/libeigen/eigen.git (fetch)
origin  https://gitlab.com/libeigen/eigen.git (push)
$ git checkout -b current 12e8d57108c50d8a63605c6eb0144c838c128337

But got an error:
INFO: Analyzed target //tensorflow/tools/pip_package:build_pip_package (430 packages loaded, 26907 targets configured).
INFO: Found 1 target...
ERROR: /tensorflow/tensorflow/core/grappler/costs/BUILD:67:11: C++ compilation of rule '//tensorflow/core/grappler/costs:graph_properties' failed (Exit 1): gcc failed: error executing command
  (cd /root/.cache/bazel/_bazel_root/68a62076e91007a7908bc42a32e4cff9/execroot/org_tensorflow && \
  exec env - \
    LD_LIBRARY_PATH=/usr/local/nvidia/lib64:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64:/usr/local/lib64::/usr/lib/python2.7/site-packages/tensorflow \
    PATH=/opt/zookeeper/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/tops/bin:/opt/zookeeper/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/tops/bin:/usr/X11R6/bin:/opt/satools \
    PWD=/proc/self/cwd \
    PYTHON_BIN_PATH=/home/tops/bin/python3 \
    PYTHON_LIB_PATH=/home/tops/lib/python3.6/site-packages \
    TF2_BEHAVIOR=1 \
  /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' -DNDEBUG -ffunction-sections -fdata-sections '-std=c++11' -MD -MF bazel-out/k8-opt/bin/tensorflow/core/grappler/costs/_objs/graph_properties/graph_properties.pic.d '-frandom-seed=bazel-out/k8-opt/bin/tensorflow/core/grappler/costs/_objs/graph_properties/graph_properties.pic.o' -fPIC -DHAVE_SYS_UIO_H -DTF_USE_SNAPPY -DEIGEN_MPL2_ONLY '-DEIGEN_MAX_ALIGN_BYTES=64' -iquote. -iquotebazel-out/k8-opt/bin -iquoteexternal/com_google_absl -iquotebazel-out/k8-opt/bin/external/com_google_absl -iquoteexternal/nsync -iquotebazel-out/k8-opt/bin/external/nsync -iquoteexternal/eigen_archive -iquotebazel-out/k8-opt/bin/external/eigen_archive -iquoteexternal/gif -iquotebazel-out/k8-opt/bin/external/gif -iquoteexternal/libjpeg_turbo -iquotebazel-out/k8-opt/bin/external/libjpeg_turbo -iquoteexternal/com_google_protobuf -iquotebazel-out/k8-opt/bin/external/com_google_protobuf -iquoteexternal/com_googlesource_code_re2 -iquotebazel-out/k8-opt/bin/external/com_googlesource_code_re2 -iquoteexternal/farmhash_archive -iquotebazel-out/k8-opt/bin/external/farmhash_archive -iquoteexternal/fft2d -iquotebazel-out/k8-opt/bin/external/fft2d -iquoteexternal/highwayhash -iquotebazel-out/k8-opt/bin/external/highwayhash -iquoteexternal/zlib -iquotebazel-out/k8-opt/bin/external/zlib -iquoteexternal/double_conversion -iquotebazel-out/k8-opt/bin/external/double_conversion -iquoteexternal/snappy -iquotebazel-out/k8-opt/bin/external/snappy -isystem external/nsync/public -isystem bazel-out/k8-opt/bin/external/nsync/public -isystem third_party/eigen3/mkl_include -isystem bazel-out/k8-opt/bin/third_party/eigen3/mkl_include -isystem external/eigen_archive -isystem bazel-out/k8-opt/bin/external/eigen_archive -isystem external/gif -isystem bazel-out/k8-opt/bin/external/gif -isystem external/com_google_protobuf/src -isystem bazel-out/k8-opt/bin/external/com_google_protobuf/src -isystem external/farmhash_archive/src -isystem bazel-out/k8-opt/bin/external/farmhash_archive/src -isystem external/zlib -isystem bazel-out/k8-opt/bin/external/zlib -isystem external/double_conversion -isystem bazel-out/k8-opt/bin/external/double_conversion -w -DAUTOLOAD_DYNAMIC_KERNELS '-std=c++14' -fno-canonical-system-headers -Wno-builtin-macro-redefined '-D__DATE__="redacted"' '-D__TIMESTAMP__="redacted"' '-D__TIME__="redacted"' -c tensorflow/core/grappler/costs/graph_properties.cc -o bazel-out/k8-opt/bin/tensorflow/core/grappler/costs/_objs/graph_properties/graph_properties.pic.o)
Execution platform: @local_execution_config_platform//:platform
tensorflow/core/grappler/costs/graph_properties.cc: In member function 'tensorflow::Status tensorflow::grappler::{anonymous}::DisjointSet<Handle>::Merge(Handle, Handle)':
tensorflow/core/grappler/costs/graph_properties.cc:236:30: error: type/value mismatch at argument 1 in template parameter list for 'template<class> struct std::rank'
   if (x_root->rank < y_root->rank) {
                              ^~~~
tensorflow/core/grappler/costs/graph_properties.cc:236:30: note:   expected a type, got 'y_root->.rank'
Target //tensorflow/tools/pip_package:build_pip_package failed to build
INFO: Elapsed time: 74.775s, Critical Path: 63.70s
INFO: 457 processes: 97 internal, 360 local.
FAILED: Build did NOT complete successfully

It really confused me. The error occurs in tensorflow/core/grappler/costs/graph_properties.cc.
Any response is welcomed. Thank you.
Any other info / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.

@axiqia,
Please post this issue on Eigen repo for faster resolution  https://gitlab.com/libeigen/eigen/issues.

Could you please try compiling with the latest Tensorflow version, if you face the issue again, as per the above comment, could you please post the issue in eigen repo. Thanks!


Fix hyperlinker crash when there are no SrcSpans in the file due to CPP

This eliminates a call to error which gets hit in situations when the .hie file doesn't contain any SrcSpans from the file we are actually hyperlinking. This can occur when the file is wholly composed of CPP #includes.
Fixes #1091

Thanks! I can confirm that this allows me to build the Haddocks for vault once more.

Thanks, @harpocrates!
This is probably a long shot, but I don't suppose there's any way to make this fix available in a future version of Haddock to be bundled with a GHC 8.8 point release? I'm not aware of a workaround for the underlying issue, which makes it rather annoying to deal with.

@RyanGlScott I agree that this is pretty nasty bug. I'll open up a MR to bump the Haddock submodule on GHC's 8.8 branch. Maybe Ben will allow it... I seem to recall some thing like this happening before, although it was probably back when the release cadence was much slower.
Do you know what the state is of GHC's head.hackage testing? Maybe haddock-ing could become part of that testsuite to catch this sort of breakage before releasing. Evidently the bootlibs are not enough, since that's what I'd been using.

Do you know what the state is of GHC's head.hackage testing?

The head.hackage repo does have proper CI now, although it's unclear to me whether running Haddock is a part of this CI (perhaps @bgamari could answer this question). Even if it does run Haddocks, I'm not sure if it specifically enables the --hyperlinked-source flag. I myself didn't notice this because cabal haddock (which is my usual tool of the trade) doesn't enable --hyperlinked-source by default—it's only when I tried out stack haddock one day where I did notice it, since that does use --hyperlinked-source by default.

@bgamari Would it be possible to bump the Haddock submodule again for 8.8.2? This bug is pretty nasty. If it is possible, I'll make the version changes and open a MR.


Updates to Spgfit: Includes example notebook

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
65 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.001%) to 3.316%

Files with Coverage Reduction
New Missed Lines
%

spgfit/learn.py
65
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.001%

Covered Lines:
188

Relevant Lines:
5669

💛  - Coveralls


chore: Rename mul-div cancellation lemmas

Lemma names around cancellation of multiplication and division are a mess.
This PR renames a handful of them according to the following table (each big row contains the multiplicative statement, then the three rows contain the GroupWithZero lemma name, the Group lemma, the AddGroup lemma name).

Statement
New name
Old name

(a * b) / a = b
mul_div_eq_right₀
mul_div_cancel_left

mul_div_eq_right
mul_div_cancel'''

add_sub_eq_right
add_sub_cancel'

(a * b) / b = a
mul_div_eq_left₀
mul_div_cancel

mul_div_eq_left
mul_div_cancel''

add_sub_eq_left
add_sub_cancel

a / (a * b) = b⁻¹
div_mul_eq_inv_right₀
div_mul_right (roughly)

div_mul_eq_inv_right
div_mul_cancel''

sub_add_eq_neg_right
sub_add_cancel'

a / (a * b) = a⁻¹
div_mul_eq_inv_left₀
div_mul_left (roughly)

div_mul_eq_inv_left
div_mul_cancel'''

sub_add_eq_neg_left
sub_add_cancel''

a * (b / a) = b
mul_div_cancel₀
mul_div_cancel'

mul_div_cancel
mul_div_cancel'_right

add_sub_cancel
add_sub_cancel'_right

(a / b) * b = a
div_mul_cancel₀
div_mul_cancel

div_mul_cancel
div_mul_cancel'

sub_add_cancel
sub_add_cancel

For these kinds of basic lemma renames, it might be good to make a Zulip thread with the suggested renames, and only do it if nobody objects for 1-2 days.
Some of the old names matched the naming of mul_inv_cancel_right + siblings (mul_inv_cancel_left, inv_mul_cancel_left, inv_mul_cancel_right).
That said, this is definitely an improvement over all the primed lemmas.

Zulip

Second Zulip thread for more visibility. I'm happy to merge this in ~24 hours if there is no serious criticism.

I think the rename I suggested is popular. If you change the names to that naming scheme, then I'll merge/delegate this.

LGTM. I didn't have time yesterday to look at this again, so hopefully there are not conflicts.
bors merge (let's try, but I'm not too hopeful)
bors d+

bors merge


Awesome - but some issues with latest yazi

Great plug in. But in trying to use it with the latest nightly Yazi 0.3.3 (26263ec 2024-11-13) I ran into some issues:

In your suggested key bindings you included --sync which is not necessary since you added ---@sync entry to the top of the init.lua.

I kept on getting an error telling me to include --@sync entry at the top of max-preview.yazi/init.lua even though it was already there. When I removed sync=true from the calls to max-preview, everything worked as expected.

When I hit the enter key on a directory, it opens my editor (nvim) with yazi (I use yazi.nvim). The behavior I want is for enter on a directory to work like smart-enter (which I have disabled)
I think the issues have to do with the ongoing changes to yazi,

Hi thanks for commenting! I've been busy with some stuff, but I will get to working on this once I get the time!


Added 2 fuzzers

I am bringing the 2 fuzzers from https://github.com/dragonflyoss/Dragonfly/pull/865 back into the upstream repository.
As agreed with @lowzj we are applying to run the fuzzers on oss-fuzz. I have setup an integration application here. To complete that application, we need the 2 fuzzers merged here on the upstream repo.

Could you merge yours commits into one and sign off it?

@AdamKorcz could I close the #865 if this pull request get merged

@lowzj This PR does not solve or replace #865, it adds just the fuzzers from that PR.

could you rebase the code and combine your 5 commits into one commit ?

@lowzj Let me know if it looks better now.

merged via manually, closed.


Convert userwallet to a pytest

Convert test_userwallet.py to a pytest
https://github.com/lightningames/pylnbits/blob/main/tests/test_userwallet.py

This issue was resolved in this PR: https://github.com/lightningames/pylnbits/pull/166 so I'm closing it.


modal function's name too generic. Why don't prefix function names?

Issue template:
Description
Hi, issue using the modal function in a system like wordpress or other cause a plugin can inject in front bootstrap.js, cause the modal function exists in the two js files... That's not a bug but if it could help someone solving an issue.
Great job for materialize that's the best css framework ever, awesome result!

Right. Bootstrap and other frameworks conflict with Materialize. We'll try to prefix more components (if the function names are already defined).

We're working on it. When we rename, it'll probably be across all our plugins.


Extensions to RFC 8216 HTTP Live Streaming

Hi,
We're working on implementing a parser dealing with a scte-35 Dynamic Ad Insertion extension.
Is that something you would be potentially interested in as a contribution to the library?
We currently are using the m3u8-parser library for playlist parsing. We need to add support for the SCTE-35. For us it would make sense to support it as a lib extension. We wanted to know your opinion. We are happy to discuss the format of this extension and contribute if you're interested.

Sounds useful! Pull requests are always welcome :)
On Fri, 22 Nov 2019 at 12:09, tjuszczyk<EMAIL_ADDRESS>wrote:

Hi,
We're working on implementing a parser dealing with a scte-35 Dynamic Ad
Insertion extension.
Is that something you would be potentially interested in as a contribution
to the library.
We currently are using the m3u8-parser library for playlist parsing. We
need to add support for the SCTE-35. For us it would make sense to support
it as a lib extension. We wanted to know your opinion
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/carlanton/m3u8-parser/issues/6?email_source=notifications&email_token=AACTW4JKARSJEFEQYLOCAMLQU64VHA5CNFSM4JQPGDM2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4H3LNTYA,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACTW4PHYYZHKFAEC67GH6DQU64VHANCNFSM4JQPGDMQ
.

--
Mvh Anton Sent from my iPhone


drop support for ruby 1.9.3

EOL was more than a year ago
https://www.ruby-lang.org/en/news/2014/01/10/ruby-1-9-3-will-end-on-2015/
the travis build is failing anyway, because it can't install some gems (requiring >= 2.0)

@justinfrench I'd like your +1. This is pretty significant bump.

Yep :+1:, thanks


page loaded event

What is your Test Scenario?

For testcafe-testing-library, I'd like to support a use case for when navigation occurs (clicking a link, reloading, etc).  In order to do this, I need to inject dom-testing-library into the DOM on each page-load
What are you suggesting?

I propose adding an event subscription which I can subscribe to in a test or hook.

await t
  .on("pageload", () => addTestcafeTestingLibrary(t))
  .click(getByText("link to other page")
  .click(getByText("link to yet another page")
  .expect(getByText("element on other page").exists)
  .ok();

What alternatives have you considered?

I have a work around, but it requires manually injecting after the link click,  it works, but it's toothy and cumbersome.  For example, in the example above, i have to do this:
await addTestCafeTestingLibrary(t);

await t.click(getByText("link to other page"));

await addTestcafeTestingLibrary(t);

await t.click(getByText("link to yet another page"));

await addTestcafeTestingLibrary(t);

await t
  .expect(getByText("element on other page").exists)
  .ok();

quite verbose as you can see.  hence the desire to have an event I can subscribe to for whenever a page load occurs....
Additional context

Thank you for your proposal. We'll consider its implementation with the team if the idea becomes popular.

Hi @AlexKamaev Thank you.  Are there any work arounds you know of that I can use in the meantime to allow me to inject scripts into the page whenever a navigation event occurs?

You can try to wrap the click action and use it for clicks that lead to the page reload. For example:
const clickThatLeadsToReload = async (t, selector) => {
    await t.click(selector);
    await addTestcafeTestingLibrary(t);
};

await clickThatLeadsToReload(t, getByText("link to other page"));

@alexkamaev I'd be happy to submit a PR of you could point me in the right direction... Like where does testcafe interact with hammer head?

found a  solution using the testRun class.

@benmonro Can https://testing-library.com/docs/testcafe-testing-library/intro#known-issues be removed since it looks like you fixed this in https://github.com/testing-library/testcafe-testing-library/commit/5998cfd7671ac0643bc351fc74cceb4a939c06d0 ?

Ah yes.  Nice catch.  Thanks

@benmonro No, thank you. Really excited to use these two tools together. 🙇♂


Does not work with most recent version of ONI

Hi there! First of all, thank you for this mod, it's really awesome and I have been using it in conjuction with other mods that have made over 20 really creative new dupes. Since the 'Hot Shots' update, ONI won't start with your mod installed - I'm guessing it has something to do with the fact that Klei has added an accessory / DLC-ish clothing section.
I'm not sure if you're still working on this mod - but if you are, a fix would make me and many many others very happy. And if you are currently not in the ONI fandom anymore or are not planning to work on this mod, would it be OK for someone else (I'm not very skilled with modding, but who knows) to give it a try?
Cheers,
Joanna

Hey Joanna, thanks for the bug report. I was on holiday so I couldn't respond until now, but I'll see if I can release a fix for the update as soon as possible.
And, yes, contributions are of course welcome (If anyone is able to comprehend my spaghetti code, that is). I actually made the source public in the hope that someone much better at modding than me would come and steal it and release a better version to free me from this purgatory. But, until that happens, I'll keep maintaining it!


New component: Feedback

Closing this as this component will be too opinionated for Scally and Components will most likely go in V3.


play mp3

Hi Im traying to play a local .mp3 file that i have created from google tts
i have made a http endpoint but when i try to play it on sonos it says cant play wrong coded
im getting Error: HTTP response code 500 for "urn:schemas-upnp-org:service:AVTransport:1#Seek"

I’m trying to play a remote mp3 and get the following error; the song URI is //<IP_ADDRESS>/share/Public/doorbell-1.mp3
"Error: HTTP response code 500 for "urn:schemas-upnp-org:service:AVTransport:1#AddURIToQueue""

I'm trying to play a remote MP3 as well and I've tried EVERYTHING and all to no avail. x-sonos-http as the URI type, http as the URI, even x-file-http as the URI, all resulting in "Error: HTTP response code 500 for "urn:schemas-upnp-org:service:AVTransport:1#AddURIToQueue""


Fix build warnings

All of these were causing warnings to appear during a build of the codebase.

This change is

Note that the @throws was removed because it lacked a description, and no description needed to be written because it was obvious.


chore: support fetch by index with offset

https://github.com/momentohq/cacheservice/issues/1230
See slack discussion: https://gomomento.slack.com/archives/C01AC7JT370/p1676508581644679?thread_ts=1676498195.969539&cid=C01AC7JT370
Note that the existing "limit" field means the number of elements to fetch.  This PR adds an "offset" field to represent the start index.  To achieve something like "I want to fetch 70,001th element ~ 80,000th element", (limit, offset) would be (10,000, 70,000).  In client SDKs we can have customer use the API this way, or we can implement some API for "give me from 70,001th to 80,000th element" and have the SDK do the conversion from (70,001, 80,000) to (10,000, 70,000) when sending over proto messages.

I am trying to map this change to the redis api we will be using internally. I think it would be zrange key start stop BYSCORE LIMIT offset count. If the user wants to get the 100 elements around a specific element, they would first need to do getRank to get the rank of the element, and they could use that rank to determine the offset? I guess i'm confused how they would get the offset without making additional api calls


Add Helm chart annotations

What does this PR do?
Add the tag helmchart if the component provides one or more Helm charts.
Add annotations regarding Helm charts to exported component entities, in case the component provides one or several charts:

giantswarm.io/helmchart-app-versions: a list of upstream app versions provided by the component's helm charts, separated by comma.
giantswarm.io/helmchart-versions: a list of Helm chart versions provided by the component, separated by comma.
giantswarm.io/helmcharts: a list of names of the Helm charts provided by the component, separated by comma.

To detect this, per repository one additional lookup is made for a helm folder on the root of the repository tree. If this folder exists, a Chart.yaml file is read from the helm/**/Chart.yaml path.
How does it look like?
The golden file change illustrates it best:
@@ -48,6 +48,9 @@ metadata:
         backstage.io/techdocs-ref: url:https://github.com/giantswarm/my-service/tree/main
         circleci.com/project-slug: github/giantswarm/my-service
         giantswarm.io/deployment-names: my-service,my-service-app
+        giantswarm.io/helmchart-app-versions: ',2.3.4'
+        giantswarm.io/helmchart-versions: 1.2.3,0.4.1
+        giantswarm.io/helmcharts: first-chart,second-chart
         giantswarm.io/latest-release-date: "0001-01-01T00:00:00Z"
         giantswarm.io/latest-release-tag: v1.2.3
         github.com/project-slug: giantswarm/my-service
@@ -57,6 +60,7 @@ metadata:
         quay.io/repository-slug: giantswarm/my-service
     tags:
         - flavor:app
+        - helmchart
         - language:go

Any background context you can provide?
This will enable filtering catalog entities by the tag helmcharts to select those entities that provide a Helm chart.
It will also enable showing more columns in the component list, and it will enable showing chart-related details in the entity details page.
Should this change be mentioned in the release notes?

[x] CHANGELOG.md has been updated (if it exists)

@gusevda PTAL. Adding basic Helm chart annotations to the catalog entities where relevant. We don't have issues yet for making use of these. As a first step I only would like to offer them as columns in the list.

LGTM.
Could you explain why is there a comma in this test case?
giantswarm.io/helmchart-app-versions: ',2.3.4'

Yes. And I know it's not beautiful.
The example component provides two Helm charts, but only the second has an appVersion defined. This is a comma-separated list where the first item is an empty string. I felt we have to do it this way, as otherwise we wouldn't be able to assign the appVersion to the right chart.


v3.0.0

 Issue by landonreed
Wednesday Nov 08, 2017 at 23:06 GMT
Originally opened as https://github.com/catalogueglobal/datatools-ui/pull/50

This release matches catalogueglobal/datatools-server v3.0.0.  The changes are documented in #47.

landonreed included the following code: https://github.com/catalogueglobal/datatools-ui/pull/50/commits

 Comment by codecov-io
Wednesday Nov 08, 2017 at 23:10 GMT

Codecov Report

Merging #50 into master will decrease coverage by <.01%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##           master     #50      +/-   ##
=========================================
- Coverage    1.34%   1.34%   -0.01%
=========================================
  Files         314     316       +2
  Lines       10537   10554      +17
  Branches     3625    3636      +11
=========================================
  Hits          142     142
- Misses       8548    8563      +15
- Partials     1847    1849       +2

Impacted Files
Coverage Δ

lib/manager/actions/feeds.js
0% <ø> (ø)
:arrow_up:

lib/manager/actions/status.js
0% <ø> (ø)
:arrow_up:

lib/manager/actions/projects.js
0% <ø> (ø)
:arrow_up:

lib/manager/reducers/status.js
0% <ø> (ø)
:arrow_up:

lib/alerts/actions/alerts.js
0% <ø> (ø)
:arrow_up:

lib/common/util/util.js
76.92% <ø> (+5.49%)
:arrow_up:

...ib/manager/components/version/FeedVersionViewer.js
0% <ø> (ø)
:arrow_up:

lib/gtfs/actions/general.js
0% <ø> (ø)
:arrow_up:

lib/gtfsplus/actions/gtfsplus.js
0% <ø> (ø)
:arrow_up:

...b/manager/components/reporter/containers/Routes.js
0% <0%> (ø)
:arrow_up:

... and 27 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 cd4ee1c...5b005d7. Read the comment docs.

:tada: This issue has been resolved in version 4.1.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Add dataX or sqoop components to support the data pulling of the previous node and data storage of the next node

Please change the title in English,thanks

https://github.com/apache/incubator-dolphinscheduler/pull/1881  datax supported, and will be published in version 1.2.2 or later

#1974 sqoop supported


[BREAKING] Upgrade react/socket to 1.1

I had a dependency clash for react/socket ^1.1.
That version has all classes set as final, so I had to put a bit of effort to learn react/socket and get this package working with it. Hopefully, you're happy with the upgrade. Otherwise, I am open to feedback to get this merged.
Notes:

This is a breaking change.
I added a connection-status event. It was useful information for me to print in my logs.

I've made my changes compatible with PHP 5.6
I've made the composer.lock compatible with PHP 5.6.
I don't think the failed ActiveMQ builds are due to my changes.


Caching

Brainstorm about Caching:

saving pdfs local and only retrieving images from those I have selected (e.g. via the sliceplot viewer)

Also it would be great if the embedding vectors of slides could be cached. In this way, we only run the (costly) embedding once.

do you have any other ideas on that?
git-bob comment


need cuda version and pytorch version

ModuleNotFoundError: No module named 'mmcv._ext'
hi developers I need to know if you run this module with CPU or GPU it is really import for me.

AutoHiC can run in cpu, ref conda install
If you want to use GPU, please install CUDA-11.3 and cuDNN-8.2 before.


Define Access Managment Component

Description
The new Access Management component will provide end-user functionality for the management of roles/groups and rights.
Additional Information
In the future, this component will provide management functionality from today's profile page and concepts created as part of NØTT project.
Tasks
No response
Acceptance Criterias
No response

Documented on docs


Usage of effect

This is picking up from https://github.com/vuejs/rfcs/issues/157#issuecomment-614112417
I think I misunderstood how you intend to ship your library, assuming your renderer is not used alongside the normal Vue runtime. But it seems Vugel can be used directly inside a normal Vue application (which is great!).
In that case it seems we do need to expose effect - however that kinda brings in another issue: the wrapper is using effect without a scheduler, which means the effect will run synchronously whenever any property change is detected (i.e. state.foo = 1; state.foo = 2 will result in 2 consecutive updates). Is that intended?
Internally Vue uses a scheduler to buffer the updates, ensure component update order, dedupe, invalidation etc. If effect is used in this manner we may need to expose queueJob as well for custom renderers.

I think watchEffect in onMounted should just work and you don't really need to overwrite instance.update.

I just tested using watchEffect(...) instead of instance.update = effect(...) and it seems to work as intended in the example. I think there should be no need to expose effect (and therefore queueJob) in this case.

Thanks for this research! We will change this accordingly :)


GitHub is reporting the Hound check as passed when violations are found

I would expect it to be marked as failed, with a red x since violations were found, no?
Thanks for this great service, by the way!

We're currently testing out an undocumented feature to do just that! If you want to help out, you can enable it by adding fail_on_violations: true to your .hound.yml file. Let us know how it goes! :x:


Improve README

View 📝 README here
Closes #101

In my experience, READMEs for SDKs contain less information about the actual service they are for than is provided here. Like AWS does here. It might be worth considering (re)moving the explanations of Erdstall itself to compactify the document.

In my experience, READMEs for SDKs contain less information about the actual service they are for than is provided here. Like AWS does here. It might be worth considering (re)moving the explanations of Erdstall itself to compactify the document.

I agree in general that an SDK's README file is not the best place to describe the underlying system/service. Since we haven't agreed on a good general documentation framework for Erdstall yet, in this particular case I'd leave it at the end for now. Once we have decided where to present a better in-depth documentation of Erdstall, we can move it there, together with a glossary (https://github.com/perun-network/erdstall-ts-sdk/issues/122).


packaging request: browservice

Browservice: Browser as a Service
A web "proxy" server that enables browsing the modern web on historical browsers. It works by rendering the browser viewport into images, which are then shown by a JavaScript application running on the client browser.
Metadata

homepage URL: https://github.com/ttalvitie/browservice
source URL: https://github.com/ttalvitie/browservice
license: mit
platforms: unix

https://github.com/ttalvitie/browservice/issues/87


TextField does not implement InlineSpan

I'm using a TextSpan where I alternate between static text and user input (think of the game madlibs). The issue is that the TextField, when wrapped in a WidgetSpan, is treated as a single block, whereas a TextSpan, can be line broken on spaces.
So I may have text that ends up like the following (a '-' represents static text and a '+' represents text from a textfield). and the '|' represents the contraints of the textspan:
---    ---  --- |
-- --  ---      |
++ ++ + ++ + ---|
--  ---  ----   |

As you can see, some of the +'s would clearly fit on the previous line, but since  a widgetspan is treated as one line it can't. I'd be  happy to accomplish the same goal in some other mechanisms than TextSpan by the way.
I've thought about using a single textfield, and a custom inputformatter to prevent edits within the static portions, but it means that the cursor can go over the static text which i want to avoid.
Any thoughts on how to accomplish this, or can we add a feature to line break TextFields?

@steeling
It'd be great if you could provide flutter doctor -v and a complete minimal reproducible code sample that highlights the issue you are facing.

This is a feature request not an issue, so not sure if I can provide an example since what I'm trying to do is not supported yet. Can you clarify which part you feel is unclear and I'd be happy to expand on that.

Thanks for clarifying @steeling. Can you check if your request is similar to this issue ?

Not quite. So imagine something like this
On the second blank on the first line, if I start typing, it will push "to" to the next line. However if I type 3 words: "this is a a test", then I want only what can't fit to move to the next line, ie: "test". However WidgetSpan wraps the entire TextField in the span. It has no awareness of splitting text within the TextField, so it pushes the entire "this is a test" to the next line, which leaves a large, ugly gap on the first line.
Does that clarify?

Yes. Thanks for the clarification. Treating this as a feature request and updating title accordingly.


No license

There is no license information in package.json and no license file in the repository. Please add them.

Good idea. Recommendations?

:+1:  I think the MIT License is a good choice.

@dbohdan I changed it btw. Now a variant of MIT.

@sdegutis I'll share my opinion, since you have pinged me about this.
Right now your license says:

The facts be acknowledged at least implicitly by the Software users
that the Blessed Virgin Mary, Mother of God, never sinned, from the moment
of her conception to her natural death, according to the doctrine
of the Immaculate Conception as defined in 1854 by the Catholic Church,
that Jesus is truly and physically present in the Blessed Sacrament,
and that the Second Vatican Council is a valid and binding council.

If this is going to be the license, I am not going to use your software because I cannot comply with it.

More importantly, this is a strategic mistake. Nonstandard licenses are bad for adoption, especially licenses not written or reviewed by a lawyer. (I am assuming yours hasn't been.) They prevent corporate use because they require corporate lawyers to vet the license, which corporations usually want to avoid. A license that requires the user to affirm the Catholic faith is especially bad because it will obviously raise a lot of personal objections, but also because it probably isn't going to be considered a free license by the FSF or the OSI. You can contact either organization through its mailing lists and ask if you doubt me.

If you proceed with this license, I encourage you to add a note in the readme about its requirements. An early warning will save users who cannot or don't want to comply with it the time they would invest.

@dbohdan Thanks for the advice. I will ask if I can relicense it.


feat: resolve Future when the preview closes

Hi @glebosotov,
sorry for the PR out of nowhere, but I hope it finds its way into the code base.
At the moment, when you call QuickLook.openURL(s) the future immediately resolves.
My expectation was that it resolves after the QuickLook has been closed.
With this PR I want to make this change, so the future resolves after the QuickLook as been closed.
It still resolved to true after successful showing it to the user, or to false, when it was not the case.
Please let me know what you think about it.

I will check both of those out tomorrow. Thanks for your work 🙏🏼

I will check both of those out tomorrow. Thanks for your work 🙏🏼

Thanks for merging @glebosotov :)
Do you push the changes to pub.dev today as well?


Update Random Hopper to support USA east/west worlds

Add filtering for US East vs West worlds as determined by a client enum.

Closing because I made numerous mistakes, will re-open briefly.


Adding in check_stamped.py to tools/

Used to determine what files contain a license and are stamped. If not we exit and return an error code that can be later ingested by another script, as well as a list of the outstanding files in questions.
Currently baked in the list of files we should support or not support with licenses in them a well as some stuff to quickly ignore

I think the idea was to add it as a CI check on Github Action. Otherwise LGTM.


fix: incorrect results and heuristic set

fix #353
If the user doesn't specify any rules, GuardDog needs to scan through all heuristics and provide the results with all heuristics.
However, I would recommend to separate the source code heuristics into two folders (npm, pypi).

Duplicated


disable or fix grouping when multiple assets is selected in loader

[PYPE-542] created by jakubtrllo

@iLLiCiTiT do you know if this is still happening?

Not really sure what was wrong?

that's what I though. reported ages ago without much info even on jira

closing.


More points in pub.dev

Let's get more points in pub.dev by fixing the analysis

Thank you for the heads up, but this was a learning project and my goal was not for it to be a proper polished and optimized plugin to be used by many people, it was mostly for me to learn and use.
Which is why I have to humbly decline this commit, as that would go against the purpose I made this.


cudaPackages.cudnn: fix source fetching

Currently, cudaPackages_10_0.cudnn.src does not build, because passing
hash = null; to fetchurl causes it to try to fetch in the sandbox,
where it does not have internet access.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

this ought to fix https://github.com/NixOS/nixpkgs/issues/188447

Thanks for fixing this @danielfullmer, and apologies for the delay. In the future, feel free to tag @NixOS/cuda-maintainers to bring these PRs to our attention!
I can confirm that this fixes the build for me. I'm confused why we still have both sha256 and hash, but we can save that for a future PR. I'll go ahead and merge.
Thanks again!

@samuela Thanks for merging!

I'm open to other suggested fixes. This package is currently broken.
On May 13, 2022 11:59:03 AM PDT, Sandro @.> wrote:
@. commented on this pull request.

@@ -21,8 +21,8 @@

{ fullVersion
, url
-, hash ? null
-, sha256 ? null
+, hash ? ""
+, sha256 ? ""
, supportedCudaVersions ? [ ]
}:
but now you can't input an empty hash to calculate the hash for the first time.
--
Reply to this email directly or view it on GitHub:
https://github.com/NixOS/nixpkgs/pull/172786#discussion_r872698554
You are receiving this because you authored the thread.
Message ID: @.***>

I'm not sure I follow... what exactly is broken?

I just meant that before this PR was merged, cudaPackages_10_0.cudnn.src wouldn't build.


6.0.2 SyntaxError on Safari

Works fine on Chrome and Firefox, but fails on Safari with error:
SyntaxError: Unexpected token '='. Expected a ')' or a ',' after a parameter declaration.
Any thoughts?

I'm seeing it too. Not positive this is the cause, but seems that a default function parameter is slipping through. Error message points to this line:
eval("class ExtendableError extends Error {
  constructor(message = '') {
  super(message);

  // extending Error is weird and does not propagate `message`
  Object.defineProperty(this, 'message', {
    configurable: true,
    enumerable : false,
    value : message,
    writable : true,
  });

  //(snipped)
")

I'm on Safari 9 which this chart says doesn't support default parameters yet.

Isn't this related to #1637, which in turn is related to this issue, where the exact same solution is proposed? I thought this had been solved with the release of 6.0.2.

Sounds like it could be related to https://github.com/bjyoungblood/es6-error/issues/22?

Closing due to inactivity.
In case you still have problems, please open a formal bug report/feature request/docs improvement request.
Otherwise, please ask for help at StackOverflow.


Tag-based dependencies

 Issue by elijahbenizzy
Wednesday Nov 02, 2022 at 17:24 GMT
Originally opened as https://github.com/stitchfix/hamilton/issues/226

From slack:
James Marvin
2:31 AM
Hi folks - wanted to discuss with you the merits of enabling a method of referring to nodes by their tags as opposed to by node name.
There are some instances in which we may want to process all nodes of a certain 'type' - for example, all metadata columns, or all engineered 'features'/derived columns. In the latter case in particular, it could be that there are dozens of columns of this 'type'.
My understanding is that to create a new node which accepts all nodes of a given type as input, we have to provide each input node name as a parameter to the new function:
@tag(type='metadata')
def create_some_metadata(input:pd.Series) -> pd.Series:
    return helpers._get_some_metadata(input)

@tag(type='metadata')
def create_some_more_metadata(current_time:datetime) -> pd.Series:
    return pd.Series(current_time)

def get_metadata_table(create_some_metadata:pd.Series, create_some_more_metadata:pd.Series) -> pd.DataFrame:
    return pd.DataFrame([create_some_metadata, create_some_more_metadata])

It could be useful - especially where we are creating a new function accepting a high number of nodes of the same type as input - to have some feature enabling us to refer to nodes by type, as opposed to by name.
Hopefully this example shows in principle what I mean:
@tag(type='metadata')
def create_some_metadata(input:pd.Series) -> pd.Series:
    return helpers._get_some_metadata(input)

@tag(type='metadata')
def create_some_more_metadata(current_time:datetime) -> pd.Series:
    return pd.Series(current_time)

@nodes_by_tag(type='metadata')
def get_metadata_table(**kwargs) -> pd.DataFrame:
    return pd.DataFrame(**kwargs)

In this example:
All nodes have been assigned the same 'type' using the @tag feature
Some method is supplied (in this case, a new decorator @nodes_by_tag) by which we're able to use to refer to all nodes of a given type in definition of a new node
The new node is able to perform some action based on the assumption that all nodes of a given type have been provided as an input - without having to refer to each node by name
What do you think? (edited)

 Comment by elijahbenizzy
Wednesday Nov 02, 2022 at 17:24 GMT

@skrawcz
Stefan Krawczyk
7 minutes ago
Nice! Love the suggestion here
@James Marvin
.
That functionality definitely seems within the realm of possibility.
I’m just trying to think through degenerate cases where this could lead to unintended behavior… You’d be pushing the requirement that functions that are inputs have to have this tag to be included, and that this tag has a very precise meaning so you don’t accidentally pull in something you don’t want — we could log what is actually going in at computation time to help with that.
If there are no nodes with the tags required — then I guess we’d error? Since it would likely mean that we’d never expect user input be used for this function?
@Elijah Ben Izzy
any more thoughts here?

 Comment by elijahbenizzy
Wednesday Nov 02, 2022 at 17:41 GMT

So yeah, really like the suggestion. A few thoughts:

This breaks two prior Hamilton "rules" (not necessarily a bad thing): (a) that we can always determine the exact dependencies and (b) that functions have a fixed number of dependencies (E.G. no **kwargs).
This is really powerful, and a very nice shortcut for doing some pretty common workflows
(nit) I think this should be collect_... or something similar -- the idea is we're collecting all upstream nodes with a certain set of tags.
This also breaks the primary assumption in building decorators that we know the set of upstream dependencies solely from a node itself, rather than having to derive it from the existence of other nodes. While we can expand the notion to tags as well as names, its definitely a new approach. Would require a little behind the scene changes.

I guess I'd be really curious to hear about your workflow with/without it. Not sure if you can share code or not, but I'd love to know what it would take to do your workflow with it, what it would take without it, and what the value of it would be to your day-to-day.
Another notion (and haven't scoped out feasability yet) would be to push this upstream and not use tags. If you want to collect a certain set of nodes, what if you did something like this:
@collect(result='dataframe', to='metadata')
def create_some_metadata(input:pd.Series) -> pd.Series:
    return helpers._get_some_metadata(input)

@collect(result='dataframe', to='metadata')
def create_some_more_metadata(current_time:datetime) -> pd.Series:
    return pd.Series(current_time)

def something_with_metadata(metadata: pd.DataFrame) -> ...
   # Some processing of metadata, just to suggest that metadata is a node we can access

Thoughts on this API? It gives you what I think you want (being able to arbitrarily add more series to a dataframe in this case, but its generalizable), keeps the property of easy to read/clarity, and might be a simpler implementation (not 100% sure though).

 Comment by skrawcz
Wednesday Nov 02, 2022 at 23:00 GMT

@elijahbenizzy hmmm that's an interesting alternative, but why the need to specify a result type?
Otherwise, you just made me think of another option -- could we encode what we want in the variable name & type?
@tag(type='metadata')
def create_some_metadata(input:pd.Series) -> pd.Series:
    return helpers._get_some_metadata(input)

@tag(type='metadata')
def create_some_more_metadata(current_time:datetime) -> pd.Series:
    return pd.Series(current_time)

# one idea -- some variable name convention
def get_metadata_table(tag__type_metadata: dict) -> pd.DataFrame:
    return pd.DataFrame(**tag__type_metadata)

# another idea -- put it in the type -- assume TagQuery is a paramterized type we make up of [regex_key, regex_value] and we do search on?
def get_metadata_table(_query: TagQuery['type', 'metadata']) -> pd.DataFrame:
    return pd.DataFrame(**_query)

 Comment by elijahbenizzy
Thursday Nov 03, 2022 at 00:04 GMT

@skrawcz result type is a collect/reduce type function. The idea is that it forms a single artifact that, when referenced, is its own node. Its a way to avoid**kwargs for hamilton functions as those can hurt dataflow readability...

 Comment by jmarvin90
Thursday Nov 03, 2022 at 18:07 GMT

I guess I'd be really curious to hear about your workflow with/without it. Not sure if you can share code or not, but I'd love to know what it would take to do your workflow with it, what it would take without it, and what the value of it would be to your day-to-day.

If we consider an example in which we are extracting a large number (dozens) of features from a dataset and then passing those features into a node which requires them all as input (e.g. to fit a model/make a prediction), we have a couple of friction points:

The function definition for the 'process' node gets a bit unwieldy when we have to specify a really large number of inputs as parameters;
We have to create a new feature extraction node and update the processing node definition for each new feature we add

e.g.
def extract_feature_1(col_a:pd.Series) -> pd.Series:
    return helpers._do_something(col_a)

# Dozens more feature node definitions
...

def extract_feature_100(col_zzz:pd.Series) -> pd.Series:
    return helpers._do_something_else(col_zzz)

# Really long definition!
def process_all_features(
    extract_feature_1:pd.Series,
    extract_feature_2:pd.Series,
    # Dozens more feature node references
    ...
    extract_feature_100:pd.Series
    ) -> object:
    return ml_model.do_some_maths(
        extract_feature_1:pd.Series,
        extract_feature_2:pd.Series,
        # Dozens more feature node references
        ...
        extract_feature_1000:pd.Series
    )

Neither of these are major hurdles from a code readability/maintainability perspective; but I think it would be a relatively common occurrence that we'd like to create some 'processing' node whose definition basically translates as "perform some action for all nodes of x type".
It need not be a firm requirement that this be enabled through:

The use of decorators
The use of **kwargs

So long as:

We have some means of creating a 'processing' node which is able to parse upstream (e.g. 'feature') nodes without having to name nodes explicitly as input
The nature of what happens in the 'processing' node remains flexible (e.g. could be the construction of a dataframe, fitting an ML model, etc).

Hope that's added a little more context to the initial suggestion. Also happy to be challenged on whether implementing this type of feature is appropriate as I can understand the merit in being explicit with definitions!

 Comment by elijahbenizzy
Saturday Nov 05, 2022 at 15:02 GMT

I guess I'd be really curious to hear about your workflow with/without it. Not sure if you can share code or not, but I'd love to know what it would take to do your workflow with it, what it would take without it, and what the value of it would be to your day-to-day.

If we consider an example in which we are extracting a large number (dozens) of features from a dataset and then passing those features into a node which requires them all as input (e.g. to fit a model/make a prediction), we have a couple of friction points:

The function definition for the 'process' node gets a bit unwieldy when we have to specify a really large number of inputs as parameters;
We have to create a new feature extraction node and update the processing node definition for each new feature we add

e.g.
def extract_feature_1(col_a:pd.Series) -> pd.Series:
    return helpers._do_something(col_a)

# Dozens more feature node definitions
...

def extract_feature_100(col_zzz:pd.Series) -> pd.Series:
    return helpers._do_something_else(col_zzz)

# Really long definition!
def process_all_features(
    extract_feature_1:pd.Series,
    extract_feature_2:pd.Series,
    # Dozens more feature node references
    ...
    extract_feature_100:pd.Series
    ) -> object:
    return ml_model.do_some_maths(
        extract_feature_1:pd.Series,
        extract_feature_2:pd.Series,
        # Dozens more feature node references
        ...
        extract_feature_1000:pd.Series
    )

Neither of these are major hurdles from a code readability/maintainability perspective; but I think it would be a relatively common occurrence that we'd like to create some 'processing' node whose definition basically translates as "perform some action for all nodes of x type".
It need not be a firm requirement that this be enabled through:

The use of decorators
The use of **kwargs

So long as:

We have some means of creating a 'processing' node which is able to parse upstream (e.g. 'feature') nodes without having to name nodes explicitly as input
The nature of what happens in the 'processing' node remains flexible (e.g. could be the construction of a dataframe, fitting an ML model, etc).

Hope that's added a little more context to the initial suggestion. Also happy to be challenged on whether implementing this type of feature is appropriate as I can understand the merit in being explicit with definitions!

That all makes sense -- it seems like the issue is the continual adding for large sets of nodes. I think any of these solutions could work -- will be noodling on internal consistency. Ideas so far are:

@collect decorator, applied to upstream sources (my idea)
@collect decorator/@nodes_by_tag, applied to downstream sinks (E.G. with/maybe without `**kwargs).
regex-matching
Query-with-types

The reason I like (1) is that it doesn't fundamentally break any of the first principles of Hamilton:

dependencies are easily linkable from nodes (its just the other way around)
avoiding tag-based deps in favor of name-based deps
Adds a collect statement, which groups together in a specific way (compiles to a node)
Avoids **kwargs which is not a pattern we've used before

That said, it'll require some changes on the backend, so I want to think it through. And still haven't convinced myself its the best way to do it... @skrawcz thoughts?

 Comment by skrawcz
Tuesday Nov 15, 2022 at 22:14 GMT

@elijahbenizzy my bias here is for an API that's readable and understandable by people with little context, the other is that it's not a pain to create, update, maintain that specific linkage overtime.
Perhaps we just need to map the lifecycle of what people do and what is required against each of the options, and come up with a pros and cons assessment.
E.g. assess on:

creation.
incremental update. Modifying something existing.
the process of creating a brand new one adjacent to the existing one. e.g. can you cut & paste? how would one do it?
how many of these can a code base manage concurrently? What's it like at "scale"?
how is lineage impacted? Is it still easy to trace through code the DAG?
testing. What are the impacts and implications for testing well?


Toolbar modes

Please describe the feature you would like to request.
A multi-mode toolbar that implements a contextual overlay
What is the use-case or motivation for this proposal?
I am working on a PWA, intended to work on both desktop and mobile and now is the question how to properly implement a contextual toolbar since I want to have basically a search-bar like on the MDC webpage (https://material.io/develop/web/).
Of course it could be done quite easily by just using structural directives and manipulating the child-content directly but if the toolbar is used in a layout frame with router then services would be required. I was thinking about to implement the context (search bar) similar to a bottom sheet such that get a contextRef programatically as handle.
Actually my question is: how would the angular material team solve this? or do you think there is no generic solution so you just keep it to the minimum (the current state)?
My current implementation does not have any context yet only a cdk portal service to change page-actions.
The more I think about it the less it makes sense to have a app bar defined in a layout (at least if you want to change the title, possible contexts and page actions you dont have really code-reduction)
Is there anything else we should know?

Here's the route I've taken in my apps:

The header component contains a cdkPortalOutlet
A global service provides the current portal template that should be displayed
Any subcomponent in my app (normally the page level components) will write a custom template, then grab it using ViewChild, and stash it into the global service.

I'm sure there's other solutions but so far this works well for me since the individual routes can change the toolbar's content and the toolbar doesn't need to be coupled with the knowledge of pages.
As for providing a general solution in Material or CDK, I don't foresee us putting that in our roadmap


Restart nginx

A button for restarting the Docker container "nginx" would be helpful.

Maybe nginx should be restarted once a week in the night? So that certificate changes really work in unmonitored operation.


adding a beautiful form component as one of the projects

adding a beautiful form component as one of the projects , i have seen there is no form in the projects a form is necessary as one of the projects in the project list

I want to contribute to this project as gssoc-ext contributor . please assign this issue to me.
I have made some beautiful forms earlier which i feel can help beginners.

@himanshu-sheetlani bro assign its been a week


Graph reduce

This patch introduces the reduce algorithm which performs a dfs but processes the graph using an arbitrary function accumulator. pre-order and post-order are still supported. DFS has been rewritten using the new reduce function.
Fix #62

@arieljake can you help reviewing and testing this change?

LGTM

I had a similar need and came across this PR while searching around. This is still being reviewed?


Initial Attempt Is Complete

This is a nice first pass. Take a look at the comments, add in the missing functionality, and work on improving your tests.  I'd also strongly suggest creating a cohort class and compare with your existing implementation to see if you think that improves the structure and readability of your solution.

Good first iteration.  Use let and subject statements to extract repeated logic in specs.  Also watch your naming.  A class named SplitTest should be in split_test.rb.
Take a look at the comments and refactor where needed.  Resubmit when ready.


Build failing to fetch: RPC failed; curl 18 transfer closed with outstanding read data remaining

https://ci.adoptopenjdk.net/view/Failing Builds/job/build-scripts/job/jobs/job/jdk8u/job/jdk8u-linux-ppc64le-openj9/834/console
 > git fetch --tags --force --progress --prune -- https://github.com/AdoptOpenJDK/openjdk-build.git  +refs/pull/*:refs/remotes/origin/pr/* +refs/heads/master:refs/remotes/origin/master +refs/heads/*:refs/remotes/origin/* # timeout=10
ERROR: Error fetching remote repo 'origin'
hudson.plugins.git.GitException: Failed to fetch from https://github.com/AdoptOpenJDK/openjdk-build.git
	at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:996)
	at hudson.plugins.git.GitSCM.retrieveChanges(GitSCM.java:1237)
	at hudson.plugins.git.GitSCM.checkout(GitSCM.java:1297)
	at org.jenkinsci.plugins.workflow.steps.scm.SCMStep.checkout(SCMStep.java:125)
	at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:93)
	at org.jenkinsci.plugins.workflow.steps.scm.SCMStep$StepExecutionImpl.run(SCMStep.java:80)
	at org.jenkinsci.plugins.workflow.steps.SynchronousNonBlockingStepExecution.lambda$start$0(SynchronousNonBlockingStepExecution.java:47)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: hudson.plugins.git.GitException: Command "git fetch --tags --force --progress --prune -- https://github.com/AdoptOpenJDK/openjdk-build.git  +refs/pull/*:refs/remotes/origin/pr/* +refs/heads/master:refs/remotes/origin/master +refs/heads/*:refs/remotes/origin/*" returned status code 128:
stdout:
stderr: From https://github.com/AdoptOpenJDK/openjdk-build
 - [deleted]           (none)     -> origin/pr/2283/merge
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: error reading section header 'acknowledgments'

	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2450)
	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandWithCredentials(CliGitAPIImpl.java:2051)
	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.access$500(CliGitAPIImpl.java:84)
	at org.jenkinsci.plugins.gitclient.CliGitAPIImpl$1.execute(CliGitAPIImpl.java:573)
	at hudson.plugins.git.GitSCM.fetchFrom(GitSCM.java:994)

Lot of suggestions suggest: git config --global http.postBuffer 524288000

Potentially related to https://github.com/AdoptOpenJDK/openjdk-infrastructure/issues/1553. Could be another timeout related problem (although in this case, my test PR is actually valid in that it does upgrade the right git command)?

OK ... So this is odd, but github.com was resolving to <IP_ADDRESS> via DNS. I forced it to use one of it's alternates <IP_ADDRESS> and it resolved the problem. I undid that change (so the machine resolved it as <IP_ADDRESS> again) and the problem has gone away. Unclear if it reset something in the TCP/IP stack or resolver somewhere, but it's now working again.


Update README.md

Describe the PR
e.g. add cool parser.
Relation issue
e.g. https://github.com/swaggo/swag/pull/118/files
Additional context
Add any other context about the problem here.

Codecov Report

Merging #372 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #372   +/-   ##
=======================================
  Coverage   85.17%   85.17%
=======================================
  Files           7        7
  Lines        1322     1322
=======================================
  Hits         1126     1126
  Misses        113      113
  Partials       83       83

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 169765a...01d7be4. Read the comment docs.