MPT-7B, 30B RuntimeError: Placeholder storage has not been allocated on MPS device!

Trying to use MPT models with h2oai:

python generate.py --base_model=mosaicml/mpt-7b-chat --score_model=None
enter any prompt
Expected behavior: Model is loaded and used

Observed behavior:

model loaded and the ui is available
there's an exception:

Running on local URL:  http://<IP_ADDRESS>:7860

To create a public link, set `share=True` in `launch()`.
The attention mask and the pad token id were not set. As a consequence, you may observe unexpected behavior. Please pass your input's `attention_mask` to obtain reliable results.
Setting `pad_token_id` to `eos_token_id`:0 for open-end generation.
/Users/user/dev/lib/python3.10/site-packages/transformers/generation/utils.py:1452: UserWarning: You are calling .generate() with the `input_ids` being on a device type different than your model's device. `input_ids` is on mps, whereas the model is on cpu. You may experience unexpected behaviors or slower generation. Please make sure that you have put `input_ids` to the correct device by calling for example input_ids = input_ids.to('cpu') before running `.generate()`.
  warnings.warn(
thread exception: (<class 'RuntimeError'>, RuntimeError('Placeholder storage has not been allocated on MPS device!'), <traceback object at 0x8fe882200>)
make stop: (<class 'RuntimeError'>, RuntimeError('Placeholder storage has not been allocated on MPS device!'), <traceback object at 0x8fe882200>)
hit stop
Traceback (most recent call last):
  File "/Users/user/dev/lib/python3.10/site-packages/gradio/routes.py", line 437, in run_predict
    output = await app.get_blocks().process_api(
  File "/Users/user/dev/lib/python3.10/site-packages/gradio/blocks.py", line 1352, in process_api
    result = await self.call_function(
  File "/Users/user/dev/lib/python3.10/site-packages/gradio/blocks.py", line 1093, in call_function
    prediction = await utils.async_iteration(iterator)
  File "/Users/user/dev/lib/python3.10/site-packages/gradio/utils.py", line 341, in async_iteration
    return await iterator.__anext__()
  File "/Users/user/dev/lib/python3.10/site-packages/gradio/utils.py", line 334, in __anext__
    return await anyio.to_thread.run_sync(
  File "/Users/user/dev/lib/python3.10/site-packages/anyio/to_thread.py", line 33, in run_sync
    return await get_asynclib().run_sync_in_worker_thread(
  File "/Users/user/dev/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 877, in run_sync_in_worker_thread
    return await future
  File "/Users/user/dev/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 807, in run
    result = context.run(func, *args)
  File "/Users/user/dev/lib/python3.10/site-packages/gradio/utils.py", line 317, in run_sync_iterator_async
    return next(iterator)
  File "/Users/user/dev/h2ogpt/src/gradio_runner.py", line 1428, in bot
    for res in get_response(fun1, history):
  File "/Users/user/dev/h2ogpt/src/gradio_runner.py", line 1385, in get_response
    for output_fun in fun1():
  File "/Users/user/dev/h2ogpt/src/gen.py", line 2011, in evaluate
    raise thread.exc
  File "/Users/user/dev/h2ogpt/src/utils.py", line 340, in run
    self._return = self._target(*self._args, **self._kwargs)
  File "/Users/user/dev/h2ogpt/src/gen.py", line 2114, in generate_with_exceptions
    func(*args, **kwargs)
  File "/Users/user/dev/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/Users/user/dev/lib/python3.10/site-packages/transformers/generation/utils.py", line 1522, in generate
    return self.greedy_search(
  File "/Users/user/dev/lib/python3.10/site-packages/transformers/generation/utils.py", line 2339, in greedy_search
    outputs = self(
  File "/Users/user/dev/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/Users/user/.cache/huggingface/modules/transformers_modules/mosaicml/mpt-7b-chat/c53dee01e05098f81cac11145f9bf45feedc5b2f/modeling_mpt.py", line 270, in forward
    outputs = self.transformer(input_ids=input_ids, past_key_values=past_key_values, attention_mask=attention_mask, prefix_mask=prefix_mask, sequence_id=sequence_id, return_dict=return_dict, output_attentions=output_attentions, output_hidden_states=output_hidden_states, use_cache=use_cache)
  File "/Users/user/dev/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/Users/user/.cache/huggingface/modules/transformers_modules/mosaicml/mpt-7b-chat/c53dee01e05098f81cac11145f9bf45feedc5b2f/modeling_mpt.py", line 168, in forward
    tok_emb = self.wte(input_ids)
  File "/Users/user/dev/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/Users/user/.cache/huggingface/modules/transformers_modules/mosaicml/mpt-7b-chat/c53dee01e05098f81cac11145f9bf45feedc5b2f/custom_embedding.py", line 11, in forward
    return super().forward(input)
  File "/Users/user/dev/lib/python3.10/site-packages/torch/nn/modules/sparse.py", line 162, in forward
    return F.embedding(
  File "/Users/user/dev/lib/python3.10/site-packages/torch/nn/functional.py", line 2210, in embedding
    return torch.embedding(weight, input, padding_idx, scale_grad_by_freq, sparse)
RuntimeError: Placeholder storage has not been allocated on MPS device!

I haven't tried this model yet, let me try it and update

Updating pytorch to 2.1 changes the error to:
Xformers is not installed correctly. If you want to use memory_efficient_attention to accelerate training use the following command to install Xformers
pip install xformers.
The model 'OptimizedModule' is not supported for . Supported models are ['BartForCausalLM', 'BertLMHeadModel', (...)

and generation is VERY slow (ie mpt-7B much slower than WizardLM-30B)

I was able to start loading the model on MPS after tweaking the model config of the transformer. But I get this error since I don't have enough memory
RuntimeError: MPS backend out of memory (MPS allocated: 17.27 GB, other allocations: 819.94 MB, max allowed: 18.13 GB). Tried to allocate 192.00 MB on private pool. Use
PYTORCH_MPS_HIGH_WATERMARK_RATIO=0.0 to disable the upper limit for memory allocations (may cause system failure).

I have a 16GB Mac M1 (13.4.1 (c)).
But I can see the GPU load when attempting to load the model.
@wizzard0 if you have larger memory than mine please try this

change init_device to 'mps' at config.json of the transformer. (You can find it at ~/.cache/huggingface/hub/models--mosaicml--mpt-7b-chat/snapshots/c53dee01e05098f81cac11145f9bf45feedc5b2f/config.json)

if that solves your problem let me know
cc: @pseudotensor

Ohh THAT's where the init_device should be entered! 🤣  I tried to fit it into many places (it suggests the init_device "meta" so I will try that too)

Um, nope. Model is loaded but then
The attention mask and the pad token id were not set. As a consequence, you may observe unexpected behavior. Please pass your input's `attention_mask` to obtain reliable results.
Setting `pad_token_id` to `eos_token_id`:0 for open-end generation.
thread exception: (<class 'RuntimeError'>, RuntimeError("User specified an unsupported autocast device_type 'mps'"), <traceback object at 0x28a42b440>)
make stop: (<class 'RuntimeError'>, RuntimeError("User specified an unsupported autocast device_type 'mps'"), <traceback object at 0x28a42b440>)
hit stop
Traceback (most recent call last):
  File "/Users/user/dev/p37/p3715/h2o/lib/python3.10/site-packages/gradio/routes.py", line 437, in run_predict
    output = await app.get_blocks().process_api(
  File "/Users/user/dev/p37/p3715/h2o/lib/python3.10/site-packages/gradio/blocks.py", line 1352, in process_api
    result = await self.call_function(
  File "/Users/user/dev/p37/p3715/h2o/lib/python3.10/site-packages/gradio/blocks.py", line 1093, in call_function
    prediction = await utils.async_iteration(iterator)
  File "/Users/user/dev/p37/p3715/h2o/lib/python3.10/site-packages/gradio/utils.py", line 341, in async_iteration
    return await iterator.__anext__()
  File "/Users/user/dev/p37/p3715/h2o/lib/python3.10/site-packages/gradio/utils.py", line 334, in __anext__
    return await anyio.to_thread.run_sync(
  File "/Users/user/dev/p37/p3715/h2o/lib/python3.10/site-packages/anyio/to_thread.py", line 33, in run_sync
    return await get_asynclib().run_sync_in_worker_thread(
  File "/Users/user/dev/p37/p3715/h2o/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 877, in run_sync_in_worker_thread
    return await future
  File "/Users/user/dev/p37/p3715/h2o/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 807, in run
    result = context.run(func, *args)
  File "/Users/user/dev/p37/p3715/h2o/lib/python3.10/site-packages/gradio/utils.py", line 317, in run_sync_iterator_async
    return next(iterator)
  File "/Users/user/dev/p37/p3715/h2o/h2ogpt/src/gradio_runner.py", line 1428, in bot
    for res in get_response(fun1, history):
  File "/Users/user/dev/p37/p3715/h2o/h2ogpt/src/gradio_runner.py", line 1385, in get_response
    for output_fun in fun1():
  File "/Users/user/dev/p37/p3715/h2o/h2ogpt/src/gen.py", line 2009, in evaluate
    raise thread.exc
  File "/Users/user/dev/p37/p3715/h2o/h2ogpt/src/utils.py", line 340, in run
    self._return = self._target(*self._args, **self._kwargs)
  File "/Users/user/dev/p37/p3715/h2o/h2ogpt/src/gen.py", line 2112, in generate_with_exceptions
    func(*args, **kwargs)
  File "/Users/user/dev/p37/p3715/h2o/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/Users/user/dev/p37/p3715/h2o/lib/python3.10/site-packages/transformers/generation/utils.py", line 1522, in generate
    return self.greedy_search(
  File "/Users/user/dev/p37/p3715/h2o/lib/python3.10/site-packages/transformers/generation/utils.py", line 2339, in greedy_search
    outputs = self(
  File "/Users/user/dev/p37/p3715/h2o/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1522, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/Users/user/dev/p37/p3715/h2o/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1531, in _call_impl
    return forward_call(*args, **kwargs)
  File "/Users/user/.cache/huggingface/modules/transformers_modules/mosaicml/mpt-7b-chat/c53dee01e05098f81cac11145f9bf45feedc5b2f/modeling_mpt.py", line 270, in forward
    outputs = self.transformer(input_ids=input_ids, past_key_values=past_key_values, attention_mask=attention_mask, prefix_mask=prefix_mask, sequence_id=sequence_id, return_dict=return_dict, output_attentions=output_attentions, output_hidden_states=output_hidden_states, use_cache=use_cache)
  File "/Users/user/dev/p37/p3715/h2o/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1522, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/Users/user/dev/p37/p3715/h2o/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1531, in _call_impl
    return forward_call(*args, **kwargs)
  File "/Users/user/.cache/huggingface/modules/transformers_modules/mosaicml/mpt-7b-chat/c53dee01e05098f81cac11145f9bf45feedc5b2f/modeling_mpt.py", line 202, in forward
    (x, attn_weights, past_key_value) = block(x, past_key_value=past_key_value, attn_bias=attn_bias, attention_mask=attention_mask, is_causal=self.is_causal)
  File "/Users/user/dev/p37/p3715/h2o/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1522, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/Users/user/dev/p37/p3715/h2o/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1531, in _call_impl
    return forward_call(*args, **kwargs)
  File "/Users/user/.cache/huggingface/modules/transformers_modules/mosaicml/mpt-7b-chat/c53dee01e05098f81cac11145f9bf45feedc5b2f/blocks.py", line 35, in forward
    a = self.norm_1(x)
  File "/Users/user/dev/p37/p3715/h2o/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1522, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/Users/user/dev/p37/p3715/h2o/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1531, in _call_impl
    return forward_call(*args, **kwargs)
  File "/Users/user/.cache/huggingface/modules/transformers_modules/mosaicml/mpt-7b-chat/c53dee01e05098f81cac11145f9bf45feedc5b2f/norm.py", line 24, in forward
    with torch.autocast(enabled=False, device_type=module_device.type):
  File "/Users/user/dev/p37/p3715/h2o/lib/python3.10/site-packages/torch/amp/autocast_mode.py", line 222, in __init__
    raise RuntimeError(f'User specified an unsupported autocast device_type \'{self.device}\'')
RuntimeError: User specified an unsupported autocast device_type 'mps'

Um, nope. Model is loaded, but then
The attention mask and the pad token id were not set. As a consequence, you may observe unexpected behavior. Please pass your input's `attention_mask` to obtain reliable results.
Setting `pad_token_id` to `eos_token_id`:0 for open-end generation.
thread exception: (<class 'RuntimeError'>, RuntimeError("User specified an unsupported autocast device_type 'mps'"), <traceback object at 0x28a42b440>)
make stop: (<class 'RuntimeError'>, RuntimeError("User specified an unsupported autocast device_type 'mps'"), <traceback object at 0x28a42b440>)
hit stop
Traceback (most recent call last):
  File "/Users/user/dev/h2o/lib/python3.10/site-packages/gradio/routes.py", line 437, in run_predict
    output = await app.get_blocks().process_api(
  File "/Users/user/dev/h2o/lib/python3.10/site-packages/gradio/blocks.py", line 1352, in process_api
    result = await self.call_function(
  File "/Users/user/dev/h2o/lib/python3.10/site-packages/gradio/blocks.py", line 1093, in call_function
    prediction = await utils.async_iteration(iterator)
  File "/Users/user/dev/h2o/lib/python3.10/site-packages/gradio/utils.py", line 341, in async_iteration
    return await iterator.__anext__()
  File "/Users/user/dev/h2o/lib/python3.10/site-packages/gradio/utils.py", line 334, in __anext__
    return await anyio.to_thread.run_sync(
  File "/Users/user/dev/h2o/lib/python3.10/site-packages/anyio/to_thread.py", line 33, in run_sync
    return await get_asynclib().run_sync_in_worker_thread(
  File "/Users/user/dev/h2o/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 877, in run_sync_in_worker_thread
    return await future
  File "/Users/user/dev/h2o/lib/python3.10/site-packages/anyio/_backends/_asyncio.py", line 807, in run
    result = context.run(func, *args)
  File "/Users/user/dev/h2o/lib/python3.10/site-packages/gradio/utils.py", line 317, in run_sync_iterator_async
    return next(iterator)
  File "/Users/user/dev/h2o/h2ogpt/src/gradio_runner.py", line 1428, in bot
    for res in get_response(fun1, history):
  File "/Users/user/dev/h2o/h2ogpt/src/gradio_runner.py", line 1385, in get_response
    for output_fun in fun1():
  File "/Users/user/dev/h2o/h2ogpt/src/gen.py", line 2009, in evaluate
    raise thread.exc
  File "/Users/user/dev/h2o/h2ogpt/src/utils.py", line 340, in run
    self._return = self._target(*self._args, **self._kwargs)
  File "/Users/user/dev/h2o/h2ogpt/src/gen.py", line 2112, in generate_with_exceptions
    func(*args, **kwargs)
  File "/Users/user/dev/h2o/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/Users/user/dev/h2o/lib/python3.10/site-packages/transformers/generation/utils.py", line 1522, in generate
    return self.greedy_search(
  File "/Users/user/dev/h2o/lib/python3.10/site-packages/transformers/generation/utils.py", line 2339, in greedy_search
    outputs = self(
  File "/Users/user/dev/h2o/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1522, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/Users/user/dev/h2o/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1531, in _call_impl
    return forward_call(*args, **kwargs)
  File "/Users/user/.cache/huggingface/modules/transformers_modules/mosaicml/mpt-7b-chat/c53dee01e05098f81cac11145f9bf45feedc5b2f/modeling_mpt.py", line 270, in forward
    outputs = self.transformer(input_ids=input_ids, past_key_values=past_key_values, attention_mask=attention_mask, prefix_mask=prefix_mask, sequence_id=sequence_id, return_dict=return_dict, output_attentions=output_attentions, output_hidden_states=output_hidden_states, use_cache=use_cache)
  File "/Users/user/dev/h2o/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1522, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/Users/user/dev/h2o/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1531, in _call_impl
    return forward_call(*args, **kwargs)
  File "/Users/user/.cache/huggingface/modules/transformers_modules/mosaicml/mpt-7b-chat/c53dee01e05098f81cac11145f9bf45feedc5b2f/modeling_mpt.py", line 202, in forward
    (x, attn_weights, past_key_value) = block(x, past_key_value=past_key_value, attn_bias=attn_bias, attention_mask=attention_mask, is_causal=self.is_causal)
  File "/Users/user/dev/h2o/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1522, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/Users/user/dev/h2o/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1531, in _call_impl
    return forward_call(*args, **kwargs)
  File "/Users/user/.cache/huggingface/modules/transformers_modules/mosaicml/mpt-7b-chat/c53dee01e05098f81cac11145f9bf45feedc5b2f/blocks.py", line 35, in forward
    a = self.norm_1(x)
  File "/Users/user/dev/h2o/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1522, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/Users/user/dev/h2o/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1531, in _call_impl
    return forward_call(*args, **kwargs)
  File "/Users/user/.cache/huggingface/modules/transformers_modules/mosaicml/mpt-7b-chat/c53dee01e05098f81cac11145f9bf45feedc5b2f/norm.py", line 24, in forward
    with torch.autocast(enabled=False, device_type=module_device.type):
  File "/Users/user/dev/h2o/lib/python3.10/site-packages/torch/amp/autocast_mode.py", line 222, in __init__
    raise RuntimeError(f'User specified an unsupported autocast device_type \'{self.device}\'')
RuntimeError: User specified an unsupported autocast device_type 'mps'

@wizzard0 what is the torch version you are using, and on which h2ogpt branch you are using?

@wizzard0 please give me below

The torch version you are using
The h2ogpt branch you are at
Your Mac specs

python -c "import torch; print(torch.__version__)"

2.1.0.dev20230716

on branch main, just updated ff674651c84ab4083b352bfd1e21fd3999a74e51
Apple M2 Max 96GB, Ventura 13.4.1 (c)

if you are on a main (just updated) could you please create a fresh conda environment and try running the model with https://github.com/h2oai/h2ogpt/issues/463#issuecomment-1640550956

@Mathanraj-Sharma yes that's what I just did, one stacktrace is with init_device=mps, another with init_device meta. Both stacktraces are after submitting the prompt

@wizzard0 could you please also change torch_dtype in config.json to float16 and see.

@wizzard0 could you please also change torch_dtype in config.json to float16 and see.
just a hunch pytorch/pytorch#78168 (comment)
No change, still User specified an unsupported autocast device_type 'mps'

@wizzard0 as I mentioned earlier you can load the model to MPS by changing init_device in  config.json of the transformer.
The error related to autocast is from pytorch. torch.autocast does not support MPS yet

https://github.com/pytorch/pytorch/issues/88415
https://github.com/pytorch/pytorch/pull/99272

As mitigation in h2ogpt, we pass a NullContext in such a situation. https://github.com/h2oai/h2ogpt/blob/70a377c763abd278e57eced1a7aff7f468676ed7/src/gen.py#L1942
MPT model is triggering the error
 File "/Users/user/.cache/huggingface/modules/transformers_modules/mosaicml/mpt-7b-chat/c53dee01e05098f81cac11145f9bf45feedc5b2f/norm.py", line 24, in forward
    with torch.autocast(enabled=False, device_type=module_device.type):

So this needs to be fixed from MPT's side
cc: @pseudotensor

@pseudotensor closing it since no active, and problem looks like need to be fixed from MPT's end

@pseudotensor closing it since no active, and problem looks like need to be fixed from MPT's end


Responsive issue for mobile view

Hey @codervivek5 I noticed that website is not responsive so I want to work on this issue please assign me under GSSoC-23 thanks.

I would like to resolve this issue  @Vishal-Parasram
Can you assign me this issue?Or any other open issue?
Heres My Resume which you might find useful: Resume
Ive more than 1 year of experience in android development(check profile for more details)

@s0oraj I'm also contributing. I'm not a owner create any other issues.

@codervivek5 Thanks for assigning me. I will work on this issue.

@codervivek5 Hey I'm working on this issue it take some time sorry for delay.

Can you assign me with this issue I want to work on this. I have some prior knowledge on web technologies?


FIX use conda install for sklearn

try to fix failures from https://github.com/benchopt/benchOpt/runs/3718219572?check_suite_focus=true
If this works, we will try to reproduce the segfault for sklearn in a separate PR.

Codecov Report

Merging #210 (18c1a82) into master (4fc95d3) will decrease coverage by 0.04%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #210      +/-   ##
==========================================
- Coverage   63.49%   63.45%   -0.05%
==========================================
  Files          41       41
  Lines        2063     2063
  Branches      345      345
==========================================
- Hits         1310     1309       -1
  Misses        657      657
- Partials       96       97       +1


Problem with Config UI, nothing works anymore

Hi,
As told in another post, since a few updates, nothing works anymore. I'm on Proxmox, with latest Homebridge and Node.JS and plugin vers. 2.8.3.
I just reloaded a fresh install with no backup restore and with just Xbox plugin installed, I have this : (Chrome or Edge same problem).
Config UI of plugin is broken :

If I put the config manually :
"devices": [
{
"name": "Xbox",
"host": "<IP_ADDRESS>",
"xboxLiveId": "FXXXXXXXXXXX",
"webApiControl": true,
"getInputsFromDevice": false,
"filterGames": false,
"filterApps": false,
"filterSystemApps": false,
"filterDlc": false,
"sensorPower": false,
"sensorInput": false,
"sensorScreenSaver": false,
"enableDebugMode": false,
"disableLogInfo": false,
"disableLogDeviceInfo": false,
"enableMqtt": false,
"mqttDebug": false,
"mqttAuth": false
}
],
"platform": "XboxTv"
I have this :
When trying to authorize :

Or clean the token :

Without the Token, Xbox is reponding to Off / On command from Homebridge, or displaying where it is (Dashboard, Screensaver),
Also, each time I click on config for the plugin and I'm not editing anything :

Which is not normal.
I don't know which log I must retrieve for you ?
Many thanks for the help :)

Please try 2.8.4 beta and let me know, open app after clean install need to be fixed now

It's way better, thanks.
But webapi authorization not working : (plugin and config were removed and re added)

Regarding clear web api token error I think app do not have permission to /var/lib/homebridge/xboxTv folder or permission are broken

Weird because I did a full new wm install with iso of homebridge.

You don't have permission to the folder, check possibility write to the /homebridge/xboxTv/ folder

It's good no ? I don't see my issue :S sorry

Very strange, I cant this reproduce on my side.

any data in tokenFile?

It seems empty, I deleted it and nothing changes. When I reboot instances, file is recreated.

Its correct, the file contain data after authorization done, If You start authorization in which step the error occurred?

If I remove the file (or clean plugin install), I open the Config GUI, put the Xbox Name, IP, live ID. Save and restart. I open the config UI again, and then start authorization and I have this error :

In the WebAPI plugin section :
Email + Password in inserted.

I found my WebApi token in an old backup.
When I insert it into the configuration and restart : Homebridge says no token.
If I remove the file manualy and reboot : the same

email und password can be empty at this moment will be used in future, are you paste correct Live ID? from console settings?

Yes, so I managed to get it working... so steps :

Put the old WebApi Token
Restart
Wait a bit
Clean token -> Ok
Authorize -> Ok
Restart -> Still saying no token
Used the check auth -> Says ok
Restart
Now it's ok

I don't see that's ok in the logs, but I don't see anymore any errors.

then is no authorized, try beta 18 and get the output, I have added some debug more

It's installed, what do you need ?

I don't know what you changed, but now authToken_19216812 is populated :

But now :

Everything is setup right :S

Try 2.8.5-beta.0 and let me know

Better, but still not authorized :

Try beta.3

Yes ! Thanks so much.
It seems to work properly now :)
There is just a bug when I select settings it goes to the dashboard.
Many thanks

It’s not a bug, settings and some other inputs do not contain data to be set, In this case always spring to the dashboard but if you go t’o settings will display settings. So I close this as resolved.


Fix wrong the number of marked objects of MRB_TT_ENV in gray mark phase

If MRB_TT_ENV has stack shared flag or bidx flag, flags is too large
than the real stack size.

We should have done this in 93f5f225772c398be6e409da3d3ef0f07ffbe1cf.
We may have more similar missing changes.

Thanks for confirming it.


In phel v0.15, I want to use latest version of chemaclass/phel-cli-gui

Here are the repositories I was trying out
https://github.com/smeghead/phel-lifegame
When I run composer require chemaclass/phel-cli-gui in a phel-lang v0.15 environment, v0.2.0 is installed instead of the latest version (v0.3.0).
Is this because chemaclass/phel-cli-gui:v0.3.0 specifies ^7.2 for the symfony/console version requirement?
Is there a good way to use chemaclass/phel-cli-gui:v0.3.0 in a phel v0.15 environment?

Can you try again, @smeghead? I changed the code to depend on "symfony/console": "^7.1" and created a new tag 0.3.1, this will help answering your question. Let me know if this fixes it or we need to get deeper on it.

@Chemaclass
Thank you for the super fast response.
Installing chemaclass/phel-cli-gui (0.3.1)
I was able to install the latest version.


Remove it even if it shares a FID with a stray

@TheMarstonConnell I'm not sure about the necessity of merging this PR right now--I've just put it up here so you can identity why dead files are not being removed from disk.

The problem with this solution is that if the machine claims a stray at say 50% of its max misses for a file, and both the stray and the missed file share an FID, it will remove the stray after it has claimed and count as it burning that stray, it could theoretically get stuck in an infinite loop of burning if we were to implement this.


fix: No properties displayed

Thank you for your contribution to the KodaDot NFT gallery.
👇 _ Let's make a quick check before the contribution.
PR Type

[x] Bugfix
[ ] Feature
[ ] Refactoring

Context

[x] Closes #5368
[x]  remove carbonless from bsx ref: https://github.com/kodadot/nft-gallery/pull/5311#discussion_r1143212098
[ ] Requires deployment <>

Before submitting pull request, please make sure:

[x] My contribution builds clean without any errors or warnings
[x] I've merged recent default branch -- main and I've no conflicts
[x] I've tried to respect high code quality standards
[x] I've didn't break any original functionality
[x] I've posted a screenshot of demonstrated change in this PR

Optional

[ ] I've tested it at </bsx/collection>
[ ] I've tested PR on mobile
[ ] I've written unit tests 🧪
[ ] I've found edge cases

Had issue bounty label?

[x] Fill up your KSM address: Payout

Community participation

[x] Are you at KodaDot Discord?

Screenshot 📸

[x] My fix has changed something on UI; a screenshot is best to understand changes for others.

pay 20 usd

😍 Perfect, I’ve sent the payout
💵 $20 @ 32.46 USD/KSM ~ 0.616 $KSM
🧗 Caiv9TbPz68q5dC8EcHu5xKYPRnremimGzqmEejDFNpWWLG
🔗 0xc9fbf52a23ca0544a982aff4e6dba36e33ee01105d24f4f57b490f6082590502
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues

pay 20 usd

😍 Perfect, I’ve sent the payout
💵 $20 @ 5 USD/DOT ~ 4 $DOT
🧗 16SjUbGKSdjCdWTy3NNT3JxbRVGGqD4mwkHpc6BD9U2Rp29Z
🔗 0x4d05c7d042218502ddf5ddfad720cc568ef8303e5eae7d0a47443919864afef3
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues


interleave_demo.py missing

Hi, thank you very much for you research, it is very interesting!
I am interested in running the LLaVA-Next Interleave model but the file playground/demo/interleave_demo.py is missing
Can i find the file somewhere else?
Thank you for you help!

Hi, I'm also interested in running this model. Could you provide the playground/demo/interleave_demo.py file, please? Thanks for your research and contribution!

Hi, thank you very much for you research, it is very interesting!
I am interested in running the LLaVA-Next Interleave model but the file playground/demo/interleave_demo.py is missing Can i find the file somewhere else?
Thank you for you help!

you can find that in inference branch


AzureStack 2.3.0 missing from PowerShell Gallery

As per title, the latest module release is not available in PowerShell Gallery to install/download.

Yep:

2.3.0 is now available :)

Seems to be now resolved :)


CMR: Action menu viewport issues

Description
Initially I went about this by attempting the css adjustments we discussed in the channel, but when that didn't quite fix our issues I started sleuthing. Reach updated that component fairly recently so I upgraded our versions and seems to be working as expected now! As a result I had to make some minor adjustments to our typing for the primary nav.
Type of Change

Bug fix ('fix')

Closing in favor of https://github.com/linode/manager/pull/6869


Don’t read permission nodes twice for users

After analyzing the code on the SqlStorage, I found that line of code when selecting user permission nodes.
After checking again, I came to the conclusion that reading the node again was unnecessary and wouldn’t affect the behavior.

Ah oops! Nice spot, thanks :)


CI: Parallelizing cargo build and test

#472
Basics

[x] I added a line to /doc/CHANGELOG.md
[x] The PR is rebased with current master.

[x] References to issues, e.g. close #X, are in the commit messages.
[x] The buildserver is happy.

Checklist

[x] I have installed and I am using pre-commit hooks
[x] I fully described what my PR does in the documentation
(not in the PR description)
[ ] I fixed all affected documentation
[ ] I fixed all affected decisions
[ ] I added unit tests for my code
[ ] I added code comments, logging, and assertions as appropriate
[ ] I translated all strings visible to the user
[ ] I mentioned every code or binary not directly written or done by me in reuse syntax
[ ] I created left-over issues for things that are still to be done
[ ] Code is conforming to our Architecture
[ ] Code is conforming to our Guidelines
(exceptions are documented)
[ ] Code is consistent to our Design Decisions

Review

[ ] I've tested the code
[ ] I've read through the whole code
[ ] Examples are well chosen and understandable

Goal: 20minutes
With caching we can probably go down to 10mins per run.

Very ambitious, I like it :1st_place_medal:

If this is something we want, it's ready to be merged as temporal solution until we can speed up the builds in some other way. It costs one more node per Jenkins jobs though.
I also found some duplicate changelogs from me, removed them.

With proper parallelizing we could even reach faster times.

Yes, then parallelizing build+test seems to make sense. Will it make trouble for the later caching?
Anything that speaks against merging it? You seem to be hesitant :question:

Btw. a big thanks for your investigations!

I have a bigger suggestion coming, need to finish the drawing.

Anything that speaks against merging it? You seem to be hesitant ❓

No, not really, I just got distracted by other stuff and forgot about this.

I hope this visualizes the ideas well.

https://github.com/rust-lang/cargo/issues/5656#issuecomment-583958762
Interesting thoughts from a rust-lang developer
I also just realized that cargo build is doing a cargo check, so is this redundant?

This is not increasing the speed of each individual subtask but rather increases the throughput by executing everything in parallel but having increased subtask times. With caching subtask times can be further optimized and probaly achieve runs below 5 minutes.
At first I didn't intend to change that many lines, but splitting everything up made me repeat so many lines, that I had to extract a lot.
Some data
Old pipeline
For simplicity I ignore the frontend and mdbook stages

Task
Old pipeline (minutes)
New pipeline (minutes)

frontend
untouched
untouched

mdbook
untouched
untouched

Run 81 4 node parallel clippy benefit from check

Task
Old pipeline (minutes)
New pipeline (minutes)

cargo test
06:25
06:47

cargo build
07:08
15:00

cargo check + clippy
05:58 + 00:51
10:00

cargo doc
03:10
08:10

*Subtask Total
22:41
39:57

*Pipeline Total
24:58
16:13

Run 83 3 node parallel clippy benefit from build
This run was very inflated because of libelektra and docker image builds but still

Task
Old pipeline (minutes)
New pipeline (minutes)

cargo test
06:25
11:06(i7)

cargo build + clippy
07:08 + 00:51
12:54(h1)

cargo check + doc
05:58 + 03:10
12:35(a7)

*Subtask Total
22:41
36:35

*Pipeline Total
24:58
?

Run 84 RERUN 3 node parallel clippy benefit from build

Task
Old pipeline (minutes)
New pipeline (minutes)

cargo test
06:25
08:07(a7)

cargo build + clippy
07:08 + 00:51
12:40(h1)

cargo check + doc
05:58 + 03:10
10:42(v2)

*Subtask Total
22:41
31:29

*Pipeline Total
24:58
16:10

Run 85 RERUN 3 node parallel clippy benefit from build

Task
Old pipeline (minutes)
New pipeline (minutes)

cargo test
06:25
12:29(l1)

cargo build + clippy
07:08 + 00:51
12:48(h1)

cargo check + doc
05:58 + 03:10
10:44(v2)

*Subtask Total
22:41
37:01

*Pipeline Total
24:58
17:02

If we look at Run 83 and 84 cargo check + doc a strong node seems to speed up a subtask by 2 minutes. Moreover I think jenkins scheduler trys to give me the same nodes for the same stages. So I am not sure how comparable this is. However subtask duration is surely higher this way, but not sure by how much truely.
33% speedup by increasing the cpu time and using more nodes.
I also logged into pr.permaplant.net everything seemed to work.
I asked in rust-lang about this testing strategy, this is what they said.

More can be done here, but we can also merge/close now and open additional PR's.


console.table support

It seems that there is no console.table snippet available, any plan on adding it?

@georgeat8 released as ctl in v4.3.2


docs: add comments for services

same as https://github.com/jomei/notionapi/pull/137

I'd appreciate if you could check it when you're available :)

Thanks! 🔥


New children of "GO:0015453 oxidoreduction-driven active transmembrane transporter activity"

I think the 4 GO terms below should get an additional parent of:
id: GO:0015453
name: oxidoreduction-driven active transmembrane transporter activity
def: "Primary active transport of a solute across a membrane, driven by exothermic flow of electrons from a reduced substrate to an oxidized substrate. Primary active transport is catalysis of the transport of a solute across a membrane, up the solute's concentration gradient, by binding the solute and undergoing a series of conformational changes. Transport works equally well in either direction and is driven by a primary energy source." [GOC:mtg_transport, ISBN:0815340729, TC:3.D.-.-.-]
This also fits with their EC xrefs of 7.-.1.-, where '1' as the third digit specifies translocases linked to oxidoreductase reactions.
(I haven't checked if there are further GO terms with EC xrefs matching '7.-.1.-')
Thoughts @kaxelsen
==
id: GO:0008137
name: NADH dehydrogenase (ubiquinone) activity
def: "Catalysis of the reaction: NADH + ubiquinone + 5 H(+)(in) <=> NAD(+) + ubiquinol + 4 H(+)(out)." [RHEA:29091]
xref: EC:<IP_ADDRESS>
xref: RHEA:29091
is_a: GO:0009055 ! electron transfer activity
is_a: GO:0050136 ! NADH dehydrogenase (quinone) activity
id: GO:0008121
name: ubiquinol-cytochrome-c reductase activity
def: "Enables the transfer of a solute or solutes from one side of a membrane to the other according to the reaction: CoQH2 + 2 ferricytochrome c = CoQ + 2 ferrocytochrome c + 2 H+." [RHEA:11484]
xref: EC:<IP_ADDRESS>
xref: RHEA:11484
is_a: GO:0009055 ! electron transfer activity
is_a: GO:0016679 ! oxidoreductase activity, acting on diphenols and related substances as donors
id: GO:0004129
name: cytochrome-c oxidase activity
def: "Catalysis of the reaction: 4 ferrocytochrome c + O2 + 4 H+ = 4 ferricytochrome c + 2 H2O." [RHEA:11436]
xref: EC:<IP_ADDRESS>
xref: RHEA:11436
is_a: GO:0009055 ! electron transfer activity
is_a: GO:0015078 ! proton transmembrane transporter activity
is_a: GO:0016675 ! oxidoreductase activity, acting on a heme group of donors
id: GO:0140571
name: transmembrane ascorbate ferrireductase activity
def: "Oxidation of Fe(3+) to Fe(2+) on the outer side of a membrane coupled to the reduction of L-ascorbate to monodehydro-L-ascorbate radical on the inner side of a membrane. Electrons get transferred across the membrane during the reaction." [PMID:16911521, PMID:24449903, RHEA:30403]
xref: EC:<IP_ADDRESS>
xref: RHEA:30403
is_a: GO:0016722 ! oxidoreductase activity, acting on metal ions

Hi @sjm41
Based on the synonyms, it looks like GO:0015453 oxidoreduction-driven active transmembrane transporter activity was created to align to TC:3.D; however the children you suggest are not children of TC:3.D:
http://www.tcdb.org/search/result.php?tc=3.D
I wonder if we really want to align to how EC now represents transporters. For example in GO, GO:0008137 NADH dehydrogenase (ubiquinone) activity is an oxidoreductase.
The transporters MF are defined either as

transmembrane transporter, in which the transporter remains in place and allows a substrate to pass though some kind of channel
carrier activity, in which the carrier moves together with its substrate, such as karyopherin.

For those 7.xx EC reactions, the chemistry of the reaction results in a net difference in the number of protons across the membrane, but those are not transported, at least not by the mechanism we describe. In the case of the reactions you give above, it would be consistent with GO to annotate to the BP 'proton transport', but not to the MF transporter activity.
What do you think ?
Thanks, Pascale

Thanks for the links to TCDB!
It looks like the children I'm suggesting are (mostly) included under TC:3.D:
id: GO:0008137
name: NADH dehydrogenase (ubiquinone) activity
=> 3.D.1 The H+ or Na+-translocating NADH Dehydrogenase (NDH) Family
id: GO:0008121
name: ubiquinol-cytochrome-c reductase activity
=> 3.D.3 The Proton-translocating Quinol:Cytochrome c Reductase (QCR) Superfamily
id: GO:0004129
name: cytochrome-c oxidase activity
=> 3.D.4 The Proton-translocating Cytochrome Oxidase (COX) Superfamily
id: GO:0140571
name: transmembrane ascorbate ferrireductase activity
=> I don't immediately see this, but it seems only recently defined (see #20602), so this omission may be expected?

"GO:0022857 transmembrane transporter activity" is defined as "Enables the transfer of a substance, usually a specific substance or a group of related substances, from one side of a membrane to the other."  I don't see the requirement for there being some kind of channel here?
Also, I was viewing "oxidoreduction-driven active transmembrane transporter activity" as analogous to "ATPase-coupled transmembrane transporter activity ; GO:0042626" (and they are sister terms in GO).
That is, the primary function of "ATPase-coupled transmembrane transporters" is active transporters (translocases), using ATP as energy source, so are best classified as translocases (using ATP hydrolysis) rather than hydrolases in the GO. Likewise, if the primary function of "oxidoreduction-driven active transmembrane transporters" is as active transporters/translocases using an oxidoreductase reaction as an energy source, perhaps they are best classified as translocases rather than oxidoreductases? This view seems to align OK with EC and TCDB, as well as being consistent with how the ATPases have recently been reorganised in the GO?
in GO are now organised such that the ATPase aspect is somewhat secondary

Thinking about this some more, also with @ValWood , it just seems that those are really different types of molecular functions. The difference between TM transporter, even as it is currently defined ("Enables the transfer of a substance...",), implies that the protein makes the substance go from one side of the membrane to the other. On the other hand, those oxidoreductase reactions result in a net difference in the concentration of a substance (usually a proton or an electron) across the membrane, without actually mediating transport.
It seems this is appropriate for a BP 'proton transport' but I am not sure this is the same type of function as say an ABC transporter.
Also - how would it differ from  GO:0009055 electron transfer activity - or would you move that under the new term you propose? (although as far as I remember not all electron transporters results in transport across the membrane, this is the difference between the first and the last step).
Thanks, Pascale

Note though that we should remove the transmembrane transporter parent from "cytochrome-c oxidase activity"

Thanks for thinking about this. I agree that these 'oxidoreductase-powered transporters' are different MFs than ATP-dependent transporters (such as the ABC transporters) and should be separated from them, but I also think the literature & other databases support classifying them as a type of 'transporter (or 'translocase').
Focussing just on the 3 catalytic terms for Complex I (NADH dehydrogenase (ubiquinone) activity), III (ubiquinol-cytochrome-c reductase activity) and IV (cytochrome-c oxidase activity) of the OXPHOS system:
As I understand it, the primary function of these 3 complexes is to pump protons from one side of the membrane to the other (matrix to intermembrane space) - all the reviews/books I've looked at describe these 3 complexes as 'proton pumps'. This pumping is the end result of electron transfer initiated by an oxidoreductase reaction. (e.g. https://en.wikipedia.org/wiki/Oxidative_phosphorylation or https://pubmed.ncbi.nlm.nih.gov/26921811/)
Consistent with that view, both EC (https://enzyme.expasy.org/EC/7.1.1.-) and TC (http://www.tcdb.org/search/result.php?tc=3.D) classify these enzymes as transporters/translocases, driven by/linked to oxidoreduction (see classification/definitions below)
In GO, the current parentages for the catalytic terms for Complex I, III and IV capture the oxidoreductase and electron transfer aspect, but don't capture the primary proton pump aspect. It seems like this is an omission, which can easily be rectified by adding the existing 'GO:0015453 oxidoreduction-driven active transmembrane transporter activity' term - as you say, this was created based on TC:3.D, but the GO terms corresponding to children of TC:3.D have not so far been added as children in GO.
If we're not going to add the TC:3.D children as children in GO, then 'GO:0015453 oxidoreduction-driven active transmembrane transporter activity' may as well be obsoleted.
FYI, QuickGO (https://www.ebi.ac.uk/QuickGO/annotations?goUsage=descendants&goUsageRelationships=is_a,part_of,occurs_in&goId=GO:0015453
) says there are currently only 142 annotations to the term, the majority of which are to COX3 subunits via PANTHER:PTN000150044 (CYTOCHROME C OXIDASE SUBUNIT III (PTHR11403))
But it still seems accurate to me to add 'GO:0015453 oxidoreduction-driven active transmembrane transporter activity' as an additional parent (fine to keep current parents) to:
NADH dehydrogenase (ubiquinone) activity (GO:0008137)
ubiquinol-cytochrome-c reductase activity (GO:0008121)
cytochrome-c oxidase activity (GO:0004129)
Also seems accurate to add "GO:0015078 proton transmembrane transporter activity" to the first two terms rather than remove from the third term.
For comparision, the GO terms for proton pumps coupled to ATP synthesis or hydrolysis are classified as proton transporters in the GO:
id: GO:0046933
name: proton-transporting ATP synthase activity, rotational mechanism
def: "Enables the synthesis of ATP from ADP and phosphate by the transfer of protons from one side of a membrane to the other by a rotational mechanism driven by a gradient according to the reaction: ADP + H2O + phosphate + H+(in) = ATP + H+(out)." [RHEA:57722]
is_a: GO:0015252 ! proton channel activity
is_a: GO:0016874 ! ligase activity
id: GO:0046961
name: proton-transporting ATPase activity, rotational mechanism
def: "Enables the transfer of protons from one side of a membrane to the other according to the reaction: ATP + H2O + H+(in) = ADP + phosphate + H+(out), by a rotational mechanism." [RHEA:57721]
is_a: GO:0009678 ! pyrophosphate hydrolysis-driven proton transmembrane transporter activity
is_a: GO:0019829 ! ATPase-coupled cation transmembrane transporter activity
is_a: GO:0044769 ! ATPase activity, coupled to transmembrane movement of ions, rotational mechanism

Yes, based on this it does make sense to add.

(although as far as I remember not all electron transporters results in transport across the membrane, this is the difference between the first and the last step).
@pgaudet This is true. NADP, FAD, FMN, ferredoxin, flavodoxin etc etc can all be considered electron transporters.
I also think your suggestions make sense.

Hi @sjm41
I've made the following changes:
NADH dehydrogenase (ubiquinone) activity (GO:0008137)
+is_a: GO:0015078 ! proton transmembrane transporter activity
+is_a: GO:0015453 ! oxidoreduction-driven active transmembrane transporter activity
ubiquinol-cytochrome-c reductase activity (GO:0008121)
+is_a: GO:0015078 ! proton transmembrane transporter activity
+is_a: GO:0015453 ! oxidoreduction-driven active transmembrane transporter activity
cytochrome-c oxidase activity (GO:0004129)
+is_a: GO:0015453 ! oxidoreduction-driven active transmembrane transporter activity
I am not fully clear if that's what you meant by

Also seems accurate to add "GO:0015078 proton transmembrane transporter activity" to the first two terms rather than remove from the third term.

Please let me know if this is what you had in mind.
Thanks, Pascale

Thanks @pgaudet! Yes, that is what I meant.
My original post also suggested adding the "GO:0015453 ! oxidoreduction-driven active transmembrane transporter activity" parent to this term, based on its definition and EC xref:
id: GO:0140571
name: transmembrane ascorbate ferrireductase activity
def: "Oxidation of Fe(3+) to Fe(2+) on the outer side of a membrane coupled to the reduction of L-ascorbate to monodehydro-L-ascorbate radical on the inner side of a membrane. Electrons get transferred across the membrane during the reaction." [PMID:16911521, PMID:24449903, RHEA:30403]
xref: EC:<IP_ADDRESS>
xref: RHEA:30403
is_a: GO:0016722 ! oxidoreductase activity, acting on metal ions
Can you add that too?

Sure.
However I think those are involved in transport but are not transmembrane transporters.  I worry these relations might cause inconsistencies in the future.

To be more specific: cytochrome-c oxidase activity does pump protons across the membrane, as described in http://www.tcdb.org/search/result.php?tc=3.D.4
For transmembrane ascorbate ferrireductase activity my understanding was that there were 2 reactions taking place on either side of the membrane, resulting in a net difference in protons, but without actually transporting them - see discussion here: https://github.com/geneontology/go-ontology/issues/20602
Thanks, Pascale

Hi pascale
I took another look at this - here's what I found:
Lionel's original proposed def for 'transmembrane ascorbate ferrireductase activity' was:
"Transmembrane ascorbate ferrireductase that that transfers electrons across a single membrane."
Lionel also said:
"My understanding is that it oxidizes ascorbate on one side of the membrane while reducing iron on the other side of the membrane. Hence there is a flux of electron from in to out. This is why it is considered a transport reaction coupled to an oxido-reduction (EC.7...). "
Also, the EC page (https://enzyme.expasy.org/EC/<IP_ADDRESS>) says:
Ascorbate ferrireductase (transmembrane).
Comments: A diheme cytochrome that transfers electrons across a single membrane, such as the outer membrane of the enterocyte, or the tonoplast membrane of the plant cell vacuole.
And the current GO def includes:
"Electrons get transferred across the membrane during the reaction."
Finally, I also found this review (https://pubmed.ncbi.nlm.nih.gov/19501649/) that is generally useful to these discussions, and also says that the mechanism is "enzyme-mediated transmembrane electron transfer"
So....I think that's all consistent with there being transport of electrons across the membrane, meaning the proposed parentage is OK?

I searched for other GO terms with an xref like EC:7..1. and found two more we should consider (see below) - these should also get the "GO:0015453 ! oxidoreduction-driven active transmembrane transporter activity" parent to be consistent.
<IP_ADDRESS>      Ubiquinol oxidase (H(+)-transporting)
=>
id: GO:0009486
name: cytochrome bo3 ubiquinol oxidase activity
namespace: molecular_function
alt_id: GO:0008827
def: "Catalysis of the reaction: 2 ubiquinol + O2 + 4 H+ = 2 ubiquinone + 2 H2O + 4 H+ [periplasmic space]." [RHEA:30251]
synonym: "cytochrome bo oxidase" EXACT [EC:<IP_ADDRESS>]
synonym: "cytochrome bo(3) oxidase" EXACT [EC:<IP_ADDRESS>]
synonym: "cytochrome o ubiquinol oxidase activity" RELATED []
xref: EC:<IP_ADDRESS>
xref: MetaCyc:RXN0-5268
xref: RHEA:30251
xref: TC:3.D.4.5.1
is_a: GO:0009055 ! electron transfer activity
is_a: GO:0016675 ! oxidoreductase activity, acting on a heme group of donors
<IP_ADDRESS>      Plastoquinol--plastocyanin reductase
=>
id: GO:0009496
name: plastoquinol--plastocyanin reductase activity
namespace: molecular_function
def: "Catalysis of the reaction: 2 H(+)[side 1] + 2 oxidized plastocyanin + plastoquinol-1 = 2 H(+)[side 2] + 2 reduced plastocyanin + plastoquinone. This reaction involves the concomitant transfer of 2 H+ ions across a membrane." [RHEA:22148]
synonym: "cytochrome b6f" NARROW []
synonym: "cytochrome b6f complex activity" RELATED [EC:<IP_ADDRESS>]
synonym: "plastoquinol-plastocyanin reductase activity" RELATED []
synonym: "plastoquinol/plastocyanin oxidoreductase activity" RELATED []
synonym: "plastoquinol:oxidized-plastocyanin oxidoreductase activity" RELATED []
xref: EC:<IP_ADDRESS>
xref: KEGG_REACTION:R03817
xref: MetaCyc:PLASTOQUINOL--PLASTOCYANIN-REDUCTASE-RXN
xref: RHEA:22148
is_a: GO:0052880 ! oxidoreductase activity, acting on diphenols and related substances as donors, with copper protein as acceptor

Very soon there will also be:
EC <IP_ADDRESS> ferredoxin—quinone oxidoreductase (H+-translocating)
It will be linked to RHEA:67632
a plastoquinone + 6 H+(in) + 2 reduced [2Fe-2S]-[ferredoxin] = a plastoquinol + 4 H+(out) + 2 oxidized [2Fe-2S]-[ferredoxin]
MetaCyc: RXN-22408 (the reaction is slightly different since MetaCyc uses plastoquinone-9 as substrate while Rhea uses "a plastoquinone")

@kaxelsen How soon? July release?

@kaxelsen @amorgat Can we arrange that you guys send us a list of new reactions at each release? That would be easier for us than going back to tickets.

It will be in the next freeze just rescheduled for June 14ish. So I suspect an August release


Sample code for using torch_geometric.nn.MetaLayer

❓ Questions & Help
The documentation  provides an example use of the MetaLayer.  It seem to me that in the implementation of forward in NodeModel, scatter_mean incorrectly aggregates around the source nodes of directed edges rather than the destination nodes which would be in keeping with the paper.
def forward(self, x, edge_index, edge_attr, u, batch):
        # x: [N, F_x], where N is the number of nodes.
        # edge_index: [2, E] with max entry N - 1.
        # edge_attr: [E, F_e]
        # u: [B, F_u]
        # batch: [N] with max entry B - 1.
        row, col = edge_index
        out = torch.cat([x[col], edge_attr], dim=1)
        out = self.node_mlp_1(out)
        out = scatter_mean(out, row, dim=0, dim_size=x.size(0))
        out = torch.cat([x, out, u[batch]], dim=1)
        return self.node_mlp_2(out)

I've been assuming (row, col) of the edge_index refers to (source node indices, destination node indices) however as I write this I realise I might just have that around the wrong way.  Can anyone clear up whether the example is correct with respect to the “Relational Inductive Biases, Deep Learning, and Graph Networks” paper?

Thanks for noticing. You are indeed right. I fixed it in master :)


Distortion parameters are all 0 for the RAW data of the RGB camera in D415

Before opening a new issue, we wanted to provide you with some useful suggestions (Click "Preview" above for a better view):

Consider checking out SDK examples.
Have you looked in our documentations?
Is you question a frequently asked one?
Try searching our GitHub Issues (open and closed) for a similar issue.

All users are welcomed to report bugs, ask questions, suggest or request enhancements and generally feel free to open new issue, even if they haven't followed any of the suggestions above :)

Required Info

Camera Model
D415

Firmware Version
<IP_ADDRESS>

Operating System & Version
Win 10

Kernel Version (Linux Only)
(e.g. 4.14.13)

Platform
PC

SDK Version
{ legacy / 2.. }

Language
C

Segment
{Robot/Smartphone/VR/AR/others }

Issue Description
I get the intrinsic parameters of the RAW data of the RGB camera. The distortion coefficients are all 0, which means the lens doesn't have any distortion at all.
How come is that possible?
Well, I do observe that the straight line in the edges are still straight. But can someone explain that how a practical lens doesn't have any distortion? Thanks!
The only explanation that I have is, this RAW data is not the real RAW data; it is the re-sampled mosaiced data from the rectified image. Is this guess correct?

Hi @JianWang-CMU   This is not an error.  The 400 Series deliberately sets all coefficients to zero.  More information about this can be found in the link below.
https://github.com/IntelRealSense/librealsense/issues/1430
The RealSense D455 model has an exception to this rule where the Color coefficients may be reported as being non-zero, but this does not affect your D415.
https://github.com/IntelRealSense/realsense-ros/issues/1580

Thanks! Those two links solved my question.
Also, in my case, I am using RAW. The RAW also has no distortion.
I am surprised that the lens has very little distortion (I don't have optics background).

Hi @JianWang-CMU  Do you require further assistance with this case, please?   Thanks!

I don't need further assistance. Thanks!

Thanks very much @JianWang-CMU for the update!


Cooldown

Add a cooldown option for the /spawn command

How to use cooldown option?

How to use cooldown option?

I am still working out how to add it, should be done soon!

How to use cooldown option?

It is done now if you want to build it of github but I'm not going to fully release it just yet, still got a few more things to add

Done

Is this for the latest release or for the original cooldown option?

Last release.

There should be an option for that, the default is 3 seconds

I can't find it :-(   Where i must search?

Can you send me a screenshot?

What exactly is this screenshot supposed to be?

The config.yml file

This is my config file in my serwer.

hmm, it seems like the other config like the messages didn't load, are they there or not?

No, there is only one file in "SetSpawn" directory, "config.yml"

Sorry for the late reply, yes there should be only 1 file, but there should be more things in that file. Are the spawn cords the only thing in that file?

Sorry for the loooong late reply :) Yes. It's only spawn coords in this file. I delete this file and restart server, then set spawn point and my new file is the same like previous.

@Anipoki This has been fixeed by the pull request #8. Thanks for letting me know about this!


Dragging in mobile is buggy - scrolls page and triggers error

When I switch to mobile mode in Chrome 55 and I try to drag some sortable element, I get this error on every "finger" move:

Sortable.js?1:565 Unable to preventDefault inside passive event listener due to target being treated as passive. See https://www.chromestatus.com/features/5093566007214080

In addition, if the page has where to scroll, it scrolls.
If you want to see for yourself you can go to the official Sortable.js demo (http://rubaxa.github.io/Sortable/), open up dev tools, enable device emulation mode and start moving elements around.

The easy fix (not sure if correct fix, though) is to update the implementation of the function _on in line 1017 (at least in my version) to:
    function _on(el, event, fn) {
        el.addEventListener(event, fn, {capture: false, passive: false});
    }

meaning - to change the last parameter from false to {capture:false, passive: false}, since since chromium version 54 the default for passive mode in mobile devices changed to true.

Can this please be fixed?  The latest Chrome update broke Sortable.js on mobile.

+1, working on Chrome 55 on android 7.1.1, broken on Chrome 56 on android 6.0.1. Also seeing this issue in mobile Safari. Reproducible on desktop Chrome 56 with device emulation enabled.

+1

Fixed: https://github.com/RubaXa/Sortable/commit/42f57f1ee34c0c1199405e6ee1aac18216e62d2d

Confirmed working on latest in chrome 56! Thank you! I just tossed some cash into the donation link on the site. I'm still seeing the behavior on mobile Safari, although the behavior is consistent with the way it was behaving on chrome - is it possible that Safari is also ignoring the preventDefault?

Quite possible.

Sorry for the trouble, this is a breaking change in Chrome 56 to improve scroll performance.  Note that your fix isn't compatible with browsers that don't support EventListenerOptions - you may want to use feature detection.
However, it looks like your code also supports pointer events - which don't disable scrolling via preventDefault either (regardless of the passive setting).  I checked in Microsoft Edge with a touchscreen and it's indeed broken there as well.  I believe the right fix (for both pointer events and Chrome 56+ touch events) is to add a touch-action:none CSS rule to explicitly disable touch scrolling over any draggable item.  I verified such a change fixes the demo so that it works properly on Edge.

@RByers try touch-action-branch (https://github.com/RubaXa/Sortable/commit/314db5e828b1077f62af40032a93f897f16842ec)

@RubaXa How can we download this fix via npm? You haven't tagged any releases since December

Thanks @RubaXa, the touch-action:none seems to have temporarily fixed the issue until you release next version.

So? Add or not it is in the master?

Hi, I think the way to fix it must be with feature detection as @RByers mentioned.
touch-action:none might solve it for some cases but what if you have a sortable list that takes up the whole screen? Then you can't scroll. The delay property is supposed to solve this I guess so that you can both scroll when touch dragging over your sortable list and start a drag if you press and hold for the delay.
So I guess something like the below?
var supportsPassive = false;
try {
  var opts = Object.defineProperty({}, 'passive', {
    get: function() {
      supportsPassive = true;
    }
  });
  window.addEventListener("test", null, opts);
} catch (e) {}
captureMode = supportsPassive ? {capture: false, passive: false} : false,

// remove this:
// el.style['touch-action'] = 'none'; // #1022

If you really want to support both touch scrolling and dragging based on how long the user holds their finger down after touchstart, then yeah using passive:false (and having potentially janky scrolling as a result) is unfortunately the only option.
Can someone point to a demo where that works?  I'm curious to see what the UX feels like - it sounds pretty strange to support both interactions with roughly the same gesture.  Is this is a "long press to pick up and then drag" sort of UX?

Don't think there is a demo for this. But delay is something you set in the options object when you create your sortable.  It is not a totally uncommon use-case I guess. Every phone has their apps on the home screens, you can reorder if you first do a long press but also swipe left and right to get to another screen.

Thanks, yes I agree that with the right affordances that's a reasonable UX.  Spec issue filed, thanks!

@elonmallin PR?

@RubaXa Sure, see if this works https://github.com/RubaXa/Sortable/pull/1042

I specifically left the possibility: https://github.com/RubaXa/Sortable/blob/touch-action/Sortable.js#L70

https://github.com/RubaXa/Sortable/pull/1043 Guess you meant that the PR should be in the touch-action branch? Also removed the touch-action:none.

Done.

@RubaXa when are you planning to tag a new release so we can update via NPM? Or is it possible to update without you first tagging?

Tomorrow.

<EMAIL_ADDRESS>

@RubaXa thanks for the release, I just tried updating and while dragging an element I get hundreds of warnings. As you can see below, I got 430 warnings..

430 sortable.js:1 Unable to preventDefault inside passive event listener due to target being treated as passive. See https://www.chromestatus.com/features/5093566007214080

I installed<EMAIL_ADDRESS>and this bug was not resolved
(http://rubaxa.github.io/Sortable/)
https://github.com/RubaXa/Sortable/commit/1d1e7817e192dcb920a5cbfc15a5cee39e425310
The calling sequence seems to be a problem.
I ask for confirmation.

1.5.1 not working on chrome for mobile or WebView chrome client. Any update on this issue? Thanks

1.6.0 is throwing the same error. Any ideas on how to fix it?

Any update?

Just checking if this is still on the table for being fixed?

@wattrobert This error will not exist in the next version


REPL Clear Button

Originally reported by @CliffAgius at https://github.com/dotnet/docs/issues/4493
Completing the C# Getting started "Hello World!" with my son's Yr6 Class (10/11 year olds) and a suggestion from one of the kids was why is there no Clear button to empty the Editor window?
Suggest this would not be a big one to add, also from another child there is a way to copy the code from the code block using the Copy button but no Paste button. I told her she had to type the code which was met with groans...

@yunyunyunyun This is a suggestion from user about interactive tutorial button. Can you take a look at this?

@yunyunyunyun can you follow-up?

@LadyNaggaga is this something that is already on the radar for your team?

Hello - reviewing and cleaning up some older feedback/issues. Thanks!

@mimisasouvanh this was a good suggestion. Why are we closing still valid feedback?
/cc @BillWagner

Also seems a fairly simple fix a clear button can't be that hard to add?

We are closing the feedback here and migrating it to specific team backlogs so they can be actioned. I've pinged @mimisasouvanh via email for extra awareness.


Call for sponsors

As many of you have noticed, development of jsperf.com has slowed. @mathiasbynens, @asilluron, and myself have all had personal setbacks over the past few months limiting the time we can spend on developing and operating this free and open source service. We've decided to move to a sponsorship model so we can continue working on the site in a financially sustainable way.
This PR calls out the need for sponsors in the README and on a dedicated Sponsor page. There are links to each core contributor's preferred donation service.

@mathiasbynens on PayPal
@maxbeatty on Patreon
@asilluron on Patreon

Our hosting is already generously provided by DigitalOcean (they gave us some credits that allow us to host the database for the near future) and Zeit (they fully sponsor our Node.js hosting!). The AMP Project made a donation to get v2 finished. Now, we're hoping other individuals and companies who benefit from jsPerf will continue supporting its development.
Please get in touch if you have ideas or questions. We're trying to be as transparent as possible during this process 💟

👍
On Sat, Dec 24, 2016 at 12:24 AM Mathias Bynens<EMAIL_ADDRESS>wrote:

@mathiasbynens commented on this pull request.

In server/web/sponsor/index.hbs
https://github.com/jsperf/jsperf.com/pull/291#pullrequestreview-14351144
:

@@ -0,0 +1,37 @@

+Sponsor

+

Development of jsPerf is generously supported by contributions from individuals and corporations. If you are benefiting from jsPerf and would like to help keep the project financially sustainable, please donate to a core contributor.

+
Perhaps we could link to the open issues list, so that people can pick
their favorite issue and sponsor the person who’s assigned to work on it,
rather than randomly picking one of the core contributors in the list below?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jsperf/jsperf.com/pull/291#pullrequestreview-14351144,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AB2PsdXFMExLUOFzNLfwIh6CeHz0fab5ks5rLNavgaJpZM4LVKaf
.

Can’t find the original comments anymore, so I’ll just reply here:

I thought we had enough credits to get us through 2017 so I haven't given this much thought. IMO funds for hosting should be kept separate from funds for contributors. Maybe we can clarify that Carbon Ads proceeds go towards hosting?

Agreed — ads & sponsorship deals are separate from donations.


Add Pipeline Repository UI bugs

**Rancher versions:**v1.6.10
Results:

[x] Add Pipeline Step 1 - Selecting user highlights everything in blue, but the name of the user is also in blue so you can't really see the name

[x] Clicking on the name in the User drop-down take to new page with user's avatar.  There should not be a link in the drop-down.  I should be able to select anywhere on that row and have it just select.

[x]  Refresh repository hint needs to be changed.  Should simply say "Refresh repository" (Vincent thinks this refresh shouldn't even exist and should be taken out)

[x] Spell out repository in initial info

[x] Webhook should always just be  checkbox on or off.  And should not be a yellow X.

[x] Webhook hint should say something like "Automatically run pipeline after commits"

[x] User box get significantly bigger after you select someone.  Should not change size/get bigger.

[x] We are not adding a step to the stage at this point.  So that should not be the title of the modal.  "Add Repository" might be a good title.  Also please remove  "1. Source Code Management"

[x] No error message for "User" is required, remove ! from all error messages and Repository should be a valid git address!  should be "Repository" is required

[x] When modal opens, focus should already be on the User drop-down.  Right now there is no default focus.

Fixed in latest version in (http://<IP_ADDRESS>:8082/)
For the issues

 User box get significantly bigger after you select someone. Should not change size/get bigger.
When modal opens, focus should already be on the User drop-down. Right now there is no default focus.

I solved it by setting the first repository and first user as the default value, and focusing branch input box.


PyBullet 3.22 released EOM

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Done with https://github.com/adxeproject/adxe/commit/2bf5274116d25fbd6c03de01187be5d169493758


[interop] cannot import a std::map field in FRT

Describe the bug
The following code doesn't compile as the map_ field is not imported:
test.swift:4:40: error: value of type 'CxxRecord' has no member 'map_'
    let value = getImmortalCxxRecord().map_
                ~~~~~~~~~~~~~~~~~~~~~~ ^~~~
./test.h:9:5: note: field 'map_' not imported
    std::map<int, int> map_;
    ^

Steps To Reproduce
Test.h
#include <map>

#define SWIFT_CXX_REF_IMMORTAL                                                                                \
	__attribute__((swift_attr("import_as_ref")))                                                                         \
  __attribute__((swift_attr("retain:immortal")))                                                                       \
	__attribute__((swift_attr("release:immortal")))

struct SWIFT_CXX_REF_IMMORTAL CxxRecord {
    std::map<int, int> map_;
};

inline CxxRecord * _Nonnull getImmortalCxxRecord() { return new CxxRecord; }

module.modulemap
module Testi {
  header "test.h"
  requires cplusplus
}

test.swift
import Testi

func test() {
    let value = getImmortalCxxRecord().map_
    value.count(2)
}

RUN: swiftc -target arm64-apple-macosx10.9 test.swift -I . -sdk  -Xfrontend -enable-experimental-cxx-interop
Expected behavior
This should compile and the field should be imported.

Fixed by
import std.map

We need some better diagnostics here, though.
Also, why wasn't clang able to pick up the module dependencies?

The fix is a workaround, it shouldn't be required.

Smaller reproducer:
struct CxxRecord {
    std::string s;
};


Keyboard appears when accidentally pressing a date value in the slider

Hello, while using the slider widget of this plugin, I accidentally pressed on the month field and noticed that my keyboard appeared which made me able to edit the field and enter (e.g.) 56. This is also possible for the day and year field.
I couldn't localize it in the code, but is there a way to disable this and prevent the keyboard from opening?
Furthermore, the calendar works really well and is great to use. Thanks for providing this plugin :)

@Jamerze
Thank you for the feedback!
Am I correct in saying that the keyboard should not appear when I tap on the selected date in the center of the picker?
(Is this a mode that does not require keyboard input?)

@mytooyo
Hi, thank you for the quick response. I just realized this is actually a feature and not a bug to quickly set the day, month or year in the slider so that you not always have to scroll.
But in our case we'd indeed like to prevent the keyboard from appearing and would like to only use the slider functionality (so no keyboard input) if possible.

Yes. I have implemented the ability to enter text as well as scroll.
I think that there are cases where you may want to use only a simple Picker, so I will add an option.

Added inputable option.
Setting it to false will prevent the keyboard from being displayed.
options: BoardDateTimeOptions(
  inputable: false,
)

Please try v1.6.6.

@mytooyo
Thanks! Works really well.


[RFC] Pytest environment improvements

In many places having a global pytest flag is useful . For me with the
build and test of tvm , I would like to be able to globally pass in
pytest options as part of development flow or CI flows where one would
like to measure other things regularly that need measurements including
pytest coverage data that I would like to experiment with across the stack.
This has been achieved with an additional setup-pytest-env.sh file in
tests/scripts rather than putting in something in every single task test
script and something I would like to avoid.
This now means the -v option to pytest is superfluous. I did consider
having a pytest.ini file but that doesn't allow me to pass any old
environment variable in and this seems to be the best compromise.
I have also updated the pull request documentation to reflect
the presence of the -k pytest option at the same time though
technically this could be a separate pull request.
@tqchen

I don't like my current hack of overloading "with_same_user" for sourcing this global environment but it seemed like the simplest hack and worked in my environment. Obviously I don't have cuda testing in my CI or my regular test environment, so this isn't fully clear.

It would be great if we can avoid the hack into the with_same_user. One alternative would be still pass in the PYTEST_ADDOPTS env variable from the docker env(for development purposes) but source the setup-pytest-env within each of the script.
This also makes the intention of the CI scripts clear, since sometimes we could directly use these scripts. For example, I sometimes would use ./tests/scripts/task_python_unittest.sh without the docker image to run the testcases

Thanks for the quick review.

It would be great if we can avoid the hack into the with_same_user. One alternative would be still pass in the PYTEST_ADDOPTS env variable from the docker env(for development purposes) but source the setup-pytest-env within each of the script.

Indeed , that seems a simple enough solution, here's a rework.

This also makes the intention of the CI scripts clear, since sometimes we could directly use these scripts. For example, I sometimes would use ./tests/scripts/task_python_unittest.sh without the docker image to run the testcases

Yeah our wrapping on top uses docker most of the time and that's why I went with the "with_same_user" hack for a prototype but I can see that others may not choose to develop in the same way as us.
R

It would be great if we can avoid the hack into the with_same_user. One alternative would be still pass in the PYTEST_ADDOPTS env variable from the docker env(for development purposes) but source the setup-pytest-env within each of the script.
This also makes the intention of the CI scripts clear, since sometimes we could directly use these scripts. For example, I sometimes would use ./tests/scripts/task_python_unittest.sh without the docker image to run the testcases

Exactly. For my modest arm dev board environments, where i want/need to run tests, docker just isn't viable.

It would be great if we can avoid the hack into the with_same_user. One alternative would be still pass in the PYTEST_ADDOPTS env variable from the docker env(for development purposes) but source the setup-pytest-env within each of the script.
This also makes the intention of the CI scripts clear, since sometimes we could directly use these scripts. For example, I sometimes would use ./tests/scripts/task_python_unittest.sh without the docker image to run the testcases

Exactly. For my modest arm dev board environments, where i want/need to run tests, docker just isn't viable.

That is certainly a very interesting orthogonal question as we would need to figure out how best to run things cross as not every single python package tvm depends on is available natively on AArch32 or AArch64.
regards
Ramana

Thanks @u99127 @tom-gall

I have a question. Actually I cannot directly run ./tests/scripts/task_python_unittest.sh without Docker after merging this PR.
tests/scripts/setup-pytest-env.sh: line 23: CI_PYTEST_ADD_OPTIONS: unbound variable

What is CI_PYTEST_ADD_OPTIONS? Should I set it to an empty string?

hmm, @u99127 do you mind send a patch? we should detect if CI_PYTEST_ADD_OPTIONS is available and set it to none


Using Pre-trained Bing-augmented BERT Model

Hello,
I am trying to use the Pre-trained Bing-augmented BERT Model provided at http://boston.lti.cs.cmu.edu/appendices/SIGIR2019-Zhuyun-Dai/ but I cannot find any instructions or code example to load the model.
Would it be possible to have an example to load the pre-trained model?
Thanks

Hi,
Thank you for being interested in our work! You can download the model, and you the following example:
https://colab.research.google.com/drive/1qFGmEz5SZrsGui5HHAmiS_geppJQy8b4
Let me know if you come into any issues.

Thanks !!!!
I will close the issue once I manage to run the example.


Add Python Formatting and Linting

Pull Request
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#7  👈
#6
#5
#4
#2
#1 : 1 other dependent PR (#3 )
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @JackPlowman and the rest of your teammates on  Graphite


Customize ICO format

[ ] Define options for launching an ICO
[ ] Decide on user interface
[ ] figure out smart contract interface & support
[ ] Update ICO launch page

The current crowdsale contract sets a fundingGoal, and the beneficiary may only withdraw the funds after the goal is reached. Donors can refund their tokens at any time before the fundingGoal.
Possible options

Premine
Stretch goals (different fundraising thresholds promise different products, like kickstarter)
Fundraising deadline (date)
Donation to TokenMint 0:)

I really like all four options.

Premine - gives me the developer an incentive to keep at building my platform and make the tokens valuable.
Stretch goals - 1) marketplace 2) new ETC client 3) a Quantum Computer (QC) which'll analyse ETC and thus allow us to improve ETC's cryptography - this is an insane target that might not even be achievable in implementation, let alone be funded. It's arguable that a QC shouldn't even be on the list ... even though it can dramatically increase the long term success of the system post-QC, as other communities will be moving to coins with strong post-QC crypto.
Fundraising deadline: would be good to make it a decent amount of time say a few months or even more.
Donation to TokenMint: this should definitely happen, you guys are grinding at this code enabling it. I'd go a step further and encourage a "donate to ETCDEV". :-)


Performance completely tanks with borderless mod.

Description:
Game performance tanks massively with borderless the game runs at 30 fps in menu and 15 fps in game. Without it runs at 60fps in menu and 60-80fps in game.
Steps to reproduce:

Start Minecraft

Versions:

Minecraft Version: 1.16.5
Forge Version: 36.0.42
Mod Version: borderless-1.16.4-1.1.0.jar

Please list other mods that seem to cause the issue.
IDK if they cause the issue, but here's my mod list (i've already removed the borderless mod because I can't play at those framerates :p

I have an Intel Core i5-9600K CPU @ 3.70GHz
32GB DDR4 ram (with 8GB allocated for MC)
An RTX 2080 running at 1440p and GSYNC

I'll investigate the issue. The mods you've listed are the only thing I can really check, whether they might cause bugs in my mod. Besides that, I currently have no idea why there is such a big performance drawback. I assume that GSYNC or VSYNC on other machines might cause this issue, but I couldn't verify this yet. Your setup should definitely be sufficient. I can't really explain why the performance is that bad.
Thanks anyways for reporting, especially for the mods list.

I'm seeing the same issue, but only with the MultiMC launcher. It has no issues with the Curseforge launcher, oddly enough.

I can confirm this has an issue with me even on curseforge launcher, and the mod by itself.  It seems to be deviated from an overdraw issue where the game has horizontal tearing, even though vsync may be both on and off.  Is it possible somehow that the opengl buffer is having trouble drawing to a borderless window and understanding when to sync?

The issue is related to GLFW and the fix has to be done in that library, see issue https://github.com/Nekeras/borderless/issues/3#issuecomment-790957155
I have no time to patch the library by myself and not tried that yet. You can also track the progress with these patches in the BorderlessMining repo: https://github.com/comp500/BorderlessMining/issues/19
comp500 has built a modified glfw3.dll, you may have to change it with the one that Minecraft uses until the fixes are in the official GLFW repo and applied by Mojang.

The issue is related to GLFW and the fix has to be done in that library, see issue https://github.com/Nekeras/borderless/issues/3#issuecomment-790957155
I have no time to patch the library by myself and have not tried that yet. You can also track the progress with these patches in the BorderlessMining repo: https://github.com/comp500/BorderlessMining/issues/19.
comp500 has built a modified glfw3.dll, you may have to change it with the one that Minecraft uses until the fixes are in the official GLFW repo and applied by Mojang.


HDDS-6070. ContainerBalancerConfig doesn't read config from ozone-site.xml

What changes were proposed in this pull request?
Issue happens when we try to update the config of "hdds.container.balancer.utilization.threshold", but the value from the SCM log said it's always the "0.1", which is the default value.
After checking the code, the construction of ContainerBalancerConfiguration doesn't comply with the pattern of "ConfigGroup", this ticket is to fix the issue to update the configuration from config file.
Since the class needs to hold OzoneConfiguration for configuration check, the method of "initialize" is created for this requirement.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-6070
How was this patch tested?
unit test

@siddhantsangwan Could you help to review this PR?

@symious Thanks for finding this bug. Looking into it.

@siddhantsangwan Thank you for the review.
@JacksonYao287 Could you also help to check the PR?

I have one initial observation that could be a problem. The pattern of
this.config = ozoneConfiguration.         getObject(ContainerBalancerConfiguration.class);     config.initialize(ozoneConfiguration);
results in overriding the values of size.entering.target.max, size.leaving.source.max, and balancing.iteration.interval.
For example, if we set the value of size entering target using ozone configuration, the following config.initialize invocation would overwrite that value.

@siddhantsangwan Thanks for the review.
Yes, and in fact the other initialize method seems a little odd. I added the method because the original ContainerBalancerConfiguration is constructed with OzoneConfiguration, which is to override those configurations on purpose.
I think the root problem is that some values of ContainerBalancerConfiguration are dependent on other configurations, like "size.entering.target.max" is depending on "OZONE_SCM_CONTAINER_SIZE_DEFAULT", but the current ConfigGroup annotation doesn't support this requirement.

I think the root problem is that some values of ContainerBalancerConfiguration are dependent on other configurations, like "size.entering.target.max" is depending on "OZONE_SCM_CONTAINER_SIZE_DEFAULT", but the current ConfigGroup annotation doesn't support this requirement.

Yeah. I can think of the following solutions:

Add a static method that accepts OzoneConfiguration and returns a ContainerBalancerConfiguration by calling a private constructor. This constructor can initialize our special configs if we pass the OzoneConfiguration from the static method. We will also need to check if these values have already been set in ozone-site.xml to avoid overriding them.

may be we can add a static build function to ContainerBalancerConfiguration class to build and initialize a ContainerBalancerConfiguration instance

This seems similar to what @JacksonYao287 is suggesting.

Maybe we can initialize these special values in their respective getters instead? Again, we'll first need to ensure these configs haven't already been set.
Maybe we could simplify it and just put default values in the @Config annotations? For example, 70 minutes for iteration interval, 26GB for max size entering target etc. @lokeshj1703 what do you think?

@siddhantsangwan @JacksonYao287 Thanks for the reply.
I think Option 1 is the original implementation. If we initialize ContainerBalancerConfiguration based on OzoneConfiguration, the @ConfigGroup pattern won't work, that is the content of ozone-site.xml won't be projected to ContainerBalancerConfiguration. AFAIK, we need to use ozoneConfiguration.getObject(ContainerBalancerConfiguration.class) to load the value from ozone-site.xml.
I think Option 3 might be a good choice. We can let ContainerBalancerConfiguration only handle the configs from ozone-site.xml, the validation and check of configs can be handled when starting container balancer service..

Thanks @symious for working on this! I would like to add one more option here. ozoneConfiguration.getObject(ContainerBalancerConfiguration.class) We can try overriding this function to allow using class constructor which takes OzoneConfiguration as input.

I think Option 3 might be a good choice.

I agree, it's the simplest. The default values could be:

size.entering.target.max = 26GB
size.leaving.source.max = 26GB
balancing.iteration.interval = 70 minutes

Some very related changes are being made in https://github.com/apache/ozone/pull/2892

@lokeshj1703 Thanks for the review.

We can try overriding this function to allow using class constructor which takes OzoneConfiguration as input.

The current implementation is inherited from ConfigurationSource as follows
default <T> T getObject(Class<T> configurationClass) {
    T configObject;
    try {
      configObject = configurationClass.newInstance();
    } catch (InstantiationException | IllegalAccessException e) {
      throw new ConfigurationException(
          "Configuration class can't be created: " + configurationClass, e);
    }

If we are going to override this method, it may look like "first try configurationClass.getDeclaredConstructor(OzoneConfiguration.class).newInstance(ozoneConfiguration), if not exists, then try configurationClass.newInstance()". Personally I think the implementation would look a little odd.

@siddhantsangwan Sure, will update the default value in the next commit.

@siddhantsangwan Update the commit. Could you help to check?
Added validateConfiguration in ContainerBalancer, it can return boolean to indicate an incorrect configuration, but many changes in test cases need to be made, for now, I leave the method to be void.

@siddhantsangwan Update the commit. Could you help to check?
Added validateConfiguration in ContainerBalancer, it can return boolean to indicate an incorrect configuration, but many changes in test cases need to be made, for now, I leave the method to be void.

Yes, having it return a boolean makes sense. And sure, we can add this change in a follow-up PR.

@siddhantsangwan Updated the patch, please have a check.

Yes, having it return a boolean makes sense. And sure, we can add this change in a follow-up PR.

Sure, will create a new ticket for this change.

@lokeshj1703 Can you please take another look?
@symious This PR has conflicts...

@symious This PR has conflicts...

@ferhui Thanks for the review. Resolved the conflicts.

Will Merge tomorrow if no other comments

@symious Thanks for your contribution. @siddhantsangwan @lokeshj1703 @JacksonYao287 Thanks for your review! Merged


[feature]: Recycle bin for deleted wishes

Is your feature request related to a problem? Please describe.
yes, some time we mistakenly delete any wish, but then we want to restore them, we just can't. the problem i think, i can fix.
Describe the solution you'd like
i would like to add an icon of recycle bin, which have a click event of showing the item which can be restored(not permanently deleted) and also option for permanently delete the items.
Describe alternatives you've considered
N/A
Additional context
I want to work on this issue, if you assign me

can i use tailwind for styling, or raw CSS?

can i use tailwind for styling, or raw CSS?

@Shariar-Hasan you should use tailwind css as the project is now using tailwind css

and one more thing is, should i wait for the one to build the delete section, as i have to implement his delete option as not permanently delete but store it in recycle bin.

Before working  you can check what files have been changed in #8 PR, then you will get an idea how you can implement the recycle bin feature or else you might get conflcts as I don't know how your going to implement the feature

got it, i will work on it.


[FIX-2101]It solves the problem that the name of the branch will not change after the name of the branch is changed in the workflow page and instance page.

Codecov Report

Merging #4555 (500b001) into dev (d446e33) will increase coverage by 1.47%.
The diff coverage is 41.37%.

@@             Coverage Diff              @@
##                dev    #4555      +/-   ##
============================================
+ Coverage     43.22%   44.69%   +1.47%
- Complexity     3184     3345     +161
============================================
  Files           471      530      +59
  Lines         21732    22882    +1150
  Branches       2626     2678      +52
============================================
+ Hits           9393    10227     +834
- Misses        11442    11731     +289
- Partials        897      924      +27

Impacted Files
Coverage Δ
Complexity Δ

...api/service/impl/ProcessDefinitionServiceImpl.java
68.38% <25.00%> (+1.72%)
108.00 <0.00> (+3.00)

...lphinscheduler/service/process/ProcessService.java
30.72% <33.33%> (+5.03%)
54.00 <2.00> (+8.00)

...nscheduler/api/service/ProcessInstanceService.java
74.07% <100.00%> (+0.24%)
38.00 <0.00> (+2.00)

...heduler/api/controller/TaskInstanceController.java
82.35% <0.00%> (-17.65%)
3.00% <0.00%> (ø%)

...olphinscheduler/dao/datasource/HiveDataSource.java
80.00% <0.00%> (-10.00%)
7.00% <0.00%> (-1.00%)

...apache/dolphinscheduler/alert/utils/FuncUtils.java
84.61% <0.00%> (-7.06%)
5.00% <0.00%> (ø%)

.../server/worker/processor/TaskExecuteProcessor.java
62.66% <0.00%> (-6.46%)
7.00% <0.00%> (ø%)

...er/master/dispatch/host/assign/RandomSelector.java
77.77% <0.00%> (-5.56%)
3.00% <0.00%> (-1.00%)

...inscheduler/service/zk/CuratorZookeeperClient.java
60.97% <0.00%> (-4.88%)
7.00% <0.00%> (-1.00%)

...er/api/controller/ProcessDefinitionController.java
71.84% <0.00%> (-4.45%)
20.00% <0.00%> (ø%)

... and 158 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 d446e33...500b001. Read the comment docs.

Codecov Report

Merging #4555 (500b001) into dev (d446e33) will increase coverage by 1.47%.
The diff coverage is 41.37%.

@@             Coverage Diff              @@
##                dev    #4555      +/-   ##
============================================
+ Coverage     43.22%   44.69%   +1.47%
- Complexity     3184     3345     +161
============================================
  Files           471      530      +59
  Lines         21732    22882    +1150
  Branches       2626     2678      +52
============================================
+ Hits           9393    10227     +834
- Misses        11442    11731     +289
- Partials        897      924      +27

Impacted Files
Coverage Δ
Complexity Δ

...api/service/impl/ProcessDefinitionServiceImpl.java
68.38% <25.00%> (+1.72%)
108.00 <0.00> (+3.00)

...lphinscheduler/service/process/ProcessService.java
30.72% <33.33%> (+5.03%)
54.00 <2.00> (+8.00)

...nscheduler/api/service/ProcessInstanceService.java
74.07% <100.00%> (+0.24%)
38.00 <0.00> (+2.00)

...heduler/api/controller/TaskInstanceController.java
82.35% <0.00%> (-17.65%)
3.00% <0.00%> (ø%)

...olphinscheduler/dao/datasource/HiveDataSource.java
80.00% <0.00%> (-10.00%)
7.00% <0.00%> (-1.00%)

...apache/dolphinscheduler/alert/utils/FuncUtils.java
84.61% <0.00%> (-7.06%)
5.00% <0.00%> (ø%)

.../server/worker/processor/TaskExecuteProcessor.java
62.66% <0.00%> (-6.46%)
7.00% <0.00%> (ø%)

...er/master/dispatch/host/assign/RandomSelector.java
77.77% <0.00%> (-5.56%)
3.00% <0.00%> (-1.00%)

...inscheduler/service/zk/CuratorZookeeperClient.java
60.97% <0.00%> (-4.88%)
7.00% <0.00%> (-1.00%)

...er/api/controller/ProcessDefinitionController.java
71.84% <0.00%> (-4.45%)
20.00% <0.00%> (ø%)

... and 158 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 d446e33...500b001. Read the comment docs.

My PR solves this issue
https://github.com/apache/incubator-dolphinscheduler/issues/2101

My PR solves this issue
https://github.com/apache/incubator-dolphinscheduler/issues/2101

fix #2101

fix #2101

@zt-1997 What is the relationship between this PR and the duplicated PR #4543? Could you close one of them?
By the way, you should pass the SonarCloud Code Analysis

@zt-1997 What is the relationship between this PR and the duplicated PR #4543? Could you close one of them?
By the way, you should pass the SonarCloud Code Analysis


Move Janrain to inactive

It got acquired earlier this year.

Agree but that means Akamai now uses Haskell? Or there no confirmations?

Also, @mboes take a look at https://haskellcosm.com/analysis.html (if you're on desktop) this based out on structured raw data, lacks legend as of now, but maybe you'll find it entertaining.

Oh, very cool!
Re Akamai: I have no idea. The fact that Janrain got acquired is just
something I noticed on Wikipedia.

Thanks for the hint. No public records of using Haskell by Akamai even after acquisition of Janrain.


Fix parsing of custom properties with 'var' in value

(Note: the newline 'changes' are solved after #2484)

The screenshot shows the new behaviour. It only consumes lines with
<css-property-name>:<anything not a ;>var(<anything not a ;>)<optional ; and \n>

It leaves the first line which was the original issue.
It consumes the second line, which is a var assignment
It consumes the third line which is preceded with a var assignment
It leaves the fourth line, a property between assignments
It consumes the whole fifth line, which does not have a new line between the two variable assignments
It consumes the second part of the sixth line, which does not have a new line between the custom property and the variable assignment
It consumes the first part of the seventh line, which does not have a new line between the variable assignment and the custom property

Fixes #2660

LGTM, :+1:

:bow: this is amazing work @JeremybellEU thanks a million!
R: @tjsavage

This LGTM. Adding @sorvell to take a look.

LGTM


rss feed is messing up opennews's internal blog URL

manifesting as http://opennews.org/blog/blog/post instead of opennews.org/blog/post

Looks like it's just because "/blog" appears in permalink as well as url in _config.yml. Then the feed template smushes them together.