Substantial decrease in FLOPs per GPU when training multinode

Describe the bug
I can achieve around 160 TFLOPs per GPU using DDP on a single node, however when I use multinode training that number drops to around 65 FLOPs.
I guess some decrease is expected but less than half doesn't seem right.
Is there anything I am forgetting to specify in the config or has some run into the same issue?
Any help is highly appreciated!
Environment (please complete the following information):
I am working on a SLURM cluster which has nodes equipped with

4x A100 per node
I am using 9 nodes in multinode training (36 GPUs in total)

using this script to start the job:
#!/bin/bash
#SBATCH --job-name test_training # Name for your job
#SBATCH --nodes=9
#SBATCH --ntasks-per-node=1
#SBATCH --cpus-per-task=8
#SBATCH --time=4:00:00
#SBATCH --mem=200gb
#SBATCH --gpus-per-node=4              # --gres=gpu:4

module purge

module load compiler/gnu/11
module load mpi/openmpi/4.1
module load devel/cuda/11.6

eval "$(conda shell.bash hook)"
conda activate training_main

WORKING_DIR="/home/hk-project-test-lmcdm/ew9122/scratch_training/gpt-verite_"
pushd $WORKING_DIR

echo $(scontrol show hostnames $SLURM_JOB_NODELIST | head -n 1)

scontrol show hostname $SLURM_JOB_NODELIST | sed 's/$/ slots=4/' > hostfile

GPUS_PER_NODE=4
NNODES=9
export SLURM_NTASKS=$(($GPUS_PER_NODE*$NNODES))

export MASTER_ADDR=$(scontrol show hostnames $SLURM_JOB_NODELIST | head -n 1)
export MASTER_PORT=6000

python ./deepy.py ./train.py -d configs gpt-verite/optimal_models/1-4B.yml

and the following training config:
{

   "data_path": "/home/hk-project-test-lmcdm/ew9122/scratch_training/data/les_faits_padding_sc2/merged/les_faits",

   "save": "/home/hk-project-test-lmcdm/ew9122/scratch_training/artefacts/checkpoints/gpt-verite_1-4B",
   "load": "/home/hk-project-test-lmcdm/ew9122/scratch_training/artefacts/checkpoints/gpt-verite_1-4B",

   "vocab-file": "/home/hk-project-test-lmcdm/ew9122/scratch_training/artefacts/tokenizer/gpt-verite_tokenizer.json",
   "tokenizer_type": "HFTokenizer",

   "pipe-parallel-size": 0,
   "model-parallel-size": 1,

   "train_micro_batch_size_per_gpu": 28,
   "gradient_accumulation_steps": 1,
   "data-impl": "mmap",
   "split": "999,1,0",

   "num-layers": 38,
   "hidden-size": 1664,
   "num-attention-heads": 16,
   "seq-length": 2048,
   "max-position-embeddings": 2048,
   "pos-emb": "rotary",
   "rotary-pct": 0.25,
   "no-weight-tying": true,
   "gpt-j-residual": true,
   "output-layer-parallelism": "column",

   "attention_config": [[["flash"], 38]],
   "scaled_upper_triang_masked_softmax_fusion": true,
   "bias_gelu_fusion": true,

   "optimizer": {
     "type": "Adam",
     "params": {
       "lr": 0.0002,
       "betas": [0.9, 0.95],
       "eps": 1.0e-8
     }
   },
   "min_lr": 0.00002,

   "init_method_std": 0.02,

   "zero_optimization": {
    "stage": 2,
    "allgather_partitions": true,
    "allgather_bucket_size": 500000000,
    "overlap_comm": true,
    "reduce_scatter": true,
    "reduce_bucket_size": 500000000,
    "contiguous_gradients": true
  },

   "checkpoint-activations": true,
   "checkpoint-num-layers": 1,
   "partition-activations": true,
   "synchronize-each-layer": true,

   "gradient_clipping": 1.0,
   "weight-decay": 0.1,
   "hidden-dropout": 0.0,
   "attention-dropout": 0.0,

   "precision": "bfloat16",
   "fp32_allreduce": true,

   "train-iters": 25046,
   "lr-decay-iters": 25046,

   "distributed-backend": "nccl",
   "lr-decay-style": "cosine",
   "warmup": 0.01,
   "checkpoint-factor": 500,
   "eval-interval": 500,
   "eval-iters": 10,
   "log-interval": 10,
   "steps_per_print": 1,

   "use_wandb": true,
   "wandb_project": "GPT-Verite",
   "wandb_group": "1.4B_GPT-Verite",

   "keep-last-n-checkpoints": 4,
   "wall_clock_breakdown": true,

   "launcher": "slurm",
   "deepspeed_slurm": true,
   "no_ssh_check": true,
   "hostfile": "./hostfile"
}

Hi! It's difficult to say what the issue is without access to or more info on your cluster setup, but these may help:

Could you share some of the per-step logs before + after going to multinode? If your nodes do not have good communication speed, or something is not properly configured, I'd expect to see the timer for the backward allreduce to be very high compared to time spent on a forward pass.
ZeRO stage 2 ("zero_optimization": {  "stage": 2, ) is more communication-heavy than stage 1. Since your training on 1 node seems to have stayed within GPU memory, on 9 nodes you may be able to get away with just stage 1--I'd expect this to give a speedup if so.

Hi @haileyschoelkopf thank you for the fast reply!
Here is more information on the hardware setup from the cluster. I am using the hardware from the right column

I have logs from training with two nodes where the FLOPs are still pretty good. (Below)
[2023-06-03 00:08:24,782] [INFO] [checkpointing.py:529:forward] Activation Checkpointing Information
[2023-06-03 00:08:24,783] [INFO] [checkpointing.py:530:forward] ----Partition Activations True, CPU CHECKPOINTING False
[2023-06-03 00:08:24,783] [INFO] [checkpointing.py:531:forward] ----contiguous Memory Checkpointing False with 38 total layers
[2023-06-03 00:08:24,783] [INFO] [checkpointing.py:533:forward] ----Synchronization True
[2023-06-03 00:08:24,783] [INFO] [checkpointing.py:534:forward] ----Profiling time in checkpointing False
[2023-06-03 00:08:34,517] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 4958.39 | backward_microstep: 4665.83 | backward_inner_microstep: 4527.97 | backward_allreduce_microstep: 137.78 | step_microstep: 0.06
[2023-06-03 00:08:40,509] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1389.49 | backward_microstep: 4495.84 | backward_inner_microstep: 3998.84 | backward_allreduce_microstep: 496.93 | step_microstep: 0.05
[2023-06-03 00:08:46,287] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1335.58 | backward_microstep: 4369.31 | backward_inner_microstep: 4006.43 | backward_allreduce_microstep: 362.80 | step_microstep: 0.06
[2023-06-03 00:08:52,676] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1253.06 | backward_microstep: 5063.34 | backward_inner_microstep: 4604.58 | backward_allreduce_microstep: 458.72 | step_microstep: 0.05
[2023-06-03 00:08:58,699] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1340.51 | backward_microstep: 4609.85 | backward_inner_microstep: 4437.87 | backward_allreduce_microstep: 171.93 | step_microstep: 0.06
[2023-06-03 00:09:04,540] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1300.75 | backward_microstep: 4457.04 | backward_inner_microstep: 4273.76 | backward_allreduce_microstep: 183.24 | step_microstep: 0.07
[2023-06-03 00:09:10,758] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1322.32 | backward_microstep: 4822.80 | backward_inner_microstep: 4400.66 | backward_allreduce_microstep: 422.10 | step_microstep: 0.05
[2023-06-03 00:09:16,522] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1315.00 | backward_microstep: 4375.74 | backward_inner_microstep: 4225.09 | backward_allreduce_microstep: 150.61 | step_microstep: 0.06
[2023-06-03 00:09:22,697] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1290.72 | backward_microstep: 4806.45 | backward_inner_microstep: 4233.69 | backward_allreduce_microstep: 572.72 | step_microstep: 0.05
[2023-06-03 00:09:28,771] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1341.05 | backward_microstep: 4645.64 | backward_inner_microstep: 4217.35 | backward_allreduce_microstep: 428.25 | step_microstep: 0.05
[2023-06-03 00:09:35,129] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1280.09 | backward_microstep: 4990.88 | backward_inner_microstep: 4490.82 | backward_allreduce_microstep: 500.03 | step_microstep: 0.05
[2023-06-03 00:09:41,726] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | optimizer_allgather: 798.27 | optimizer_gradients: 1.81 | optimizer_step: 4.99
[2023-06-03 00:09:41,727] [INFO] [logging.py:96:log_dist] [Rank 0] step=1, skipped=0, lr=[1.0140959334753067e-06, 1.0140959334753067e-06], mom=[[0.9, 0.95], [0.9, 0.95]]
[2023-06-03 00:09:41,727] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1289.46 | backward_microstep: 4414.22 | backward_inner_microstep: 3960.33 | backward_allreduce_microstep: 453.85 | step_microstep: 821.02
[2023-06-03 00:09:41,728] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward: 19416.24 | backward: 55716.81 | backward_inner: 51377.31 | backward_allreduce: 4338.95 | step: 821.62
[2023-06-03 00:09:47,531] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1377.21 | backward_microstep: 4275.31 | backward_inner_microstep: 3934.63 | backward_allreduce_microstep: 340.60 | step_microstep: 0.05
[2023-06-03 00:09:53,209] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1436.53 | backward_microstep: 4162.84 | backward_inner_microstep: 3930.54 | backward_allreduce_microstep: 232.26 | step_microstep: 0.05
[2023-06-03 00:09:59,082] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1269.13 | backward_microstep: 4522.03 | backward_inner_microstep: 4332.96 | backward_allreduce_microstep: 189.03 | step_microstep: 0.05
[2023-06-03 00:10:04,888] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1258.09 | backward_microstep: 4470.95 | backward_inner_microstep: 4147.18 | backward_allreduce_microstep: 323.73 | step_microstep: 0.05
[2023-06-03 00:10:10,960] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1298.87 | backward_microstep: 4696.43 | backward_inner_microstep: 4424.81 | backward_allreduce_microstep: 271.57 | step_microstep: 0.06
[2023-06-03 00:10:17,172] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1252.13 | backward_microstep: 4882.24 | backward_inner_microstep: 4446.77 | backward_allreduce_microstep: 435.43 | step_microstep: 0.06
[2023-06-03 00:10:23,345] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1330.05 | backward_microstep: 4766.88 | backward_inner_microstep: 4410.89 | backward_allreduce_microstep: 355.95 | step_microstep: 0.05
[2023-06-03 00:10:29,406] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1286.00 | backward_microstep: 4702.61 | backward_inner_microstep: 4215.88 | backward_allreduce_microstep: 486.68 | step_microstep: 0.05
[2023-06-03 00:10:35,412] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1321.77 | backward_microstep: 4611.19 | backward_inner_microstep: 4192.22 | backward_allreduce_microstep: 418.93 | step_microstep: 0.05
[2023-06-03 00:10:41,313] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1326.97 | backward_microstep: 4484.17 | backward_inner_microstep: 4066.87 | backward_allreduce_microstep: 417.27 | step_microstep: 0.05
[2023-06-03 00:10:47,338] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1347.74 | backward_microstep: 4575.24 | backward_inner_microstep: 4292.91 | backward_allreduce_microstep: 282.29 | step_microstep: 0.05
[2023-06-03 00:10:54,906] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | optimizer_allgather: 1290.48 | optimizer_gradients: 1.78 | optimizer_step: 5.00
[2023-06-03 00:10:54,907] [INFO] [logging.py:96:log_dist] [Rank 0] step=2, skipped=0, lr=[2.0281918669506135e-06, 2.0281918669506135e-06], mom=[[0.9, 0.95], [0.9, 0.95]]
[2023-06-03 00:10:54,907] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1396.03 | backward_microstep: 4762.37 | backward_inner_microstep: 4221.82 | backward_allreduce_microstep: 540.51 | step_microstep: 1324.85
[2023-06-03 00:10:54,908] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward: 15900.37 | backward: 54912.13 | backward_inner: 50617.38 | backward_allreduce: 4294.25 | step: 1325.44
[2023-06-03 00:11:00,729] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1321.63 | backward_microstep: 4372.40 | backward_inner_microstep: 3863.33 | backward_allreduce_microstep: 508.98 | step_microstep: 0.06
[2023-06-03 00:11:06,765] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1333.14 | backward_microstep: 4630.74 | backward_inner_microstep: 4399.69 | backward_allreduce_microstep: 231.02 | step_microstep: 0.09
[2023-06-03 00:11:12,996] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1320.42 | backward_microstep: 4828.83 | backward_inner_microstep: 4464.93 | backward_allreduce_microstep: 363.83 | step_microstep: 0.06
[2023-06-03 00:11:18,424] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1312.13 | backward_microstep: 4035.96 | backward_inner_microstep: 3887.85 | backward_allreduce_microstep: 148.04 | step_microstep: 0.06
[2023-06-03 00:11:24,520] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1293.19 | backward_microstep: 4716.96 | backward_inner_microstep: 4326.43 | backward_allreduce_microstep: 390.50 | step_microstep: 0.08
[2023-06-03 00:11:30,044] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1364.80 | backward_microstep: 4078.92 | backward_inner_microstep: 3680.02 | backward_allreduce_microstep: 398.86 | step_microstep: 0.08
[2023-06-03 00:11:35,942] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1346.75 | backward_microstep: 4456.71 | backward_inner_microstep: 4129.71 | backward_allreduce_microstep: 326.96 | step_microstep: 0.08
[2023-06-03 00:11:41,550] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1292.24 | backward_microstep: 4237.28 | backward_inner_microstep: 3997.96 | backward_allreduce_microstep: 239.28 | step_microstep: 0.06
[2023-06-03 00:11:47,218] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1347.33 | backward_microstep: 4247.41 | backward_inner_microstep: 4033.41 | backward_allreduce_microstep: 213.95 | step_microstep: 0.06
[2023-06-03 00:11:53,126] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1320.15 | backward_microstep: 4501.63 | backward_inner_microstep: 4204.89 | backward_allreduce_microstep: 296.70 | step_microstep: 0.06
[2023-06-03 00:11:59,283] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1277.62 | backward_microstep: 4787.52 | backward_inner_microstep: 4535.88 | backward_allreduce_microstep: 251.57 | step_microstep: 0.07
[2023-06-03 00:12:05,920] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | optimizer_allgather: 630.64 | optimizer_gradients: 1.79 | optimizer_step: 5.00
[2023-06-03 00:12:05,921] [INFO] [logging.py:96:log_dist] [Rank 0] step=3, skipped=0, lr=[3.0422878004259206e-06, 3.0422878004259206e-06], mom=[[0.9, 0.95], [0.9, 0.95]]
[2023-06-03 00:12:05,921] [INFO] [timer.py:215:stop] epoch=0/micro_step=36/global_step=3, RunningAvgSamplesPerSec=32.475190533154226, CurrSamplesPerSec=32.475190533154226, MemAllocated=4.67GB, MaxMemAllocated=26.79GB
[2023-06-03 00:12:05,922] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1296.18 | backward_microstep: 4591.63 | backward_inner_microstep: 4400.45 | backward_allreduce_microstep: 191.11 | step_microstep: 678.72
[2023-06-03 00:12:05,923] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward: 15825.41 | backward: 53485.87 | backward_inner: 49924.52 | backward_allreduce: 3560.75 | step: 679.45

Those are the logs from the training with 9 nodes:
[2023-06-04 13:27:19,186] [INFO] [checkpointing.py:529:forward] Activation Checkpointing Information
[2023-06-04 13:27:19,187] [INFO] [checkpointing.py:530:forward] ----Partition Activations True, CPU CHECKPOINTING False
[2023-06-04 13:27:19,187] [INFO] [checkpointing.py:531:forward] ----contiguous Memory Checkpointing False with 38 total layers
[2023-06-04 13:27:19,187] [INFO] [checkpointing.py:533:forward] ----Synchronization True
[2023-06-04 13:27:19,187] [INFO] [checkpointing.py:534:forward] ----Profiling time in checkpointing False
[2023-06-04 13:27:37,154] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | optimizer_allgather: 1731.46 | optimizer_gradients: 0.36 | optimizer_step: 1.16
[2023-06-04 13:27:37,154] [INFO] [logging.py:96:log_dist] [Rank 0] step=1, skipped=0, lr=[7.985307035055498e-07, 7.985307035055498e-07], mom=[[0.9, 0.95], [0.9, 0.95]]
[2023-06-04 13:27:37,155] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 5073.60 | backward_microstep: 10995.77 | backward_inner_microstep: 9674.67 | backward_allreduce_microstep: 1321.02 | step_microstep: 1819.17
[2023-06-04 13:27:37,155] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward: 5073.58 | backward: 10995.77 | backward_inner: 9674.66 | backward_allreduce: 1321.04 | step: 1819.18
[2023-06-04 13:27:50,180] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | optimizer_allgather: 1597.40 | optimizer_gradients: 0.34 | optimizer_step: 1.14
[2023-06-04 13:27:50,182] [INFO] [logging.py:96:log_dist] [Rank 0] step=2, skipped=0, lr=[1.5970614070110995e-06, 1.5970614070110995e-06], mom=[[0.9, 0.95], [0.9, 0.95]]
[2023-06-04 13:27:50,182] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1544.29 | backward_microstep: 9585.20 | backward_inner_microstep: 7764.09 | backward_allreduce_microstep: 1821.03 | step_microstep: 1648.26
[2023-06-04 13:27:50,183] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward: 1544.28 | backward: 9585.20 | backward_inner: 7764.08 | backward_allreduce: 1821.05 | step: 1648.27
[2023-06-04 13:28:03,805] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | optimizer_allgather: 1597.51 | optimizer_gradients: 0.37 | optimizer_step: 1.14
[2023-06-04 13:28:03,805] [INFO] [logging.py:96:log_dist] [Rank 0] step=3, skipped=0, lr=[2.3955921105166494e-06, 2.3955921105166494e-06], mom=[[0.9, 0.95], [0.9, 0.95]]
[2023-06-04 13:28:03,806] [INFO] [timer.py:215:stop] epoch=0/micro_step=3/global_step=3, RunningAvgSamplesPerSec=74.52340978014311, CurrSamplesPerSec=74.52340978014311, MemAllocated=3.12GB, MaxMemAllocated=28.21GB
[2023-06-04 13:28:03,806] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1495.76 | backward_microstep: 10293.90 | backward_inner_microstep: 8593.86 | backward_allreduce_microstep: 1699.96 | step_microstep: 1654.21
[2023-06-04 13:28:03,806] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward: 1495.74 | backward: 10293.90 | backward_inner: 8593.85 | backward_allreduce: 1699.98 | step: 1654.21
[2023-06-04 13:28:17,635] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | optimizer_allgather: 1528.13 | optimizer_gradients: 0.34 | optimizer_step: 1.15
[2023-06-04 13:28:17,635] [INFO] [logging.py:96:log_dist] [Rank 0] step=4, skipped=0, lr=[3.194122814022199e-06, 3.194122814022199e-06], mom=[[0.9, 0.95], [0.9, 0.95]]
[2023-06-04 13:28:17,636] [INFO] [timer.py:215:stop] epoch=0/micro_step=4/global_step=4, RunningAvgSamplesPerSec=73.83729513754216, CurrSamplesPerSec=73.16369894407126, MemAllocated=3.12GB, MaxMemAllocated=28.21GB
[2023-06-04 13:28:17,636] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1591.41 | backward_microstep: 10527.20 | backward_inner_microstep: 9093.27 | backward_allreduce_microstep: 1433.85 | step_microstep: 1557.45
[2023-06-04 13:28:17,637] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward: 1591.40 | backward: 10527.20 | backward_inner: 9093.26 | backward_allreduce: 1433.87 | step: 1557.45
[2023-06-04 13:28:32,551] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | optimizer_allgather: 1594.62 | optimizer_gradients: 0.35 | optimizer_step: 12.13
[2023-06-04 13:28:32,551] [INFO] [logging.py:96:log_dist] [Rank 0] step=5, skipped=0, lr=[3.992653517527749e-06, 3.992653517527749e-06], mom=[[0.9, 0.95], [0.9, 0.95]]
[2023-06-04 13:28:32,552] [INFO] [timer.py:215:stop] epoch=0/micro_step=5/global_step=5, RunningAvgSamplesPerSec=71.72030505786445, CurrSamplesPerSec=67.83075224240044, MemAllocated=3.12GB, MaxMemAllocated=28.21GB
[2023-06-04 13:28:32,552] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward_microstep: 1533.66 | backward_microstep: 11580.21 | backward_inner_microstep: 8931.74 | backward_allreduce_microstep: 2648.40 | step_microstep: 1655.02
[2023-06-04 13:28:32,552] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | forward: 1533.65 | backward: 11580.21 | backward_inner: 8931.73 | backward_allreduce: 2648.42 | step: 1655.01
[2023-06-04 13:28:47,728] [INFO] [logging.py:96:log_dist] [Rank 0] rank=0 time (ms) | optimizer_allgather: 1656.89 | optimizer_gradients: 0.36 | optimizer_step: 1.16
[2023-06-04 13:28:47,729] [INFO] [logging.py:96:log_dist] [Rank 0] step=6, skipped=0, lr=[4.791184221033299e-06, 4.791184221033299e-06], mom=[[0.9, 0.95], [0.9, 0.95]]
[2023-06-04 13:28:47,729] [INFO] [timer.py:215:stop] epoch=0/micro_step=6/global_step=6, RunningAvgSamplesPerSec=70.38470005135483, CurrSamplesPerSec=66.66055904318523, MemAllocated=3.12GB, MaxMemAllocated=28.21GB

Thanks for your comments! The thing with ZeRo Stage 1 makes a lot of sense. I originally chose Stage2 because It gave the best performance on a single node.
I will try and report the results.
Thanks so far :)

@davidvblumenthal i don’t see FLOP numbers in that print-out? Are you looking at samples per second or is there something I’m missing?

@davidvblumenthal Following up on this.

@StellaAthena Yes you are right, the logs don't show the FLOPs.
I posted them primarily to show the times for the timer for the backward allreduce and the time spent on a forward pass - as requested by @haileyschoelkopf. Looking at the samples per second (although less clear) also shows the performance drop.
As suggested by @haileyschoelkopf the problem was the use of the ZeRo Stage 2 optimiser. After switching to Stage 1 the FLOPs where as expected around 140-160 TFLOPs per GPU.
Hence the issue can be closed :)


May need to add R curl to .yaml

Just installing medi. It requires curl package in R for fread function for nextflow run database.nf command. You may want to add r-curl to the .yaml file.

Same applies to taxonkit re .yaml file: command could not be found for following command.
taxonkit lineage --data-dir taxdump -i 1 taxids.tsv > raw.txt &&     taxonkit reformat --data-dir taxdump -i 3 raw.txt > lineage.txt &&     taxonkit reformat --data-dir taxdump -t -i 3 raw.txt > lineage_ids.txt

This may be a non-issue if curl and taxonkit included in r-reutils (I had to install packages individually after setting up basic conda environment to get to work on my system and forgot to conda install conda-forge::r-reutils - apologies if this the case).

Reutils depends on RCurl but best yo add it explicitly as well maybe. Taxonkit was an oversight. I will add those, thanks!


WPS wrapping of forecast verification algorithms (e.g. XSkillScore) with support for deterministic and probabilistic forecasts for a particular forecast date

Description
Describe what you were trying to get done or your feature request.
Environment

Raven version used, if any:
Python version, if any:
Operating System:

Steps to Reproduce
Paste the command(s) you ran and the output.

Additional Information
Links to other issues or sources.

@richardarsenault  Can this be closed ?


The emptyLines options doesn't count correctly

{emptyLines: -1} does not preserve the correct number of lines.
For example, this input
1
/* TEST1 */
/*

 TEST2

 */
2
 /* TEST3 */
3

is giving me
1

2

3

while it should be
1

2

3

@andreashuetter this is by design, lines inside multiline comments are removed but you're right, these should be preserved to support sourcemaps. right? v0.3.0 will be have this behavior.
Thanks for your feedback.

@aMarCruz:
Thanks a lot, that would be really nice!
Your jspreproc package is great. Yet I have an idea for another improvement: I think it would be very helpful if there was a way to specify which characters should be used for comments. As it currently is, you can process not only JavaScript files but also Java files and C/C++ files because those languages are all using the same characters for comments: // for single line comments, /* to start a multiline comment and */ to end a multiline comment.
But x86/x64 Assembly language for instance is using a semicolon (;) for single line comments (multiline comments are used the same way as in the other mentioned languages).
So if you'd just create the opportunity to specify an option for linecommentStart, blockcommentStart and blockcommentEnd, one could easily use your package also for Assembly Language files (and for many other languages as well).
Do you think this is doable?

@andreashuetter sure it is possible. My current interest is about Javascript. I wrote this tool for use by some modules of riotjs (see src in riot-compiler and lib in riot-tmpl). However, I think that it is not difficult to include this feature. I will put it on my TODO for v0.3.
Thanks!


getxController isn't being disposed/deleted when it should be

Describe the bug
when i go from screen 1 to screen 2 i expect the controller to be deleted/disposed but this doesn't happen. and you can see this as the timer completes from where it stopped.
i based my expectations on this document https://github.com/jonataslaw/getx/blob/master/documentation/en_US/state_management.md#simple-state-manager section How it handles controllers
Reproduction code
import 'dart:async';
import 'package:get/get.dart';
import 'package:flutter/material.dart';

runApp(sandbox());

dynamic sandbox()
{
  return GetMaterialApp(
        title: 'Getx issue',
        debugShowCheckedModeBanner: false,
        home: Prime());
}

class PrimeController extends GetxController {
  Timer _timer;
  Rx<Duration> recordedTime =  Duration.zero.obs;
  @override
  void onInit() {
    super.onInit();
    _timer = Timer.periodic(
        Duration(
          seconds: 1,
        ),
        (newVal) => recordedTime.value = recordedTime.value + Duration(seconds: 1));
  }

  @override
  void onClose() {
    _timer.cancel();
    //THIS IS NEVER HIT
    super.onClose();
  }
}

class Prime extends GetView<PrimeController>
{
  Prime()
  {
    Get.put(PrimeController());
  }
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(child:
      Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
        Obx(()=>Text('${controller.recordedTime.value}')),
        _nextPage(),
      ],)
    ,),
    );
  }
  Widget _nextPage()
  {
    return RaisedButton(onPressed: ()=>Get.off(SomePage()),child: Text('Next page'),);
  }
}

class SomePage extends StatelessWidget {
  const SomePage({Key key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text("SomePage"),),
      body: Center(
      child: RaisedButton(child: Text("Previous page"),onPressed: ()=>Get.off(Prime())),
    ),
    );
  }
}

To Reproduce
Steps to reproduce the behavior:

press 'Next page' button
press "previous page" button
notice the error (the timers completes from where it stopped)

Expected behavior
the timer should reset as the controller was disposed and rebuilt
Screenshots
none
Flutter Version:
1.22.5 stable channel
Getx Version:
get: ^3.22.2
Describe on which device you found the bug:
pixel api 28 5 inch - Android.
Minimal reproduce code
same as above

change:
Prime()
  {
    Get.put(PrimeController());
  }
  @override
  Widget build(BuildContext context) {

to:
  @override
  Widget build(BuildContext context) {
  Get.put(PrimeController());

The class constructor is called before the route, so it is attached to the previous route.

@jasonlaw so, instead of adding the put inside the constructor i should add it to the build?
if yes, i already did that and i got the same result..

@xEyad, after making the modification that @jasonlaw indicated, how was your Prime class?
Put a print on the onClose method to make sure it doesn't go through it.

same here!
i go to a page like product counter page, firstly i enter to this page counter is 0 and GetXController print some thing that is on onInit() function, i set counter to 5 and then i press back button and close the page when i go to page for second time the counter value is 5 and onInit() function is not called again! also i write onClose() function too but it is not working.
help me please!
@xEyad @jonataslaw @jasonlaw @lsm

Apparently the initial route is being appended to '/', however you are not using named routes. I'm doing a hotfix now for this

same here!
i go to a page like product counter page, firstly i enter to this page counter is 0 and GetXController print some thing that is on onInit() function, i set counter to 5 and then i press back button and close the page when i go to page for second time the counter value is 5 and onInit() function is not called again! also i write onClose() function too but it is not working.
help me please!
@xEyad @jonataslaw @jasonlaw @lsm

Had similar problem, for now you can use binding, everything works fine with that.

same here!
i go to a page like product counter page, firstly i enter to this page counter is 0 and GetXController print some thing that is on onInit() function, i set counter to 5 and then i press back button and close the page when i go to page for second time the counter value is 5 and onInit() function is not called again! also i write onClose() function too but it is not working.
help me please!
@xEyad @jonataslaw @jasonlaw @lsm

Had similar problem, for now you can use binding, everything works fine with that.

same here!
i go to a page like product counter page, firstly i enter to this page counter is 0 and GetXController print some thing that is on onInit() function, i set counter to 5 and then i press back button and close the page when i go to page for second time the counter value is 5 and onInit() function is not called again! also i write onClose() function too but it is not working.
help me please!
@xEyad @jonataslaw @jasonlaw @lsm

Had similar problem, for now you can use binding, everything works fine with that.

binding sounds like a lot of work that's why i didn't use it in the first place, and this also means either A. i will do this only for the current issue i have in the given screen only making an inconsistency with my whole codebase or B. change my whole codebase to use bindings instead of the current method.
but regardless of my preference i may have to resort to B because i won't ever know when i will encounter this issue again and it may go under the radar.
i really do hope that jonataslaw fix this issue fast. so far GETX is the best state management library i have used and i really like it.
anyways, if this problem won't be solved soon, may you tell me so that i adopt the alternative solution early instead of waiting for a fix.

same here!
i go to a page like product counter page, firstly i enter to this page counter is 0 and GetXController print some thing that is on onInit() function, i set counter to 5 and then i press back button and close the page when i go to page for second time the counter value is 5 and onInit() function is not called again! also i write onClose() function too but it is not working.
help me please!
@xEyad @jonataslaw @jasonlaw @lsm

Had similar problem, for now you can use binding, everything works fine with that.

binding sounds like a lot of work that's why i didn't use it in the first place, and this also means either A. i will do this only for the current issue i have in the given screen only making an inconsistency with my whole codebase or B. change my whole codebase to use bindings instead of the current method.
but regardless of my preference i may have to resort to B because i won't ever know when i will encounter this issue again and it may go under the radar.
i really do hope that jonataslaw fix this issue fast. so far GETX is the best state management library i have used and i really like it.
anyways, if this problem won't be solved soon, may you tell me so that i adopt the alternative solution early instead of waiting for a fix.

@xEyad take a look at BindingsBuilder, very easy to use
Get.to(MyPage(), binding: BindingsBuilder(() {
                        Get.put<GController>(GController());
                      }),
                    );

@xEyad take a look at BindingsBuilder, very easy to use
Get.to(MyPage(), binding: BindingsBuilder(() {
                        Get.put<GController>(GController());
                      }),
                    );

is the bug fixed ?

is the bug fixed ?

I fix this bug with defining controller after build context, thanks all
On Sun, Jan 3, 2021, 3:18 PM F-BONAPARTA<EMAIL_ADDRESS>wrote:

is the bug fixed ?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/jonataslaw/getx/issues/961#issuecomment-753605241,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKXWV4A2GHQT574LFULW4C3SYBKQHANCNFSM4VNULOVA
.

I fix this bug with defining controller after build context, thanks all
On Sun, Jan 3, 2021, 3:18 PM F-BONAPARTA<EMAIL_ADDRESS>wrote:

is the bug fixed ?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/jonataslaw/getx/issues/961#issuecomment-753605241,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKXWV4A2GHQT574LFULW4C3SYBKQHANCNFSM4VNULOVA
.

is the bug fixed ?

nope

I fix this bug with defining controller after build context, thanks all
interesting, that didn't fix it when i used this solution.

is the bug fixed ?

nope

I fix this bug with defining controller after build context, thanks all
interesting, that didn't fix it when i used this solution.

is the bug fixed ?

nope

I fix this bug with defining controller after build context, thanks all
interesting, that didn't fix it when i used this solution.

could you please share your code?

is the bug fixed ?

nope

I fix this bug with defining controller after build context, thanks all
interesting, that didn't fix it when i used this solution.

could you please share your code?

I have the exact same issue with Timers.. even if GetX logs says the screen is fully deleted in memory, still the timer is still alive and kicking

same here!
i go to a page like product counter page, firstly i enter to this page counter is 0 and GetXController print some thing that is on onInit() function, i set counter to 5 and then i press back button and close the page when i go to page for second time the counter value is 5 and onInit() function is not called again! also i write onClose() function too but it is not working.
help me please!
@xEyad @jonataslaw @jasonlaw @lsm

@jonataslaw @eduardoflorence
With get: ^3.26.0 I experience a similar behavior but when I user id
FlatButton(
                          onPressed: () {
                            Get.to(() => DummyView(), binding: BindingsBuilder(() {
                              Get.put<DummyController>(DummyController());
                            }));
                          },
                          child: const Text(
                            'Dummy view',
                          ),
                        ),

class DummyController extends GetxController {
  final RxInt counter = 0.obs;

  void increment() {
    counter.value++;
  }

  @override
  void onInit() {
    logger.w('Dummy controller launched, counter value : $counter');
    super.onInit();
  }
}

class DummyView extends GetView<DummyController> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: SafeArea(
        child: Center(
          child: Column(
            children: [
              Obx(
                () => Text('Counter value : ${controller.counter.value.toString()}'),
              ),
              RaisedButton(
                onPressed: () {
                  controller.increment();
                },
                child: const Text('Increment counter'),
              )
            ],
          ),
        ),
      ),
    );
  }
}

The controller is not deleted from memory if I use id
Get.to(() => DummyView(), id: 1, binding: BindingsBuilder(() {
                              Get.put<DummyController>(DummyController());
                            }));

Same problem with named routes

@zzterrozz, Why are you using id in Get.to? We only use id when we are working with Nested Navigation.
https://github.com/jonataslaw/getx/blob/master/documentation/en_US/route_management.md#nested-navigation

We have the same use case as @zzterrozz. We use nested navigation in our app, and it seems like no Controllers are ever deleted.

any updates on this bug

From our experience a controller is never disposed when using Get.put(controller) or Get.lazyPut(() => controller). If the widget creates the controller by using a GetX<Controller> or GetBuilder<Controller> then the controller is disposed correctly. For example
GetX<Controller>(
      init: Controller(),
      builder: (controller) => Scaffold(...)
)

Same here. Any updates??

From our experience a controller is never disposed when using Get.put(controller) or Get.lazyPut(() => controller). If the widget creates the controller by using a GetX<Controller> or GetBuilder<Controller> then the controller is disposed correctly. For example
GetX<Controller>(
      init: Controller(),
      builder: (controller) => Scaffold(...)
)

disposes the controller correctly in our cases.

The problem I mentioned earlier may also be related to this
https://github.com/jonataslaw/getx/issues/1299

Any update about this issue?

Hello, im using Nested navigators, and i can't have a controller automatically disposed when navigating by id, even with a binding associated with it.
Im forced to use GetX<Controller>.
From your documentation:

GetX is still more economical than any other reactive state manager, but it consumes a little more RAM than GetBuilder. Thinking about it and aiming to maximize the consumption of resources that Obx was created

That's why this is an issue, we cannot use efficients solution using nested navigation

I'm experiencing a similar issue, if I "Get.offAll" from the first screen, the controller never dispose, any news about this issue?

I'm experiencing a similar issue, if I "Get.offAll" from the first screen, the controller never disposes, any news about this issue?

Same over here. I did the Timer.period and I sent my screen with offAllNamed. However, the timer kept running.
  Widget build(BuildContext context) {
    _emailG.emaill(); <----
    return Scaffold();

-----  get x
  email() async {
    Timer.periodic(Duration(seconds: 5), (timer) {
      auth.currentUser!.reload();
      if (auth.currentUser!.emailVerified) {
        Get.offAllNamed('user');
      }
    });
  }

I did try with Get.put() and Get.find(). Also placing them other places. I also tried to directly use it inside the layout widget. Placing them under Scaffold(). Is there something I have done wrong?

Same issue, Getx controller is deleted every time when running app on emulator but after generating Apk , it does not delete controller from memory, hence causing the page to stuck to it's first view when the app begins.
Any suggestion or solution regarding this?

same issue

same issue , getx controller doesnt disposed when i changed page.

I find solution for my problem
I used a progress indicator and the addAutomaticKeepAlive was true which prevent getxcontroller from being disposed
if you face with this problem just search for stream or animation that doesnt disposed and prevent controller from being disposed.
@henriqueArrazao
@Maqsood0
@aboda1986

This is my first time using a filter, this is really annoying.
@jonataslaw  Please provide a solution

same issue here using nested navigation, the controller from generated nested routes are not being disposed. Also, the Getx nested navigation docs is poor...

This is still an issue, is there any fix available other than using GetBuilder or GetX? Bindings are really annoying to deal with, I wouldn't even mind if I had to extend some other class instead of StatefulWidget but without using bindings.

Please check this link https://stackoverflow.com/questions/73225356/what-is-the-best-way-to-dispose-resources-in-getx-flutter.
I also used a timer and I have cancelled it on the Onclose function

I have the exact same issue with Timers.. even if GetX logs says the screen is fully deleted in memory, still the timer is still alive and kicking

https://stackoverflow.com/questions/73225356/what-is-the-best-way-to-dispose-resources-in-getx-flutter

define binding class in diffrent files.not use common file for define binding

If you are using statefull widget , here is a quick get around
void dispose() {
Get.delete<MyController>
super.dispose}

Noticed, that on pressing physical back button (or back button in appbar) onClose is not called until i do some actions on previous screen.
But when using Get.back() controller disposes correctly. I'm using bindings.
How to make same behaviour when using back button?

Try update Getx to 4.6.6. It solved like a magic in my case.

If you are using statefull widget , here is a quick get around如果您使用的是有状态小部件，这里有一个快速的解决方法
void dispose() { Get.delete<MyController> super.dispose}

Useful for me ❤

Noticed, that on pressing physical back button (or back button in appbar) onClose is not called until i do some actions on previous screen. But when using Get.back() with button on screen, controller disposes correctly. With leading button in AppBar this doesn't work though. I'm using bindings with named routes. How to make same behaviour when using back button? It also says, that route is closed: CLOSE TO ROUTE in console But controller is not being disposed

Solved this by using smartManagement: SmartManagement.onlyBuilder and initializing screen controllers with GetBuilder

Try update Getx to 4.6.6. It solved like a magic in my case.

same

I was dealing with this issue, which confused me because I had just been using Getx successfully in another app. After comparing all of my code differences, this is what I found, and changing it fixed things for me:
In my broken app, I had changed MaterialApp to GetMaterialApp, but left the following:
routes: {
   HomePage.ROUTE: (context) => const HomePage(),
   HostPage.ROUTE: (context) => const HostPage(),
   ClientPage.ROUTE: (context) => const ClientPage()
},

I changed this to use GetPages (like my previous app):
getPages: [
        GetPage(name: HomePage.ROUTE, page: () => const HomePage()),
        GetPage(name: HostPage.ROUTE, page: () => const HostPage()),
        GetPage(name: ClientPage.ROUTE, page: () => const ClientPage()),
      ]

And the issue was immediately resolved. Controllers are now being disposed/deleted.


Some videos blocked from huffingtonpost

First video on this page blocked. https://m.huffpost.com/us/entry/us_5c6a1dc5e4b05c889d20661d?ncid=APPLENEWS00001
Whitelist
hlsrv.vidible.tv
Match found in https://raw.githubusercontent.com/anudeepND/blacklist/master/adservers.txt:
hlsrv.vidible.tv

@chado99 oops it's present in my own host file xD, I will remove it ASAP

Thanks @chado99


Comments on smhifilter.sh

This modification to my script:
https://github.com/Adib-Sh/MNXB11-homework/blob/db7623644405bb2d8bfb3a5ef2952fc6ee421112/homework4/smhifilter.sh#L47
Will cause the script to crash if there is no output folder exactly where the script is ran. If you plan to make a change don't leave it half-baked, you need to provide code so that your script can create the missing folder, OR give the user a hint of why the program crashes if the folder is not there. The following is the error shown when there is no output folder:
$ ./smhifilter.sh
touch: cannot touch 'output/2024-11-03_smhifilter.sh.log': No such file or directory
cannot write logfile, exiting

When it comes to the filters you chose, well these are not really filters to me. Anyway let's say that the head filter picks the first 10 lines, that is fine for me.
But the other filter, the "sorted" one. Do you have any idea about what is being sorted and why? :)
let's look at the tail of the bare data file:
$ tail baredata_smhi-opendata_1_52230_20210906_212532.csv
2021-05-30 09:00:00 15.1 G
2021-05-30 12:00:00 16.4 G
2021-05-30 15:00:00 15.6 G
2021-05-30 18:00:00 13.2 G
2021-05-31 06:00:00 13.1 G
2021-05-31 09:00:00 16.1 G
2021-05-31 12:00:00 18.4 G
2021-05-31 15:00:00 20.1 G
2021-05-31 18:00:00 17.1 G
2021-06-01 06:00:00 13.9 G

And now the sorted output:
 $ cat sortedTail__filtered_smhi-opendata_1_52230_20210906_212532.csv
2021-05-30 09:00:00 15.1 G
2021-05-30 12:00:00 16.4 G
2021-05-30 15:00:00 15.6 G
2021-05-30 18:00:00 13.2 G
2021-05-31 06:00:00 13.1 G
2021-05-31 09:00:00 16.1 G
2021-05-31 12:00:00 18.4 G
2021-05-31 15:00:00 20.1 G
2021-05-31 18:00:00 17.1 G
2021-06-01 06:00:00 13.9 G

mh, I have a suspicion here...
$ if diff <(tail baredata_smhi-opendata_1_52230_20210906_212532.csv) <(cat sortedTail__filtered_smhi-opendata_1_52230_20210906_212532.csv); then echo "No differences"; else "files differ"; fi
No differences

That's right. Sorting the tail does nothing. Why?
because sort is a simple program. Unless you tell it to do some specific sorting, the default is lexicographic sorting on the first element of a CSV with spaces. In short it's ordering the dates as if they were in alphabetical order. If you didn't know, this is a property of the data format in use in Sweden:
YYYY-MM-DD
can be sorted in lexicographical order  (that is, letters not numbers) and it will be also sorted in time.
So running sort on the already ordered dates will show you the dates in the same order.
Is that what you had in mind? sort and already sorted set?

Thank you so much for your comments.
The separator is fixed. I added "," separator to the smhicleaner.sh.
Also, I added the condition for both smhicleaner.sh and smhifilter.sh to check if the output folder exists and create and new folder otherwise.
I additionally added a new filter which takes only the temperatures between 5 to 10 degrees.


Real questionnaires should be added to the site

Currently the site only has a couple of dummy questionnaires included. This should be updated to include the full list of real questionnaires.

Completed as part of using soq-api


TPXO tidal atlas

To create the tidal forcing (step 3 in #1), we need to interpolate data from the TPXO tidal atlas. The file size is 1.2 GB. Should we upload it to https://github.com/CWorthy-ocean/roms-tools-data and fetch it with pooch from there? What do you recommend @TomNicholas?

Okay, sounds good. Do you mind uploading the file to https://github.com/CWorthy-ocean/roms-tools-data, @sdbachman?

upon attempting upload @sdbachman is encountering the following error:
remote: error: File tides/tpxo9.v2a.nc is 1205.76 MB; this exceeds GitHub's file size limit of 100.00 MB

Okay well that's a no-go then. I guess we'll have to just stick it in an AWS bucket then?

Do we have the resources on AWS? If yes, could you help with setting this up @TomNicholas?

We do - I have the credentials for the CWorthy AWS account. This is worth a call to show you how to do it though.

Sounds good, thanks! Pinged you on slack.

I'm closing this because we require the user to download the TPXO data themselves (as instructed here), among other things, for legal reasons. In the future, we should think about a cloud-based solution. I will open a separate issue on that.


Refused to display 'https://accounts.google.com/' in a frame because it set 'X-Frame-Options' to 'deny'

Attempted Debugging

[X] I have read the debugging page

Searched GitHub Issues

[X] I have searched GitHub for the issue.

Describe the Scenario
I have integrated Bookstack in our Website with using iframe. so bookstack is opening through iframe but when i tried to login on bookstack through google login it is showing the error.
accounts.google.com is refused to connect
When i inspect the code and check the error it is showing :
Refused to display 'https://accounts.google.com/' in a frame because it set 'X-Frame-Options' to 'deny'
So please help how i can resolve this error on Bookstack
Exact BookStack Version
v23.05.2
Log Content
No response
PHP Version
No response
Hosting Environment
ubuntu 22.04

This is a security control that Google are setting, not really something that can be worked around from a BookStack point of view. Many websites will block use in an iFrame due to security concerns.

Can you suggest the possible way to do google login inside the iframe  ?

No, not really anything with Google direct.
You could maybe find an alternative auth platform, which does not prevent (or can be hacked to allow) iframe use, that can use google as an upstream auth provider itself, then use that with BookStack.
These are not paths I'd suggest or can recommended further on though, these limits are in place for security, and iframes as a bunch of troubles (They can also complicate cookies and visuals).

Since there's been no follow-up I'm going to close this.

welp, then the html used isn't the problem then and the issue is not fixed.


[Feature]:  Support Yapi

Is there an existing issue for this?

[X] I have searched the existing issues

Summary
Yapi is one of the most popular api management platform in China. I want to support Yapi can  be used in appsmith. What will I do if I want to pull request?
Why should this be worked on?

support Yapi

Hi @jiangtao could you tell us what do you expect from this integration?

Hope to support yapi data source @Nikhil-Nandagopal

@Aaronwn please do tell us how you expect this integration to work. We'd also be welcoming to a contribution


test_generate_multi_value_hash failure

Failure Information
ocean_lib/web3_internal/test/test_utils.py::test_generate_multi_value_hash fails when using the TEST_PRIVATE_KEY1 value listed in marketplace-flow.md and developers.md.  The test passes when using the TEST_PRIVATE_KEY1 value listed in pytest.ini or tox.ini.
Expected Behavior
All tests pass.
Step to Reproduce the problem

Start barge, export TEST_PRIVATE_KEY1 env variable, deploy fake OCEAN as described in the developers flow
Execute pytest ocean_lib/web3_internal/test/test_utils.py::test_generate_multi_value_hash

Possible Solution
Change marketplace-flow.md and developers.md such that TEST_PRIVATE_KEY1 and TEST_PRIVATE_KEY2 matches the values listed in pytest.ini and tox.ini.
Reference
marketplace-flow.md and developers.md
export TEST_PRIVATE_KEY1=0xc594c6e5def4bab63ac29eed19a134c130388f74f019bc74b8f4389df2837a58
export TEST_PRIVATE_KEY2=0xef4b441145c1d0f3b4bc6d61d29f5c6e502359481152f869247c7a4244d45209

pytest.ini and tox.ini
    TEST_PRIVATE_KEY1=0xbbfbee4961061d506ffbb11dfea64eba16355cbf1d9c29613126ba7fec0aed5d
    TEST_PRIVATE_KEY2=0x804365e293b9fab9bd11bddd39082396d56d30779efbb3ffb0a6089027902c4a

Assigned to Maria since this is exactly the issue with private keys. Please modify developers.md to match tox.ini and pytest.ini, not the other way around. This will probably be closed by #267.


Got Code signing is required for product type 'Application' in SDK 'iOS 10.1

New Issue Checklist

[✅] Updated fastlane to the latest version
[✅] I have read the Contribution Guidelines

Issue Description
Hi, I tried to build my app by gym, but I got “Code signing is required for product type 'Application' in SDK 'iOS 10.1’” and process failed. I have read #6519 , but the solution not work for me.
Here is some information:

My Xcode version is 8.1

I hope the build process can be done without adding account to Xcode Accounts(I want to do everything without open Xcode), so Automatically manage signing has been unchecked.

I didn't use match.

My lane is:
  lane :fastlane_try do
    cert
    sigh
    update_project_team(
      path: "FastTry.xcodeproj",
      teamid: "XXXXXXXXX"
    )
    update_project_provisioning(
      xcodeproj: "FastTry.xcodeproj",
      target_filter: ".*FastTry.*",
      build_configuration: "Release",
    )
    gym(
      clean: true,
      codesigning_identity: "iOS Distribution: XXXXXX"
    )
  end

I tried to use update_project_team and update_project_provisioning to set the provisioning profiles of my project, after the fastlane process, Sign(Release) part of Xcode is like this:

fastlane process failed at step gym, the output is:
▸ Cleaning FastTry/FastTry [Debug]
▸ Check Dependencies
▸ Clean Succeeded
▸ Building FastTry/FastTry [Release]
▸ Check Dependencies

❌  Code signing is required for product type 'Application' in SDK 'iOS 10.1'

** ARCHIVE FAILED **

The following build commands failed:
Check dependencies
(1 failure)
[17:19:07]: Exit status: 65
[17:19:07]: 📋  For a more detailed error log, check the full log at:
[17:19:07]: 📋  /Users/XXXXXX/Library/Logs/gym/FastTry-FastTry.log
[17:19:07]: Variable Dump:
[17:19:07]: {:DEFAULT_PLATFORM=>:ios, :PLATFORM_NAME=>:ios, :LANE_NAME=>"ios fastlane_try", :CERT_FILE_PATH=>"#{CERT_FILE_PATH}", :CERT_CERTIFICATE_ID=>"#{CERT_CERTIFICATE_ID}", :SIGH_PROFILE_PATH=>"#{SIGH_PROFILE_PATH}", :SIGH_PROFILE_PATHS=>["#{SIGH_PROFILE_PATHS}"], :SIGH_UDID=>"#{SIGH_UDID}", :SIGH_PROFILE_TYPE=>"app-store"}
[17:19:07]: Error building the application - see the log above

+------+-------------------------------------+-------------+
|                     fastlane summary                     |
+------+-------------------------------------+-------------+
| Step | Action                              | Time (in s) |
+------+-------------------------------------+-------------+
| 1    | Verifying required fastlane version | 0           |
| 2    | default_platform                    | 0           |
| 3    | cert                                | 8           |
| 4    | sigh                                | 13          |
| 5    | update_project_team                 | 0           |
| 6    | update_project_provisioning         | 0           |
| 💥    | gym                                 | 2           |
+------+-------------------------------------+-------------+

If I open Xcode, and tap Provisioning Profile in Signing(Release), choose com.lanford.FastTry AppStore(the option isn't changed), the Signing(Release) part would be like this:
 -- Signing Certificate changed from None to iPhone Distribution, and then, gym would works fine, the app can be build successfully.

If I keep Signing parts are none, and I can build the app by xcodebuild successfully, All in all, I hope I can do it by gym, so could you tell me what should I do?(no Xcode Accounts, without open Xcode, build app with provisioning profiles managed by sigh and certificates generated by cert directly), thank you!

Complete output when running fastlane, including the stack trace and command used
output is the 5th part of Issue Description, the command is fastlane ios fastlane_try
Environment
Please run fastlane env and copy the output below. This will help us help you :+1:
🚫 fastlane environment 🚫
Stack

Key
Value

OS
10.11.6

Ruby
2.3.1

Bundler?
true

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
8.1

Git
git version 2.9.3 (Apple Git-75)

Installation Source
/Users/GavinFlying/.rvm/rubies/ruby-2.3.1/bin/fastlane

Host
Mac OS X 10.11.6 (15G1004)

Ruby Lib Dir
/Users/GavinFlying/.rvm/rubies/ruby-2.3.1/lib

OpenSSL Version
OpenSSL 1.0.2h  3 May 2016

fastlane files:
`./fastlane/Fastfile`
# Customise this file, documentation can be found here:
# https://github.com/fastlane/fastlane/tree/master/fastlane/docs
# All available actions: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Actions.md
# can also be listed using the `fastlane actions` command

# Change the syntax highlighting to Ruby
# All lines starting with a # are ignored when running `fastlane`

# If you want to automatically update fastlane if a new version is available:
# update_fastlane

# This is the minimum version number required.
# Update this, if you use features of a newer version
fastlane_version "1.106.2"

default_platform :ios

platform :ios do
  before_all do
    # ENV["SLACK_URL"] = "https://hooks.slack.com/services/..."

  end

  desc "Runs all the tests"
  lane :test do
    scan
  end

  lane :fastlane_try do
    cert
    sigh
    update_project_team(
      path: "FastTry.xcodeproj",
      teamid: "XXXXXXXXX"
    )
    update_project_provisioning(
      xcodeproj: "FastTry.xcodeproj",
      target_filter: ".*FastTry.*",
      build_configuration: "Release",
    )
    gym(
      clean: true,
      codesigning_identity: "iOS Distribution: XXXXXX"
    )
  end

  lane :fast_test do
    puts("#{ENV}")
    #update_info_plist(
    #  plist_path: "FastTry/Info.plist",
    #  app_identifier: "com.lanford.iOSclub",
    #  display_name: "iOSclub"
    #)
    update_project_team(
      path: "FastTry.xcodeproj",
      teamid: "Y2VDUB37Q5"
    )
    update_project_provisioning(
      xcodeproj: "FastTry.xcodeproj",
      target_filter: ".*FastTry.*",
      build_configuration: "Release",
    #  certificate: "2MEN5Y44Y6.cer"
    )
    #update_provisioning_profile_specifier
    gym(
      #clean: true,
      codesigning_identity: "iOS Distribution: Linfeng Cai"
    )
    #update_app_group_identifiers(
    #  entitlements_file: "MoreSpaces/MoreSpaces.entitlements",
    #  app_group_identifiers: ["group.com.lanford.iOSclub"]
    #)
  end

  desc "Submit a new Beta Build to Apple TestFlight"
  desc "This will also make sure the profile is up to date"
  lane :beta do
    # match(type: "appstore") # more information: https://codesigning.guide
    gym(scheme: "FastTry") # Build your app - more options available
    pilot

    # sh "your_script.sh"
    # You can also use other beta testing services here (run `fastlane actions`)
  end

  desc "Deploy a new version to the App Store"
  lane :release do
    # match(type: "appstore")
    # snapshot
    gym(scheme: "FastTry") # Build your app - more options available
    deliver(force: true)
    # frameit
  end

  # You can define as many lanes as you want

  after_all do |lane|
    # This block is called, only if the executed lane was successful

    # slack(
    #   message: "Successfully deployed new App Update."
    # )
  end

  error do |lane, exception|
    # slack(
    #   message: exception.message,
    #   success: false
    # )
  end
end

# More information about multiple platforms in fastlane: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Platforms.md
# All available actions: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Actions.md

# fastlane reports which actions are used
# No personal data is recorded. Learn more at https://github.com/fastlane/enhancer

`./fastlane/Appfile`
app_identifier "com.lanford.FastTry" # The bundle identifier of your app
apple_id<EMAIL_ADDRESS># Your Apple email address

team_id "Y2VDUB37Q5"  # Developer Portal Team ID

# you can even provide different app identifiers, Apple IDs and team names per lane:
# More information: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Appfile.md

fastlane gems

Gem
Version
Update-Status

credentials_manager
0.16.2
✅ Up-To-Date

fastlane_core
0.53.0
✅ Up-To-Date

spaceship
0.36.2
✅ Up-To-Date

cert
1.4.3
✅ Up-To-Date

deliver
1.14.5
✅ Up-To-Date

frameit
3.0.0
✅ Up-To-Date

gym
1.11.3
✅ Up-To-Date

sigh
1.11.2
✅ Up-To-Date

match
0.10.0
✅ Up-To-Date

pem
1.3.2
✅ Up-To-Date

pilot
1.11.2
✅ Up-To-Date

produce
1.2.1
✅ Up-To-Date

scan
0.13.1
✅ Up-To-Date

screengrab
0.5.5
✅ Up-To-Date

snapshot
1.16.3
✅ Up-To-Date

supply
0.7.1
✅ Up-To-Date

fastlane
1.106.2
✅ Up-To-Date

Loaded fastlane plugins:

Plugin
Version
Update-Status

fastlane-plugin-update_project_codesigning
0.1.2
✅ Up-To-Date

fastlane-plugin-update_provisioning_profile_specifier
1.1.0
🚫 Update availaible

Loaded gems

Gem
Version

executable-hooks
1.3.2

bundler-unload
1.0.2

rubygems-bundler
1.4.4

bundler
1.13.6

CFPropertyList
2.3.3

i18n
0.7.0

json
1.8.3

minitest
5.9.1

thread_safe
0.3.5

tzinfo
1.2.2

activesupport
<IP_ADDRESS>

addressable
2.4.0

babosa
1.0.2

colored
1.2

highline
1.7.8

commander
4.4.0

security
0.1.3

credentials_manager
0.16.2

excon
0.54.0

gh_inspector
1.0.2

multi_json
1.12.1

plist
3.1.0

rubyzip
1.1.7

terminal-table
1.4.5

fastlane_core
0.53.0

multipart-post
2.0.0

faraday
0.9.2

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20161021

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

faraday_middleware
0.10.0

fastimage
1.6.8

multi_xml
0.5.5

claide
1.0.1

dotenv
2.1.1

mini_magick
4.5.1

rouge
1.11.1

xcpretty
0.2.4

net-ssh
3.2.0

net-sftp
2.1.2

krausefx-shenzhen
0.14.10

slack-notifier
1.5.1

xcpretty-travis-formatter
0.0.4

jwt
1.5.6

little-plugger
1.1.4

logging
2.1.0

memoist
0.15.0

os
0.9.6

signet
0.7.3

googleauth
0.5.1

httpclient
<IP_ADDRESS>

hurley
0.2

mime-types-data
3.2016.0521

mime-types
3.1

uber
0.0.15

representable
2.3.0

retriable
2.1.0

google-api-client
0.9.19

terminal-notifier
1.7.1

word_wrap
1.0.0

xcode-install
2.0.8

nanaimo
0.1.4

xcodeproj
1.4.0

fastlane-plugin-update_project_codesigning
0.1.2

fastlane-plugin-update_provisioning_profile_specifier
1.1.0

generated on: 2016-11-02

please read the codesigning guide - about how to sign on xcode8.
also the action update_project_provisioning is not working for xcode8 and above as another variable is used inside the project file.
please see - and maybe +1 this PR - wich adds a param provisioning_profile_specifier to set the new variable inside the update_project_provisioning action.
https://github.com/fastlane/fastlane/pull/6561
also you can look at this comment: https://github.com/fastlane/fastlane/issues/6533#issuecomment-253746551  (and that issue in general) on how to use the https://github.com/hjanuschka/fastlane-plugin-update_project_codesigning to toggle auto, manual signing

Thank you @hjanuschka ! It solved my problem. :+1:
I had to implement this way:
update_project_provisioning(
      xcodeproj: 'build_files/ios/project/Cavadinha.xcodeproj',
      profile: 'app/env/match_AppStore_comCavadinha.mobileprovision',
      target_filter: '.*',
      build_configuration: '.*'
  )

  gym(
      project: 'build_files/ios/project/Cavadinha.xcodeproj',
      scheme: 'Cavadinha'
  )

  testflight

@hjanuschka As always thanks so much for helping out 👍 Hope you are having a great week!

Just a note, that solution won't work on complex projects.
Projects with cocoapods or with multiple targets will need a more fine grained solution (this means using some Build setting magic checked in the project or modified on the fly).
Related: https://github.com/fastlane/fastlane/issues/6519

Hey everyone, with newer versions of fastlane we'll now also show the last few lines of the raw build output, this might look like the following
[14:02:53]: ▸ === BUILD TARGET wwdcfamily OF PROJECT wwdcfamily WITH CONFIGURATION Release ===
[14:02:53]: ▸ Check dependencies
[14:02:53]: ▸ No iOS profile matching 'N8X438SEU2/match AppStore family.wwdc.app' found:  Xcode couldn't find a profile matching 'N8X438SEU2/match AppStore family.wwdc.app'. Install the profile (by dragging and dropping it onto Xcode's dock item) or select a different one in the General tab of the target editor.
[14:02:53]: ▸ Code signing is required for product type 'Application' in SDK 'iOS 10.3'
[14:02:53]:
[14:02:53]: ⬆  Check out the few lines of raw `xcodebuild` output above for potential hints on how to solve this error
[14:02:53]: 📋  For the complete and more detailed error log, check the full log at:
[14:02:53]: 📋  /tmp/circle-artifacts.3CI68wp/gym/wwdcfamily-wwdcfamily.log

Note how the following line tells you the exact problem:
No iOS profile matching 'N8X438SEU2/match AppStore family.wwdc.app' found:  Xcode couldn't find a profile matching 'N8X438SEU2/match AppStore family.wwdc.app'. Install the profile

This should make it possible for you to debug the issue and work out a fix 👍  We'll continue working on improving the messaging of fastlane 🚀


Missing INTUNE_A_D product name

Hello,
On this page there is a missing product name for INTUNE_A_D which has the friendly name of "Microsoft Intune Device" and the GUID '2b317a4a-77a6-4188-9437-b68a77b4e2c6'.
Please add it.
Thank you,
Pavel.

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

ID: 7c245452-161d-89a1-c026-99a0721cf071
Version Independent ID: 16dec59a-eb83-1837-4efd-4645e7aeaed2
Content: Product names and service plan identifiers for licensing - Azure AD
Content Source: articles/active-directory/enterprise-users/licensing-service-plan-reference.md
Service: active-directory
Sub-service: users-groups-roles
GitHub Login: @kkern
Microsoft Alias: kakern

@pavelrozenberg
Thanks for your feedback! We will investigate and update as appropriate.

@pavelrozenberg
Thanks for your feedback! I have assigned this issue to the author who will investigate and update as appropriate.

Thank you for your patience!
I made a pull request to add this one. https://github.com/MicrosoftDocs/azure-docs-pr/pull/136083
CC @kkern to review and approve


[TaskGroup] add simple test to group asynciterator test

Simple additional test, not because it's unexpected but to document what we're expecting.

@swift-ci please smoke test and merge


Migrate tags configuration feature to use python-gitlab library

Goal of this issue is to migrate the tags configuration feature to use python-gitlab library instead of using homegrown API in this project.
Todo:

Delete gitlabform/gitlab/tags.py as it shouldn't be needed anymore
Update gitlabform/processors/project/tags_processor.py

To use the python-gitlab library, use self.gl instead of self.gitlab. See the library docs for more help

This is now available in v3.9.0 release. Thanks for your contribution.


[No QA] Fix deployBlocker workflow

Details
Fixing failed workflow
Fixed Issues
$ n/a
Tests

Merge this PR
Mark another issue with special characters like ' or " or | in the title as a deploy blocker
Verify it's added to the checklist
Verify it's announced in slack

[x] Verify that no errors appear in the JS console

Offline tests
None.
QA Steps
None.

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

The replace logic is weird and depends upon a nuance of the slack action – you can basically pass it JS and it will run it? You can see we used to have something similar here, so this is basically a simplifed version that does only one replace and doesn't rely on this very confusing sed

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/luacmartins in version: 1.4.2-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/luacmartins in version: 1.4.2-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


add python intro material

Thanks Ray! Let's keep the material organized by season and LB number folders, e.g. py_intro/ would be Fall_2018/LB14/. I will add this note the the Contributing section. I am also open to alternative directory structures, but let's keep it organized.

No worries. Happy to keep your folder format. Will do it later


Fix issue with async dynamic System.import dependencies not being re-emitted

Please check if the PR fulfills these requirements

[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

[X] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Other... Please describe:

What is the current behavior? (You can also link to an open issue here)
Per #2490, chunks of dynamic System.import dependencies are not re-emitted on hot reload.
Per webpack/extract-text-webpack-plugin#188, the plugin fails because it cannot find the non re-emitted chunk.
What is the new behavior?
The chunks are now emitted when a reload occurs, fixing #2490 and webpack/extract-text-webpack-plugin#188.
Does this PR introduce a breaking change?

[ ] Yes
[X] No

[Current coverage][cc-pull] is 91.15%

Merging [#2714][cc-pull] into [master][cc-base-branch] will decrease coverage by 0.23%

@@             master      #2714   diff @@
==========================================
  Files           232        232
  Lines          9239       9239
  Methods        1689       1690     +1
  Messages          0          0
  Branches       1859       1859
==========================================
- Hits           8444       8422    -22
- Misses          795        817    +22
  Partials          0          0

Powered by Codecov. Last updated by [e9b985c...ab9aef1][cc-compare]
[cc-base-branch]: https://codecov.io/gh/webpack/webpack/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/webpack/webpack/compare/e9b985c852debbeca8f45aac7a0b3e6246a0b29c...ab9aef114098f83fcf502494d017457669fc71b7
[cc-pull]: https://codecov.io/gh/webpack/webpack/pull/2714?src=pr

Thanks :heart:


Release status of 0.7.0-rc.0

What's your question?
Why is 0.7.0-rc.0 still marked as pre-release
Additional Context
A product I suport for my company is examining our 3rd party libraries and making sure we have latest releases.  When I look at jwt-cpp, I see there is a version 0.7.0-rc.0, but that it is still marked as pre-release and there has not been a formal "latest release" since 0.6 11 months after the 0.7.0-rc.0 has been released.
We typically would move to a newer version but I question whether we should given that it is still marked pre-release.
Will there be a formal release of this code?

Super excited to learn about a new user using this in real code :) so thank you!
It has been brought up but we are a small team of maintainers and haven't had the chance to finalize it.
See https://github.com/Thalhammer/jwt-cpp/pull/299. That tag should never change. When 0.7.0 is made it will be against the latest code in master.
I personally am relocating to a different country as my work visa expired and will need to find new employment.
It may be several months before the release but rest assured it's "next" on the agenda for the project.

Thanks for your feedback.  We will likely stick with 0.6.0 release and then upversion when you release 0.7.0
Best of luck in your move and job search.

https://github.com/Thalhammer/jwt-cpp/releases/tag/v0.7.0 Now exists 😄


Upgrade to bytes v1.0.0

With crates like tokio and reqwest going to bytes v1.0.0, it would really be helpful if rust-protobuf upgraded to match them. Is this something you would consider? I don't currently see any obvious pitfalls in the upgrade, and it would be really beneficial to me.
Let me know if you'd like me to open a PR for it.
Thanks

Yes, that would be the right thing to do.
If you could submit PR to master, I'll backport it to stable branch and release it.

Yes, that would be the right thing to do.
If you could submit PR to master, I'll backport it to stable branch and release it.

Great, thank you very much! I opened a PR https://github.com/stepancheg/rust-protobuf/pull/537
The upgrade didn't seem to require any additional code changes, so let me know if there's more I need to do.

Great, thank you very much! I opened a PR https://github.com/stepancheg/rust-protobuf/pull/537
The upgrade didn't seem to require any additional code changes, so let me know if there's more I need to do.

2.20.0 released with bytes 1.0.

2.20.0 released with bytes 1.0.


trezor_t and keepkey having CI issues on master tip

Seems like it was just an unclean cache issue. That particular problem has been fixed by clearing the cache.
But there is now a new problem with the trezor 1 getxpub tests.


Thanks

Thanks for your bot IM using 100 paid proxy and every proxy connected but Grass Balance showing zero why and how to check balance please reply

it will take ~2 days for points to credit depending on your country time normal points are added around 11AM UTC next day !!
So wait until that and make sure to use proper and quality residential proxies along with 24/7 uptime of script


Add 'minimum' for some fields in Projector

You can use minimum. See the docs in the top of the file.

Done


Fb logging

Proposed changes:

Add warnings to log if fb_secret/fb_verify is incorrect

Status (please check what you already did):

[x] made PR ready for code review
[ ] added some tests for the functionality
[ ] updated the documentation
[ ] updated the changelog

@akelad also please make sure to sign https://cla-assistant.io/RasaHQ/rasa_core :D


Monitoring multiple bosh directors

Is it possible to monitor multiple bosh directors with a single prometheus deployment? We would like to run a single prometheus that collects metrics from multiple directors (staging and production). It looks like the bosh exporter only talks to a single director, so we'd need to run multiple instances of the exporter. And that would mean running each exporter on a separate vm, since bosh doesn't know how to run multiple instances of the same job on the same host. And that would mean prometheus wouldn't be able to read service discovery files generated by bosh exporters, since we can only colocate prometheus with one of the exporters.
It seems like our options for this use case would be:

Teach the bosh exporter to monitor multiple bosh directors
Run multiple vms, each with prometheus and bosh exporter, and use federation to combine metrics

Does the first option make sense to you @frodenas, or do you think the exporter should only monitor a single director? Or am I missing a simpler solution?
cc @cnelson

And that would mean running each exporter on a separate vm, since bosh
doesn't know how to run multiple instances of the same job on the same host.

i was just chatting with @dpb587 about plans for this in the future...

And that would mean prometheus wouldn't be able to read service discovery
files generated by bosh exporters

what are "service discovery files" that bosh exporter generates?
On Thu, Aug 10, 2017 at 11:21 AM, Joshua Carp<EMAIL_ADDRESS>wrote:

Is it possible to monitor multiple bosh directors with a single prometheus
deployment? We would like to run a single prometheus that collects metrics
from multiple directors (staging and production). It looks like the bosh
exporter only talks to a single director, so we'd need to run multiple
instances of the exporter. And that would mean running each exporter on a
separate vm, since bosh doesn't know how to run multiple instances of the
same job on the same host. And that would mean prometheus wouldn't be able
to read service discovery files generated by bosh exporters, since we can
only colocate prometheus with one of the exporters.
It seems like our options for this use case would be:

Teach the bosh exporter to monitor multiple bosh directors
Run multiple vms, each with prometheus and bosh exporter, and use
federation to combine metrics

Does the first option make sense to you @frodenas
https://github.com/frodenas, or do you think the exporter should only
monitor a single director? Or am I missing a simpler solution?
cc @cnelson https://github.com/cnelson
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/cloudfoundry-community/prometheus-boshrelease/issues/106,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AALV98bPJVw8YRdTzFhdJ-tny4kcKbd5ks5sW0orgaJpZM4OzzIz
.

@jmcarp I've heard this request several times, and not only for the bosh_exporter, but for other exporters as well.
The best practice recommended by the prometheus developers has always been an exporter should monitor a single resource and spin up as many instances of the exporter as resources to monitor (and if possible collocated with the resource to be monitored). This is why most (if not all) of the exporters only support scrapping a single resource. This is a challenge when using bosh (and you already mentioned why), and specifically, it's more challenging for the bosh_exporter, as it needs to be collocated with the prometheus server in order to use the service discovery approach.
I've used the 2nd approach multiple times (multiple prometheus and use federation), and this is the pattern that I recommend. I known that this might be overkilling, but I'm reluctant to apply the 1st approach (update the bosh_exporter to allow scrapping multiple directors) because:

I want to follow the common approach of scrapping a single resource;
I want to find a solution that can be applied to all exporters.

One option that I've been considering is to use the pattern used by the docker-boshrelease (and maybe use it alongside the alpha bpm). This will allow to spin up multiple instances of the same exporter using a single job (and therefore, in the same vm) and running as a separate isolated processes (for those exporters that use env vars for configuration). For example, the bosh_exporter job can accept an array of properties and it can dynamically invoke separate bosh_exporter processes using bpm. Each process will write the service discovery file using a different name, and prometheus can scrape all of them. Obviously, I'm over simplifying the solution (still need to spike on it), but it might be worth a try.

@cppforlife Any hints about those future plans?
The service discovery file contains all vm's IP addresses and some metadata (like the job and processes running on each vm). The format of that file is described at the prometheus documentation. It's super useful when you don't know up front which will be the IP addresses (b/c bosh will handle that or b/c you've deployed an addon). Instead of configuring prometheus with the IP addresses of the exporters to be scrapped, it reads the configuration from a service discovery file and applies some logic to determine the exporter (an example can be found at this operator file).

we were thinking about automatically setting <% spec.name %> to job+guid
(that director generates) and having release author use spec.name in paths
and monit names. it a fairly cheap change i think compared alternatives.
wdyt?
On Thu, Aug 10, 2017 at 2:33 PM, Ferran Rodenas<EMAIL_ADDRESS>wrote:

@cppforlife https://github.com/cppforlife Any hints about those future
plans?
The service discovery file contains all vm's IP addresses and some
metadata (like the job and processes running on each vm). The format of
that file is described at the prometheus documentation
https://github.com/prometheus/prometheus/tree/master/discovery#writing-an-sd-mechanism.
It's super useful when you don't know up front which will be the IP
addresses (b/c bosh will handle that or b/c you've deployed an addon).
Instead of configuring prometheus with the IP addresses of the exporters to
be scrapped, it reads the configuration from a service discovery file and
applies some logic to determine the exporter (an example can be found at
this operator file
https://github.com/cloudfoundry-community/prometheus-boshrelease/blob/master/manifests/operators/monitor-bosh.yml#L50
).
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/cloudfoundry-community/prometheus-boshrelease/issues/106#issuecomment-321679572,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AALV9xdvDKh5Nc9zcb2OaqMjz2omKx2cks5sW3cpgaJpZM4OzzIz
.

what happens with properties? Will all instances share the same properties?

related to https://github.com/cloudfoundry-community/prometheus-boshrelease/issues/11

We are also facing this issue. We think the best approach is using prometheus federation.
But, what about writing a SD discovery module for BOSH: https://github.com/prometheus/prometheus/tree/master/discovery ?
With the director  HTTP API is easy to get the list of VMs and the metadata to provide the deployments name, etc.

@jriguera The bosh_exporter already implements a sd collector. You can also see it in action when using the bosh op file.

Yep, true (Sorry, Its Monday ....) I was thinking on the prometheus side, what I wanted to say is implementing a bosh_sd_config on their side in the same way there is a kubernetes_sd_config which talks directly with the API, but ofc, it has to be done in the Prometheus project.

Prometheus devs don't easily accept new sds, there has been some pushback recently when some ppl tried to implement sd into prometheus. But up to you if you want to propose it at the prometheus github repo 😄

@jmcarp Please reopen if you still have more doubts about the recommended approach.


prepare files for huggingface

data.zip with train.jsonl, valid.jsonl, and test.jsonl

Use internet archive instead: https://archive.org/details/scb_mt_enth_2020


Release 3.4.1 plan and milestones.

Describe the bug
Issue to track next minor release of 3.4.0 series:
The idea here is to capture the wishlist from Ceph CSI community which they would like to see in this release. We could capture this in a google doc or in form of comments on the issue. However the format should not be a blocker for capturing this info, thus tracking it for the next release.
[update] Wish list:
https://hackmd.io/8OqCr1mrTMGtBcJ7XNdDBg?view

@Yuggupta27 thanks for volunteering as the release owner for 3.4.1 :+1: , so please take it forward wrt to release items sorting, sprint plan, board management...etc..

Project board for 3.4.1 https://github.com/ceph/ceph-csi/projects/15

@Yuggupta27 thanks for volunteering as the release owner for 3.4.1  , so please take it forward wrt to release items sorting, sprint plan, board management...etc..

My pleasure :) Will do the needful.
Thanks @Madhu-1 for sharing the project board :+1:


Standalone build crashes when calling NetworkClient:SpawnPrefab

Describe the bug
When a client connects to a server on a standalone build the game crashes entirely when calling NetworkClient:SpawnPrefab.  See below stack trace.
Something inside Unity's code at UnityEngine.Object:Internal_InstantiateSingle_Injected appears to be the cause.
[IMPORTANT] How can we reproduce the issue, step by step:
I will follow up with repro steps if I can discover what leads to this.
Expected behavior
Game should not crash when calling NetworkClient:SpawnPrefab.
Desktop (please complete the following information):

OS: Windows
Build target: standalone
Unity version: 2021.3.7f1
Mirror branch: master

Additional context
According to Unity the "Attempt to access invalid address" isn't the direct issue:

"ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.'" basically means that our crash handler failed to locate where the code crashed.
See: https://forum.unity.com/threads/u5-3-error-symgetsymfromaddr64-getlasterror-attempt-to-access-invalid-address.413565/

Related Stack Trace
The file 'none' is corrupted! Remove it and launch unity again!
[Position out of bounds!]
UnityEngine.StackTraceUtility:ExtractStackTrace ()
UnityEngine.Object:Internal_InstantiateSingle (UnityEngine.Object,UnityEngine.Vector3,UnityEngine.Quaternion)
UnityEngine.Object:Instantiate (UnityEngine.Object,UnityEngine.Vector3,UnityEngine.Quaternion)
UnityEngine.Object:Instantiate<UnityEngine.GameObject> (UnityEngine.GameObject,UnityEngine.Vector3,UnityEngine.Quaternion)
Mirror.NetworkClient:SpawnPrefab (Mirror.SpawnMessage) (at C:/BuildAgent/work/997f5326dc10e5a/hazmats/Assets/Mirror/Runtime/NetworkClient.cs:1113)
Mirror.NetworkClient:FindOrSpawnObject (Mirror.SpawnMessage,Mirror.NetworkIdentity&) (at C:/BuildAgent/work/997f5326dc10e5a/hazmats/Assets/Mirror/Runtime/NetworkClient.cs:1067)
Mirror.NetworkClient:OnSpawn (Mirror.SpawnMessage) (at C:/BuildAgent/work/997f5326dc10e5a/hazmats/Assets/Mirror/Runtime/NetworkClient.cs:1303)
Mirror.NetworkClient/<>c__DisplayClass47_0`1<Mirror.SpawnMessage>:<RegisterHandler>g__HandlerWrapped|0 (Mirror.NetworkConnection,Mirror.SpawnMessage) (at C:/BuildAgent/work/997f5326dc10e5a/hazmats/Assets/Mirror/Runtime/NetworkClient.cs:473)
Mirror.MessagePacking/<>c__DisplayClass7_0`2<Mirror.SpawnMessage, Mirror.NetworkConnection>:<WrapHandler>g__Wrapped|0 (Mirror.NetworkConnection,Mirror.SpawnMessage,int) (at C:/BuildAgent/work/997f5326dc10e5a/hazmats/Assets/Mirror/Runtime/MessagePacking.cs:144)
Mirror.MessagePacking/<>c__DisplayClass6_0`2<Mirror.SpawnMessage, Mirror.NetworkConnection>:<WrapHandler>b__0 (Mirror.NetworkConnection,Mirror.NetworkReader,int) (at C:/BuildAgent/work/997f5326dc10e5a/hazmats/Assets/Mirror/Runtime/MessagePacking.cs:126)
Mirror.NetworkClient:UnpackAndInvoke (Mirror.NetworkReader,int) (at C:/BuildAgent/work/997f5326dc10e5a/hazmats/Assets/Mirror/Runtime/NetworkClient.cs:288)
Mirror.NetworkClient:OnTransportData (System.ArraySegment`1<byte>,int) (at C:/BuildAgent/work/997f5326dc10e5a/hazmats/Assets/Mirror/Runtime/NetworkClient.cs:356)
IgnoranceTransport.Ignorance:ProcessClientPackets () (at C:/BuildAgent/work/997f5326dc10e5a/hazmats/Assets/Mirror/Runtime/Transports/Ignorance/Ignorance.cs:621)
IgnoranceTransport.Ignorance:ClientPump () (at C:/BuildAgent/work/997f5326dc10e5a/hazmats/Assets/Mirror/Runtime/Transports/Ignorance/Ignorance.cs:444)
IgnoranceTransport.Ignorance:FixedUpdate () (at C:/BuildAgent/work/997f5326dc10e5a/hazmats/Assets/Mirror/Runtime/Transports/Ignorance/Ignorance.cs:642)

Crash Stack Trace
0x00007FFBECB00272 (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FFBECB001AB)
0x00007FFBECB001AB (UnityPlayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Attempt to access invalid address.' (Address: 00007FFBEC5A0105)
0x00007FFBEC5A0105 (UnityPlayer) (function-name not available)
0x0000028F8E7BBBF7 (Mono JIT Code) (wrapper managed-to-native) UnityEngine.Object:Internal_InstantiateSingle_Injected (UnityEngine.Object,UnityEngine.Vector3&,UnityEngine.Quaternion&)
0x0000028F8E7BBA63 (Mono JIT Code) UnityEngine.Object:Internal_InstantiateSingle (UnityEngine.Object,UnityEngine.Vector3,UnityEngine.Quaternion)
0x0000028F8E7BB7A3 (Mono JIT Code) UnityEngine.Object:Instantiate (UnityEngine.Object,UnityEngine.Vector3,UnityEngine.Quaternion)
0x0000028F8E7BB413 (Mono JIT Code) UnityEngine.Object:Instantiate<T_REF> (T_REF,UnityEngine.Vector3,UnityEngine.Quaternion)
0x0000028F8E7B0893 (Mono JIT Code) [C:\BuildAgent\work\997f5326dc10e5a\hazmats\Assets\Mirror\Runtime\NetworkClient.cs:1113] Mirror.NetworkClient:SpawnPrefab (Mirror.SpawnMessage)
0x0000028F8E6D154B (Mono JIT Code) [C:\BuildAgent\work\997f5326dc10e5a\hazmats\Assets\Mirror\Runtime\NetworkClient.cs:1067] Mirror.NetworkClient:FindOrSpawnObject (Mirror.SpawnMessage,Mirror.NetworkIdentity&)
0x0000028F8E6D07BB (Mono JIT Code) [C:\BuildAgent\work\997f5326dc10e5a\hazmats\Assets\Mirror\Runtime\NetworkClient.cs:1303] Mirror.NetworkClient:OnSpawn (Mirror.SpawnMessage)
0x0000028F8E6D0DB3 (Mono JIT Code) (wrapper delegate-invoke) System.Action`1<Mirror.SpawnMessage>:invoke_void_T (Mirror.SpawnMessage)
0x0000028F8E6D05FB (Mono JIT Code) [C:\BuildAgent\work\997f5326dc10e5a\hazmats\Assets\Mirror\Runtime\NetworkClient.cs:473] Mirror.NetworkClient/<>c__DisplayClass47_0`1<Mirror.SpawnMessage>:<RegisterHandler>g__HandlerWrapped|0 (Mirror.NetworkConnection,Mirror.SpawnMessage)
0x0000028F8E6D0462 (Mono JIT Code) [C:\BuildAgent\work\997f5326dc10e5a\hazmats\Assets\Mirror\Runtime\MessagePacking.cs:144] Mirror.MessagePacking/<>c__DisplayClass7_0`2<Mirror.SpawnMessage, Mirror.NetworkConnection>:<WrapHandler>g__Wrapped|0 (Mirror.NetworkConnection,Mirror.SpawnMessage,int)
0x0000028F8E6CCBCB (Mono JIT Code) [C:\BuildAgent\work\997f5326dc10e5a\hazmats\Assets\Mirror\Runtime\MessagePacking.cs:126] Mirror.MessagePacking/<>c__DisplayClass6_0`2<Mirror.SpawnMessage, Mirror.NetworkConnection>:<WrapHandler>b__0 (Mirror.NetworkConnection,Mirror.NetworkReader,int)
0x0000028F8E6B73C6 (Mono JIT Code) [C:\BuildAgent\work\997f5326dc10e5a\hazmats\Assets\Mirror\Runtime\NetworkClient.cs:288] Mirror.NetworkClient:UnpackAndInvoke (Mirror.NetworkReader,int)
0x0000028F8E6B51C3 (Mono JIT Code) [C:\BuildAgent\work\997f5326dc10e5a\hazmats\Assets\Mirror\Runtime\NetworkClient.cs:356] Mirror.NetworkClient:OnTransportData (System.ArraySegment`1<byte>,int)
0x0000028F8E6B5A58 (Mono JIT Code) (wrapper delegate-invoke) System.Action`2<System.ArraySegment`1<byte>, int>:invoke_void_T1_T2 (System.ArraySegment`1<byte>,int)
0x0000028F8E67D358 (Mono JIT Code) [C:\BuildAgent\work\997f5326dc10e5a\hazmats\Assets\Mirror\Runtime\Transports\Ignorance\Ignorance.cs:621] IgnoranceTransport.Ignorance:ProcessClientPackets ()
0x0000028F56FDAA2B (Mono JIT Code) [C:\BuildAgent\work\997f5326dc10e5a\hazmats\Assets\Mirror\Runtime\Transports\Ignorance\Ignorance.cs:444] IgnoranceTransport.Ignorance:ClientPump ()
0x0000028F56FDA32B (Mono JIT Code) [C:\BuildAgent\work\997f5326dc10e5a\hazmats\Assets\Mirror\Runtime\Transports\Ignorance\Ignorance.cs:642] IgnoranceTransport.Ignorance:FixedUpdate ()
0x0000028F1F96F1D8 (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)

Closing as can't reproduce.  Mirror has many examples that spawn players and other networked objects, and if that didn't work we'd be flooded with screaming users.
For additional support, please join our Discord.


chore: Meteor latest version updates

Description
Some final cleanup and Meteor SDK version update before the new version is released.
( a continuation of https://github.com/near/wallet-selector/pull/348 )
Checklist:

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings

Type of change. This type of change is the main reason for the PR.

[ ] FIX - a PR of this type patches a bug.
[ ] FEATURE - a PR of this type introduces a new feature.
[ ] BUILD - a PR of this type introduces build changes.
[ ] CI - a PR of this type introduces CI changes.
[ ] DOCS - a PR of this type introduces DOCS improvement.
[ ] STYLE - a PR of this type introduces style changes.
[ ] REFACTOR - a PR of this type introduces refactoring.
[ ] PERFORMANCE - a PR of this type introduces performance changes.
[ ] TEST - a PR of this type adds more tests.
[x] CHORE - a PR introduces other changes than the specified above.

Breaking changes

[ ] BREAKING CHANGE - SPECIFY: _______
[x] NO BREAKING CHANGE - this PR doesn't contain any breaking changes and it's backwards compatible

Hey, @lostpebble thank you for submitting this PR.
It looks good 👍 .

Cheers, thanks for the fast merge!


fix: use light mode background on icons on fund screen

Try out this version of Leather — Extension build, Test report

Fixes #4691

I tested this and it's working. I noticed the modal BG location is not working anymore though:

@pete-watters oh shoot, probably messed it up with my other PR! Will take a look, thank you for catching this!


data-scope and | indicator

Then idea would be that one could declare scope on a node. Child nodes would be executed in that scope and variables set and fetched in the scope. If one would like to reset the scope one could start a visibility or content node with |
data-scope = hello
would lead to all children being evaluated as the scope
data-content = world
would be evaluated as
hello.world
data-content = |world
would be still evaluated as only world if in a scoped branch

Hype Reactive Content now support scopes with the delimiter arrow symbol (⇢)
And the data-scope attribute


erase firmware and re-flash didn't work

Hi
I have problem with connecting sonoff device to the wi-fi network
I try to erase flash with command
esptool.py --port /dev/ttyUSB0 erase_flash
after that, I upload firmware again but now it continuously reset
I try to upload other firmware like espurna, it work ok without problem
connect to wifi without a problem
burned compiled home kit flash again, and it again continuously reset
Also, try flash empty 1mb_bin to address 0x000000
how described on this page http://www.pratikpanda.com/completely-format-erase-esp8266-flash-memory/
and reflash home kit firmware again, it again continuously reset
I try to do the same on 2 unit
and both units didn't connect to the network when I first flash home kit firmware
and both continuously reset after erase_flash command
Someone know why I cant upload homekit firmware after erase_flash ?

Maybe I found solution
https://nodemcu.readthedocs.io/en/master/en/flash/#sdk-init-data
try later, maybe it helps.

Yes
I download SDK https://github.com/espressif/ESP8266_NONOS_SDK/archive/v2.1.0.zip
extract
and write bin/blank.bin and bin/esp_init_data_default.bin
for SonOff basic switch I run
esptool.py --port /dev/cu.wchusbserial1d150 --baud 115200 write_flash 0xfe000 blank.bin 0xfc000 esp_init_data_default.bin
after that, I successfully flash compiled the firmware
and everything is working
I