text:
OutOfMemoryError during diarization -> how to solve ?

Hi,
Let me start by a huge thank you for your work.
This project is giving me very satisfactory results, but I am now hitting a wall with some large files, that produce a OutOfMemoryError CUDA error.
The issue arises with audio files close of above 2 hours of duration.
My system is running a NVIDIA A4500 GPU (20GB VRAM), Linux Debian 12, and Python 3.10.11.
I am on latest commit available (1fe1f11, Oct 3 2024) as of today.
I have been trying incrementally smaller versions of my go-to model (which is based on whisper-large-v2) but it does not seem to make any difference at all, it keeps failing at the same step.
The OutOfMemory error happens during the call to "msdd_model.diarize()" from the main diarize.py file (see log below).
I am out of ideas to try, do you have any suggestion to solve this ?
NB: Also included below is a "pip freeze" of my installation.
# python3 diarize.py --whisper-model /models/whisper-french/whisper-large-v2-french/
 --language fr --device cuda --audio /share/20241009225704_3c6d633e-c282-19e7-879f-cdf8e73e1793.m4a

[NeMo W 2024-10-09 21:20:39 nemo_logging:349] /root/whisper-diarization/lib/python3.10/site-packages/pyannote/audio/core/io.py:43: UserWarning: torchaudio._b
ackend.set_audio_backend has been deprecated. With dispatcher enabled, this function is no-op. You can remove the function call.
      torchaudio.set_audio_backend("soundfile")

[NeMo W 2024-10-09 21:20:39 nemo_logging:349] /root/whisper-diarization/lib/python3.10/site-packages/pyannote/audio/pipelines/speaker_verification.py:43: Use
rWarning: torchaudio._backend.get_audio_backend has been deprecated. With dispatcher enabled, this function is no-op. You can remove the function call.
      backend = torchaudio.get_audio_backend()

[NeMo W 2024-10-09 21:20:39 nemo_logging:349] /root/whisper-diarization/lib/python3.10/site-packages/pyannote/audio/pipelines/speaker_verification.py:45: Use
rWarning: Module 'speechbrain.pretrained' was deprecated, redirecting to 'speechbrain.inference'. Please update your script. This is a change from SpeechBrai
n 1.0. See: https://github.com/speechbrain/speechbrain/releases/tag/v1.0.0
      from speechbrain.pretrained import (

[NeMo W 2024-10-09 21:20:39 nemo_logging:349] /root/whisper-diarization/lib/python3.10/site-packages/pyannote/audio/pipelines/speaker_verification.py:53: Use
rWarning: torchaudio._backend.set_audio_backend has been deprecated. With dispatcher enabled, this function is no-op. You can remove the function call.
      torchaudio.set_audio_backend(backend)

[NeMo W 2024-10-09 21:20:39 nemo_logging:349] /root/whisper-diarization/lib/python3.10/site-packages/pyannote/audio/tasks/segmentation/mixins.py:37: UserWarn
ing: `torchaudio.backend.common.AudioMetaData` has been moved to `torchaudio.AudioMetaData`. Please update the import path.
      from torchaudio.backend.common import AudioMetaData

/root/whisper-diarization/lib/python3.10/site-packages/demucs/api.py:27: UserWarning: TorchAudio's global backend is now deprecated. Please enable distpatche
r by setting `TORCHAUDIO_USE_BACKEND_DISPATCHER=1`, and specify backend when calling load/info/save function.
  import torchaudio as ta
Selected model is a bag of 1 models. You will see that many progress bars per track.
Separated tracks will be stored in /root/whisper-diarization/temp_outputs/htdemucs
Separating track /share/20241009225704_3c6d633e-c282-19e7-879f-cdf8e73e1793.m4a
100%|| 7324.2/7324.2 [02:39<00:00, 45.96seconds/s]
No language specified, language will be first be detected for each audio file (increases inference time).
Lightning automatically upgraded your loaded checkpoint from v1.5.4 to v2.4.0. To apply the upgrade to your files permanently, run `python -m pytorch_lightni
ng.utilities.upgrade_checkpoint ../.cache/torch/whisperx-vad-segmentation.bin`
Model was trained with pyannote.audio 0.0.1, yours is 3.1.1. Bad things might happen unless you revert pyannote.audio to 0.x.
Model was trained with torch 1.10.0+cu102, yours is 2.1.2+cu121. Bad things might happen unless you revert torch to 1.x.
[NeMo W 2024-10-09 21:23:51 nemo_logging:349] /root/whisper-diarization/lib/python3.10/site-packages/pyannote/audio/utils/reproducibility.py:74: Reproducibil
ityWarning: TensorFloat-32 (TF32) has been disabled as it might lead to reproducibility issues and lower accuracy.
    It can be re-enabled by calling
       >>> import torch
       >>> torch.backends.cuda.matmul.allow_tf32 = True
       >>> torch.backends.cudnn.allow_tf32 = True
    See https://github.com/pyannote/pyannote-audio/issues/1370 for more details.

      warnings.warn(

[NeMo W 2024-10-09 21:25:49 nemo_logging:349] /root/whisper-diarization/lib/python3.10/site-packages/huggingface_hub/file_download.py:1142: FutureWarning: `r
esume_download` is deprecated and will be removed in version 1.0.0. Downloads always resume when possible. If you want to force a new download, use `force_do
wnload=True`.
      warnings.warn(

[NeMo I 2024-10-09 21:28:41 msdd_models:1097] Loading pretrained diar_msdd_telephonic model from NGC
[NeMo I 2024-10-09 21:28:41 cloud:58] Found existing object /root/.cache/torch/NeMo/NeMo_2.0.0rc1/diar_msdd_telephonic/3c3697a0a46f945574fa407149975a13/diar_
msdd_telephonic.nemo.
[NeMo I 2024-10-09 21:28:41 cloud:64] Re-using file from: /root/.cache/torch/NeMo/NeMo_2.0.0rc1/diar_msdd_telephonic/3c3697a0a46f945574fa407149975a13/diar_ms
dd_telephonic.nemo
[NeMo I 2024-10-09 21:28:41 common:826] Instantiating model from pre-trained checkpoint
[NeMo W 2024-10-09 21:28:42 modelPT:176] If you intend to do training or fine-tuning, please call the ModelPT.setup_training_data() method and provide a vali
d configuration file to setup the train data loader.
    Train config :
    manifest_filepath: null
    emb_dir: null
    sample_rate: 16000
    num_spks: 2
    soft_label_thres: 0.5
    labels: null
    batch_size: 15
    emb_batch_size: 0
    shuffle: true

[NeMo W 2024-10-09 21:28:42 modelPT:183] If you intend to do validation, please call the ModelPT.setup_validation_data() or ModelPT.setup_multiple_validation
_data() method and provide a valid configuration file to setup the validation data loader(s).
    Validation config :
    manifest_filepath: null
    emb_dir: null
    sample_rate: 16000
    num_spks: 2
    soft_label_thres: 0.5
    labels: null
    batch_size: 15
    emb_batch_size: 0
    shuffle: false

[NeMo W 2024-10-09 21:28:42 modelPT:189] Please call the ModelPT.setup_test_data() or ModelPT.setup_multiple_test_data() method and provide a valid configura
tion file to setup the test data loader(s).
    Test config :
    manifest_filepath: null
    emb_dir: null
    sample_rate: 16000
    num_spks: 2
    soft_label_thres: 0.5
    labels: null
    batch_size: 15
    emb_batch_size: 0
    shuffle: false
    seq_eval_mode: false

[NeMo I 2024-10-09 21:28:42 features:305] PADDING: 16
[NeMo I 2024-10-09 21:28:42 features:305] PADDING: 16
[NeMo I 2024-10-09 21:28:42 save_restore_connector:272] Model EncDecDiarLabelModel was successfully restored from /root/.cache/torch/NeMo/NeMo_2.0.0rc1/diar_
msdd_telephonic/3c3697a0a46f945574fa407149975a13/diar_msdd_telephonic.nemo.
[NeMo I 2024-10-09 21:28:42 features:305] PADDING: 16
[NeMo I 2024-10-09 21:28:43 clustering_diarizer:127] Loading pretrained vad_multilingual_marblenet model from NGC
[NeMo I 2024-10-09 21:28:43 cloud:58] Found existing object /root/.cache/torch/NeMo/NeMo_2.0.0rc1/vad_multilingual_marblenet/670f425c7f186060b7a7268ba6dfacb2
/vad_multilingual_marblenet.nemo.
[NeMo I 2024-10-09 21:28:43 cloud:64] Re-using file from: /root/.cache/torch/NeMo/NeMo_2.0.0rc1/vad_multilingual_marblenet/670f425c7f186060b7a7268ba6dfacb2/v
ad_multilingual_marblenet.nemo
[NeMo I 2024-10-09 21:28:43 common:826] Instantiating model from pre-trained checkpoint
[NeMo W 2024-10-09 21:28:43 modelPT:176] If you intend to do training or fine-tuning, please call the ModelPT.setup_training_data() method and provide a vali
d configuration file to setup the train data loader.
    Train config :
    manifest_filepath: /manifests/ami_train_0.63.json,/manifests/freesound_background_train.json,/manifests/freesound_laughter_train.json,/manifests/fisher_2
004_background.json,/manifests/fisher_2004_speech_sampled.json,/manifests/google_train_manifest.json,/manifests/icsi_all_0.63.json,/manifests/musan_freesound
_train.json,/manifests/musan_music_train.json,/manifests/musan_soundbible_train.json,/manifests/mandarin_train_sample.json,/manifests/german_train_sample.jso
n,/manifests/spanish_train_sample.json,/manifests/french_train_sample.json,/manifests/russian_train_sample.json
    sample_rate: 16000
    labels:
    - background
    - speech
    batch_size: 256
    shuffle: true
    is_tarred: false
    tarred_audio_filepaths: null
    tarred_shard_strategy: scatter
    augmentor:
      shift:
        prob: 0.5
        min_shift_ms: -10.0
        max_shift_ms: 10.0
      white_noise:
        prob: 0.5
        min_level: -90
        max_level: -46
        norm: true
      noise:
        prob: 0.5
        manifest_path: /manifests/noise_0_1_musan_fs.json
        min_snr_db: 0
        max_snr_db: 30
        max_gain_db: 300.0
        norm: true
      gain:
        prob: 0.5
        min_gain_dbfs: -10.0
        max_gain_dbfs: 10.0
        norm: true
    num_workers: 16
    pin_memory: true

[NeMo W 2024-10-09 21:28:43 modelPT:183] If you intend to do validation, please call the ModelPT.setup_validation_data() or ModelPT.setup_multiple_validation
_data() method and provide a valid configuration file to setup the validation data loader(s).
    Validation config :
    manifest_filepath: /manifests/ami_dev_0.63.json,/manifests/freesound_background_dev.json,/manifests/freesound_laughter_dev.json,/manifests/ch120_moved_0.
63.json,/manifests/fisher_2005_500_speech_sampled.json,/manifests/google_dev_manifest.json,/manifests/musan_music_dev.json,/manifests/mandarin_dev.json,/mani
fests/german_dev.json,/manifests/spanish_dev.json,/manifests/french_dev.json,/manifests/russian_dev.json
    sample_rate: 16000
    labels:
    - background
    - speech
    batch_size: 256
    shuffle: false
    val_loss_idx: 0
    num_workers: 16
    pin_memory: true

[NeMo W 2024-10-09 21:28:43 modelPT:189] Please call the ModelPT.setup_test_data() or ModelPT.setup_multiple_test_data() method and provide a valid configura
tion file to setup the test data loader(s).
    Test config :
    manifest_filepath: null
    sample_rate: 16000
    labels:
    - background
    - speech
    batch_size: 128
    shuffle: false
    test_loss_idx: 0

[NeMo I 2024-10-09 21:28:43 features:305] PADDING: 16
[NeMo I 2024-10-09 21:28:43 save_restore_connector:272] Model EncDecClassificationModel was successfully restored from /root/.cache/torch/NeMo/NeMo_2.0.0rc1/
vad_multilingual_marblenet/670f425c7f186060b7a7268ba6dfacb2/vad_multilingual_marblenet.nemo.
[NeMo I 2024-10-09 21:28:43 msdd_models:870] Multiscale Weights: [1, 1, 1, 1, 1]
[NeMo I 2024-10-09 21:28:43 msdd_models:871] Clustering Parameters: {
        "oracle_num_speakers": false,
        "max_num_speakers": 8,
        "enhanced_count_thres": 80,
        "max_rp_threshold": 0.25,
        "sparse_search_volume": 30,
        "maj_vote_spk_count": false,
        "chunk_cluster_count": 50,
        "embeddings_per_chunk": 10000
    }
[NeMo W 2024-10-09 21:28:43 clustering_diarizer:408] Deleting previous clustering diarizer outputs.
[NeMo I 2024-10-09 21:28:43 speaker_utils:93] Number of files to diarize: 1
[NeMo I 2024-10-09 21:28:43 clustering_diarizer:313] Split long audio file to avoid CUDA memory issue
splitting manifest: 100%|| 1/1 [00:00<00:00,  1.15it/s]
[NeMo I 2024-10-09 21:28:44 vad_utils:107] The prepared manifest file exists. Overwriting!
[NeMo I 2024-10-09 21:28:44 classification_models:293] Perform streaming frame-level VAD
[NeMo I 2024-10-09 21:28:44 collections:740] Filtered duration for loading collection is  0.00 hours.
[NeMo I 2024-10-09 21:28:44 collections:741] Dataset successfully loaded with 147 items and total duration provided from manifest is  2.04 hours.
[NeMo I 2024-10-09 21:28:44 collections:746] # 147 files loaded accounting to # 1 labels
vad: 100%|| 147/147 [00:18<00:00,  7.85it/s]
[NeMo I 2024-10-09 21:29:02 clustering_diarizer:254] Generating predictions with overlapping input segments
[NeMo I 2024-10-09 21:29:32 clustering_diarizer:266] Converting frame level prediction to speech/no-speech segment in start and end times format.
creating speech segments: 100%|| 1/1 [00:02<00:00,  2.41s/it]
[NeMo I 2024-10-09 21:29:35 clustering_diarizer:291] Subsegmentation for embedding extraction: scale0, /root/whisper-diarization/temp_outputs/speaker_outputs
/subsegments_scale0.json
[NeMo I 2024-10-09 21:29:35 clustering_diarizer:347] Extracting embeddings for Diarization
[NeMo I 2024-10-09 21:29:35 collections:740] Filtered duration for loading collection is  0.00 hours.
[NeMo I 2024-10-09 21:29:35 collections:741] Dataset successfully loaded with 7188 items and total duration provided from manifest is  2.71 hours.
[NeMo I 2024-10-09 21:29:35 collections:746] # 7188 files loaded accounting to # 1 labels
[1/5] extract embeddings: 100%|| 113/113 [00:05<00:00, 21.55it/s]
[NeMo I 2024-10-09 21:29:41 clustering_diarizer:393] Saved embedding files to /root/whisper-diarization/temp_outputs/speaker_outputs/embeddings
[NeMo I 2024-10-09 21:29:41 clustering_diarizer:291] Subsegmentation for embedding extraction: scale1, /root/whisper-diarization/temp_outputs/speaker_outputs
/subsegments_scale1.json
[NeMo I 2024-10-09 21:29:41 clustering_diarizer:347] Extracting embeddings for Diarization
[NeMo I 2024-10-09 21:29:41 collections:740] Filtered duration for loading collection is  0.00 hours.
[NeMo I 2024-10-09 21:29:41 collections:741] Dataset successfully loaded with 8744 items and total duration provided from manifest is  2.80 hours.
[NeMo I 2024-10-09 21:29:41 collections:746] # 8744 files loaded accounting to # 1 labels
[2/5] extract embeddings: 100%|| 137/137 [00:05<00:00, 26.32it/s]
[NeMo I 2024-10-09 21:29:46 clustering_diarizer:393] Saved embedding files to /root/whisper-diarization/temp_outputs/speaker_outputs/embeddings
[NeMo I 2024-10-09 21:29:46 clustering_diarizer:291] Subsegmentation for embedding extraction: scale2, /root/whisper-diarization/temp_outputs/speaker_outputs
/subsegments_scale2.json
[NeMo I 2024-10-09 21:29:46 clustering_diarizer:347] Extracting embeddings for Diarization
[NeMo I 2024-10-09 21:29:46 collections:740] Filtered duration for loading collection is  0.00 hours.
[NeMo I 2024-10-09 21:29:46 collections:741] Dataset successfully loaded with 10966 items and total duration provided from manifest is  2.87 hours.
[NeMo I 2024-10-09 21:29:46 collections:746] # 10966 files loaded accounting to # 1 labels
[3/5] extract embeddings: 100%|| 172/172 [00:05<00:00, 28.82it/s]
[NeMo I 2024-10-09 21:29:53 clustering_diarizer:393] Saved embedding files to /root/whisper-diarization/temp_outputs/speaker_outputs/embeddings
[NeMo I 2024-10-09 21:29:53 clustering_diarizer:291] Subsegmentation for embedding extraction: scale3, /root/whisper-diarization/temp_outputs/speaker_outputs
/subsegments_scale3.json
[NeMo I 2024-10-09 21:29:53 clustering_diarizer:347] Extracting embeddings for Diarization
[NeMo I 2024-10-09 21:29:53 collections:740] Filtered duration for loading collection is  0.00 hours.
[NeMo I 2024-10-09 21:29:53 collections:741] Dataset successfully loaded with 14809 items and total duration provided from manifest is  2.96 hours.
[NeMo I 2024-10-09 21:29:53 collections:746] # 14809 files loaded accounting to # 1 labels
[4/5] extract embeddings: 100%|| 232/232 [00:06<00:00, 34.28it/s]
[NeMo I 2024-10-09 21:30:00 clustering_diarizer:393] Saved embedding files to /root/whisper-diarization/temp_outputs/speaker_outputs/embeddings
[NeMo I 2024-10-09 21:30:00 clustering_diarizer:291] Subsegmentation for embedding extraction: scale4, /root/whisper-diarization/temp_outputs/speaker_outputs
/subsegments_scale4.json
[NeMo I 2024-10-09 21:30:00 clustering_diarizer:347] Extracting embeddings for Diarization
[NeMo I 2024-10-09 21:30:01 collections:740] Filtered duration for loading collection is  0.00 hours.
[NeMo I 2024-10-09 21:30:01 collections:741] Dataset successfully loaded with 22545 items and total duration provided from manifest is  3.05 hours.
[NeMo I 2024-10-09 21:30:01 collections:746] # 22545 files loaded accounting to # 1 labels
[5/5] extract embeddings: 100%|| 353/353 [00:08<00:00, 40.43it/s]
[NeMo I 2024-10-09 21:30:11 clustering_diarizer:393] Saved embedding files to /root/whisper-diarization/temp_outputs/speaker_outputs/embeddings
Clustering Sub-Windows: 100%|| 3/3 [00:10<00:00,  3.45s/window]
clustering: 100%|| 1/1 [00:13<00:00, 13.25s/it]
[NeMo I 2024-10-09 21:30:24 clustering_diarizer:461] Outputs are saved in /root/whisper-diarization/temp_outputs directory
[NeMo W 2024-10-09 21:30:24 der:185] Check if each ground truth RTTMs were present in the provided manifest file. Skipping calculation of Diariazation Error
Rate
[NeMo I 2024-10-09 21:30:27 msdd_models:966] Loading embedding pickle file of scale:0 at /root/whisper-diarization/temp_outputs/speaker_outputs/embeddings/su
bsegments_scale0_embeddings.pkl
[NeMo I 2024-10-09 21:30:27 msdd_models:966] Loading embedding pickle file of scale:1 at /root/whisper-diarization/temp_outputs/speaker_outputs/embeddings/su
bsegments_scale1_embeddings.pkl
[NeMo I 2024-10-09 21:30:27 msdd_models:966] Loading embedding pickle file of scale:2 at /root/whisper-diarization/temp_outputs/speaker_outputs/embeddings/su
bsegments_scale2_embeddings.pkl
[NeMo I 2024-10-09 21:30:27 msdd_models:966] Loading embedding pickle file of scale:3 at /root/whisper-diarization/temp_outputs/speaker_outputs/embeddings/su
bsegments_scale3_embeddings.pkl
[NeMo I 2024-10-09 21:30:27 msdd_models:966] Loading embedding pickle file of scale:4 at /root/whisper-diarization/temp_outputs/speaker_outputs/embeddings/su
bsegments_scale4_embeddings.pkl
[NeMo I 2024-10-09 21:30:27 msdd_models:944] Loading cluster label file from /root/whisper-diarization/temp_outputs/speaker_outputs/subsegments_scale4_cluste
r.label
[NeMo I 2024-10-09 21:30:29 collections:1067] Filtered duration for loading collection is 0.000000.
[NeMo I 2024-10-09 21:30:29 collections:1071] Total 21 session files loaded accounting to # 21 audio clips
  0%|                                                                                | 0/1 [00:27<?, ?it/s]
Traceback (most recent call last):
  File "/root/whisper-diarization/diarize.py", line 178, in <module>
    msdd_model.diarize()
  File "/root/whisper-diarization/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/root/whisper-diarization/lib/python3.10/site-packages/nemo/collections/asr/models/msdd_models.py", line 1187, in diarize
    preds_list, targets_list, signal_lengths_list = self.run_pairwise_diarization()
  File "/root/whisper-diarization/lib/python3.10/site-packages/torch/utils/_contextlib.py", line 115, in decorate_context
    return func(*args, **kwargs)
  File "/root/whisper-diarization/lib/python3.10/site-packages/nemo/collections/asr/models/msdd_models.py", line 1377, in run_pairwise_diarization
    preds, targets, signal_lengths = self.diar_infer(
  File "/root/whisper-diarization/lib/python3.10/site-packages/nemo/collections/asr/models/msdd_models.py", line 1334, in diar_infer
    _preds, scale_weights = self.msdd_model.forward_infer(
  File "/root/whisper-diarization/lib/python3.10/site-packages/nemo/collections/asr/models/msdd_models.py", line 539, in forward_infer
    preds, scale_weights = self.msdd(
  File "/root/whisper-diarization/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/root/whisper-diarization/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
  File "/root/whisper-diarization/lib/python3.10/site-packages/nemo/core/classes/common.py", line 1081, in wrapped_call
    outputs = wrapped(*args, **kwargs)
  File "/root/whisper-diarization/lib/python3.10/site-packages/nemo/collections/asr/modules/msdd_diarizer.py", line 427, in forward
    preds, scale_weights = self.core_model(ms_emb_seq, length, ms_avg_embs, targets)
  File "/root/whisper-diarization/lib/python3.10/site-packages/nemo/collections/asr/modules/msdd_diarizer.py", line 244, in core_model
    context_emb = self.cosine_similarity(scale_weights, ms_avg_embs, _ms_emb_seq)
  File "/root/whisper-diarization/lib/python3.10/site-packages/nemo/collections/asr/modules/msdd_diarizer.py", line 315, in cosine_similarity
    cos_dist_seq = self.cos_dist(_ms_emb_seq, ms_avg_embs)
  File "/root/whisper-diarization/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "/root/whisper-diarization/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
    return forward_call(*args, **kwargs)
  File "/root/whisper-diarization/lib/python3.10/site-packages/torch/nn/modules/distance.py", line 87, in forward
    return F.cosine_similarity(x1, x2, self.dim, self.eps)
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 3.39 GiB. GPU 0 has a total capacty of 19.71 GiB of which 2.56 GiB is free. Process 423105
 has 17.11 GiB memory in use. Of the allocated memory 12.44 GiB is allocated by PyTorch, and 4.39 GiB is reserved by PyTorch but unallocated. If reserved but
 unallocated memory is large try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

Dependencies:
$ pip freeze
absl-py==2.1.0
aiohappyeyeballs==2.4.3
aiohttp==3.10.9
aiosignal==1.3.1
alembic==1.13.3
antlr4-python3-runtime==4.9.3
asteroid-filterbanks==0.4.0
asttokens==2.4.1
async-timeout==4.0.3
attrs==24.2.0
audioread==3.0.1
av==11.0.0
braceexpand==0.1.7
certifi==2024.8.30
cffi==1.17.1
charset-normalizer==3.4.0
click==8.1.7
cloudpickle==3.0.0
coloredlogs==15.0.1
colorlog==6.8.2
contourpy==1.3.0
ctc-forced-aligner @ git+https://github.com/MahmoudAshraf97/ctc-forced-aligner.git@a8d18c399e49b6339198dbbc4cef77468a3aeeed
ctranslate2==4.4.0
cycler==0.12.1
Cython==3.0.11
cytoolz==1.0.0
datasets==3.0.1
decorator==5.1.1
deepmultilingualpunctuation @ git+https://github.com/oliverguhr/deepmultilingualpunctuation.git@5a0dd7f4fd56687f59405aa8eba1144393d8b74b
demucs @ git+https://github.com/adefossez/demucs.git@b9ab48cad45976ba42b2ff17b229c071f0df9390
dill==0.3.8
Distance==0.1.3
docker-pycreds==0.4.0
docopt==0.6.2
dora_search==0.1.12
editdistance==0.8.1
einops==0.8.0
exceptiongroup==1.2.2
executing==2.1.0
faster-whisper==1.0.0
fiddle==0.3.0
filelock==3.16.1
flatbuffers==24.3.25
fonttools==4.54.1
frozenlist==1.4.1
fsspec==2024.6.1
future==1.0.0
g2p-en==2.1.0
gitdb==4.0.11
GitPython==3.1.43
graphviz==0.20.3
greenlet==3.1.1
grpcio==1.66.2
huggingface-hub==0.25.2
humanfriendly==10.0
hydra-core==1.3.2
HyperPyYAML==1.2.2
idna==3.10
inflect==7.4.0
intervaltree==3.1.0
ipython==8.28.0
jedi==0.19.1
Jinja2==3.1.4
jiwer==3.0.4
joblib==1.4.2
julius==0.2.7
kaldi-python-io==1.2.2
kaldiio==2.18.0
kiwisolver==1.4.7
lameenc==1.7.0
lazy_loader==0.4
Levenshtein==0.26.0
lhotse==1.27.0
libcst==1.4.0
librosa==0.10.2.post1
lightning==2.4.0
lightning-utilities==0.11.7
lilcom==1.8.0
llvmlite==0.43.0
loguru==0.7.2
Mako==1.3.5
Markdown==3.7
markdown-it-py==3.0.0
MarkupSafe==3.0.1
marshmallow==3.22.0
matplotlib==3.9.2
matplotlib-inline==0.1.7
mdurl==0.1.2
more-itertools==10.5.0
mpmath==1.3.0
msgpack==1.1.0
multidict==6.1.0
multiprocess==0.70.16
nemo_toolkit==2.0.0rc1
networkx==3.3
nltk==3.9.1
numba==0.60.0
numpy==1.26.4
nvidia-cublas-cu12==12.1.3.1
nvidia-cuda-cupti-cu12==12.1.105
nvidia-cuda-nvrtc-cu12==12.1.105
nvidia-cuda-runtime-cu12==12.1.105
nvidia-cudnn-cu12==8.9.2.26
nvidia-cufft-cu12==11.0.2.54
nvidia-curand-cu12==10.3.2.106
nvidia-cusolver-cu12==11.4.5.107
nvidia-cusparse-cu12==12.1.0.106
nvidia-nccl-cu12==2.18.1
nvidia-nvjitlink-cu12==12.6.77
nvidia-nvtx-cu12==12.1.105
omegaconf==2.3.0
onnx==1.17.0
onnxruntime==1.19.2
openunmix==1.3.0
optuna==4.0.0
packaging==24.1
pandas==2.2.3
parso==0.8.4
pexpect==4.9.0
pillow==10.4.0
plac==1.4.3
platformdirs==4.3.6
pooch==1.8.2
primePy==1.3
prompt_toolkit==3.0.48
propcache==0.2.0
protobuf==5.28.2
psutil==6.0.0
ptyprocess==0.7.0
pure_eval==0.2.3
pyannote.audio==3.1.1
pyannote.core==5.0.0
pyannote.database==5.1.0
pyannote.metrics==3.2.1
pyannote.pipeline==3.0.1
pyarrow==17.0.0
pybind11==2.13.6
pycparser==2.22
pydub==0.25.1
Pygments==2.18.0
pyloudnorm==0.1.1
pyparsing==3.1.4
python-dateutil==2.9.0.post0
pytorch-lightning==2.4.0
pytorch-metric-learning==2.6.0
pytz==2024.2
PyYAML==6.0.2
RapidFuzz==3.10.0
regex==2024.9.11
requests==2.32.3
resampy==0.4.3
retrying==1.3.4
rich==13.9.2
ruamel.yaml==0.18.6
ruamel.yaml.clib==0.2.8
sacremoses==0.1.1
safetensors==0.4.5
scikit-learn==1.5.2
scipy==1.14.1
semver==3.0.2
sentencepiece==0.2.0
sentry-sdk==2.16.0
setproctitle==1.3.3
shellingham==1.5.4
six==1.16.0
smmap==5.0.1
sortedcontainers==2.4.0
soundfile==0.12.1
sox==1.5.0
soxr==0.5.0.post1
speechbrain==1.0.1
SQLAlchemy==2.0.35
stack-data==0.6.3
submitit==1.5.2
sympy==1.13.3
tabulate==0.9.0
tensorboard==2.18.0
tensorboard-data-server==0.7.2
tensorboardX==2.6.2.2
termcolor==2.5.0
text-unidecode==1.3
texterrors==0.5.1
threadpoolctl==3.5.0
tokenizers==0.15.2
toolz==1.0.0
torch==2.1.2
torch-audiomentations==0.11.1
torch_pitch_shift==1.2.5
torchaudio==2.1.2
torchmetrics==1.4.2
tqdm==4.66.5
traitlets==5.14.3
transformers==4.39.3
treetable==0.2.5
triton==2.1.0
typeguard==4.3.0
typer==0.12.5
typing_extensions==4.12.2
tzdata==2024.2
Unidecode==1.3.8
urllib3==2.2.3
wandb==0.18.3
wcwidth==0.2.13
webdataset==0.2.100
Werkzeug==3.0.4
wget==3.2
whisperx @ git+https://github.com/m-bain/whisperX.git@78dcfaab51005aa703ee21375f81ed31bc248560
wrapt==1.16.0
xxhash==3.5.0
yarl==1.14.0

Hello and thanks for your words, I'd suggest monitoring VRAM usage after each step to make sure VRAM is cleared as it should be, then I'd suggest checking https://github.com/NVIDIA/NeMo/pull/7737 and try to use this diarizer class instead of the one currently used, if that didn't work too, you'll have to split the file into multiple smaller files, each file's length should be the maximum your GPU can handle which I estimate to be around 4 hours

This is strange, I can easily run 3+ hours files on 8GB of VRAM, can you upload the file to test it?

I figured the best way to answer questions was to make a screencast of the processing, so here it is:
whisper-diarization screencast.
The error happens at the end of the video (at the 10:30 mark).
The system is equipped with an AMD Ryzen 9 5900X 12-Core Processor and 128 GB of RAM.
There's actually two NVIDIA A4500 GPUs on the system (20GB VRAM each), but only one is used by the diarization process (afaik there's no way to use both).
@MahmoudAshraf97 unfortunately I cannot upload the audio as I am not the owner of the audio, but I'm happy to conduct any test you'd see fit to perform.

I guess the problem is with the 15 speakers, there are two parts to this:

AFAIK, MSDD model supports maximum of 8 speakers so I don't know if it's going to work or not
in nemo_msdd_configs/diar_infer_telephonic.yaml you can reduce chunk_cluster_count and embeddings_per_chunk and see if it solves the problem, if it doesn't, you'll have to split the file

Thanks, I have been trying what you suggested:

embeddings_per_chunk: set to 1000, then 100 (down from 10'000 by default)
chunk_cluster_count: set to 10 (down from 50 by default)

I could not lower chunk_cluster_count much more as there is a constraint enforcing that chunk_cluster_count must be bigger than max_num_speakers (which is set to 8 by default).
The updated values did show up in the execution log so at least I'm sure to have modified the right config file.
In all cases the OutOfMemoryError still happened, unfortunately, with about 17GB of VRAM consumed right before the error.
Some questions:

is the hint you gave above still worth considering ?
do you see any other track to investigate (other than splitting the audio) ?

Ok, I guess I'm going to have the audio splitted then. Thanks anyway for your advices.

Hi, I faced the same problem in a meeting with too many speakers. I fixed the problem setting this parameter:
config.diarizer.msdd_model.parameters.infer_batch_size = 16

Holy cow, that trick did it for me too ! (using the exact same value)
@bernardocecchetto Thanks a ton mate, I think I'll have flowers delivered to your door ;)
@MahmoudAshraf97 How do you feel about documenting that tip in a FAQ section somewhere ?


text:
Exception in minerMonkeys.js

Very cool project!
I just cloned the repo. Various examples work fine for me, but minerMonkeys.js, in Chrome 52.0.2743.116 (64-bit) and Firefox 48.0.1 (macOS) both, runs the CPU example (Mined a block on the CPU, nonce: 695822) but then throws:
Uncaught WebMonkeys had the following error from WebGL: ERROR: 0:118: 'nonce' : Loop index cannot be initialized with non-constant expression

Woops, silly mistake, should move the addition out of the loop and make it go from 0 to the number of attempts (which is static). Is anyone willing to change this one? I'm quite busy those days...

I'll take a look at it. (Famous last words I know 😆!)

source: gharchive/issue

authors: MaiaVictor fasiha

repo: MaiaVictor/WebMonkeys

license: mit

license_type: permissive

license_source: bigquery


text:
SubmitInfoBuilder: wait_semaphore_count is set incorrectly

Hi,
today I ran across a strange behaviour. Whenever I used more then one wait-semaphore in my SubmitInfoBuilder the validation layers told me that only the first one was unsignaled. So I had a look at the vk.rs and found this:
impl<'a> SubmitInfoBuilder<'a> {
    pub fn wait_semaphores(mut self, wait_semaphores: &'a [Semaphore]) -> SubmitInfoBuilder<'a> {
        self.inner.wait_semaphore_count = wait_semaphores.len() as _;
        self.inner.p_wait_semaphores = wait_semaphores.as_ptr();
        self
    }
    pub fn wait_dst_stage_mask(
        mut self,
        wait_dst_stage_mask: &'a [PipelineStageFlags],
    ) -> SubmitInfoBuilder<'a> {
        self.inner.wait_semaphore_count = wait_dst_stage_mask.len() as _;
        self.inner.p_wait_dst_stage_mask = wait_dst_stage_mask.as_ptr();
        self
    }
    pub fn command_buffers(
        mut self,
        command_buffers: &'a [CommandBuffer],
    ) -> SubmitInfoBuilder<'a> {
        self.inner.command_buffer_count = command_buffers.len() as _;
        self.inner.p_command_buffers = command_buffers.as_ptr();
        self
    }

While the wait_semaphores() functions looks good, the wait_dst_stage_mask() functions sets the wait_semaphore_count to the length of the wait_dst_stage_mask which seems odd.
Is that intended or a bug?

This is intended. wait_dst_stage_mask and wait_semaphores must be exactly the same length.

Ah I see thank you!

authors: Ralith SiebenCorgie

repo: MaikKlein/ash

license_source: github-api


text:
Add util::default_on_not_found

Pulled out from #144

@Malax Meant to say I much prefer the new name (over without_not_found_error from #144) :-)

source: gharchive/pull-request

authors: Malax edmorley


text:
Middleware: Suspend Server: No timeout in logs

When invoking "Suspend Server" menu operation for EAP7 standalone server and provide timeout parameter in UI input field, it ignores timeout parameter in EAP7 server side.
Here is the log on server.log:
2016-09-02 05:48:29,740 INFO  [org.jboss.as.server] (OkHttp http://cfme-hawkular.bc.jonqe.lab.eng.bos.redhat.com:8080/hawkular/command-gateway/feed/9834a958-109c-42f8-90a7-63c4a45352c5) WFLYSRV0236: Suspending server with no timeout.
Here is MiQ production.log
[----] I, [2016-09-02T06:17:30.697043 #2996:fc3744]  INFO -- : Started POST "/middleware_server/run_operation" for 127.0.0.1 at 2016-09-02 06:17:30 -0400 [----] I, [2016-09-02T06:17:30.699387 #2996:fc3744]  INFO -- : Processing by MiddlewareServerController#run_operation as HTML [----] I, [2016-09-02T06:17:30.699520 #2996:fc3744]  INFO -- :   Parameters: {"id"=>"19", "operation"=>"suspend", "timeout"=>12, "middleware_server"=>{"id"=>"19"}} [----] I, [2016-09-02T06:17:31.018664 #3011:fa5424]  INFO -- : Started GET "/api" for 127.0.0.1 at 2016-09-02 06:17:31 -0400 [----] I, [2016-09-02T06:17:31.021707 #3011:fa5424]  INFO -- : Processing by ApiController#index as JSON [----] I, [2016-09-02T06:17:31.047690 #3011:fa5424]  INFO -- : Completed 200 OK in 26ms (Views: 0.4ms | ActiveRecord: 0.0ms) [----] I, [2016-09-02T06:17:31.378267 #2996:fc3744]  INFO -- : Completed 200 OK in 679ms (Views: 0.8ms | ActiveRecord: 0.0ms)
evm.log content at tat time period:
Seems like there is some error:
[----] I, [2016-09-02T06:24:34.173685 #2950:737134]  INFO -- : MIQ(MiqScheduleWorker::Runner#do_work) Number of scheduled items to be processed: 5. [----] I, [2016-09-02T06:24:34.189718 #2950:737134]  INFO -- : MIQ(MiqQueue.put) Message id: [1280],  id: [], Zone: [default], Role: [], Server: [e8611e80-70e1-11e6-9b3e-fa163e03ff08], Ident: [generic], Target id: [], Instance id: [], Task id: [], Command: [MiqServer.status_update], Timeout: [600], Priority: [20], State: [ready], Deliver On: [], Data: [], Args: [] [----] I, [2016-09-02T06:24:34.198148 #2950:737134]  INFO -- : MIQ(MiqQueue.put) Message id: [1281],  id: [], Zone: [default], Role: [], Server: [], Ident: [generic], Target id: [], Instance id: [], Task id: [], Command: [Job.check_jobs_for_timeout], Timeout: [600], Priority: [90], State: [ready], Deliver On: [], Data: [], Args: [] [----] I, [2016-09-02T06:24:34.215071 #2950:737134]  INFO -- : MIQ(MiqQueue.put) Message id: [1282],  id: [], Zone: [default], Role: [], Server: [e8611e80-70e1-11e6-9b3e-fa163e03ff08], Ident: [generic], Target id: [], Instance id: [], Task id: [], Command: [Session.check_session_timeout], Timeout: [600], Priority: [90], State: [ready], Deliver On: [], Data: [], Args: [] [----] I, [2016-09-02T06:24:34.231921 #2950:737134]  INFO -- : MIQ(MiqQueue.put) Message id: [1283],  id: [], Zone: [default], Role: [smartstate], Server: [], Ident: [generic], Target id: [], Instance id: [], Task id: [job_dispatcher], Command: [JobProxyDispatcher.dispatch], Timeout: [600], Priority: [20], State: [ready], Deliver On: [], Data: [], Args: [] [----] I, [2016-09-02T06:24:35.197052 #2735:737134]  INFO -- : MIQ(MiqServer#populate_queue_messages) Fetched 4 miq_queue rows for queue_name=generic, wcount=4, priority=200 [----] I, [2016-09-02T06:24:35.201358 #2735:737134]  INFO -- : MIQ(MiqServer#monitor_loop) Server Monitoring Complete - Timings: {:server_dequeue=>0.00511622428894043, :worker_monitor=>1.312802791595459, :worker_dequeue=>0.008072853088378906, :total_time=>1.326211929321289} [----] I, [2016-09-02T06:24:35.873690 #2996:fc3744]  INFO -- : MIQ(ManageIQ::Providers::Hawkular::MiddlewareManager#with_provider_connection) Connecting through ManageIQ::Providers::Hawkular::MiddlewareManager: [cfme] [----] I, [2016-09-02T06:24:36.124233 #2911:737134]  INFO -- : MIQ(MiqPriorityWorker::Runner#get_message_via_drb) Message id: [1280], MiqWorker id: [15], Zone: [default], Role: [], Server: [e8611e80-70e1-11e6-9b3e-fa163e03ff08], Ident: [generic], Target id: [], Instance id: [], Task id: [], Command: [MiqServer.status_update], Timeout: [600], Priority: [20], State: [dequeue], Deliver On: [], Data: [], Args: [], Dequeued in: [1.946655994] seconds [----] I, [2016-09-02T06:24:36.124424 #2911:737134]  INFO -- : MIQ(MiqQueue#deliver) Message id: [1280], Delivering... [----] I, [2016-09-02T06:24:36.148953 #2920:737134]  INFO -- : MIQ(MiqPriorityWorker::Runner#get_message_via_drb) Message id: [1283], MiqWorker id: [16], Zone: [default], Role: [smartstate], Server: [], Ident: [generic], Target id: [], Instance id: [], Task id: [job_dispatcher], Command: [JobProxyDispatcher.dispatch], Timeout: [600], Priority: [20], State: [dequeue], Deliver On: [], Data: [], Args: [], Dequeued in: [1.929776124] seconds [----] I, [2016-09-02T06:24:36.149141 #2920:737134]  INFO -- : Q-task_id([job_dispatcher]) MIQ(MiqQueue#deliver) Message id: [1283], Delivering... [----] I, [2016-09-02T06:24:36.154299 #2920:737134]  INFO -- : Q-task_id([job_dispatcher]) MIQ(JobProxyDispatcher#dispatch) Complete - Timings: {:pending_container_jobs=>0.0028455257415771484, :container_jobs_to_dispatch_count=>0, :container_dispatching=>0.002862215042114258, :pending_vm_jobs=>0.0005939006805419922, :vm_jobs_to_dispatch_count=>0, :total_time=>0.004849910736083984} [----] I, [2016-09-02T06:24:36.154719 #2920:737134]  INFO -- : Q-task_id([job_dispatcher]) MIQ(MiqQueue#delivered) Message id: [1283], State: [ok], Delivered in [0.005573493] seconds [----] I, [2016-09-02T06:24:36.207469 #2911:737134]  INFO -- : MIQ(MiqQueue#delivered) Message id: [1280], State: [ok], Delivered in [0.083013491] seconds [----] E, [2016-09-02T06:24:36.697303 #2996:804ecac] ERROR -- : MIQ(ManageIQ::Providers::Hawkular::MiddlewareManager#run_operation) error callback was called, reason: Performed [Suspend] on a [DMR Node] given by Inventory path [/t;hawkular/f;c1995504-42f7-426d-8178-da45d9bd5d65/r;EAP7~~] [----] I, [2016-09-02T06:24:37.915199 #2902:737134]  INFO -- : MIQ(MiqGenericWorker::Runner#get_message_via_drb) Message id: [1282], MiqWorker id: [14], Zone: [default], Role: [], Server: [e8611e80-70e1-11e6-9b3e-fa163e03ff08], Ident: [generic], Target id: [], Instance id: [], Task id: [], Command: [Session.check_session_timeout], Timeout: [600], Priority: [90], State: [dequeue], Deliver On: [], Data: [], Args: [], Dequeued in: [3.711624333] seconds [----] I, [2016-09-02T06:24:37.915197 #2893:737134]  INFO -- : MIQ(MiqGenericWorker::Runner#get_message_via_drb) Message id: [1281], MiqWorker id: [13], Zone: [default], Role: [], Server: [], Ident: [generic], Target id: [], Instance id: [], Task id: [], Command: [Job.check_jobs_for_timeout], Timeout: [600], Priority: [90], State: [dequeue], Deliver On: [], Data: [], Args: [], Dequeued in: [3.721343379] seconds [----] I, [2016-09-02T06:24:37.915388 #2893:737134]  INFO -- : MIQ(MiqQueue#deliver) Message id: [1281], Delivering... [----] I, [2016-09-02T06:24:37.915417 #2902:737134]  INFO -- : MIQ(MiqQueue#deliver) Message id: [1282], Delivering... [----] I, [2016-09-02T06:24:37.919350 #2902:737134]  INFO -- : MIQ(MiqQueue#delivered) Message id: [1282], State: [ok], Delivered in [0.003941514] seconds [----] I, [2016-09-02T06:24:37.921582 #2893:737134]  INFO -- : MIQ(MiqQueue#delivered) Message id: [1281], State: [ok], Delivered in [0.006171545] seconds [----] I, [2016-09-02T06:24:40.202425 #2735:737134]  INFO -- : MIQ(MiqServer#heartbeat) Heartbeat [2016-09-02 10:24:40 UTC]... [----] I, [2016-09-02T06:24:40.239138 #2735:737134]  INFO -- : MIQ(MiqServer#heartbeat) Heartbeat [2016-09-02 10:24:40 UTC]...Complete
@abonas

@miq-bot add_label providers/hawkular bug

@miq-bot add_label providers/hawkular, bug

@jshaughn @ammendonca can you tell from the log if the issue is on the agent or ManageIQ side ?

@theute It looks like this is a passthru (i.e. generic) operation so it's a bit strange that the 'timeout' parameter would not get passed/handled because all of the end-to-end handling should be generic.  I'll try taking a closer look, my initial feeling would be UI/MIQ, or perhaps even a bad WF message.

The timeout is definitely being lost ui-side, I verified that it's coming over the wire as 0.  After you enter a timeout and hit OK, if you look carefully, you can see the timeout value get cleared and briefly a "timeout is required" message pops up.  But the request continues.   I suggest a UI guy get assigned to this.

I'm having a look at it, first experiments, the parameters are being passed by the UI:
{id: "24", operation: "suspend", timeout: 10}

But there's an error line in the logs which I am investigating:
[----] E, [2016-09-13T15:56:39.896244 #5834:3fd378881310] ERROR -- : MIQ(ManageIQ::Providers::Hawkular::MiddlewareManager#run_operation) error callback was called, reason: Performed [Suspend] on a [DMR Node] given by Inventory path [/t;hawkular/f;db1a9d36-28aa-4f13-9e33-37151addc984/r;Local~~]
Will investigate further on why this is happening.

@ammendonca , one note, both @hhovsepy and I edited the value.  It looks like you're trying with the default that is initially filled in.  Not sure it makes a difference (also not sure why I changed the default...)

@jshaughn, yeah, thanks. I've tested with default and non-default just to see if it actually changed.. anyway, I've found the issue and will provide a solution shortly.

authors: ammendonca hhovsepy jshaughn theute

repo: ManageIQ/manageiq


text:
[RFE] ManageIQ Workflows - Backend

Tracking issue for the backend implementation of the design: https://github.com/ManageIQ/manageiq/issues/22302

[x] Workflow JSON definition, based on Amazon States Language (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html)

[ ] Documentation

[x] Modeling / Schema https://github.com/ManageIQ/manageiq-schema/pull/679

[x] Workflow definition, jsonb column storing the serialized workflow, pull workflow from git source?
[x] Workflow Instance, jsonb context, userid, secrets, logs

[x] API - Reusing configuration_scripts / configuration_script_source

[x] ~Standard CRUD for Workflow / Workflow Instance~ - Requiring an external repository similar to Embedded Ansible
[x] ~APIs for workflow authors to access workflow-instance context, logs, given workflow / step scoped API token~ - Reusing configuration_scripts

[x] Workflow Provider / Runner

[x] ~Pull from registries before every run?  Only if N seconds/minutes out of date?  Leave up to user~ For now, we rely on docker pull / kubernetes pull defaults.
[x] ~Resolve references to resources (docker images/secrets)~  For now, we rely on docker pull / kubernetes pull defaults.
[ ] Validate workflow is valid (no missing references)
[x] Evaluate steps in the workflow, initiate execution of the resources by passing to orchestrator
[x] Use queue and generic workers or 1+ persistent services/runners

[x] Workflow Orchestration

[x] Appliance Podman/Dev Docker https://github.com/ManageIQ/manageiq-rpm_build/pull/401
[x] #22568
[x] Set the Floe runner based on platform https://github.com/ManageIQ/manageiq-providers-workflows/pull/28
[ ] How to handle images/registries on appliances https://github.com/ManageIQ/manageiq/issues/22640
[x] Passing secrets to containers

[x] #22435

[x] Dialogs https://github.com/ManageIQ/manageiq/pull/22441
[x] Provision/Reconfigure/Retire entrypoints

[x] Docker Images - Moving to a future Epic

[ ] Base images in various languages with utilities for interacting with API
[ ] Bash / Ruby initially
[ ] Some standard functions like sending an email, slack message, MIQ notification/alert, User approval

[x] Proof of Concept

[x] Workflow exhibiting all of the supported concepts

[x] States with Retry, Sleep, Choice, Failure
[x] Secrets
[x] Update context over API

Example API calls to set up a git repository which will sync workflows, and create credentials:
$ curl --user admin:smartvm -H "Content-Type: application/json" -X POST http://localhost:3000/api/authentications -d '{"name":"id_rsa","userid":"git","manager_resource":{"href":"http://localhost:3000/api/        providers/2"},"type":"ManageIQ::Providers::Workflows::AutomationManager::ScmCredential","auth_key":"","auth_key_password":""}' 2>/dev/null | jq
$ curl --user admin:smartvm -H "Content-Type: application/json" -X POST http://localhost:3000/api/configuration_script_sources -d '{"name":"github.com:agrare/provision-vm-service","manager_resource":{"href":     "http://localhost:3000/api/providers/2"},"scm_type":"git","scm_url":"git@github.com:agrare/provision-vm-service.git","scm_branch":"master","type":"ManageIQ::Providers::Workflows::AutomationManager::              ConfigurationScriptSource","authentication_id":2}' 2>/dev/null | jq
$ curl --user admin:smartvm -H "Content-Type: application/json" -X POST http://localhost:3000/api/authentications -d '{"name":"ManageIQ API Credential","ems_ref":"manageiq_api","userid":"admin","password":       "smartvm","manager_resource":{"href":"http://localhost:3000/api/providers/2"},"type":"ManageIQ::Providers::Workflows::AutomationManager::Credential"}' 2>/dev/null | jq
$ curl --user admin:smartvm -H "Content-Type: application/json" -X POST http://localhost:3000/api/authentications -d '{"name":"vCenter Credential","ems_ref":"vcenter_credential","userid":"root","password":       "vmware","manager_resource":{"href":"http://localhost:3000/api/providers/2"},"type":"ManageIQ::Providers::Workflows::AutomationManager::Credential"}' 2>/dev/null | jq
TODO $ curl --user admin:smartvm -H "Content-Type: application/json" -X PATCH http://localhost:3000/api/configuration_script_sources/3/configuration_script_payloads/20 -d '{"credentials":{"api_user":"$.          manageiq_api.userid", "api_password":"$.manageiq_api.password"}}'
TODO $ curl --user admin:smartvm -H "Content-Type: application/json" -X PATCH http://localhost:3000/api/configuration_script_sources/3/configuration_script_payloads/21 -d '{"credentials":{"api_user":"$.          manageiq_api.userid", "api_password":"$.manageiq_api.password"}}'
TODO $ curl --user admin:smartvm -H "Content-Type: application/json" -X PATCH http://localhost:3000/api/configuration_script_sources/3/configuration_script_payloads/23 -d '{"credentials":{"api_user":"$.          manageiq_api.userid", "api_password":"$.manageiq_api.password","vcenter_user":"$.vcenter_credential.userid","vcenter_password":"$.vcenter_credential.password"}}'

Marking this as completed.  All other things listed in the OP will be done as follow ups or future features.

authors: Fryguy agrare


text:
Missing support to use font awesome icons for icons in toolbar

Currently all the icons are assumed to be png and reside in /images/toolbars/ in miq repo.
The fix should be probably somewhere around this:
https://github.com/ManageIQ/manageiq/blob/master/app/helpers/configuration_helper/configuration_view_helper.rb#L22
The relevant place for the aforementioned icons is here

@dclarizio @chessbyte  - enhancement request
@miq-bot add_label ui

@dclarizio we would like to see the pfToolBar used here (See example here: http://angular-patternfly.rhcloud.com/#/api/patternfly.views.directive:pfDataToolbar)

cc @zeari

Is this possible? how?

authors: abonas serenamarie125 zeari


text:
Add support for bulk gets via id/href

Purpose or Intent

Adding post "query" actions to all collections
Implemented generic query_resource method
Added bulk query tests in collections_spec.rb

This is the first round for solving https://bugzilla.redhat.com/show_bug.cgi?id=1352044
follow up PR is to add support for typed parse_id in manager.rb (i.e. leveraging parse_group, parse_role, etc), and extend that so we can do bulk queries for example by guid for vms, etc.
This PR as it stands would suffice for leveraging from the manageiq-api-client to do bulk fetches, i.e. adding support for find([id1, id2, id3, ...]).

/cc @imtayadeway

Ping @imtayadeway please review, Thanks.

:+1: LGTM :musical_note:

@gtanzillo when you get a chance.

Really nice @abellotti 👍 👏

authors: abellotti gtanzillo imtayadeway


text:
Use the ref name in the display name

Use the ref name stored with the MiqAeDomain instance instead of fetching the latest information over the network every time we have to display the domain name.
Links

https://bugzilla.redhat.com/show_bug.cgi?id=1391208

Steps for Testing/QA [Optional]

Fetch a Git Domain
Sever the network connection to the GIT Server
Bring up the Automate Explorer to list the domains

Euwe BZ: https://bugzilla.redhat.com/show_bug.cgi?id=1396210

Euwe Backport details:
$ git log -1
commit 40c0f2940b48bf45ad4b136e4e6eace3a83db926
Author: Jason Frey <fryguy9@gmail.com>
Date:   Wed Nov 2 16:35:17 2016 -0400

    Merge pull request #12374 from mkanoor/bugzilla_1391208

    Use the ref name in the display name
    (cherry picked from commit 28a535604a340002edc2cdcce08bf91595adc91e)

    https://bugzilla.redhat.com/show_bug.cgi?id=1396210

authors: chessbyte mkanoor


text:
Chargebacks without rollups :: Allocated metrics for HyperV

We don't have usage rollups for SCVMM, so we charge only based on allocation.

Depends on #13229 (merged).
@miq-bot add_label enhancement, chargeback
@miq-bot assign @gtanzillo

@isimluk thanks for all the work around chargebacks. this stuff is not easy

@kbrock this pr includes another pr, that is a dependency. It would be great to keep discussion in the first pr.
Sorry, for keeping this so divided. I like to do one thing per pr.

To put more light into this. We cannot do chargebacks without rollups in general.
Although, for providers that do not yet collect metric (like hyperv), we can emulate allocation statistics and fixed_compute/fixed_storage metrics.

@miq-bot remove_label wip

@isimluk could you link to the other PR up in the first message? That way if we need to backport to e or something, we can more easily determine the dependencies.

Good idea, @kbrock, will do.
Merry Christmas to You and Your family.

Backported to Euwe via https://github.com/ManageIQ/manageiq/pull/13419

authors: isimluk kbrock simaishi


text:
Parse and expose the orchestration template resources

This change parses and exposes the resource type content of CloudFormation orchestration templates. This will enable a preview of what will be instantiated if the orchestration template is deployed to a stack.
Orchestration templates can be gathered from 2 places:

The AWS provider
Manually built in the service catalog.

Implementing this code change to the OrchestrationTemplateCfn class will ensure we parse templates that come from both sources.
https://www.pivotaltracker.com/story/show/138045737

@bzwei - please review

@miq-bot add_label euwe/no, darga/no


text:
[WIP] Extract openshift

The provider is for now at https://github.com/durandom/manageiq-providers-openshift
I did not include the kubernetes provider. Although openshift heavily depends on it.
I think we should extract kubernetes in it's own repo - but not sure...
Have a look at http://manageiq.org/docs/guides/developer_setup.html#clone-some-plugins for setting this up.
⚠  Before merging I have to point it to a proper manageiq repo
@miq-bot add_labels wip, pluggable providers, providers/openshift

@miq-bot add_label providers/containers


text:
Enhance batch saving for containers refresh

Enhance batch saving for containers refresh. Collection of little tweaks needed for batch saving to work on a real Containers provider.

@miq-bot add_label enhancement
@miq-bot assign @agrare


text:
[V2V] Add fixed SSH key file path for virt-v2v-wrapper

With UCI, the path for the SSH private key file that virt-v2v-wrapper uses must be provided in the input JSON. Because ManageIQ will mount the private key file as /var/lib/uci/ssh_private_key, this pull request adds a hard coded attribute to the generated input.
RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1825023

@miq-bot add-label v2v, bug, ivanchuk/yes, jansa/yes?
@miq-bot add-reviewer @agrare

Jansa backport details:
$ git log -1
commit fa19aa756de34efd08ccb38ca63061dd07c28120
Author: Jason Frey <fryguy9@gmail.com>
Date:   Wed Apr 29 07:58:39 2020 -0400

    Merge pull request #20102 from fdupont-redhat/v2v_bz_1825023

    [V2V] Add fixed SSH key file path for virt-v2v-wrapper

    (cherry picked from commit eca97f587617c57b9043da6d0a0c1791fa22cce8)

    https://bugzilla.redhat.com/show_bug.cgi?id=1825023

authors: fdupont-redhat simaishi


text:
Reset cached secrets on Rails 7.0

Partial Revert of https://github.com/ManageIQ/manageiq/pull/23254
Enhanced the test to check both the app config secret_key_base and app secret_key_base as there's caches in both.  These test changes make the test fail if we do not clear the cached secrets on Rails 7.0.
This seems to fix an issue with caching in both secrets and the config on rails 7.0:
Missing `secret_key_base` for 'production' environment, set this string with `bin/rails credentials:edit` (ArgumentError)

Fixed a minor typo < 7.1 instead of <= 7.1

Backported to radjabov in ef52dffb1dcaba21be5a3e50b1f5459f02df602d
commit ef52dffb1dcaba21be5a3e50b1f5459f02df602d
Author: Brandon Dunne <brandondunne@hotmail.com>
Date:   Wed Nov 6 20:03:57 2024 -0500

    Merge pull request #23259 from jrafanie/properly-reset-cached-secrets

    Reset cached secrets on Rails 7.0

    (cherry picked from commit bd4b3698c4a00154bed3a07210c3192702f22baa)

authors: bdunne jrafanie


text:
don't store vmdb info in session

Looks like we are storing the VERSION and BUILD_NUMBER in the session.
It was only referenced in /support/show.html.haml -- I was only able to access this from /support/about.
Any reason to store this data in the session?
Thanks
/cc @dclarizio @Fryguy

LGTM :+1: @dclarizio Please review.

@kbrock :heart: :purple_heart: :yellow_heart: :green_heart:

@dclarizio @martinpovolny @h-kataria Please review

The less the merrier in the session object, merging.

authors: Fryguy chessbyte dclarizio kbrock tenderlove


text:
[WIP] Added wait_for_ip method

Added a new state and method to wait for the ip address to be available
before we call the Ansible Tower Job Templates

@gmcculloug @Fryguy
Please review


text:
New version of Elmish.Toast compatible with Elmish 3 and without Fable.PowerPack

Would it be possible to publish a new version of Thoth.Elmish.Toast compatible with Elmish 3 and without the Fable.PowerPack dependency? You can use the new Fable.Promise package, but as you only need to wait for a few milliseconds, you can also just use Async.Sleep and Cmd.ofAsync to avoid an extra dependency only for that.
It'd be interesting to remove the CSS imports to see if this helps with the bundle size, but it can affect other users and I'm not still sure this is what is preventing module concatenation, so it's not really a big priority.

About the CSS imports I think in the next version I will use inline style just like I did for FormBuilder.
https://github.com/MangelMaxime/Thoth/blob/master/src/Thoth.Elmish.FormBuilder/Form.fs#L58-L88

authors: MangelMaxime alfonsogarciacaro

repo: MangelMaxime/Thoth

license: MIT


text:
Directed graphs

Overview: What does this pull request change?
Graph Mobject can be directed and we can configure the tip globally or per edge
Closes #2935
Closes #2843
Supersedes #2850 in a non breaking way

Motivation and Explanation: Why and how do your changes improve the library?
At the moment directed graph are not supported
Links to added or changed documentation pages
https://manimce--2974.org.readthedocs.build/en/2974/reference/manim.mobject.graph.GenericGraph.html#manim.mobject.graph.GenericGraph
https://manimce--2974.org.readthedocs.build/en/2974/reference/manim.mobject.graph.Graph.html
https://manimce--2974.org.readthedocs.build/en/2974/reference/manim.mobject.graph.DiGraph.html
Further Information and Comments

Reviewer Checklist

[x ] The PR title is descriptive enough for the changelog, and the PR is labeled correctly
[x ] If applicable: newly added non-private functions and classes have a docstring including a short summary and a PARAMETERS section
[x ] If applicable: newly added functions and classes are tested

Somehow this PR has passed under my radar several releases in a row, sorry. I've just skimmed over the current implementation, it looks good to me!
I'd like to do some more tests tomorrow, and there are some details I'd like to change about the docstring of Graph -- but I'll take care of that. If there are no major issues, this will be included in the upcoming release. 👍

Great! Thank you for accepting this PR. Any ideas when the new Manim version will be released? 😊

Great! Thank you for accepting this PR. Any ideas when the new Manim version will be released? blush

In a few hours, see #3198 :-)

authors: behackl fcrozatier

repo: ManimCommunity/manim


text:
calc_precursor_mz leads to unexpected behavior

Hi Feng, I observed the following bug when using AB to create multiplexed DIA libraries. It's technically not a bug but more of a incompatible behavior between functions which might confuse users. Let me know what you think, I'm happy to make a PR.
Describe the bug
When calling calc_precursor_mz on a spectral library, clip_by_precursor_mz_ is always invoked, which messes up the precursor fragment mapping.
To Reproduce

Create a library with a preecursor just below the upper mz limit:

precursor_df = pd.DataFrame([
    {'sequence': 'AGHCEWQMKPERGWWWWWPPWWWWGGGGAGGAG', 'mods': 'Dimethyl@Any N-term;Dimethyl@K', 'mod_sites': '0;8', 'charge': 2},
    {'sequence': 'AGHCEWQMKPE', 'mods': 'Dimethyl@Any N-term;Dimethyl@K', 'mod_sites': '0;8', 'charge': 3},
    {'sequence': 'AGHCEWQMKPERGWWWWWPPWWWWGGGGAGGAGG', 'mods': '', 'mod_sites': '', 'charge': 2},
])

spec_lib = SpecLibBase(
    ['b_z1','b_z2','y_z1','y_z2'],
    decoy='pseudo_reverse',
    precursor_mz_max=2000,
)
spec_lib._precursor_df = precursor_df
spec_lib.calc_precursor_mz()
spec_lib.calc_fragment_mz_df()

spec_lib.precursor_df

sequence
mods
mod_sites
charge
nAA
precursor_mz
frag_start_idx
frag_stop_idx

AGHCEWQMKPE
Dimethyl@Any N-term;Dimethyl@K
0;8
3
11
457.877652
0
10

AGHCEWQMKPERGWWWWWPPWWWWGGGGAGGAG
Dimethyl@Any N-term;Dimethyl@K
0;8
2
33
1997.896037
10
42

AGHCEWQMKPERGWWWWWPPWWWWGGGGAGGAGG

2
34
1998.375468
42
75

Modify the sequence or modification which will change the m/z of some precursors, recalculate the precursor mz:

spec_lib._precursor_df['mods'] = spec_lib._precursor_df['mods'].str.replace('Dimethyl', 'Dimethyl:2H(6)13C(2)')
spec_lib.calc_precursor_mz()

sequence
mods
mod_sites
charge
nAA
precursor_mz
frag_start_idx
frag_stop_idx

AGHCEWQMKPE
Dimethyl:2H(6)13C(2)@Any N-term;Dimethyl:2H(6)...
0;8
3
11
463.240566
0
10

AGHCEWQMKPERGWWWWWPPWWWWGGGGAGGAGG

2
34
1998.375468
42
75

recalculate the fragment masses:
spec_lib.calc_fragment_mz_df()

File "/Users/georgwallmann/miniconda3/envs/alpha/lib/python3.9/site-packages/IPython/core/interactiveshell.py", line 3378, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "/var/folders/lc/9594t94d5b5_gn0y04w1jh980000gn/T/ipykernel_6587/3999293303.py", line 1, in <module>
    spec_lib.calc_fragment_mz_df()
  File "/Users/georgwallmann/Documents/git/alphabase/alphabase/spectral_library/base.py", line 361, in calc_fragment_mz_df
    )
  File "/Users/georgwallmann/Documents/git/alphabase/alphabase/peptide/fragment.py", line 818, in create_fragment_mz_dataframe
  File "/Users/georgwallmann/Documents/git/alphabase/alphabase/peptide/fragment.py", line 876, in create_fragment_mz_dataframe
    '''
  File "/Users/georgwallmann/Documents/git/alphabase/alphabase/peptide/fragment.py", line 435, in mask_fragments_for_charge_greater_than_precursor_charge
    elif frag_type == 'y':
  File "/Users/georgwallmann/miniconda3/envs/alpha/lib/python3.9/site-packages/pandas/core/indexing.py", line 815, in __setitem__
    indexer = self._get_setitem_indexer(key)
  File "/Users/georgwallmann/miniconda3/envs/alpha/lib/python3.9/site-packages/pandas/core/indexing.py", line 698, in _get_setitem_indexer
    return self._convert_tuple(key)
  File "/Users/georgwallmann/miniconda3/envs/alpha/lib/python3.9/site-packages/pandas/core/indexing.py", line 897, in _convert_tuple
    keyidx = [self._convert_to_indexer(k, axis=i) for i, k in enumerate(key)]
  File "/Users/georgwallmann/miniconda3/envs/alpha/lib/python3.9/site-packages/pandas/core/indexing.py", line 897, in <listcomp>
    keyidx = [self._convert_to_indexer(k, axis=i) for i, k in enumerate(key)]
  File "/Users/georgwallmann/miniconda3/envs/alpha/lib/python3.9/site-packages/pandas/core/indexing.py", line 1394, in _convert_to_indexer
    key = check_bool_indexer(labels, key)
  File "/Users/georgwallmann/miniconda3/envs/alpha/lib/python3.9/site-packages/pandas/core/indexing.py", line 2567, in check_bool_indexer
    return check_array_indexer(index, result)
  File "/Users/georgwallmann/miniconda3/envs/alpha/lib/python3.9/site-packages/pandas/core/indexers/utils.py", line 553, in check_array_indexer
    raise IndexError(
IndexError: Boolean index has wrong length: 43 instead of 75

Expected behavior
calc_fragment_mz_df requires a continous frag_start_idx, frag_stop_idx, which is not compatible with the way clip_by_precursor_mz_ works. It is also not immediatley clear thatclip_by_precursor_mz_ has been called and precursors were removed.
Possible Solutions

don't call clip_by_precursor_mz_ by default within calc_precursor_mz
issue a warning: n precursors were remove because they were outside the mz limits
call spec_lib.remove_unused_fragments() right after clip_by_precursor_mz_

Good catch! And good suggestions! Will you try to address it or me?

Thanks, will open a PR later!

repo: MannLabs/alphabase


text:
Zoomed event not trigger using MapView

I want trigger the "Zoomed" event, but when I click on the Zoom button, it does nothing and the event is not trigger.
I'm using mvvm so I create this :
MapView.Behaviors.Add(
                  new Prism.Behaviors.EventToCommandBehavior()
                  {
                       EventName = "Zoomed",
                       Command = ZoomedCommand,
                       EventArgsConverter = new
    Helpers.Converters.EventArgsConverters.MapZoomedEventArgsConverter()
                   }
                );

It doesn't if I'm using the event with Map.zoomed += ... too.
Did it exist an other way too make an action when I zoom ?

What I see in code is the MapView.Zoomed event is triggered by a HandlerZoomed which attached to the MapControl.Zoomed which is called from the private MapControl.OnZoomOut which is never called (so something is wrong) and also from the private MapControlOnZoomIn which called from OnDoubleTabbed. Not sure how this is supposed to work.

Januari 8 2020 there was a commit which now calls OnZoomOut so I assume this is fixed.

Should be fixed in 2.0.0-beta.31 and later.

Hi,
I'm using v2.0.3 and it still doesn't trigger the event. Any solution?
Thanks

Same problem on v3.0.2

authors: AndrewTavi pauldendulk sylverbee xFoRdeX

repo: Mapsui/Mapsui


text:
Formatter errors with undefined method 'positive?'

Versions Used:
simplecov-small-badge version: 0.2.4
simplecov version: 0.21.2
ruby version: 2.7.1p83
rails version: 6.0.3.4
Issue:
When running rails test, SimpleCovSmallBadge::Formatter throws the following error
Formatter SimpleCovSmallBadge::Formatter failed with NoMethodError: undefined method `positive?' for [:line]:Array (gems/simplecov-small-badge-0.2.4/lib/simplecov_small_badge/formatter.rb:36:in `state')

with unnecessary parts of the path omitted.
It appears as though at some point simplecov started using a hash for the SimpleCov.minimum_coverage variable and this is causing it to fail. By placing the following code into my config/initializers path in the rails app so that it overwrote the problem method I was able to make the code work. It simply accesses the hash and does the rest as normal
require 'simplecov'
require 'simplecov_small_badge'
SimpleCovSmallBadge::Formatter.class_eval do
  private
  def state(covered_percent)
    if SimpleCov.minimum_coverage[:line]&.positive?
      if covered_percent >= SimpleCov.minimum_coverage[:line]
        'good'
      else
        'bad'
      end
    else
      'unknown'
    end
  end
end

However this is the first time I have ever used this gem, or the simplecov gem so perhaps there is just an issue with my configuration. I would appreciate some input. If this is a proper fix just let me know and I can make a pull request for it.

Since version 0.18.0, SimpleCov.minimum_coverage has been a Hash, allowing different values for :line and :branch coverage.
Here's the Changelog entry related to the change: https://github.com/simplecov-ruby/simplecov/blob/main/CHANGELOG.md#0180-2020-01-28
Here's the commit: https://github.com/simplecov-ruby/simplecov/commit/69dfd85c03acf8474f3f6dba9a8bae202a236fda#diff-8cb7f3be7080b7ff0dc99ec016e9cf6422cf2ba71e6f0f24822bec6bdb1b36fbR243
#16 Fixes this issue.

@joeyates problem is that #16 PR is open since a while 😅

This is sad.  b0rken for 9 months because the fix PR is unacceptable and the repo owner is too lazy to just fix the bug.  Oh well, next.

authors: enricoribelli gdonald joeyates realtradam

repo: MarcGrimme/simplecov-small-badge


text:
CVE-2024-27454

Describe the bug
I'd like to bump orjson version to address this CVE
I'm a first time contributor so please lmk if there's a better way to request these types of changes.
My PR is open here: https://github.com/MarcoMuellner/openapi-python-generator/pull/72

Currently in the process of rewriting everything to use pydantic 2 - i'll take over your change into the new branch :) Thanks for the contribution!

authors: MarcoMuellner nickw-adonis

repo: MarcoMuellner/openapi-python-generator


text:
IPP just ignores some breakpoints

Describe the bug
IPP ignores breakpoints specified in .ipprc.yml
Steps to reproduce
Got 12 webp files in src directory
.ipprc.yml
input: src
output: out

manifest:
  source:
    p: path
    h: "hash:6"
  format:
    w: width
    p: path
    h: "hash:6"

pipeline:
  - pipe: resize
    options:
      breakpoints:
        - name: xs
          resizeOptions:
            width: 640
            height: 400
        - name: sm
          resizeOptions:
            width: 768
            height: 400
        - name: md
          resizeOptions:
            width: 1024
            height: 400
        - name: lg
          resizeOptions:
            width: 1280
            height: 400
        - name: xl
          resizeOptions:
            width: 1536
            height: 400
        - name: 2xl
          resizeOptions:
            width: 1920
            height: 400
        - name: 3xl
          resizeOptions:
            width: 1920
            height: 1080
    save: "[breakpoint]-[name].[hash:6][ext]"

What I've done
yarn global add @ipp/cli
ipp
ls out

3xl-slide10.9fe774.webp  3xl-slide1.95fadd.webp  3xl-slide4.d87084.webp  3xl-slide7.f12bff.webp  manifest.json          sm-slide4.c23f93.webp   xs-slide12.d92319.webp  xs-slide3.84914e.webp  xs-slide6.674dba.webp  xs-slide9.8590e2.webp
3xl-slide11.5f3294.webp  3xl-slide2.0689f0.webp  3xl-slide5.7f4910.webp  3xl-slide8.7d6901.webp  sm-slide2.456f41.webp  xs-slide10.11aaf5.webp  xs-slide1.9a7695.webp   xs-slide4.ca79f4.webp  xs-slide7.810229.webp
3xl-slide12.6c1a0e.webp  3xl-slide3.d7bc8b.webp  3xl-slide6.9505a2.webp  3xl-slide9.49105f.webp  sm-slide3.f13384.webp  xs-slide11.a1129e.webp  xs-slide2.d3c56d.webp   xs-slide5.322bb9.webp  xs-slide8.f98ee7.webp

Expected behaviour
Each file should be processed for every breakpoint
System information:

OS: Manjaro Linux 21.1.2
Node version: 16.8.0
IPP version: cli 1.2.2

Hi,
Are all the source image dimensions larger than the largest breakpoint you specified (1920x1080)? If yes, then I will need some more information to reproduce the bug, a sandbox reproduction would be ideal. If not, read on.
One of my objectives with IPP was to avoid any duplicate output images with the same dimensions to eliminate any unnecessary network requests and caching. In order to achieve this, by default, IPP will pass withoutEnlargement: true to sharp (image manipulation library) and filter the list of breakpoints, comparing each against the source image dimensions to ensure that only one image of a certain size would be exported.
For example, if you would give it an image of 64x64, and specify two breakpoints at 128x128 and 256x256, both breakpoints would be constrained to 64x64 to prevent image enlargement, therefore only one breakpoint would be exported (which one depends on the order in which you specify them, the final resulting image would only be 64x64 to prevent lossy upscaling).
This is where the manifest.json file or the webpack loader comes in handy, it lets the client check what variants are available.
You can opt-out of this behaviour by passing allowDuplicates: true to the resize pipe. This will not check for duplicate exported sizes and will not pass withoutEnlargement: true to sharp, although you can set this manually for each breakpoint individually. It's not currently documented (actually, not much is), I haven't got much time for open-source at the moment, but I can try and help by answering any questions.
Good luck!
options:
  allowDuplicates: true
  breakpoints:
    - name: xs

https://github.com/MarcusCemes/image-processing-pipeline/blob/e764b694ce10da0a6b102cfeb29692af25182cb2/packages/core/src/pipes/resize.ts#L22

Oh... I see now
So this is not a bug then
Thanks you very much for your help and clarification
Now we can close this issue
P.S.: so we need detailed docs for .ipprc then

authors: MarcusCemes axel-verse

repo: MarcusCemes/image-processing-pipeline


text:
.CHM documentation is empty

All sections are just empty.

Unfortunately I’m aware of this Windows security limitation, please note the following remarks that are mentioned in the Readme:

If you are experiencing difficulties with viewing the CHM file's content after downloading it, right-click on CHM file, select "Properties" and under the "General" tab click "Unblock".

Does this solve your issue?
Also as an FYI, I was considering avoiding this behaviour by a CHM documentation in a ZIP file. The unzipped CHM file would not reproduce this issue.

Yep, everything works now.
Well, I didn't saw this text because I clicked link at the bottom of Readme saying "more details can be found in MadMilkman.Ini.Documentation.chm". Probably you should duplicate this text in the bottom of readme as well.


text:
[Feature] Support multi-root workspace

Is your feature request related to a problem? Please describe.
The extension does not function when a workspace has multiple folders
Describe the solution you'd like
Show all valid projen projects at the root of each folder in a workspace

Support added in https://github.com/MarkMcCulloh/vscode-projen/releases/tag/v0.0.27

repo: MarkMcCulloh/vscode-projen


text:
Add toggle for showing/hiding inactive students to submission and summary tables AB#137

In cases where groups consist entirely of inactive students, add a toggle similar to the 'show inactive students' toggle on the groups page.

Fixed in #7000 and #7029

authors: david-yz-liu pretendWhale

repo: MarkUsProject/Markus


text:
[Bug] Fail pipeline if issues found

What happened?
I have configured my Tests on azure-pipeline  and when ever there is a commit it executes robocop and tests. Now here what I observed is, in robocop step even though there are some issues found, my pipeline is still green. Is there a way to mark it as fail if issues are found?
What command/code did you try to run?
robocop --reports all --configure return_status:quality_gate:E=-1:W=-1:I=-1
What is the full error message?
No error. Details mentioned in description
What did you expect to happen instead?
Pipeline should fail if issue is found
Operating System
Windows
Robocop version
3.1.1

If you setup quality gateway to -1 it ignores any issues for given severity when calculating return code. If you want to faul on any info/warning/error message then configure it to 0. More information here https://robocop.readthedocs.io/en/stable/user_guide.html#return-status

@MummanaSubramanya Do you need some more help here or the issue is resolved based on the @bhirsz's comment?

authors: MummanaSubramanya bhirsz mnojek

repo: MarketSquare/robotframework-robocop


text:
Flaky tests

Seed 14466 near midnight EST full suite, tagged_at was a minute later than old_tagged_at
Seed 32374 at 2017-11-16T19:55:32Z, tagged_at was a second later than old_tagged_at  1) Post should have the right timestamps
   Failure/Error: expect(post.tagged_at).to be_the_same_time_as(old_tagged_at)
     expected 2017-11-16 14:54:38 -0500 to be the same time as 2017-11-16 14:54:37 -0500
     compared: 2017-11-16T14:54:38-05:00
         with: 2017-11-16T14:54:37-05:00
   # ./spec/models/post_spec.rb:22:in `block (2 levels) in <top (required)>'

The tests flaked again, on master.

repo: Marri/glowfic


text:
Pay button

close #issue_number
我已确认该 PR 已自测通过，相关截图如下：

固定金额无需手续费的场景是?建议这个放在以后的折扣里面,不要放在点数充值里面.

为啥固定充值不需要手续费？ 是否需要手续费 不应该在 支付网关配置吗？
另：没有拉取最新代码 导致冲突。

不是群里那个人说要这个嘛🤣

authors: MartialBE ZeroDeng01 kaliCYH

repo: MartialBE/one-api


text:
Gyb boot

雇佣帮微服务版

pass

repo: Marveliu/gyb


text:
[feature] Create ratelimiting tables as UNLOGGED

Since the content of the *ratelimiting* tables is volatile, I suggest to change their creation mode to UNLOGGED for PostgreSQL.
This would substantially increase the rate of possible update operations on those tables, with 'substantial' being something between 10% and 90%, depending on configuration, storage system etc.
So:
CREATE TABLE IF NOT EXISTS ratelimiting_metrics

CREATE TABLE IF NOT EXISTS response_ratelimiting_metrics

would become:
CREATE UNLOGGED TABLE IF NOT EXISTS ratelimiting_metrics

CREATE UNLOGGED TABLE IF NOT EXISTS response_ratelimiting_metrics

and that's it.
Please note that this would introduce a dependency to PostgreSQL >= 9.1,x.

Unlogged tables do not replicate iirc. So that makes it impossible to use unlogged tables. No?
btw. Kong already requires PostgreSQL >= 9.4

If you use physical or logical replication UNLOGGED tables are not replicated, since they never touch the WAL which is the replication source. Trigger-based replication, e.g. buracdo, should be able to replicate them, but I can't find any definitive yes or no in the documentation.
However, I'm not clear about the role of PostgreSQL in a Kong cluster? You could use a standby server for failover, but in this case it should be a lesser problem losing the data in the counter tables compared to losing e.g. the configuration, the plugin would just start at zero again.
You also could horizontally scale reads over a master + n slaves, but then you have to deal with replication lag between the nodes. Write-wise, all writes will have to hit the master anyway.
I thought Cassandra and Redis are supported exactly for cases when you need to horizontally scale writes to the datastore?

No postgres expert myself. The main use-case I'm referring to is multi-datacenter setups, where each DC has it's own local datastore (that syncs with the other DC datastores)
So unless there is a definitive answer that this works, we cannot change to UNLOGGED tables imo.
@thefosk @thibaultcha any thoughts or wisdom to share on this?

Me too. At least not with distributed setups. So, I see your point and agree, better safe than sorry. At least it is no problem of manually setting them to UNLOGGED in a single server installation.

@ergo70 You tested this, with manually changing the tables to UNLOGGED? and the results were ok? If so can you post a bit on how and what for future reference? Thx!

Yes, it seems to be working without problems.
As said here before, UNLOGGED tables do not write to the WAL and therefore feature faster writes. However, in case of a database crash, their data cannot be restored, so they will come up empty. They are also not replicated with all replication mechanisms that use the WAL, trigger based replication mechanisms should work.
So the are mainly suitable for applications, where write speed beats data safety, e.g. caches or staging tables.
I saved the original table creation scripts, dropped the tables and re-created them with CREATE TABLE changed to CREATE UNLOGGED TABLE and that was it.
With PostgreSQL >= 9.5, you could also do ALTER TABLE SET UNLOGGED directly on the existing tables. In both cases, Kong should be stopped while doing this.

👍  thx!

repo: Mashape/kong


text:
Don't append port to outgoing Host header if it wasn't explicitly specified in upstream_url

By default, Kong will replace the incoming Host header with the hostname of the upstream_url (unless preserve_host is true). It looks like Kong always adds the port to the new Host header, even if it wasn't explicitly specified. For example, a "https://www.foobar.com/" upstream_url will result in a "www.foobar.com:443" Host header.
This can cause problems if the upstream server isn't expecting (or doesn't support) port numbers in Host headers. This was the case with our setup, but preserve_host turned out to be an effective workaround. Is there a reason Kong does this? Would it make sense for Kong to extract the hostname exactly, and only include the port number in the outgoing Host header if it was also explicitly specified in upstream_url? That would leave it up to the Kong admin to determine what the Host header looks like.

The port is included because it is allows by the section 14.23 of the HTTP/1.1 specs. Most of the time it is stripped out when it is the default port, but now always.

@ondrej I agree with @thibaultCha that if the server doesn't support a port number in the Host header, that seems to be more of a problem of the server since it's part of the HTTP specification.

authors: ondrej thefosk thibaultCha


text:
提示没有TH_COOKIE

青龙面板运行现金脚本提示没有TH_COOKIE，其他正常

我试试看，可能是我哪里又弄错了

加油，大佬

加油，大佬

你重新拉下脚本试试，我这边测试，一切正常，但不推荐挂现金脚本，会黑号

OK,没问题了


text:
Update website link on the description in the left of this repository

Should be updated to https://packages.masoniteproject.com

Can you make this small update on github repo page ?

repo: MasoniteFramework/masonite-packages


text:
Feature: Present Mati programatically

Your button is not consistent with our Design System, and we're not modifying it just to match your btn, so it would be great to have something like:
let btn = Button(title: "Start Verification") // Button from our design system
btn.addTarget(self, action: #selector(startVerification), for: .touchUpInside)

// then...

@objc func startVerification() {
  // Like this
  let matiRun = try MFKYC.instance.build()
  self.present(matiRun, animated: true, completion: nil)
  // Or like this
  self.present(MFKYC.instance.viewControllerOrSomething, completion: nil)
}

Hello, thank you for suggestion, we will review it and perhaps implement it later.

authors: AlexisLeon aposnovmati

repo: MatiFace/mati-global-id-sdk


text:
🛑 sonarQ is down

In c2e831c, sonarQ (https://sonarqube.dev.securitize.io) was down:

HTTP code: 502
Response time: 135 ms

Resolved: sonarQ is back up in ffbf05d.


text:
🛑 Inventario App is down

In 45eef76, Inventario App (https://inventario.voluntariosgreenpeace.cl/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Inventario App is back up in 96544cb after 11 hours.


text:
🛑 Ticketing App is down

In 4d8ceaa, Ticketing App (https://rt.greenpeace.org.ar/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Ticketing App is back up in 6a8c4d8.


text:
Glow effect example

just a good visual effect for games
here's a random screenshot of what i mean:

I can try this one if nobody else has claimed it

authors: oddbookworm pycoinfu


text:
ci: merge staging to master

This is an automatic PR generated by the pipeline CI/CD. This will be automatically fast-forward merged if successful.

Pipeline Attempt on 1021563092 for 1b66024577ece9dc78cc1a943e4f9cd6e02a0d9a
https://gitlab.com/MatrixAI/open-source/js-ws/-/pipelines/1021563092

Pipeline Succeeded on 1021563092 for 1b66024577ece9dc78cc1a943e4f9cd6e02a0d9a
https://gitlab.com/MatrixAI/open-source/js-ws/-/pipelines/1021563092

repo: MatrixAI/js-ws


text:
Start of the Registry Editor

Current Progess
- This is just the start of the Registry Editor feature. It needs a bit of work before it functions as intended. It needs a bit more logic to view, as well as all of the logic to add, edit, and delete registry keys.
- This addition is a good example of how the feature addition should continue; I merely have provided the building blocks necessary for its continued development.
To-Do
1. Correctly add sub-keys to the TreeView.
    - Order: Correctly maintain the order when making use of the keys sent to the server by the user. I was trying to research the best way to do so, as the collections I normally use to preserve the tree structures are in .NET v4.0   :(
        - In this situation, it is likely the best idea to use the Tag to maintain the order in the TreeView. As much as I would not like to send the related tag to the Client, it would be the easiest way to ensure order of the returned keys.
    - Root nodes currently work. It is more of a proof-of-concept to show the current logic works, but needs more added to it.
2. Connect the logic to correctly display the value on the ListView.
3. Adding, Editing, or Deleting the RegistryKeys:
    - This should come after the order is correctly preserved in the TreeView.
    - This feature addition also means creating more Forms for the corresponding RegistryKey data type.
    - This feature addition also means implementing a few more events and packet types when the Client deletes, adds, or edits a RegistryKey.
Note: Comments where left in the code to help find more little things that need to be added to the Registry Editor to make it more complete.
To find such comments, locate comments that begin with ToDo:.
Questions/Answers
1. Why did I make an additional CommandHandler just for the Registry Editor?
    - The logic for the Registry Editor feature can grow quite significantly as intended features to add in the feature (add, delete, and edit) are added. It is both the actual logic to handle these requests and responses that can be rather extensive and specific; it is likely to be ~300-500 lines or so of code.
2. Why not just finish implementing the Registry Editor?
    - There is a huge amount of features to add to make it complete. Besides my lack of time (especially with college coming up very soon), I also feel that others would be more suited for specific tasks. An example for a task that will need to be done would be the creation of nice graphics for the Registry Editor (ehm, @MaxXor) ;)
3. Why must we add more events and types of packets?
    - In Windows' Registry Editor, it is clearly quite a responsive design. Unfortunately, a responsive design often will require many events to be fired.
4. Am I going bye-bye?
    - Nope! I will very likely not be able to contribute much for a month or two, but I figured I would post my current progress so any others that wish to help implement this can make it happen.

MaxXor, please do not merge this into master!
I wish to merge this into a new branch for the Registry Editor addition to be worked on more.

Good Job :+1: :+1:

Closing this until I make more progress. Progress on the Registry Editor feature will be tracked on the initial issue created for the suggestion to have this feature added.

authors: DragonzMaster yankejustin

repo: MaxXor/xRAT


text:
View

Сейчас во вью свалены вообще все возможные классы, нужно их разнести по разным файлам

Заметил, что все вью-подклассы реализуют этот метод (и некоторые другие):

Лучше тогда создать дополнительную сущность базового вью как абстрактный класс/интерфейс и там объявить все общие методы, а потом уже все остальные вью-классы от него наследовать

Заметил, что все вью-подклассы реализуют этот метод (и некоторые другие):

Лучше тогда создать дополнительную сущность базового вью как абстрактный класс/интерфейс и там объявить все общие методы, а потом уже все остальные вью-классы от него наследовать

attributeChangedCallback еще дублируется везде, но в базовом классе его нет

attributeChangedCallback еще дублируется везде, но в базовом классе его нет

repo: MaximShmatov/slider


text:
🛑 TrueSafe Web Site is down

In 67d579f, TrueSafe Web Site ($STATUS_SITE) was down:

HTTP code: 0
Response time: 0 ms

Resolved: TrueSafe Web Site is back up in c0afa8e after 5 minutes.


text:
Limit the number of open threads (hashtag671)

Hello, in the software we are developing, we need to open (and keep open) lots of threads, and therefore we are sometimes reaching the limit of threads we can open, and will receive the classical can't start a new thread error. Examining the opened threads when we reach that limit, to check if there is anything we could reduce, I realized Loguru opens 20 Threads! That should be ok for most of the users, but I need to limit that to, let's say, 10 Threads!
I looked at the docs, but couldn't find anything that showed me how I could do that. Is there any way to do that? Or do you have any other suggestions?

Hi.
Loguru is adding one thread per handler configured with enqueue=True, that's it.
20 Loguru threads would mean you called .add(..., enqueue=True) 20 times while never removing any of the added handler. Is that possible according to your code? Maybe you fall into [a common pitfall of multiprocessing]( which happens when code is not guarded by if __name__ == "__main__" and cause same code to be executed multiple times?

Wow, thanks for the (REALLY) fast reply! That can make sense, yes! I don't think I fell into the pitfall you said, but it is possible that I have 20 handlers! I'll double check both of the statements, as it seems this will solve the problems (or at least bring light to it)!
Thanks!


text:
Remove duplicate description from ReadMe

Removed the duplicate description.

Ty lol

repo: McHistory/nostalgia


text:
[Refactor] finish switch to real McCode sources

By implementing CMake-like configure_file support for replacing @MCCODE_*@ strings by newly-added configuration keys the remaining dependency on the pre-configured mccode-r.h, mcstas-d.h, and mcxtrace-d.h has been removed.
The GitHub based registry files are still outside of the main McCode repository, but they are updated automatically nightly. In the future they may be updated by changes in the McCode repository.
Merging this should finally fix #30

One reason to use the upstream sources:
I changed the return type of _getcomp_index from int to long at some point, probably because the index of a component is long valued.
That change was not propagated back to the main repository, so tests here fail when the 'real' sources are used.
@willend Can you confirm whether the component index property is long valued? And, assuming it is, would you accept a PR to change the _getcomp_index return from int to long?

The component _index property is indeed long valued. See https://github.com/McStasMcXtrace/McCode/blob/c4c9421d630767f612703947bad4c82941220398/mcstas/src/cogen.c.in#L542

McCode #1597 should track resolution of the type discrepancy. The last commit here may need to be undone as a result.

repo: McStasMcXtrace/mccode-antlr


text:
add info about integer parameter

Adding info about parameter per https://sourceforge.net/p/mediainfo/discussion/297610/thread/e4ca0ee0/

Thanks

repo: MediaArea/MediaInfoLib


text:
Fix headers installation with CMake

Old header installation procedure was removed in 348b280cb, fixed now.

thanks!
Let's try with that...

authors: JeromeMartinez evpobr

repo: MediaArea/ZenLib

license: Zlib


text:
🛑 MediaNext is down

In b3cfdc6, MediaNext (https://the-bot.thein321.repl.co) was down:

HTTP code: 0
Response time: 0 ms

Resolved: MediaNext is back up in 5ead101.

repo: MediaPlay-Discord/status


text:
Fix BepInEx.Analyzers not found

The OutwardModTemplate.csproj references BepInEx.Analyzers.1.0.7 which are not present in packages.config, this results in a build failure. Adding the package to packages.config fixes the problem.

Sorry I didn't get pinged about this for some reason. I've removed the analyzers references from the csproj as they aren't that useful for Outward modding anyway. Thanks for the PR though.

authors: sinai-dev tomalop

repo: Mefino/OutwardModTemplate


text:
test with no predefined tag

test with no predefined tag

this test did not work

repo: Mehdi-Bayar/hello-express


text:
这个类第62行错了，导致复用机制不生效，会影响性能

https://github.com/Meituan-Dianping/Robust/blob/master/auto-patch-plugin/src/main/java/com/meituan/robust/autopatch/PatchesControlFactory.java
这个类第62行错了，导致复用机制不生效，会影响性能

我们看一下

authors: PMMKing hedex

repo: Meituan-Dianping/Robust


text:
DockerPull policy always on

Hi,
why we are always pulling dockers[1]? can it be optimized?
https://github.com/Mellanox/ci-demo/blob/dd78c6851d6d2e75fc42d81cb14e814620143238/.ci/cidemo-k8.py#L16

I think this .py file is not used anywhere yet. There is a plan to use it for creating reproducer yaml.

authors: lennybe vasily-v-ryabov

repo: Mellanox/ci-demo


text:
🛑 API MTTK is down

In f0c93d3, API MTTK (https://api.mttk.net) was down:

HTTP code: 502
Response time: 958 ms

Resolved: API MTTK is back up in 964967e.

repo: Meta-Network/upptime


text:
Armar un texto base para dar la bienvenida e iniciar el proceso de incorporación de futuro/as colaboradores

Hola (nombre) , un gusto, por acá [nombre] soy parte del equipo de MetaDocencia desde hace un tiempo. Estoy al tanto de que tenés ganas de sumarte a colaborar con MetaDocencia, y antes que nada, agradecerte por eso y darte la bienvenida a esta hermosa comunidad. Entiendo que estás con los tiempos bastante ajustados (como la gran mayoría de nosotres), pero no te preocupes, porque cada une va sumando y aportando en la medida en que quiere y puede hacerlo. Nuestro trabajo acá es 100% voluntario, por lo que es atendible que cada quien le dedique el tiempo que vaya pudiendo.
En primer lugar te voy a pasar unos links a dos de nuestros post como para que vayas leyendo cuando puedas ( si es que aún no lo hiciste). https://www.metadocencia.org/post/ayudante/ (editado)
Y este es el otro: https://metadocencia.netlify.app/post/como-colaborar/
Estamos trabajando ( o si ya está listo: más adelante te vamos a enviar) un post para facilitar el proceso para ser ayudante, el "onboarding ayudante", le llamamos. y que podamos guiarnos en base a ello. Me queda la duda si ya realizaste nuestro taller de de Introducción al ABC para enseñar online, me comentás al respecto?
Una vez que haya realizado el curso, podemos continuar con el siguiente texto:
Hola,(nombre) , cómo va?, esperamos que estés bien. Nos alegra que hayas podido hacer el curso, y esperamos que hayas podido tomar algunos consejos para aplicar a la virtualización de la enseñanza, o al ámbito dónde consideres que te pueda servir. Te contamos que hay varios ejes sobre los que estamos trabajando, algunos en proceso inicial, y otros en un estadío un poco más avanzado. Cuando vos consideres que podés acomodarte un poquito, te sumamos a los canales cerrados de Slack, dónde trabajamos con el equipo de MetaDocencia para que vayas leyendo y entendiendo un poco de qué va la cosa. Si te interesa colaborar como ayudante en los cursos, también podés hacerlo. Y por último, si querés, nos podés contar un poco acerca de vos, lo que estás haciendo y qué pensás que te gustaría hacer o con qué te gustaría colaborar (si es que sabés, si aún no, no te preocupes) en Metadocencia. Gracias! Saludos

También estaría bueno trabajar sobre un listado con algunos items para que vaya completando el/la futuro/a colaborador/a junto con quién esté acompañando su proceso de onboarding

Está buenísimo, Romi! Propongo cambiar "onboarding" por "Integración al equipo" o "incorporación al equipo". Qué les parece? El listado de ítems puede ser

[ ] Le pasamos los posts

[ ] Está en los canales de Slack cerrados

[ ] Se agrego a github

[ ] Esta en la web (tambien puede haber una forma de colectar los datos)

[ ] Tomo el intro ABC

Si quiere ser ayudante/metadocente

[ ] Esta en el grupo de whatsapp

[ ] Presenció un backstage de intro ABC

[ ] Tiene acceso al mail de ayuda@

[ ] Fue ayudante

seguro me olvido cosas 😄

Un si gigante a cambiar el "onboarding" por "proceso de incorporación".
En relación a los ítems, capaz estaría bueno dividirlos de manera que haya algunos de los que debe ocuparse el/la colaborador/a acompañante, y otros de los que se debería ocupar el/la futuro colaborador/a. Creo que ambos deberían poder ver ambos listados. O sea:
A cargo de el/la colaborador/a acompañante:

Le dimos la bienvenida y le pasamos los posts

2.Lo incorporamos a los canales de Slack cerrados ( esto no me queda claro si todos les colaboradores podemos hacerlo o si deben hacerlo siempre los admin)

Lo agregamos a Github (ídem slack)

Le solicitamos los datos para la web (también puede haber una forma de colectar los datos)

Lo subimos a la web.

Consultamos si tomó el intro ABC, y en caso de que no, le pedimos que llene formulario de inscripción.

Si quiere ser ayudante/metadocente:

Lo agregamos en el grupo de whatsapp.

Le damos acceso al mail de ayuda@

Organizamos que presencie un backstage de intro ABC

Participa de ayudante

A cargo de el/la futuro/a colaborador/a:

Leyó los posts.

Se crea un usuario de Slack  (marcar como realizado si ya tiene uno)

Se crea un usuario de Github (marcar como realizado si ya tiene uno)

Brinda los datos para la web.

Completa el formulario de inscripción para el curso de introducción (marcar como realizado si ya lo tomó).

Si quiere ser ayudante/metadocente:

Presencia un backstage de intro ABC

Participa de ayudante

Romi! Esto esta en algun documento ya?
en la primer parte, los puntos 5 y 6 los invertiría:

Hola, Ire, si, el orden está invertido, totalmente. Yo ya tengo armado un forms para ir completando durante el proceso. Acá lo comparto para que veas qué te parece y si creés que el formato está bueno, o si habría que pensar en otra cosa.
Es este: http://tiny.cc/metayudantes

https://www.taskade.com/v/UnquQtLYUrvDszg4, estamos trabajando el check list con esta interesantísima extensión de chrome para que esté colgado y pueda ser utilizado de forma colaborativo. Esto es con la intención de que tanto futures colaboradores como acompañantes vayan viendo el proceso.

Le envié un mail a una de las personas que estaba interesada en participar ya que no respondió a mi contacto por slack. Le modifiqué un poco el texto en base a lo que compartió Romi. Lo dejo aca:
"Hola Juan, mi nombre es Irene y soy parte del equipo de MetaDocencia desde hace un tiempo. Estoy al tanto de que tenés ganas de sumarte a colaborar con esta iniciativa, antes que nada, quisiera agradecerte por eso y darte la bienvenida a esta hermosa comunidad.
Te contacté desde Slack, la herramienta que utilizamos para comunicarnos, te escribo también este correo porque tal vez no lo has visto.
Tal vez ya has leído algo de esto en la página, pero por las dudas te comparto unos links a dos de nuestros post donde se explica un poco mejor el rol de ayudante: Un día en la vida de un ayudante de clase  y Cómo colaborar con MetaDocencia
Me queda la duda si ya realizaste nuestro taller de Introducción al ABC para enseñar online, me comentás al respecto?
Si aun tenes la intención de participar comentame y seguimos en contacto.
¡Buen fin de semana!"

authors: 4iro RomiZP lauracion

repo: MetaDocencia/gobernanza


text:
Update module configuration

Description
This PR updates the general configuration of the KeyringController to module to match the ones from https://github.com/MetaMask/metamask-module-template.

@SocketSecurity ignore-all

repo: MetaMask/KeyringController

license: ISC


text:
Pareto Network

Contract Address: https://etherscan.io/address/0xea5f88e54d982cbb0c441cde4e79bc305e5b43bc
About Page: https://www.pareto.network/#/about
Telegram: https://t.me/paretonetworkdiscussion

Hey @estebanmino it looks like the problem is with the length of our ticker symbol. We are at 6 characters, which was approved by coinmarketcap and others. Anyway we can suspend the 5 character restriction?

@estebanmino when PARETO and other erc20 or erc223 tokens are added manually into metamask the 6 letter ticker symbol is read from the contract just fine. It is also shown in the betaUI just fine. This test may have predated the proliferation of either of these things and may have an arbitrary limit. Please relax that rule for this merge or send the test itself up for deletion.

@chriswg thanks. I'll get an answer tomorrow.

@estebanmino awesome

@estebanmino are we good to go?

authors: 1blockologist chriswg estebanmino

repo: MetaMask/eth-contract-metadata


text:
MTICoreImageUnaryFilter black padding problem

I use MTICoreImageUnaryFilter() with CIFilter(name: "CIGaussianBlur") and radius 20. when i change this radius black padding increase or decrease. if i use only CIFilter and after that i crop with outputImage?.cropped(to: source!.extent) then its work properly. but when i use  MTICoreImageUnaryFilter() then black padding added . i use other filter like box,motion,zoom and many more . the result is same . i add input and output image here please check this .
Checklist

[ x] I've read the README
[ ] If possible, I've reproduced the issue using the master branch of this repo
[ x] I've searched for existing GitHub issues

input image

output image

See: https://developer.apple.com/documentation/coreimage/ciimage/1437628-clampedtoextent

authors: YuAo joysolutionacat

repo: MetalPetal/MetalPetal


text:
Bootstrap Version

Have you thought about having a bootstrap-compatible version, maybe using https://react-bootstrap.github.io ?
I don't think you'd even need to change the styling, just make sure the markup outputted matches the one expected by Bootstrap?

I like Bootstrap and use it a lot and I'm not opposed to creating an example project that shows how to customize the accounts package - but I don't want to try and keep up with maintaining a bunch of different styled versions (Bootstrap, Material, ...)  I would hope others would create their own packages that extend react-accounts-unstyled.
Not sure I agree with the react-bootstrap project's philosophy.  It seems to me the problem they are trying to solve is because Bootstrap isn't being used correctly.

I agree, I'd love to see a bootstrap styled example... you only have to go so far as templating out one little bit, and I could style the rest.

authors: SachaG emmostrom zeroasterisk

repo: Meteor-Alt/accounts


text:
Updated keyboad input for Windows11 24H2

Codestyl was inspired by @mzdluo123 form the following issue:  https://github.com/Metick/DMALibrary/issues/34

thanks! sorry for the delay, I was on vacation.

All good, thanks for the amazing repo!

thanks! sorry for the delay, I was on vacation.

Yo take your time, thanks for your work man!

authors: Metick kWAYTV kaimu-kun

repo: Metick/DMALibrary


text:
README: correct mistake in GPG key decryption explanation

This looks like a mixup.

Thanks!


text:
Implement add to dictionary

Add words to dictionary

Added in another issue. Issue closed

Added in another issue. Issue closed