Mixtral 16bit LoRa OOM with deepspeed zero stage 3 and dpo trainer on 4 80GB A100s

hi!
i am trying to use the dpo trainer to fine-tune a mixtral 8*7B model in 16bit precision (i've already completed fine-tuning for a 4bit model without issues, but unfortunately the quantized adapter performs worse than the 16bit version of the model which i want to compare it to).
my goal is to complete training an adapter in 16bit precision, and then merge and unload the model with the adapter to run inference with vllm using the merged model.
unfortunately, i am running into OOM issues when trying to run dpo_trainer.train() for the following setup (any help would be much appreciated):
deepspeed config: (from https://huggingface.co/blog/accelerate-deepspeed)
    "fp16": {
        "enabled": "auto",
        "loss_scale": 0,
        "loss_scale_window": 1000,
        "initial_scale_power": 16,
        "hysteresis": 2,
        "min_loss_scale": 1
    },
    "optimizer": {
        "type": "AdamW",
        "params": {
            "lr": "auto",
            "weight_decay": "auto"
        }
    },
    "scheduler": {
        "type": "WarmupDecayLR",
        "params": {
            "warmup_min_lr": "auto",
            "warmup_max_lr": "auto",
            "warmup_num_steps": "auto",
            "total_num_steps": "auto"
        }
    },
    "zero_optimization": {
        "stage": 3,
        "offload_optimizer": {
            "device": "cpu",
            "pin_memory": true
        },
        "offload_param": {
            "device": "cpu",
            "pin_memory": true
        },
        "overlap_comm": true,
        "contiguous_gradients": true,
        "reduce_bucket_size": "auto",
        "stage3_prefetch_bucket_size": "auto",
        "stage3_param_persistence_threshold": "auto",
        "sub_group_size": 1e9,
        "stage3_max_live_parameters": 1e9,
        "stage3_max_reuse_distance": 1e9,
        "stage3_gather_16bit_weights_on_model_save": true
    },
    "gradient_accumulation_steps": 1,
    "gradient_clipping": "auto",
    "steps_per_print": 2000,
    "train_batch_size": "auto",
    "train_micro_batch_size_per_gpu": "auto",
    "wall_clock_breakdown": false
}

accelerate config
compute_environment: LOCAL_MACHINE
deepspeed_config:
 deepspeed_config_file: ds_config.json
 zero3_init_flag: true
distributed_type: DEEPSPEED
fsdp_config: {}
machine_rank: 0
main_process_ip: null
main_process_port: null
main_training_function: main
num_machines: 1
num_processes: 4
use_cpu: false

training script:
import os

import fire
import hydra
import torch
from omegaconf import DictConfig, OmegaConf

import torch
import wandb
from trl import DPOTrainer
from datasets import Dataset
from peft import LoraConfig
from transformers import TrainingArguments, AutoModelForCausalLM, AutoTokenizer

from helpers import *

logging.basicConfig(level=logging.INFO)

@hydra.main(version_base=None, config_path="conf", config_name="train")
def main(args: DictConfig) -> None:

    # wandb
    args_dict = OmegaConf.to_container(args, resolve=True)
    wandb.init(project=args.wandb.project, name=args.wandb.name, config=args_dict)

    # get tokenizer
    tokenizer = AutoTokenizer.from_pretrained(**args.model.tokenizer_config)
    tokenizer.pad_token, tokenizer.padding_side  = "[PAD]", "right"

    # training args
    training_args_dict = OmegaConf.to_container(args.training_args, resolve=True)
    training_args = TrainingArguments(**training_args_dict)

    # get model
    model = AutoModelForCausalLM.from_pretrained(
        **args.model.model_config,
        torch_dtype=torch.float16,
    )

    # get dataset
    data_dict = jload(args.data)
    logging.info(f"N Train Examples: {len(data_dict)}")

    # get dpo format
    prompt = [example['prompt'] for example in data_dict]
    chosen = [example['chosen'] for example in data_dict]
    rejected = [example['rejected'] for example in data_dict]
    dataset = Dataset.from_dict(dict(prompt=prompt, chosen=chosen, rejected=rejected))

    dataset = dataset.train_test_split(test_size=args.validation_split_size)
    logging.info(dataset)
    logging.info(dataset['train'][0])

    # LoRA and peft setup
    lora_config_dict = OmegaConf.to_container(args.lora_config, resolve=True)
    peft_config = LoraConfig(**lora_config_dict)

    logging.info(f"Devices: {torch.cuda.device_count()}")
    logging.info(f"training_args.output_dir: {training_args.output_dir}")

    # trainer
    dpo_trainer = DPOTrainer(
        model=model,
        tokenizer=tokenizer,
        args=training_args,
        beta=args.dpo_beta,
        train_dataset=dataset['train'],
        eval_dataset=dataset['test'],
        peft_config=peft_config,
        max_prompt_length=args.max_prompt_length,
        max_length=args.model.tokenizer_config.model_max_length,
    )

    # train
    dpo_trainer.train()
    dpo_trainer.save_model(output_dir=training_args.output_dir)

    # save final checkpoint
    output_dir = os.path.join(training_args.output_dir, "final_checkpoint")
    dpo_trainer.model.save_pretrained(output_dir)

if __name__ == "__main__":
    fire.Fire(main())

Hardware: 4 80GB A100 GPUs
Command: accelerate launch --config_file accelerate_config.yaml train_dpo.py
error
File "/scr/jphilipp/miniconda3/envs/scai-tuning/lib/python3.10/site-packages/deepspeed/runtime/zero/partition_parameters.py", line 1210, in all_gather_coalesced
param_buffer = torch.empty(
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 224.00 MiB. GPU 2 has a total capacty of 79.15 GiB of which 171.25 MiB is free. Including non-PyTorch memory, this process has 78.87 GiB memory in use. Of the allocated memory 76.47 GiB is allocated by PyTorch, and 1.00 GiB is reserved by PyTorch but unallocated. If reserved but unallocated memory is large try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

It seems that the mixtral model is loaded to your every GPU rather than partitioned to your GPU (A100) equally.
    model = AutoModelForCausalLM.from_pretrained(
        model=$model_name_or_model_path,
        torch_dtype=torch.float16,
    )

Try this as above.

Thanks a lot for the isue!
I second what @maywind23 said - Mixtral is quite large and I don't think it'll fit on a single A100 GPU for inference. You will need to load it with device_map="auto" and simply run python xxx.py
For increasing the 4bit model performance I advise you to look into LoftQ initialization technique: https://huggingface.co/docs/peft/main/en/developer_guides/lora#loftq in order to boost the performance of your model. Could you try that out as well?

@younesbelkada Thanks for this solution. I am using accelerate multi-gpu config and it is working well for Mixtral using DPO. My GPUs are 8 A-100 40G. However, It goes OOM if seq length is larger than 1024 which is small, I need at least 2048. I have enabled gradient checkpointing, decreasing batch size to 1, and using paged adamw 8bit. Still, it goes OOM. Is there any thing else I can do? I am not sure if multi-gpu config allows for CPU offload like deepspeed. I really appreciate if you could help? Thanks

@janphilippfranken Did deepspeed work for you? It does not work for me.

not with mixtral; so i also ended up using device map auto and just run
python train.py for miztral
for mistral etc it does.
On Thu, 1 Feb 2024 at 8:49 am, Saeed Khaki @.***> wrote:

@janphilippfranken https://github.com/janphilippfranken Did deepspeed
work for you? It does not work for me.
—
Reply to this email directly, view it on GitHub
https://github.com/huggingface/trl/issues/1268#issuecomment-1921763479,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AM6ZNJPDE2HGDQSESVOFS4LYRPBSXAVCNFSM6AAAAABCGPLGDSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRRG43DGNBXHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

I see, but it becomes very slow. It does not utilize all capacity of GPUs, e.g. the GPU utilization is low.

@saeedkhaki92 for decreasing the memory footprint of the training of your model you might consider using flash-attention 2 , simply pass attn_implementation="flash_attention_2" in from_pretrained. Make sure to use TRL built from main to include some important fixes with respect to DPO + FA2 + Mixtral: https://github.com/huggingface/trl/pull/1290

@younesbelkada Thanks.  It still goes OOM, I added attn_implementation="flash_attention_2"  and setting use_cache=False.
This is my training scripts and how I call it:

accelerate launch --config_file ./accelerate_configs/multi_gpu.yaml --num_processes=8 \
 rlhf_dpo_4bit.py \
--model_name_or_path="/mnt/efs/workspace/sakhaki/models/Mixtral-8x7B-Instruct-v0.1" \
--output_dir="/mnt/efs/workspace/sakhaki/models/Mixtral-8x7B-dpo-v5" \
--data_path="/mnt/efs/workspace/sakhaki/data/mixtral_dpo_12858.json" \
--use_lamma2_peft_config False \
--beta 0.1 \
--optimizer_type adamw_bnb_8bit \
--learning_rate 2e-5 \
--warmup_steps 50 \
--per_device_train_batch_size 1 \
--per_device_eval_batch_size 1 \
--gradient_accumulation_steps 8 \
--lora_alpha 16 \
--lora_dropout 0.05 \
--lora_r 8 \
--max_prompt_length 1024 \
--max_length 2048 \
--num_train_epochs 4 \
--logging_steps 2 \
--save_steps 50 \
--save_total_limit 8 \
--eval_steps 10 \
--gradient_checkpointing True \
--report_to "wandb" \
--target_modules q_proj k_proj v_proj o_proj

And this is part of my code where I load the mixtral model inside my script: rlhf_dpo_4bit.py
`if name == "main":
parser = HfArgumentParser(ScriptArguments)
script_args = parser.parse_args_into_dataclasses()[0]

quantization_config = BitsAndBytesConfig(
    load_in_8bit=False, load_in_4bit=True
)
# Copy the model to each device
device_map = (
    {"": f"xpu:{Accelerator().local_process_index}"}
    if is_xpu_available()
    else {"": Accelerator().local_process_index}
)
torch_dtype = torch.bfloat16

device_map = "auto"
# 1. load a pretrained model

model = AutoModelForCausalLM.from_pretrained(script_args.model_name_or_path,
                                            # low_cpu_mem_usage=True,
#                                             torch_dtype=torch.bfloat16,
                                            # load_in_4bit=True,
                                             #load_in_4bit=True,
 #                                            trust_remote_code=True
  #                                           )

model = AutoModelForCausalLM.from_pretrained(
    script_args.model_name_or_path,
    quantization_config=quantization_config,
    device_map=device_map,
    trust_remote_code=True,
    torch_dtype=torch_dtype,
    attn_implementation="flash_attention_2"
 #   use_auth_token=script_args.use_auth_token,
)
model.config.use_cache = False

if script_args.ignore_bias_buffers:
    # torch distributed hack
    model._ddp_params_and_buffers_to_ignore = [
        name for name, buffer in model.named_buffers() if buffer.dtype == torch.bool
    ]
model.enable_input_require_grads()

`

@younesbelkada
Update:
I tried using deepspeed_zero2 config and adding cpu offload options, it is still going OOM, here is my zero config
compute_environment: LOCAL_MACHINE
debug: false
deepspeed_config:
  deepspeed_multinode_launcher: standard
  gradient_accumulation_steps: 8
  offload_optimizer_device: cpu
  offload_param_device: cpu
  zero3_init_flag: false
  zero_stage: 2
distributed_type: DEEPSPEED
downcast_bf16: 'no'
machine_rank: 0
main_training_function: main
mixed_precision: 'bf16'
num_machines: 1
num_processes: 8
rdzv_backend: static
same_network: true
tpu_env: []
tpu_use_cluster: false
tpu_use_sudo: false
use_cpu: false

My understanding is that with zero2+offloading, we should not go OOM because of excessive memory would be assigned to CPU. I appreciate it if you could comment on this? Thanks

@younesbelkada  Just a quick update, I managed to get it working with zero3+offloading, and by adding:
from deepspeed.utils import set_z3_leaf_modules
from transformers.models.mixtral.modeling_mixtral import MixtralSparseMoeBlock
set_z3_leaf_modules(model, [MixtralSparseMoeBlock])

it significantly reduced the memory usage. Per documentation of DeepSpeed: set_z3_leaf_modules is particularly useful in the context of Mixture of Experts (MoE) models. In MoE models, the computation order of experts varies across forward passes. This variability can disrupt ZeRO3's functionality, as ZeRO3 relies on tracking the computation order of modules to prefetch parameters efficiently. By designating a module as a 'leaf' node, ZeRO3 will prefetch parameters for all child modules upon entering the module.

very nice thanks for sharing!
Note also now QLoRA + DS-Zero3 is compatible if you use the latest transformers / accelerate: https://huggingface.co/docs/peft/accelerate/deepspeed


Load wmstats couch views with stale=update_after in WMStats Service wrappers

Fixes #9680
Status
not-tested
Description
Instead of loading wmstats views in different ways. Always go through via _getCouchView(), which by default would add stale=update_after view option (unless provided a different value).
This update_after means: return whatever data that is already indexed in the view at the moment (thus, it allows for a quick response). Once CouchDB serves the request, a view indexing is triggered (in case there are new documents), i.e., the view data is updated.
Documentation for 1.6.1: https://docs.couchdb.org/en/1.6.1/api/ddoc/views.html
Is it backward compatible (if not, which system it affects?)
yes
Related PRs
This is another fix: https://github.com/dmwm/WMCore/pull/9684
External dependencies / deployment changes
none

@todor-ivanov Todor, I'm going to backport it to a special branch and probably request a CMSWEB hotfix deployment for reqmon.

Same as #9684 , already in production (from the cmsweb branch), so let me merge it in master as well.


Github packages over maven central

Some insights on why to use Github packages over traditional maven central?

I want to use Sonatype OSSRH, but it is not so easy. I will try it when I have more free time.


Add good practice on naming things

we have here a section with the hard rules on naming things, but we should also add a bit on best practices - e.g., informative names, nouns for objects/variables, verbs for functions, etc.

I believe that @swayneh is going to be including that in one of his sections.


Add helpful links: linked SVG icons to Google and Stack Overflow

This PR adds linked icons to search for help based on the error message

@marcuspoehls looks good! I think we should update the screenshot in the readme before merging?

Nice, thank you!

Awesome, thanks!


Queries for same recordset race to respond.

[ ] Solution to track transaction, block second queries or cancel old ones

duplicate - error creating via gh cli


On some MD and pages is still reference to Google Group. Should be changed to Gatling Community.

Example:

PR #4310


add menu_button

I made a menu with the option to close the program and save the state to a binary file.

Thank you


Split pkgs per package

Related #1230
Problem to solve
If the number of packages a file under pkgs, it takes a little long time for CI and sometimes rate limit exceeded occurs.
How to solve
pkgs/
  <package path>/
    pkg.yaml

e.g.
pkgs/
  suzuki-shunsuke/tfcmt/
    pkg.yaml

Concern
Due to this change, maybe it takes a long time to read aqua-all.yaml.
Maybe the following tips would become unavailable.
https://github.com/aquaproj/aqua-registry#bulb-tips-get-all-packages-in-your-laptop

Due to this change, maybe it takes a long time to read aqua-all.yaml.
Maybe the following tips would become unavailable.

I did by #2675 , but I don't feel the performance issue.

It works well.
https://github.com/aquaproj/aqua-registry/pull/2678


feat: add intel/fastgo compression option

What type of PR is this?
perf
Check the PR title.

[X] This PR title match the format: <type>(optional scope): <description>
[X] The description of this PR title is user-oriented and clear enough for others to understand.
[ ] Attach the PR updating the user documentation if the current PR requires user awareness at the usage level. User docs repo

(Optional) Translate the PR title into Chinese.
添加 intel/fastgo 压缩选项
(Optional) More detailed description for this PR(en: English/zh: Chinese).
en: Intel FastGo can benefit the compression at a level lower than 3 and the decompression for all levels. This PR is aimed to provide an out-of-box optimization on Intel Xeon platform by leverage Intel FastGo.
zh(optional):  Intel FastGo 可在低于 3 级的压缩和所有级别的解压缩中发挥作用。本 PR 的目的是利用 Intel FastGo 在 Intel Xeon 平台上提供开箱即用的对 Hertz 中的压缩解压缩的性能优化。
(Optional) Which issue(s) this PR fixes:
N/A
(Optional) The PR that updates user documentation:
N/A

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


chore: Update orchestratorlib to 4.14.0-rc0

Description
Update @microsoft/bf-orchestrator to 4.14.0-rc0.
#minor

Coverage remained the same at 55.456% when pulling 4cf4d39d7dfc03209344d0d9c48a4e7317ae79a8 on tachou/updateOrch4.14 into 712d81f3c8b34f43d305d2a99c6f0297e90c47c2 on main.


Footer Design Added

Wow, Great Job @sid172014 ! Just remove Dr from the Name in the footer section. This looks good to me. What say @aastha-chauhan-gits ?

Aight , I'm on it

Hey there , @aastha-chauhan-gits i've made your proposed changes , can you please have a look..

Here's how the footer looks now

Sorry for the inconvenience I'll make a new PR


string values parse as boolean

Hello,
There seems to be a problem with the Point.Builder class and using String values. Example:
db = InfluxDBFactory.connect(dbUrl, dbUser, dbPass);
BatchPoints batchPoints = BatchPoints
              .database("my_db")
              .time(time, TimeUnit.MILLISECONDS)
              .tag("async", "true")
              .retentionPolicy("default")
              .consistency(InfluxDB.ConsistencyLevel.ALL)
              .build();
Point.Builder builder = Point.measurement("my_type");
builder.field("my_field", "string_value");
Point point = builder.build();
db.write(batchPoints);

This results in a field of type "boolean" typically set to false in the DB.
Influxd console shows errors such as
unable to parse bool value 'string_value': strconv.ParseBool: parsing "string_value": invalid syntax
I can repeat this with curl using
$ curl -i -XPOST 'http://localhost:8086/write?db=test1&precision=ms' -d 'cpu_load_short,host=server01,region=us-west value=string_value<PHONE_NUMBER>112'
the above creates a field called "value" with boolean type and value of false, with the matching parse error.
$ curl -i -XPOST 'http://localhost:8086/write?db=test1&precision=ms' -d 'cpu_load_short,host=server01,region=us-west value2="string_value"<PHONE_NUMBER>112'
the above with the double quotes creates a string field with the given string_value.
The problem seems to be in Point.java file in the method "public String lineProtocol()", where you do
sb.append(field.getKey()).append("=").append(field.getValue());

I would suggest checking if the value is of type String and add the double quotes to fix.
This is using the 2.0 version built from the repository.
Cheers,
T

Hi,
in your example you forgot to add the point to the batchPoints:
Point point = builder.build();
batchPoints.point(point);
db.write(batchPoints);

But even with that modification i cannot reproduce, nor understand your bug report.
"string_value" is not a boolean, in no way.
To further nail down this problem, please give me the exact version of influxdb and add the logs of your code generated with:
db.setLogLevel(LogLevel.FULL);

before you write anything.
thanks
Stefan

BTW, test for this ticket lives under:
https://github.com/influxdb/influxdb-java/blob/master/src/test/java/org/influxdb/TicketTests.java#L113

Hi,
Thanks for the quick response. Here is the log and some clarification.
The code I ran this time (modified from your test):
public class Test39 {
  public static void main(String[] args) {
    String ip = "<IP_ADDRESS>";
    InfluxDB influxDB = InfluxDBFactory.connect("http://" + ip + ":8086", "root", "root");;
    influxDB.setLogLevel(InfluxDB.LogLevel.FULL);
    String dbName = "ticket39_" + System.currentTimeMillis();
    influxDB.createDatabase(dbName);
    BatchPoints batchPoints = BatchPoints
            .database(dbName)
            .time(System.currentTimeMillis(), TimeUnit.MILLISECONDS)
            .tag("async", "true")
            .retentionPolicy("default")
            .consistency(InfluxDB.ConsistencyLevel.ALL)
            .build();
    Point.Builder builder = Point.measurement("my_type");
    builder.field("my_field", "string_value");
    Point point = builder.build();
    batchPoints.point(point);
    influxDB.write(batchPoints);
//    influxDB.deleteDatabase(dbName);
  }
}

The log
---> HTTP GET http://<IP_ADDRESS>:8086/query?u=root&p=root&q=CREATE+DATABASE+ticket39_1435158439935
---> END HTTP (no body)
<--- HTTP 200 http://<IP_ADDRESS>:8086/query?u=root&p=root&q=CREATE+DATABASE+ticket39_1435158439935 (467ms)
Content-Type: application/json
Request-Id: b38b8071-1a82-11e5-94f8-000000000000
X-Influxdb-Version: FIXME
Date: Wed, 24 Jun 2015 15:07:16 GMT
OkHttp-Selected-Protocol: http/1.1
OkHttp-Sent-Millis:<PHONE_NUMBER>435
OkHttp-Received-Millis:<PHONE_NUMBER>443

{"results":[{}]}
<--- END HTTP (16-byte body)
---> HTTP POST http://<IP_ADDRESS>:8086/write?u=root&p=root&db=ticket39_1435158439935&rp=default&precision=ms&consistency=all
Content-Type: text/plain
Content-Length: 55
my_type,async=true my_field=string_value<PHONE_NUMBER>495

---> END HTTP (55-byte body)
<--- HTTP 204 http://<IP_ADDRESS>:8086/write?u=root&p=root&db=ticket39_1435158439935&rp=default&precision=ms&consistency=all (1016ms)
Content-Encoding: gzip
Request-Id: b39700b5-1a82-11e5-94f9-000000000000
X-Influxdb-Version: FIXME
Date: Wed, 24 Jun 2015 15:07:17 GMT
OkHttp-Selected-Protocol: http/1.1
OkHttp-Sent-Millis:<PHONE_NUMBER>510
OkHttp-Received-Millis:<PHONE_NUMBER>523

<--- END HTTP (0-byte body)

And console log from influxdb server showing the issue
show databases
name: databases
---------------
name
test1
ticket39_1435158367500
ticket39_1435158439935

> use ticket39_1435158439935
Using database ticket39_1435158439935
> show measurements
name: measurements
------------------
name
my_type

> select * from my_type
name: my_type
tags: async=true
time				my_field
----				--------
2015-06-24T15:07:20.495Z	false

>

As you can see, the server response is OK, but the value has been converted to boolean. The error I mentioned earlier is visible in the "influxd" server console log, referring to the shell where i start the "influxd" on the host running it.
The database server version should be the latest (think I installed it yesterday from brew). It is running on OSX 10.10.3. When I run influx -version I get the info below.
influx -version
InfluxDB shell 0.9.0

Ok i see,
but influxdb-java writes the right content in the lineprotocol, so this seems to be a problem with influxdb itself. I still does not know how exactly tags,fields and their values have to be escaped. Would you please raise a ticket with this example , in curl, to the influxdb directly ?
thanks
Stefan

OK, I will do that.
If you look at my curl examples from above, you can also see that if the POST data was
my_type,async=true my_field="string_value"<PHONE_NUMBER>495

and not
my_type,async=true my_field=string_value<PHONE_NUMBER>495

that might fix it. At least with curl it worked that way. But I have no idea what is the correct intended way to escape data types so I will post a question in their issue tracker..

fine,
im also not sure if it is correct to surround string values with quotes, so i wait for their explanation.

There was an issue already for the same behaviour in the db console. I put my comment there https://github.com/influxdb/influxdb/issues/3063

String field values should be surrounded by double-quotes and any double-quotes in the string need to be escaped with \".
See https://github.com/influxdb/influxdb/blob/master/tsdb/README.md

I close this issue again, if this happens again please reopen.

Hi mukatee,
We are using the same version of influxdb 0.9, and I encountred the same issue. All strings values are converted to boolean.
Can we have please the link for the ticket ?
Thanks

@hMechkouri is this the ticket you mean? https://github.com/influxdata/influxdb/issues/3063

Hi,
I think Andrew already linked the ticket if you were referring to the one on InfluxDB itself (also should be visible in above comments). Anyway, I think it is also handled better by the driver now..
T


Investigate Theming Anaconda GTK Installer

It is possible to theme the GTK installer for Anaconda. We should make a theme for both Bazzite and Bluefin.

Documentation for Lorax around theming: https://weldr.io/lorax/lorax.html#branding

This is not worth the effort. Will do it once the Web UI lands as GA


Suggested change to source maps documentation

Do you want to request a feature or report a bug?
bug - Documentation change
What is the current behavior?
https://github.com/getsentry/raven-js/blame/49db400258790d173d789b3da631c1066c2118c3/docs/sourcemaps.rst#L215
Suggests that it is possible to call Raven.config with the options as the first argument when the the first argument is the dsn.
What is the expected behavior?
It should include some kind of dsn place holder to avoid confusion with how it is used.
Perhaps I am reading it wrong but the typescript types & the code make it seem like this might a mistake and mildly confusing.

And this line should have a backslash at the end of it, I think:
https://github.com/getsentry/raven-js/blame/master/docs/sourcemaps.rst#L169

Fixed .config call docs. Thanks!


Refactor account storage inspection

Refactor account storage inspection to start using Cadence script to iterate over account storage and return the data https://developers.flow.com/cadence/language/accounts
Although we should discuss whether we should keep the implementation for private storage since that isn't exposed with Cadence Account methods.

private storage ?

That would be good. I'm a bit on the fence with this since if it's natively now supported using Cadence script does it make sense to have an API for it on the emulator, but at the same time I can see the advantage of having this kind of APIs available for ease of development, so inspection API in a sense. What is your opinion @bluesign?

Both has some cons and pros; in ideal world, fvm would expose this.
Basically using cadence and fvm internals, causing juggling, on the other hand; if later we want to modify storage etc for example, current code will be required. It is a hard call to make. I say if we will just expose storage, let's convert to script; if we have other features planned, we keep it like this

I'm all up for using the script. The thing I wonder more is, should we even have any kind of API for this. I feel it's good idea for now to keep it since developers will have an easy way to use it to check storage, but I want to soon have some kind of utilities supported in SDKs that will allow this kind of actions easily.

This also depends on future plans, I think if we will not have any editing ability, it is obsolete now to have API for storage. Burden to maintain is really high. Also I am not sure if there is any user of this API.

I know currently flowser team is using the API for storage.
Are you proposing completely removing the API? or just switching API to use a script call internally?

Yeah, no worries I can help with the script.
I agree it might be good to just remove this to not over bloat the codebase.

should I make a PR to remove this API ? or we hold for sometime ?

should I make a PR to remove this API ? or we hold for sometime ?

Let's mark it as deprecated first, but it would be good to share a link to a document showing how you can iterate over storage which is currently missing on our docs :/

that's a great idea, I think cadence has some documents on this, but nothing to run easily.

Yeah that's more as a spec. Let me talk with the team.

@sideninja I think we can keep this I guess, when building debugger ( #294 ) I figured out there when showing storage it is pretty useful.

I think keeping storage accessible will be useful for sure in the future, I can think of many interesting features, but I would say we should remove the API

ah yeah, I mentioned about keeping code, API we can retire for sure.


Rule for single quote

Motivation
I am not sure if you can do it with a workaround plugin, but it isn't a rule natively in the plugin as far as I know
Description
When I write class = "..." to throw an error to change to single quotes
Examples
---
---

{/* ✓ GOOD */}

{/* ✗ BAD */}

Additional comments
thats all

Hi @erupturatis.
I think you can use jsx-quotes rule.
https://eslint.org/docs/latest/rules/jsx-quotes
---
/* eslint jsx-quotes: ['error', 'prefer-single'] */
---

{/* ✓ GOOD */}

{/* ✗ BAD */}

DEMO

Thank you


properly determine go versions

This extracts the unique pkg/pillar/scripts/getversion.sh and replaces it with tools/goversion.sh, which calculates the actual version for a go package using the go semver + pseudo-version rules. Unfortunately, no standard go tool does this for you.
getversion.sh was being used only to set -X main.Version=<version> for pillar. That version was interesting, and didn't actually confirm to go rules.
This now uses the standard version at a higher level, and then includes it in the 3 go binaries we build: edge-view, newlog, pillar.
The process is as follows:

In Makefile, have every eve-<pkg> target depend upon pkg/%/gopkgversion
In Makefile, the pkg/%/gopkgversion generates the version from goversion.sh and saves it in the package in pkg/%/gopkgversion
*gopkgversion has been added to .gitignore
In the Dockerfiles and/or Makefiles that build binaries, the ldflag -X main.Version=<version> has been updated to source from that file.

The gopkgversion non-tracked file allows us to build in subdirs like pkg/pillar/ or pkg/newlog/ without requiring the entire .git directory in the context.

I am happy to get a PR in for that.
We also were thinking of doing that for kernel builds, so we can avoid some of the complex templating we do. I will try top get to a PR on that too.


typo: specifiying -> specifying

Docs Build status updates of commit 95e895b:
:clock10: Full build: the average full build time is 22 min(s) 26 sec(s), this is based on the last 166 build(s) for this repository.

Docs Build status updates of commit 95e895b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-conceptual/azps-2.4.0/release-notes-azureps.md
:white_check_mark:Succeeded
View (azps-2.4.0)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Improve LoadError on missing thread_safe gem

I see that the dependency on thread_safe was removed in 64f8171601753049d8b3c3b1524db58165c68d0e. It seems to there should be better error handling in the memory adapter now to make this dependency clearer.
Right now, if you try to use the memory adapter without thread_safe, this error is raised:
/[…]/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': \
cannot load such file -- thread_safe (LoadError)

With this patch applied, it looks like this:
/[…]/lib/rom/memory/storage.rb:4:in `rescue in <top (required)>': \
Please install the `thread_safe` gem. (LoadError)

I like it! :+1:

@tylerhunt Thank you! :)


Improve logging integration

Right now SLF4J is being used, which is what I think I'll keep it using. However, I had to add an ugly logger abstraction to deal with serializing messages to logs for errors. There's likely a much better way to deal this, possibly even through SLF4J itself.
Update 10/01/2019
This can likely be improved further by setting up the logging context (currently in Slf4jMdcMessageScope, slated to be removed) in the subscription and through revisions to the existing logging abstraction.

It doesn't look like there's a way to handle custom serialization through SLF4J (maybe possible through various integrations) for log parameters. I'm going to close this ticket, as I've come up with a better solution for handling this. Logging integration could be a topic for improvement later on.


Using the expression (true) in a details report column displays nothing

The column header shows "Yes", but nothing in the rows.

Fixed.


*: added context free mode

The --modify=path/to/app.aci flag has been added, and when provided acbuild will transparently wrap the call in begin and end, with the work context being set to a temp directory for the invocation.
As an example:
wget https://aci.gonyeo.com/nginx-latest-linux-amd64.aci
acbuild --modify=nginx-linux-latest-amd64.aci annotation add author "Derek Gonyeo"

(note this example won't work at the time of writing due to bug with acbuild's UnTar function)

Addresses https://github.com/appc/acbuild/issues/19

lgtm


WIP: Tidy up container teardown code

...to reduce likelihood of docker-java error logs for removed containers. Should help with #342

I'll close for now, pending finding a better way...


Performance regression when selecting

Hello,
I just noticed a performance drop in 0.10 after a conda update xarray
import numpy as np
import pandas as pd
import xarray as xr

np.random.seed(1234)
ds = xr.Dataset({k: pd.DataFrame(np.random.randn(2500, 2000)) for k in range(20)})
mask = (np.random.randn(2000) > -0.2).astype(bool)

%timeit ds.sel(dim_0=slice(50, 1250), dim_1=mask)
%timeit ds[0].sel(dim_0=slice(50, 1250), dim_1=mask)

# xarray 0.9.6 -> 120 ± 0.4 ms, 4.2 ± 0.02 ms
# xarray 0.10 -> 190 ± 0.4 ms, 6.8 ± 0.03 ms

This was run in a docker image. Strangely I can't reproduce it natively on macos (performance is the same as in 0.10 in docker for both versions). On a window box, with similar but "real" netcdf dataset performance is halved.

I also notice a  roughly 50% slow-down for this indexing behavior in 0.10 relative to 0.9.6 on my laptop. For the smaller loop:
# xarray 0.9.6 -> 7.79 ms ± 145 µs
# xarray 0.10 -> 11.6 ms ± 102 µs

The difference appears to be that in 0.9.6, we index a numpy array with two integer numpy arrays, whereas in 0.10 we do indexing with a slice object and a numpy array. In general, we would expect using the slice to be faster, but for whatever reason, using the slice is slower here. Here is the same behavior illustrated with just NumPy:
In [7]: x = np.random.randn(2500, 2000)

In [8]: y = (np.random.randn(2000) > -0.2).astype(bool)

In [12]: %timeit x[50:1250, np.flatnonzero(y)]
10.6 ms ± 73.3 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

In [13]: %timeit x[np.arange(50, 1250)[:, np.newaxis], np.flatnonzero(y)[np.newaxis, :]]
7.17 ms ± 42.5 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

So potentially it's worth trying to get this optimization upstream into NumPy.
We could potentially switch the internal implementation of xarray back, but I'm not sure it would be a clear win. For example, we see an opposite change in performance for indexing on the transposed arrays:
# xarray 0.9.6
In [3]: %timeit ds[0].T.sel(dim_0=slice(50, 1250), dim_1=mask)
16.1 ms ± 600 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)

# xarray 0.10
In [3]: %timeit ds[0].T.sel(dim_0=slice(50, 1250), dim_1=mask)
12.3 ms ± 459 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)


mv: 'mv source hardlink' should fail

fixes: tests/mv/force.sh

Congrats! The gnu test tests/mv/force is no longer failing!
Congrats! The gnu test tests/mv/i-4 is no longer failing!
Congrats! The gnu test tests/mv/symlink-onto-hardlink is no longer failing!

Oh, it is unexpected :)

I don't know if you have seen it, but the new tests in test_mv.rs fail on Android.


A few minor clippy optimizations

Use let-else in a few places
make match explicit to avoid accidentally missing new variants when they are added later
Default::default is not recommended as it is harder to read
Avoid if !... by inverting it for readability

Thanks, but some of these are quite subjective.

@hecrj could you tell which are ok and which I bad? I can adjust the PR if you want

No worries! I can fix them myself. I'll also make sure to enable the proper lints on CI. Thanks again! :bow:


feat(es/base): Make scope context same to the declared variable

Description:
Mark scope with the same Mark as the declared variables inside them.
This PR may cause performance regression in non compress use cases, but the effect should be negligible.
BREAKING CHANGE:

Related issue (if exists):

And, as a side note, the whole Mark thing is not necessary for SWC. rustc uses Mark to mark which macro code come from, and in SWC Mark is used in two cases: variable shadowing as showed in this PR, and provide some additional information as in mark pure in compress. If the latter usage can be eliminated, we could use a single AtomicUSize to provide for all SyntaxContext.

I'm unsure if it's fine to simplify' SyntaxContext' to single atomic usize at the moment.

No worry, even if it is, I currently don't have the capacity to apply such huge change.


Touch Support doesn't appear to be working

I have scripted using app-script, but this is my first attempt to really create a full blown app.  So it is very possible that it is user error.
I got your code running on a touch-screen chromebook (using Chrome Dev Editor), and it launches and runs fine with a mouse.  But when I use the touch-screen to draw it doesn't work.  I am only able to click the other elements like color, and size, but drawing doesn't work with touch, only the mouse.

Can you put add "console.log("test")" in the press and drag functions and check the console to see if those functions are firing when you use the touch screen?

I will try it on Monday when I am back at work.  Thank you for the quick
reply.
On Apr 8, 2016 4:34 PM, "William Malone"<EMAIL_ADDRESS>wrote:

Can you put add "console.log("test")" in the press and drag functions and
check the console to see if those functions are firing when you use the
touch screen?
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/williammalone/Simple-HTML5-Drawing-App/issues/8#issuecomment-207592458

The console log, shows the same functions running when I use touch or if I
use the mouse.  I am on a touch chromebook if it makes a difference.
I tested a console log with each of the functions associated with the
listeners listed below, and they behave exactly the same as if I was using
the mouse.  Problem is that it is not drawing the lins when I use touch.
canvas.addEventListener("touchstart", press, false);
canvas.addEventListener("touchmove", drag, false);
// canvas.addEventListener("touchend", release, false);
canvas.addEventListener("touchend", release);
canvas.addEventListener("touchcancel", cancel, false);
Bjorn Behrendt M.Ed ~ Never Stop Learning

<EMAIL_ADDRESS><EMAIL_ADDRESS>| **Blog: *Edlisten.com
http://edlisten.com/

On Fri, Apr 8, 2016 at 4:34 PM, William Malone<EMAIL_ADDRESS>wrote:

Can you put add "console.log("test")" in the press and drag functions and
check the console to see if those functions are firing when you use the
touch screen?
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/williammalone/Simple-HTML5-Drawing-App/issues/8#issuecomment-207592458

I did notice that if I just tap the screen, (touch and release without
drag), a round dot does appear.
Bjorn Behrendt M.Ed ~ Never Stop Learning

<EMAIL_ADDRESS><EMAIL_ADDRESS>| **Blog: *Edlisten.com
http://edlisten.com/

On Sat, Apr 9, 2016 at 10:58 PM, Bjorn Behrendt<EMAIL_ADDRESS>wrote:

The console log, shows the same functions running when I use touch or if I
use the mouse.  I am on a touch chromebook if it makes a difference.
I tested a console log with each of the functions associated with the
listeners listed below, and they behave exactly the same as if I was using
the mouse.  Problem is that it is not drawing the lins when I use touch.
canvas.addEventListener("touchstart", press, false);
canvas.addEventListener("touchmove", drag, false);
// canvas.addEventListener("touchend", release, false);
canvas.addEventListener("touchend", release);
canvas.addEventListener("touchcancel", cancel, false);
Bjorn Behrendt M.Ed ~ Never Stop Learning

<EMAIL_ADDRESS><EMAIL_ADDRESS>| **Blog: *Edlisten.com
http://edlisten.com/

On Fri, Apr 8, 2016 at 4:34 PM, William Malone<EMAIL_ADDRESS>wrote:

Can you put add "console.log("test")" in the press and drag functions
and check the console to see if those functions are firing when you use the
touch screen?
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/williammalone/Simple-HTML5-Drawing-App/issues/8#issuecomment-207592458

Try changing these lines in the press function:
mouseX = e.pageX - this.offsetLeft,
mouseY = e.pageY - this.offsetTop;

to this:
mouseX = (e.changedTouches ? e.changedTouches[0].pageX : e.pageX) - this.offsetLeft;
mouseY = (e.changedTouches ? e.changedTouches[0].pageY : e.pageY) - this.offsetTop;

and change the drag function to this:
drag = function (e) {
    var mouseX = (e.changedTouches ? e.changedTouches[0].pageX : e.pageX) - this.offsetLeft,
        mouseY = (e.changedTouches ? e.changedTouches[0].pageY : e.pageY) - this.offsetTop;

    if (paint) {
        addClick(mouseX, mouseY, true);
        redraw();
    }
    // Prevent the whole page from dragging if on mobile
    e.preventDefault();
},

Let me know if that fixes it.

That worked, but I did have to change the ; to a , on mouseX on the press
function.
Error:
mouseX = (e.changedTouches ? e.changedTouches[0].pageX : e.pageX) -
this.offsetLeft; (change ; to ,)
Works:
mouseX = (e.changedTouches ? e.changedTouches[0].pageX : e.pageX) -
this.offsetLeft, (change ; to ,)
Bjorn Behrendt M.Ed ~ Never Stop Learning

<EMAIL_ADDRESS><EMAIL_ADDRESS>| **Blog: *Edlisten.com
http://edlisten.com/

On Sat, Apr 9, 2016 at 11:35 PM, William Malone<EMAIL_ADDRESS>wrote:

Try changing these lines in the press function:
mouseX = e.pageX - this.offsetLeft,
mouseY = e.pageY - this.offsetTop;
to this:
mouseX = (e.changedTouches ? e.changedTouches[0].pageX : e.pageX) - this.offsetLeft;
mouseY = (e.changedTouches ? e.changedTouches[0].pageY : e.pageY) - this.offsetTop;
and change the drag function to this:
drag = function (e) {
var mouseX = (e.changedTouches ? e.changedTouches[0].pageX : e.pageX) - this.offsetLeft,
mouseY = (e.changedTouches ? e.changedTouches[0].pageY : e.pageY) - this.offsetTop;
if (paint) {
    addClick(mouseX, mouseY, true);
    redraw();
}
// Prevent the whole page from dragging if on mobile
e.preventDefault();

},
Let me know if that fixes it.
—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/williammalone/Simple-HTML5-Drawing-App/issues/8#issuecomment-207910973

Thanks for pointing out that typo! I have updated the code the to include the fix.


version 3.0.0

breaking changes:

positive - a sign of number - is no longer mutable

features:

methods no longer accept integers as reference, only by value - it might have caused issues
division now accept by const reference - possible performance improvement
added helper function is_zero - it is faster than bigint == 0
added noexcept and nodiscard where needed
general performance improvement

tooling:

more strict clang-tidy and compilers

Codecov Report

Merging #33 (b9aa29b) into master (418fbd6) will increase coverage by 0.90%.
The diff coverage is 98.03%.

@@            Coverage Diff             @@
##           master      #33      +/-   ##
==========================================
+ Coverage   97.52%   98.43%   +0.90%
==========================================
  Files           3        3
  Lines         606      638      +32
==========================================
+ Hits          591      628      +37
+ Misses         15       10       -5

Impacted Files
Coverage Δ

include/bigint.h
100.00% <ø> (ø)

src/bigint.cpp
98.27% <97.72%> (+1.10%)
:arrow_up:

include/smallvector.h
99.09% <100.00%> (+0.04%)
:arrow_up:

Continue to review full report at Codecov.

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

Codecov Report

Merging #33 (b9aa29b) into master (418fbd6) will increase coverage by 0.90%.
The diff coverage is 98.03%.

@@            Coverage Diff             @@
##           master      #33      +/-   ##
==========================================
+ Coverage   97.52%   98.43%   +0.90%
==========================================
  Files           3        3
  Lines         606      638      +32
==========================================
+ Hits          591      628      +37
+ Misses         15       10       -5

Impacted Files
Coverage Δ

include/bigint.h
100.00% <ø> (ø)

src/bigint.cpp
98.27% <97.72%> (+1.10%)
:arrow_up:

include/smallvector.h
99.09% <100.00%> (+0.04%)
:arrow_up:

Continue to review full report at Codecov.

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


Swagger Options

We may add SwaggerOptions, this may include:

Route Template
Ability to change icon
Ability to change style

last two will optional to implement

It could be great to add oauth2 support too. Swagger should be able to get an access_token from an open id server and then use it to access apis.

I'm planning to work on OpenId module, in case you want to add a new feature, you 're welcome to submit a PR

I've implemented OpenId authorization for SwaggerUI here, but there's a bit of an issue
https://github.com/EasyOC/EasyOC.Modules/tree/main/src/Modules/EasyOC.SwaggerUI
Because the OpenId module needs to configure the authorization address, the relative path was supported in the OpenId client recipe in the earlier version, but it was not supported after the subsequent update. I had to change it to http://localhost/xxxx and then the user manually updated the OpenId client configuration


lanescrolling end cant see last card

When using onLaneScroll at the end im returning a promise.resolve when next is null in my bd but this wont let me get to the last card because the scroll is moved up everytime i get to the last card....
How i am suppose to let the lanescroll function to not go up and this is the last time im going to need to execute onlanescroll since it always expect a promise to be returned....
so far the solution im using is returning a timeout promise with endless time

I have the same issue as you. I decided to modify Lane.js as the following screenshot, and it works as I expected. The changed is made at line 77.


Cannot F2 rename unstaged files

Issue Type: Bug
When in Git Repository Viewing local unstaged changes, I'm not able to change the name of the file (by pressing F2) as when I can when viewing the files in the files view
VS Code version: Code 1.68.1 (30d9c6cd9483b2cc586687151bcbcd635f373630, 2022-06-14T12:48:58.283Z)
OS version: Windows_NT x64 10.0.19044
Restricted Mode: No

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


ipyfilechooser + ipython_blocking blocks forever

Environment data

VS Code version:Version: 1.53.0 (user setup)
Commit: 8490d3dde47c57ba65ec40dd192d014fd2113496
Date: 2021-02-03T20:36:38.611Z
Electron: 11.2.1
Chrome: 87.0.4280.141
Node.js: 12.18.3
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19041

Jupyter Extension version: v2020.12.414227025
Python Extension version: v2021.1.502429796
OS (Windows | Mac | Linux distro) and version: XXX
Python and/or Anaconda version: 3.8.5
Type of virtual environment used: conda
Jupyter server running: Local

Expected behaviour

Open Jupyter mybinder from https://github.com/bryceschober/ipyfilechooser_blocking_example
Choose restart and run all cells
Expect execution of later cells to block until a file is selected in the ipyfilechooser widget and the "Select" button is clicked.

Actual behaviour
blocking execution forever
Steps to reproduce:

Check out github project
conda create -f environment.yml -n just-testing
Open blocking_file_chooser_example.ipynb in VS Code
Run all cells
Blocks forever, including after selecting file in widget

Logs
I cleared the logs before running, and got nothing in the output except the execution line

Thanks for the bug. I believe this is the same issue as this one (or same root cause anyway).
https://github.com/microsoft/vscode-jupyter/issues/4525


options.controls as object

Allow options.controls to be an object:
new NDJPlayer("/video/demo-640.ndjson", "#video", {
    ...
   controls : {
        play : false
   }
}

replaced by #13


projectile-recentf broken

The projectile-recentf function is currently broken for doom. I tracked this down to the fact that all the filenames are formatted in abbreviated style (eg. '~/project/file.txt'), while projectile looks for the full project path in the recentf list to filter project specific recent files.
I've fixed the problem in my fork, by redefining the projectile-recentf-files to use the abbreviated project root:
https://github.com/gilbertw1/bmacs/commit/3a587fa7e63f6ba55e1ef4ac1321abed5b40faa0
I opted to keep the filename formatting, because I prefer the look of the abbreviated file names.
I didn't create a pull request for this because I don't know how great of a solution it is :)

I stumbled across this issue myself recently. Thanks for debugging it!
I opted to fix it with advice instead; it's a tad easier to debug should any issues arise from it later.

Ah, abbreviate the project root via advice, much cleaner! I still have much to learn :)

Hey, it looks like projectile-recentf is broken again after 9ed322ded60e2f015098c1c8b410493db7855987. It currently shows no files every time it's invoked.
I've verified this on my personal configuration and against the vanilla develop branch. Reverting the change fixes the problem. Thanks!

What I used to do was I transformed all recentf entries with abbreviate-file-name, which was a bit hacky, and is was what prompted that projectile fix I removed in https://github.com/hlissner/doom-emacs/commit/9ed322ded60e2f015098c1c8b410493db7855987.
I undid this, and instead used an ivy transformer to abbreviate the file paths.
However, that means your old recentf file list is tainted. You can correct it by running:
(setq recentf-list (mapcar #'expand-file-name recentf-list))
(recentf-save-list)

Alternatively, you can delete the file at recentf-save-file and start fresh.

Hey, thanks for the quick response!
That makes total sense, however I'm running into an issue fixing this problem. If I run the command you provided, then projectile-recentf works correctly for the duration of the session. However, if I restart emacs projectile-recentf is empty again. Additionally, if I delete the cached recentf file, it still does not work properly, it only populates correctly if I run the snippet you provided above.
I've deleted the entire .local dir inside of a clean checkout of the develop branch and it produces the exact same behavior as mine. In the recentf cache file all the paths are absolute, I'm wondering if maybe they are being truncated when they're loaded?
Thanks!

Hmmm.....looks like it's still modifying the recent-list:
https://github.com/hlissner/doom-emacs/blob/develop/core/core-editor.el#L158
Removing that line makes things work nicely.

Ah! I was so certain I'd already deleted that line! My bad. Just got rid of it.

Awesome! :+1:


Refactor When Expressions Validation

Changes

In this change, we refactor the validation for when expressions
to remove duplications, including:

moving the validation that "only one of conditions or when
expressions is used" to a member function of pipelinetask
simplifying the overall when expressions validation function to
handle one list of pipelinetasks, then reusing it for both tasks
and finally fields

cc @pritidesai
/kind cleanup
Submitter Checklist
As the author of this PR, please check off the items in this checklist:

[n/a] Docs included if any changes are user facing
[x] Tests included if any functionality added or changed
[x] Follows the commit message standard
[x] Meets the Tekton contributor standards (including functionality, content, code)
[x] Release notes block below has been filled in or deleted (only if no user facing changes)

Release Notes

NONE

error creating e2e tests cluster 😕
/test pull-tekton-pipeline-alpha-integration-tests

/test pull-tekton-pipeline-alpha-integration-tests


MetaAimHand devices are not removed

After following the instructions and using the HandsDemoScene I end up accumulating MetaAimHand devices. This is using the "Leap XRHands Subsystem".
Upon clicking play, 4 devices are added (two left and two right hand).
At any one time only two (one left and one right) are providing real input. However, this causes a conflict as the ActionBasedController assigned does not read from the correct one (resulting in an invalid position/rotation). Manually right clicking on all the invalid ones at runtime and removing them resolves the issue.
Upon exiting play mode, only two of the devices are removed, hence the accumulation over time.

Thanks! What's the release cadence for patches like these?

We haven't actually got a regular release cadence, but currently the next release is penciled in for the end of June
I may be able to push it sooner, but it's a little harder to wrangle QA's time for a release! - it may be best for you to grab the changes manually if it's urgent :)

All good - it was causing some issues with Unity 2022 but I've switched over to Unity 6 preview and the changes to the input system seem to mean the additional devices can be ignored for now 👍
Thanks again.


change RecordingConsumerTest to reduce flakiness chance

The previous version of the test had a race in it, and perhaps also a
too short timeout for running on Travis-

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@2e0e06b). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master       #9   +/-   ##
=========================================
  Coverage          ?   73.69%
  Complexity        ?      197
=========================================
  Files             ?       60
  Lines             ?     1205
  Branches          ?       61
=========================================
  Hits              ?      888
  Misses            ?      303
  Partials          ?       14

Continue to review full report at Codecov.

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


Support slash commands for adding users to the list?

This bot seems very useful, but the lack of slash commands is a bit of a dealbreaker. It'd also be cool if you could have it add anyone with a certain role or make it not restricted to admins.

I'd welcome a PR for slash commands, I don't think I can justifying spending the time to develop them myself -- The difference between slash commands and @ commands is minor enough to not really matter as a difference to me personally.
This first ever issue in the repo here has reminded me to add a project-status entry on the readme https://github.com/mcmonkeyprojects/DiscordAutoThreadBot/commit/676ecd6edc4e48d24f1192ff47f358f8b6a6ee29
if you could have it add anyone with a certain role The original methods threadbot used to add users had issues with this type of control that wouldn't work, however the current method does! See details here https://github.com/mcmonkeyprojects/DiscordAutoThreadBot/commit/0d0208956e5e2fed89ecd6393a435e9b37f23e5e including the new command to make use of it.
or make it not restricted to admins. eh, sure, why not, added @ThreadBot adminrole (id) to mark a role of your choice as having access to bot-admin commands.


[8.x] Throw deprecation errors in CI

This PR enables the CI environment to also throw errors for deprecations. By doing this we both ensure we're on top of changes as soon as possible and make sure that the test suite can also be run in different environments (for example, locally) when deprecation throwing is enabled in PHP.
As soon as this is merged and 8.x is merged into master I'll also fix the tests on master.

Noice. 🚀


Removing NotFoundErrors from API

What does this pull request do? Explain your changes. (required)
We have a pattern of returning NotFoundError when an item isn't found in the database. As a result, the following is repeated often:
if (e.type !== 'NotFoundError') {
        throw e
}

Specific updates (required)
We should return null from req.store.get instead of NotFoundError.
Does this pull request close any open issues?
https://github.com/livepeer/livepeerjs/issues/525
Checklist:

[ ] I have read the CONTRIBUTING document.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.

Thanks for the comments Eli! Working on extra logic for Cloudflare and LevelDB's update and delete methods now


DSD-572 & DSD-573: CheckboxGroup and RadioGroup element width update

Fixes JIRA tickets DSD-572 and DSD-573.
This PR does the following:

The main update is to update the width of the form input elements in the CheckboxGroup and RadioGroup components to "fit-width".

This updates the width of individual checkbox or radio elements to their content area rather than their parent's width.

Removes "custom" from the name in the JS theme object files for these two components.
Both these components share a lot and we can refactor them in the future but I made a minor attempt at doing so.

How has this been tested?
Storybook.
Checklist:

[ ] I have updated the Storybook documentation accordingly.
[ ] All new and existing tests passed.

Front End Review:

[ ] View the example in Storybook

Tugboat has finished building the preview for this pull request!
Link:

https://pr760-jq0yw2kcxurl6qe8avuk7pxbbj3rmvfq.tugboat.qa

Dashboard:

https://dashboard.tugboat.qa/618a9cbade49702c21db841c


[tbui] longLoadSpinner should not show progress bar; longLoadNonPersistent should not show the spinner big text.

That's it.

In the first case, having both is redundant.  In the second, the large box is intrusive (IE: loading mod mail).

I don't agree

to be a bit more complete,  the little window alone I don't think is enough and I personally do enjoy random feedback on modmail load.

No it's not.  They mean completely different things.  Which is why they are different functions in the first place.

They are not completely different... they are based on the same thing and are both intended to attend the user to the fact that toolbox is still doing stuff. The difference is that one will not prevent the user from moving away from the page.
Just to be clear, I rather keep the blue bar at the bottom in both, I'd be willing to consider removing the new random feedback from the non persistent version.

As per discussion on irc https://github.com/creesch/reddit-moderator-toolbox/commit/0674bccf7f75affb2a76bea20de02e1e8b72ec89


feat: Support providing a locale in i18n.ts instead of reading it from the pathname

Resolves #960
Prerelease
npm install<EMAIL_ADDRESS>
Changes
The gist is instead of reading the locale from the argument that's passed to getRequestConfig in i18n.ts you can now return a locale from the function:
// i18n.ts
import {getRequestConfig} from 'next-intl/server';

export default getRequestConfig(async () => {
  // This can either be defined statically if only a single locale
  // is supported, or alternatively read from the user settings.
  const locale = 'en';

  return {
    locale,
    messages: (await import(`../messages/${locale}.json`)).default
  };
});

This simplified setup comes with some benefits:

No [locale] segment needs to be added
No middleware needs to be configured
The navigation APIs from next-intl don't need to be used
Static rendering works without tradeoffs

Example implementation
TODO

[ ] Can navigation APIs still be used? If not, can we provide error-handling? Test how the app behaves if this is used.
[ ] Docs

[ ] localePrefix: 'never' still has a place if localized pathnames are used
[ ] Getting started: Using next-intl with or without a routing integration
[ ] Other docs improvements for getting started:

[ ] Suggest to add NextIntlClientProvider (client components should be less scary)
[ ] Maybe mention async components (see https://github.com/amannn/next-intl/issues/1023, however the latest React ESLint Hooks plugin should make this easier to spot too)

Would be awesome ! Thx for your work

Static rendering works without tradeoffs

How is Static rendering supposed to work for more than one locale (most cases)?
If the value is derived from a runtime variable, such as userSession, then Dynamic Rendering will be opted for. If the value comes from predefined routes, such as ["en", "de"], then only one locale will be generated, which contradicts the concept of internationalization.

@AhmedBaset Yep, that's of course correct—thanks for the feedback! The statement only applies to using a single language, I've changed it accordingly above.

My main concern with this currently is that the locale is returned asynchronously.
Looking through all the options we support in i18n.ts, I think they can be grouped like this:

Definitely not async: formats, defaultTranslationValues, onError
Likely not async: now
Might be async: locale (if read from user profile), timeZone
Likely async: messages

So generally, it seems reasonable that we support an async config object.
However, this currently has the implication, that the locale can't be read synchronously during an RSC render. This is mostly not an issue, but the navigation APIs are affected by this. For Link it's no problem since we can make the component async, but for redirect this makes a difference.
I need to investigate if there's a way where we can call redirect before we know which locale we're redirecting to …
Note that as long as we advertise this feature as something to be used without routing APIs from next-intl, this would be fine. I do however have the hope that this could pave the path to a very customizable solution to https://github.com/amannn/next-intl/issues/653, in case the user could read parts of the pathname deeply in an RSC render (see https://github.com/vercel/next.js/discussions/58862). Let's see.


[Bug]: PDF (file size) created by puppeteer is increased after upgrading it to 12.0.0

Bug description
I have been using puppeteer 9.0.0 previously and the size of the PDF generated by an HTML was 3MB after up upgrading it to the new version or ^11.0.0 PDF generated by the same HTML is 16MB.
has anyone Idea about why this is happening.
I have also inspected both PDFs in itext_rups and I found that

Structure of PDF generated by puppeteer 10.2.0, (3MB)

Structure of PDF generated by puppeteer 12.0.0, (16MB)
both PDF structure is almost the same except the "/StructRootTree" is present in 16MB PDF and which is causing most of the extra storage
Is there any solution/flag so we can generate PDF in small size even new version of Puppeteer
Puppeteer version
12.0.0
Node.js version
16.15.1
npm version
8.12.1
What operating system are you seeing the problem on?
Windows
Relevant log output
No response

I would only give a suggestion as to the scope of the problem for you to describe in the issue title that the size is increased dramaticcally, not the PDF itself.

@pecampelo could you try with the latest version? Also note that Puppeteer does not generate the PDF on its own, it delivers what the browser produces. Newer versions of Puppeteer simply bundle a newer version of the browser. If the issue is confirmed in the latest browser, the bug should be filed via crbug.com for either the pdf print or headless teams.

Yes, issue exist in the latest version of puppeteer that is 18.

@yogeshhrathod do you also get the increased size if you print using the built-in print dialog in the headful browser?

Also, could you please provide a repro for filing a crbug.com issue?

@yogeshhrathod do you also get the increased size if you print using the built-in print dialog in the headful browser?

I have checked that PDF generated 15 MB PDF is generated.
Chrome version: 106.0.5249.119 (Official Build) (64-bit)

Skia in newer Chromium produces tagged PDFs which are much larger than non-tagged PDFs but I doubt it would produce a 5x size increase.

Thanks for the details, was not aware of that. Then I believe it's indeed not a bug as we would prefer generate compliant PDFs by default. I think the size can be optimized by other solutions if the size is critical for the use case. You should use ignoreDefaultArgs : ['--export-tagged-pdf'] if you want not tagged PDFs.


Invalid receiver type *List (List is an interface type)

I'm continuously running into this error:
# k8s.io/api/core/v1
../../../k8s.io/api/core/v1/generated.pb.go:513:6: invalid receiver type *List (List is an interface type)
../../../k8s.io/api/core/v1/generated.pb.go:514:6: invalid receiver type *List (List is an interface type)
../../../k8s.io/api/core/v1/generated.pb.go:515:6: invalid receiver type *List (List is an interface type)
../../../k8s.io/api/core/v1/generated.pb.go:4177:6: invalid receiver type *List (List is an interface type)
../../../k8s.io/api/core/v1/generated.pb.go:4187:6: invalid receiver type *List (List is an interface type)
../../../k8s.io/api/core/v1/generated.pb.go:11017:6: invalid receiver type *List (List is an interface type)
../../../k8s.io/api/core/v1/generated.pb.go:13991:6: invalid receiver type *List (List is an interface type)
../../../k8s.io/api/core/v1/generated.pb.go:26053:6: invalid receiver type *List (List is an interface type)
../../../k8s.io/api/core/v1/zz_generated.deepcopy.go:2678:6: invalid receiver type *List (List is an interface type)
../../../k8s.io/api/core/v1/zz_generated.deepcopy.go:2693:6: invalid receiver type *List (List is an interface type)
../../../k8s.io/api/core/v1/zz_generated.deepcopy.go:2693:6: too many errors

metav1.List is an interface, you can't have a *List. Why is this even a thing? What versions can I revert to to fix this?

This set of versions works for me:
`# Kubernetes client

package: k8s.io/client-go
version: v4.0.0
package: k8s.io/apimachinery
version: release-1.7
package: k8s.io/apiextensions-apiserver
version: release-1.7
package: k8s.io/api
version: 4b8fc5be9b77d91bbb6525d18591c43699a2b4e5
`

If you are using dep, you need to use an override like this:
[[override]]
  name="k8s.io/api"
  revision="4b8fc5be9b77d91bbb6525d18591c43699a2b4e5"
[[override]]
  name = "k8s.io/apimachinery"
  revision = "1fd2e63a9a370677308a42f24fd40c86438afddf"

For dep the following override is needed based on https://github.com/kubernetes/client-go/issues/298
[[override]]
  name = "github.com/ugorji/go"
  revision = "8c0409fcbb70099c748d71f714529204975f6c3f"

Hi folks, 4b8fc5be9b77d91bbb6525d18591c43699a2b4e5  compiles. But I need package "k8s.io/api/apps/v1beta2" (because I need to use the StatefulSet), which was added after this version. How do I find a suitable version?

@idealhack The way I have done it is to use the version of client-go you need (5.0.0 in this case) and then look at its Godeps to see what versions they are using there. That generally works for me

@thomastaylor312 Thank you! So a match (newer) version of client-go will do it. I’ve saw the maintainer released v5.0.0 10 hours ago.

I get following errors when i vendor in client-go, apimachinery and api of kubernetes-1.8.1 tag.
k8s.io/client-go/tools/clientcmd/overrides.go:122:3: invalid operation: flags (variable of type <company git>/<project>/vendor/github.com/spf13/pflag.FlagSet) has no field or method StringArrayVarP

/k8s.io/client-go/util/flowcontrol/throttle.go:59:2: Clock not declared by package ratelimit
```

```
k8s.io/client-go/util/flowcontrol/throttle.go:65:13: NewBucketWithRateAndClock not declared by package ratelimit
```

Any help would be appreciated.

client go uses spf13/pflag, our code does not use that. I dont see this spf13/pflag package in our Gopkg.toml file.

I had same issue. And I find this may depend on api and apimachinery version.

I will get the same issue.
Then I tried the following combination：
apimachinery: master && api: master
apimachinery: release-1.9 && api: master
apimachinery: release-1.8 && api: master
They are all can build successfully！
So, I suggest that try to use apimachinery version >= release-1.8 with api.


Derive Default for VerificationConfigV1

Related: https://github.com/kubewarden/policy-server/issues/220

Dropping this one.

But I would very much prefer for consumers to not be able to create empty VerificationConfigs with default(); Right now the algorithm will correctly fail verification in those cases, but to me it's an antipattern.

I'm working to make this PR unnecessary. I wonder though why an all_of: None, any_of: None is an antipattern as the default. I would expect anything being verified to pass (the opposite of what it does not) against None in both.
In any case, that is a different discussion on how the verifier should behave when all_of: None, any_of: None than the discussion of if it makes sense to implement a default on this type.

With the last update of the PR https://github.com/kubewarden/policy-server/pull/223 this is no longer necessary. Closing.


Add Subdomain Scanning Feature Using Wayback Machine

Title: Add Subdomain Scanning Feature Using Wayback Machine
Description:
This PR introduces a subdomain scanning feature that utilizes the Wayback Machine to accurately discover subdomains for the specified target.
Checklist:

[x] Code follows style guidelines
[x] New payloads or features added
[x] Bug fix or optimization implemented
[x] Necessary documentation updated
[x] Tests created (if applicable)
[x] No breaking changes

Issue Reference:
Linked Issue: #22 - Add Subdomain Scanning
Additional Notes:
This PR removes the requirement for the -u argument, making it optional.

I wanted to add this as a feature for now, as it could be helpful until the full subdomain scanning function is ready. 😅


ToDateTimeEvaluator errors when operand is already a DateTime instance

Not entirely sure why it's being called if operand is already a DateTime

diff --git a/cql-engine/src/main/java/org/opencds/cqf/cql/elm/execution/ToDateTimeEvaluator.java b/cql-engine/src/main/java/org/opencds/cqf/cql/elm/execution/ToDateTimeEvaluator.java
index c6d37d1e..e50b7c34 100644
--- a/cql-engine/src/main/java/org/opencds/cqf/cql/elm/execution/ToDateTimeEvaluator.java
+++ b/cql-engine/src/main/java/org/opencds/cqf/cql/elm/execution/ToDateTimeEvaluator.java
@@ -46,6 +46,12 @@ public class ToDateTimeEvaluator extends org.cqframework.cql.elm.execution.ToDat
return null;
}
}
+

   /*

    * need to handle the case where the operand is already a DateTime

    */

   if (operand instanceof DateTime)

          return operand;

   if (operand instanceof Date) {
       return new DateTime(TemporalHelper.getDefaultOffset(), ((Date) operand).getDate().getYear(), ((Date) operand).getDate().getMonthValue(), ((Date) operand).getDate().getDayOfMonth(), 0, 0, 0, 0);

ToDateTimeEvaluator_java_diff.txt

Yeah, that is odd... I will add a check for that. Thanks!
Could you provide the code snippet that brought this issue to light so I can add it to the test suite?

CQL that caused the error:
AgeInYearsAt (Enc.period.start.value)
Error message:
Cannot perform the ToDateTime operation with argument of type org.opencds.cqf.cql.runtime.DateTime

This is the change I made locally to get it to work:
diff --git a/cql-engine/src/main/java/org/opencds/cqf/cql/elm/execution/ToDateTimeEvaluator.java b/cql-engine/src/main/java/org/opencds/cqf/cql/elm/execution/ToDateTimeEvaluator.java
index c6d37d1e..e50b7c34 100644
--- a/cql-engine/src/main/java/org/opencds/cqf/cql/elm/execution/ToDateTimeEvaluator.java
+++ b/cql-engine/src/main/java/org/opencds/cqf/cql/elm/execution/ToDateTimeEvaluator.java
@@ -46,6 +46,12 @@ public class ToDateTimeEvaluator extends org.cqframework.cql.elm.execution.ToDat
                 return null;
             }
         }
+
+        /*
+         * need to handle the case where the operand is already a DateTime
+         */
+        if (operand instanceof DateTime)
+               return operand;

         if (operand instanceof Date) {
             return new DateTime(TemporalHelper.getDefaultOffset(), ((Date) operand).getDate().getYear(), ((Date) operand).getDate().getMonthValue(), ((Date) operand).getDate().getDayOfMonth(), 0, 0, 0, 0);

This is the same root cause as #174


Cronet ObjC Test Bazel Migration

Add bazel target support for CronetFramework  which currently only available as a podspec. This helps unblocks migration of a number of downstream Cocoapod-based tests & app targets that requires Cronet library

CronetTests
PerfTests

is this done?  https://github.com/grpc/grpc/pull/30439 has been merged.


Array.from should not touch Array.prototype setters (createDataPropertyOrThrow)

An edge case...
Object.defineProperty(Object.prototype, "0", {
  set: function () {
    throw new Error();
  },
  get: function () {
    return undefined;
  }
});

Array.from({length: 1}); // should not throw here

Ah... this was fixed in https://github.com/mathiasbynens/Array.from ... sorry

Hmm, there's no fix for this in https://github.com/mathiasbynens/Array.from or this repo at all?
However, according to https://tc39.github.io/ecma262/#sec-array.from step 12.b., it seems like it should indeed throw in this case.

What about step 12.e ?

Ah, you're correct that step 12e is what applies here - but the ? in the spec means if CreateDataPropertyOrThrow returns an abrupt completion, that the exception should be thrown.

OK

@ljharb The setter will not be touched with CreateDataPropertyOrThrow.

Good call, you're totally correct. Thanks for clarifying.


dart2js modular FE and analysis support

Meta issue to track tasks related to modular support in dart2js.
This includes:

[x] support generating dart2js kernel in kernel_worker used by bazel and build runner
[x] add support for running dart2js modular tests in the SDK
[x] add support in dart2js to load multiple .dill files and assemble the full program in memory
[ ] add support in dart2js to emit modular analysis data
[ ] enable constant-update-2018, so that dart2js can use the kernel-ir by default to represent constants.
[ ] add support to load modular analysis data files.

Not tracked here, but necessary:

starlark and build_runner hooks to invoke the dart2js compiler modularly.

@sigmundch - anything left that you want to land in D24 (here or in the other D24 bug)?

moved to a later milestone


Add a new flag: 'com.linecorp.armeria.verboseResponses'

Motivation:
Exposing the server-side stack trace in a response can be a security
concern depending on server configuration.
Modifications:

Add a new system property called com.linecorp.armeria.verboseResponses
so that a user can go back to the previous behavior.

Do not include stack traces in THttpService responses by default.

Include stack traces in GrpcService responses if the flag is set.

Miscellaneous:

Un-deprecate Exceptions.traceText() and make it always use \n as a line delimiter
Replace Throwables.getStackTraceAsString() and System.lineSeparator() with
Exceptions.traceText() and \n
Result:

A little bit more out-of-the-box security

gRPC response stack traces are sent if enabled.

Platform independent stack trace responses

@anuraaga Anything to change on gRPC side? I can make a fix here.

Thanks for reviewing :-)


Migrate WORKSPACE to MODULE

This PR aims to migrate bazel WORKSPACE into the new MODULE.
This is really important because it is planned to remove WORKSPACE
support on bazel version 9.
To do:

[x] Bump version
[ ] Update cache system (CI)
[x] Add MODULE
[x] Remove WORKSPACE

#354 will be better to continue.


Fix missing pool creation tx

Fixes #1209 .

Is there a case where datatoken address differs from one transaction to another?
From what I see it's the same, and we expect to get a different asset for each tx datatoken but instead we get only one:
https://github.com/oceanprotocol/market/blob/v4/src/components/%40shared/PoolTransactions/index.tsx#L183
So there is no ddoList[1], ddoList[2] and that's why networkId is set as undefined resulting transaction link to fail.

In that case it means getAssetsFromDtList is failing for some reason.

The filter it's working, the issue is that we are filtering by the the same id that's we are getting only 1 result.
But it's not directly related to this PR and saw that it was handled over #1210

So from what i can see this is working , i have pool create.

Is there an issue left regarding this?

No, all good from my side


[question] SetOutdoorTemp for Stelpro Thermostat?

Introduction
I have a bunch of Stelpro Ki thermostats that I installed few years ago when I was using SmartThings. Those thermostats were always working great.
The feature: display outdoor temperature
The have a feature to show outdoor temperature that works well with SmartThings the code for that is here.
The failure
I switched to Home Assistant (which is using OpenZWave) and I never found how to use this feature.
Specs
On SmartThings, it's using the sensorMultilevelV3.sensorMultilevelReport to send this information to the device.
spec sheet on z-wave alliance:
Outdoor Temperature

When connected to a Z-Wave network, the thermostat may display the outdoor temperature provided by an external sensor.
When available, the outdoor temperature is displayed instead of the set point, providing that the outdoor temperature display setting is set to on.
If no temperature is received within a 4 hours timeframe, the outdoor temperature will disappear and the set point will be displayed.
In order to display the outdoor temperature, an external sensor needs to be part of the Z-Wave network. It may be a physical sensor or a weather station app.
Refer to your Z-Wave hub controller instructions manual to find how to associate both devices. On some Z-Wave hub controllers, an app may be used to provide the outdoor temperature.

The hope
Is it possible to code something like this using zwavejs/zwavejs2mqtt ? I'm not afraid to code it (I did the exact same feature for the zigbee version of this thermostat on the Zigbee2Mqtt project).
I'll need some guidance...

@zwave-js-bot import config from ozw with device id 0x0239-0x0001-0x0001

@zwave-js-bot import config from ozw with device id 0x0239-0x0001-0x0001

@robertsLando what needs to happen here is to send a Multilevel Sensor Report to the device like @carldebilly wrote in the first post. It is already possible to do that in zwave-js, but you'll need to expose an API in zwavejs2mqtt for that.
Maybe it could be done similar to what I do in ioBroker.zwave2: https://github.com/AlCalzone/ioBroker.zwave2/blob/master/docs/en/sendCommand.md
Basically, you need to specify the node ID, Command Class Name, API method name and the API method args. Reference implementation (which takes the object from the example) here:
https://github.com/AlCalzone/ioBroker.zwave2/blob/d399cd1be91e8717b0508b0132f5f8dc57184c54/src/main.ts#L1286-L1377

@robertsLando what needs to happen here is to send a Multilevel Sensor Report to the device like @carldebilly wrote in the first post. It is already possible to do that in zwave-js, but you'll need to expose an API in zwavejs2mqtt for that.
Maybe it could be done similar to what I do in ioBroker.zwave2: https://github.com/AlCalzone/ioBroker.zwave2/blob/master/docs/en/sendCommand.md
Basically, you need to specify the node ID, Command Class Name, API method name and the API method args. Reference implementation (which takes the object from the example) here:
https://github.com/AlCalzone/ioBroker.zwave2/blob/d399cd1be91e8717b0508b0132f5f8dc57184c54/src/main.ts#L1286-L1377


Session doesn't time out and User session extension option also not available to user, Design issue.

Describe the bug
When user session times out , the pop up for extending the user session not available to user. And also session doesn't time out.
To Reproduce
Steps to reproduce the behavior:
Go to Design  (http://localhost:9992/cm/app/?view=design&pathType=unknown)
Leave the screen idle for the same duration which configured under  tag in Config.xml file.
Session doesn't time out and Pop up for extending session not available to user
Expected behavior
Session should time out after the screen is left idle for the interval specified  in Config.xml file gets over and a popup for extending session should appear.
Additional context
Navigate all the options available for similar issue and fix.

Duplicate issue. Similar issue is #832. So closing this.


[2040] Removed use_subject_specialisms feature flag and old tests

Context

This trello ticket

Changes proposed in this pull request

Removed the feature flag for the use_subject_specialisms

Guidance to review

Run the test suite and check on the review app for the new subject specialisms being user

 Remove the use_subject_specialism feature flag

 Remove the use_subject_specialism feature flag


Added a crmscript for setting interests for contact.

Also added some clarification to the interests.md for the minimal number of items needed for headings to show, or how you can define preferences for this in admin.

@ejfasting we have a simple CRMScript example for person interests (contact/howto/crmscript/get-interests.md) Might be useful to connect these pages. Also, consider expanding get-interests.md.

@digitaldiina good idea! I'll update with some additional things :)


CuDNN library

E tensorflow/stream_executor/cuda/cuda_dnn.cc:378] Loaded runtime CuDNN library: 7201 (compatibility version 7200) but source was compiled with 7004 (compatibility version 7000).  If using a binary install, upgrade your CuDNN library to match.  If building from sources, make sure the library loaded at runtime matches a compatible version specified during compile configuration.
How to solve
Thank you!

plus 1

plus 1


Oversight of Catalyst Circle problem sensing

A joint project with Catalyst Circle V3

https://github.com/Catalyst-Circle/Catalyst-Prioritized-Problems/issues/86

Created Miro Board: https://miro.com/app/board/uXjVO9jQA3w=/
Reviewed "Oversight of Catalyst Circle problem sensing" Document

Working Party Meetings
Meeting 1 - Monday, 11th April 2022,  1400 UTC

Allison Fromm
Joey Chessner
Nadia Hopkins
Stephen Whitenstall
Tevo Saks

Miro Board
https://miro.com/app/board/uXjVO9jQA3w=/
References
Background -  John Buck on the formation of CC V1
mvp-lists-of-prioritized-problems
Agenda
Problem Sensing

What is the process of identifying and selecting problems from the community ?
What is the criteria for a Prioritised Problem ?

Prioritised Problem Process

How does Problem sensing feed into the Prioritised Problem Process ?

Working group meeting #2
Tuesday 19th April 2022, 1200 UTC

Nadia Hopkins - CCv3 Community Advisor Rep
Allison Fromm - CCv2 General ADA Holders Rep
Tevo Saks - CCv2 Toolmakers Rep
Stephen Whitenstall - CCv2 Funded Proposer Rep

Working group meeting 3

Working Group Meeting 4

https://github.com/Catalyst-Auditing/Community-Governance-Oversight-Coordination/issues/76

Working Meeting 5

https://github.com/Catalyst-Auditing/Community-Governance-Oversight-Coordination/issues/82
[ ] Meeting still needs to documented

Status

[ ] Working Group Meetings 4 & 5 need to complete documentation
[ ] Conclusions to be drawn from miro board

added some conclusions here https://docs.google.com/document/d/1jkkgbmU_tEVM9CgmlW1MSWJTRnaZdFURU6f02TfptkU/edit#


creating secrets from kfDef during installation

secrets:
  - name: env_password
    secretSource:
      envSource:
        name: ENV_PASSWORD_NAME
  - name: plain_text_password
    secretSource:
      literalSource:
        value: 12345

Added the above part in kfDef and expected it to create two secrets in kubeflow namespace during installation. Is this how it works?
I posted the same question on slack and did not get any response, so posting it here.

/kind question
/priority p1
/area engprod

@SatwikBhandiwad Hey, I don't think that is how this works. I digged through the code and it seems like the Secrets are only used in plugins (e.g. gcp)

It is the Kustomize that handles resource generation like k8s secrets when using the CLI kfctl. And you can use the directive secretGenerator. For instance:
https://github.com/kubeflow/manifests/blob/a95c7d0a0eda0066c987df19b1b0ad00d4413101/metadata/overlays/db/kustomization.yaml#L13-L16
If you plan to externalize the actual secret text out of code, it could use environment variable files but only keep the environment variable names in it, so that you can pass the actual secret text via an environment variable when running kfctl apply.


add waitstone option to startstone

On tavis I've hit a string of bad luck where, the stone hasn't had a chance to start before logins start happening, so in self defense I had to add a waitstone for travis ... might as well include an option for users too, since it is worth having on loaded systems

Well, waitstone was not the issue on travis, but at least we've got a waitstone option now:)


Add instructions for building tools

There are three main tools, PdbToYet.jar, YetToInternal.jar, and YetToYes2.jar, of which at least the YetToYes2 source is in this repo. However, I can't work out how to build and run these tools from source. It would be nice for some general instructions to be included in the repo.

Those tools are non-Android Java programs. I can't find a way for Android Studio to build jars from the current repo of an Android project. If you switch to the branch before_android_studio, you will find there is an artifact configuration that you can build using IntelliJ.


Appended comment at EOL breaks CSS processing for that snippet

@media print {
*,
*::before,
*::after {
  background: transparent !important;
  color: #000 !important; /* Black prints faster: http://www.sanbeiji.com/archives/953 */
  box-shadow: none !important;
  text-shadow: none !important;
}

Comment causes line to be incorrectly processed. Discovered for while creating a layout style (global -- no scope), need to check if true in scoped also.

Fixed via https://github.com/buildbreakdo/style-it/commit/ff85ea42a287599f50b3e20838f871419ec8a2ef


Add myself to list of postgres users

Fixes issue with authentication error we were getting today:
FATAL:  no pg_hba.conf entry for host "::1", user "rtaylor", database "celldb", SSL off

Looks good. Merging.


CFFL

CFFL

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_bbd0upldej/clone/recipe/meta.yaml:18: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_bbd0upldej/clone/recipe/meta.yaml:23: missing_wheel: For pypi packages, wheel should be present in the host section
ERROR: /tmp/abs_bbd0upldej/clone/recipe/meta.yaml:55: missing_dev_url: The recipe is missing a dev_url
ERROR: /tmp/abs_bbd0upldej/clone/recipe/meta.yaml:55: missing_license_family: The recipe is missing the about/license_family key.
ERROR: /tmp/abs_bbd0upldej/clone/recipe/meta.yaml:55: missing_documentation: The recipe is missing a doc_url or doc_source_url
WARNING: /tmp/abs_bbd0upldej/clone/recipe/meta.yaml:55: missing_description: The recipe is missing a description
Errors were found

Linter check found the following problems:
The following problems have been found:
ERROR: /tmp/abs_c4jzm9d1zp/clone/recipe/meta.yaml:18: pip_install_args: pip install should be run with --no-deps.
ERROR: /tmp/abs_c4jzm9d1zp/clone/recipe/meta.yaml:23: missing_wheel: For pypi packages, wheel should be present in the host section
WARNING: /tmp/abs_c4jzm9d1zp/clone/recipe/meta.yaml:55: missing_description: The recipe is missing a description
ERROR: /tmp/abs_c4jzm9d1zp/clone/recipe/meta.yaml:55: missing_documentation: The recipe is missing a doc_url or doc_source_url
ERROR: /tmp/abs_c4jzm9d1zp/clone/recipe/meta.yaml:55: missing_license_family: The recipe is missing the about/license_family key.
ERROR: /tmp/abs_c4jzm9d1zp/clone/recipe/meta.yaml:55: missing_dev_url: The recipe is missing a dev_url
Errors were found


Working on Portrait?

Has anyone had success getting this to work on the LG Portrait? I've tried it in the Babylon test scene but it doesn't look right. Likely something wrong with the calibration.

Yes, someone on Discord helped me get it working.
Do you have the Holoplay service running on your system?


pyvista>=0.37 constraint can conflict with development installs

I've seen a few times recently where installing pytest-pyvista after having a dev install of pyvista causes a reinstall of pyvista from PyPI. I believe this is due to the pyvista>=0.37 constraint on the package and the fact that pyvista is currently at 0.38.dev0 on main which pip doesn't handle gracefully. I suspect this issue will resolve on the next MINOR version release of pyvista, but until then....
Is pyvista>=0.37 really necessary for this extension? I'm wondering if we could free that constraint or use an earlier compatible version?

You might need to use --pre when using pip for dev versions. But, you might also get pre versions of other packages this way. This part of pip dependency resolution is awkwardly designed IMO.
This package probably doesn't support all pyvista versions as it hooks into the theme and plotter options.  Once the tests are fixed, we could find a reasonably older version to start supporting and add to CI.

Having said the above, it might be easier to remove all version constraint and just document a supported version.  pytest-mpl has no version constraint for matplotlib. If in the future a backwards incompatible change is made, we could start pinning.


Use block string syntax in serialization

Description
GraphQL supports both single line (wrapped in ") and multiline comments (wrapped in """). apollo-rs currently does not support multiline comments and coalesce it to a single line, i.e.
"""
First line comment
Second line comment
"""

becomes
"First line comment\nSecond line comment"

Steps to reproduce
#[test]
    fn comments() {
        let raw_comment = r#""""
First Line
Second Line
""""#;
        let multiline_comment = "First Line
Second Line";

        let foo = ObjectType {
            name: Name::new("foo"),
            description: Some(NodeStr::new(multiline_comment)),
            directives: vec![],
            fields: IndexMap::new(),
            implements_interfaces: IndexMap::new(),
        };

        let mut schema = Schema::new();
        schema
            .types
            .insert(Name::new("foo"), ExtendedType::Object(Node::new(foo)));
        println!("{}", schema);
    }

Expected result
Printed descriptions should preserve multiline comments.
Actual result
When using raw_string (from above) prints following schema
"\"\"\"\nFirst Line\nSecond Line\n\"\"\""
type foo

When using multiline_comment (from above) prints following schema
"First Line\nSecond Line"
type foo

Environment

Operating system and version: MacOS Ventura
Shell (bash/zsh/powershell): zsh
apollo-rs crate: mut branch
Crate version: 1.72.0

Implementation PR: https://github.com/apollographql/apollo-rs/pull/724
See also stylistic question: https://github.com/apollographql/apollo-rs/pull/724#issuecomment-1794633948


Possible alternative to scoping

idea from Cornett:
// before
let stylesheet = input % (
  baseInputStyle
    <> .pseudo(.focus) & (
      color(red)
  )
)

// after
let stylesheet = input % (
  baseInputStyle
    <&> .pseudo(.focus) % (
      color(red)
  )
)

Can you edit the above with a "before" example?

@stephencelis done! not sure if it's possible, but fun to think about ways to improve the syntax

I think we'll have lots of new CSS ideas whenever we revisit the topic :smile: For now: 🚪


Feature/3 catch up subscriptions

Pertaining to issue #3, I have ported the catch-up subscription functionality from the official Event Store .NET client.
As of now only single-stream catch-up subscriptions are implemented, not all-event catch-up subscriptions, primarily because the subscribeToAll functionality seems to be missing from the Connection class. As I don't need subscribe-to-all right now, I've chosen not to implement it for this pull request.
I added one (tiny) additional package: the argument-validator package - just for some quick argument validation.  That package has no dependencies of its own; it's very lightweight.
In addition to the new code, I have updated the README file and the TypeScript definitions.
There are some new Mocha tests in the testing area, all working on a bare-bones installation of Event Store. The tests create and destroy randomly named streams. As part of adding the new test code, I've centralized some of the common test functionality and adding quick utilities for generating and writing test events.

Awesome, tests and docs included!
Thanks for the contribution!


Inconsistent notifications

I'm initialising BriteDatabase with Schedulers.single() and executing a query on a table then writing 5 items to the same table on the same scheduler, namely Schedulers.single().
I'm receiving all 5 notifications only after all 5 writes, so my query emits the same (last) item 5 times.
@MainThread
  private void testInterleaved() {
    kvStore.getAll(String.class).subscribe(list -> Timber.i(list.toString())); //SELECT * FROM key_value_store;

    kvStore.put("reviewer1", "Vinay1", String.class).subscribeOn(Schedulers.single()).subscribe(); // INSERT OR REPLACE INTO key_value_store (id, value) VALUES(?,?);
    kvStore.put("reviewer1", "Vinay2", String.class).subscribeOn(Schedulers.single()).subscribe();
    kvStore.put("reviewer1", "Vinay3", String.class).subscribeOn(Schedulers.single()).subscribe();
    kvStore.put("reviewer1", "Vinay4", String.class).subscribeOn(Schedulers.single()).subscribe();
    kvStore.put("reviewer1", "Vinay5", String.class).subscribeOn(Schedulers.single()).subscribe();
  }

A PUT looks something like this:
Single<Long> put(BriteDatabase db) {
    return Single.create(emitter -> {
      PutKeyValue putKeyValue = new PutKeyValue(db.getWritableDatabase());
      putKeyValue.bind(id(), value());
      try {
        long rowId = db.insert(TABLE_NAME, FACTORY.marshal(this).asContentValues(), SQLiteDatabase.CONFLICT_REPLACE);
        emitter.onSuccess(rowId);
      } catch (SQLException e) {
        emitter.onError(e);
      }
    });
  }

Even when I read and write on separate threads, I get inconsistent notifications.

All 5 subscribeOn's enqueue on the scheduler before the first insert completes. Thus, the enqueued notifications happen after all 5 inserts complete.
Even if you received the notifications immediately the output is probabilistic in nature at best. We only send a notification of a change and not the actual change itself. When you eventually call/trigger run() on the Query object the data in the underlying table could have been changed.


net/http/pprof: occasional failures in TestDeltaProfile

TestDeltaProfile, added in CL 147598 for #23401, seems to be flaky on some of the arm builders.
(Perhaps it is relying on some property of scheduler latency that does not hold on the very slowest builders?)
2020-04-18T20:01:46-f5291cf/plan9-arm
2020-04-18T18:07:52-2a20f5c/android-arm-corellium
CC @hyangah @odeke-em @bradfitz
Marking as release-blocker for 1.15 since the test appears to be new for that release.

Not just on ARM:
2020-04-22T16:45:05-141b11d/android-386-emu
2020-04-22T16:45:05-141b11d/darwin-amd64-nocgo
2020-04-20T19:36:50-0239a5c/openbsd-386-62

any objection to disabling this test in all platforms other than in linux?

Is there a reason to suspect that it is not flaky on Linux?
(In my experience, the unusual builders are often just more timing-sensitive than the mainline builders — tests that are flaky on more than one of those platforms also tend to be flaky on linux, just at a lower rate.)

Or, maybe we completely delete this test?
I don't know what to make out of testing this on the platforms where even time.Sleep(1sec) results in sleeping more than 2 sec.

Please ignore that last commit referenced by gopherbot. Typo in commit message.

I don't see any more test failures after the cl. Closing it. Thanks!

Still appears to be flaky, but removing the release-blocker label because the flake rate seems at least reduced.
2020-07-13T17:48:55-e88ea87/openbsd-arm-jsing
2020-06-23T18:38:32-9f33108/android-386-emu
2020-06-10T20:58:11-ec177e4/openbsd-arm-jsing
2020-05-29T20:55:14-c2d1df6/android-arm64-corellium
2020-05-28T14:43:19-6bf2eea/openbsd-arm-jsing

Hasn’t been flaky for the past 6 months, so punting to Go1.17.

No new failures, calling this fixed.

Apparently still not fixed, although the failure rate does still seem to be lower than it was.
2021-06-04T17:33:24-831f937/openbsd-arm-jsing
2020-09-03T21:50:25-612b119/openbsd-arm-jsing

greplogs --dashboard -md -l -e 'FAIL: TestDeltaProfile ' --since=2021-06-08
2021-12-16T00:34:10-7f23145/openbsd-arm-jsing
2021-11-25T00:02:52-b2a5a37/openbsd-arm-jsing
Looks like this failure mode is specific to openbsd-arm-jsing. I'll file a separate issue.


Request Entity Too Large

I run the project locally and upload a screen shot but got this
"fastapi.exceptions.HTTPException: 413: Error code: 413 - {'error': {'message': 'Request Entity Too Large', 'type': 'invalid_request_error', 'code': 'request_too_large'}}"

I now resize the image in the latest release.  Try it again and let me know if it still causes an error.


Remove tether constraints on popover [fixes FF bug]

In Firefox, I was seeing behavior like this:

I also noticed that on pages that scrolled, the datepicker would fix to the top of the page, due to the pin constraint. I don't think that this component needs to have scroll constraints - we really just want it to appear next to the input.
Also, has the build process changed? If so, can someone update the docs? I have no idea how to update the stuff in /example.

Hey @hahahana! Thanks for the PR. I'll go through the README and update accordingly. Tested your PR in both Firefox/Chrome!