Tabular predictor does not respect time limit

Training a model for a tabular dataset sometimes runs much longer than the given time limit.
For the example given below, fitting takes roughly the 3600s:
AutoGluon training complete, total runtime = 3600.42s ...
But after that, fitting of L1 models takes over 30 additional minutes, leading to a runtime of more than 150% of the time limit.
Here is the code (v.0.3.1):
predictor = TabularPredictor(
            label=target,
            problem_type="multiclass",
            path=model_path,
            eval_metric="balanced_accuracy",
        ).fit(
            train_data=data["train"][features_],
            time_limit=3600),
            presets=[
                "high_quality_fast_inference_only_refit",
                "optimize_for_deployment",
            ],
            excluded_model_types=["KNN"],
        )

Full logs:
Presets specified: ['high_quality_fast_inference_only_refit', 'optimize_for_deployment']
Beginning AutoGluon training ... Time limit = 3600s
AutoGluon will save models to "/tmp/tmpoms31z4m/"
AutoGluon Version:  0.3.1
Train Data Rows:    33614
Train Data Columns: 6
Preprocessing data ...
Train Data Class Count: 3
Using Feature Generators to preprocess the data ...
Fitting AutoMLPipelineFeatureGenerator...
        Available Memory:                    8572.62 MB
        Train Data (Original)  Memory Usage: 1.61 MB (0.0% of available memory)
        Inferring data type of each feature based on column values. Set feature_metadata_in to manually specify special dtypes of the features.
        Stage 1 Generators:
                Fitting AsTypeFeatureGenerator...
        Stage 2 Generators:
                Fitting FillNaFeatureGenerator...
        Stage 3 Generators:
                Fitting IdentityFeatureGenerator...
        Stage 4 Generators:
                Fitting DropUniqueFeatureGenerator...
        Types of features in original data (raw dtype, special dtypes):
                ('int', []) : 6 | ['white_piece0_strength', 'white_piece0_file', 'white_piece0_rank', 'black_piece0_strength', 'black_piece0_file', ...]
        Types of features in processed data (raw dtype, special dtypes):
                ('int', []) : 6 | ['white_piece0_strength', 'white_piece0_file', 'white_piece0_rank', 'black_piece0_strength', 'black_piece0_file', ...]
        0.1s = Fit runtime
        6 features in original data used to generate 6 features in processed data.
        Train Data (Processed) Memory Usage: 1.61 MB (0.0% of available memory)
Data preprocessing and feature engineering runtime = 0.1s ...
AutoGluon will gauge predictive performance using evaluation metric: 'balanced_accuracy'
        To change this, specify the eval_metric argument of fit()
AutoGluon will fit 2 stack levels (L1 to L2) ...
Excluded Model Types: ['KNN']
        Found 'KNN' model in hyperparameters, but 'KNN' is present in `excluded_model_types` and will be removed.
        Found 'KNN' model in hyperparameters, but 'KNN' is present in `excluded_model_types` and will be removed.
Fitting 11 L1 models ...
Fitting model: NeuralNetFastAI_BAG_L1 ... Training model for up to 2399.33s of the 3599.9s of remaining time.
generated new fontManager
Metric balanced_accuracy is not supported by this model - using log_loss instead
Metric balanced_accuracy is not supported by this model - using log_loss instead
Metric balanced_accuracy is not supported by this model - using log_loss instead
Metric balanced_accuracy is not supported by this model - using log_loss instead
Metric balanced_accuracy is not supported by this model - using log_loss instead
Metric balanced_accuracy is not supported by this model - using log_loss instead
Metric balanced_accuracy is not supported by this model - using log_loss instead
Metric balanced_accuracy is not supported by this model - using log_loss instead
Metric balanced_accuracy is not supported by this model - using log_loss instead
Metric balanced_accuracy is not supported by this model - using log_loss instead
        0.8325   = Validation score   (balanced_accuracy)
        1008.86s         = Training   runtime
        1.25s    = Validation runtime
Fitting model: LightGBMXT_BAG_L1 ... Training model for up to 1389.16s of the 2589.72s of remaining time.
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
        0.7362   = Validation score   (balanced_accuracy)
        135.84s  = Training   runtime
        1.07s    = Validation runtime
Fitting model: LightGBM_BAG_L1 ... Training model for up to 1252.17s of the 2452.73s of remaining time.
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
        0.8182   = Validation score   (balanced_accuracy)
        143.75s  = Training   runtime
        0.92s    = Validation runtime
Fitting model: RandomForestGini_BAG_L1 ... Training model for up to 1107.42s of the 2307.98s of remaining time.
        0.715    = Validation score   (balanced_accuracy)
        4.0s     = Training   runtime
        1.66s    = Validation runtime
Fitting model: RandomForestEntr_BAG_L1 ... Training model for up to 1101.51s of the 2302.08s of remaining time.
        0.7132   = Validation score   (balanced_accuracy)
        4.37s    = Training   runtime
        1.79s    = Validation runtime
Fitting model: CatBoost_BAG_L1 ... Training model for up to 1095.08s of the 2295.65s of remaining time.
        0.77     = Validation score   (balanced_accuracy)
        144.94s  = Training   runtime
        0.15s    = Validation runtime
Fitting model: ExtraTreesGini_BAG_L1 ... Training model for up to 949.91s of the 2150.48s of remaining time.
        0.7143   = Validation score   (balanced_accuracy)
        3.57s    = Training   runtime
        1.69s    = Validation runtime
Fitting model: ExtraTreesEntr_BAG_L1 ... Training model for up to 944.39s of the 2144.96s of remaining time.
        0.7112   = Validation score   (balanced_accuracy)
        3.67s    = Training   runtime
        1.71s    = Validation runtime
Fitting model: XGBoost_BAG_L1 ... Training model for up to 938.76s of the 2139.32s of remaining time.
        0.8038   = Validation score   (balanced_accuracy)
        907.85s  = Training   runtime
        0.34s    = Validation runtime
Fitting model: NeuralNetMXNet_BAG_L1 ... Training model for up to 30.5s of the 1231.06s of remaining time.
        Warning: Exception caused NeuralNetMXNet_BAG_L1 to fail during training... Skipping this model.
                libopenblas.so.0: cannot open shared object file: No such file or directory
Detailed Traceback:
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/autogluon/tabular/trainer/abstract_trainer.py", line 962, in _train_and_save
    model = self._train_single(X, y, model, X_val, y_val, **model_fit_kwargs)
  File "/usr/local/lib/python3.7/site-packages/autogluon/tabular/trainer/abstract_trainer.py", line 934, in _train_single
    model = model.fit(X=X, y=y, X_val=X_val, y_val=y_val, **model_fit_kwargs)
  File "/usr/local/lib/python3.7/site-packages/autogluon/core/models/abstract/abstract_model.py", line 522, in fit
    out = self._fit(**kwargs)
  File "/usr/local/lib/python3.7/site-packages/autogluon/core/models/ensemble/stacker_ensemble_model.py", line 153, in _fit
    return super()._fit(X=X, y=y, time_limit=time_limit, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/autogluon/core/models/ensemble/bagged_ensemble_model.py", line 189, in _fit
    n_repeats=n_repeats, n_repeat_start=n_repeat_start, save_folds=save_bag_folds, groups=groups, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/autogluon/core/models/ensemble/bagged_ensemble_model.py", line 388, in _fit_folds
    fold_fitting_strategy.after_all_folds_scheduled()
  File "/usr/local/lib/python3.7/site-packages/autogluon/core/models/ensemble/fold_fitting_strategy.py", line 59, in after_all_folds_scheduled
    self._fit_fold_model(*job)
  File "/usr/local/lib/python3.7/site-packages/autogluon/core/models/ensemble/fold_fitting_strategy.py", line 64, in _fit_fold_model
    fold_model = self._fit(model_base, time_start_fold, time_limit_fold, fold_ctx, kwargs)
  File "/usr/local/lib/python3.7/site-packages/autogluon/core/models/ensemble/fold_fitting_strategy.py", line 111, in _fit
    fold_model.fit(X=X_fold, y=y_fold, X_val=X_val_fold, y_val=y_val_fold, time_limit=time_limit_fold, **kwargs_fold)
  File "/usr/local/lib/python3.7/site-packages/autogluon/core/models/abstract/abstract_model.py", line 522, in fit
    out = self._fit(**kwargs)
  File "/usr/local/lib/python3.7/site-packages/autogluon/tabular/models/tabular_nn/tabular_nn_model.py", line 168, in _fit
    try_import_mxnet()
  File "/usr/local/lib/python3.7/site-packages/autogluon/core/utils/try_import.py", line 31, in try_import_mxnet
    import mxnet as mx
  File "/usr/local/lib/python3.7/site-packages/mxnet/__init__.py", line 23, in <module>
    from .context import Context, current_context, cpu, gpu, cpu_pinned
  File "/usr/local/lib/python3.7/site-packages/mxnet/context.py", line 23, in <module>
    from .base import classproperty, with_metaclass, _MXClassPropertyMetaClass
  File "/usr/local/lib/python3.7/site-packages/mxnet/base.py", line 351, in <module>
    _LIB = _load_lib()
  File "/usr/local/lib/python3.7/site-packages/mxnet/base.py", line 342, in _load_lib
    lib = ctypes.CDLL(lib_path[0], ctypes.RTLD_LOCAL)
  File "/usr/local/lib/python3.7/ctypes/__init__.py", line 364, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: libopenblas.so.0: cannot open shared object file: No such file or directory
Fitting model: LightGBMLarge_BAG_L1 ... Training model for up to 30.45s of the 1231.02s of remaining time.
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
        Ran out of time, early stopping on iteration 1. Best iteration is:
        [1]     train_set's multi_logloss: 0.908581     train_set's balanced_accuracy: 0.333333 valid_set's multi_logloss: 0.908982     valid_set's balanced_accuracy: 0.333333
        Time limit exceeded... Skipping LightGBMLarge_BAG_L1.
Completed 1/20 k-fold bagging repeats ...
Fitting model: WeightedEnsemble_L2 ... Training model for up to 360.0s of the 1225.96s of remaining time.
        0.8338   = Validation score   (balanced_accuracy)
        10.5s    = Training   runtime
        0.01s    = Validation runtime
Excluded Model Types: ['KNN']
        Found 'KNN' model in hyperparameters, but 'KNN' is present in `excluded_model_types` and will be removed.
        Found 'KNN' model in hyperparameters, but 'KNN' is present in `excluded_model_types` and will be removed.
Fitting 11 L2 models ...
Fitting model: NeuralNetFastAI_BAG_L2 ... Training model for up to 1215.43s of the 1215.4s of remaining time.
Metric balanced_accuracy is not supported by this model - using log_loss instead
        Ran out of time, stopping training early. (Stopping on epoch 1)
Metric balanced_accuracy is not supported by this model - using log_loss instead
        Ran out of time, stopping training early. (Stopping on epoch 2)
Metric balanced_accuracy is not supported by this model - using log_loss instead
        Ran out of time, stopping training early. (Stopping on epoch 2)
Metric balanced_accuracy is not supported by this model - using log_loss instead
        Ran out of time, stopping training early. (Stopping on epoch 2)
Metric balanced_accuracy is not supported by this model - using log_loss instead
        Ran out of time, stopping training early. (Stopping on epoch 2)
Metric balanced_accuracy is not supported by this model - using log_loss instead
        Ran out of time, stopping training early. (Stopping on epoch 2)
Metric balanced_accuracy is not supported by this model - using log_loss instead
        Ran out of time, stopping training early. (Stopping on epoch 3)
Metric balanced_accuracy is not supported by this model - using log_loss instead
        Ran out of time, stopping training early. (Stopping on epoch 3)
Metric balanced_accuracy is not supported by this model - using log_loss instead
        Ran out of time, stopping training early. (Stopping on epoch 4)
Metric balanced_accuracy is not supported by this model - using log_loss instead
        Ran out of time, stopping training early. (Stopping on epoch 5)
        0.9305   = Validation score   (balanced_accuracy)
        1155.6s  = Training   runtime
        6.72s    = Validation runtime
Fitting model: LightGBMXT_BAG_L2 ... Training model for up to 53.01s of the 52.98s of remaining time.
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
        Ran out of time, early stopping on iteration 3. Best iteration is:
        [3]     train_set's multi_logloss: 0.747221     train_set's balanced_accuracy: 0.595142 valid_set's multi_logloss: 0.744995     valid_set's balanced_accuracy: 0.595184
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
        Ran out of time, early stopping on iteration 3. Best iteration is:
        [3]     train_set's multi_logloss: 0.749193     train_set's balanced_accuracy: 0.595804 valid_set's multi_logloss: 0.752152     valid_set's balanced_accuracy: 0.597072
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
        Ran out of time, early stopping on iteration 2. Best iteration is:
        [2]     train_set's multi_logloss: 0.800251     train_set's balanced_accuracy: 0.493369 valid_set's multi_logloss: 0.799265     valid_set's balanced_accuracy: 0.5
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
        Ran out of time, early stopping on iteration 2. Best iteration is:
        [2]     train_set's multi_logloss: 0.799845     train_set's balanced_accuracy: 0.532195 valid_set's multi_logloss: 0.800703     valid_set's balanced_accuracy: 0.539432
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
        Ran out of time, early stopping on iteration 4. Best iteration is:
        [4]     train_set's multi_logloss: 0.702614     train_set's balanced_accuracy: 0.612254 valid_set's multi_logloss: 0.704426     valid_set's balanced_accuracy: 0.613473
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
        Ran out of time, early stopping on iteration 2. Best iteration is:
        [2]     train_set's multi_logloss: 0.803377     train_set's balanced_accuracy: 0.539092 valid_set's multi_logloss: 0.80468      valid_set's balanced_accuracy: 0.538565
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
        Ran out of time, early stopping on iteration 3. Best iteration is:
        [3]     train_set's multi_logloss: 0.751318     train_set's balanced_accuracy: 0.587514 valid_set's multi_logloss: 0.752479     valid_set's balanced_accuracy: 0.579174
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
        Ran out of time, early stopping on iteration 3. Best iteration is:
        [3]     train_set's multi_logloss: 0.749762     train_set's balanced_accuracy: 0.594679 valid_set's multi_logloss: 0.750252     valid_set's balanced_accuracy: 0.598176
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
        Ran out of time, early stopping on iteration 3. Best iteration is:
        [3]     train_set's multi_logloss: 0.746821     train_set's balanced_accuracy: 0.596367 valid_set's multi_logloss: 0.749928     valid_set's balanced_accuracy: 0.593648
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
        Ran out of time, early stopping on iteration 2. Best iteration is:
        [2]     train_set's multi_logloss: 0.802773     train_set's balanced_accuracy: 0.50689  valid_set's multi_logloss: 0.801471     valid_set's balanced_accuracy: 0.512494
        Time limit exceeded... Skipping LightGBMXT_BAG_L2.
Completed 1/20 k-fold bagging repeats ...
Fitting model: WeightedEnsemble_L3 ... Training model for up to 360.0s of the -0.38s of remaining time.
        0.9305   = Validation score   (balanced_accuracy)
        0.01s    = Training   runtime
        0.01s    = Validation runtime
AutoGluon training complete, total runtime = 3600.42s ...
Fitting 1 L1 models ...
Fitting model: NeuralNetFastAI_BAG_L1_FULL ...
Metric balanced_accuracy is not supported by this model - using log_loss instead
        Stopping at the best epoch learned earlier - 27.
        873.91s  = Training   runtime
Fitting 1 L1 models ...
Fitting model: LightGBMXT_BAG_L1_FULL ...
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
        582.88s  = Training   runtime
Fitting 1 L1 models ...
Fitting model: LightGBM_BAG_L1_FULL ...
/usr/local/lib/python3.7/site-packages/lightgbm/engine.py:239: UserWarning: 'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. Pass 'log_evaluation()' callback via 'callbacks' argument instead.
  _log_warning("'verbose_eval' argument is deprecated and will be removed in a future release of LightGBM. "
        593.76s  = Training   runtime
Fitting 1 L1 models ...
Fitting model: RandomForestGini_BAG_L1_FULL ...
        0.715    = Validation score   (balanced_accuracy)
        3.79s    = Training   runtime
        1.89s    = Validation runtime
Fitting 1 L1 models ...
Fitting model: RandomForestEntr_BAG_L1_FULL ...
        0.7132   = Validation score   (balanced_accuracy)
        3.83s    = Training   runtime
        1.63s    = Validation runtime
Fitting 1 L1 models ...
Fitting model: CatBoost_BAG_L1_FULL ...
        11.35s   = Training   runtime
Fitting 1 L1 models ...
Fitting model: ExtraTreesGini_BAG_L1_FULL ...
        0.7143   = Validation score   (balanced_accuracy)
        3.2s     = Training   runtime
        1.94s    = Validation runtime
Fitting 1 L1 models ...
Fitting model: ExtraTreesEntr_BAG_L1_FULL ...
        0.7112   = Validation score   (balanced_accuracy)
        3.7s     = Training   runtime
        2.15s    = Validation runtime
Fitting 1 L1 models ...
Fitting model: XGBoost_BAG_L1_FULL ...
        83.93s   = Training   runtime
Fitting 1 L2 models ...
Fitting model: NeuralNetFastAI_BAG_L2_FULL ...
Metric balanced_accuracy is not supported by this model - using log_loss instead
        Stopping at the best epoch learned earlier - 2.
        95.29s   = Training   runtime
Deleting model NeuralNetFastAI_BAG_L1. All files under /tmp/tmpoms31z4m/models/NeuralNetFastAI_BAG_L1/ will be removed.
Deleting model LightGBMXT_BAG_L1. All files under /tmp/tmpoms31z4m/models/LightGBMXT_BAG_L1/ will be removed.
Deleting model LightGBM_BAG_L1. All files under /tmp/tmpoms31z4m/models/LightGBM_BAG_L1/ will be removed.
Deleting model RandomForestGini_BAG_L1. All files under /tmp/tmpoms31z4m/models/RandomForestGini_BAG_L1/ will be removed.
Deleting model RandomForestEntr_BAG_L1. All files under /tmp/tmpoms31z4m/models/RandomForestEntr_BAG_L1/ will be removed.
Deleting model CatBoost_BAG_L1. All files under /tmp/tmpoms31z4m/models/CatBoost_BAG_L1/ will be removed.
Deleting model ExtraTreesGini_BAG_L1. All files under /tmp/tmpoms31z4m/models/ExtraTreesGini_BAG_L1/ will be removed.
Deleting model ExtraTreesEntr_BAG_L1. All files under /tmp/tmpoms31z4m/models/ExtraTreesEntr_BAG_L1/ will be removed.
Deleting model XGBoost_BAG_L1. All files under /tmp/tmpoms31z4m/models/XGBoost_BAG_L1/ will be removed.
Deleting model WeightedEnsemble_L2. All files under /tmp/tmpoms31z4m/models/WeightedEnsemble_L2/ will be removed.
Deleting model NeuralNetFastAI_BAG_L2. All files under /tmp/tmpoms31z4m/models/NeuralNetFastAI_BAG_L2/ will be removed.
Deleting model WeightedEnsemble_L3. All files under /tmp/tmpoms31z4m/models/WeightedEnsemble_L3/ will be removed.
TabularPredictor saved. To load, use: predictor = TabularPredictor.load("/tmp/tmpoms31z4m/")

Thanks for the logs!
Currently, refit presets do not respect time limit strictly, as the model refit logic occurs after the original training (which does respect time limit). Normally the refit logic only takes ~10% or less of the original time limit, however in your case for some reason the FastAI neural network refit model took a very long time to train compared to what was expected (expectation was ~100 seconds). If you prefer to strictly respect time limit, don't use refit_full presets or send AG some smaller portion of the actual hard time limit to give lee-way to the refit time overhead.
We will consider improving the time limit adherence in refit models for future releases.

In general this hasn't been a major issue for users, and is complex to address, so I'm resolving for now.


feat(Data Mapper): Able to select schemas from folders within 'Schemas' folder

Please check if the PR fulfills these requirements

[x] The commit message follows our guidelines
[x] Tests for the changes have been added (for bug fixes/features)
[x] Docs have been added / updated (for bug fixes / features)

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
allows the user to select schemas within nested folders

What is the current behavior? (You can also link to an open issue here)
can only select schemas that are directly in the schema folder

What is the new behavior (if this is a feature change)?
displays path of all existing schemas
api call change to select nested files

Does this PR introduce a breaking change? (What changes might users need to make in their application due to this PR?)
no

Please Include Screenshots or Videos of the intended change:

Hi can you please share me how you did fix to this?
--> For this failed to fetch schema issue.


Create section heading block

DS-280

I've used the wrong ticket for the branch name.
Re-creating with the correct one.

I've removed the section_id field, as discussed.


Support for re-reselect

I am a bit suprised to not find anything on google or the issue log here, so maybe I am just doing it wrong :)
We have a lot of re-reselect selectors, but as soon as I add them to registerSelectors, I get log-spam from re-reselect, because the re-selector's keySelector is called without the mandatory cache key parameter.

index.js:334 [re-reselect] Invalid cache key "undefined" has been returned by keySelector function.

I guess the tools would need some way to give the keySelector the correct parameters, eg a helper that you could provide or by inspecting the cached selectors. I managed to get a partial view on the selector by fetching one of the cached selectors directly:
const cachedSelector = selector.getMatchingSelector(null /* this normally the state */, 'default' /* cache key param */);
reselectTools.registerSelectors({ cachedSelector });

Hey @bdurrer - I don't use re-reselect in my own apps, so I never thought about this use case. However, if you can come up with a way to get it to work I'd be happy to take a PR

Is this just an issue with re-reselect support, or is it an issue with any selector that uses more than one parameter? In src/index.js#checkSelector every selector is executed with the result of stateGetter, and off the top of my head I can't think of any easy way to provide a default ...rest parameter for each selector. I always use a second props object parameter, which I think is a pretty common pattern (any other value type can't be composed), so you could possible have an optional second parameter for registerSelectors with a default props object, but you would need to provide it with a key and value for every selector in the tree, which would be enormous for any non-trivial application. You could alternatively require an additional defaultProps value for each multi-parameter function, but this just splits up the same amount of work. I don't see any reasonable way to implement this feature that wouldn't require an extensive integration effort.

Thanks for the info! You're correct that it's probably more a consequence of the second argument - I've never had to use that myself since I tend to think of selectors more as a mechanism for holding whole-app computed state.

Maybe displaying all cached re-reselectors is not practicable anyway. I guess it could also have a negative impact on performance.
At least in our setup, there are only a handful of possible cach entries (each app tab has it's own selector cache entry) and it would already be nice to view one or two variants of each re-reselectors.
How about having a second parameter on registerSelectors, which allows to provides a function for each selector. It's job would be to calculate the arguments for one selector, similar to what getStateWith does for the state.
The function would simply return the required input for one of the cached re-reselectors. One could easily make that function dynamically switch caches based on some extern data, e.g. a global cache-key variable, so you can browse through the selectors based on an external controller.
e.g. something like

function selectorArgs(state, selectorName) {
  if (reasons) {
    return ['param1', 'param2']
  } else {
    return ['param3', 'param4']
  }
}

registerSelectors({ mySelector }, { mySelector: selectorArgs })

would then call the selector like this
const state = _getState()
const selectorArgs = _allSelectorsArgs[selectorName]
const args = selectorArgs ? selectorArgs(state, selectorName) : []
extra.output = selector(state , ...args)


Quickstart for Azure App Configuration with azure functions is not using FunctionStartup

https://github.com/MicrosoftDocs/azure-docs/issues/44467:
With the release of dependency injection in Azure Functions, there is a FunctionStartup class to do the dependency injection. My guess is that configuration should also be done in the FunctionStartup to properly configure dependency injection with the settings. I think this page should be updated to reflect that.

Maybe the Azure Function Teams should be involved here. Main issue is that the IConfiguration used by the AF sdk is not exposed in the FunctionStartup. It must be more complicated than that but if the IConfiguration was available, we would just have use it.

That is definitively a blocker. Both WebApps and Functions should have support to it.
@fabiocav do you have any plans to make it work on Functions Host/SDK?
Thanks

Here is an example of how I've been doing this; should be relatively trivial to turn into a proper extension.

The Azure Functions example in this repo is already updated to use the FunctionStartup.
The example injected a new instance of IOptions<T> to the DI. It didn't choose to replace the IConfiguration instance Azure Functions already had so users can still access existing configuration but that can be a choice of each user. As @TechWatching mentioned earlier, Azure Functions didn't provide a way so the configuration builder of App Configuration can be added to what built-in in Azure Functions. We've been in conversations with the Azure Functions team and they are aware of the issue. We will update the example if there is anything new coming up.

Awesome! Please update this thread when you have it :)

The Azure Functions example in this repo is already updated to use the FunctionsStartup.

Could this sample at least get a shout out on https://docs.microsoft.com/en-us/azure/azure-app-configuration/quickstart-azure-functions-csharp so that others don't need to be lucky enough to stumble upon this issue to find it?

@wdspider yes, that's the plan. We got a bit backlog on documentation.

It's also worth noting that there doesn't seem to be an easy way to add all of the App Configuration to DI without modeling it with POCO objects.  I'm setting up an endpoint that a React client can hit to obtain configuration without worrying about how to talk to App Configuration and don't want to have to push a new version of the endpoint every time I add a new config key.  As such, I ended up going with the non-DI way that the Quickstart currently demostrates since the function is doing nothing else and configuration.AsEnumerable().Where(x => x.Value != null) gives me what I want while also being refreshed by configurationRefresher

@zhenlan Thanks for your work. Also @Kittoes0124 thanks for your example
About the example on https://github.com/Azure/AppConfiguration/tree/main/examples/DotNetCore/AzureFunction would it be possible to update it to use the last version of Microsoft.Azure.Functions.Extensions (1.1.0) There is an important change, on the new version we can access the IFunctionsConfigurationBuilder object which allows us to extend the default configuration, without having to override it(in case we use values on our trigger for example) @Kittoes0124 has provided already a partially example...
Unfortunately for me I'm still struggling to make it work, I'm getting some ideas from @Kittoes0124 example and completing them with ideas from @zhenlan example...but for some reason all load correctly the first round but I never get new values when I change them on AZ...

@zhenlan Thanks for your work. Also @Kittoes0124 thanks for your example
About the example on https://github.com/Azure/AppConfiguration/tree/main/examples/DotNetCore/AzureFunction would it be possible to update it to use the last version of Microsoft.Azure.Functions.Extensions (1.1.0) There is an important change, on the new version we can access the IFunctionsConfigurationBuilder object which allows us to extend the default configuration, without having to override it(in case we use values on our trigger for example) @Kittoes0124 has provided already a partially example...
Unfortunately for me I'm still struggling to make it work, I'm getting some ideas from @Kittoes0124 example and completing them with ideas from @zhenlan example...but for some reason all load correctly the first round but I never get new values when I change them on AZ...

If you're following my example then getting all settings to refresh should be as simple as updating the sentinel key (which I named "Application:ConfigurationVersion); I simply increment it according to SemVer rules.
You'll also want to ensure that you inject the IConfigurationRefresher singleton via your function constructor and then call its refresh method before accessing any IOptionsSnapshot based settings. I will update my SO post in a bit to reflect my suggestion.

If you're following my example then getting all settings to refresh should be as simple as updating the sentinel key (which I named "Application:ConfigurationVersion"); I simply increment it according to SemVer rules.
You'll also want to ensure that you inject the IConfigurationRefresher singleton via your function constructor and then call its refresh method before accessing any IOptionsSnapshot based settings. I will update my SO post in a bit to reflect my suggestion here.

Yes, that is what I'm trying, I'm calling the  _configurationRefresher.TryRefreshAsync() inside a class(which has Transient scope...)...but nothing. I've tried with IOptionsSnapshot and with IOptionsMonitory with the same result...
I must be missing something if this is working for others...

@Kittoes0124 Could you share the version number you are using for:
Microsoft.Extensions.Configuration.AzureAppConfiguration
Microsoft.Azure.Functions.Extensions
?
Thanks

I have a PR (#446) to update the Azure Functions example to leverage the IFunctionsConfigurationBuilder. The AppConfig provider can now be added as an additional config source. The Azure Functions existing providers will be preserved.

I have a PR (#446) to update the Azure Functions example to leverage the IFunctionsConfigurationBuilder. The AppConfig provider can now be added as an additional config source. The Azure Functions existing providers will be preserved.

The quickstart and tutorial have been updated to use dependency injection in Azure Functions

https://docs.microsoft.com/en-us/azure/azure-app-configuration/quickstart-azure-functions-csharp
https://docs.microsoft.com/en-us/azure/azure-app-configuration/enable-dynamic-configuration-azure-functions-csharp

The quickstart and tutorial have been updated to use dependency injection in Azure Functions

https://docs.microsoft.com/en-us/azure/azure-app-configuration/quickstart-azure-functions-csharp
https://docs.microsoft.com/en-us/azure/azure-app-configuration/enable-dynamic-configuration-azure-functions-csharp


No configuration information  regarding JDBC user store with BPS

No configuration information  regarding JDBC user store is mentioned in Configuring the BPM Profile of WSO2 EI as a Workflow Engine for IS . Only LDAP information is provided.
[1]https://docs.wso2.com/display/IS540/Configuring+the+BPM+Profile+of+WSO2+EI+as+a+Workflow+Engine

Thank you for your contribution!
We are closing this issue since it has not been prioritized for a long time. Chances are that it has already been solved in more recent versions. If not, we will be re-evaluating this when it becomes a priority.


planificator-test is flaky

 1 failing

  1) remote planificator
       merges remotely produced suggestions:

      Suggestion 'you are free at ' is not found.
      + expected - actual

      -0
      +1

      at verifyReplanning (file:///Users/sjmiles/.Trash/arcs.oops/src/runtime/test/plan/planificator-test.ts:99:14)

Made p1 since flaky tests can produce a lot of overhead for team members. If it's no longer flaky can close or lower priority.

I ran this locally and it succeeded 100 out of 100 runs. Closing for now, please, reopen, if this happens again.


Importing users from plex doesn’t work

Description
importing new users from plex shows no new users, yet the affected users cant access using plex cred and are not shown in the users table
Version
1.6.0
Steps to Reproduce

Share plex library with a new user in the plex webpage
Connect to jellyserr site
Go to settings, then users and try to import new users
Pay attention as no user cab be imported yet the user is not in the user list

Screenshots
No response
Logs
Error checking user access: This user does not exist on the main Plex account's shared list

Platform
smartphone
Device
Iphone 12
Operating System
IOS 16.6
Browser
Chrome
Additional Context
No response
Code of Conduct

[X] I agree to follow Overseerr's Code of Conduct

Duplicate #448


Rearranged things.

Translations separated into a path of their own
Moved dot files up to the root
Moved appengine path up to the root

@wibblymat looks like a re-basing is in order.

Rebasing always makes me sad. Why do all of the other commits now show up in this PR? The diff is now totally impossible to understand :(

Ok, managed to sort it out. I have split the PR into separate commits so that it is possible to review the code changes (by looking at just the third commit) without the file moves drowning everything out.

Fixes #997, in case anyone is wondering why I bothered.

Thanks bud.


Collapsible/ Expandable Text Box

Due Date
Jan 28th, 2024
Priority
Medium
Description
Make it so the text chat isn't constantly on screen.
Associated Requirement*
N/A

Resolved with commit f6348286c91751616c4f510ec68a8957e7c5d0bd


117 restore date validation

[x] Refactored previous #163 using new validateDate and removing usage of moment
[x] Performed all tests to assure they pass (npm run test)
[x] Tested manually on browser (Canary, Chrome, Firefox, Safari, Safari Technical Preview)

@skaterdav85 When you have time, can you please review this new PR.  I closed #163 which was based on moment.   This version has a custom date validation routine.


go get error

Hi there~
When I install ths library, I got error message:
go get github.com/bsm/sarama-cluster
# github.com/bsm/sarama-cluster
.go/src/github.com/bsm/sarama-cluster/consumer.go:452:59: c.client.config.Config.Consumer.Offsets.CommitInterval undefined (type struct { AutoCommit struct { Enable bool; Interval time.Duration }; Initial int64; Retention time.Duration; Retry struct { Max int } } has no field or method CommitInterval)

My GO version: 1.13
What can I do?

https://sourcegraph.com/github.com/Shopify/sarama@master/-/blob/config.go#L340:3
The latest version of Sarama does not define CommitInterval ...

yes  the latest version
Renamed Consumer.Offsets.AutoCommitEnable to Consumer.Offsets.AutoCommit.Enable. Renamed Consumer.Offsets.CommitInteval to Consumer.Offsets.AutoCommit.Inteval

Please note: https://github.com/bsm/sarama-cluster#deprecation-notice


Add Feature Contributions section to README.md

with a screenshot of Tabular Data Viewer Contributions to VSCode IDE.

see new Contributions section in docs: https://github.com/RandomFractals/tabular-data-viewer#contributions


It would be nice, to set the timeout for the creation of a Socket...

Hi @mepux,
actual there is no way to configure a timeout for the socket creation (connect), right?
It would be useful for tests with different invalid urls in the ci/cd pipeline.
I found this code where the Socket is created and later the connect() is executed, which allows to set a timeout which is always 0:
https://github.com/toolarium/toolarium-icap-client/blob/e23bceb417f8e17063cdaf8c5286416e273f951b/src/main/java/com/github/toolarium/icap/client/impl/ICAPConnectionManagerImpl.java#L46
But actual I found no way to set the timeout by using the normal Interface of your lib.
Furthermore I tried to set the vm property: -Dsun.net.client.defaultConnectTimeout=2000
which has no effect.
This would also be helpful for secure connections.
Do you see a possibility to add something in this regard?
If it is too time-consuming to offer the parameter to the outside as a parameter, a system property would come to mind. If it is not found, then the timeout = 0 (as today), otherwise the value in the system property. E.g. toolarium.icap.client.connectTimeout
Best regards,

On the ICAPConnectionManager there is new a method added to define the socket timeout based on the connection manager (>= v1.3.5):
/**
 * Define the socket timeout
 *
 * @param timeout the socket timeout
 */
void setSocketTimeout(int timeout);


Base Class for Chaincode with HTLC Interface

Fixed by https://github.com/hyperledger-labs/weaver-dlt-interoperability/pull/44.


[CAS-1236] Add video view to event details screen

Add a very basic video view according to the design
https://user-images.githubusercontent.com/9600921/133372237-89e9b7f5-8588-46a8-b93b-bd88c09ce027.mov

Looks good to me.


Fix lint error

Also this is improper syntax which can cause glitches

Watch this PR take 100 days to be accepted


HHH-13426 Criteria on custom user type does not work with applied filter

https://hibernate.atlassian.net/browse/HHH-13426
This resolves ClassCastException that occurs in QueryParameters class when criteria contains filtering on a composite user type and there is a filter applied.

CI is green but still displayed as pending in the pull request.

closed as no one seem to be interested in resoving this bug

closed as no one seem to be interested in resoving this bug

Well, I mean, in fairness it's a bug relating to (1) an API which was completely removed in H6, and (2) another API, CompositeUserType, which was substantially redesigned.
Now, if you could show that the bug still exists in H6, I assume there would be substantially more interest in it.


c.Drafty.isProcessing is not a function error in devel version

Describe the bug
App builds without any errors, however after building it's not possible to send images or files because of "not a function error". At the same time there is no such problem in master version.
To Reproduce
Steps to reproduce the behavior:

npm install
npm run build

Environment (please complete the following information):

OS: Windows 7 Home

Console log
When sending image or file:
TypeError: c.Drafty.isProcessing is not a function
    at ue.ge (chat-message.jsx:182)
    at e (tinode.prod.js:1)
    at Function.a.format (tinode.prod.js:1)
    at ue.render (chat-message.jsx:102)
    at Ie (react-dom.production.min.js:104)
    at rh (react-dom.production.min.js:103)
    at zj (react-dom.production.min.js:228)
    at Th (react-dom.production.min.js:152)
    at tj (react-dom.production.min.js:152)
    at Te (react-dom.production.min.js:146)

You built the webapp with the release version of the SDK which does not have isProcessing.
Please always always build webapp with the appropriate version of the sdk. Always.

And how do I install the appropriate version?
I have:  {"version": "0.16.8"}
It´s the most recent version.

Check out npm link. That's what I use.


Repo sync for protected CLA branch

The pull request is created from main637829822933503204 to main to fix git push error for protected CLA branch

@ghogen : Thanks for your contribution! The author(s) have been notified to review your proposed change. @evanwindom


no error on invalid template

When i supply a non-existing template i don't get an error. Instead it fails silently with no html output
Recreate:
$context          = Timber::context();
$bla = Timber::render(['non-existing.twig'], $context);

tested with define( 'WP_DEBUG', true );

@jarednova what do you think? I got a bit used to this, but it might be a good idea to add some warning if WP_DEBUG is true.
In compile method we could add this extra check
if ( $file === false ){
Helper::error_log('error loading your templates, check to make sure the file exists');
}

Yeah, I agree. The reason to fail silently is so that more specific template preferences don't trigger errors (e.g.: 'single-my-custom-post-type.twig' > 'single.twig'), but I guess this blows away the expected error when all the templates are missing. A debug statement like you have there would be grand. Wanna PR?

Yup 👍 I'll do it.
pt., 10 kwi 2020, 14:43 użytkownik Jared Novack<EMAIL_ADDRESS>napisał:

Yeah, I agree. The reason to fail silently is so that more specific
template preferences don't trigger errors (e.g.:
'single-my-custom-post-type.twig' > 'single.twig'), but I guess this blows
away the expected error when all the templates are missing. A debug
statement like you have there would be grand. Wanna PR?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/timber/timber/issues/2224#issuecomment-612012992, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAR34OR6BLOBMZTOI7TZGP3RL4H7LANCNFSM4MEUMZAQ
.

Closed by #2230


No module named 'lightrag'

Traceback (most recent call last):
File "c:\Users\chen\Desktop\GitHub\Light\LightRAG\examples\lightrag_ollama_demo.py", line 3, in
from lightrag import LightRAG, QueryParam
ModuleNotFoundError: No module named 'lightrag'

Fix 1(recommend):

clone the repo first by:

git clone https://github.com/HKUDS/LightRAG.git

Then install it:

cd LightRAG
pip install -e .

Fix2(PyPi):
pip install lightrag-hku

Will work :)

謝謝，以上都試過了，不是那些問題造成。
但我已找到問題謝謝。
Thank you, I have tried all the above and it is not caused by those problems.
But I have found the problem thanks.

You're welcome, also if you fixed it can you let me know the solution too?
Thanks

Sorry, I made a newbie mistake
I used vs code to execute, which resulted in an error

The correct way is to use the terminal
python lightrag_ollama_demo.py

Ok yes, good that it works now

Did you install it in Conda?
Make sure the paths are correct.
Python requires 11 or above


Dashboard: Spec: When did Name disappear

Hi, this could be simply because I am a newb.
We recently started getting errors deploying Grafana Dashboard explaining the spec.name field was not recognised.
This is an example of our config:
apiVersion: integreatly.org/v1alpha1
kind: GrafanaDashboard
metadata:
  name: xyz
  labels:
    app: xyz
spec:
  customFolderName: xyz-folder
  configMapRef:
    name: xyz
    key: xyz.json
  name: xyz

I notice name was evident in v2 but is missing in v3 (and v4):

https://github.com/grafana-operator/grafana-operator/blob/v2.0.0/documentation/dashboards.md
https://github.com/grafana-operator/grafana-operator/blob/v3/documentation/dashboards.md
https://github.com/grafana-operator/grafana-operator/blob/v4.2.0/documentation/dashboards.md

We are still investigating whether we've unbeknownst upgraded from v2. Interestingly we've not changed our use of apiVersion: integreatly.org/v1alpha1 so I'd have expected the older v2 to still be validated against.  I am learning things.

Hi @manstis fun to get a old school user back.
Sadly we have done some mistakes in the operator and we have done a really bad job at doing version bumps of the CRD.
This is something that we have learned from after releasing v4 and we are thinking about this alot in the future.
The GrafanaDashboard.spec.name field is removed since it wasn't needed and we just grab the value from the dashboard it self. You can view all the config that you can use in the crd under:
https://github.com/grafana-operator/grafana-operator/blob/master/documentation/api.md#grafanadashboardspec
In short you have to update all your dashboards to not include the name field.
I would also recommend you jumping to 4.2.0 or 4.3.0 (coming tomorrow) straight away. There is no reason to go to 3.10.x.
Sorry about the issues with the versions once again.

Hi @NissesSenap I think it fair to call me old school (however, if we are, I'd prefer "Old Skool" :smile: ).
I thank-you for your honesty regarding apiVersion. Our problem was in part caused by ourselves; so we can take equal responsibility. We installed KNative that brought in a newer version of the Grafana Operator and were left with a race as to which validated our Dashboard definitions. We've fixed that and our Dashboard definitions :+1:
Keep it real (is that "Old Skool" enough too?)
Mike


⚠ ClamAV has degraded performance

In efb8fc5, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 480 ms

Resolved: ClamAV performance has improved in 5cf4b3f.


Im trying create a resource with this command az container create --resource-group MyResourceGroup --file deploy-aci.yaml

az feedback auto-generates most of the information requested below, as of CLI version 2.0.62

Describe the bug

To Reproduce

Expected behavior

Environment summary

Additional context

Im got this error:
The command failed with an unexpected error. Here is the traceback:
'ResourcesOperations' object has no attribute 'create_or_update'
Traceback (most recent call last):
File "/opt/az/lib/python3.6/site-packages/knack/cli.py", line 231, in invoke
cmd_result = self.invocation.execute(args)
File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/init.py", line 657, in execute
raise ex
File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/init.py", line 720, in _run_jobs_serially
results.append(self._run_job(expanded_arg, cmd_copy))
File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/init.py", line 691, in _run_job
result = cmd_copy(params)
File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/init.py", line 328, in call
return self.handler(*args, **kwargs)
File "/opt/az/lib/python3.6/site-packages/azure/cli/core/commands/command_operation.py", line 121, in handler
return op(**command_args)
File "/opt/az/lib/python3.6/site-packages/azure/cli/command_modules/container/custom.py", line 113, in create_container
return _create_update_from_file(cmd.cli_ctx, resource_group_name, name, location, file, no_wait)
File "/opt/az/lib/python3.6/site-packages/azure/cli/command_modules/container/custom.py", line 407, in _create_update_from_file
resource_client.resources.create_or_update,
AttributeError: 'ResourcesOperations' object has no attribute 'create_or_update'

@zhoxing-ms for awareness

I'm having the same issue. Can be reproduced by following the MS tutorial for deploying a container and mounting a volume: https://docs.microsoft.com/en-us/azure/container-instances/container-instances-volume-azure-files#deploy-container-and-mount-volume---yaml
az --version is also 2.24.0

@BrunyC @ChewySalmon Hi, this issue is duplicate with #18276, let's discuss in that issue~


Type Maintenance

I've used Typescript's class/interface merging to cut down on the size of the types file and to prevent drift between the configuration interface and the class properties that was already starting to occur. This should also make the types far more maintainable going forward.
Per @DavidRouyer's suggestion a while ago there's been some deprecations around the File type. I've also renamed the FilePondOptionProps interface to something a little nicer and more obvious for consumers.
A few items for the next changelog:

Deprecated File  -> Use FilePondFile
Deprecated ActualFileObject -> Use native File
Deprecated FilePondOptionProps -> Use FilePondOptions

The number of people explicitly using the File types is likely extremely low or non-existent but I'll give them a chance to move off just in case. With the next release of VSCode and Typescript 4.0 these deprecation messages will show up in people's editors too.
Some TODOs have been added to keep track of what needs to be put in the bin with the next semver major release (or if enough time has passed).
P.S please squash-merge type changes so the commit history doesn't get polluted.

A much needed cleanup 👍

@Hawxy Just got back from vacation, can this be merged?

Welcome back 👋
Yes this should be good to go.


[Feature]: Support management of PostgreSQL modules in pg_available_extensions on the base CNPG image

Is there an existing issue already for this feature request/idea?

[X] I have searched for an existing issue, and could not find anything. I believe this is a new feature request to be evaluated.

What problem is this feature going to solve? Why should it be added?
Hello, I am looking into enabling the extension pgstattuple on the PostgreSQL instances I manage through CNPG.
I added them to the shared_preload_libraries parameter of the Cluster yaml definition to manage them the same way as extensions such as pgaudit.
The extension however had not been registered yet, because it is not supported by CNPG.
While I understand not trying to support every possible extension, I was wondering if it would be possible to add to this list the extensions already provided by PostgreSQL, so that they can be managed the same way as the currently supported extensions.
So all extensions returned by SELECT * FROM pg_available_extensions; run on the base CNPG image.
Describe the solution you'd like
Ideally, I would like to be able to add extensions such as pgstattuple in shared_preload_libraries in the Cluster yaml definition and that CNPG also runs the CREATE EXTENSIONS query for it, just like it does for pgaudit for example.
To do so, I would like CNPG to extend the list of supported extensions where it will run CREATE EXTENSIONS if set in shared_preload_libraries from: auto_explain, pg_stat_statements, pgaudit and pg_failover_slots to these 4 + all extensions provided by default on PostgreSQL built with the world target.
List of modules and extensions provided by PostgreSQL: https://www.postgresql.org/docs/16/contrib.html
Describe alternatives you've considered
Run CREATE EXTENSIONS query for the extensions that are not handled by CNPG operator using the postInitSQL feature.
Additional context
I don't have much experience with managing Postgres extensions apart from the ones I'm actively using, so while the solution I'm describing seems straightforward in terms of implementations (adding the extensions to ManagedExtensions defined in https://github.com/cloudnative-pg/cloudnative-pg/blob/e0b36fce824aeb3c040843ea735330311b0ccd5f/pkg/postgres/configuration.go#L368), I may be missing some intricacies that makes it more difficult to implement.
Backport?
No
Are you willing to actively contribute to this feature?
Yes
Code of Conduct

[X] I agree to follow this project's Code of Conduct

What are you trying to achieve? pgstattuple is already there.


is this project dead?

Nope. Just hibernating. I've got a lot going on right now but still have a lot planned for this project (e.g. pluggable extension).


Error when correct url or query is entered

Even when correct url is entered python hydra agent gives an error.

Error is also thrown when there's an extra '/' at the end of the URL because then it send a request to //vocab instead of /vocab. It'd be good if you could create a commit for checking the presence of '/' at the end of the URL. Moreover, return of urlopen hasn't been closed. It'd be good if you could add the urlopen function with context manager.

urllib tools should be used to parse/unparse URLs

@ShravanDoda ^^


document - how many recent events kept by default

https://github.com/coreos/etcd/blob/master/Documentation/api.md#waiting-for-a-change
The docs says

Note: etcd only keeps the responses of the most recent 1000 events across all etcd keys. It is recommended to send the response to another thread to process immediately instead of blocking the watch while processing the result.

Is it the DefaultSnapCount? I guess it should be 10K, not 1K.
BTW, currently generating a snapshot is blocking ( store.clone() ), does it mean smaller snapCount pauses shorter while larger snapCount pauses longer but less  frequently?

It has nothing to do with snapshot count.

BTW, currently generating a snapshot is blocking ( store.clone() ), does it mean smaller snapCount pauses shorter while larger snapCount pauses longer but less frequently?

store.Clone() should be fast since it is just a memory copy. If you have a large dataset, yes it might block longer.


Add TrailBlazers Demo App to Readme

Please verify the following:

[ ] Everything works on iOS/Android
[ ] yarn ci:test jest tests pass with new tests, if relevant
[ ] ./docs/ has been updated with your changes, if relevant

Describe your PR
Fixes #1537

Thanks for providing the link to the TrailBlazers Demo App Source it will now be easy for me to  jump start with ignite bowser boilerplate.

:tada: This PR is included in version 3.5.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


setForcedVariation does not work as expected

SDK version 2.5.0
React Version 16.14.0
Description
I'm creating the client by instantiating it with the datafile, and then based upon query parameters for experiment id and variation name I'm calling client.setForcedVariation in a useMemo hook
Expected
For variation supplied in the query param to be forced
Actual
No variation is forced and user will be bucket as normal
Setup
import React, { FC, useMemo } from 'react';
import { createInstance, logOnlyEventDispatcher, OptimizelyProvider, ReactSDKClient } from '@optimizely/react-sdk';
import { eventDispatcher } from './eventDispatcher';
import { isServer } from './isServer';
import { logger } from './logger';
import { Datafile, FullstackProviderAttributes } from './types';

export const OptimizelyFullstackProvider: FC<{
  datafile: Datafile;
  attributes: FullstackProviderAttributes;
}> = ({ datafile, attributes = {}, children }) => {
  const isClient = !isServer();
  const { disableTracking, id, variation, experiment, ...restAttributes } = attributes;
  const optimizelyClient = useMemo(() => {
    const client = createInstance({
      eventDispatcher: isClient && !disableTracking ? eventDispatcher : logOnlyEventDispatcher,
      datafile,
    });

    if (variation && experiment) {
      logger.info(`forcing variation ${variation} for experiment ${experiment} and user ${id}`);
      client.setForcedVariation(experiment, variation);
    }

    return client;
  }, [datafile, disableTracking, isClient, experiment, variation, id]);

  return (
    <OptimizelyProvider isServerSide optimizely={optimizelyClient} user={{ id, attributes: restAttributes }}>
      {children}
    </OptimizelyProvider>
  );
};

nvm I see now I must pass user id as the second argument if I want to set the variation before creating the provider
https://github.com/optimizely/react-sdk/blob/master/src/client.ts#L711


Enabling tarnish service leads to GUI not responding

Describe the bug
After following the instructions to install Oxide with Toltec, the screen stops responding and black lines appear
To Reproduce
Install oxide v2.1 from Toltec's testing repository. Run systemctl disable --now xochitl and then systemctl enable --now tarnish. Restart with button or from terminal (or don't, the GUI doesn't respond either way)
Expected behavior
The Oxide launcher should appear on a reboot of the device
Screenshots
The entire contents of systemctl status tarnish
Version Information:

Device: ReMarkable 2
OS: <IP_ADDRESS>
Version v2.1

Do you have rm2fb installed?

Do you have rm2fb installed?

@Eeems  that was the issue, much appreciated!

@Eeems  that was the issue, much appreciated!


Shotgun ammo boxes behave both as magazines and boxes

Description
Shotgun ammo boxes behave both as magazines and boxes. Even separate inventories!
Reproduction

Get shotgun ammo box
Use it, bringing up box inventory and dropping shell onto ground
Click ammo box with shells you ejected
Note that you cannot insert ammo back into "magazine" part of box

Screenshots

Additional context
Related to #9540?

Fixed by #17311


Record tree pipes API dummy

Model the pipes JS interface required in #2 by creating a corresponding dummy.

See branch prototype

Depends on #6


Prepare step defined in test is silently ignored

If you define the prepare step inside the test fmf config, then it is ignored, no warnings send to the user.
I think some schema validation would solve this problem.
Ref #602

Yeah, that would be definitely useful. This is something which could be implemented in tmt plan lint but perhaps we should even give warnings every time an unsupported key is detected (during tmt plan show or tmt run). The same approach probably not possible for tmt test lint as it is possible (and allowed) to define custom metadata keys (and for example filter tests based on them). On the other hand, we could always print a warn line for such cases even for tests.

I'd say user should have a way how to define their custom attribute names so warning will not be shown for them.
Otherwise they will be flooded with warnings and will just ignore them.
Example I decide to use attribute foo in my tests, I'd prefer to add it to config file/plan/somewhere so I don't see warning for foo. But when I do typo (fo or fooo) warning will be shown, I'll see it and fix.

Might be fixed by #602


加载的时候报错，应该下载哪个版本？

materialize.js:1413 Uncaught ReferenceError: Velocity is not defined
at materialize.js:1413

Your issue does not have enough information, and we have also removed Velocity in a recent commit


repo: fix repo merge unit test

Enable asserts that accidentally excluded from normal test flow.
Signed-off-by: Markus Lehtonen<EMAIL_ADDRESS>
What this PR does / why we need it:
Special notes for your reviewer:
If applicable:

[ ] this PR contains documentation
[ ] this PR contains unit tests
[ ] this PR has been tested for backwards compatibility

ping @bacongobbler
I don't get the CI error 🤔

@marquiz thanks very much. you need to rebase the code. Then the ci will be ok.

you need to rebase the code

done

ping @yxxhero @bacongobbler

woof @yxxhero!

@marquiz lgtm thanks very much.

woof @yxxhero!

@marquiz I don 't think that this is an appropriate way to address someone. Please use words like 'ping', 'hello', 'hi' etc.

woof @yxxhero!

@marquiz I don 't think that this is an appropriate way to address someone. Please use words like 'ping', 'hello', 'hi' etc.

I think so.

@marquiz I don 't think that this is an appropriate way to address someone. Please use words like 'ping', 'hello', 'hi' etc.

I think so.

Sorry, I honestly didn't mean to  be offensive 🙇♂ I'm perhaps too used to prow commands like /woof /honk etc...

Oh, and thanks for merging this 😊

Sorry, I honestly didn't mean to be offensive 🙇♂ I'm perhaps too used to prow commands like /woof /honk etc...

Ok


When do you expect to release the code？

Hi, can you share your plan to release the code for VL_adapter?
Thanks!

Sorry for the late reply. I was swamped by new projects and school works recently. I will release the codes as soon as possible. Ideally next week.

Sorry for the delay. The code was just uploaded. I'll upload the data soon.


audit csrf_token for httponly

We've received a security disclosure about not setting httponly for csrf_token. We should review that decision and leave a comment in the code where that is necessitated.

+1 https://gratipay.freshdesk.com/helpdesk/tickets/2313


CLI of 1.2.0 Release

Is there a way to get a CLI based on the latest release?

worked for me to npm install and npm run the latest release and open a local style file


WIP Bench test

Start of bench, but examples/simple_client.rs, from where this is inspired, does not compile either.

trying with passing unit tests now


Describe how to test in CONTRIBUTING.mD

Can one of the admins verify this patch?

@arv for review

Thanks. This is very nice.

I think this is already in the Hacking on Noms wiki.

@arv  PTAL.

I think this is already in the Hacking on Noms wiki.
@mikegray  It seems like we need to centralize them. My two cent is using .md files first. Just for   handling everything as source code.

If we are moving this from Hacking on Noms wiki, it probably makes sense to move the other contents of that wiki to Contributing.md too. Can you please move those over too? Also just noticed the Apache License reference isn't a link - please link that to LICENSE at root of repo.

yes. @sunglim - can you please copy the rest of the content from wiki page into this new contributing.md file.

Sorry, I was late.

If we are moving this from Hacking on Noms wiki, it probably makes sense to move the other contents of that wiki to Contributing.md too. Can you please move those over too? Also just noticed the Apache License reference isn't a link - please link that to LICENSE at root of repo.

Done. PTAL.

LGTM


Add poll loading indicator

Our poll results for poll items are fetched individually async, and we have it set up to only show once all the poll results have been fetched. It'll be nice if we had a loading indicator to show until all the poll results show.
Feel free to copy the same loading indicator I used through the app and modify it to fit the poll results area.

Not too important I think since most poll items don't have too many poll choices to begin with (and don't take long to load). Will close this but if anyone feels like this is something we need to add then  we can definitely reopen it :)


feat(pruner): Implement full and bridge node pruning

This PR introduces full and bridge node pruning via the --experimental-pruning flag. Support is included for nodes that start from scratch with pruning enabled and also for archival (nodes retaining all historical blocks) that enable the --experimental-pruning flag.
Note that this PR does not support the conversion of a pruned node into an archival one explicitly (it would not support re-syncing deleted blocks).
With pruning enabled, full and bridge nodes' block stores can be expected not to exceed ~4TB (as the upper bound).
In follow-up PRs (hardening), the following features can be expected:

[ ] discovery for archival nodes for archival sync
[ ] inverted_index / light node pruning
[ ] include more metrics for errors

TODO:

[x] clean up some TODOs
[x] fix one flakey unit test
[x] change values back to the actual (GC cycle, sampling window, pruning window, etc).
[x] figure out whether to store error in pruner checkpoint
[x] fix issue with pruning genesis block via findPruneableHeaders
[x] metrics for failed prunes
[x] set a sane default for max pruneable / consider removing MaxPruneablePerGC as now context timeouts are on a per block basis
[ ] dedup findPruneableHeader test utility
[x] badger dep

Codecov Report
Attention: 113 lines in your changes are missing coverage. Please review.

Comparison is base (1809680) 51.92% compared to head (0fc12ad) 51.99%.

Files
Patch %
Lines

pruner/metrics.go
9.75%
37 Missing :warning:

pruner/service.go
77.14%
20 Missing and 4 partials :warning:

cmd/util.go
0.00%
16 Missing :warning:

pruner/checkpoint.go
69.04%
9 Missing and 4 partials :warning:

pruner/finder.go
81.25%
6 Missing and 3 partials :warning:

header/headertest/testing.go
70.00%
5 Missing and 1 partial :warning:

pruner/params.go
57.14%
6 Missing :warning:

cmd/node.go
0.00%
2 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3150      +/-   ##
==========================================
+ Coverage   51.92%   51.99%   +0.06%
==========================================
  Files         178      183       +5
  Lines       11316    11594     +278
==========================================
+ Hits         5876     6028     +152
- Misses       4942     5050     +108
- Partials      498      516      +18

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

@renenay, there is a little conflict fyi


feat: configurable polling and ws

Pull Request type

Please add the labels corresponding to the type of changes your PR introduces:

Bugfix
Feature
Code style update (formatting, renaming)
Refactoring (no functional changes, no API changes)
Build-related changes
Documentation content changes
Testing
Other (please describe):

What is the current behavior?

Resolves: #NA
What is the new behavior?

Does this introduce a breaking change?

Other information

also can you update the .env.example with the new values please ?

Hey! Spoke to 0xevolve that I dont have much time nowadays, but wanted to open this PR to show what might be nice to have to improve the bot. Feel free take as much inspiration as you want, but unfortunately I wont have time to update my branch for now ..
Re your semantics comments, I'm an absolute rust noob and most code is by Claude, which explains the "wrong" imports etc
Let me know if I can provide more context, but I dont think that I'll find time in the next weeks to update my fork with your comments, sorry about that ❤


Fix messageSpanned length check

When you pass a messageSpanned, the method checks message member and not the messageSpanned parameter which is not correct and causes null pointer exception

@aminelaadhari Hi,
Release is ready!

cool, thanks !


nixos/acme: Fixes for account creation and remove tmpfiles usage

Motivation for this change
Closes #106565
Possibly closes some other ACME tickets related to JWS token errors too. A new systemd target named acme-account-$hash.target has been added, which is depended on (requiredBy + after) by all but 1 cert service associated with the same account. The one remainder is depended on (requires + before) to do the account creation.
Note that I changed the hash data for the account directory which will trigger new account creation on all systems. Given that rate limit issues should now be resolved, this will simply test that I did a good enough job of it ;)
Closes #106603
Umask is changed to 0023 to accommodate for lighttpd
Closes #103121
Remove systemd-tmpfiles dependency follows from this discussion and ~may solve~ has been reported to solve #103121. I was tempted to totally remove the use of tmpfiles but I couldn't find a good home for the webroot directory creation. Ideally, it should already be created by the user but since most users don't set a webroot at all and expect it to "just work" through httpd/nginx I left it in.
Docs update are primarily to cover follow-up in #81634 and fix the systemctl clean command.
In the test suite, I added a wait for "network-online.target" on the pebble server due to a one time test failure I had because the host wasn't reachable. I hope this resolves it, but it's hard to test.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[X] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[X] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[X] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

Heads up @NixOS/acme

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/lets-encrypt-on-20-09/9950/13

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/migrating-letsencrypt-acme-certificates-from-another-server/9925/2

I didn't read this in detail, but I wonder if using a systemd target is the right thing. Starting a target twice will not start the dependent services twice if I understand correctly.

Rebased

This is now missing all the cherry-picked-by lines (did it miss them before?).
Backport PRs should always be cherry-picked with the -x parameter.

Uh, this isn't a backport? These PRs are fresh. I accidently cherry-picked and pushed your commit for #107769 in here, then reverted it.

I didn't read this in detail, but I wonder if using a systemd target is the right thing. Starting a target twice will not start the dependent services twice if I understand correctly.

This is correct, however it is not an issue in this case. The target is only required to solve issues on that first start, where the account directory doesn't exist. Subsequent renewals won't have any issues so long as this target has been reached at least once.

Right, I understand.

I didn't read this in detail, but I wonder if using a systemd target is the right thing. Starting a target twice will not start the dependent services twice if I understand correctly.

It will  if the service is down. Systemd will "approach" the target
Try stopping for example nscd.service and then do systemctl start multi-user.target. It will start the service again

I applied this config to my own system and encountered some new permissions issues with the first renewal, which I've now fixed:

The accounts directory (and subdirectories, oddly) was being set to root:root ownership because acme-fixperms.service was running as root, thus the StateDirectories were being set to root ownership. I changed the service to use the acme user and group, and kept the script running as root to fix erroneous permissions.
I discovered that if the webroot is not owned by the user/group configured for cert renewal, Lego will crash due to being unable to mkdir .well-known and/or .well-known/acme-challenge. I added an ExecPreStart to the acme-$cert.service to fix this on launch. In the process I removed all usages of systemd-tmpfiles which is nice.

The commit also contains some other syntax fixes.

I had very annoying service restart problem with nginx using acme. disabling security/acme.nix module and import these changes fixes it for me.

This worked for me.

This worked for me.

Anything that needs to be done before this is merged?

Anything that needs to be done before this is merged?

Nope, I don't have any more changes to make to this.

Nope, I don't have any more changes to make to this.

Can we get some more approvals from the ACME team?
@aanderse @andrew-d @arianvp @emilazy @flokli

Can we get some more approvals from the ACME team?
@aanderse @andrew-d @arianvp @emilazy @flokli

I would also like to highlight the other smaller acme PRs I've had open for months. They too need to be merged for some essential fixes. At this point, I would prefer to see this PR merged first then I can work on rebasing and adjusting the other PRs as necessary.

I would also like to highlight the other smaller acme PRs I've had open for months. They too need to be merged for some essential fixes. At this point, I would prefer to see this PR merged first then I can work on rebasing and adjusting the other PRs as necessary.

Can we get some more approvals from the ACME team?
@aanderse @andrew-d @arianvp @emilazy @flokli

A number of people have reported that this PR fixes their issues. The proof is in the pudding, so I recommend merge :+1:

Can we get some more approvals from the ACME team?
@aanderse @andrew-d @arianvp @emilazy @flokli

A number of people have reported that this PR fixes their issues. The proof is in the pudding, so I recommend merge :+1:

Let's get this in.

Let's get this in.

I still get the 403, using nixops on an AWS EC2 instance.
nix-shell> nixops deploy -d staging

main............> Jan 28 22:11:30 serendipity acme-staging.rubenmoor.net-start[17863]: 2021/01/28 22:11:30 [INFO] [staging.rubenmoor.net] acme: Trying to solve HTTP-01
main............> Jan 28 22:11:36 serendipity acme-staging.rubenmoor.net-start[17863]: 2021/01/28 22:11:36 [INFO] Deactivating auth: https://acme-v02.api.letsencrypt.org/acme/authz-v3/10432246082
main............> Jan 28 22:11:36 serendipity acme-staging.rubenmoor.net-start[17863]: 2021/01/28 22:11:36 [INFO] Unable to deactivate the authorization: https://acme-v02.api.letsencrypt.org/acme/authz-v3/10432246082
main............> Jan 28 22:11:36 serendipity acme-staging.rubenmoor.net-start[17863]: 2021/01/28 22:11:36 Could not obtain certificates:
main............> Jan 28 22:11:36 serendipity acme-staging.rubenmoor.net-start[17863]:         error: one or more domains had a problem:
main............> Jan 28 22:11:36 serendipity acme-staging.rubenmoor.net-start[17863]: [staging.rubenmoor.net] acme: error: 403 :: urn:ietf:params:acme:error:unauthorized :: Invalid response from http://staging.rubenmoor.net/.well-known/acme-challenge/gLk9Zwwlz1RTXqPBWyOC2i0xuQTDaLtd7nUk89Fl6WA [<IP_ADDRESS>]: "\r\n<title>403 Forbidden</title>\r\n\r\n
403 Forbidden
\r\n
nginx\r\n", url:
main............> Jan 28 22:11:36 serendipity systemd[1]: acme-staging.rubenmoor.net.service: Main process exited, code=exited, status=1/FAILURE
main............> Jan 28 22:11:36 serendipity systemd[1]: acme-staging.rubenmoor.net.service: Failed with result 'exit-code'.
main............> Jan 28 22:11:36 serendipity systemd[1]: Failed to start Renew ACME certificate for staging.rubenmoor.net.
main............> Jan 28 22:11:36 serendipity systemd[1]: acme-staging.rubenmoor.net.service: Consumed 97ms CPU time, received 14.5K IP traffic, sent 7.3K IP traffic.

This is my shell.nix to point to a local clone of nixpkgs: https://github.com/m1cr0man/nixpkgs.git:master
let
  # acme bugfix on 20.09
  pkgsSrc = ~/nixpkgs;

  pkgs = (import pkgsSrc {});
in
pkgs.stdenv.mkDerivation rec {
  name = "nixops-env";
  buildInputs = with pkgs; [ awscli pkgs.nixops ];
  shellHook = ''
    [ -f ~/.aws/vars ] && . ~/.aws/vars
    export NIX_PATH=${pkgs.path}:nixpkgs=${pkgs.path}:.
  '';
}

And I can confirm that, upon visiting http://staging.rubenmoor.net/.well-known/acme-challenge/gLk9Zwwlz1RTXqPBWyOC2i0xuQTDaLtd7nUk89Fl6WA in a browser, that there is 403.

I still get the 403, using nixops on an AWS EC2 instance.
nix-shell> nixops deploy -d staging

main............> Jan 28 22:11:30 serendipity acme-staging.rubenmoor.net-start[17863]: 2021/01/28 22:11:30 [INFO] [staging.rubenmoor.net] acme: Trying to solve HTTP-01
main............> Jan 28 22:11:36 serendipity acme-staging.rubenmoor.net-start[17863]: 2021/01/28 22:11:36 [INFO] Deactivating auth: https://acme-v02.api.letsencrypt.org/acme/authz-v3/10432246082
main............> Jan 28 22:11:36 serendipity acme-staging.rubenmoor.net-start[17863]: 2021/01/28 22:11:36 [INFO] Unable to deactivate the authorization: https://acme-v02.api.letsencrypt.org/acme/authz-v3/10432246082
main............> Jan 28 22:11:36 serendipity acme-staging.rubenmoor.net-start[17863]: 2021/01/28 22:11:36 Could not obtain certificates:
main............> Jan 28 22:11:36 serendipity acme-staging.rubenmoor.net-start[17863]:         error: one or more domains had a problem:
main............> Jan 28 22:11:36 serendipity acme-staging.rubenmoor.net-start[17863]: [staging.rubenmoor.net] acme: error: 403 :: urn:ietf:params:acme:error:unauthorized :: Invalid response from http://staging.rubenmoor.net/.well-known/acme-challenge/gLk9Zwwlz1RTXqPBWyOC2i0xuQTDaLtd7nUk89Fl6WA [<IP_ADDRESS>]: "\r\n<title>403 Forbidden</title>\r\n\r\n
403 Forbidden
\r\n
nginx\r\n", url:
main............> Jan 28 22:11:36 serendipity systemd[1]: acme-staging.rubenmoor.net.service: Main process exited, code=exited, status=1/FAILURE
main............> Jan 28 22:11:36 serendipity systemd[1]: acme-staging.rubenmoor.net.service: Failed with result 'exit-code'.
main............> Jan 28 22:11:36 serendipity systemd[1]: Failed to start Renew ACME certificate for staging.rubenmoor.net.
main............> Jan 28 22:11:36 serendipity systemd[1]: acme-staging.rubenmoor.net.service: Consumed 97ms CPU time, received 14.5K IP traffic, sent 7.3K IP traffic.

This is my shell.nix to point to a local clone of nixpkgs: https://github.com/m1cr0man/nixpkgs.git:master
let
  # acme bugfix on 20.09
  pkgsSrc = ~/nixpkgs;

  pkgs = (import pkgsSrc {});
in
pkgs.stdenv.mkDerivation rec {
  name = "nixops-env";
  buildInputs = with pkgs; [ awscli pkgs.nixops ];
  shellHook = ''
    [ -f ~/.aws/vars ] && . ~/.aws/vars
    export NIX_PATH=${pkgs.path}:nixpkgs=${pkgs.path}:.
  '';
}

And I can confirm that, upon visiting http://staging.rubenmoor.net/.well-known/acme-challenge/gLk9Zwwlz1RTXqPBWyOC2i0xuQTDaLtd7nUk89Fl6WA in a browser, that there is 403.

Assuming you're using the default webroot for certs, can you check the permissions and ownership of /var/lib/acme/acme-challenges/.well-known/acme-challenge from acme-challenges up to the end? I suspect, due to this https://github.com/NixOS/nixpkgs/pull/106857#discussion_r551013681, that your webroot permissions may be wrong. Please collect that and report back, we can work on a fix from there.

Assuming you're using the default webroot for certs, can you check the permissions and ownership of /var/lib/acme/acme-challenges/.well-known/acme-challenge from acme-challenges up to the end? I suspect, due to this https://github.com/NixOS/nixpkgs/pull/106857#discussion_r551013681, that your webroot permissions may be wrong. Please collect that and report back, we can work on a fix from there.

Assuming you're using the default webroot for certs, can you check the permissions and ownership of /var/lib/acme/acme-challenges/.well-known/acme-challenge from acme-challenges up to the end? I suspect, due to this #106857 (comment), that your webroot permissions may be wrong. Please collect that and report back, we can work on a fix from there.

Owner and group are acme for all of these folders
/var/lib/acme/.challenges/.well-known/acme-challenge
/var/lib/acme/.challenges/.well-known/
/var/lib/acme/.challenges/
/var/lib/acme/

Assuming you're using the default webroot for certs, can you check the permissions and ownership of /var/lib/acme/acme-challenges/.well-known/acme-challenge from acme-challenges up to the end? I suspect, due to this #106857 (comment), that your webroot permissions may be wrong. Please collect that and report back, we can work on a fix from there.

Owner and group are acme for all of these folders
/var/lib/acme/.challenges/.well-known/acme-challenge
/var/lib/acme/.challenges/.well-known/
/var/lib/acme/.challenges/
/var/lib/acme/

Ah of course, I'm just after reading your config thoroughly. Because you've manually configured your certs through nginx instead of using the builtins (like services.nginx.virtualHosts..enableACME), you have the wrong group configured for access. The fix is simple: Set security.acme.certs..group to nginx, or switch to using the builtins. There's a good example too on the manual.

Ah of course, I'm just after reading your config thoroughly. Because you've manually configured your certs through nginx instead of using the builtins (like services.nginx.virtualHosts..enableACME), you have the wrong group configured for access. The fix is simple: Set security.acme.certs..group to nginx, or switch to using the builtins. There's a good example too on the manual.

Oh, also, you may need to manually set /var/lib/acme/.challenges to "nginx" group afterwards (since now it already exists, it won't get created with the right permissions). Alternatively delete the folder before you fix the config and the module will recreate it with the right permissions :)

Oh, also, you may need to manually set /var/lib/acme/.challenges to "nginx" group afterwards (since now it already exists, it won't get created with the right permissions). Alternatively delete the folder before you fix the config and the module will recreate it with the right permissions :)

Ah of course, I'm just after reading your config thoroughly. Because you've manually configured your certs through nginx instead of using the builtins (like services.nginx.virtualHosts..enableACME), you have the wrong group configured for access. The fix is simple: Set security.acme.certs..group to nginx, or switch to using the builtins. There's a good example too on the manual.

Following your suggestion, now the folders all have owner/group set to acme/nginx. I get a time-out error now instead of 403.
Also, the configuration option security.acme.certs.<name>.group is listed in the manual. There is no hint, though, that the default isn't sufficient. The example that explicitly uses nginx does not set the option, either.
Also, permissions are set to 754 throughout for all the folders mentioned above.

Ah of course, I'm just after reading your config thoroughly. Because you've manually configured your certs through nginx instead of using the builtins (like services.nginx.virtualHosts..enableACME), you have the wrong group configured for access. The fix is simple: Set security.acme.certs..group to nginx, or switch to using the builtins. There's a good example too on the manual.

Following your suggestion, now the folders all have owner/group set to acme/nginx. I get a time-out error now instead of 403.
Also, the configuration option security.acme.certs.<name>.group is listed in the manual. There is no hint, though, that the default isn't sufficient. The example that explicitly uses nginx does not set the option, either.
Also, permissions are set to 754 throughout for all the folders mentioned above.

Update: the timeout error is based on a different problem in my configuration. During the deployments I have changed the IP at least once, having my domain pointing nowhere. There might have been yet another issue in my security group where I was missing the .name in
        main.deployment.ec2.securityGroups = [ resources.ec2SecurityGroups.serendipityGroup.name ];

By the looks of it, I am stuck with one last issue and about to sort that out myself: I use nginx for ssl certs and my custom server called "backend" to run my app. This custom server is run as a service, thus run by the root user. However, backend does not find the ssl key file: "no keys found", even though I point it to the correct directory and file: /var/lib/acme/staging.rubenmoor.net/key.pem.

Update: the timeout error is based on a different problem in my configuration. During the deployments I have changed the IP at least once, having my domain pointing nowhere. There might have been yet another issue in my security group where I was missing the .name in
        main.deployment.ec2.securityGroups = [ resources.ec2SecurityGroups.serendipityGroup.name ];

By the looks of it, I am stuck with one last issue and about to sort that out myself: I use nginx for ssl certs and my custom server called "backend" to run my app. This custom server is run as a service, thus run by the root user. However, backend does not find the ssl key file: "no keys found", even though I point it to the correct directory and file: /var/lib/acme/staging.rubenmoor.net/key.pem.

Finally got my setup to work. Thanks for your advice, @m1cr0man .
Indeed, I needed to set ecurity.acme.certs.<name>.group to nginx, given my setup.
Ultimately, I had to figure out how to configure warp-tls using the chain settings (tlsSettingsChain in Haskell)

Finally got my setup to work. Thanks for your advice, @m1cr0man .
Indeed, I needed to set ecurity.acme.certs.<name>.group to nginx, given my setup.
Ultimately, I had to figure out how to configure warp-tls using the chain settings (tlsSettingsChain in Haskell)

Also, the configuration option security.acme.certs.<name>.group is listed in the manual. There is no hint, though, that the default isn't sufficient. The example that explicitly uses nginx does not set the option, either.

Glad you got sorted! This error in the docs is fixed in #100356 which hopefully I'll get merged soon.

Also, the configuration option security.acme.certs.<name>.group is listed in the manual. There is no hint, though, that the default isn't sufficient. The example that explicitly uses nginx does not set the option, either.

Glad you got sorted! This error in the docs is fixed in #100356 which hopefully I'll get merged soon.

FYI: Backport of this PR for NixOS 20.09: #112145 (needs reviewers / not yet merged).

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/trying-to-get-a-lets-encrypt-cert-to-renew-connection-refused/11009/2


Add a switch to allow a component, service etc to implement an interface / extend a base class etc

Enhancement: Add a switch to allow a component, service etc to implement an interface / extend a base class etc
This could even examine the base class or interface and stub out any members as required.
I am specifically thinking along the lines of the functionality in Visual Studio which does this for C#

This is fairly complex behaviour that our blueprint setup does not currently support. In the future we should have a costumizable blueprint system that allows users to add this sort of stuff.