Accelerate + FSDP plugin hang on after model save intermediate checkpoint

System Info
- `Accelerate` version: 0.33.0
- `accelerate` bash location: /miniconda3/envs/SDXL/bin/accelerate
- Python version: 3.10.14
- Numpy version: 1.24.4
- PyTorch version (GPU?): 2.5.1+cu121 (True)
- PyTorch XPU available: False
- PyTorch NPU available: False
- PyTorch MLU available: False
- PyTorch MUSA available: False
- System RAM: 1121.82 GB
- GPU type: NVIDIA A100-SXM4-80GB
- `Accelerate` default config:
        Not found

Python version:
Python 3.10.14

diffusers Version:
diffusers                 0.30.0

pytorch version
torch                     2.5.1+cu121

transformers version
transformers              4.44.0

Information

[ ] The official example scripts
[X] My own modified scripts

Tasks

[ ] One of the scripts in the examples/ folder of Accelerate or an officially supported no_trainer script in the examples folder of the transformers repo (such as run_no_trainer_glue.py)
[X] My own task or dataset (give details below)

Reproduction
I am trying to use FSDP to accelerate my training with accelerator. The task is similar with SDXL-inpainting. However, when I try to save the intermediate checkpoints, the training script will hang on in the main thread after the checkpoint is saved with FSDP config. Here is my example code for reproduce the bug, I use the UNet2DConditionModel in the diffusers as the training model.
#!/usr/bin/env python
import os
import torch
import torch.nn.functional as F
import torch.utils.checkpoint
from accelerate import Accelerator
from accelerate.logging import get_logger
from accelerate.utils import ProjectConfiguration
from diffusers import UNet2DConditionModel
from diffusers.optimization import get_scheduler
from diffusers.utils import is_wandb_available
from diffusers.utils.torch_utils import is_compiled_module
from accelerate import FullyShardedDataParallelPlugin
from torch.distributed.fsdp.fully_sharded_data_parallel import FullOptimStateDictConfig, FullStateDictConfig

def main():
    output_dir = "tmp/test_FSDP"
    os.makedirs(output_dir,exist_ok=True)
    logging_dir = os.path.join(output_dir, "logs")
    accelerator_project_config = ProjectConfiguration(project_dir="test_FSDP", logging_dir=logging_dir)
    accelerator = Accelerator(
        gradient_accumulation_steps=1,
        mixed_precision="no",
        project_config=accelerator_project_config,
    )

    unet = UNet2DConditionModel.from_pretrained(
        "diffusers/stable-diffusion-xl-1.0-inpainting-0.1", subfolder="unet", revision=None, variant=None
    )
    unet.requires_grad_(True)
    gradient_checkpointing = False

    def unwrap_model(model):
        model = accelerator.unwrap_model(model)
        model = model._orig_mod if is_compiled_module(model) else model
        return model

    if gradient_checkpointing:
        unet.enable_gradient_checkpointing()

    params_to_optimize = list(unet.parameters())

    optimizer_cls = torch.optim.AdamW

    optimizer = optimizer_cls(
        # unet.parameters(),
        filter(lambda p: p.requires_grad, params_to_optimize),
        lr=0.00001,
        betas=(0.9, 0.999),
        weight_decay=1e-2,
        eps=1e-08,
    )

    # Set UNet to trainable.
    unet.train()

    lr_scheduler = get_scheduler(
        "constant",
        optimizer=optimizer,
    )

    # Prepare everything with our `accelerator`.
    unet, optimizer, lr_scheduler = accelerator.prepare(
        unet, optimizer, lr_scheduler
    )

    global_step = 0
    for step in range(0, 1000):
        with accelerator.accumulate(unet):
            # [2,9,64,64] [2] [2,77,2048] text_embeds=[2,1280] time_ids[2,6]
            unet_input = torch.randn([2,9,64,64]).to(unet.device,dtype=unet.dtype)
            timesteps = torch.randint(1,100,[2]).to(unet.device).long()
            encoder_hidden_states = torch.randn([2,77,2048]).to(unet.device,dtype=unet.dtype)
            text_embeds = torch.randn([2,1280]).to(unet.device,dtype=unet.dtype)
            time_ids = torch.randn([2,6]).to(unet.device,dtype=unet.dtype)
            added_cond_kwargs = {
                "text_embeds":text_embeds,
                "time_ids":time_ids
            }

            print(f"This is thread {accelerator.local_process_index} with training step {step} command 1" )

            model_pred = unet(
                unet_input,
                timesteps,
                encoder_hidden_states,
                added_cond_kwargs=added_cond_kwargs,
                return_dict=False,
            )[0]

            print(f"This is thread {accelerator.local_process_index} with training step {step} command 2" )

            target = torch.randn_like(model_pred)

            loss = F.mse_loss(model_pred.float(), target.float(), reduction="mean")
            accelerator.backward(loss)
            if accelerator.sync_gradients:
                accelerator.clip_grad_norm_(unet.parameters(), 1.0)

            optimizer.step()
            lr_scheduler.step()
            optimizer.zero_grad()

            accelerator.wait_for_everyone()

            print(f"This is thread {accelerator.local_process_index} with training step {step} command 3" )

            if accelerator.sync_gradients:
                global_step += 1
                if global_step % 5 == 0:
                    if accelerator.is_main_process:
                        save_path = os.path.join(output_dir, f"checkpoint_{global_step}_lora_dict.pkl")
                        # accelerator.save_state(save_path)
                        # unet_lora_layers_to_save = get_peft_model_state_dict(unwrap_model(unet))
                        state_dict = accelerator.get_state_dict(unet,unwrap=False)
                        unet_lora_layers_to_save = {}
                        for key,value in state_dict.items():
                            if 'lora' in key or 'Lora' in key:
                                unet_lora_layers_to_save[key] = value
                        lora_dict = {"unet_lora":unet_lora_layers_to_save}
                        torch.save(lora_dict,save_path)
                        print(f"Saved Unet to {save_path}")

    accelerator.wait_for_everyone()
    accelerator.end_training()

if __name__ == "__main__":
    main()

The FSDP FSDP_config.yaml is:
compute_environment: LOCAL_MACHINE
debug: false
distributed_type: FSDP
downcast_bf16: 'no'
enable_cpu_affinity: false
fsdp_config:
  fsdp_activation_checkpointing: false
  fsdp_auto_wrap_policy: TRANSFORMER_BASED_WRAP
  fsdp_backward_prefetch: BACKWARD_PRE
  fsdp_cpu_ram_efficient_loading: false
  fsdp_forward_prefetch: false
  fsdp_offload_params: false
  fsdp_sharding_strategy: SHARD_GRAD_OP
  fsdp_state_dict_type: SHARDED_STATE_DICT
  fsdp_sync_module_states: true
  fsdp_transformer_layer_cls_to_wrap: CrossAttnDownBlock2D,UNetMidBlock2DCrossAttn,CrossAttnUpBlock2D
  fsdp_use_orig_params: true
machine_rank: 0
main_training_function: main
mixed_precision: 'no'
num_machines: 1
num_processes: 2
rdzv_backend: static
same_network: true
tpu_env: []
tpu_use_cluster: false
tpu_use_sudo: false
use_cpu: false

I use two GPU to test the script and I try to use print to output some information to check where the model is stuck, and the final output information is (I save the model after 5 training steps):
This is thread 1 with training step 5 command 1
This is thread 1 with training step 5 command 2
Saved Unet to tmp/test_FSDP/checkpoint_5_lora_dict.pkl
This is thread 0 with training step 5 command 1
This is thread 0 with training step 5 command 2
This is thread 1 with training step 5 command 3
This is thread 1 with training step 6 command 1

The model seems to hang on after I call accelerator.get_state_dict() (which is recommanded by the official document), and after being stuck for a long time, it will return the following log info:
[rank0]:[E1122 06:40:00.504052851 ProcessGroupNCCL.cpp:616] [Rank 0] Watchdog caught collective operation timeout: WorkNCCL(SeqNum=122, OpType=_REDUCE_SCATTER_BASE, NumelIn=106343680, NumelOut=53171840, Timeout(ms)=600000) ran for 600080 milliseconds before timing out.
[rank0]:[E1122 06:40:00.504952916 ProcessGroupNCCL.cpp:1785] [PG ID 0 PG GUID 0(default_pg) Rank 0] Exception (either an error or timeout) detected by watchdog at work: 122, last enqueued NCCL work: 127, last completed NCCL work: 121.
[rank1]:[E1122 06:40:01.902604829 ProcessGroupNCCL.cpp:616] [Rank 1] Watchdog caught collective operation timeout: WorkNCCL(SeqNum=126, OpType=_ALLGATHER_BASE, NumelIn=378702080, NumelOut=757404160, Timeout(ms)=600000) ran for 600079 milliseconds before timing out.
[rank1]:[E1122 06:40:01.903028278 ProcessGroupNCCL.cpp:1785] [PG ID 0 PG GUID 0(default_pg) Rank 1] Exception (either an error or timeout) detected by watchdog at work: 126, last enqueued NCCL work: 128, last completed NCCL work: 125.
[rank1]:[E1122 06:40:02.586033171 ProcessGroupNCCL.cpp:1834] [PG ID 0 PG GUID 0(default_pg) Rank 1] Timeout at NCCL work: 126, last enqueued NCCL work: 128, last completed NCCL work: 125.
[rank1]:[E1122 06:40:02.586050386 ProcessGroupNCCL.cpp:630] [Rank 1] Some NCCL operations have failed or timed out. Due to the asynchronous nature of CUDA kernels, subsequent GPU operations might run on corrupted/incomplete data.
[rank1]:[E1122 06:40:02.586057304 ProcessGroupNCCL.cpp:636] [Rank 1] To avoid data inconsistency, we are taking the entire process down.
[rank1]:[E1122 06:40:02.587199000 ProcessGroupNCCL.cpp:1595] [PG ID 0 PG GUID 0(default_pg) Rank 1] Process group watchdog thread terminated with exception: [Rank 1] Watchdog caught collective operation timeout: WorkNCCL(SeqNum=126, OpType=_ALLGATHER_BASE, NumelIn=378702080, NumelOut=757404160, Timeout(ms)=600000) ran for 600079 milliseconds before timing out.
Exception raised from checkTimeout at ../torch/csrc/distributed/c10d/ProcessGroupNCCL.cpp:618 (most recent call first):
frame #0: c10::Error::Error(c10::SourceLocation, std::string) + 0x96 (0x7f88bc3a1446 in /miniconda3/envs/SDXL/lib/python3.10/site-packages/torch/lib/libc10.so)
frame #1: c10d::ProcessGroupNCCL::WorkNCCL::checkTimeout(std::optional<std::chrono::duration<long, std::ratio<1l, 1000l> > >) + 0x282 (0x7f885f02fa92 in /miniconda3/envs/SDXL/lib/python3.10/site-packages/torch/lib/libtorch_cuda.so)
frame #2: c10d::ProcessGroupNCCL::watchdogHandler() + 0x233 (0x7f885f036ed3 in /miniconda3/envs/SDXL/lib/python3.10/site-packages/torch/lib/libtorch_cuda.so)
frame #3: c10d::ProcessGroupNCCL::ncclCommWatchdog() + 0x14d (0x7f885f03893d in /miniconda3/envs/SDXL/lib/python3.10/site-packages/torch/lib/libtorch_cuda.so)
frame #4: <unknown function> + 0x145c0 (0x7f88c4ba45c0 in /miniconda3/envs/SDXL/lib/python3.10/site-packages/torch/lib/libtorch.so)
frame #5: <unknown function> + 0x8609 (0x7f88c675c609 in /lib/x86_64-linux-gnu/libpthread.so.0)
frame #6: clone + 0x43 (0x7f88c6525353 in /lib/x86_64-linux-gnu/libc.so.6)

terminate called after throwing an instance of 'c10::DistBackendError'
  what():  [PG ID 0 PG GUID 0(default_pg) Rank 1] Process group watchdog thread terminated with exception: [Rank 1] Watchdog caught collective operation timeout: WorkNCCL(SeqNum=126, OpType=_ALLGATHER_BASE, NumelIn=378702080, NumelOut=757404160, Timeout(ms)=600000) ran for 600079 milliseconds before timing out.
Exception raised from checkTimeout at ../torch/csrc/distributed/c10d/ProcessGroupNCCL.cpp:618 (most recent call first):
frame #0: c10::Error::Error(c10::SourceLocation, std::string) + 0x96 (0x7f88bc3a1446 in /miniconda3/envs/SDXL/lib/python3.10/site-packages/torch/lib/libc10.so)
frame #1: c10d::ProcessGroupNCCL::WorkNCCL::checkTimeout(std::optional<std::chrono::duration<long, std::ratio<1l, 1000l> > >) + 0x282 (0x7f885f02fa92 in /miniconda3/envs/SDXL/lib/python3.10/site-packages/torch/lib/libtorch_cuda.so)
frame #2: c10d::ProcessGroupNCCL::watchdogHandler() + 0x233 (0x7f885f036ed3 in /miniconda3/envs/SDXL/lib/python3.10/site-packages/torch/lib/libtorch_cuda.so)
frame #3: c10d::ProcessGroupNCCL::ncclCommWatchdog() + 0x14d (0x7f885f03893d in /miniconda3/envs/SDXL/lib/python3.10/site-packages/torch/lib/libtorch_cuda.so)
frame #4: <unknown function> + 0x145c0 (0x7f88c4ba45c0 in /miniconda3/envs/SDXL/lib/python3.10/site-packages/torch/lib/libtorch.so)
frame #5: <unknown function> + 0x8609 (0x7f88c675c609 in /lib/x86_64-linux-gnu/libpthread.so.0)
frame #6: clone + 0x43 (0x7f88c6525353 in /lib/x86_64-linux-gnu/libc.so.6)

Exception raised from ncclCommWatchdog at ../torch/csrc/distributed/c10d/ProcessGroupNCCL.cpp:1601 (most recent call first):
frame #0: c10::Error::Error(c10::SourceLocation, std::string) + 0x96 (0x7f88bc3a1446 in /miniconda3/envs/SDXL/lib/python3.10/site-packages/torch/lib/libc10.so)
frame #1: <unknown function> + 0xe7eb1b (0x7f885ecadb1b in /miniconda3/envs/SDXL/lib/python3.10/site-packages/torch/lib/libtorch_cuda.so)
frame #2: <unknown function> + 0x145c0 (0x7f88c4ba45c0 in /miniconda3/envs/SDXL/lib/python3.10/site-packages/torch/lib/libtorch.so)
frame #3: <unknown function> + 0x8609 (0x7f88c675c609 in /lib/x86_64-linux-gnu/libpthread.so.0)
frame #4: clone + 0x43 (0x7f88c6525353 in /lib/x86_64-linux-gnu/libc.so.6)

W1122 06:40:02.533000 481990 site-packages/torch/distributed/elastic/multiprocessing/api.py:897] Sending process 482092 closing signal SIGTERM
E1122 06:40:03.600000 481990 site-packages/torch/distributed/elastic/multiprocessing/api.py:869] failed (exitcode: -6) local_rank: 1 (pid: 482093) of binary: /miniconda3/envs/SDXL/bin/python

I launch the training with the following command:
accelerate launch --config_file FSDP_config.yaml tmp_test_FSDP.py
Expected behavior
I want the save the intermediate checkpoint during the training process.
Meanwhile, I want to training the UNet with LoRA parameters so you can see in the example I try to filter the parameters with 'lora' in the key.
Actually, I don't integrate LoRA into the Unet in this example code, so the final saved state_dict is empty. But I guess it may not effect the bug.

Another bug is that when I use accelerator.save_state() to save the checkpoint, it will raise the OOM error
if accelerator.sync_gradients:
    global_step += 1
    if global_step % 5 == 0:
        if accelerator.is_main_process:
            save_path = os.path.join(output_dir, f"checkpoint_{global_step}")
            accelerator.save_state(save_path)
            print(f"Saved Unet to {save_path}")

The output log is:
/miniconda3/envs/SDXL/lib/python3.10/site-packages/accelerate/utils/fsdp_utils.py:90: FutureWarning: `save_state_dict` is deprecated and will be removed in future versions.Please use `save` instead.
  dist_cp.save_state_dict(
[rank0]: Traceback (most recent call last):
[rank0]:   File "/home/ubuntu/.vscode-server/extensions/ms-python.debugpy-2024.12.0-linux-x64/bundled/libs/debugpy/_vendored/pydevd/pydevd.py", line 3713, in <module>
[rank0]:     main()
[rank0]:   File "/home/ubuntu/.vscode-server/extensions/ms-python.debugpy-2024.12.0-linux-x64/bundled/libs/debugpy/_vendored/pydevd/pydevd.py", line 3706, in main
[rank0]:     globals = debugger.run(setup["file"], None, None, is_module)
[rank0]:   File "/home/ubuntu/.vscode-server/extensions/ms-python.debugpy-2024.12.0-linux-x64/bundled/libs/debugpy/_vendored/pydevd/pydevd.py", line 2704, in run
[rank0]:     return self._exec(is_module, entry_point_fn, module_name, file, globals, locals)
[rank0]:   File "/home/ubuntu/.vscode-server/extensions/ms-python.debugpy-2024.12.0-linux-x64/bundled/libs/debugpy/_vendored/pydevd/pydevd.py", line 2712, in _exec
[rank0]:     globals = pydevd_runpy.run_path(file, globals, "__main__")
[rank0]:   File "/home/ubuntu/.vscode-server/extensions/ms-python.debugpy-2024.12.0-linux-x64/bundled/libs/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py", line 310, in run_path
[rank0]:     return _run_module_code(code, init_globals, run_name, pkg_name=pkg_name, script_name=fname)
[rank0]:   File "/home/ubuntu/.vscode-server/extensions/ms-python.debugpy-2024.12.0-linux-x64/bundled/libs/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py", line 127, in _run_module_code
[rank0]:     _run_code(code, mod_globals, init_globals, mod_name, mod_spec, pkg_name, script_name)
[rank0]:   File "/home/ubuntu/.vscode-server/extensions/ms-python.debugpy-2024.12.0-linux-x64/bundled/libs/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py", line 118, in _run_code
[rank0]:     exec(code, run_globals)
[rank0]:   File "tmp_test_FSDP.py", line 147, in <module>
[rank0]:     main()
[rank0]:   File "tmp_test_FSDP.py", line 139, in main
[rank0]:     accelerator.save_state(save_path)
[rank0]:   File "/miniconda3/envs/SDXL/lib/python3.10/site-packages/accelerate/accelerator.py", line 2947, in save_state
[rank0]:     save_fsdp_model(self.state.fsdp_plugin, self, model, output_dir, i)
[rank0]:   File "/miniconda3/envs/SDXL/lib/python3.10/site-packages/accelerate/utils/fsdp_utils.py", line 90, in save_fsdp_model
[rank0]:     dist_cp.save_state_dict(
[rank0]:   File "/miniconda3/envs/SDXL/lib/python3.10/site-packages/typing_extensions.py", line 2853, in wrapper
[rank0]:     return arg(*args, **kwargs)
[rank0]:   File "/miniconda3/envs/SDXL/lib/python3.10/site-packages/torch/distributed/checkpoint/state_dict_saver.py", line 47, in save_state_dict
[rank0]:     return _save_state_dict(
[rank0]:   File "/miniconda3/envs/SDXL/lib/python3.10/site-packages/torch/distributed/checkpoint/state_dict_saver.py", line 316, in _save_state_dict
[rank0]:     central_plan: SavePlan = distW.reduce_scatter("plan", local_step, global_step)
[rank0]:   File "/miniconda3/envs/SDXL/lib/python3.10/site-packages/torch/distributed/checkpoint/utils.py", line 168, in reduce_scatter
[rank0]:     all_data = self.gather_object(local_data)
[rank0]:   File "/miniconda3/envs/SDXL/lib/python3.10/site-packages/torch/distributed/checkpoint/utils.py", line 107, in gather_object
[rank0]:     dist.gather_object(
[rank0]:   File "/miniconda3/envs/SDXL/lib/python3.10/site-packages/torch/distributed/c10d_logger.py", line 83, in wrapper
[rank0]:     return func(*args, **kwargs)
[rank0]:   File "/miniconda3/envs/SDXL/lib/python3.10/site-packages/torch/distributed/distributed_c10d.py", line 2828, in gather_object
[rank0]:     input_tensor.resize_(max_object_size)
[rank0]: torch.OutOfMemoryError: CUDA out of memory. Tried to allocate more than 1EB memory.
W1122 07:19:41.246000 498926 site-packages/torch/distributed/elastic/multiprocessing/api.py:897] Sending process 499033 closing signal SIGTERM


add transformOrigin style property

This PR was being discussed in this issue: https://github.com/facebook/react-native/issues/1964
I've decided to submit a PR just so that the conversation can have a bit more context with the code involved, etc.
transform-origin spec
How it works
the transform origin property works by defining a translation matrix T which translates to the desired origin, and transforming a transform matrix M into M' by the following formula:
M' = TMT^-1
This is accomplished in the precomputeStyle method and only introduces new code paths if the transformOrigin property is assigned.
Known Issues with this PR

The CSS spec interprets transform-origin: 0px 0px as placing the transform origin at the bottom left of the transformed element, where-as this code puts transformOrigin: { x: 0, y: 0 } to mean the center of the element (the default origin). This issue is difficult to remedy because in precomputeStyle, we don't have any knowledge of the width/height of the element in order to actually calculate what the "bottom left" of the element would be.  For similar reasons, this makes it difficult to include other aspects of the CSS spec for this property, such as percentage values, etc.
The transform origin property allows for x, y, and z points. If we want to animate these values with the new animated API, a new AnimatedValueXYZ class would need to be created, or the existing AnimatedXY class should be extended. I've left untouched for now as the z property of transformOrigin is seldom needed.
The transform style property and the transformOrigin style property are not independent of one another, which mens that if we are animating one of them, the other must be included in the passed up style props to .setNativeProps. In order to accomplish this, a small check was added to the AnimatedStyle::getAnimatedValue() method. I'm open to suggestions on how we could potentially make this cleaner.

Example Usage:
                <Animated.View style={{
                    transform: [
                        {
                            rotateY: loading.interpolate({
                                inputRange: [0, 1],
                                outputRange: ['90deg', '0deg']
                            })
                        }
                    ],
                    transformOrigin: { x: -140, }
                }}>
                    ...
                </Animated.View>

@lelandrichardson any more work on this?

:+1:

Currently struggling to animate around a specific point, this would be very helpful

Any updates on this? :+1:

ping @lelandrichardson

@satya164 @danleveille I'm happy to bring this work up to date, but I don't want to waste the time if it will never get merged...  Right now I think there are too many issues with this property diverting from the web spec. I'm hoping someone from the core team can comment on next steps or whether or not these differences are small enough to move forward with this PR.

cc @mkonicek

Maybe @sahrens has some context?

Closing since no activity on the PR. let's re-open if you wanna work on it again.

+:pray:

:+1:

:+1:

There is still a lot of demand for this. Maybe we could just name it rn-transform-origin or something and get it in?

Any update on this?

This PR has been inactive for a long while, and does not seem to be on a path towards getting merged in. If anyone wants to take over, please do send a new PR.


[SPARK-46154][INFRA] Add a new Daily testing GitHub Action job for Maven with Java 21

What changes were proposed in this pull request?
This pr aims add a new Daily testing GitHub Action job for Maven with Java 21
Why are the changes needed?
Need Daily testing for Maven with Java 21.
Does this PR introduce any user-facing change?
No
How was this patch tested?
Monitor GA after merge
Was this patch authored or co-authored using generative AI tooling?
No

https://github.com/LuciferYang/spark/actions/runs/7028585225/job/19124783706

The installed Java version is correct.

cc @zhengruifeng

LGTM

Thanks @zhengruifeng

https://github.com/LuciferYang/spark/actions/runs/7028585225/job/19124783706

all maven test passed, let me merge this and monitor GA tomorrow

Merged into master. Thanks @zhengruifeng ~


fix(docs): remove permitted annotation from docs

#163: remove permitted annotation from the docs.

/approve

/merge


Azure v2 Support

This adds support for the Azure v2 endpoints. My use case is for GitLab and this works when I manually change the lib file. I have added corresponding tests.
I have also added an optional change to the claim used for a unique ID. When using the sub claim (which is the most sensible for most cases) it fails to authenticate the same user because the sub is different between the two versions. I use the oid claim in GitLab and change the user's provider identifier to be this value, which is available in AAD.
Note: I am not very familiar with Ruby so it is likely I have not followed best practices for the (very little) code I added. Please let me know if I should change anything.

Thanks for contributing. However, I no longer have time to maintain this gem. Your best bet is to fork it and consider publishing to RubyGems so others can benefit.

For anyone thats looking for this we have published a v2 compatible gem based on this no longer maintained project here:

https://rubygems.org/gems/omniauth-azure-activedirectory-v2
https://github.com/RIPGlobal/omniauth-azure-activedirectory-v2
Actively maintained and lots of usage now.


[DS-4400] Fix for minor edit metadata bug

Fix for DS-4400 - Error with writing operations regarding Items
See: https://jira.lyrasis.org/browse/DS-4400
Can now edit metadata of person names (ex. dc.contributor.name).

I tested and it works now.
I'd would ask if is possible to resolve this related issue with this PR

@atarix83 The source of those issues is not really related, so I'd prefer that'd be handled in a separate PR.

This is at +3.  Merging as-is, since it fixes the described bug & it's a very annoying bug.  I agree that the separate bug regarding error response text (https://github.com/DSpace/dspace-angular/issues/535) can be fixed in a separate PR.


0.8.0 doesn't save date objects

Previously AngularFire (0.7.1) called angular.fromJson(angular.toJson(record)) before a save, which converted date objects to JSON dates.  Could this be added back as the last line of firebaseUtils.toJSON()?
As it stands now, I have to handle each date before the save, otherwise they are simply omitted (no errors or anything).  Or am I missing something?

Just a note for anyone who finds this while trying to sort out dates not saving to firebase, katowulf's snippet no longer works in 1.0.0, trying to decorate the firebaseUtils results in a circular reference error.
The theory is still sound with firebaseObject and overriding the $save and $$updated methods. Your answer will be found over here:
https://www.firebase.com/docs/web/libraries/angular/api.html#angularfire-extending-the-services-decorating-the-services

@rcuddy : thanks for that update, it's exactly what I'm looking for.  However, being new to Firebase, I don't know where to apply this code.  Do you know of a good resource with a better explanation?

There is an example of using the extend methods and working with dates in the API.

Hi @katowulf.  Thanks, I did find the example in the APIs in the "Decorating the Services" section.  However, being quite new and after having tried to insert said code into the places that I thought were logical (and failing), I was hoping for something a little more illustrative.

Yeah, I'm really not sure what I can add to this example. I just don't understand what's left to illustrate. I'm happy to help, but you're going to have to a) start a new issue as this is a closed thread from over a year ago and b) illustrate the problem and where you're having trouble with the example.
// an object to return in our WidgetFactory
app.factory("Widget", function($firebaseUtils) {
  function Widget(snapshot) {
    // store the record id so AngularFire can identify it
    this.$id = snapshot.key();

    // apply the data
    this.update(snapshot);
  }

  Widget.prototype = {
    update: function(snapshot) {
      var oldData = angular.extend({}, this.data);

      // apply changes to this.data instead of directly on `this`
      this.data = snapshot.val();

      // add a parsed date to our widget
      this._date = new Date(this.data.date);

      // determine if anything changed, note that angular.equals will not check
      // $value or $priority (since it excludes anything that starts with $)
      // so be careful when using angular.equals()
      return !angular.equals(this.data, oldData);
    },

    getDate: function() {
      return this._date;
    },

    toJSON: function() {
      // since we changed where our data is stored, we need to tell AngularFire how
      // to get the JSON version of it. We can use $firebaseUtils.toJSON() to remove
      // private variables, copy the data into a shippable format, and do validation
      return $firebaseUtils.toJSON(this.data);
    }
  };

  return Widget;
});

// now let's create a synchronized array factory that uses our Widget
app.factory("WidgetFactory", function($firebaseArray, Widget) {
  return $firebaseArray.$extend({
    // change the added behavior to return Widget objects
    $$added: function(snap) {
      // instead of creating the default POJO (plain old JavaScript object)
      // we will return an instance of the Widget class each time a child_added
      // event is received from the server
      return new Widget(snap);
    },

    // override the update behavior to call Widget.update()
    $$updated: function(snap) {
      // we need to return true/false here or $watch listeners will not get triggered
      // luckily, our Widget.prototype.update() method already returns a boolean if
      // anything has changed
      return this.$getRecord(snap.key()).update(snap);
    }
  });
});

Also found this old fiddle I wrote that demonstrates date manipulations using $extend. Updated it to 1.0.0. code base. Should be helpful as a simplified example.
http://jsfiddle.net/katowulf/syuzw9k1/

@katowulf : Very helpful indeed.  Thank you for taking the time!


On the use of Apex AMP and hybrid stages

Is there a specific reason why you used Apex AMP instead of the native AMP provided by PyTorch? Have you tried native AMP?
I tried to train poolformer_s12 and poolformer_s24 with solo-learn; with native fp16 the loss goes to nan after a few epochs, while with fp32 it works fine. Did you experience similar behavior?
On a side note, can you provide the implementation and the hyperparameters for the hybrid stage [Pool, Pool, Attention, Attention]? It seems very interesting!

Hi @DonkeyShot21 , Thanks for your attention.
We only used to train poolformer_s12 with Apex AMP and it works well, so we use the Apex AMP to show how to train it with Apex AMP on GPUs. We have not tested it with native AMP, and thus have no experience in native AMP.
We plan to release the implementation and more trained models of hybrid stages around March. As for [Pool, Pool, Attention, Attention]-S12 (81.0% accuracy) shown in the paper, we trained it with LayerNorm, batch size of 1024, the learning rate of 1e-3. The remained hyper-parameters are the same as poolformer_s12. The implementation of the pooling token mixer is the same as that of PoolFormer.  After the first two stages, the position embedding is added. The attention token mixer is similar to that in timm. The difference is that as the default data format of our implementation is [B, C, H, W], the input of the attention token mixer is transformed into [B, N, C], and the output is transformed into [B, C, H, W] again.

Hi @yuweihao, thanks for the nice reply.
Apex can be hard to install without sudo, that is why I prefer native AMP. Actually, I have tried both (Apex, native) with solo-learn and both lead to nans in the loss quite quickly. This also happens with Swin and ViT. I am trying your implementation now with native AMP and it seems it works nicely, the logs are similar to the ones you posted on google drive. So I guess my problem is related to the SSL methods or to the fact that solo-learn does not support mixup and cutmix. The only way I could stabilize training was with SGD + LARS and gradient accumulation (to simulate a large batch size), but the results are very bad, much worse than ResNet18. I guess SGD is not a good match for metaformers in general.
Thanks for the details on the hybrid stage. I have also seen in other issues that you said that depthwise convs can also be used instead of pooling with a slight increase in performance. Do you think this can be paired with the hybrid stages as well (e.g. depthwise conv in the first 2 blocks and then attention in the last 2)?

Hi @DonkeyShot21 , thanks for your wonderful works for the research community:)
Yes, [DWConv, DWConv, Attention, Attention] also works very well and it is in our release plan of models with hybrid stages.

Thank you again! Looking forward to the release!

Hey @yuweihao, sorry to bother you again. For the hybrid stage [Pool, Pool, Attention, Attention] did you use layer norm just for the attention blocks or for the pooling blocks as well? I am trying to reproduce it on ImageNet-100 but I didn't get better performance than vanilla poolformer. The params and flops are the same as you reported, so I guess the implementation should be correct.

Hi @DonkeyShot21 , I use layer norm for all [Pool, Pool, Attention, Attention]-S12 blocks. I guess the attention blocks may be easy to overfit on small datasets, which results in worse performance than vanilla poolformer on ImageNet-100.


DNM: Task timing

Tested here:
http://pulpito.ceph.com/zack-2016-02-04_14:56:04-smoke-master---basic-multi/
If you visit the log link for each job and look at the parent dir, timing.yaml is present and correctly-formatted

http://tracker.ceph.com/issues/14655


Ajax POST method become GET

I have a link which deletes a record and I'm using Ajax & POST method. But PJAX "converted" it to GET method. Is there any way to tell PJAX in the API to exclude elements?
This is the simple code.
delete

...content

new Pjax({
  areas: [
    '.card-body',
    '#pjax-container'
  ]
});

Use link or filter option. But anyway anchor links don't support non-idempotent methods.


Investigate issues with audio files / podcaster setups

recent processGenericSrc() implementation fixes <audio> tags, along with others


RSS/Atom Feed

Is there an RSS/Atom feed of release WITH the version notes, we like to have them appear in our MS Teams channels.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: c0e8d9ef-f25b-bb46-7f1a-bd3588be3343
Version Independent ID: cd392600-a90d-0145-5ea6-6b01ab8f4ab9
Content: Azure CLI release notes
Content Source: docs-ref-conceptual/release-notes-azure-cli.md
Service: azure-cli
GitHub Login: @dbradish-microsoft
Microsoft Alias: dbradish

@drdamour Thank you for reaching out to us, our team will look into your query and get back to you at the earliest.

Hello, @drdamour, I have double-checked with the Azure CLI engineering team and we do not have a RSS feed for our release notes or reference content.  However, they have made a note of your request.


Make side menu in top of view instead push the view

As the title says.
Can i make the side menu in on stop of view or main content?

Closed as duplicated https://github.com/react-native-community/react-native-side-menu/issues/307


Feathers + Nuxt Boilerplate

A Feathers + Nuxt Boilerplate, with Sign up, Login, Reauthentication, and a few other things. Documentation exists.
Summary
(If you have not already please refer to the contributing guideline as described
here)

[ ] Tell us about the problem your pull request is solving.
[ ] Are there any open issues that are related to this?
[ ] Is this PR dependent on PRs in other repos?

If so, please mention them to keep the conversations linked together.
Other Information
If there's anything else that's important and relevant to your pull
request, mention that information here. This could include
benchmarks, or other information.
Your PR will be reviewed by a core team member and they will work with you to get your changes merged in a timely manner. If merged your PR will automatically be added to the changelog in the next release.
If your changes involve documentation updates please mention that and link the appropriate PR in feathers-docs.
Thanks for contributing to Feathers! :heart:

Thank you!


Make setuptools-scm optional

setuptools-scm is great, but there are cases when it becomes very inconvenient to use. My use case is deploying a web-service as a Docker image, and I don't really want .git to be in my Docker image.
It is how my Dockerfile typically looks like:
FROM python:3.10

COPY . /src
RUN pip install /src
# ...

This would fail if .git is excluded from Docker build context, which I believe a common practice

Perhaps too niche. setuptools-scm is fairly integrated.


⚠ Secret Website 3 has degraded performance

In 6c463a1, Secret Website 3 ($SECRET_WEBSITE_3) experienced degraded performance:

HTTP code: 200
Response time: 3299 ms

Resolved: Secret Website 3 performance has improved in c87e242.


Crash Report #3

When making custom potions in the editor, there is a crash that occurs when a potion effect is misspelled.

I am aware of this bug and it'll be fixed very soon :)

@jqck3d Fix has been released (for both issues): https://www.curseforge.com/minecraft/mc-mods/ibe-editor/files/3054778


Interface

Project title
Interface in Solidity
Project Description
A smart contract which tells us about interface in solidity
Domain

[x] Solidity

Are you contributing under any open-source program ?
SSOC

Ig this issue is already there in the level0 .please check once and let me know ..@AnmolSirola

@Vikash-8090-Yadav No Sir, it's not there in level 0

Ok start working on this  @AnmolSirola

please specify the folder  structure

@Vikash-8090-Yadav StudyMaterial/Solidity_Basics

@Vikash-8090-Yadav Can I create a pr for this issue ?

Yes @AnmolSirola Go ahead


feat:add QCD workflow

QCD workflow is pushing back to the git repo which is called QCD_validation.py while it needs to be debugged since the recent correction.py  causes issues in QCD_validation.py.
selection cuts regarding QCD workflow are added in selection.py.
QCD Pt binned samples' Xsec are added in xsection.py.
add variables in definitions.py, most of them are related to secondary vertex variables.
QCD variables are added in histogrammer.py and plotdataMC.py.
Can't use standard PU reweighting files from jsonpog-integration because the HLT path used was highly prescaled. customized PU reweighting root files are prepared for QCD workflow. puweight_2018_UL.HLTPFJet140.histo.root is used for HLT_PFJet140 path (standard). puweight_2018_UL.HLTPFJet40.histo.root was used for low pt study with HLT_PFJet40.
prescale files regarding HLT-PFJet140 are added. THe original containing the prescales information is Prescales_PFJet140.csv, and the file directly used for implementing the prescales is ps_weight_JSON_PFJet140.json.
The script used for generating ps_weight_JSON_PFJet140.json is added, which is prescales.ipynb. The script was originally provided by Lauren Hay.

Hi @hsinweihsia
https://github.com/Ming-Yan/BTVNanoCommissioning/tree/QCD
this is the updated PR with merging the changes you made.
I also checked the scale out also work and indeed PU weights are not needed in this case.
If this is good with you. I can open a PR to integrate the changes

Thanks @hsinweihsia for the contribution. The integration is done in #91 further changes can be made with new PR.

Thanks @hsinweihsia for the contribution. The integration is done in #91 further changes can be made with new PR.


Impl key and value for String

I noticed that &str implements key and value, but String doesn't.

Ya, I didn't implement that because you would have to insert a &String. And
with &str you can call to_string() when retrieving values, if needed. Do
you have a use case that needs String?
Sent from my phone
On Mon, Apr 1, 2024, 12:52 AM Casey Rodarmor @.***>
wrote:

I noticed that &str implements key and value, but String doesn't.
—
Reply to this email directly, view it on GitHub
https://github.com/cberner/redb/issues/788, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAGNXQEWAAG5CDGA5W5DIGLY3EG4TAVCNFSM6AAAAABFRHGSFKVHI2DSMVQWIX3LMV43ASLTON2WKOZSGIYTONZVGA4DQNA
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

We have an Entry trait which abstracts over complex types that can be loaded and stored from the database:
pub(crate) trait Entry: Sized {
  type Value;

  fn load(value: Self::Value) -> Self;

  fn store(self) -> Self::Value;
}

Entry::store can't borrow self, because it doesn't have any lifetimes, so we couldn't implement Entry for something with a &str field.


Problem with build demo apk

Can somebody write by steps or make video, how to build this project on android emulator?

I download this project and open in Android studio.(open gradle from android folder). After import  have two folders: demo and tangram in browser.
2.I have SDK, NDK and path for them. (Windows 7)
Next i create emulator like Nexus 5 API 23 Android 7.0 arm64-v8a
when press button "Run 'demo'", I get exeption :couldn't find "libtangram.so"
In README.md i read that i must run "make android [ANDROID_ARCH=[x86|armeabi-v7a|armeabi]]"
and ./android/run.sh.
But how i can do this, what terminal i have to use?
I have never used C++(libs) in android app.
Please help.

make android --- this command does not work in Win7.
I installed "Cygwin64 Terminal" with shell and bash. Add to bash_profile some path:
export ANDROID_SDK=cygpath -u "$ANDROID_HOME"
export ANDROID_NDK=cygpath -u "$ANDROID_NDK" ;
but command: "make android [ANDROID_ARCH=[x86|armeabi-v7a|armeabi]]" doesn't work;
error:
-bash: armeabi-v7a: command not found
-bash: armeabi]]: command not found

Hello!
There is not currently a good way to build the tangram-es native libraries for android on Windows. However, if you only want to use the library in an application and you don't need to modify the library itself, you can just use tangram-es as a Gradle dependency. There is a collection of demo apps that use the library as a Gradle dependency here: https://github.com/tangrams/tangram-android-demos

Thank you very much.


AttributeError: 'Trainer' object has no attribute 'test'

Hello,
I finished training the model and I tried to evaluate the test results.
In the config file I changed the flag "is_train" to False and I changed the "load_path" to point to the location of the checkpoint file (I assumed that's what should be done, am I right?).
When I ran the code I get the following error:
AttributeError: 'Trainer' object has no attribute 'test'
and I see that indeed "test" is not implemented for the class "Trainer".
Is it possible to provide the implementation for test?
I also suggest if it is possible to add a brief description how to perform the test phase.
Thanks you!

Even I have this issue, Any updates?


More lexical declaration support

:+1: although should probably wait for the unit test split to land.

Rebased against the latest master.

@mikesherov Do I need to explicitly sign the CLA (even after the CAA and such)?

I think we should use some meaningful names for test cases in the future. Otherwise LGTM :+1: !

@ariya, sign the CLA just so the automated check passes.

I'm curious what the terms of the CAA are and how it affects our checks.


Fix tree exposures vs server entity callbacks

We would need to setup a tree structure that has some references to the current connection. Thus we would need access to the PlatformConnectedClientObject, and PlatformFetchedEntity object from the server entity callbacks (by using the ClientDescriptor)
connected(ClientDescriptor clientDescriptor)
disconnected(ClientDescriptor clientDescriptor)

So the idea would be that platform exposes in the tree these 2 objects before connected() is called and remove then after disconnected() is called.

Also, the passthrough server process will need to be updated.

@anthonydahanne : FYI


⚠ SpeakUpConference.com has degraded performance

In a489b1d, SpeakUpConference.com (https://www.speakupconference.com) experienced degraded performance:

HTTP code: 200
Response time: 17561 ms

Resolved: SpeakUpConference.com performance has improved in 69291f9 after 16 minutes.


Nuxt3 strips body in POST request with transfer-encoding: chunked (http 1.1 request).

Environment

Operating System: Darwin
Node Version:     v18.19.0
Nuxt Version:     3.10.1
CLI Version:      3.10.0
Nitro Version:    2.8.1
Package Manager<EMAIL_ADDRESS>Builder:          -
User Config:      devtools
Runtime Modules:  -
Build Modules:    -

Reproduction
Reproduced here:
https://github.com/benlavalley/nuxttransferencoding/commit/64633ee29d5aee4ded87ca488a65815f6f0b1de7
Notes are in the commit -- it is just the latest nuxt init app, with a single additional file /server/api/chunkedtest.ts that simply logs the inbound body, headers, and http version.
Describe the bug
HTTP requests sent to Nuxt3 are having their body of inbound POST requests if they are received with transfer-encoding: chunked headers.
The same requests can be processed just fine by barebones Connect / Express.
This request does NOT work:
curl --location 'http://localhost:3000/api/chunkedtest' \
--header 'Content-Type: application/json; charset=utf-8' \
--header 'transfer-encoding: chunked' \
--data '{"testkey":"testvalue","testkey2":"testvalue2"}'

This request DOES:
curl --location 'http://localhost:3000/api/chunkedtest' \
--header 'Content-Type: application/json; charset=utf-8' \
--header 'Content-Length: 47' \
--data '{"testkey":"testvalue","testkey2":"testvalue2"}'

I've also sent the requests with Postman and seen no difference in behavior.
Content of /server/api/chunkedtest.ts which is the only addition to the initialized Nuxt3 app:
export default defineEventHandler(async (event) => {
	try {
	  const body = await readBody(event);
	  console.log('NUXT received request with headers: ', event.headers)
	  console.log('NUXT received request httpVersion: ', event.node.req.httpVersion)
	  console.log('NUXT received request with  BODY: ', body)
	  return true;
	} catch (error: any) {
		console.log('Error in /api/test: ', error.message)
	  throw new Error('Error in /api/test: ')
	}
  });

I have no control over the request Nuxt receives unfortunately - I am using Netlify's Edge Functions so I can begin supporting Server-Side events in my app, and it forces this header with no way to send with usual content-length header.
I dug a little deeper (I have probably put 10 hours into this one already) and was actually able to narrow the issue down to H3 - standing up a basic H3 server sees it strip the body with transfer-encoding:chunked. I dug a little deeper and the issue may even be another package used further upstream than H3.
I am going to write up an issue for H3 and will relay their response here - a lot of CDNs force this transfer-encoding:chunked and I'd imagine other folks using Nuxt might be running into this issue.
Additional context
No response
Logs
Success processing http 1.1 request with a JSON body and standard "content-length" header:

NUXT received request httpVersion:  1.1
NUXT received request with  BODY:  { testkey: 'testvalue', testkey2: 'testvalue2' }
NUXT received request with headers:  HeadersList {
  cookies: null,
  [Symbol(headers map)]: Map(10) {
    'content-type' => { name: 'content-type', value: 'application/json; charset=utf-8' },
    'content-length' => { name: 'content-length', value: '47' },
    'user-agent' => { name: 'user-agent', value: 'PostmanRuntime/7.36.1' },
    'accept' => { name: 'accept', value: '*/*' },
    'host' => { name: 'host', value: 'localhost:3000' },
    'accept-encoding' => { name: 'accept-encoding', value: 'gzip, deflate, br' },
    'connection' => { name: 'connection', value: 'close' },
    'x-forwarded-for' => { name: 'x-forwarded-for', value: '<IP_ADDRESS>' },
    'x-forwarded-port' => { name: 'x-forwarded-port', value: '53957' },
    'x-forwarded-proto' => { name: 'x-forwarded-proto', value: 'IPv4' }
  },
  [Symbol(headers map sorted)]: null
}

No body to process received with "transfer-encoding:chunked" header:

NUXT received request httpVersion:  1.1
NUXT received request with  BODY:  undefined
NUXT received request with headers:  HeadersList {
  cookies: null,
  [Symbol(headers map)]: Map(10) {
    'content-type' => { name: 'content-type', value: 'application/json; charset=utf-8' },
    'user-agent' => { name: 'user-agent', value: 'PostmanRuntime/7.36.1' },
    'accept' => { name: 'accept', value: '*/*' },
    'host' => { name: 'host', value: 'localhost:3000' },
    'accept-encoding' => { name: 'accept-encoding', value: 'gzip, deflate, br' },
    'connection' => { name: 'connection', value: 'close' },
    'content-length' => { name: 'content-length', value: '47' },
    'x-forwarded-for' => { name: 'x-forwarded-for', value: '<IP_ADDRESS>' },
    'x-forwarded-port' => { name: 'x-forwarded-port', value: '53850' },
    'x-forwarded-proto' => { name: 'x-forwarded-proto', value: 'IPv4' }
  },
  [Symbol(headers map sorted)]: null
}

Thank you for the triage. Please do let me know when you have upstream issues created so we can link them 🙏

Thank you for the triage. Please do let me know when you have upstream issues created so we can link them 🙏

boom! https://github.com/unjs/h3/issues/651

Thank you! ❤
Let's close this issue to track there. Nice debugging.


Hide fires in minimap (Red Dot)

The red dot can be useful as it displays items on the ground however it also shows fires that aren't useful.. The only thing that does is clutters the minimap.
Would it be possible to keep the functionality of the red dot but exclude fires?

Fires do not make red dots appear on the minimap. You might be thinking of the ashes that fires leave behind?

Fires do not make red dots appear on the minimap. You might be thinking of the ashes that fires leave behind?

Ok, please remove them. It clutters the minimap especially when someone is training firemaking and it has no utility to us.

Minimap dots are of no concern when training firemaking. Beyond that, it is not a good idea or good precedence for us to hide minimap dots of ground items.

Minimap dots are of no concern when training firemaking. Beyond that, it is not a good idea or good precedence for us to hide minimap dots of ground items.

that is such a shame... ashes do in fact clutter the minimap go to any bank and you will see.


ChangeLog isn't being maintained

There's been quite a bit of churn in the project but our changelog is still limited to my original transcription of the PDF provided by @wcarthur1. I've got a few PRs queued up that will likely surprise a number of consumers since they change the default behavior in the build. Getting this sort of information into the changelog will help minimize the pain and suffering caused by such changes.
Mostly this is a process problem though and those merging PRs (mostly me these days?) need to clean up their act.

see: http://keepachangelog.com/


Update README.md

Confirm these statements before you submit your pull request:

[ ] I have read and submitted the required Contributor Licence Agreements.
[ ] This pull request follows the contributing guidelines, recommended Git workflow, and templates.
[ ] I have tested my changes.
[ ] I have updated the relevant documentation.

Description
Changes proposed in this pull request:

Issue link

@suleymanakbas91: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

test-integration
45c6fa76c798b2e9895c85e800c1a3c140fe39b8
link
/test integration

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Min stake

add "Min stake" parameter to Conditions.
I delegate and grant to "Disperze" validator, but restake didn't work. I think "Disperze" validator spent all amount for commission and can't compounding, but.. it has Min stake amount 10 tokens!!
And this is not only for one validator!

Interesting, I didn't know about their UI. I can add a minimumDelegation feature to REStake so we can support the same thing and display it, but it might take a bit of time before I can work on it.


Zoom-hosted chat rooms

Add an option to make breakout rooms using Zoom. We could make a few standing rooms that you auto-join through the Zoom web SDK, so the experience would be similar to using Twilio video, but higher quality.

This seems less relevant with the recent Twilio quality upgrades.


renaming npm-enterprise-engineer to npm-on-site-engineer

changed npm Enterprise Engineer, to npm On-Site Engineer.
reworked tone slightly.
made sure to emphasize the OSS aspects of the job.

You will need to edit the link at the top because it changes when the title changes.


[neovim] :FZF sometimes fails to open certain files

Sometimes when I :FZF, select a file, and then press <Enter>, NeoVim becomes unresponsive.
When this happens, pressing <Enter> a couple more times brings up the following:
W10: Warning: Changing a readonly file
E315: ml_get: invalid lnum: 570
Press ENTER or type command to continue
E315: ml_get: invalid lnum: 568
Press ENTER or type command to continue
E315: ml_get: invalid lnum: 403
Press ENTER or type command to continue
...

Interestingly, opening the same file in a split (via <C-v>) seems to work, although nothing happens until I press <Enter> one extra time... i.e. <C-v> nothing happens <Enter> buffer opens as expected.
Quitting & relaunching NeoVim seems to make the problem go away for a while, so it's difficult to reproduce.

Thanks. This also looks like a neovim issue. /cc @tarruda

@junegunn can you assign this and any other neovim-related issues to me?

@tarruda Okay, I'll (temporarily?) add you as a collaborator. Just a second.

@tarruda Okay, I'll (temporarily) add you as a collaborator. Just a second.

Thank you, I find easier to keep track of issues if they are assigned to me. I will address them ASAP.

Thanks once again @tarruda!

Something similar seems to be happening to me, but I don't see any errors in :messages, making it a little hard to debug.

I'm observing this as well. Usually on second attempt it works. I failed to reproduce this behaviour intentionally so I didn't raise an issue.

Same issue for me
E315: ml_get: invalid lnum: 58
E315: ml_get: invalid lnum: 58
E315: ml_get: invalid lnum: 58
E315: ml_get: invalid lnum: 58
E315: ml_get: invalid lnum: 58
E315: ml_get: invalid lnum: 58
E315: ml_get: invalid lnum: 58
E315: ml_get: invalid lnum: 58
E315: ml_get: invalid lnum: 58

I have the same issue, but I don't get any errors only  [Program exited, press any key to close]
after selecting the file I want to edit. Also it happens for every file for me, making fzf unusable for me in neovim :( Strangely if I select the file with CTRL-V it works as expected

@tarruda I'm having issues similar to @cHoco as well.
If I search for and select a file while I already have another file open in the current buffer, I get [Program exited, press any key to close]. However, if the current buffer is empty, :FZF works as expected.

Having the some issue here, but unlike @kennethlee my case isn't quite as cut and dry. It works in an empty buffer, but sometimes works even if the buffer has a file open and as @adambiggs noted sometimes will be fixed by requesting a split or tab, but not always. It is only consistent as long as I keep trying to open the same file, but as soon as I open it in a clean buffer and close it, I can open it in the dirty buffer that originally failed.

I'm experiencing this, too. I find that opening in a split works, but hitting Enter will actually sometimes result in inserting [Program exited, press any key to close] in the file around the 3rd line, then truncating the file! >_< Just one more reason to love git. :)

For me it is prety easy to see when the issue hapoens because it stays in terminal mode after switching to the new buffer. Leaving terminal mode with esc-esc breaks the new buffer with the same reason as justinforce. Reloading with e! % or going back with g- works.
Any other button closes the new buffer for me. Happens with empty or loaded buffers seamingly at random.

Guys,
This seems to be fixed properly. Now I can open every file with "Enter" key. Could anyone confirm this so that we could close this issue? Because I updated both neovim and fzf so I don't know which one fix the bug.
Here is my fzf config that allows me to use  to activate fzf window and open new buffer window with Enter key
"" FZF CONFIG
"" ----------
nnoremap <silent> <c-p> :<c-u>call fzf#run({
    \ 'options': '-m',
    \ 'down': 20,
    \ 'sink': 'e'
    \ })<cr>

Happy to hear it! I went back to vim for the time-being, but FZF breaks zoom in it (as it opens a Tmux pane instead of a Neovim terminal). Will try tomorrow!

Nope, definitely still happening when doing two searches in succession.

There are some open issues about Neovim terminal emulator integration with FZF. Today I have updated both Neovim and FZF and none of them appear to be happening anymore. I use neovim from the custom Ubuntu ppa.

Another data point: I updated Neovim and FZF to HEAD and I'm no longer experiencing this.
phong:~% fzf --version
0.9.12
phong:~% nvim --version
NVIM 0.0.0-alpha+201505271256 (compiled May 28 2015 11:52:08)
Commit: ee312ca9a4d35132059db80b13153ce71faa4ae6
Build type: RelWithDebInfo
Compilation: /usr/local/Library/ENV/4.3/clang -Wconversion -O2 -g -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -DINCLUDE_GENERATED_DECLARATIONS -DHAVE_CONFIG_H -I/tmp/neovim20150528-16178-15csfih/build/config -I/tmp/neovim20150528-16178-15csfih/src -I/tmp/neovim20150528-16178-15csfih/.deps/usr/include -I/tmp/neovim20150528-16178-15csfih/.deps/usr/include -I/tmp/neovim20150528-16178-15csfih/.deps/usr/include/luajit-2.0 -I/tmp/neovim20150528-16178-15csfih/.deps/usr/include -I/tmp/neovim20150528-16178-15csfih/.deps/usr/include -I/tmp/neovim20150528-16178-15csfih/.deps/usr/include -I/tmp/neovim20150528-16178-15csfih/.deps/usr/include -I/usr/local/opt/gettext/include -I/usr/include -I/tmp/neovim20150528-16178-15csfih/build/src/nvim/auto -I/tmp/neovim20150528-16178-15csfih/build/include
Compiled by<EMAIL_ADDRESS>
Optional features included (+) or not (-): +acl   +iconv    +jemalloc
For differences from Vim, see :help vim-differences

   system vimrc file: "$VIM/nvimrc"
     user vimrc file: "~/.nvimrc"
 2nd user vimrc file: "~/.nvim/nvimrc"
      user exrc file: "~/.exrc"
  fall-back for $VIM: "/usr/local/Cellar/neovim/HEAD/share/nvim

@Tarmean what were the precise steps you took to update neovim?

Same as @Tarmean for me, even with a pretty void .nvimrc :
set nocompatible              " be iMproved, required
filetype off                  " required

" set the runtime path to include Vundle and initialize
"
let mapleader = ","

if has('vim_starting')
  " Required:
  set runtimepath+=~/.nvim/bundle/neobundle.vim/
endif

set rtp+=~/.fzf

nnoremap <silent> <C-f> :<c-u>call fzf#run({
    \ 'options': '-m',
    \ 'down': 20,
    \ 'sink': 'e'
    \ })<cr>

" nnoremap <silent> <C-f> :FZF<CR>
command! FZFTag if !empty(tagfiles()) | call fzf#run({
\   'source': "sed '/^\\!/d;s/\t.*//' " . join(tagfiles()) . ' | uniq',
\   'sink':   'tag',
\   'options':  '+m',
\   'left':     60,
\ }) | else | echo 'No tags' | endif

nnoremap <silent> <Leader>t :FZFTag<cr>

To update neovim, I use the add-apt-repository ppa:neovim-ppa/unstable -y
and an apt-get update
Here is the result of
nvim -v
NVIM 0.0.0-alpha (compiled May 27 2015 19:43:48)
Commit: ?
Build type: RelWithDebInfo
Compilation: /usr/bin/x86_64-linux-gnu-gcc -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wconversion -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1 -Og -g -Wall -Wextra -pedantic -Wno-unused-parameter -Wstrict-prototypes -std=gnu99 -DINCLUDE_GENERATED_DECLARATIONS -DHAVE_CONFIG_H -I/build/neovim-Fsnk6w/neovim-0.0.0+git201505271334+1658+9+10~ubuntu15.04.1/build/config -I/build/neovim-Fsnk6w/neovim-0.0.0+git201505271334+1658+9+10~ubuntu15.04.1/src -I/build/neovim-Fsnk6w/neovim-0.0.0+git201505271334+1658+9+10~ubuntu15.04.1/.deps/usr/include -I/build/neovim-Fsnk6w/neovim-0.0.0+git201505271334+1658+9+10~ubuntu15.04.1/.deps/usr/include -I/usr/include/luajit-2.0 -I/build/neovim-Fsnk6w/neovim-0.0.0+git201505271334+1658+9+10~ubuntu15.04.1/.deps/usr/include -I/build/neovim-Fsnk6w/neovim-0.0.0+git201505271334+1658+9+10~ubuntu15.04.1/.deps/usr/include -I/build/neovim-Fsnk6w/neovim-0.0.0+git201505271334+1658+9+10~ubuntu15.04.1/.deps/usr/include -I/build/neovim-Fsnk6w/neovim-0.0.0+git201505271334+1658+9+10~ubuntu15.04.1/.deps/usr/include -I/usr/include -I/build/neovim-Fsnk6w/neovim-0.0.0+git201505271334+1658+9+10~ubuntu15.04.1/build/src/nvim/auto -I/build/neovim-Fsnk6w/neovim-0.0.0+git201505271334+1658+9+10~ubuntu15.04.1/build/include
Compiled by buildd@lgw01-25

Optional features included (+) or not (-): +acl   +iconv    +jemalloc
For differences from Vim, see :help vim-differences

   system vimrc file: "$VIM/nvimrc"
     user vimrc file: "~/.nvimrc"
 2nd user vimrc file: "~/.nvim/nvimrc"
      user exrc file: "~/.exrc"
  fall-back for $VIM: "/usr/share/nvim"

I also have the latest versions of fzf, which I pulled and then run the ./install script.

Well, I'm not sure about Linux bcoz OSX running OK with me

Latest versions of Neovim and FZF, still having issues.

I used apt-get to install it from neovim-ppa/unstable and removed/reinstalled it once since for another reason. So reasonably certain it doesn't have to do with the install itself. This is on linux mint btw.

So it's weird then,
@Tarmean, could you try to upgrade python neovim too? by running pip install --upgrade neovim.
I don't know what's wrong but mine is working OK.

Latest master could possibly help with this issue.

Definitely still happening for me, I tried updating python as well. I'm running the latest fzf and the latest neovim in the ubuntu ppa.

@jgkamat Same here. Error situation has changed a little but it's still bombing out.

I have tried to reproduce this now with no success. Opened files in empty or filled buffer, in splits, and it always worked. Is anyone experiencing this on master? (more precisely @fa13cc61c)

@tarruda I've been on fa13cc6 most of the day and have seen this at least 20. Per usual it doesn't happen every time but it's over 50 of the time. I've been doing mostly :edit <path> from nvim this afternoon just to avoid the pain of having it bomb.

Still happens from time to time to me. I can't talk for the others, but it usually happens with really small files.
EDIT: actually I can reproduce it right now almost 100% but doing this

Create empty file touch test
Open neovim nvim
Launch fzf :FZF
Select the test file and press enter key test<CR>
The file is opened but press any key and the file is closed

For me those steps don't work :cry:
When I try disabling all my plugins except for fzf, everything works as expected, but I cant seem to pin the problem down to a single plugin. It seems more like its related to the slowdown accompanying some plugins? I'm not sure about this, but I have a hunch that it's related to performance somehow. Does anyone have any tips for debugging which plugins could be causing this?

Yeah, I can confirm that without plugins it works. But i tried to identify the one causing the problem and wasn't able to. It seems to depend on the number of plugins, not the plugins per se. And since it doesn't happen all the time with any file I suppose it must be some kind of race condition.

@cHoco / @jgkamat / @alerque
Do you use any python plugins? If so, does the problem still happens when you disable python?(add let g:loaded_python_provider = 1 to the top of your vimrc)

Yes I use some python plugins (YCM being the most "expensive" one). Disabling python seems to "fix" it for me. I've been trying for a solid 5 minutes to open various files and I wasn't able to trigger the bug.

@tarruda I do use python plugins. I just disabled that as you suggested and in a quick test opening a couple dozen files in hasn't failed once. nvim+fzf haven't been this nice to me in months.

I don't think I have any python plugins (I got no errors when adding that line), and adding that line seemed to improve things slightly, but i'm not sure about that. :disappointed:

I don't think I have any python plugins (I got no errors when adding that line), and adding that line seemed to improve things slightly, but i'm not sure about that. :disappointed:

did you manage to reproduce the bug after adding that line?
FWIW, I don't think this is related to python provider, but a long-existing nvim issue which I have been working to fix for the past couple of months:  neovim/neovim#2371. The fact that disabling python makes it harder to reproduce is just a consequence of how nvim processes asynchronous messages.

Yes I did, sorry for not making that clear before. Maybe I'm seeing a different issue from @alerque and @cHoco?

Your first comment:

I'm not getting the error messages anymore, the opened window/split just crashes. (Maybe this is a separate issue?

Leads me to believe that it's a separate issue.

Just a little update on my situation: I went back to Neovim today (updated) and everything seems fine. Great work, folks.

Sadly I'm still running into this. Much less often with python shut off, but we aren't out of tho woods yet.

I have the same issue. Here is my stackoverflow question: http://stackoverflow.com/questions/31671376/why-fzf-does-not-work-when-i-open-it-from-vim-intro

I had same issue as @cHoco,  select some file from fzf, hit enter to open the file, cursor was not blinking, hit any key closes the buffer.
Few hours later I did sudo pip install --upgrade neovim, then boom, the issue is gone.

I am getting this issue with HTML files.  The issue pops up for me when I have a buffer open and try to open a second for the first time.  Once I open a second buffer manually (:e) then all the commands work fine for the remainder of the session.

can you all check if the bug is still present on master(https://github.com/neovim/neovim/commit/e80d7c0df7ec6e88a964e58d86a70c8f980e4cc1)?

@tarruda Looks good on my end; I haven't experienced any issues thus far. Thanks! :+1:

Yes, it seems to work correctly now

If anyone still experiences this I will reopen

Looks good on my end, thank you!


Update sbt-http4s-org to 0.9.0 in series/0.22

Updates org.http4s:sbt-http4s-org from 0.8.3 to 0.9.0.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Files still referring to the old version number
The following files still refer to the old version number (0.8.3).
You might want to review and update them manually.
website/src/hugo/content/changelog.md

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.http4s", artifactId = "sbt-http4s-org" } ]

labels: sbt-plugin-update, early-semver-major, semver-spec-minor, old-version-remains

Are we supposed to be using temurin for 11 and 17?  I've lost track of the current fashion.  This seems like it should be baked into sbt-http4s-org, because we've got multiple projects failing on this.

Oh, I see sbt-http4s-org already uses temurin for all three.


Reagent Optimization suggestion is wrong!

It is suggesting 37xR2 Dust and 38xR3 Dust when in reality its 38xR2 and 37xR3 to reach the necessary skill required!

this is the first item i noticed it on but might be wrong on others too!

could be due to skill threshold rounding
try options -> profit calculation -> offset breakpoints

checking offset just makes it worse
this is with offset checked:


plugins api support

Will there be a plugins support with pynetbox?

I believe that should be not hard to implement. Now you can use funny workaround:

No immediate plans for that. I haven't even had a chance to play around with any NetBox plugins. How do they tie into DRF?

I think for most cases extend models with empty plugins is enough, because endpoints work just fine even now:
from pynetbox.core.endpoint import Endpoint
nb = pynetbox.api(url='url, token='token')
nb.http_session.verify = False
class Plugins:
    name = 'plugins'
p = Plugins()
pl = Endpoint(nb, p, 'plugin_url')
a = pl.filter(device_id=15)
print(a[0].__dict__)

This should do #290


TypeError CompoundWordTransformerModel

Hi @wingedsheep,
Thanks for your efforts in putting this together! I am already playing around with the remi model. Very exciting stuff!
I just tried out the Word Transformer Model and got this error:
Extracted 4202 compound words.
Extracted 2121 compound words.
Extracted 2372 compound words.
Extracted 2621 compound words.
Extracted 2882 compound words.
Extracted 2780 compound words.
Extracted 2378 compound words.
Extracted 2699 compound words.
Extracted 2433 compound words.
Extracted 1522 compound words.
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
[<ipython-input-3-e6f203a26271>](https://localhost:8080/#) in <module>
     10
     11 # Create and train the model
---> 12 model = CompoundWordTransformerModel(
     13     dictionary=dataset.dictionary,
     14     max_sequence_length=512

TypeError: __init__() got an unexpected keyword argument 'dictionary'

Here is a google colab notebook using your example midi files that should reproduce the error: compound_word_model.ipynb. It is based on the example in your readme.md.
Best
Max

@wingedsheep I think I found the error:
In this script:
https://github.com/wingedsheep/music-generation-toolbox/blob/main/example/compound_word_example.py
the syntax for training a compound word models is slightly different than in readme.md:
model.train(x_train=dataset.data, epochs=50, stop_loss=0.1)
as opposed to:
# Create and train the model model = CompoundWordTransformerModel(     dictionary=dataset.dictionary,     max_sequence_length=512 )
The former works. I can create a pull request if you want to. Or create new issues if that helps you. I never participated in an open source project before and I am an R guy not a python guy (yet). So please be patient with me :)
I am planning to test all your implementations, if you want I can keep on posting the issues I find. And maybe I'll write some additional example colabs. I think they are pretty useful.

Hi @blechturm. Glad to hear you are enjoying the music generation models.
The example in the readme was indeed wrong, since the CompoundWordTransformerModel does not have a dictionary parameter. I just pushed a change to fix this.
Thanks for helping me out, and feel free to open a pull request if you find something 👍


submit new sitemap to google.

Old site links are in google SERPS

@julienbrunuk / @simonmcmanus - can you submit a sitemap

Our site is being indexed well. we do not need a sitemap

hold on there chap - if "Old site links are in google SERPS" then your statement is not quite true.

@iancrowther  - do you have an example of the incorrect behaviour?

we don't have a jobs board?

The jobs boards is showing in google because the page returns a 200:
http://lnug.org/jobs/
When that returns a 404 it will stop showing in google.


HDDS-7906. [Snapshot] Wait for checkpoint creation if snapshot in cache and not committed to DB.

What changes were proposed in this pull request?
The timeline for CreateSnapshot request is as follows
t1-> Update snapshot info in Cache and return response to the client after bucket lock released. The OM DoubleBuffer thread has not yet flushed this operation to DB so actual rocksdb is not updated and checkpoint has not yet been created.
t2-> Lets say Client issues read on the renamed path, During read it finds the Snapshot info object  and the checkpoint dir location from the Snapshot Table Cache, however the checkpoint is actually created when actual RocksDB is updated in OMCreateSnapshotResponse#addToDBBatch and the read fails
t3-> Add snapshotInfo to DB and create checkpoint.
The  fix here is to wait for the checkpoint dir creation during read if the snapshot info is in cache.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-7906
How was this patch tested?
Unit test

I ran test in IntelliJ with your changes and it failed.

I have fixed the test case in the latest commit , It also doesn’t fail in the latest CI run, Although will add the check to verify whether it is returning null, Thanks

Thanks @sadanand48 for the patch. Thanks @prashantpogde @hemantk-12 for reviewing this.


Add new fsspec version into version matrix

Summary :memo:
Write an overview about it.
Details
Describe more what you did on changes.

(...)
(...)

Bugfixes :bug: (delete if dind't have any)

Checks

[ ] Closed #798
[ ] Tested Changes
[ ] Stakeholder Approval

@xianyinxin please take a look.


Dispatcher.addr is unused

Dispatcher.addr appears to be unused, except by one test. We should remove it.
cc @LK4D4

@aaronlehmann I think it's unused at all, will remove


Chef::Exceptions::GroupIDNotFound on AIX when creating '/etc/resolv.conf' template

Error executing action create on resource 'template[/etc/resolv.conf]'
================================================================================
Chef::Exceptions::GroupIDNotFound
---------------------------------
cannot determine group id for 'root', does the group exist on this system?

Resource Declaration:
---------------------
# In /var/chef/cache/cookbooks/resolver/recipes/default.rb

 27:   template "/etc/resolv.conf" do
 28:     source "resolv.conf.erb"
 29:     owner "root"
 30:     group "root"
 31:     mode 0644
 32:     # This syntax makes the resolver sub-keys available directly
 33:     variables node['resolver']
 34:   end

Using the integer zero '0' is preferred over the string 'root' for owner and group IDs.  This would  allow for AIX (and maybe other non-linux's) to function at the same time.  It also seems a bit more secure as the integer 0 is what is more likely coded into *nix kernels for 'root' groups, not the string 'root'.
template "/etc/resolv.conf" do
  source "resolv.conf.erb"
  owner 0
  group 0
  mode 0644
  # This syntax makes the resolver sub-keys available directly
  variables node['resolver']
end

This has been resolved on master with https://github.com/opscode-cookbooks/resolver/commit/7297e281ec9adea415ef055ebdf5f226f9f5fff0


Long undefined list on backspace removing all previously typed characters

I noticed this happens in CSS/Less files, didn't notice it in Coffee files

Type a few characters, get a list
Backspace to remove all characters
Get something like this

It happens in Python, and with a dark theme.

Probably related to #298, #299

Sorry about this, it's out in 2.3.1.


NoSuchMethodError: The method 'toDouble' was called on null.

Error Log:
05-16 14:54:38.913 11877-12010/com.lunata.dating E/flutter: [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: NoSuchMethodError: The method 'toDouble' was called on null.
    Receiver: null
    Tried calling: toDouble()
    #0      Object.noSuchMethod (dart:core-patch/object_patch.dart:50:5)
    #1      double.> (dart:core-patch/double.dart:87:31)
    #2      ScrollPosition._updateSemanticActions (package:flutter/src/widgets/scroll_position.dart:436:16)
    #3      ScrollPosition.notifyListeners (package:flutter/src/widgets/scroll_position.dart:695:5)
    #4      ScrollPosition.forcePixels (package:flutter/src/widgets/scroll_position.dart:318:5)
    #5      ScrollPositionWithSingleContext.jumpTo (package:flutter/src/widgets/scroll_position_with_single_context.dart:201:7)
    #6      ScrollController.jumpTo (package:flutter/src/widgets/scroll_controller.dart:172:16)
    #7      _MarqueeState._makeRoundTrip (package:marquee/marquee.dart:512:17)
    <asynchronous suspension>
    #8      _MarqueeState._scroll (package:marquee/marquee.dart:446:11)
    <asynchronous suspension>
    #9      Future.doWhile.<anonymous closure> (dart:async/future.dart:534:26)
    #10     _rootRunUnary (dart:async/zone.dart:1132:38)
    #11     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
    #12     _CustomZone.runUnaryGuarded (dart:async/zone.dart:931:7)
    #13     _CustomZone.bindUnaryCallbackGuarded.<anonymous closure> (dart:async/zone.dart:968:26)
    #14     Future.doWhile (dart:async/future.dart:549:18)
    #15     _MarqueeState.initState.<anonymous closure> (package:marquee/marquee.dart:441:14)
    #16     new Future.delayed.<anonymous closure> (dart:async/future.dart:316:39)
    #17     _rootRun (dart:async/zone.dart:1120:38)
    #18     _CustomZone.run (dart:async/zone.dart:1021:19)
    #19     _CustomZone.runGuarded (dart:async/zone.dart:923:7)
    #20     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:963:23)
    #21     _rootRun (dart:async/zone.dart:1124:13)
    #22     _CustomZone.run (dart:async/zone.dart:1021:19)
    #23     _CustomZone.bindCallback.<anonymous closure> (dart:async/zone.dart:947:23)
    #24     Timer._createTimer.<anonymous closure> (dart:async-patch/timer_patch.dart:21:15)
    #25     _Timer._runTimers (dart:isolate-patch/timer_impl.dart:382:19)
    #26     _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:416:5)
    #27     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:171:12)

The code I use is your example:
Marquee(
          text: 'Some sample text that takes some space.',
          style: TextStyle(fontWeight: FontWeight.bold),
          scrollAxis: Axis.horizontal,
          crossAxisAlignment: CrossAxisAlignment.start,
          blankSpace: 20.0,
          velocity: 100.0,
          pauseAfterRound: Duration(seconds: 1),
          startPadding: 10.0,
          accelerationDuration: Duration(seconds: 1),
          accelerationCurve: Curves.linear,
          decelerationDuration: Duration(milliseconds: 500),
          decelerationCurve: Curves.easeOut,
 )

Flutter version:
[√] Flutter (Channel beta, v1.5.4-hotfix.2, on Microsoft Windows [Version 10.0.17763.503], locale en-US)
    • Flutter version 1.5.4-hotfix.2 at J:\program\flutter
    • Framework revision 7a4c33425d (2 weeks ago), 2019-04-29 11:05:24 -0700
    • Engine revision 52c7a1e849
    • Dart version 2.3.0 (build 2.3.0-dev.0.5 a1668566e5)

[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    • Android SDK at J:\android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.3
    • ANDROID_HOME = J:\android\sdk
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
    • All Android licenses accepted.

[√] Android Studio (version 3.4)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 35.3.1
    • Dart plugin version 183.6270
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)

[√] IntelliJ IDEA Community Edition (version 2019.1)
    • IntelliJ at C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2019.1
    • Flutter plugin version 35.3.3
    • Dart plugin version 191.7141.49

[√] VS Code (version 1.33.1)
    • VS Code at C:\Users\Fajar\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.0.2

[√] Connected device (1 available)
    • SM G532G • 4200c83dceeb64b7 • android-arm • Android 6.0.1 (API 23)

• No issues found!

Thanks for reporting the issue 😄 I'll look into it

I reproduced the bug and it seems the problem is this piece of code used internally:
Future.delayed(Duration(seconds: 1), () {
  Future.doWhile(_scroll);
});

It's basically a workaround to let the widget scroll after the first build. Apparently, the Flutter framework changed how it works so this piece is executed before the first build. Gladly, I discovered a wonderful new API that solves this problem by hooking into the widget lifecycle directly:
WidgetsBinding.instance.addPostFrameCallback((_) {
  if (!_running) {
    _running = true;
    Future.doWhile(_scroll);
  }
});

The new version is published to pub.dev, so enjoy!

I'm currently using versione 1.7.0 and the error still persitst


feat: Show number of records when similarity filter is applied

Description
This PR includes an option in the base pagination to display on page with the number of records
Closes #2197
Type of change
Please delete options that are not relevant.

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

How Has This Been Tested
Please describe the tests that you ran to verify your changes. And ideally reference tests.

[ ] Test A
[ ] Test B

Checklist

[ ] I have merged the original branch into my forked branch
[ ] I added relevant documentation
[x] follows the style guidelines of this project
[x] I did a self-review of my code
[ ] I added comments to my code
[ ] I made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works

I've already restored some of the files but some extra work is needed in the frontend part.
@leiyre please, take a look into them ASAP


parseSuiteTestOptions is not needed anymore

... since there are no tests processing command line options anymore. IOW, --logLevel and --testLength aren't used anymore.

Benedict, could you please confirm or  deny and reassign to me?

I think it is not used anymore, the only place I see it referenced is in setupClass in the init.py of the test module. So, I think you are good to delete.


machine getting deleted

Sorry I accidently open it in Docker and toolbox, but now finally recreating it here.
Output of docker version:
Client:
Version:      1.10.2
API version:  1.22
Go version:   go1.5.3
Git commit:   c3959b1
Built:        Mon Feb 22 22:37:33 2016
OS/Arch:      windows/amd64
An error occurred trying to connect: Get http://<IP_ADDRESS>:2375/v1.22/version: dial tcp <IP_ADDRESS>:2375: connectex: No connection could be made because the target machine actively refused it.
Output of docker info:
An error occurred trying to connect: Get http://<IP_ADDRESS>:2375/v1.22/version: dial tcp <IP_ADDRESS>:2375: connectex: No connection could be made because the target machine actively refused it.
I install a boot2docker, on my Windows 10 Pro 64bit along with Hyper-v. It run good, and I was able to run gitlab on it. Then I shutdown my Host machine, and next day I have Boot2Docker working fine, then on third day, I run cmd.exe as admin, run following command
# docker-machine ls

I see my default boot2loader is listed as Docker v.1.10.2
# docker

it produce usage parameter.. as I mistype and press enter.
# docker run

docker: "run" requires a minimum of 1 argument.
See 'docker run --help'.
Usage:  docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
Run a command in a new container
# docker-machine env

it produce error that no machine name is define and "default" machine doesn't exists.
By this time, my machine was deleted even from hard disk. that is all I did, under cmd.exe.
It happen to me that my boot2loader was deleted 2-3 times, but initially I thought I was doing something wrong, but my boot2loader is not sustained. Not sure if it is bug or still I did some messing.

Hi @archergod, thanks for the issue.
Are you sure the machine is getting deleted?  It doesn't show up even in the VirutalBox GUI?
Do things work if you invoke cmd.exe as non-administrator?  You generally should not be running docker-machine commands as administrator.

Hey, I am using Hyper-V not virtual Box, and yes, it doesn't show in Hyper-V manager and even on disk. And this happens to me at least 2-3 times. Not sure if my installation has problem or what. I realise I didn't provide OS details before so here it is
Windows 10 Pro Edition 64bit
Hyper-V
Along with Visual Studio 2015 community edition, and HyperV.
Docker Toolbox installer seems to install Virtual Box, but I am using Hyper-V and creating machine using
'docker-machine create --driver hyperv default`
It works 1 out of 5 times, to create machine, and when it does create it doesn't persist.


ci: test commit-message-check workflow

Type of Change

[ ] Bugfix
[ ] New feature
[ ] Enhancement
[ ] Refactoring
[ ] Dependency updates
[ ] Documentation
[ ] CI/CD

Description

Additional Changes

[ ] This PR modifies the API contract
[ ] This PR modifies the database schema
[ ] This PR modifies application configuration/environment variables

Motivation and Context

How did you test it?

Checklist

[ ] I formatted the code cargo +nightly fmt --all
[ ] I addressed lints thrown by cargo clippy
[x] I reviewed the submitted code
[ ] I added unit tests for my changes where possible
[ ] I added a CHANGELOG entry if applicable

This pr was opened for testing out the commit-message-check workflow, closing it as testing is completed.


fix: set default capacity to thin class capacity when default

VGService.send should set the default capacity (capacity.topolvm.cybozu.com/00default) to the capacity of the thin pool device class when it is the default.
Fixes https://github.com/topolvm/topolvm/issues/622
Signed-off-by: Suleyman Akbas<EMAIL_ADDRESS>

Please update the comments on this line. Because, in the case of thin pools, overprovisioned bytes are set.
https://github.com/topolvm/topolvm/blob/b3602ddc5b3643b2370df40f124ba57c75bff2a8/lvmd/proto/lvmd.pb.go#L721

Please update the comments on this line. Because, in the case of thin pools, overprovisioned bytes are set.
https://github.com/topolvm/topolvm/blob/b3602ddc5b3643b2370df40f124ba57c75bff2a8/lvmd/proto/lvmd.pb.go#L721

Thanks for the review @cupnes! I've updated the comment and re-generated the files.


nacos sync

dubbo:
registry:
address: spring-cloud://<IP_ADDRESS>:8848
How to mount synchronized services to spring cloud?

can't understand what you want, please provider more detail

can't understand what you want, please provider more detail


Additional ways of taking in inputs?

define_private_input currently expects to be passed an input provider in order to make it explicit where the code is supposed to run. but for some (quick scripts?) it's natural to simply pass in a tensor even if this implicitly means running the associated code on the master.
The question is whether hosts should remain explicitly expressed via input providers or open up for this more implicit host definition (would make sense when the client is running the script); maybe with a warning printed in the latter case?
cc @morgangiraud

related to #149

It is too easy to ignore a warning, and correct usage can be had by simply wrapping in a lambda expression, define_private_input("player", lambda: tf.constant(...), so let's not do this.


Try to fix embedded player

Signed-off-by: Richard Hartmann<EMAIL_ADDRESS>

The list thing does not work anyway, and only the live stream used it -> removed

Thanks!


Feature proposal: Improved API for Forms

Feature proposal: Improved API for Forms
The way the form API is currently implemented in RequestDL solves some of the problems encountered when using the multipart formdata content type.
This proposal aims to follow RFC 7578, allowing for more customization in the construction of parts, particularly by adding the possibility of including other types of headers for each part in the form.
Currently, the implementation only allows the use of FormData, FormValue, and FormFile.
The goal of this proposal is to implement a single FormPart that allows initialization of the headers and content type to be sent, making all possibilities clearer to developers.
The proposal would allow the following usage:
FormPart(data) {
    Headers.ContentType(.json)

    Headers.Any(“123”, forKey: “id”)
}

Please feel free to contribute to the development of this solution and share your opinions.

As we move forward with version 2.0, we've decided to discontinue the planned version 1.0.4. We have no plans to implement the proposed features at this time, but we encourage you to suggest new features by opening issues or engaging in community discussions.
Thank you for your support and interest in our project!


Fixes bug when header-includes is a list

When header-includes is a list the filter crashes. This PR fixes this.

Needs a further fix


html5 colorTransform application

rationale:
i want to clone and tint a display object with nested sprites.
the sprites have a negative x because i want to rotate against one specific point.
the copy.draw( ) ends up cropping the image because it doesn't care about the matrix
the bitmap.transform.colorTransform  doesnt work on html5
Original code can get into perf issues because :

one more function call
one more object (plus GC)
one more render (copy.draw it's the same code as bitmap.draw)
copy.draw doesn't care about matrx, that means it could be rendering the whole image, instead of a part (maybe?).

change brought to you by killabunnies

But what if you bitmapData.draw an object with transparency? What if you draw only to a portion of the target bitmapData.rect size?
I wish I knew of a faster way to perform colorTransform on HTML5 than doing pixel-by-pixel manipulation

Well, i'm not a openfl core developer so i think that is something they are more entitled to answer you.
The code does almost exactly the same thing as the original, with one less function call and respecting the source rect and behaves in a coherent way in all the use cases.
If you inspect the changes you see that i just removed a call to the exact same function, so if the change doesn't support something, the original doesn't either.
If the code has to clone the source, it has to clone it completely, it shouldn't ignore part of the content of the display object (which is the part that lies with negative coords).
I think the code respects the general design of the library (by using rects to define the portion to be used).
We've been using this exactly to implement a color transform and works perfectly with nested display objects and bitmaps with a negative top-left coordinate and transparent ones.
As for "what if .. portion of" well, the proposed change would acknowledge the proper matrix that is being passed as argument, unlike the original code, so i think that my proposal actually improves on this

This is blocked by https://github.com/openfl/openfl/issues/1403, with cacheAsBitmap implemented, we can use it to better implemented color transform for this method :smile:

Well, i've already tried the solution i posted, and works pretty fine, i hope you could use that in the time being.


Counter state

This PR was successfully deployed to production by CircleCI build 106 at 2016-12-19 18:19 GMT.


[question] useAnimationState support for transition configuration

Looking at the docs for useAnimationState and useDynamicAnimationState it appears they don't expose the same properties as elements like MotiView. Is there a preferred way to control the static animation timings? Here's what I was hoping to do in order to slow down a preconfigured animation:
const tagState = useAnimationState({
  from: {
    opacity: 1,
  },
  to: {
    opacity: 1,
  },
}, {
  transition: {
    type: "timing",
    duration: 250
  }
});

You can just pass transition to the component!

Is it possible to have each animation state have its own transition setting?

good question. I don't believe that's currently an option, although there may be some workarounds depending on what you're trying to do.


Feat/CC-1198: Upgrade changes for node v20

Upgrade changes for node v20

Hey Moses the tickets might have to wait for a few more days or weeks as we are releasing now and have just gone into private Beta. Once we stabilise I will approve and give you a nudge.

Hey Moses the tickets might have to wait for a few more days or weeks as we are releasing now and have just gone into private Beta. Once we stabilise I will approve and give you a nudge.

Thanks @okoye-companieshouse
cc: @bcullerton


Show Column values as sorted in Cross Table

It would be nice to have Column members in the header shown as sorted values.

closing the issue.


webclient api clarification

This adds a note to the web developer docs to warn that all apps other than webgateway should not be considered as usable APIs.

Note box renders fine on staging but I'm not sure this is the best placement for it - it currently breaks up the flow between the introduction of web apps and the list. Maybe move it to the bottom of the sub-section?

The note reads okay for me but I'd agree with @hflynn that this note should go at the bottom of the web apps subsection, before the Getting started subsection. Where is is it sits between a colon and the list that colon introduces.

Can you fix this up please @will-moore

The repositioning is welcome. The additional clarification suggested by @mtbc may be worth adding but I'm happy either way for this to be merged.

Added 'without warning' to the warning as suggested.

Thanks both


slam_toolbox: 0.4.0-1 in 'melodic/distribution.yaml' [bloom]

Increasing version of package(s) in repository slam_toolbox to 0.4.0-1:

upstream repository: https://github.com/SteveMacenski/slam_toolbox.git
release repository: https://github.com/SteveMacenski/slam_toolbox-release.git
distro file: melodic/distribution.yaml
bloom version: 0.8.0
previous version for package: null

Closing for https://github.com/ros/rosdistro/pull/22145


Tailwindcss v1.2.0 problem with margin

I have a problem. I added a class to the div parameter ml-auto. Unfortunately I don't go for the effect on the website.
<div class="ml-auto">
Parameter e.g. ml-6 works but 'auto' does not work. I have a version installed v1.2.0
I attach the tailwind.config.js file.
tailwind.config.txt

@NM97 what effect did you expect?
 is a block level element that take full width by default, so you need to add a width or a flexbox container or ... to obtain a result with `ml-auto`
I think you need to learn more about CSS 😉


Drop lerna

Motivation
lerna has been used in this monorepo for +3y (added in https://github.com/ChainSafe/lodestar/pull/324). While useful we have had to battle this tool more than treat it like a helpful item:

https://github.com/ChainSafe/lodestar/pull/4052
https://github.com/ChainSafe/lodestar/pull/4049
https://github.com/ChainSafe/lodestar/pull/3990
https://github.com/ChainSafe/lodestar/pull/3679
https://github.com/ChainSafe/lodestar/pull/3637
https://github.com/ChainSafe/lodestar/pull/3601
https://github.com/ChainSafe/lodestar/pull/2656
https://github.com/ChainSafe/lodestar/pull/2650
https://github.com/ChainSafe/lodestar/pull/2649
https://github.com/ChainSafe/lodestar/pull/1909
https://github.com/ChainSafe/lodestar/pull/666

It also deprecates scripts introduced here, not used currently AFAIK

https://github.com/ChainSafe/lodestar/pull/1142

Description
We use lerna for three actions:

Run scripts in all packages: Now done yarn workspaces run <cmd>
Bump version and dependencies of local packages: Now done with scripts/release/set_version.mjs
Publish all packages: Now done scripts/release/publish.mjs

Please check the new scripts and you'll see they are really simple. I don't think they justify a tool so heavy and problematic like lerna. I don't guarantee this PR won't introduce bugs for each type of release, but fixing those should be trivial now that we control the tooling.
Please note that we have dropped 2_300 lines of dependencies from yarn.lock :tada:

Discussion in discord:

We'll update this to be in line with https://github.com/ChainSafe/engineering-wiki/pull/28
If someone on the team takes this task, they should assign themselves first so no one else duplicates their work

Putting as draft until:

We'll update this to be in line with https://github.com/ChainSafe/engineering-wiki/pull/28

After discussions with the team, we will stick with Lerna for now


MudSwitch: Fixes a bug with LabelPosition.Start and character that exists in RTL alphabet

Description
dir: rtl is used to switch the label position which also sets the label with a RTL direction. Question marks and exclamation marks are character that are Bidirectionnal. They are neutral as they exists in both RTL and LTR language.
When setting a switch label position to LabelPositin.Start, english text is rendered in LTR, but a neutral character is rendered in RTL. The result is a switch rendered like so:

You can find more info about that phenomenon here: https://www.w3.org/International/articles/inline-bidi-markup/
RTL should be used only for text that uses a RTL language. When used for layout manipulation, you would need to change every component inside back to LTR.
I changed the use of rtl for flex-direction: row-reverse. We get the same effect, without having to deal with exclamation mark going to the start of the text block.

How Has This Been Tested?

Tested visually, this change only a class applied to the label
Types of changes

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

Checklist:

[x] The PR is submitted to the correct branch (dev).
[x] My code follows the code style of this project.
[x] I've added relevant tests.

LGTM

Thanks @SinisterMaya!


Release current source as version 5.0.5

Thank you for the great work building SimpleVBUnit! It seems that template references are now correct inside the source code, while are broken in the latest release version 5.0.4.
It would be great if it were possible to create a new release version 5.0.5 with the updates so that newcomers can immediately get started with the examples and enjoy all the great functionality that SimpleVBUnit provides. It would be then possible to close the related issue (#13). Thank you in advance for the consideration!

Good idea!

Glad to be of help!


Support Rails 6.0

I have confirmed that it works with 6.0 in my application.

Sorry for the delay on this, thank you for the contribution!  I'll get a release to support this in the next 24 hours or so after some issue triage.

Thanks!


add ToDO233.md for StarTrek

Request to join StarTrek

[ ] 学习日志
[ ] 学习成果

Since the PR is not updated for too long, it is temporarily closed. If you want to continue to participate in Startrek, please apply again.


Bug in modified LAV Filters

Matroska mkv files not working with VVC modified LAVFilters
Steps to reproduce the behavior:

Install LAVFilters-0.77.2-x64-VVCEasy.7z
Play any mkv container file
Error "Cannot render file" occurs

Hi, @lotharmatheos!
Can you tell me what media player you're using, so I can help a little bit information to find a bug?

Martin Eesmaa

@lotharmatheos, I just tested to play Matroska container and it works fine to me :/.
Screenshot:

I think the reason is I enabled demuxer matroska of FFmpeg configuration could make problem for some machines having MKV container errors, the default LAVFilters disabled demuxer matroska of FFmpeg configuration, because matroska codes is on it of LAVFilters source code.
https://github.com/Nevcairiel/LAVFilters/search?q=matroska (Built matroska codes on it)
https://github.com/Nevcairiel/LAVFilters/blob/master/build_ffmpeg.sh#L55 (Disabled matroska demuxer in FFmpeg LAVFilters configuration script)
Thank you for noticing the bug, I will do tomorrow later for disabling matroska demuxer of FFmpeg configuration build.

Martin Eesmaa

Thank you!
 :)

Martin Eesmaa


Save layers after layer with labels have been added/updated/removed

Related to #4462. It doesn't fix the issue :(
This PR makes sure that requests to save layers are triggered after all layers related to the basemap (baselayer and layer with labels) have been updated in the layers collection.
cc// @xavijam

Frontend tests were OK :+1: (details)

For me :+1:

Frontend tests were OK :+1: (details)