New exes seem to cause game launch to fail?

I'm leaving a ? in there as I'm not entirely confident in my testing. I could swear this was working via an earlier develop release, but have since reset all my local files and gotten stuck on #319 some again.
I can run the launcher fine via .bat or direct using Java and it'll launch the game. But if I use either of the new exes I get an error that the game failed to start and can't find a log file anywhere for that sake. Although the launcher itself has a log tab where I don't see a lot of details - looks normal.
Old launcher I think put a .log next to the exes.
@shartte - if you can find any time over the next week or so would you mind terribly taking a look? Since it seems to be specific to the .exes. I'd be thrilled to be proven wrong with it just being some local issue on my system.
Edit: I can also drop the old plain Terasology.exe into a v2.0.0 launcher dir and everything works :(

Just to be clear. This is about the game exe files, not the launcher? Where is the jar file in relation to the exe? Where is the JRE in relation to the exe?

Thanks for popping up :-)
Launcher exes, actually. The launcher opens just fine and you can use it, but when you run the launcher with either of its exes then try to actually run the game from within it you get an error. Launcher itself seems to work fine.
If you run the launcher via .bat or Java it works fine (running the game from within the lauincher, that is). If you use the old TerasologyLauncher.exe from past versions dropped into the launcher dir it also works fine.
Launcher zip layout (with the old exe dropped in):

Actual downloaded game goes to  (picked when you start the launcher for the first time) then some subdirs based on game line, for example:
H:\Dev\Terasology\LauncherInstallDir\RELEASE\TerasologyStable\53
Then there are the usual files in there as if you had extracted the game zip normally

How is the game launched from the launcher? I remember it loading the jar directly. Is that still the case? That might not work in case the natives have the wrong bittage (? :P)
Besides. Erm. If the launcher already starts up correctly, then launching the game should produce some form of output in the launcher itself. UNLESS ofcourse the launcher tries to determine its own JRE (which there is none if it's using the new exes...)
To be honest, I remember what was missing heh. The idea was that every game ZIP would have the EXEs and the launcher writes a ini file with the JRE directory before running the EXE directly.

Does that help figure out what we're missing then? I don't remember the details used by the launcher right now, but yeah there are some minimal log output in the launcher window, just nothing particularly useful :-)
Until we have the bundled JRE setup entirely working, should we just go back to the old exe? Decent workaround for the time being?

For the time being? Certainly.

Thanks. Not sure why I didn't think of that earlier and just did it for the release, sigh, too tired :-)
Tried it out and yeah it works fine, but the Java7/8/FX issue is still in the way. Argh.

No longer! The way is free for a real release :smile:

Uh I think i made sure to include the JFX jars in the bundled JREs that we build on Jenkins.

Workaround is in place for now. Both old + new exes are in the repo but the new ones are excluded from the distribution. We can fix / finish that at our leisure now, probably along with verifying the JRE bundling as ready :-)


Avoid buffer overflow (issue #444)

Signed-off-by: Stefan Weil<EMAIL_ADDRESS>

See issue #444.

@stweil, That's great news, good job!
I understand  that this fix will be released with v5.0.0?
Can you say when it's scheduled to be released?
Won't hold you to it don't worry :)

There is currently no plan when v5.0.0 will be released, and I don't expect it will be this year.


Time variables in weight formulas

Currently it isn't possible to use time variable in weight formula.
This doesn't work because column time gets renamed to period
data_preparation(data, period = "time", switch_n_cov = ~ time + x1 + x2)

This doesn't work because period isn't in data
data_preparation(data, period = "time", switch_n_cov = ~ period + x1 + x2)

Solution:
Change order of checks/subsetting in select_data_cols() to allow period in weight model formulas.
@lisu-stats Is it valid to use time in those models from a causal inference perspective?

@gravesti Yes, we should allow time/period to be included as a covariate in the weight models, especially for the censoring weights.
For treatment weights, there is an option Include_regime_length, which will create a variable time_on_regime that is sort of taking into the time aspect. And we can add  time_on_regime  to the weight model formula. But users might prefer to use the original time/period variable when building the model for the weights.
I noticed the workshop practicals used cubic terms of the time variable in their weights models.

[ ] Check if time_on_regime in expanded
[ ] Allow time_on_regime to be used as user specifies
[ ] user can also use period

@lisu-stats Currently the time_on_regime variable is always calculated and include_regime_length = TRUE actually only adds the linear and quadratic terms to the weight formulas. The variable is dropped again if it isn't used in models. I'm thinking about removing the function option and just describing in the manual that this variable is available for use in the weight and outcome models.

@lisu-stats I agree we can drop this option. So does it mean that time_on_regime will automatically be included in the data for fitting the weights models? For outcome models, I think time_on_regime is equivalent to  followup_time in per-protocol analyses. For as-treated analyses, time_on_regime is equivalent to  dose?

Yes, time_on_regime is automatically added if it is specified in the formula.
Actually for the outcome model time_on_regime would give the duration of treatment up to baseline, since it is calculated on the original data. This is probably not useful, depending on how eligibility is defined.

@gravesti Yes, it is a bit confusing to use time_on_regime in outcome models, and it does not seem to characterize the baseline population?

Ok, so shouldn't don't consider it for outcome models. We just need to adjust the documentation to mention that time_on_regime is available to be used in the weight models. I've made some comments in Overleaf.
There are also some other derived variables mentioned in the macro documentation that we do calculate but don't consider further. I think dosesum might be the same as time_on_regime, but let's leave those for now.
I'll merge these changes so that period and time_on_regime work as discussed.

@gravesti Yes, I found the definitions of those derived variables in the macro confusing.  See below:

The elements most commonly used to define a function of treatment for the outcome model are included in a separate macro called %building_blocks and include the cumulative dose for each trial (dose), the cumulative dose for the entire history of treatment for a participant (cumA) and two temporary arrays one including treatment at each time (treat) and the other including cumulative treatment at each time (dosesum).

And they only apply to as-treated analyses, so I agree we shall leave those for now.
Do you add the comments in overleaf using coloured fonts? I can't find new comments/edits in the file. Thanks.

@lisu-stats I made comments in the .tex file in the side bar. I've tried
again with some \tp{} comments for the main changes.
On Fri, 6 Jan 2023 at 10:51, Li Su @.***> wrote:

@gravesti https://github.com/gravesti Yes, I found the definitions of
those derived variables in the macro confusing. See below:
The elements most commonly used to define a function of treatment for the
outcome model are included in a separate macro called %building_blocks and
include the cumulative dose for each trial (dose), the cumulative dose
for the entire history of treatment for a participant (cumA) and two
temporary arrays one including treatment at each time (treat) and the
other including cumulative treatment at each time (dosesum).
And they only apply to as-treated analyses, so I agree we shall leave
those for now.
Do you add the comments in overleaf using coloured fonts? I can't find new
comments/edits in the file. Thanks.
—
Reply to this email directly, view it on GitHub
https://github.com/Causal-LDA/TrialEmulation/issues/106#issuecomment-1373411897,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AT6IXODC74HSP5MVET75443WQ7TJHANCNFSM6AAAAAASVTVKTU
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Isaac Gravestock, PhD
Data Scientist
Real World Data, PD Data Sciences
F.Hoffmann - La Roche Ltd
Tel:      (+41) 79 158 31 85
e-mail: @.*** @.***>

@gravesti Thanks. I will update the paper once we finalize the remaining changes.


[BUG] Module broken by Warpgate dependency

Due to the Warpgate Module was removed (completely, yes, you can not even download it anymore, package has vanished) the Warpgate dependency will break this module.

read the readme, it's already stated there

Adding an issue allows discussion, it's not just to bring it to attention.
For what it's worth, TheRipper93 created a library named Portal for spawning creatures. He created it when Warpgate was removed. This module would still need a rewrite, but there is hope it can be done at least.
https://wiki.theripper93.com/free/portal-lib


Fix for nil ns_prefix in ruby 2.3.0

Not sure if this is caused by ruby 2.3.0, recursive_open_struct 1.0.0, or some combination of the two but – when trying to create services with kubeclient 1.0.0 on ruby 2.3.0, was getting
405 The server does not allow this method on the requested resource

Did some debugging and found that ns_prefix in create_resource was nil, because keys under entity_config.metadata['table'] were strings rather than symbols.   So
entity_config.metadata['table'][:namespace]

is nil, but these expressions work:
entity_config.metadata['table']['namespace']
entity_config.metadata.namesapce

Not sure why this reference was going through .metadata['table'], but as far as I understand ROS 1.0.0 you should always be able to hit entity_config.metadata.namespace?
Changed this reference in this PR.  In addition, removed the workaround for aetherknight/recursive-open-struct#9 since 1.0.0 solves for this.
Tests pass; this also fixes the 405 error.

@abonas @bkoski why the tests passed in the first place? If we don't have any test covering this part we should probably add them (with this PR possibly).

@abonas @bkoski why the tests passed in the first place? If we don't have any test covering this part we should probably add them (with this PR possibly).

I'm puzzled about the tests passing as well

@bkoski could you perhaps share a code example of how you were constructing a service?

Did some digging, the error shows up when you assign .metadata using a Hash with string keys (rather than symbols, or directly assigning the properties through deep accessors).
In my particular case, I was setting up the service instance after parsing a JSON payload:
payload = JSON.parse(params[:service])
service = Kubeclient::Service.new
service.metadata = service_data['metadata']
service.spec     = service_data['spec']

It seems the error was caused not by Ruby 2.3, but instead by the ROS 1.0 upgrade.  In ROS 1.0, all keys are cast to symbols internally.
Updated the PR to:

include a test that exposes the error
go back to the original setup, where entity_config is converted to a hash to avoid mutating the original param
access the namespace as hash[:metadata][:namespace], which appears to work no matter how you initialize the service

@bkoski please squash the commits

Just squashed, and added a couple more tests to exercise creation and updates w/ string/symbol keys.

Good call, fixed this and added some some tests that:

check payload sent to kubernetes api to make sure it's valid JSON with complete data
assert that original entity_confg is not modified

can you please change the PR title to a more relevant one? the mention of ruby 2.3 is misleading as the issue is eventually not related to that.

Just updated title.


Insignificant Rebellion (V)

Removed duplicate /cards string in the image link.

Nice find, not sure how that got through.  I checked and didn't see any other cases of this.


How to reset the app state ?

Hello,
On logout I would like to reset my app state, could you guide me to do that please ?

I found the answer there :
http://stackoverflow.com/questions/35622588/how-to-reset-the-state-of-a-redux-store/35641992#35641992


[Bug]: padim unable to export  the openvino model

Describe the bug
i set export_mode to openvino and get error.
Dataset
MVTec
Model
PADiM
Steps to reproduce the behavior
python tools/train.py --model padim
OS information
OS: [windows 10]
Python version: [3.8]
Anomalib version: [1.0.0]
PyTorch version: [torch | 1.12.1+cu116]
CUDA/cuDNN version: [Build cuda_11.2.r11.2/compiler.29373293_0]
GPU models and configuration: [NVIDIA GeForce RTX 3060]
Any other relevant information: [I'm using mvtec/bottle dataset]
Expected behavior
i want to get the openvino model
Screenshots
No response
Pip/GitHub
GitHub
What version/branch did you use?
No response
Configuration YAML
dataset:
  name: mvtec
  format: mvtec
  path: ./datasets/MVTec
  category: bottle
  task: segmentation
  train_batch_size: 32
  eval_batch_size: 32
  num_workers: 1
  image_size: 256 # dimensions to which images are resized (mandatory)
  center_crop: null # dimensions to which images are center-cropped after resizing (optional)
  normalization: imagenet # data distribution to which the images will be normalized: [none, imagenet]
  transform_config:
    train: null
    eval: null
  test_split_mode: from_dir # options: [from_dir, synthetic]
  test_split_ratio: 0.2 # fraction of train images held out testing (usage depends on test_split_mode)
  val_split_mode: same_as_test # options: [same_as_test, from_test, synthetic]
  val_split_ratio: 0.5 # fraction of train/test images held out for validation (usage depends on val_split_mode)
  tiling:
    apply: false
    tile_size: null
    stride: null
    remove_border_count: 0
    use_random_tiling: False
    random_tile_count: 16

model:
  name: padim
  backbone: resnet18
  pre_trained: true
  layers:
    - layer3
  normalization_method: min_max # options: [none, min_max, cdf]

metrics:
  image:
    - F1Score
    - AUROC
  pixel:
    - F1Score
    - AUROC
  threshold:
    method: adaptive #options: [adaptive, manual]
    manual_image: null
    manual_pixel: null

visualization:
  show_images: False # show images on the screen
  save_images: True # save images to the file system
  log_images: True # log images to the available loggers (if any)
  image_save_path: null # path to which images will be saved
  mode: full # options: ["full", "simple"]

project:
  seed: 42
  path: ./results

logging:
  logger: [] # options: [comet, tensorboard, wandb, csv] or combinations.
  log_graph: false # Logs the model graph to respective logger.

optimization:
  export_mode: openvino # options: torch, onnx, openvino

# PL Trainer Args. Don't add extra parameter here.
trainer:
  enable_checkpointing: true
  default_root_dir: null
  gradient_clip_val: 0
  gradient_clip_algorithm: norm
  num_nodes: 1
  devices: 1
  enable_progress_bar: true
  overfit_batches: 0.0
  track_grad_norm: -1
  check_val_every_n_epoch: 1 # Don't validate before extracting features.
  fast_dev_run: false
  accumulate_grad_batches: 1
  max_epochs: 1
  min_epochs: null
  max_steps: -1
  min_steps: null
  max_time: null
  limit_train_batches: 1.0
  limit_val_batches: 1.0
  limit_test_batches: 1.0
  limit_predict_batches: 1.0
  val_check_interval: 1.0 # Don't validate before extracting features.
  log_every_n_steps: 50
  accelerator: auto # <"cpu", "gpu", "tpu", "ipu", "hpu", "auto">
  strategy: null
  sync_batchnorm: false
  precision: 32
  enable_model_summary: true
  num_sanity_val_steps: 0
  profiler: null
  benchmark: false
  deterministic: false
  reload_dataloaders_every_n_epochs: 0
  auto_lr_find: false
  replace_sampler_ddp: true
  detect_anomaly: false
  auto_scale_batch_size: false
  plugins: null
  move_metrics_to_cpu: false
  multiple_trainloader_mode: max_size_cycle

Logs
PS D:\Project\anomalib-main> python tools/train.py --model padim
D:\Project\anomalib-main\anomalib\config\config.py:275: UserWarning: config.project.unique_dir is set to False. This does not ensure that your results will be written in an empty directory and you may overwrite files.
  warn(
Global seed set to 42
2023-08-18 17:11:58,870 - anomalib.data - INFO - Loading the datamodule
2023-08-18 17:11:58,870 - anomalib.data.utils.transform - INFO - No config file has been provided. Using default transforms.
2023-08-18 17:11:58,870 - anomalib.data.utils.transform - INFO - No config file has been provided. Using default transforms.
2023-08-18 17:11:58,870 - anomalib.models - INFO - Loading the model.
2023-08-18 17:11:58,874 - anomalib.models.components.base.anomaly_module - INFO - Initializing PadimLightning model.
E:\AnacondaInstall\envs\anomalib_env\lib\site-packages\torchmetrics\utilities\prints.py:36: UserWarning: Metric `PrecisionRecallCurve` will save all targets and predictions in buffer. For large datasets this may lead to large memory fo
otprint.
  warnings.warn(*args, **kwargs)
2023-08-18 17:11:58,878 - anomalib.models.components.feature_extractors.timm - WARNING - FeatureExtractor is deprecated. Use TimmFeatureExtractor instead. Both FeatureExtractor and TimmFeatureExtractor will be removed in a future relea
se.
2023-08-18 17:11:59,106 - timm.models.helpers - INFO - Loading pretrained weights from url (https://download.pytorch.org/models/resnet18-5c106cde.pth)
2023-08-18 17:11:59,290 - anomalib.utils.loggers - INFO - Loading the experiment logger(s)
2023-08-18 17:11:59,290 - anomalib.utils.callbacks - INFO - Loading the callbacks
2023-08-18 17:11:59,294 - anomalib.utils.callbacks - INFO - Setting model export to openvino
2023-08-18 17:11:59,362 - pytorch_lightning.utilities.rank_zero - INFO - GPU available: True (cuda), used: True
2023-08-18 17:11:59,362 - pytorch_lightning.utilities.rank_zero - INFO - TPU available: False, using: 0 TPU cores
2023-08-18 17:11:59,362 - pytorch_lightning.utilities.rank_zero - INFO - IPU available: False, using: 0 IPUs
2023-08-18 17:11:59,362 - pytorch_lightning.utilities.rank_zero - INFO - HPU available: False, using: 0 HPUs
2023-08-18 17:11:59,362 - pytorch_lightning.utilities.rank_zero - INFO - `Trainer(limit_train_batches=1.0)` was configured so 100% of the batches per epoch will be used..
2023-08-18 17:11:59,362 - pytorch_lightning.utilities.rank_zero - INFO - `Trainer(limit_val_batches=1.0)` was configured so 100% of the batches will be used..
2023-08-18 17:11:59,362 - pytorch_lightning.utilities.rank_zero - INFO - `Trainer(limit_test_batches=1.0)` was configured so 100% of the batches will be used..
2023-08-18 17:11:59,362 - pytorch_lightning.utilities.rank_zero - INFO - `Trainer(limit_predict_batches=1.0)` was configured so 100% of the batches will be used..
2023-08-18 17:11:59,362 - pytorch_lightning.utilities.rank_zero - INFO - `Trainer(val_check_interval=1.0)` was configured so validation will run at the end of the training epoch..
2023-08-18 17:11:59,362 - anomalib - INFO - Training the model.
2023-08-18 17:11:59,370 - anomalib.data.mvtec - INFO - Found the dataset.....
2023-08-18 17:11:59,370 - pytorch_lightning.utilities.rank_zero - INFO - You are using a CUDA device ('NVIDIA GeForce RTX 3060') that has Tensor Cores. To properly utilize them, you should set `torch.set_float32_matmul_precision('mediu
m' | 'high')` which will trade-off precision for performance. For more details, read https://pytorch.org/docs/stable/generated/torch.set_float32_matmul_precision.html#torch.set_float32_matmul_precision
E:\AnacondaInstall\envs\anomalib_env\lib\site-packages\torchmetrics\utilities\prints.py:36: UserWarning: Metric `ROC` will save all targets and predictions in buffer. For large datasets this may lead to large memory footprint.
  warnings.warn(*args, **kwargs)
E:\AnacondaInstall\envs\anomalib_env\lib\site-packages\pytorch_lightning\callbacks\model_checkpoint.py:613: UserWarning: Checkpoint directory D:\Project\anomalib-main\results\padim\mvtec\bottle\run\weights exists and is not empty.
  rank_zero_warn(f"Checkpoint directory {dirpath} exists and is not empty.")
2023-08-18 17:11:59,548 - pytorch_lightning.accelerators.cuda - INFO - LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]
E:\AnacondaInstall\envs\anomalib_env\lib\site-packages\pytorch_lightning\core\optimizer.py:183: UserWarning: `LightningModule.configure_optimizers` returned `None`, this fit will run with no optimizer
  rank_zero_warn(
2023-08-18 17:11:59,552 - pytorch_lightning.callbacks.model_summary - INFO -
  | Name                  | Type                     | Params
-------------------------------------------------------------------
0 | image_threshold       | AnomalyScoreThreshold    | 0
1 | pixel_threshold       | AnomalyScoreThreshold    | 0
2 | model                 | PadimModel               | 2.8 M
3 | image_metrics         | AnomalibMetricCollection | 0
4 | pixel_metrics         | AnomalibMetricCollection | 0
5 | normalization_metrics | MinMax                   | 0
-------------------------------------------------------------------
2.8 M     Trainable params
0         Non-trainable params
2.8 M     Total params
11.131    Total estimated model params size (MB)
E:\AnacondaInstall\envs\anomalib_env\lib\site-packages\pytorch_lightning\trainer\connectors\data_connector.py:224: PossibleUserWarning: The dataloader, train_dataloader, does not have many workers which may be a bottleneck. Consider in
creasing the value of the `num_workers` argument` (try 8 which is the number of cpus on this machine) in the `DataLoader` init to improve performance.
  rank_zero_warn(
E:\AnacondaInstall\envs\anomalib_env\lib\site-packages\pytorch_lightning\trainer\connectors\data_connector.py:224: PossibleUserWarning: The dataloader, val_dataloader 0, does not have many workers which may be a bottleneck. Consider in
creasing the value of the `num_workers` argument` (try 8 which is the number of cpus on this machine) in the `DataLoader` init to improve performance.
  rank_zero_warn(
Epoch 0:   0%|                                                                                | 0/10 [00:00<?, ?it/s]E
:\AnacondaInstall\envs\anomalib_env\lib\site-packages\pytorch_lightning\loops\optimization\optimizer_loop.py:138: UserWarning: `training_step` returned `None`. If this was on purpose, ignore this warning...
  self.warning_cache.warn("`training_step` returned `None`. If this was on purpose, ignore this warning...")
Epoch 0:  70%|████████████████2023-08-18 17:12:11,404 - anomalib.models.padim.lightning_model - INFO - Aggregating the embedding extracted from the training set.                                | 7/10 [00:10<00:04,  1.55s/it, loss=nan]
2023-08-18 17:12:11,408 - anomalib.models.padim.lightning_model - INFO - Fitting a Gaussian to the embedding collected from the training set.
Epoch 0: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 10/10 [00:19<00:00,  1.93s/it, loss=nan, pixel_F1Score=0.650, pixel_AUROC=0.977]2
023-08-18 17:12:19,907 - pytorch_lightning.utilities.rank_zero - INFO - `Trainer.fit` stopped: `max_epochs=1` reached.
2023-08-18 17:12:19,907 - anomalib.utils.callbacks.export - INFO - Exporting the model
WARNING: The shape inference of prim::Constant type is missing, so it may result in wrong shape inference for the exported graph. Please consider adding it in symbolic function.
Warning: Constant folding - Only steps=1 can be constant folded for opset >= 10 onnx::Slice op. Constant folding not applied.
WARNING: The shape inference of prim::Constant type is missing, so it may result in wrong shape inference for the exported graph. Please consider adding it in symbolic function.
Warning: Constant folding - Only steps=1 can be constant folded for opset >= 10 onnx::Slice op. Constant folding not applied.
WARNING: The shape inference of prim::Constant type is missing, so it may result in wrong shape inference for the exported graph. Please consider adding it in symbolic function.
Warning: Constant folding - Only steps=1 can be constant folded for opset >= 10 onnx::Slice op. Constant folding not applied.
Traceback (most recent call last):
  File "tools/train.py", line 81, in <module>
    train(args)
  File "tools/train.py", line 66, in train
    trainer.fit(model=model, datamodule=datamodule)
  File "E:\AnacondaInstall\envs\anomalib_env\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 608, in fit
    call._call_and_handle_interrupt(
  File "E:\AnacondaInstall\envs\anomalib_env\lib\site-packages\pytorch_lightning\trainer\call.py", line 38, in _call_and_handle_interrupt
    return trainer_fn(*args, **kwargs)
  File "E:\AnacondaInstall\envs\anomalib_env\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 650, in _fit_impl
    self._run(model, ckpt_path=self.ckpt_path)
  File "E:\AnacondaInstall\envs\anomalib_env\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 1112, in _run
    results = self._run_stage()
  File "E:\AnacondaInstall\envs\anomalib_env\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 1191, in _run_stage
    self._run_train()
  File "E:\AnacondaInstall\envs\anomalib_env\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 1214, in _run_train
    self.fit_loop.run()
  File "E:\AnacondaInstall\envs\anomalib_env\lib\site-packages\pytorch_lightning\loops\loop.py", line 206, in run
    output = self.on_run_end()
  File "E:\AnacondaInstall\envs\anomalib_env\lib\site-packages\pytorch_lightning\loops\fit_loop.py", line 323, in on_run_end
    self.trainer._call_callback_hooks("on_train_end")
  File "E:\AnacondaInstall\envs\anomalib_env\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 1394, in _call_callback_hooks
    fn(self, self.lightning_module, *args, **kwargs)
  File "D:\Project\anomalib-main\anomalib\utils\callbacks\export.py", line 46, in on_train_end
    export(
  File "D:\Project\anomalib-main\anomalib\deploy\export.py", line 116, in export
    export_to_openvino(export_path, onnx_path)
  File "D:\Project\anomalib-main\anomalib\deploy\export.py", line 167, in export_to_openvino
    subprocess.run(optimize_command, check=True)  # nosec
  File "E:\AnacondaInstall\envs\anomalib_env\lib\subprocess.py", line 489, in run
    with Popen(*popenargs, **kwargs) as process:
  File "E:\AnacondaInstall\envs\anomalib_env\lib\subprocess.py", line 854, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "E:\AnacondaInstall\envs\anomalib_env\lib\subprocess.py", line 1307, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] The system could not find the file。
Epoch 0: 100%|██████████| 10/10 [00:21<00:00,  2.14s/it, loss=nan, pixel_F1Score=0.650, pixel_AUROC=0.977]

Code of Conduct

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

@ashwinvaidya17, can you try to reproduce this on your windows machine?

@kikyostudypython I tried it on my machine and the export is working fine. Can you try it agian on a fresh environment?

Closing this due to inactivity. Feel free to re-open if you still have this issue.

same problem both conda and pip installation


Update Random Battle

Reject Close Combat and High Jump Kick on all sets with special setup
If both options for the ability would be rejected, default to the better one instead of the worse one
Don't give Focus Sash to things with Leech Seed or with setup that doesn't boost speed (unless they have priority)
Don't let Zygarde-10% with sub have leftovers

CC isn't that bad on Special sets. I mean if you don't have a Special Fighting STAB, CC is good.

The idea is that you'd rather just have a Special Fighting STAB than have CC, and Close Combat + Calm Mind is counterproductive; we already reject CC + Bulk Up.

I kept the abilities change only. I'm not sure about the other stuff and I may want to do something else like give Zygarde-10 Aura Break (because level 73 Zygarde-10 is garbage and 79 might actually be usable).


Code Wrapper or Code Folder

Issue Type: Feature Request
Can you a feature where a group of code be collapsed and expanded.
VS Code version: Code 1.34.0 (a622c65b2c713c890fcf4fbf07cf34049d5fe758, 2019-05-15T21:59:22.738Z)
OS version: Darwin x64 17.7.0

This is already supported, pls see https://code.visualstudio.com/docs/editor/codebasics#_folding


[bug] proxyValidate and p3/serviceValidate are not compliant with CAS standard

In the CAS standard,
2.6. /proxyValidate specifies that /proxyValidate should accept both service tickets and proxy tickets.
2.8. /p3/serviceValidate specifies that /p3/serviceValidate should only accept service tickets.
however, in casdoor,
/proxyValidate only accepts proxy tickets, see https://github.com/casdoor/casdoor/blob/0c7b911ce773533c447c1cf39fe5b5653ffff752/controllers/cas.go#L66-L69,
and /p3/serviceValidate accepts both service tickets and proxy tickets, see https://github.com/casdoor/casdoor/blob/0c7b911ce773533c447c1cf39fe5b5653ffff752/controllers/cas.go#L80, /p3/serviceValidate calls CasP3ServiceAndProxyValidate without checking if the ticket is a service ticket.

@wzy9607 hi, can you make a PR to fix it?

OK

Fixed by: https://github.com/casdoor/casdoor/commit/0b859197da5ec7c675cbca319cda481a8cda0198


quick question regarding django channels

Hi would like to use django channel to my stack. at the moment am using haproxy infront of gunicorn. so I just scale by increasing the number of gunicorn containers. And when deploying there is zero downtime deployment since when one app server is down, the other haproxy is sending to the other gunicorn servers.
The question am asking using django channel. each web socket connection is connected to Daphne server. question is how to I run Daphne in a cluster , another question deploying code change in Daphne server means that it will close  the web_socket
Or rather I don't understand how the web socket connection is being persisted in django-channel and the web_socket connection be load_balanced
Is it possible to add haproxy in front of interface servers and if yes which service will be responsible of maintaining the web socket connection haproxy or interface server.

 The design of channels means that it scales pretty horizontally in this scenario.
Balancing WebSockets is a little different to balancing HTTP requests, as they're long-lived - to take a Daphne server out of rotation means you'll kill sockets currently connected to it. However, channels is designed with Daphne separate from the worker servers for this reason; when you change application code, you only need to reload the worker servers, leaving Daphne instances alone (and with open connections). The only time to ever restart Daphne instances is when you're upgrading the version of Daphne you're running or changing redis settings that Channels is using.

@andrewgodwin  thanks for your feedback. one last question.
If I use haproxy to route traffic to Daphne. is the websocket connection maintained in haproxy of Daphne. what happens if I restart haproxy and don't restart Daphne, will the web connection still be alive.
What am not getting is when a websocket request comes via haproxy its routed to the Daphne server. so that means if haproxy is restarted the socket will be restarted. am I right

Yes, you're right - an open WebSocket connection will be interrupted and closed if any part of the stack routing it at layer 7 is restarted (so HAProxy, Amazon ELB, Nginx, etc.)

cool, thanks now I understand. will write a blog once I have a sample project working.
django-channel and angular2 made in heaven.


spfx project upgrade seems to break gulp bundle --ship

Description
Firstly, not  sure if this a bug or indeed can be fixed easily with any file modifications.
Gone through the steps as listed in upgrade report and referenced in  Issue#1574  . See also my comments on the incorrect spfx version:
Enhancement: Extend SPFx project version detection with checking if .yo-rc.json and package.json are in sync issue #1488 .
Steps to reproduce
Went through the steps as listed in the upgrade report.
npm install
Expected result
The spfx project should be gulp bundle happy!
Actual result

Note: there might be some more steps as hinted at in the recommendations but this is a bit unclear IMHO 😐.
Environment
npm install -g @pnp/office365-cli@next
2.10.0-beta.4206056

Thanks for bringing this to our attention @westerdaled!

Which version of Node.js do you use?
Have you run npm dedupe after upgrading all packages? If not, could you please see if it helps?
In odd cases, I noticed that the previously existing lockfile leads to issues similar like yours. If npm dedupe doesn't help, could you try deleting the lockfile and running npm install again to see if that helps?

Sorry for the trouble.

Thanks for replying.  The irony, is I wanted to quickly  upgrade this project; so I could help out on those "good first issues", but I kept running into issues 😏. Note to self: run from away from elderly SPFx 1.2 project upgrades!
Anyway, Node version
* 10.15.3 (Currently using 64-bit executable)
Late last night, I created a local standalone  repo of the upgraded project .  @hugoabernier kindly   took a look at the remote master and I think, has now fixed the upgrade.  Will be interesting understand the process he went through, and see if this can be applied  to a version  of the  office365-cli .
I can test out your suggestions on a copy of the standalone repo to see how this compares with the work undertaken last night.

Thanks for bringing this to our attention @westerdaled!

Which version of Node.js do you use?
Have you run npm dedupe after upgrading all packages? If not, could you please see if it helps?
In odd cases, I noticed that the previously existing lockfile leads to issues similar like yours. If npm dedupe doesn't help, could you try deleting the lockfile and running npm install again to see if that helps?

Sorry for the trouble.
λ npm dedupe
up to date in 1.893s
found 0 vulnerabilities

after deleting pakage-lock.json and then running npm install

λ gulp bundle --ship
Build target: SHIP
[13:39:15] Using gulpfile D:\Dev\Pnp\Backup\PnPwork\react-application-regions-footer - attempt2 backup - Waldek\gulpfile.js
[13:39:15] Starting gulp
[13:39:15] Starting 'bundle'...
[13:39:15] Starting subtask 'configure-sp-build-rig'...
[13:39:15] Finished subtask 'configure-sp-build-rig' after 6.66 ms
[13:39:15] Starting subtask 'pre-copy'...
[13:39:16] Finished subtask 'pre-copy' after 42 ms
[13:39:16] Starting subtask 'copy-static-assets'...
[13:39:16] Starting subtask 'sass'...
[13:39:16] Finished subtask 'sass' after 131 ms
[13:39:16] Starting subtask 'tslint'...
[13:39:18] [tslint] tslint version: 5.12.1
[13:39:18] Starting subtask 'tsc'...
[13:39:18] [tsc] typescript version: 3.3.4000
[13:39:18] Finished subtask 'copy-static-assets' after 2.36 s
[13:39:18] Error - [tslint] error TS5023: Unknown compiler option 'include'.
error TS5023: Unknown compiler option 'exclude'.
[13:39:18] Finished subtask 'tslint' after 2.84 s
[13:39:22] Error - [tsc] tsconfig.json(6,5): error TS5023: Unknown compiler option 'include'.
[13:39:22] Error - [tsc] tsconfig.json(9,5): error TS5023: Unknown compiler option 'exclude'.
[13:39:22] Error - 'tsc' sub task errored after 4.36 s
 exited with code 2
[13:39:22] 'bundle' errored after 6.73 s
[13:39:22]
[13:39:23] ==================[ Finished ]==================
Error - [tslint] error TS5023: Unknown compiler option 'include'.
error TS5023: Unknown compiler option 'exclude'.
Error - [tsc] tsconfig.json(6,5): error TS5023: Unknown compiler option 'include'.
Error - [tsc] tsconfig.json(9,5): error TS5023: Unknown compiler option 'exclude'.
Error - 'tsc' sub task errored after 4.36 s
 exited with code 2
[13:39:23] Project spfx-yammer-footer version:0.0.1
[13:39:23] Build tools version:3.12.1
[13:39:23] Node version:v10.15.3
[13:39:23] Total duration:27 s
[13:39:23] Task errors:4
The build failed because a task wrote output to stderr.
Exiting with exit code: 1

Thanks for the info. Could you share the contents of your tsconfig.json file?

Hi yes,
tsconfig.zip
Note, this is from the repo that has all the changes applied as per the upgrade report.
I do have another version of the repo that  @hugoabernier and I worked on, which has addtional  changes retro fitted from a newly scaffolded #SPFx extension project.

OK, so the problem is with the include and exclude options. I've tripped a few times about it myself. Currently, they're nested in the compilerOptions property:
{
  "compilerOptions": {
    "inlineSources": false,
    "strictNullChecks": false,
    "noUnusedLocals": false,
    "include": [
      "src/**/*.ts"
    ],
    "exclude": [
      "node_modules",
      "lib"
    ],
    "target": "es5"
}

Instead, they should be on the same level:
{
  "include": [
    "src/**/*.ts"
  ],
  "exclude": [
    "node_modules",
    "lib"
  ],
  "compilerOptions": {
    "inlineSources": false,
    "strictNullChecks": false,
    "noUnusedLocals": false
}

Ah I see as in they should be outside compilerOptions  .Is this a recent bug as in affects 1.10.0 upgrades and not the earlier upgrades?

include/exclude was introduced to tsconfig.json in SPFx v1.6.0

@westerdaled if you're okay with it, I'll close this issue as there are no further actions on our end, ok?

@waldekmastykarz if the issue has been fixed, and tested on other samples then yes pls close.  I am happy to try the project upgrade again, if needed.

@westerdaled based on our exchange earlier I understood that there is no issue in the CLI itself and the issue was caused by the include / exclude properties being in the wrong place in your tsconfig.json file. Did I misunderstand it?

oK
When I generated the report ( prior to making any changes) the
tsconfig
{   "compilerOptions": {     "target": "es5",     "forceConsistentCasingInFileNames": true,     "module": "commonjs",     "jsx": "react",     "declaration": true,     "sourceMap": true,     "experimentalDecorators": true,     "types": [       "es6-promise",       "es6-collections",       "webpack-env"     ]   } }
Looks like this bunch  instruction confused me , and hence user error 🙄( doh!) .  Maybe if the generated upgrade report could group the compilerOptions together,  then the includes and exlcudes. Also Is there any schema intellisense that could be referenced to stop newbies like me making this sort of mistake?
{
  "compilerOptions": {
    "outDir": "lib"
  }
}

Update tsconfig.json include property:
{
  "include": [
    "src/**/*.ts"
  ]
}

Update tsconfig.json exclude property:
{
  "exclude": [
    "node_modules",
    "lib"
  ]
}

Update module type in tsconfig.json:
{
  "compilerOptions": {
    "module": "esnext"
  }
}

In the latest version we have released a new upgrade report format based on VS Code CodeTour (https://developer.microsoft.com/en-us/sharepoint/blogs/office-365-cli-2-10/). That reports points exactly where in code the particular change belongs. We have currently an issue with properly highlighting lines in JSON files but @hugoabernier is working on it (#1602) and hopefully we'll see some improvements in this area shortly. I wonder if this report would be more helpful for you.

Ah Yes, @hugoabernier  did give me a quick demo of that. Yes, being guided whilst making the changes will be great.

It would be great if you could give it a try and tell us what you think. Meanwhile, since there are no specific next steps, I'll close this issue. Thanks again for your input! 👏


Tekton pipeline run should support a params with an drop-down option

Feature request
There can be an option in tekton pipeline run where users can select a parameter value based on a drop-down menu.
Use case
Suppose, my tekton pipeline consists of multiple parameters in one of the parameters I am expecting the user to choose the list of components name from the drop-down instead of entering the component name manually.

this sounds like a UI/Dashboard issue?


Service instance profile configuration

This is a draft for adding support for profiles for service instances. The changes should not break any existing functionality. However, there could be more changes needed here. Since I'm unaware of most of the code, I stayed away from doing too many changes that may impact the existing code base.
I have removed the get_username_password method as it seemed to be used in only 2 places and replaced it with get_config that should handle data being passed from either __opts__, __pillar__ or env. It also looks for the esxi_host name if it is passed to the method.
I ran the test suite using VMware-vCenter-Server-Appliance-<IP_ADDRESS>00-19480866
I'm not particularly sure about the files under the states module. I have test cases failing for esxi and license_mgr in there and I cannot seem to figure out why. It could be my changes to conftest.py are incorrect.
Also, I don't have a vmc setup and all test cases failed related to that failed on my system. This is out of scope for me as I have no knowledge of this product.
Fixes #256
cc: @waynew

@waynew The PR is ready for another round of review. Once everything looks good, I'll also resolve the conflicts.

@waynew I have a few more changes I would like to contribute to the repo which I'm using in my organization, however, those greatly depend on this PR being merged into the main repo. I have also opened a few new issues stating the changes needed.
I'd only need help with the test cases, and I can keep contributing more changes every ~2 weeks as we are heavily dependent on VMWare deployments and we need this repo to provide all methods needed to make our automation work flawlessly.

I'm currently OOO, but I'll review this when I get back

I'm currently OOO, but I'll review this when I get back - should be the 30th or the 1st

Getting to take a look at this today - I also just opened a PR against your fork/branch to fix the docs build (which will probably fail here on CI in a few minutes).
Just resolved all the outstanding comments - looks like there was a pre-commit failure that also needs to be addressed.

@waynew I have made the changes for pre-commit issues.
Also, you are a day early :)

@waynew Do we have any ETA on this being added to the main branch? Because I'd like to get discussion rolling for other things I've been doing for the repo.

We've got the 4th holiday on Monday, and I still need to (re)set up my integration test infra. It may be Tuesday that I get to (re)review/test/merge this but probably more like Wednesday.

Please see https://github.com/saltstack/salt-ext-modules-vmware/discussions/282#discussioncomment-3069787 when you get a chance. I made some changes to my old branch regarding the configuration and it now works much better. Check: https://github.com/Onemind-Services-LLC/salt-ext-modules-vmware/commit/e99da6d6376c954167a07f84e2f6271a7e3cdf7c#diff-c0dea8f0e5a8ea3b0b1af9e1374080e9afe2a3740665c790d47b1a3ed77a4971R26
Happy holidays :)

@waynew did you get a chance to look into this?

@waynew Hey, I hate to bug you so much but I was hoping to move this forward so that we can work on several other ideas and fixes I have pending for this repo.

Can we discuss to move this forward? @waynew

@abhi1693 absolutely! Sorry it's been a while - I was OOO for VMware Explore and it's just been hectic in general around here. I'm settling things down a bit now so I should be able to get back to this and your other PR. I'm really liking what I'm seeing so far after refreshing a little bit. @joechainz and @chruck should also take a look at this PR and weigh in.

Okay, apologies once again for the wait - had a high priority item take over, but I'm looking at this right now :tada:

Okay, apologies once again for the wait - had a high priority item take over, but I'm looking at this right now :tada:

Thanks. Before you merge please make sure you review this as well https://github.com/saltstack/salt-ext-modules-vmware/pull/258#issuecomment-1172930931


Update first-app.md

@yuval-hazaz hi, apart from completing the first edit of this file, am wondering about the link from the previous commit. I see in the current file that the anchor was removed from the  ## Add Entity Fields heading, while in the link syntax the second part follows the initial anchor syntax I had used 'add-entity-fields'. Here's the complete link:
Add Entity Fields section above
Two Qs: the syntax specified in https://developers.google.com/style/headings-targets doesn't apply to Docusaurus implementation? And the second question is if there's no need for an anchor, what's the syntax for referring to an existing heading? thanks!

@yuval-hazaz hi, apart from completing the first edit of this file, am wondering about the link from the previous commit. I see in the current file that the anchor was removed from the ## Add Entity Fields heading, while in the link syntax the second part follows the initial anchor syntax I had used 'add-entity-fields'. Here's the complete link:
Add Entity Fields section above
Two Qs: the syntax specified in https://developers.google.com/style/headings-targets doesn't apply to Docusaurus implementation? And the second question is if there's no need for an anchor, what's the syntax for referring to an existing heading? thanks!

The syntax described in the link you shared is not needed (and if I am not mistaken it is even not supported)
All headers in markdown (at least in docusourus, there are too many "flavors" for MD) get an automatic anchor so you don't have to add it manually.
Go to this page and use your mouse to hover any of the headers, or just click any of the headers
https://docs.amplication.com/docs/getting-started/
you will see that all headers have an auto-generated anchor with an ID based on their content

Thanks @yuval-hazaz  for trying to explain, but I'm left puzzled. I see that the link syntax converted automatically to a link so I'll try again:  while in the link syntax the second part follows the initial anchor syntax I had used 'add-entity-fields'. Here's the complete link:
[Add Entity Fields section above](#add-entity-fields)
בוא אחדד את השאלה: כיוון שאתה מחקת את העוגן ששתלתי בכותרת, ובכל זאת התחביר של אותו עוגן נמצא בשימוש בקישור עצמו (הדבקתי כדוגמת קוד), לא מבינה איך מנגנון הפקת הקישור ידע לזהות שהכותרת המתאימה למילות הכותרת המופרדות עם מקפים שאני הוספתי היא זו ללא המקפים?

There is a specific syntax for the auto-generated anchors, something like this:

Make all lowercase
Remove anything that is not a letter, number, space or hyphen, like :, ', etc
Change any space to a hyphen.

The best way for you to learn this - is to have a look at the headers of an existing document and click on the headers and then look on the URL of the browser

@yuval-hazaz  the only problem with this method is that the topic has to be generated for the browser to display the auto-generated anchor. I'll use the guidelines you provided above and if the link doesn't work it'll required troubleshooting.
So that's it with that question, thanks :)
You wrote:

in the new version released yesterday, there were changes in the flow and the controls on the screen. After merging (now) - I will create a new Pull Request on the latest version of this document with all the needed changes for the new version

So I'm waiting for that PR to continue.


Callback requires unecessary refinement

This errors:
(try flow)
/* @flow */

type garden = 'garden'
type meal = 'meal'

type gardener = {
  klass: 'gardener',
  responsibilities: garden[]
}

type chef = {
  klass: 'chef',
  responsibilities: meal[]
}

type person = (gardener | chef)

const greyHairs = (p: person) => {
  return p.responsibilities.map( _ => 1 );
}

I understand (from #6464) that the call to map invalidates the type of _ inside the callback, but I thought Flow wouldn't complain unless there's some use of the typed variable that has the potential to throw JS errors (?).
It's fixed it by refining the disjoint union right before the call to map, but adding this doesn't actually give any more assurance about the types than having p typed as person in the first place.
In case using map this way seems unmotivated, it's true that in my actual use case the callback references the array elements. But it just passes each into a function which accepts (garden | meal). Refining also fixes that case, though again there's no functional difference.

I imagine this is because Flow can't assign types to a disjoint union's properties until it's been refined to a non-union type? I assumed Flow would infer .responsibilities's type to be (garden[] | meal[]).
If that's the case, the first example just needs .responsibilities to be treated as mixed[]. In my use case, where actually type meal = (garden | otherType), it just needs to simplify (meal[] | garden[]) to meal[].

Now it seems to work.


mfoc: 0.10.6 -> 0.10.7

Motivation for this change
Package refresh and

one less SHA1 hash
one less fetchurl on GH archives
one less in-tree patch

Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-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] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

cc @offlinehacker


Dimensions

A decision has to be made, on how many people the to be planned sanitary module and energy module
has to support. It's crucial to the planning of the dimensions of its utilities. As Adi and Michi plan to live there, it has to support at least 2 people permanently, so I would suggest to plan for at least 5 person living there permanantly, to take peaks due to visit as well as long term guests into account. Of course: the bigger, the better, but especially with high energy demands costs increase.

There are three container sizes, that are practical 2.5m (10"), 6m (20") and 9m (30"). Maybe we should think the other way around. Like, how many people can it support, if its a Xm container. Also how many people a container can support is also dependent on the tech we gonna use. But I agree 5 should be the minimum, better 10 😉.
@mauricebasement We could buy a container right now, I think, we should talk in more detail about the dimension requirements. How about today?

I also think the electricity use of 5 People is minimum. But the System would need to be "replicable" anyway. Dimension requirements automaticly boil down to the question of what technology we will use. If we "replicate" some technology ourselves, the size of the thing is hard to guess, but i think the first step should still be, deciding on technology and Products, so we have the measurements. Yes lets talk today

Here are some good examples from the sketchup Library.
Solar Water purification Container Model
ISO 10" Container
[ISO 20" Container] (https://3dwarehouse.sketchup.com/model.html?id=u5f0e751b-dce7-4f06-8398-f277adf025d5)
[ISO 45" HighCube Container] (https://3dwarehouse.sketchup.com/model.html?id=u5f44701e-525d-41ae-b7c5-4a03c6cf6ff3)
I have made a demo 30Days SketchUp account. There was recently a friend of Nina visiting (Gladys), who leared to use Sketchup and other tools when she studied architecture in the Dominican Republic. She is also avaliable to make exact plans for us if we deliver the measurements of the Interieur and the container size. Already made som quick tests with her.

@michaelseverin bought detailed CAD Models of all shipping containers. For the "energy cell" we bought a 20 feet container.


Change imports of code.google.com/p/goprotobuf/proto to github.com/golang/protobuf/proto ?

The page at https://code.google.com/p/goprotobuf/ says that the project has been moved to github: https://github.com/golang/protobuf They modified the package name during the move from goprotobuf to just protobuf.  Looks like it moved about a month ago.

Done. 63f232638e7ed454705e23d5ddbfec493b0b407f


Refactor the backend interfaces for multi-networks

Make backends be aware of multiple networks but creating
a separate backend.Network interface.
Also fixes bugs related to flannel exiting and networks
being deleted.

This is not yet ready for merge but seeking feedback on the new interfaces.
@dcbw PTAL

@eyakubovich Looks great from 10,000ft; I'll rebase our stuff on top of it today and see if I can shake anything out, especially with the parseNetworkConfig() changes.

One thing I noticed; hostgw has a 'networks' map, but a network never gets removed from the map.  We need to do the same thing in the ovs backend since UnregisterNetwork() is now gone.
I can work around this by passing a channel to each backend network subclass that the backend itself selects on, but there are two problems.  First, when flannel exits and cancels the context, the backend gets canceled before it can read all the events from the "network is canceled" channel and clean things up.  Second, we need to use nonblocking channel operations with select/default.
Seems that UnregisterNetowrk() would be simpler for all backends, but if you don't want it for some reason it's not hard to implement in other ways.

@dcbw You're right that there's basically no cleanup in the backends -- that should be improved. My general strategy for cleanup was going to be:
type network struct {
    name string
    be *backend
}

func (n *network) Run(ctx context.Context) {
    <-ctx.Done()
    // or use select to detect ctx.Done() getting closed
    n.cleanup()
}

func (n *network) cleanup() {
    be.removeNetwork(n.name)
}

RegisterNetwork would set a pointer to the backend in the network struct.
The reason I don't want UnregisterNetwork is because it doesn't play nice with context.Context (which, for better or worse, is now throughout flannel). Consider an interface like
type Backend interface {
    RegisterNetwork(ctx context.Context, ...) Network
    UnregisterNetwork(ctx context.Context, ...)
}
type Network interface {
    Run(ctx context.Context)
}

Let's think though what UnregisterNetwork would do. It would need to stop the network which would mean Run would exit. But that's the job of ctx! And how would you implement it? You would need to pass in some channel or Context into Network so Run could select on it. It's more context idiomatic to just pass it as first arg to functions that need to be interruptable.
BTW, UnregisterNetwork() would need to not accept Context as otherwise we have a function whose job is to interrupt but is itself interruptable.

@eyakubovich I'm fine with the be.removeNetwork() strategy; after prototyping that I don't see any problems on my end.

@MohdAhmad Can you also take a look please

LGTM


Table with plot legend

Let's use one legend to represent the 95% confidence interval, with dashed lines at .025 and .975 quantiles

https://github.com/HydrologicEngineeringCenter/HEC-FDA/blob/3484605c2da02a7080dce50d7453c2c320cb0e4e/ViewModel/TableWithPlot/Rows/NormalRow.cs#L27

line styles:
https://github.com/ylatuya/oxyplot/blob/master/Source/OxyPlot/Foundation/LineStyle.cs

https://github.com/HydrologicEngineeringCenter/HEC-FDA/blob/main/ViewModel/TableWithPlot/Rows/Attributes/DisplayAsLineAttribute.cs[](https://github.com/HydrologicEngineeringCenter/HEC-FDA/blob/main/ViewModel/TableWithPlot/Rows/Attributes/DisplayAsLineAttribute.cs)
github.com
HEC-FDA/DisplayAsLineAttribute.cs at main · HydrologicEngineeringCenter/HEC-FDA
Contribute to HydrologicEngineeringCenter/HEC-FDA development by creating an account on GitHub.
this is the class you need to update.. add a property (and add it to the constructor with a default of "solid")
add a property called LineStyle
as a string
there is some code somewhere in table with plot view that looks for the display as line attribute
i dont remember where, and im not findng it at the moment, maybe brennan.beam remembers where it is


Attention Model

Any ideas on how to incorporate attention model from http://pytorch.org/tutorials/intermediate/seq2seq_translation_tutorial.html ?

Every PyTorch implementation of the attention model I have come across uses encoder-decoder architecture adds attention model to the decoder. Is it possible to have attention in your implementation?


Questions about style transfer

Hi teams!
Thanks for sharing your code and excellent work at first! I have tried your sampling code on my GPUs and got great outputs. I'm wondering whether your model can produce the outputs, which has the same texture shape of inputs but get colorized as reference pictures style?  I have tried big N (e.g.,N=64) as you mentioned in the paper which can preserve only the coarse aspect (e.g., color scheme) of the reference but didn't get a good performance. So could I ask you any ideas to solve this problem?
(What I have done so far: I used image_train.py and domain A datasets(256x256) to train the model ema_0.9999_010000.pt. And then use some 256x256 images in domain B with big N to generate outputs.)
Thanks in advance!

I think you need to train the model longer. While I cannot guess your dataset and batch size, 10000 training steps seems too short. Try with a model trained with at least 400000 training steps

Hi, I wanted to ask did you end up with good texture features in the style transfer?


Snapshot prune feature & snapshot revert improvement

https://github.com/longhorn/longhorn/issues/3613
https://github.com/longhorn/longhorn/issues/3748

@shuo-wu Please update the dep because https://github.com/longhorn/sparse-tools/pull/80 has been merged.

@shuo-wu LGTM, please help resolve the conflicts before merging.

2 fixes for the integration failure:

Now the replica will reload the snapshot from the backup full restore. This guarantees that the snapshot is in the disk chain before the reverting start.
Return error if the target snapshot does not exist or is not in the replica disk chain


seed-bootstrap-fade: Add documentation

https://github.com/helpscout/seed-bootstrap-fade

Resolved!


Enable storing queries in JSON

Allow query information to be serialized to/deserialized from the MolInterchange JSON format.
Instead of modifying the commonchem schema, this stores the query info in an RDKit-specific representation

@greglandrum this will take me a day or two to go over.

Sure, no problem.


Update approximate percentile documentation

Signed-off-by: Andy Grove<EMAIL_ADDRESS>The compatibility guide was out of date and had an incorrect setting for enabling ApproximatePercentile on the GPU.

build


Why GitTorrent?

Perhaps more of a wiki FAQ - Shouldn't all websites be decentralized? I would think that this goes beyond the scope of GitHub only, more like Web 3.0. Couldn't this be achieved using WebRTC? What are the main benefits for connecting this to the blockchain? It would be useful to have something like this to develop new web apps as well...

Sure, we could start an FAQ.

Couldn't this be achieved using WebRTC?

Not easily; WebRTC needs signaling (offer/answer exchange) before peers can talk to each other, which introduces centralization.  Once we have a DHT that works with WebRTC we could try it out.

What are the main benefits for connecting this to the blockchain?

Usernames.  (.. that work like GitHub's; a single shared namespace.)

WebRTC

Did you mean in browsers rather than Node, btw?  The reason I haven't pushed trying to get this to work in browsers (other than the lack of WebRTC DHT) is that I don't know what I would do with a Git repo that I cloned into a browser.

@ThreaT  there is startup in Scotland trying to build something where you can develop (web)apps on: http://maidsafe.net/
They do not use blockchain technology (at least not for the network part) nor webrtc. But I did not have the time to thoroughly look through their (papers)[http://maidsafe.net/documents]
@cjb Thanks for this great project!

@Liamsi Good call. I have been following maidsafe for some time as well. @cjb Have you considered building this using maidsafe?

I don't know much about Maidsafe, Ethereum or IPFS and all seem like they have relevant ideas.  If anyone knows more about them and can explain how the GitTorrent design might fit together with them I'd be happy to chat about it (perhaps on IRC).

cc @ioptio

@cjb

The reason I haven't pushed trying to get this to work in browsers (other than the lack of WebRTC DHT) is that I don't know what I would do with a Git repo that I cloned into a browser.

One scenario could be the general lack of community integration on GitHub. If I want to draw attention to a particular repository or pay to get work done on an open source repository, I can't really flag the repository for the community to find.

Ah, but you don't need to have cloned the repository itself into the browser to do that.
It sounds like this use case could live on a Secure Scuttlebutt stream if we end up using that to host issues and pull requests.

cc @jasonrudolph

perhaps add a section comparing and contrasting to gitchain? thanks.

it'd be great to have a FAQ.mdwn in the repo. :)

Shouldn't all websites be decentralized?

You're looking for http://ipfs.io/ for that, really. This is just about git. :)

perhaps add a section comparing and contrasting to gitchain?

Also https://code.google.com/p/gittorrent/

Tag as 'question' and close?

Sure.

Can someone summarize the Q&A from this thread in the wiki FAQ? I'm not sure I am qualified to do it due to my superficial understanding of the concepts involved.


Create level30wilderness

My plugin is a very simple plugin which does the following:
Between Level 30 Wilderness and Level 31 Wilderness there is now a blue line when the plugin is enabled
There is currently no config or settings to change, and when the plugin is disabled the blue line is removed
The purpose is to see where you can activate certain teleports from

unsure what i did wrong as the plugin works on my end


fix(tasks/prettier_conformance): fix incorrect casing in README

tasks/prettier_conformance is snake-case not kebab-case 😄

Oh it's actually no longer required ... hold on.


⚠ Fortnite has degraded performance

In f197d13, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1591 ms

Resolved: Fortnite performance has improved in 1761463.


Displaying the bounding boxes in rviz

Hallo,
Can the baunding boxes which are specified in pixel be displayed in nrviz?
Or is there the possibility to infer the meters from the pixels?

Thanks for the help.

Hallo,
Can the baunding boxes which are specified in pixel be displayed in nrviz?
Or is there the possibility to infer the meters from the pixels?

Thanks for the help.

I run yolov3 successfully, but I can't run yolo(AB)

Object detection works in the image space: the 2D plane of RGB pixels that makes up an image.
The bounding boxes are defined in pixels too. There is no trivial way to convert these points in image space to coordinates in the 3D world.
Estimating real-world coordinates from features in images is a lively topic of research though. There might be papers that discuss this topic.


Discussion: Add a default template for a Basic\Beginner Module Template.

I wanted to get more discussion going on this. This is a quick example of what I was speaking to you about at the MVP Summit @rkeithhill
I have spoken with a large number of people in the PowerShell community that have loved Warren Frame's example of a module structure that he has shared here: https://ramblingcookiemonster.github.io/Building-A-PowerShell-Module/
I found that structure when I was trying to figure out the best way to build a module and it immediately made sense to me. I think it is a great structure for those learning.
The basic structure is the following:
Module\

Public\                                         (Public function scripts that get exported)
Private\                                        (Private function scripts that do not get exported)
en-US\about_Module.help.txt
Module.psm1
Module.psd1

The psm1 might look something like the one in the link above. The example below could be augmented by comments explaining how the Public and Private folders work.
$Public = @(Get-ChildItem -Path $PSScriptRoot\Public\*.ps1 -ErrorAction SilentlyContinue)
$Private = @(Get-ChildItem -Path $PSScriptRoot\Private\*.ps1 -ErrorAction SilentlyContinue)

# Dot Source Functions
Foreach ($import in @($Public + $Private))
{
	Try
	{
		. $import.fullname
	}
	Catch
	{
		Write-Error -Message "Failed to import function $($import.fullname): $_"
	}
}

Export-ModuleMember -Function $Public.Basename

Another option might be to just have a psd1 and psm1 and not even have the Public and Private folders. This could also be added as an option to the Manifest.
A user might feel overwhelmed with all of the options the Current template has to offer. I think having a default pair of a Basic and Advanced might be a good way to make Plaster more inviting to those learning. I think Plaster is a great tool that can be used to help people learn PowerShell, but I want to avoid people thinking it is too complicated and shy away from it. I think a very basic structure with just a few options might be a great way to start.
Some of the options I felt might be ones that might potentially be worth including are the following:

Description
ModuleName
FullName
License (Default No, but maybe even exclude this one?)

There are other options that could vary as well.
Here is an example of a basic/beginner template Manifest
<?xml version="1.0" encoding="utf-8"?>
<plasterManifest
    schemaVersion="0.4" xmlns="http://www.microsoft.com/schemas/PowerShell/Plaster/v1">
    <metadata>
        <name>NewBasicModule</name>
        <id>a9510370-d50b-4d9c-8ec6-2d87893af59e</id>
        <version>0.1.0</version>
        <title>New Basic Module</title>
        <description>Scaffolds the files for a Basic PowerShell Module</description>
        <author>Brandon Padgett</author>
        <tags>Module, ModuleManifest, Beginner, Basic</tags>
    </metadata>

    <parameters>
        <parameter name='ModuleName'
                   type='text'
                   prompt='Enter the name of the module'/>

        <parameter name='ModuleDesc'
                   type='text'
                   prompt='Enter a description of the module (required for publishing to the PowerShell Gallery)'/>

        <parameter name='FullName'
                   type='user-fullname'
                   prompt='Enter your full name'
                   store='text' />

        <parameter name='License'
                   type='choice'
                   prompt='Select a license (see http://choosealicense.com for help choosing):'
                   default='0'
                   store='text'>
            <choice label='&None'
                    help="No license."
                    value="None"/>
            <choice label='&Apache'
                    help="Adds an Apache license file."
                    value="Apache"/>
            <choice label='&MIT'
                    help="Adds an MIT license file."
                    value="MIT"/>
        </parameter>
    </parameters>

    <content>
        <message>

Scaffolding your PowerShell Module...

</message>

        <newModuleManifest destination='${PLASTER_PARAM_ModuleName}\${PLASTER_PARAM_ModuleName}.psd1'
                           moduleVersion='$PLASTER_PARAM_Version'
                           rootModule='${PLASTER_PARAM_ModuleName}.psm1'
                           author='$PLASTER_PARAM_FullName'
                           description='$PLASTER_PARAM_ModuleDesc'
                           encoding='UTF8-NoBOM'/>

        <file source='src\Module.psm1'
              destination='${PLASTER_PARAM_ModuleName}\${PLASTER_PARAM_ModuleName}.psm1'/>
        <file source=''
              destination='${PLASTER_PARAM_ModuleName}\Private'/>
        <file source=''
              destination='${PLASTER_PARAM_ModuleName}\Public'/>

        <templateFile condition="$PLASTER_PARAM_License -eq 'Apache'"
                      source='license\Apache.txt'
                      destination='LICENSE.txt'
                      encoding="UTF8-NoBOM"/>
        <templateFile condition="$PLASTER_PARAM_License -eq 'MIT'"
                      source='license\MIT.txt'
                      destination='LICENSE.txt' />
        <templateFile source='en-US\about_Module.help.txt'
                      destination='${PLASTER_PARAM_ModuleName}\en-US\about_${PLASTER_PARAM_ModuleName}.help.txt' />

        <message>

Your new PowerShell module project '$PLASTER_PARAM_ModuleName' has been created.

        </message>
    </content>
</plasterManifest>

I see Plaster as a tool I can use to teach someone how to start writing modules. You can have them install Plaster, and invoke a default template to immediately get started. The build portions are just way too complex for that scenario. Having a good starter template as a default lowers the barrier to entry for beginners.
I am not quite sure what the naming scheme should be, but it could be something talked about if this is decided to be a worthwhile addition to Plaster.
I have this Template created and played around with it to create a few examples.

This sounds like a really good approach, both as a teaching exercise and to bolster the available help with examples that can just be used straight away to get going. This is especially true since the current module template is (imo) targeted more towards users working with PowerShell on a daily/regular basis.
There should definitely be templates like this to make it easier to both teach (and learn) both PowerShell and specific techniques that can be used to assist in developing modules and I'm definitely in favour of a quick start ready to go template, although I think for some types of examples, this is the value of the planned search/download Plaster template commands, which will greatly simplify getting and using templates.

@davegreen I know a lot people who work with PowerShell on a daily basis and still don't use git. I think the included template currently is for much more advanced users that already have a lot of experience with these tools. I would even go as far that it would be over the head of many PowerShell MVPs who have not worked with this sort of pipeline before. It would be overwhelming for most users, which is why I think another option with a less Dev feel to it would be very helpful addition. Then as those users start to learn more and get a hang of things, they can start to branch out and look at the different parts of the more advanced template.
I think an easy, beginner module template makes sense as one of the default options since it lowers the barrier for newer users of powershell to start using Plaster without figuring out how to find new templates. If you are new to the idea of Plaster and have not used Yeoman or the other frameworks, I can see the advanced template being too overwhelming since they are just trying to get an understanding of what Plaster actually is. Trying to the figure out all of the intricacies of the build script and the large number of steps involved in it might push new users away. I have some other templates that I may submit as examples, but wouldn't expect them as default templates. When the support for embedded templates in modules is added I would just add them to the gallery in an existing module or standalone template.
The way I was looking at it, if you really only wanted default support for one module template, it's better to go with the most basic one that the largest number of people can use and get benefit from. Those who can use the more advanced templates, should easily be able to find the more advanced templates or might want to make their own. However, if you are newer to powershell, you might not know how to use the gallery, understand the Gallery categories, or something like that, so an easier default would make sense. However, I dont think that is necessary either and don't see why you couldn't have more than one default template for modules.

I think the included template currently is for much more advanced users that already have a lot of experience with these tools.

We are going to create a very simple Module template.

Trying to the figure out all of the intricacies of the build script and the large number of steps involved in it might push new users away

We have decided not to copy any build script into the user's folder.  We haven't decided where we will put the build script.  It could be in Plaster but more likely in another module that depends on psake.  This will allow us to provide updated versions of the build script without breaking anybody because we will maintain older versions of the build script.
I would also add that we do not expect "average" PowerShell users to trawl through the build script.  I've been using the MSBuild-based build system in Visual Studio since it came out in Feb 2002.  I never think about all the stuff those msbuild targets files do internally. They just work.  It's nice!  Back in the 90's we had to mess around with makefiles a lot and that was a bit of a drag.

@rkeithhill I guess I am just so used to these not being a one size fits all. I typically find I have to add custom steps or change steps here or there. Certain integrations might require the user to actually go in and edit certain aspects in order to add something new.
One example for me would be wanting to use ReadtheDocs to host my markdown help files as a webpage, I likely have to change the directory layout of my markdown help slightly, which might also break the build script.
The build settings file and module sounds very interesting though.  I think there is a ton of potential to have a build module that abstracts a lot of the work away. Especially if it is made extensible. That was one of my favorite parts of PSDeploy. You could pretty easily add new support for other types of deployments, but I always thought it had much more potential than just deployment, and felt things like Pester, ScriptAnalyzer and all of those sorts of tasks could easily be handled as well. Which would give the user a nice DSL to see all of the configuration for the build.

Great feedback!  Like Keith said, we're going to promote the build script to its own module.  Since the complexity will end up being hidden inside of the module, we might be able to do allow people to add new tasks to it over time or make it easy to add new tasks outside of the original script.  The Before/After hooks would make this pretty easy.
For the basic in-box template, I think it might be generally useful to have an option for generating an initial Pester test file.  I also think it might be cool if we could optioanlly generate an appveyor.yml file which will give the user a simple CI integration.  What do you think?

Having a CI file created automatically would be nice. I use Jenkins, GitLab CI, and Appveyor so I added a prompt to my Plaster template asking which to use.
My personal belief is the more Plaster does for the module author the more time can be spent on writing the actual module. That being said, you guys made it easy for the community to step in and provide other templates if you choose not to include the appveyor.yml.

@ngetchell I've added appveyor and a few other things to my personal one, but I'm still trying to figure out how to properly handle CI/CD with the build script. How are you handling it?
Since appveyor is triggered at commit or pull request, any changes or tasks that happen during the build script in appveyor are now out of sync with your local and git repository. Say you update and build help, sign scripts, update psd1, update ReleaseNotes/changelog and other things like that, could cause potential problems since that is happening after the commit.
It makes me a little scared to publish via appveyor, what of building your help or updating psd1 randomly failed but didn't trigger any tests, and gets published during the build. Your wouldn't have the problem checked onto your repo so could make debugging a nightmare.

I see the changes after the commit as things I wouldn't want in a commit anyways. I don't want simple changes in a PSM1 generating large changes in my git history which is what would happen if I signed my work before committing.
I also merge all of my PS1 files into one big PSM1 but hate developing against one giant file. I'm fine with the PSM1 being generated only through my CI build process.
You can then make sure your checks run after your build process. Merge the functions into one file, sign the files, generate the help, etc THEN run my pester tests.
If your build process is deterministic you shouldn't have too much issue debugging.   Is that for performance reasons or deployment simplicity?

A very basic PowerShell module template has been created.  And I mean very simple.  I'm going to close this issue.  If you find issues with the new template, submit a new issue.


Creating orcids

Obviously the idea of this is not (just yet) to support things like using the Member API to create ORCID-s. I, however, am working on just such a thing in Python, with explicit focus on record creation. It seems better to integrate this kind of thing into an existing library.
I wanted to check whether support for record creation was planned or already in the works before forking though.

I am not sure why there is an error.

orcid\rest.py", line 101, in _load_works
+ '/orcid-works', headers = BASE_HEADERS)
TypeError: cannot concatenate 'str' and 'NoneType' objects
Would you mind having a look?
Thanks!


Added @typedef for PathData

What kind of change does this PR introduce?
Fixes #14858 : added @typedef for PathData

Did you add tests for your changes?
No, no tests are needed.

Does this PR introduce a breaking change?
No.

What needs to be documented once your changes are merged?
Nothing.

Thanks


Propagate annotations from namespace to pods for metadata enrichment

Description
In a previous PR we already fetch custom rules that define which namespace annotations and labels should be copied to the pod. This PR actually copies the metadata.
Jira

How can this be tested?

Setup in the same way as in #3327.
Add labels to the namespace
Create dynakube with enabled metadata enrichment
Create test pod and check if metadata enrichment annotations exist

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 96.00000% with 1 line in your changes missing coverage. Please review.

Project coverage is 58.35%. Comparing base (83801f6) to head (ceb9c6c).

Files
Patch %
Lines

pkg/api/v1beta2/dynakube/dynakube_status.go
0.00%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3386      +/-   ##
==========================================
+ Coverage   58.30%   58.35%   +0.05%
==========================================
  Files         334      334
  Lines       18686    18710      +24
==========================================
+ Hits        10895    10919      +24
  Misses       6567     6567
  Partials     1224     1224

Flag
Coverage Δ

unittests
58.35% <96.00%> (+0.05%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

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


Improve intersections in some cases by extending untrimmed road edges…

… a bit. #136
I'm not sure we should do this. But just to discuss the idea...
seattle_slip_lanes improves:

Though this is a weird case, because got overlapping intersections, or very nearly.
aurora_sausage_link reveals an interesting problem.

It's OK before, but we create less minimal intersections, and then the road doesn't meet the intersection cleanly. Because the trimmed back center is right on a slight curve, when we project left and right, the miter/bevel/whatever join acts a bit differently.
Is this an idea worth pursuing and refining? I'm more tempted to focus on something like seattle_slip_lanes where it gets us a bit closer to something good, but keep focusing on this one test case and figure out everything needed to make it look better.

Don't think this is as relevant an idea now, closing


Improve joke

move jokes.json to data/* , modules should only contain major functionality of bot

Thanks @badmon! :+1:
I was thinking along these lines too. :smile:


ansible: rebrand test-osuosl-aix715-ppc64-[1,2]

as test-osuosl-aix72-ppc64-[5,6]

Checklist

[x] commit message has one of the standard prefixes
[ ] faq.md updated if appropriate
[ ] other documentation is changed or added (if applicable)
[ ] playbook changes run through VPC or QPC (if you have access)
[ ] VPC/QPC not applicable for this PR
[ ] for inventory.yml changes, bastillion/nagios/jenkins updated accordingly

@steelhead31 Do the hostnames need to be updated in nagios?


.ready is resolved too fast when using jQuery

.ready gets resolved to fast when we are using jQuery.
In _pageMaker you resolve promise before onLoadFinished event is triggered and in its callback we inject jQuery.

If you see how to fix it, you could submit a pull request. Then I would be sure what you mean.

Closing since there has been no activity, and I am not sure what was being described.


fixing typo README.md

Hello, I am a code review agent on flows.network. Here are my reviews of changed source code files in this PR.


LogicApps designer slow

Describe the Bug with repro steps
Trigger: Scheduled flow

Get rows from SQL
For each row from SQL
Get a row from SQL
Add row in Microsoft Dataverse

The designer mode is unbelievable slow, not able to modify Logic App through designer mode at all.
What type of Logic App Is this happening in?
Consumption (Portal)
Are you using new designer or old designer
New Designer
Did you refer to the TSG before filing this issue? https://aka.ms/lauxtsg
Yes
Workflow JSON
No response
Screenshots or Videos
No response
Browser
Microsoft Edge, Google Chrome
Additional context
No response

Is this the only steps you have? Can you tell us more about the full workflow? How many actions? What kind of computer are you running on? We definitely want to make sure we are able to address any performance issues but with just the steps you described, I'm not able to see any issues.


Create a CONTRIBUTING.md file

Create a CONTRIBUTING.md file to formulate the process of adding contributions to this repository as part of open source.

@aakzsh  Sure! please assign it to me

done, let me know if you have any doubts

solved by PR #11


Only display h1 headings in sticky side nav. Toggle display of detail…

…ed TOC at top of page. Introduce return to top button for small screens.

I think the back to top button is not needed. There is a plugin for that. People with the plugin enabled will end up with two back to top buttons...

The return to top button in this case is an essential part of the navigation. On small screens, the sidebar table of contents do not work properly, and for that case, the reader must be able to return to the top table of contents easily since that is the only navigation menu. Having two back to top buttons is not such a bad thing (some might even like that since one is at the bottom of the screen), but more importantly I think that core should not be hindered unnecessarily by addons, especially unofficial addons.

It's official: https://github.com/redmatrix/hubzilla-addons/tree/dev/b2tbtn


[cpp-netlib] Add new port

The related issue #1248.
This port only supports static library linkage.

This port failed on uwp that is expected as it doesn't currently support uwp.

Thanks Nancy!


nuget publication

Hi,
This is a terrific library, and I needed to be able to consume it via nuget instead of direct dll build.
I forked the project and changed the nuget settings to publish it to BrewedInk.LibKTX, https://www.nuget.org/packages/BrewedInk.LibKTX/#supportedframeworks-body-tab.
To do this, I had to create a nuget account, create an API key, and then set that API key in my fork's github secrets.
I know this PR cannot be accepted directly as is, but I hoped it would serve useful to the maintainer of this project if they want to set up a nuget distribution helper on their own.

fantastic, thank you!

I'll see if I can delist my package, to hopefully avoid confusion later


Revert "desktopToDarwinBundle: use imagemagick_light"

Changing desktopToDarwinBundle to use imagemagick_light is a breaking change. imagemagick_light does not support png, which causes any package with png icons to fail to build. In particular, this affects inkscape and gimp, which are Darwin channel blockers.
I am targeting staging-next #281828 because this change has not yet hit master. There are no builds yet on Hydra since this is a new cycle, and builds of affected packages have not started yet.
I discovered this change while testing #282624 to make sure Darwin channel blockers and packages with workarounds for #166205 reverted all built. I confirmed that mupdf-headless still builds with this commit reverted.
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[x] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

This is the error I get when building Inkscape.
desktopToDarwinBundle: Application bundles do not understand desktop entry field codes. Changed 'inkscape %F' to 'inkscape'.
desktopToDarwinBundle: using fixed icon /nix/store/mx068xiynld3qdknqgzpi1yjcfaq8rvc-inkscape-1.3.2/share/icons/hicolor/16x16/apps/org.inkscape.Inkscape.png for size 16
convert: no decode delegate for this image format `PNG' @ error/constitute.c/ReadImage/746.
convert: no images defined `/private/tmp/nix-build-inkscape-1.3.2.drv-0/tmp.abR6tIyZhK/16x16.png' @ error/convert.c/ConvertImageCommand/3362.


Added message - in case when account is not managed, but WindowsLogon…

Added message with link to the managed account set up guidelines for the case when there is a user name specified during configuration (via windowslogonaccount), but password is omitted.
Testing - in progress

/azp run

/azp run

@mmrazik could you please take a look also?


fix: Close unclosed shortcodes, pull latest registry

make serve fails on master with different errors
because of unclosed shortcodes in some documents.
This change, along with pulumi/registry#2229 and pulumi/registry#2231
fixes make serve with the latest version of Hugo.
Resolves #2572

Current dependencies on/for this PR:

master

PR #2578   👈

This comment was auto-generated by Graphite.


Write IRF output in required standard format

It is a CTA requirement to write IRFs in a common format with science tools.
The current format specification can be found here:  https://github.com/open-gamma-ray-astro/gamma-astro-data-formats
Currently GammaPy (http://gammapy.org) provides reader classes for these data, so perhaps contributing to that project such that they can be written would solve this problem.  Then we would just for example construct a gammapy.irf.EffectiveAreaTable2D object, and write it out in the correct format?

Hi Karl,
I have started adding some functionality to gammapy which should allow us to use it to write IRFs, I have just started with the current format that is found in the prod3b IRF files but I will go through the format specifications to make sure it is all compliant.

@tino-michael this should then be used in your output, once Tom has finished.

Hi @thomasarmstrong. I am interested in this, so if you need any help or for me to review the implementation, please let me know.

Hi all, I just bumped in this issue while roaming around....
We started developing pyirf and I will open some issues and projects there, to organize the work.
This issue will definitely be reproduced there.
It seems to me that given the situation it is also mutually exclusive, am I correct?
If this is right I think we can safely close this issue.

Yes, I think this no longer belongs here


Can't mount over existing file with volume declaration - "can't create volume there"

I think this is similar to https://github.com/docker/compose/issues/1326 over on the compose project... Attempting to use a volume definition to mount a file inside the container yields:
...
  File "/usr/local/lib/python2.7/dist-packages/maestro/plays/tasks.py", line 202, in _create_and_start_container
    command=self.container.command)
  File "/usr/local/lib/python2.7/dist-packages/docker/client.py", line 484, in create_container
    return self.create_container_from_config(config, name)
  File "/usr/local/lib/python2.7/dist-packages/docker/client.py", line 492, in create_container_from_config
    return self._result(res, True)
  File "/usr/local/lib/python2.7/dist-packages/docker/client.py", line 126, in _result
    self._raise_for_status(response)
  File "/usr/local/lib/python2.7/dist-packages/docker/client.py", line 122, in _raise_for_status
    raise errors.APIError(e, response, explanation=explanation)
APIError: 500 Server Error: Internal Server Error ("file exists at /var/lib/docker/aufs/mnt/16121b6ecd2f372970a9714bf555cb19318fd533b11f21b089559ac44fe40cc5/var/www/public/app/protected/config/debug.php, can't create volume there")

See https://github.com/docker/docker-py/issues/546

@bradjones1 Is this still an issue with the latest docker-py?

Upgraded docker-py and this seems to be fixed upstream.

Thanks for following up!


NotEnoughBytes with payloads bigger than 1420 bytes

GHC Version: 7.10.2
Platform: Mac OS X El Capitan 10.11.3
Hey @dterei !
First of all thank you for this library, it's one of the best out there when it comes to memcached (kudos for implementing authentication, it's the first thing other projects miss!). At work, I have been trying to use this library to talk to memcachier to provide us with a simple key/value cache, but I'm hitting a strange behaviour I will do my best in trying to explain here.
I have some run-of-the-mill code to provide a cache interface, which is not important, but that I'm reporting here for completeness:
memcacheLookup :: (IsKey k, IsValue v) => RemoteCacheProvider Memcache -> k -> IO (Maybe v)
memcacheLookup (MemcacheProvider client) k = do
  res <- Memcache.get client (toS $ toKey k)
  case res of
    Nothing -> return Nothing
    Just (val, _, _) -> return . JSON.decode . toS $ val

memcacheStore :: (IsKey k, IsValue v) => RemoteCacheProvider Memcache -> k -> v -> IO ()
memcacheStore (MemcacheProvider client) k v = do
  let key     = toS $ toKey k
  let payload = toS . JSON.encode $ v
  res <- Memcache.get client key
  case res of
    Nothing -> void $ Memcache.set client key payload 0 0
    Just (_, _, cas) -> void $ Memcache.set' client key payload 0 0 cas

memcacheDelete :: (IsKey k, IsValue v) => RemoteCacheProvider Memcache -> k -> IO (Proxy v)
memcacheDelete (MemcacheProvider client) k = do
  void $ Memcache.delete client (toS $ toKey k) 0
  return Proxy

As you can see, we are serialising/deserialising back and forth some JSON, but this is irrelevant. I have then written a spec which triggers a surprising problem:
newtype TestPayload = TP { value :: T.Text } deriving (Show, Eq)

deriveJSON defaultOptions ''TestPayload

memcacheCacheSpecs :: AppEnv -> Spec
memcacheCacheSpecs e = beforeAll wipeCache $ do
  let cache = e ^. appCache
  describe "Memcache Cache & Caching" $ do
    it "Storing and looking up stuff yield (Just x)" $ do
      let v = TP (T.replicate 2123 "a")
      putStrLn $ "====> SIZE: " <> show (B.length $ toS (JSON.encode v))
      cacheStore cache (CK $ UserID 50) v
      (r :: Maybe TestPayload) <- cacheLookup cache (CK $ UserID 50)
      r `shouldBe` Just v
  where
    wipeCache = do
      (_ :: Proxy TestPayload) <- cacheDelete (e ^. appCache) (CK $ UserID 50)
      return ()

As you can see, I'm simplifying everything at maximum, which is essentially sending over the wire a simple json filled with all a s, something like:
{ "value": "aaaaaaaaaaa" }

The error being thrown by your library, if I try to cacheLookup this value after a cacheStore, is NotEnoughBytes. I have dug deeper into the internals and indeed such error is thrown here, when the library receives less than the expected amount of bytes from the socket:
https://github.com/dterei/memcache-hs/blob/master/Database/Memcache/Wire.hs#L44
I have forked the library and added a bunch of putStrLn statements, like this:
recv :: Socket -> IO Response
recv s = do
    header <- recvAll mEMCACHE_HEADER_SIZE
    let h = dzHeader' (L.fromChunks [header])
    if bodyLen h > 0
        then do
          putStrLn $ "==> BodyLen: " <> show (bodyLen h)
          let bytesToRead = fromIntegral $ bodyLen h
          putStrLn $ "==> BytesToRead: " <> show bytesToRead
          body <- recvAll bytesToRead
          return $ dzBody' h (L.fromChunks [body])
        else return $ dzBody' h L.empty
  where
    recvAll :: Int -> IO B.ByteString
    recvAll n = do
        putStrLn $ "==> Going to read " <> show n <> " bytes..."
        buf <- N.recv s n
        let bufLen = B.length buf
        putStrLn $ "==> I have read " <> show bufLen <> " bytes..."
        if bufLen == n
          then return buf
          else throwIO NotEnoughBytes

And, armed with this tools, I have rerun the specs:

As you can see, there is this magical 1424 bytes value which is the maximum value we get back from the socket. If I try to pass a smaller payload, which size is smaller or equal than 1424, it works correctly. I have found this empirical number which is 1420: if my payload is bigger than 1420 bytes, the library will try to read more than 1424 bytes (Apparently there are 4 extra bytes at the end coming out of nowhere -- padding perhaps?) and everything breaks.
I have tried to perform a get on large payload with a Python client, to try to rule out as many problems as possible, and the latter works correctly:

It's also using the same memcachier instance, which rules out some weird memcachier config issue.
I think that, from my perspective, we are faced with one of these three:

There is a bug in my understanding of this API and/or in my store/lookup/delete functions

There is a bug in this library

There is a very sneaky bug in the network package, specifically in the recv function for ByteStrings.

What do you think? Any input from you would be highly appreciated and value? Please shout if you need any reproduction steps.
Thanks a ton!
Alfredo

Alfredo,
Thanks for the kind words! Really happy you are using the library and (somewhat) finding it useful.
There's a lot of info to the bug report, which is helpful. However, am I correct is summarising this to:
"Performing a GET on a key-value pair where the value length is more than 1420 bytes causes a NotEnoughBytes error"
?
The first thing that comes to mind is that 1420 is very much around the typical MTU value of IP/ethernet. So perhaps there is a bug in how either the memcache library or the network library handles fragmented packets. Very likely the memcache package.

Hey @dterei ,
thanks for the quick reply!

"Performing a GET on a key-value pair where the value length is more than 1420 bytes causes a NotEnoughBytes error"

Yes, I think this sentence nicely summarise what I have been experiencing.

The first thing that comes to mind is that 1420 is very much around the typical MTU value of IP/ethernet. So perhaps there is a bug in how either the memcache library or the network library handles fragmented packets.

Yes, that's a very good intuition here. I would expect that memcached won't even bother trying to send big payloads over the wire, and I'm staring to think it's client responsibility to read everything on its end. After all, that's why they are sending the body length in the mEMCACHED_HEADER, right? I think one possible fix might be to extend recvAll to work as follows:

If you receive exactly n bytes, where n == bodyLen, then return (like before)
If you receive less than bodyLen bytes, recur expecting to read more or exactly bodyLen - n

I guess the question would be: How could be determine if we are receiving less bytes due to an error (example, the connection dropped) or because the payload is fragmented? One approach that might work could be use sockets predicates to assess whether the socket is still listening; if it is, we recur, otherwise, we throw a NotEnoughBytes, as before.
Am I making sense? Bear in mind I still didn't have my morning :coffee:  :wink:
I can try to cook up something in a PR, if you want.


Make Firefox add-on work on mobile

Making the add-on work on mobile Firefox would be a much better experience than the bare-bones browser we currently have.
The reason why the desktop add-on doesn't work on mobile is because is depends on two APIs that are desktop-only: panel and ui/button/action
See full list of supported APIs here: https://developer.mozilla.org/en-US/Add-ons/SDK/Tutorials/Mobile_development
We could potentially replace those two libraries with some of the mobile-only APIs:
https://developer.mozilla.org/en-US/Add-ons/Firefox_for_Android/API
For instance, we could potentially use window.BrowserApp.addTab(..) instead of panel.Panel() and NativeWindow.menu instead of ui/button/action.

OMG mobile Firefox supports add-ons!!!