Get coverage for CLIs

This PR implements one possible way to get coverage information for the CLIs, namely by using the built-in runpy module – _runTest in cli_results_test.py is extended to support invoking a CLI via runpy.run_path.
It supporting the old subprocess behavior via a flag, which is necessary for supporting testListCLI, which uses a separate Python script and needs its stdout to be captured. Capturing, and therefore testing the contents of, stdout (and stderr) is not supported with runpy, but I don't expect this to be an important limitation as all important CLI outputs are stored in files.
This also fixes a typo in _runTest's file-contains check, which was using the stdout-contains-check parameter instead.

Codecov Report

Merging #349 into master will increase coverage by 1.27%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master     #349      +/-   ##
==========================================
+ Coverage   49.47%   50.74%   +1.27%
==========================================
  Files          99      101       +2
  Lines        2755     2875     +120
  Branches       90       90
==========================================
+ Hits         1363     1459      +96
- Misses       1392     1416      +24

Impacted Files
Coverage Δ

server/ColorDeconvolution/ColorDeconvolution.py
100% <0%> (ø)

server/NucleiDetection/NucleiDetection.py
68.13% <0%> (ø)

server/cli_common/utils.py
94.17% <0%> (+0.97%)
:arrow_up:

web_client/views/body/ImageView.js
68.85% <0%> (+3.27%)
:arrow_up:

Continue to review full report at Codecov.

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

Is there anything else? Coverage is down, but that seems to only be because all CLIs are now being tested, and most of them aren't run beyond the parse_args call.


test k8s airgapped in daily runs

The change to the pause image is prompted by this test run -

Feb 16 19:39:20 lrpyct kubelet[9262]: E0216 19:39:20.989274    9262 remote_runtime.go:105] RunPodSandbox from runtime service failed: rpc error: code = Unknown desc = failed pulling image "k8s.gcr.io/pause:3.2": Error response from daemon: Get https://k8s.gcr.io/v2/: dial tcp <IP_ADDRESS>:443: connect: connection refused
Feb 16 19:39:20 lrpyct kubelet[9262]: E0216 19:39:20.989309    9262 kuberuntime_sandbox.go:68] CreatePodSandbox for pod "kube-scheduler-lrpyct_kube-system(7da02f2c78da17af7c2bf1533ecf8c9a)" failed: rpc error: code = Unknown desc = failed pulling image "k8s.gcr.io/pause:3.2": Error response from daemon: Get https://k8s.gcr.io/v2/: dial tcp <IP_ADDRESS>:443: connect: connection refused
Feb 16 19:39:20 lrpyct kubelet[9262]: E0216 19:39:20.989322    9262 kuberuntime_manager.go:727] createPodSandbox for pod "kube-scheduler-lrpyct_kube-system(7da02f2c78da17af7c2bf1533ecf8c9a)" failed: rpc error: code = Unknown desc = failed pulling image "k8s.gcr.io/pause:3.2": Error response from daemon: Get https://k8s.gcr.io/v2/: dial tcp <IP_ADDRESS>:443: connect: connection refused
Feb 16 19:39:20 lrpyct kubelet[9262]: E0216 19:39:20.989356    9262 pod_workers.go:191] Error syncing pod 7da02f2c78da17af7c2bf1533ecf8c9a ("kube-scheduler-lrpyct_kube-system(7da02f2c78da17af7c2bf1533ecf8c9a)"), skipping: failed to "CreatePodSandbox" for "kube-scheduler-lrpyct_kube-system(7da02f2c78da17af7c2bf1533ecf8c9a)" with CreatePodSandboxError: "CreatePodSandbox for pod "kube-scheduler-lrpyct_kube-system(7da02f2c78da17af7c2bf1533ecf8c9a)" failed: rpc error: code = Unknown desc = failed pulling image "k8s.gcr.io/pause:3.2": Error response from daemon: Get https://k8s.gcr.io/v2/: dial tcp <IP_ADDRESS>:443: connect: connection refused"


test_pdf_conversion fails on macos when pdflatex is missing

When running on Python 3.9 , and without pdflatex installed (part of brew package mactex).
ERROR: test_pdf_conversion (__main__.TestPypandoc)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/jayvdb/inv/pypandoc/tests.py", line 318, in test_pdf_conversion
    ret = pypandoc.convert_text('# some title\n', to='pdf', format='md', outputfile=file_name)
  File "/Users/jayvdb/inv/pypandoc/pypandoc/__init__.py", line 100, in convert_text
    return _convert_input(source, format, 'string', to, extra_args=extra_args,
  File "/Users/jayvdb/inv/pypandoc/pypandoc/__init__.py", line 335, in _convert_input
    raise RuntimeError(
RuntimeError: Pandoc died with exitcode "1" during conversion: pandoc: pdflatex: createProcess: posix_spawnp: illegal operation (Inappropriate ioctl for device)

This is a overly complicated exception message that many users wont recognise as "I need to install pdflatex".
As it is possible to use alternative latex engines, it would be best to catch this error, detect "pdflatex" in the message, check for whether pdflatex is in the PATH, and provide a better exception message only if it is missing.

yes I agree.
In addition, I would guess that missing the other engines (if used) wouldalso yield just as complicated an error message, so maybe we should do that for all engines.


IMap is missing the submiToKey async interface

Implemented the IMap::submitToKey. Introduced the Future interface.

Test FAILed.

Test FAILed.

Test PASSed.


Allegro memory requirements?

I have a similar issue with this previous issue of nequip(https://github.com/mir-group/nequip/issues/293), but I'm only using allegro so I'm not sure if it's the case. I have a 2000 configuration dataset, each with ~600 atoms with pbc, in the npz format. However, the preprocessing effort always failed with OOM error on the CPU side, even if I increased my CPU memory to 160GB. The network size I'm using is also way smaller than the suggested values, and I'm only using a cutoff of 4 Angstroms. What other parameters should I try to tune?

Hi @yzjin ,
Thanks for your interest in our codes!
Do you have a lot of CPU cores, or a strangely set up environment in how it reports CPU cores? By default, NequIP will take all available cores (https://github.com/mir-group/nequip/blob/main/nequip/utils/multiprocessing.py#L18) which could really drive up the memory requirement.  You could quickly try the preprocessing with, say, NEQUIP_NUM_TASKS=4 nequip-benchmark myconfig.yaml to see if that helps.
Does it fail quickly or after a long time? I agree that this should not OOM at first glance, so I'm not sure what the issue could be.  Do your systems have significant amounts of vacuum? ASE has been known to choke on OOM with large vacuum in the system.
Can you post a full stack trace when it fails?

I set the visible CPUs to 8 to speed it up, is it a number too high? I could try to reduce it.
It failed after a long time (~2hrs) so it's confusing to me. I am running under a slurm environment so I don't know about the details on my running node :(  All I have is the following output: slurmstepd: error: Detected 1 oom-kill event(s) in StepId=4184878.batch cgroup. Some of your processes may have been killed by the cgroup out-of-memory handler.

Hm... can you try without setting NUM_TASKS but using only a small subset of your data, for example 64 or 32 frames (one per core)?  We can then look at the preprocessed data (assuming it succeeds) to see how big it is, if something anomalous is happening, etc.
One other thing important to check is whether your periodic boundary conditions and cell are correct:  if they aren't, you could be wrapping all your atoms into a very small space by accident and creating extremely dense and wrong systems.

I think there's something anomalous happening -- I set the number of frames to an even smaller number (20 frames) and use limits the num_tasks to 4, and the preprocessing requires more than half an hour, which is the upper limit I set for this task. I believe there's something wrong with the PBC, because once I remove the PBC the preprocessing can be done pretty easily. What is the correct format for the PBC data? I am using the npz format and currently the pbc field is just an array with array([ True,  True,  True]). I converted all my units into the LAMMPS metal style as well.

That sounds like maybe you forgot to convert the units on your cell, and have a massive vacuum?  If I remember right ASE has had massive memory issues with systems with a lot of vacuum.

I set my cell to be a 3x3 matrix like this:
[[18.,  0.        ,  0.        ],
[ 0.        , 30. ,  0.        ],
[ 0.        ,  0.        , 14.]]

And the min and max for all my coordinates are about 0 and slightly less than the cell length on each dimension. It seems like the units should be correct.  Did I violate any assumptions here? I am not familiar with the assumptions of the ASE.

Hm... this looks correct to me yes. Half an hour is extreme for 20 frames. Let me check if I still have code for an option alternative neighborlist, we can see if that resolves the issue?

Sure, thank you! For reference, I will just paste my whole yaml file below.
# This file serves as a starting example input file for Allegro
# For a full, detailed set of general training+dataset options see configs/full.yaml in the NequIP repo:
# https://github.com/mir-group/nequip/blob/main/configs/full.yaml
# This file additionally documents the Allegro-specific options

# general

# Two folders will be used during the training: 'root'/process and 'root'/'run_name'
# run_name contains logfiles and saved models
# process contains processed data sets
# if 'root'/'run_name' exists, 'root'/'run_name'_'year'-'month'-'day'-'hour'-'min'-'s' will be used instead.
root: results/my_test
run_name: my_test_pbc

# model initialization seed
seed: 123456

# data set seed, determines which data to sample from file
dataset_seed: 654321

# set true if a restarted run should append to the previous log file
append: true

# type of float to use, e.g. float32 and float64
default_dtype: float32

# -- network --
# tell nequip which modules to build
model_builders:
 - allegro.model.Allegro
 # the typical model builders from `nequip` can still be used:
 - PerSpeciesRescale
 - ForceOutput
 - RescaleEnergyEtc

# radial cutoff in length units
r_max: 4.0

# average number of neighbors in an environment is used to normalize the sum, auto precomputed it automitcally
avg_num_neighbors: auto

# radial basis
# set true to train the bessel roots
BesselBasis_trainable: true

# p-parameter in envelope function, as proposed in Klicpera, J. et al., arXiv:2003.03123
# sets it BOTH for the RadialBasisProjection AND the Allegro_Module
PolynomialCutoff_p: 6

# symmetry
# maximum order l to use in spherical harmonics embedding, 1 is basedline (fast), 2 is more accurate, but slower, 3 highly accurate but slow
l_max: 1

# whether to include E(3)-symmetry / parity
# allowed: o3_full, o3_restricted, so3
parity: o3_full

# number of tensor product layers, 1-3 usually best, more is more accurate but slower
num_layers: 1

# number of features, more is more accurate but slower, 1, 4, 8, 16, 64, 128 are good options to try depending on data set
env_embed_multiplicity: 1

# whether or not to embed the initial edge, true often works best
embed_initial_edge: true

# hidden layer dimensions of the 2-body embedding MLP
two_body_latent_mlp_latent_dimensions: [32, 64]
# nonlinearity used in the 2-body embedding MLP
two_body_latent_mlp_nonlinearity: silu
# weight initialization of the 2-body embedding MLP
two_body_latent_mlp_initialization: uniform

# hidden layer dimensions of the latent MLP
# these MLPs are cheap if you have have large l/env_embed_multiplicity, so a good place to put model capacity if you can afford it
# only if you are in the ultra-fast/scalable regime, make these smaller
latent_mlp_latent_dimensions: [64]

# nonlinearity used in the latent MLP
latent_mlp_nonlinearity: silu

# weight initialization of the latent MLP
latent_mlp_initialization: uniform

# whether to use a resnet update in the scalar latent latent space, true works best usually
latent_resnet: true

# hidden layer dimensions of the environment embedding mlp, none work best (will build a single linear layer)
env_embed_mlp_latent_dimensions: []

# nonlinearity used in the environment embedding mlp
env_embed_mlp_nonlinearity: null

# weight initialzation of the environment embedding mlp
env_embed_mlp_initialization: uniform

# - end allegro layers -

# Final MLP to go from Allegro latent space to edge energies:

# hidden layer dimensions of the per-edge energy final MLP
edge_eng_mlp_latent_dimensions: [32]

# nonlinearity used in the per-edge energy final MLP
edge_eng_mlp_nonlinearity: null

# weight initialzation in the per-edge energy final MLP
edge_eng_mlp_initialization: uniform

# -- data --
# there are two options to specify a dataset, npz or ase
# npz works with npz files, ase can ready any format that ase.io.read can read
# IMPORTANT: in most cases working with the ase option and an extxyz file is by far the simplest way to do it and we strongly recommend using this
# simply provide a single extxyz file that contains the structures together with energies and forces (generated with ase.io.write(atoms, format='extxyz', append=True))
# for a simple snippet to do this, see the gists here: https://github.com/simonbatzner

# npz option
dataset: npz                                                                       # type of data set, can be npz or ase
dataset_file_name: ../prepared_data/prepared_data_pbc.npz                         # path to data set file
key_mapping:
  z: atomic_numbers                                                                # atomic species, integers
  E: total_energy                                                                  # total potential eneriges to train to
  F: forces                                                                        # atomic forces to train to
  R: pos                                                                           # raw atomic positions
npz_fixed_field_keys:                                                              # fields that are repeated across different examples
  - atomic_numbers
  - pbc

# ase option
# dataset: ase
# dataset_file_name: filename.extxyz
# ase_args:
#   format: extxyz

# A mapping of chemical species to type indexes is necessary if the dataset is provided with atomic numbers instead of type indexes.
chemical_symbol_to_type:
  C: 0
  H: 1

# logging
# whether to use weight and biases (see wandb.ai)
wandb: false

# project name in wandb
wandb_project: mytest

# the same as python logging, e.g. warning, info, debug, error. case insensitive
verbose: info

# training
# number of training samples to use
n_train: 20

# number of validation samples to use
n_val: 10

# batch size, we found it important to keep this small for most applications including forces (1-5); for energy-only training, higher batch sizes work better
batch_size: 2

# stop training after _ number of epochs, we set a very large number here, it won't take this long in practice and we will use early stopping instead
max_epochs: 1000000

# learning rate, we found values between 0.002 and 0.0005 to work best - this is often one of the most important hyperparameters to tune
learning_rate: 0.001

# can be random or sequential. if sequential, first n_train elements are training, next n_val are val, else random, usually random is the right choice
train_val_split: random

# If true, the data loader will shuffle the data, almost always a good idea
shuffle: true

# metrics used for scheduling and saving best model. Options: `set`_`quantity`, set can be either "train" or "validation, "quantity" can be loss or anything that appears in the validation batch step header, such as f_mae, f_rmse, e_mae, e_rmse
metrics_key: validation_loss

# use an exponential moving average of the weights
# if true, use exponential moving average on weights for val/test, usually helps a lot with training, in particular for energy errors
use_ema: true

# ema weight, typically set to 0.99 or 0.999
ema_decay: 0.99

# whether to use number of updates when computing averages
ema_use_num_updates: true

# loss function
# different weights to use in a weighted loss functions
# if you use peratommseloss, then this is already in a per-atom normalized space (both E/F are per-atom quantities)
# in that case, 1:1 works best usually
loss_coeffs:
  forces: 1.
  total_energy:
    - 1.
    - PerAtomMSELoss

# optimizer
# default optimizer is Adam
optimizer_name: Adam
optimizer_params:
  amsgrad: false
  betas: !!python/tuple
  - 0.9
  - 0.999
  eps: 1.0e-08
  weight_decay: 0.

# lr scheduler, drop lr if no improvement for 50 epochs
# on-plateau, reduce lr by factory of lr_scheduler_factor if metrics_key hasn't improved for lr_scheduler_patience epoch
lr_scheduler_name: ReduceLROnPlateau
lr_scheduler_patience: 50
lr_scheduler_factor: 0.5

# early stopping if max 1 days is reached or lr drops below 1e-5 or no improvement on val loss for 100 epochs
early_stopping_upper_bounds:
  cumulative_wall: 86400.

early_stopping_lower_bounds:
  LR: 1.0e-5

early_stopping_patiences:
  validation_loss: 100

Oh, hold on--- sorry, I completely missed that you are using the NPZ format, and not the extXYZ format through ASE.
In your config I don't see any key mapping for cell, is it already included under that name in your data?  What is its dimension, and if it is [3, 3], I think it should be a fixed field.
Please note that neighborlist calculations for NPZ are not parallelized, so the above stuff about num tasks can be ignored.
In general, we recommend the extXYZ input format for almost all circumstances; might be worth trying to see if that resolves your issues?

Yes, the key cell is already included under that name under my data, with the size of [n_frames, 3, 3]. I can try to convert my data into extXYZ input format to see if it makes a difference.

Problem solved -- transforming the data into extXYZ solves the problem. Thank you so much for your timely help and advice, I really appreciate it!


feat: boolean property validation on sync

This provides a different validation for boolean properties, on sync of initial attributes with properties.
A property is considered a valid boolean when its value equals property.name.

Thanks @didoda ! Can you add a regression test here too?


Serialize: Add light-weight OptHistory saving

Currently OptHistories can be very large objects, with a size > 1Gb e.g. for molecular search or any graphs with large state.
It's quite unmanagable if we just want to have, say, 10 trials and build comparison between 2 cases with 10 trials each.
So we need a light-weight history saving that doesn't save graphs, and stores only fitness & individuals id. Requirements are:

being able to plot most of OptHistoryVizualizer plots
being able to plot evolutionary history for FEDOT.Web

А не будут ли такие 1Gb-истории хорошо сжиматься в zip?

А не будут ли такие 1Gb-истории хорошо сжиматься в zip?

Нужно проверить

Можно отказаться от аргумента indent, чтобы сэкономить немного места.


Different Active and inactive icons

Use cases: The inactive icon can be an outlined icon and the active icon can be filled one, it would also make an effect of filling liquid inside an outlined icon.
In short like orignal bottomNaviagtionBar which let's you choose activeIcon and inactiveIcon differently

I'm not sure to have time to add this feature, but contributions are welcome.


Improve ConvertTo-DbaDatatable

Type of Change

[x] Bug fix (non-breaking change, fixes #4938)
[ ] New feature (non-breaking change, adds functionality)
[ ] Breaking change (effects multiple commands or functionality)
[ ] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[ ] Adding code coverage to existing functionality
[ ] Pester test is included
[ ] If new file reference added for test, has is been added to github.com/sqlcollaborative/appveyor-lab ?
[ ] Nunit test is included
[ ] Documentation
[ ] Build system

Purpose
Support multiple tables within $inputObject (do ConvertTo-DbaDataTable)
Approach
Instead of Copy the table once and no more, this way we will merge each row and retrieve only the DISTINCT rows.
Commands to test

Screenshots

Top - Before
bottom - After
code was the one that @wabby80 shared on #4938
Learning

@wabby80 can you give us the thumbs up?

and thanks forever claudio!!!

You need to test with this branch. This wasn't merge into prerelease yet 😃

got a confirmation in the channel, adding now 💯 it's a beautiful fix, thank you


Add an interface for Group type

A Group is a Monoid that can be reversed
public interface Group<T> extends Monoid<T> {

    T invert(T t);
}

Released in 2.1.0


Add timeouts to chain service requests

The high level purpose of this PR is to add timeouts to requests from the wallet to the chain service. This should help the following scenario:

The wallet requests the chain service to fund or conclude the channel.
Transaction mining fails for some reason.
The wallet is not able to make any progress.

With this PR, each request to the chain service is retried once after 10 minutes. It is the job of the application to trigger a protocol rerun that retries the chain service request.
Future work includes:

The chain service might want to notify the wallet if any transaction associated with a request from the wallet fails.
We might want to clean up chain service requests from the database after the request has succeeded.

Also, this PR does NOT include a seamless migration from the old chain service requests column to the new chain service requests table. This will impact wallets that are mid channel funding or concluding. However, I don't believe we have wallets in production that are directly funding channels.
Fixes https://github.com/statechannels/statechannels/issues/2929.

Also worth asking whether you've thought about any potential performance impacts here?

Also worth asking whether you've thought about any potential performance impacts here?

I have a bit, but not rigorously. Do you know if there is a good way to measure performance impact?

I'm curious to hear what your thoughts are on this feedback:

The proposal is definitely an improvement over what we have now 👍 My main feedback would be that we could consider higher fidelity communication between the chain service and the wallet than "time elapsed since last call". For example, the chain service could identify and relay information like (a) transaction reverted, out of gas (b) transaction reverted: "thrown error from contract", (c) insufficient ETH to pay for transaction, or (d) unable to reach internet, API error, or (e) transaction pending. There could be some API on the chains service like getStatusOnRequest(fingerprint) which returns some information about the request.

This looks good to me. 🌋
I wonder whether we're almost at the point where it's worth moving some of this logic (and storage) into the chain service. As a wallet, it would be nice to not to have to worry about this stuff.

@tomclose, I think this is an excellent point to bring up. Here is how I have been thinking about this. The chain service has a high level API such as fund, conclude, challenge. Each API call can result in many transactions. For example, the fund call can lead to 2 transactions: a transaction to increase token allowance for the asset holder and a transaction to deposit tokens. Down the line, with channels holding multiple different assets, the chain service fund API call will trigger many deposits.
Due to the runloop wallet design, the wallet needs to store whether a chain service api has been called. The wallet does not and, probably, should not need to worry about how to ensure transactions are submitted. The chain service requests table records high level information about communication between the wallet and the chain service. The chain service requests table also allows protocols to remain somewhat synchronous and avoid the need to wait for chain service responses.
Your comment highlights that:

The chain service (not the wallet) should attempt transaction retries in certain cases. This is not built yet.
There should be a way to communicate chain service API failures that might happen long after the API response. For example, the chain service fund API returns successfully after transactions have been submitted. But how should we communicate transaction mining failures?

If you have any thoughts about this, would love to hear them! @snario, this is related to your comment above.


Owners of this repo/package

@trott @nebrius @jasnell I've added you all as owner of this package in npm and collaborators on this repo. Please make full use of it, I don't think there's good reason to even get reviews for bits that don't impact others, just push and publish! Feel free to add other collaborators/publishers too and if you want to move it then that's fine too.

Thank you Rod. :)

Thanks Rod!


Updated Meetup App

Updated the Meetup app according to the feedback.
Removed the old map widget and related reference to match the master.

This work by @rmahmood19 was really going well, we should revisit it when we have the platform to break free from Meetup.com or somehow integrate a similar platform for advertising and co-planning events.
Will close it for now because we are picking up some more activity and most of the site has been reworked by now.

Btw hope to see you around again soon @rmahmood19 - don't forget Django Day 2021 if you can be there!! https://2021.djangoday.dk/


Fix @storybook/client-logger import

Issue:
@storybook/client-logger was imported incorrectly in @storybook/addon-info, which results in runtime error TypeError: Cannot read property 'warn' of undefined
What I did
Replaced default import with named import.
How to test

Use marksyConf in storybook configuration.
When running storybook in the browser, proper warning message should be shown instead of the runtime error.

Is this testable with jest or storyshots? No
Does this need a new example in the kitchen sink apps? No
Does this need an update to the documentation? No
If your answer is yes to any of these, please make sure to include it in your PR.

Nice catch @eur00t! I wonder why eslint didn’t catch it though

@Hypnosphi thanks! I think it'll be helpful to add import/default and import/named eslint rules from eslint-plugin-import (I can see that currently we use import/no-unresolved only).
With import/default there can be problems though, because some packages doesn't export ES6 modules, for example @storybook/client-logger. It might work when "jsnext:main" is defined.


Added support for running the GitHub actions workflow using CCache

Title.
This changeset adds ccache support to speed up building by caching the produced object files whenever possible. Because it works by instructing the chosen CMake generator to insert it as the compiler launcher it won't be supported on vendor-specific generators like MSBuild or Xcode. MSVC support can be added later if we decide to move most of it over to Ninja.

Updated.

Moved the environment variables into the build job since we don't install ccache when running the other jobs.

Do you have any numbers for how much this speeds up any particular CI jobs?

Comparing building master to this, the total usage went from 6h 58min down to 5h 40min and total run duration went from 32min down to 22min. Bear in mind that this PR doesn't enable CCache for MSVC yet. I have follow-up commits for that and that will be another big chunk of time saved.

Updated.


Interface between embedded Javascript and the App

Let's assume we have an embedded Javascript within webview widget. This JS returns a string. Is there a way to pass this string to the main App (GTK4/libadwaita one)? If yes - can you, please, post a small example on how to do this; if not - can this feature be implemented, please?
Thank you!

I'm not sure I follow. Do you mean that you have a JS function that you would like to call from C++, and then get the result of the JS function back to C++? If you can explain with more details then that would be great.
Currently there isn't an official method to get the result of JS evaluation, but the JS code can send strings to C++ via  bindings so that the C++ side receives it after the JS evaluation.

My case is this:
I have a GtkTextView that contains a Markdown-like document. I also have a Webview that contains JS that can parse and convert Markdown to HTML. I want to pass the MD document to JS to be rendered and displayed in the Webview. While parsing, JS produces json that contains all recognized markup. I want to pass back that json as a string to GtkTextView somehow so it can highlight the Markdown document with different colors/styles etc. there. This way one can implement also Live Preview of Markdown (in Webview) while also having it source highlighted (in GtkTextView). All this while user types...

If not with webview - is this possible with WebKitGTK?...

I have asked regarding the above on the WebKitGTK and here is the answer I've got:

Easiest way to send a simple message: in JS, call
window.webkit.messageHandlers.foo.postMessage() to activate a UI
process callback that you register with
WebKitUserContentManager::script-message-received

Now the question is - are these functions available in webview? And if not - is there other way to get a string from a JavaScript running in Weview to the main app (written in GTK)?
Thank you!


paper_input_error_test.dart fails 'basic error message add on is registered'

  expect(container.jsElement['_addons'].length, equals(1));

Expected: <1>
    Actual: <0>

fixed by https://github.com/dart-lang/polymer_elements/commit/b76e2ea8e8654cdef03aac320b99a69bbba6014a


[solved]After upgrading to Meteor 1.3

Komposer hangs on loading after upgrading to meteor 1.3.   So far I've tried upgrading to 1.4.1 but that did not solve the problem.  Any suggestions on how can find what's blocking the subscription.
`
import PostList from '../components/postlist.jsx';
import {useDeps, composeWithTracker, composeAll} from 'mantra-core';
export const composer = ({context}, onData) => {
const {Meteor, Collections} = context();
if (Meteor.subscribe('posts.list').ready()) {
const posts = Collections.Posts.find().fetch();
onData(null, {posts});
}
};
export default composeAll(
composeWithTracker(composer),
useDeps()
)(PostList);
`
The code is from the official mantra demo.

Okay. I think we can close this now.


KeyError: 'signed' when trying to update example app from a separate Github repo

Only posting here because I couldn't add "tufup" tag to my stack overflow question, located here.
0
I'm just trying to get my hands around a simple version of updating an app that I have its repo targets & metadata hosted on a separate Github repo. I got it working great when locally hosted per the tufup_example guide... The issue I'm running into is that whenever I start main.exe (created by following tufup_example on windows) is that (I think) the timestamp.json isn't correctly being deserialized...
I've ran through tuf's & tufup's docs and have been at this for a week, so now I'm earnestly asking for help or guidance on this. Am I overlooking something? Do I need to do something special to sign metadata now that it's hosted on Github?
Copy of my error is below, I hope it's just something simple I'm overlooking:
PS C:\Users\username\AppData\Local\Programs\my_app> .\main.exe
INFO:__main__:my_app 1.0
INFO:myapp:Trusted root metadata copied to cache.
DEBUG:tuf.ngclient._internal.trusted_metadata_set:Updating initial trusted root
DEBUG:tuf.ngclient._internal.trusted_metadata_set:Loaded trusted root v1
DEBUG:tuf.ngclient.fetcher:Downloading: https://github.com/username/updater/blob/main/metadata/2.root.json
DEBUG:tuf.ngclient._internal.requests_fetcher:Made new session ('https', 'github.com')
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): github.com:443
DEBUG:urllib3.connectionpool:https://github.com:443 "GET /username/updater/blob/main/metadata/2.root.json HTTP/1.1" 404 None
DEBUG:tuf.ngclient.updater:Local timestamp not valid as final: [Errno 2] No such file or directory: 'C:\\Users\\username\\AppData\\Local\\my_app\\update_cache\\metadata\\timestamp.json'
DEBUG:tuf.ngclient.fetcher:Downloading: https://github.com/username/updater/blob/main/metadata/timestamp.json
DEBUG:tuf.ngclient._internal.requests_fetcher:Reusing session ('https', 'github.com')
DEBUG:urllib3.connectionpool:Resetting dropped connection: github.com
DEBUG:urllib3.connectionpool:https://github.com:443 "GET /username/updater/blob/main/metadata/timestamp.json HTTP/1.1" 200 2323
DEBUG:tuf.ngclient.fetcher:Downloaded 6205 out of 16384 bytes
Traceback (most recent call last):
  File "tuf\api\serialization\json.py", line 37, in deserialize
  File "tuf\api\metadata.py", line 172, in from_dict
KeyError: 'signed'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "main.py", line 12, in <module>
  File "myapp\__init__.py", line 75, in main
  File "myapp\__init__.py", line 36, in update
  File "tufup\client.py", line 154, in check_for_updates
  File "tuf\ngclient\updater.py", line 133, in refresh
  File "tuf\ngclient\updater.py", line 346, in _load_timestamp
  File "tuf\ngclient\_internal\trusted_metadata_set.py", line 211, in update_timestamp
  File "tuf\api\metadata.py", line 263, in from_bytes
  File "tuf\api\serialization\json.py", line 40, in deserialize
tuf.api.serialization.DeserializationError: Failed to deserialize JSON
[11720] Failed to execute script 'main' due to unhandled exception!
PS C:\Users\username\AppData\Local\Programs\my_app> .\main.exe
INFO:__main__:my_app 1.0
DEBUG:tuf.ngclient._internal.trusted_metadata_set:Updating initial trusted root
DEBUG:tuf.ngclient._internal.trusted_metadata_set:Loaded trusted root v1
DEBUG:tuf.ngclient.fetcher:Downloading: https://github.com/username/updater/blob/main/metadata/2.root.json
DEBUG:tuf.ngclient._internal.requests_fetcher:Made new session ('https', 'github.com')
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): github.com:443
DEBUG:urllib3.connectionpool:https://github.com:443 "GET /username/updater/blob/main/metadata/2.root.json HTTP/1.1" 404 None
DEBUG:tuf.ngclient._internal.trusted_metadata_set:Updated timestamp v3
DEBUG:tuf.ngclient.fetcher:Downloading: https://github.com/username/updater/blob/main/metadata/timestamp.json
DEBUG:tuf.ngclient._internal.requests_fetcher:Reusing session ('https', 'github.com')
DEBUG:urllib3.connectionpool:Resetting dropped connection: github.com
DEBUG:urllib3.connectionpool:https://github.com:443 "GET /username/updater/blob/main/metadata/timestamp.json HTTP/1.1" 200 2321
DEBUG:tuf.ngclient.fetcher:Downloaded 6205 out of 16384 bytes
Traceback (most recent call last):
  File "tuf\api\serialization\json.py", line 37, in deserialize
  File "tuf\api\metadata.py", line 172, in from_dict
KeyError: 'signed'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "main.py", line 12, in <module>
  File "myapp\__init__.py", line 75, in main
  File "myapp\__init__.py", line 36, in update
  File "tufup\client.py", line 154, in check_for_updates
  File "tuf\ngclient\updater.py", line 133, in refresh
  File "tuf\ngclient\updater.py", line 346, in _load_timestamp
  File "tuf\ngclient\_internal\trusted_metadata_set.py", line 211, in update_timestamp
  File "tuf\api\metadata.py", line 263, in from_bytes
  File "tuf\api\serialization\json.py", line 40, in deserialize
tuf.api.serialization.DeserializationError: Failed to deserialize JSON
[5048] Failed to execute script 'main' due to unhandled exception!

I created a working app that would auto-update itself from a localhost server as described in the tufup_example, however when I created a new repo from github and hosted fresh files that had the metadata and target files pointing to that Github repo, I received the above error(s).
I tried creating several "clean" repos and clients but have not been able to figure out this error.

Hi @Samlant , thanks for taking an interest in tufup.
It's a bit difficult to answer this without seeing your configuration in more detail.
However, there is one thing you could check first, based on the KeyError: 'signed' above:
Did you inspect the contents of the timestamp.json file you are hosting on github? It should look similar to this:
{
 "signatures": [
  {
   "keyid": "****",
   "sig": "****"
  }
 ],
 "signed": {
  "_type": "timestamp",
  "expires": "2023-10-17T08:02:36Z",
  "meta": {
   "snapshot.json": {
    "version": 1
   }
  },
  "spec_version": "1.0.29",
  "version": 1
 }
}

Can you confirm that the "expires" value is in the future?
Could you also confirm that you are using the example-app with all default settings? (except for the github url)

@Samlant Thanks for coming back with such a detailed explanation, that will certainly help others as well. :-)
I'll close the issue now.

When the app checks for updates and JSONDeserializer.deserialize() is called for the timestamp.json file, the raw data is the entire Github webpage, so using this stack overflow post about using https://raw.githubusercontent.com rather than github.com..., this grabbed solely the contents of the JSON file, rather than a response containing it and other elements of the page!
Using the https://raw.githubusercontent.com/ address path makes the app run successfully in its production env

@Samlant It would be great if you could also post this as an answer to your question on stackoverflow.


AttributeError: module 'distutils' has no attribute 'util'

Hello,
I am preparing the package for Debian experimental (we are in freeze...) and I get this error message.
pybuild --build -s custom -p 3.7 --build-args="cd doc && env PYTHONPATH={build_dir} http_proxy='<IP_ADDRESS>:9' xvfb-run -a --server-args=\"-screen 0 1024x768x24\" {interpreter} -m sphinx -N -bhtml source build/html"
I: pybuild base:217: cd doc && env PYTHONPATH=/tmp/building/package/.pybuild/cpython3_3.7_silx/build http_proxy='<IP_ADDRESS>:9' xvfb-run -a --server-args="-screen 0 1024x768x24" python3.7 -m sphinx -N -bhtml source build/html
Running Sphinx v1.8.4

Exception occurred:
  File "/tmp/building/package/doc/source/ext/snapshotqt_directive.py", line 60, in _distutils_dir_name
    platform = distutils.util.get_platform()
AttributeError: module 'distutils' has no attribute 'util'
The full traceback has been saved in /tmp/sphinx-err-1btkhfkq.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
A bug report can be filed in the tracker at <https://github.com/sphinx-doc/sphinx/issues>. Thanks!
E: pybuild pybuild:341: build: plugin custom failed with: exit code=2: cd doc && env PYTHONPATH=/tmp/building/package/.pybuild/cpython3_3.7_silx/build http_proxy='<IP_ADDRESS>:9' xvfb-run -a --server-args="-screen 0 1024x768x24" python3.7 -m sphinx -N -bhtml source build/html

It seems that you forgot an
``ìmport distutils.util```

Once added, I have now this error
pybuild --build -s custom -p 3.7 --build-args="cd doc && env PYTHONPATH={build_dir} http_proxy='<IP_ADDRESS>:9' xvfb-run -a --server-args=\"-screen 0 1024x768x24\" {interpreter} -m sphinx -N -bhtml source build/html"
I: pybuild base:217: cd doc && env PYTHONPATH=/tmp/building/package/.pybuild/cpython3_3.7_silx/build http_proxy='<IP_ADDRESS>:9' xvfb-run -a --server-args="-screen 0 1024x768x24" python3.7 -m sphinx -N -bhtml source build/html
Running Sphinx v1.8.4

Exception occurred:
  File "/tmp/building/package/doc/source/ext/snapshotqt_directive.py", line 71, in <module>
    raise RuntimeError("%s is not on the path. Fix your PYTHONPATH and restart sphinx." % project)
NameError: name 'project' is not defined

what is the proper way to deal with this error ?

looking at the code, I found this
home = os.path.abspath(os.path.join(__file__, "..", "..", "..", '..'))
home = os.path.abspath(home)
LIBPATH = os.path.join(home, 'build', _distutils_dir_name('lib'))

if not os.path.exists(LIBPATH):
    raise RuntimeError("%s is not on the path. Fix your PYTHONPATH and restart sphinx." % project)

sys.path.append(LIBPATH)
env = os.environ.copy()
env.update(
    {"PYTHONPATH": LIBPATH + os.pathsep + os.environ.get("PYTHONPATH", ""),
     "PATH": os.environ.get("PATH", "")})

So you add to the PYTHONPATH an hardcoded path, BUT setup allows to change the build path.
So the logic is wrong. Only the user know the build path because it can select it during the build.
What about removing all this code and let the user set the right PYTHONPATH during the build ?

Yes, ìmport distutils.util` is missing.
And I don't see why all this is needed...

me too :))

I guess the snapshot_directive  (dov/ext folder) should be skipped for the sdist_debian.

to my opinion we MUST rebuild eveythings during a Debian build. to be sure that we have the real sources of everythings.

The cons of rebuilding the screenshots automatically, is that they are not checked by a human...

We're making a PR to fix this.

Yes you are right, but if someone is reading the doc it will see that there is something wrong and we just have to fix it :))

... Yes indeed.
PR #2604 is addressing this issue.


Safari (Possibly only Mobile) Out-Of-Sync Issues

On Safari on iOS (wifi). This issue doesn't affect Chrome on iOS . . .
After logging in, I get a "Session out of Sync" error on every new page reload. But then I remain logged in to the same account when I click continue.

I have finally worked out why this is, and why it now affects Chrome on iOS too!
Apparently Local Storage can be read but not written in WebKit browsers when Private Browsing is on; there are many reasons why this is terrible for privacy, but it also makes the user experience on Isaac terrible too.
The checking works by writing the user ID to Local Storage, waiting and then checking the rootScope user ID matches the Local Storage user ID. If they don't match, show an error. However, the bad implementation in WebKit means we fail to write the user ID to LocalStorage, then the read clearly returns the wrong thing and we get the pop-up appearing.
To fix this, the Persistence.js save functions should return true if the value was correctly set and false if not. Writing to the console doesn't help much on mobile! We should then check that the value has been correctly saved in Auth.js before we set the interval running! If we failed to write, then print an error to console (in case it's not mobile) and skip checking the user consistency.

This will have been the cause of https://github.com/ucam-cl-dtg/isaac-app/issues/643 too!


Do not initialize FS Watchers related to discovery in the constructor

Expose an activate method in the python environments api.

Any status update here @karrtikr, saw something got merged which mentioned this.

No updates, the associated PR made a patch fix and is what introduced the issue.


How to use history_change_reason

I use django-simple-history for tracking changes and can't understand how to set history_change_reason field. How to add  field in my UpdateForm and setting history model for it?

https://django-simple-history.readthedocs.io/en/latest/historical_model.html#change-reason


VS Code error: Error 2322 on HTML Meta charset

Acknowledgement

[X] I acknowledge that issues using this template may be closed without further explanation at the maintainer's discretion.

Comment
Hi,
I am getting this error on HTML script:
[{
"resource": "/C:/xampp/htdocs/MyCourses/react/udsmilga/tutorial/public/index.html",
"owner": "generated_diagnostic_collection_name#1",
"code": "2322",
"severity": 8,
"message": "Type '{ charset: string; }' is not assignable to type 'DetailedHTMLProps<MetaHTMLAttributes, HTMLMetaElement>'.\n  Property 'charset' does not exist on type 'DetailedHTMLProps<MetaHTMLAttributes, HTMLMetaElement>'. Did you mean 'charSet'?",
"source": "ts",
"startLineNumber": 4,
"startColumn": 15,
"endLineNumber": 4,
"endColumn": 22
}]
See Screencap below

Looks like you have config or extension that treats HTML as JS/JSX, and not like TS issue.

@IllusionMH I am not sure i understand. Please assist and explain so that i can locate the problem. The odd thing is that this only happens when i doing a React app. Other apps e.g pure web app or embed HTML in php this does not happen.
Btw, the app works fine. Its just annoying error that misleads,

I don't know what you doing d like n your config, but probably there's wrong file association of. html to javascriptreact/typescriptreact, or extension that does this. Disable all extension (or use bisect) and/or bisect(manually) config to see what causes this problem.

We don't control this behavior and I don't know who's setting this up for you in the editor either

@IllusionMH @RyanCavanaugh ,
Sorry for the delayed update. I was about to use the Bisect extension to debug the problem when there was an update to Better Comment extension. When i reloaded the extension, the problem seems to have resolved. Hmmm...
Thank you for assisting me, especially related to the Bisect extension. Never knew that one existed.


data-inputmask: Currency format

Hi. I'm new here, this is my first post.
Forgive me if I break some rule, please instruct me in the right way if I do so.
I'm using next field mask for currency field:
data-inputmask:'alias' : 'currency' , 'prefix' : '€ '
And I have currency in format
€ 1,234,567.00
Can I somehow change currency format to
€ 1.234.567,00
Thank you.

@stojsins,
add the radixPoint option.
data-inputmask:'alias' : 'currency' , 'prefix' : '€ ' , 'radixPoint' : ','

@ RobinHerbots,
Thank you very much for support. It is fine now.


How to move tabs?

Hello! As I understand, after moving to other pc I loose all my tabs. Say me please, is any way to save tabs backups to restore it in other pc?

You can export all the groups from the preferences and import them to the new computer. However, you will only have the groups and tabs reference. You won't be able to keep the living tabs.


Drop -Werror

Please drop -Werror, at least on releases.
It makes no sense to do that and of course it makes cage fails when you compile it with clang and it is doomed to fail on any compiler or warning flag you didn’t test.

It makes no sense to do that

Care to elaborate? I like to get as much assistance from the compiler as possible. I compile Cage on Arch w/ GCC & Clang, Alpine w/ GCC and FreeBSD w/ Clang.
Also, I sense an undertone I don't like. Please don't do that. Just describe the issue you're having and try to convince me to change with sound arguments, not frustrations.

Well here is the build.log then.
I disabled “-Werror” btw as it should just not be there by default in releases, as it means that if the building environment is different from yours (compilers, libc, flags, …) it’ll probably errornously fail instead of successfully manage to build.
I could understand using it when you’re in development, but in releases you’ll just annoy packagers, specially as the release could end up failling rebuilding after an update.

I'll see if I can compile a list of compile flags to use instead of -Werror. Open to suggestions on what to include/exclude.

I'll see if I can compile a list of compile flags to use instead of -Werror. Open to suggestions on what to include/exclude.

Adding -Wall and maybe -Wextra is probably a good idea but you might have to add some -Wno- as some are quite spammy.
From gcc(1) manpage:
   -Wall
       This enables all the warnings about constructions that some users
       consider questionable, and that are easy to avoid (or modify to
       prevent the warning), even in conjunction with macros.

[…]
Note that some warning flags are not implied by -Wall.  Some of
them warn about constructions that users generally do not consider
questionable, but which occasionally you might wish to check for;
others warn about constructions that are necessary or hard to avoid
in some cases, and there is no simple way to modify the code to
suppress the warning. Some of them are enabled by -Wextra but many
of them must be enabled individually.
   -Wextra
       This enables some extra warning flags that are not enabled by
       -Wall. (This option used to be called -W.  The older name is still
       supported, but the newer name is more descriptive.)

I would ask for this as well. I fully understand the value of -Werror while developing cage itself, but for the rest of us having a build option to turn it off would be very helpful.

[2019-06-01 22:15:05-0700] Big Jake:

I would ask for this as well. I fully understand the value of -Werror while developing cage itself, but for the rest of us having a build option to turn it off would be very helpful.

Which you can actually do by passing -Dwerror=false to meson at configure time.

@lanodan perfect! Thanks


It does not work with proxies (by exporting http_proxy)

Hello!
I am trying to use the t CLI with a proxy, exported through the http_proxy environment variable.
But if I export it with $ export http_proxy=xxx.xxx.xxx.xxx:pppp, it returns :
/usr/local/lib/ruby/1.9.1/uri/common.rb:176:in split': bad URI(is not URI?): xxx.xxx.xxx.xxx:pppp (URI::InvalidURIError)
from /usr/local/lib/ruby/1.9.1/uri/common.rb:211:in parse'     from /usr/local/lib/ruby/1.9.1/uri/common.rb:747:in parse'
from /usr/local/lib/ruby/1.9.1/uri/common.rb:994:in URI'     from /usr/local/lib/ruby/gems/1.9.1/gems/faraday-0.8.4/lib/faraday/connection.rb:169:in URI'
from /usr/local/lib/ruby/gems/1.9.1/gems/faraday-0.8.4/lib/faraday/connection.rb:160:in proxy'     from /usr/local/lib/ruby/gems/1.9.1/gems/faraday-0.8.4/lib/faraday/connection.rb:46:in initialize'
from /usr/local/lib/ruby/gems/1.9.1/gems/faraday-0.8.4/lib/faraday.rb:11:in new'     from /usr/local/lib/ruby/gems/1.9.1/gems/faraday-0.8.4/lib/faraday.rb:11:in new'
from /usr/local/lib/ruby/gems/1.9.1/gems/twitter-4.1.2/lib/twitter/client.rb:55:in connection'     from /usr/local/lib/ruby/gems/1.9.1/gems/twitter-4.1.2/lib/twitter/client.rb:70:in request'
from /usr/local/lib/ruby/gems/1.9.1/gems/twitter-4.1.2/lib/twitter/client.rb:36:in get'     from /usr/local/lib/ruby/gems/1.9.1/gems/twitter-4.1.2/lib/twitter/api.rb:2348:in object_from_response'
from /usr/local/lib/ruby/gems/1.9.1/gems/twitter-4.1.2/lib/twitter/api.rb:2172:in user'     from /usr/local/lib/ruby/gems/1.9.1/gems/t-1.4.0/lib/t/cli.rb:782:in whois'
from /usr/local/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor/task.rb:27:in run'     from /usr/local/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor/invocation.rb:120:in invoke_task'
from /usr/local/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor.rb:275:in dispatch'     from /usr/local/lib/ruby/gems/1.9.1/gems/thor-0.16.0/lib/thor/base.rb:425:in start'
from /usr/local/lib/ruby/gems/1.9.1/gems/t-1.4.0/bin/t:13:in <top (required)>'     from /usr/local/bin/t:23:in load'
from /usr/local/bin/t:23:in <main>'
If I instead try to use $ export http_proxy="http://xxx.xxx.xxx.xxx:pppp", it keeps frozen for a reasonable time, maybe 2 minutes, and finally responds /usr/local/bin/t: end of file reached.
I am not really experienced with ruby, hence I do not know if the error lies on the way "t" handles something there, or if there is any issue on others Gems upon which t relies on. From my feedback, does it like like t's issue?
Thanks very much! Great tool.

Ran into this problem too.

Ran into this problem too. Did you figure it out, fgielow? (sorry for the 5 year necromancy)


Aliases that reference other aliases at the same level don't get evaluated properly

For example:
{
  $alias1: 10,
  $alias2: 20,
  $aliasTotal: {
    operator: "+",
    values: [
      "$alias1",
      "$alias2"
    ]
  },
  operator: "pass",
  value: "$aliasTotal"
}

Returns "$alias1$alias2" but should be 30

Not sure if we should change this. Aliases can currently only reference other aliases at a higher level. For now can work around with something like this:
{
  $alias1: 10,
  $alias2: 20,
  operator: "pass",
  value: {
    $aliasTotal: {
      operator: "+",
      values: [
        "$alias1",
        "$alias2"
      ]
    },
    operator: "pass",
    value: "$aliasTotal"
  }
}

// => 30

This is not really possible if we want to evaluate all the alias nodes in parallel (like they do currently), as there's no reasonable way to get them to wait for each other if they reference each other.
For now the above workaround will have to do.


Create bucket for whitehall attachments

This is used to back-up whitehall attachments.
Ticket: https://trello.com/c/DTByYmW1/51-sync-whitehall-attachments-to-s3
Related: https://github.com/alphagov/govuk-puppet/pull/4336

Updated this to rename the bucket from govuk-whitehall-attachments to govuk-attachments because it's going to take everything from /mnt/uploads on the asset-master machine, which includes asset-manager as well as whitehall. Hope that's ok!

Oh yeah, that completely makes sense and also two 🐦  one stone. Also need to update the job list in hiera :(

Just a note - paired_user allows public access to the buckets contents.

Good point! These attachments can't be public.

Paired with @deanwilson to create a different bucket

Looks fine. Merge away.


Update correct type of prop parent

Hey, I've just ran into an issue. The parent prop is defined as NodeWithChildren but it has attribs and name as props. So it should be defined as an Element. Please look into this. If this is correct, please also inform remarkablemark because we ran into this issue using his html-react-parser.
Currently we fixed this issue with the following code:
  replace: (domNode: Element) => {
      const { attribs, children, name, parent } = domNode;
      const parentAsElement = parent as Element;
      // ...
  }

Thanks!

Hi @roNn23, thanks for the PR! The structure of a well-formed page will be something like
Document
  -> Element (html)
    -> Element (head)
      ...
    -> Element (body)
      ...

The root of the document (= the Document class) will be the parent of the top-level node(s).
That's why the types are the way they are. Hope this makes sense!


Update active-directory-reporting-activity-sign-ins-errors.md

@dhanyahk : Thanks for your contribution to the Azure documentation! The author, @MarkusVi, has been notified to review your proposed change.

#please-close work already completed in private repo


Revert colors to v0.5.0

This PR reverts the colors to the previous version. Closes #23

:sob: :sob: :sob: :sob: :sob: :sob: :sob: :sob: :sob: :sob: :sob: :sob: :sob: :sob:

@philipgiuliani You missed the discussion: #23 :disappointed:
There is still the sm-high-contrast branch if you wanna clone and apm link it.
And hopefully there will be an option in the settings one day to change it.

Yes unfortunately :cry: Why should somebody search an issue if everything is (was) perfect.. :)
Thanks for the branch :+1: The high contrast branch is much better for my eyes. Option would be amazing! Isn't that possible currently?

Option would be amazing! Isn't that possible currently?

Not officially, but maybe like in @coopermaruyama comment: https://github.com/atom/atom/issues/5903#issuecomment-106163826

Lets see what people say after the next release.. :)

:weary:


Chaining pattern enabled

Chaining pattern enabled by returning this in applicable functions.
So it helps to write code like this:
var Matrix = require('node-transform-matrix'),
  m = new Matrix();
  m.translate(10,10)
    .scale(2,2)
    .rotate(.7);

Neat; thanks!

Thanks, any particular reason for name change?


New scan schedule format

Description
Changes:

Change <ClusterScan> scheduling format;
Delay scan Cronjob creation;
Adjust CRD printcolumns;
Implement tests for the new scan input types;
Update CRD manifests;
Document new scan schedule input;
Adjust scan manifest sample and setup script;

How has this been tested?
With local deployments on a virtual cluster and go-test.
Checklist

[x] I have labeled this PR with the relevant Type labels
[x] I have documented my code (if applicable)
[x] My changes are covered by tests

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


LNBits 0.11.2 + TPoS v0.5.1 - Price items can be paid only for only integer type of price

Hello,
LNBits 0.11.2 + TPoS v0.5.1 - Price items can be paid only for only integer type of price
For example I can add item with price 2.3 but when I go to checkout to cart payment - I see yellow warning at bottom of page that price is not integer type. If I add to cart only integer price items - I can pay

javascript floating point precision BS!!


Can't get correct base value in Web Worker

Describe the bug
Can't get correct base value in Web Worker.
I configured kit.paths.base in svelte.config.js.
I can't get base path when I use web worker with vite feature (like import TestWorker from '../worker?worker')
in dev mode, production mode, and prerender time.
base always returns "" (empty string) in web worker.
Reproduction
https://github.com/ssssota/sveltekit-worker-incorrect-base
live demo: https://ssssota.github.io/sveltekit-worker-incorrect-base/
Logs
No response
System Info
sveltekit-worker-incorrect-app-module on  main is 📦 v0.0.1 via ⬢ v14.17.0 on ☁  ap-northeast-1 took 3s
❯ npx envinfo --system --binaries --browsers --npmPackages "{svelte,@sveltejs/*,vite}"

  System:
    OS: Windows 10 10.0.19042
    CPU: (12) x64 AMD Ryzen 5 2600 Six-Core Processor
    Memory: 7.41 GB / 15.93 GB
  Binaries:
    Node: 14.17.0 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.11 - ~\AppData\Roaming\npm\yarn.CMD
    npm: 7.20.2 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Chrome: 94.0.4606.71
    Edge: Spartan (44.19041.1023.0), Chromium (94.0.992.38)
    Internet Explorer: 11.0.19041.1202
  npmPackages:
    @sveltejs/adapter-static: ^1.0.0-next.20 => 1.0.0-next.20
    @sveltejs/kit: ^1.0.0-next.180 => 1.0.0-next.180
    svelte: ^3.43.1 => 3.43.1

Severity
serious, but I can work around it
Additional Information
src/service-worker.js can't import $app/paths with build errors

This is a tricky one. In the paths.js module, base is initialised to "", and it's only once the app boots that it gets set to the correct value: https://github.com/sveltejs/kit/blob/c394362cf7f3714ce32845f21d11678bb35b2d88/packages/kit/src/runtime/paths.js#L1-L11
Since the worker gets a different copy of the module than the main thread, the set_paths call doesn't affect the worker copy.
To be honest I'm not sure what a good solution to this would be. For now I think working around it by passing a message to the worker from the main thread is the best answer.


add log-cleanup sidecar to scheduler/worker pods

Right now, if worker/scheduler pods run for long periods of time, they may accumulate so many logs under logs.path that they may cause issues.
We should allow users to deploy a sidecar that is responsible to truncate log files after some period of time.
Here are some example values for what this feature may look like:
scheduler:
  logCleanup:
    # if the sidecar container is added to the scheduler Pod (default: true)
    enabled: true

    # resources for the ContainerSpec
    resources: {}

    # number of seconds to retain log files after their last-modified time (default: 15 days)
    retention: 21600

    # number of seconds between each truncation loop (default: 15 min)
    interval: 900

workers:
  logCleanup:
    ## SAME AS ABOVE

WARNING: we should NOT allow {scheduler,workers}.logCleanup.enabled and logs.persistence.enabled to be true at the same time (using ./_helpers/validate-values.tpl) as multiple of the sidecars may fight with each other. In the error message, tell users that they could create an airflow job instead.

This issue is related to memory usage increasing over time when our scheduler liveness probe is enabled.
Something about how https://github.com/apache/airflow/issues/14924 was fixed does not fix our scheduler liveness probe, which seems to have ever-increasing cache memory usage (with some improvement gained from deleting the scheduler log files).


Delete the v1 tag

Related to https://github.com/simple-icons/simple-icons/pull/10200.
We can delete the v1 tag to support simple-icons/release-action@v1 kinda of usage. To get the latest updates.
@mondeja What do you think?

Sure, I've deleted it! 🐎


Start adding pgm package.

Codecov Report
Attention: Patch coverage is 0% with 382 lines in your changes missing coverage. Please review.

Project coverage is 56.78%. Comparing base (6b080d7) to head (61eb7bf).

Files with missing lines
Patch %
Lines

pgm/wrap.go
0.00%
145 Missing :warning:

pgm/tpgm/pgm.go
0.00%
67 Missing :warning:

pgm/transaction.go
0.00%
47 Missing :warning:

pgm/background.go
0.00%
45 Missing :warning:

pgm/pg.go
0.00%
33 Missing :warning:

pgm/options.go
0.00%
19 Missing :warning:

pgm/migrations.go
0.00%
12 Missing :warning:

pgm/adapter.go
0.00%
10 Missing :warning:

pgm/config.go
0.00%
4 Missing :warning:

Additional details and impacted files
@@             Coverage Diff             @@
##             main       #3       +/-   ##
===========================================
- Coverage   86.17%   56.78%   -29.40%
===========================================
  Files          15       24        +9
  Lines         738     1120      +382
===========================================
  Hits          636      636
- Misses        102      484      +382

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


Support remote.name.pushurl correctly to fix #945

Fixes #945
Right now git-lfs ignores the use of 'remote.[name].pushurl' in asymmetrical pull/push situations (within a single remote). This PR changes the way Endpoints are built so that the operation ("download" or "upload") is taken into account and the pushurl is used as a basis instead of the url when pushing. This avoids git-lfs behaving inconsistently with Git itself & the resulting confusion.
Also add support for 'remote.[name].lfspushurl' and global 'lfs.pushurl' so that push versions of urls are supported everywhere you might configure them.
This also affects the Access flags which are stored & looked up alongside the correct url based on whether you're pulling or pushing, in case the 2 urls have different auth mechanisms.

Thanks for tackling this! I tend to forget pushurl exists.


Overview / Nodes / Memory Info is not right

data is not right
should display 20MB, 2.5GB...

emqttd_vm:get_memory()   total_memory  used_memory


Port grayscale tests in test_tranforms to pytest

Refactor Group M as mentioned in #3945

test_to_grayscale
test_random_grayscale

All unittests runs are green, I'll merge.  Thanks!!


Fix mutation bug

Fix mutating messageList array, which can avoid updated changes to be tracked

Hey @JavierMartinz I tried to merge your changes but I had to modify something, can you confirm me that the bug is resolved with this PR? https://github.com/mattmezza/vue-beautiful-chat/pull/23

Hey, @mattmezza yes. Sorry, I thought spread operator was supported

I still need to merge this and release it in the next cycle. For the moment I am gonna close cause it is implemented in #23


how can I import external js modules

does system design support to import js modules from npmjs repo and call it in behavior?

As shown in the example here, in Electron version of the app you can import core node libraries and test it right away in System Designer.
For modules from npm, you can require it normally in behaviors, but you can not test it with System Designer. You will need to export the system in Node.js format and follow these steps of the documentation:

Install System Runtime:

npm install system-runtime

Install the library you want to use:

npm install moment

Execute your file:

node mysystem.js
I will update the documentation to explain how to use a npm module.

When I export my system to Node and run it as per these instructions, I get the following error: "runtime: error when calling the action 'render' on component 'page-html' (HTMLComponent class): document is not defined". This occurs for every reference to 'document'.
This error does not occur in System Designer.
Am I missing something?

It does not work because the system you run with node contains a reference to document (see https://developer.mozilla.org/en-US/docs/Web/API/document) which is not managed by Node.js.
It works in System Designer because the system is executed in a browser (Chromium for the desktop version to be more precise), so you have access to document.
I will update the documentation to add this missing information.

That makes sense, thank you.
Tjerk
On Wed., Mar. 2, 2022, 6:03 p.m. Erwan Carriou, @.***>
wrote:

It does not work because the system you run with node contains a reference
to document (see https://developer.mozilla.org/en-US/docs/Web/API/document)
which is not managed by Node.js.
It works in System Designer because the system is executed in a browser (
Chromium for the desktop version to be more precise), so you have
access to document.
I will update the documentation to add this missing information.
—
Reply to this email directly, view it on GitHub
https://github.com/design-first/system-designer/issues/137#issuecomment-1057479108,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXORIMSRBZ7ZD7DGU6SQFS3U57XUVANCNFSM4R2XKUMQ
.
You are receiving this because you commented.Message ID:
@.***>

I'm trying the exact example you provide in test-a-server-side-application and I'm getting the following error:
error: error when calling the action 'start' on component 'be94220d-f394-4dec-8532-0a05401cef76' (_System class): require is not defined
I don't understand what I'm missing here...

Hmm, I haven't checked the version, I'll make sure it's up to date and I'll
try again.
Thanks,
Tjerk
On Tue., Apr. 12, 2022, 1:37 p.m. Erwan Carriou, @.***>
wrote:

Did you have the last version of System Designer (v5.2.0) ?
—
Reply to this email directly, view it on GitHub
https://github.com/design-first/system-designer/issues/137#issuecomment-1097005821,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXORIMSNQDIMVBBIE7TPBYTVEWYGPANCNFSM4R2XKUMQ
.
You are receiving this because you commented.Message ID:
@.***>

My version was out of date...
I'll have to remember to check for new versions 😀
Finally off to the races!
Thank you 🙏
Tjerk
On Tue., Apr. 12, 2022, 1:37 p.m. Erwan Carriou, @.***>
wrote:

Did you have the last version of System Designer (v5.2.0) ?
—
Reply to this email directly, view it on GitHub
https://github.com/design-first/system-designer/issues/137#issuecomment-1097005821,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXORIMSNQDIMVBBIE7TPBYTVEWYGPANCNFSM4R2XKUMQ
.
You are receiving this because you commented.Message ID:
@.***>


feature request for menu - mac support

mac has a very specific way of doing menus. Would be nice if iced supported it. fltk-rs has sys-menu-bar which does the real menu bar on macos, and the classic , in app, menu bar on other platforms
I am not a mac guru so can't really offer a solution

we can not support OS based menu's in iced_aw. if you need that, acquire about it on iced.  we only support our widget based menu here. which should for work mac etc. But it is not our goal here to support OS based features.


set correct modul-entry point

The module entry point refers to a main.js and should point to the app.js

Hey Jan, I noticed this before noticing your PR, it should be fixed now along with some other updates to the package.json in preparation for the Insomnia Plugin hub. Thank you so much for testing the plugin! 😊


Stop enumerating the disk if MonoAndroidAssetsPrefix is unset

If you don't have MonoAndroidAssetsPrefix set for whatever reason, any attempt to interact with this project will currently result in an enumeration of your entire disk via the glob /**/*.

Thanks for the PR!
I noticed this as well where starting to use Maui in F# but did not reproduce it after that 🤔
I changed it to $(AndroidProjectFolder) as this one should always be present.


PoC NIO SocketServer implementation

Changes

Add NioServer

Explanation
Send 'Hello' when new clients arrive.
Print and echo every message when received message from clients.

Thanks for your comment, I'll discuss with @a8901053


Incorrect UI scale in editor

Godot version: 3.3.stable

OS/device including version: Manjaro Linux

Issue description:

The GUI in the editor is way too small. The scale is correct in 3.2 and older

Steps to reproduce:
N/A
Minimal reproduction project:

N/A

What is your display resolution?
Maybe it is a result of this PR https://github.com/godotengine/godot/pull/43611

My main display is 1366x768, and I have another 1920x1080. If I open it with the larger display connected as well, it's the right scale, so that pull request is probably the reason. Is there a way to stop the scale from changing?

I'm not sure, but it looks like you can override the automatic display scale using interface/editor/custom_display_scale in the editor settings!
Give that a try and let me know how it goes.

Yeah, that works! Cool, since the borders work on small scales now I might switch back sometimes but this did what I want for now. Thanks :)

What's surprising though is that your screenshot is 814 pixels tall, yet the 0.75 scale factor is being applied even though it's supposed to apply only to displays less than 800 pixels tall.

Looking at it, I think the screenshot was taken on my external monitor to be able to see both windows easily. I plugged it in after launching both just to take the screenshot, so the engine just didn't know about the new display size.


Development branches

To do for each repository with an incubator or development branch:

Migrate "incubator" repos to "development" branches of renga-* repositories, when ready
At the same time, add a disclaimer/cautionary note to the README in the master and development branches.
Update the README in the development branch to reflect the new component
Protect the development branch.

[x] renga
[x] renga-python (add a note/disclaimer to README)
[x] renga-ui
~- [ ] incubator-renga-graph~ (not working on it this sprint)
[x] renga-storage (create the development branch)

currently active repos updated


python3Packages.spacy: 2.3.3 -> 2.3.4

Motivation for this change
This is a bugfix release:
https://github.com/explosion/spaCy/releases/tag/v2.3.4
Things done

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

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

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

Result of nixpkgs-review pr 105328 run on x86_64-linux 1

4 packages built:

python37Packages.spacy
python37Packages.textacy
python38Packages.spacy
python38Packages.textacy

Result of nixpkgs-review pr 105328 run on x86_64-darwin 1

4 packages built:

python37Packages.spacy
python37Packages.textacy
python38Packages.spacy
python38Packages.textacy


symbol lookup error

I successfully installed pyFlighAnalysis but I'm stuck when trying to start it. I'm using Ubuntu 18.04 and I have next error:
egor@egor:~/Documents/pyFlightAnalysis/src$ python analysis.py
python: symbol lookup error: /usr/lib/x86_64-linux-gnu/libGLX_mesa.so.0: undefined symbol: xcb_dri3_get_supported_modifiers
What seems to be the problem and how can I resolve it ?

Could you give me more information, such as python running environment and packages list.

Duplicate of #14
Marxlp, sorry for bothering, I solved my problem via installing it using conda =)
But now I have next issue:

`Traceback (most recent call last):

File "/home/follia/anaconda3/bin/analysis", line 11, in
load_entry_point('pyFlightAnalysis==1.0.7b0', 'console_scripts', 'analysis')()
File "/home/follia/anaconda3/lib/python3.6/site-packages/pyflightanalysis/analysis.py", line 707, in main
mainwin = MainWindow()
File "/home/follia/anaconda3/lib/python3.6/site-packages/pyflightanalysis/analysis.py", line 146, in init
self.quadrotor_win = QuadrotorWin(self)
File "/home/follia/anaconda3/lib/python3.6/site-packages/pyflightanalysis/widgets.py", line 65, in init
self.quadrotor_widget = QuadrotorWidget(self.quadrotor_win_main_widget)
File "/home/follia/anaconda3/lib/python3.6/site-packages/pyflightanalysis/widgets.py", line 196, in init
glutInit()
File "/home/follia/anaconda3/lib/python3.6/site-packages/OpenGL/GLUT/special.py", line 333, in glutInit
_base_glutInit( ctypes.byref(count), holder )
File "/home/follia/anaconda3/lib/python3.6/site-packages/OpenGL/platform/baseplatform.py", line 407, in call
self.name, self.name,

OpenGL.error.NullFunctionError: Attempt to call an undefined function glutInit, check for bool(glutInit) before calling`

But, I quess this problem caused by my sysytem

It seems that freeglut is missing on your system. Try:

sudo apt-get install freeglut3
sudo apt-get install freeglut3-dev

@Marxlp  Thank's a lot! that worked out


How to specify compiler for the languages "c++"

This is a very good nvim extension and I am using it everyday recently.
Issue: I want to specify the c++ compiler as below
require("compiler-explorer").setup({
    -- url = "https://godbolt.org",
    url = "http://localhost:8888",
    languages = { -- Language specific default compiler/flags
        c++ = {
            compiler = "clang++default",
            compiler_flags = "-O0 -Wall -pedantic -fno-exceptions -std=c++20",
        },
    },
})

But lua does not support + in language name such as c++. I have tried to change it to cpp, also not work.
Is there any way to solve this? Looking forward for your reply.

Hi. Thanks for the kind words. I think you can specify table keys with special characters by using different syntax. This should work:
require("compiler-explorer").setup({
    -- url = "https://godbolt.org",
    url = "http://localhost:8888",
    languages = { -- Language specific default compiler/flags
        ["c++"] = {
            compiler = "clang++default",
            compiler_flags = "-O0 -Wall -pedantic -fno-exceptions -std=c++20",
        },
    },
})

Many thanks! It solves my issue perfectly.


Submodules update and support for double precision

Hi and sorry for the previous botched PR.
This PR:

updates faustgen2~ to current Faust (2.54.9) and Pure Data (0.53-1) versions
adds an option for double precision compilation which needs the latest pd.build version (in which I also made a PR for supporting PD_FLOAT64 compilation flag that has been merged by Pierre Guillot)

I hope you'll find this useful and that this PR meets your coding standards.
Best regards,
Yoann

Sorry, failed again to correctly commit only needed changes :/


we must not use  disk_cache

During my usage , many instances crashed , i was using disk cache .
the setting is here => Edit / Preferences / system / video sequencer / use_disk_cache
This was not design to be access by multiple process
And i add a safety on the memory cache size  ,so  all workers will not consume all RAM , if you have set a agressive value

Codecov Report

Merging #32 (fe540b8) into master (b350ae5) will decrease coverage by 0.20%.
The diff coverage is 75.00%.

@@            Coverage Diff             @@
##           master      #32      +/-   ##
==========================================
- Coverage   99.79%   99.58%   -0.21%
==========================================
  Files           1        1
  Lines         477      481       +4
==========================================
+ Hits          476      479       +3
- Misses          1        2       +1

Impacted Files
Coverage Δ

scripts/addons/parallel_render.py
99.58% <75.00%> (-0.21%)
:arrow_down:

Continue to review full report at Codecov.

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


[Enhancement] Add Events for Player Kills, and Entity Kills

Hi, thank you for creating this mod! Super useful, and prevents me from having to use datapacks or the like. Would it be possible for you to add event(s) for when a player kills another player, and/or when a player kills another entity? Currently detecting this with commands is laggy and fairly messy, and it would be great to have a smoother way to do it. Thanks!

Thanks for the suggestion! I'm planning to do a refactor of the mod config in the next days, so this feature should be there on the next update. Any suggestion on how it should look on the config file?


How does one utilize externalLabels

What happened?
I'm trying to figure out how to utilize externalLabels as documented, but I do not see the desired configuration inside of the generated prometheus.yml configuration of the running container.
Did you expect to see some different?
Based on the documented details, I would've expected the prometheus.yml file to contain something like this:
# my global config
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).
  external_labels:
    env: pre
...

Instead, the external_labels item is missing entirely.
How to reproduce it (as minimally and precisely as possible):
Environment

Prometheus Operator version:

v0.30.1

Kubernetes version information:

1.13.6

Kubernetes cluster kind:

GKE

Manifests:

 apiVersion: monitoring.coreos.com/v1
 kind: Prometheus
 metadata:
   name: release-name-prometheus-op-prometheus
   labels:
     app: prometheus-operator-prometheus

     chart: prometheus-operator-5.12.1
     release: "release-name"
     heritage: "Tiller"
 spec:
   alerting:
     alertmanagers:
       - namespace: monitor
         name: release-name-prometheus-op-alertmanager
         port: web
         pathPrefix: "/"
   baseImage: quay.io/prometheus/prometheus
   version: v2.9.1
   externalLabels:
     env: pre

Anything else we need to know?:
I am using the stable/prometheus-operator helm chart to deploy this.  The latest version contains support for supplying the externalLabels into the prometheus-operator.

Are you sure that you are running the latest version of the chart.

Indeed I am.  I did find it odd that in my output above I saw version 5.12.1, however:
% helm list
NAME    REVISION        UPDATED                         STATUS          CHART                           APP VERSION     NAMESPACE
gitlab  1               Tue Jun 18 08:41:26 2019        DEPLOYED        prometheus-operator-5.12.3      0.30.1          monitor
% helm search stable/prometheus-operator
NAME                            CHART VERSION   APP VERSION     DESCRIPTION
stable/prometheus-operator      5.12.3          0.30.1          Provides easy monitoring definitions for Kubernetes servi...

After further testing, this is indeed working.  When looking at configuration files, there's two of them inside of the pod, I was simply looking at the incorrect one:

/etc/prometheus/prometheus.yaml
/etc/prometheus/config_out/prometheus.env.yaml

The latter is being utilized by the prometheus service
/prometheus $ ps -efl | grep prometheus
    1 1000      1:25 /bin/prometheus --web.console.templates=/etc/prometheus/consoles --web.console.libraries=/etc/prometheus/console_libraries --config.file=/etc/prometheus/config_out/prometheus.env.yaml --storage.tsdb.path=/prometheus --storage.tsdb.retention.time=4w --web.enable-lifecycle --storage.tsdb.no-lockfile --web.external-url=http://gitlab-monitoring-promethe-prometheus.monitoring:9090 --web.route-prefix=/ --storage.tsdb.min-block-duration=2h --storage.tsdb.max-block-duration=2h

After learning to correctly query through a thanos-query instance that is properly wired, I can confirm that I had originally done a few incorrect things:

I was querying prometheus directly, which will not show these external labels
I was looking at the wrong configuration file.

There's no issue here, just a need to learn how things all work together.


Directly Str class instead of the helper

Why?

To avoid calling str_iswhich will itself calls Str::is

the functions look a bit cleaner IMHO. Just like how I like to use get() post() put() delete() in my routes file.

Mostly we avoid calling an unnecessary wrapper for Str::is and this impacts performances.

It's true. There could be for example hundreds of permissions. So it could have impact.


rm v2 directory interfaces

Remove v2 directory support from go-edge-ds, v2 was already disabled per topaz v0.32.0, this PR removes the code.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
139 unchanged lines in 10 files lost coverage.
Overall coverage decreased (-2.0%) to 25.483%

Files with Coverage Reduction
New Missed Lines
%

pkg/directory/directory.go
1
70.23%

pkg/bdb/migrate/mig/mig.go
2
27.37%

pkg/bdb/boltdb.go
5
53.85%

pkg/bdb/metadata.go
5
69.57%

pkg/ds/object.go
6
53.85%

pkg/bdb/scanner.go
8
34.31%

pkg/bdb/generic.go
8
38.1%

pkg/ds/relation.go
15
56.05%

pkg/directory/v3/writer.go
40
30.11%

pkg/directory/v3/reader.go
49
13.64%

Totals

Change from base Build<PHONE_NUMBER>:
-2.0%

Covered Lines:
857

Relevant Lines:
3363

💛  - Coveralls

@carabasdaniel Thanks for the review, the commented out test I will remove, these should indeed not be there


Feature request - An option to update references to regular html files

I have an already made html file (index.html) that I do not want to rewrite. I do not want to use "blueimp template" as well. Is there an option to add this to this plugin?
Thanks!

This is being worked on See #15


Change the stream creation

Make it idempotent as Java client does.

Oh, this is going to be great! I had to create some explicit logic for only creating the stream when it doesn't already exist which felt inconsistent with the other RabbitMQ experiences (like AMQP).
I wonder: when it already exists but we make a creation request with different configurations like changing the max length or message TTL, is the existing stream going to be reconfigured? Or are they "immutable" after creation?

It will return an "precondition fail" error


Increase font-size and line-height Values

For desktop, increase the font-size and
line-height CSS property values for the paragraph
and list items within the documentation body
content. Adjusting these properties will make
the information a little easier to read.
Currently, the information is a bit too condensed
making it difficult to read.
Before:

After:

This change is

Reassigning to @devin-donnelly to make the call

See issue #1550 for additional suggestions for the CSS  tag

@devin-donnelly what should we do about this?

I came here to make almost this exact same suggestion and PR (if one didn't exist yet). Pleased to find it's already up for review.
Increasing the line height will go a long way in making the docs more pleasant to read. 👍


Allow Var to be a key in a JAX tree

Is the main goal to be able to use Var in a pytree as inputs to transformed functions? How do you envision this being used?

I'm prototyping something that requires evaluating subsets of eqns in jaxprs. It is quite convenient to model this as functions from f(x: Mapping[core.Var, Value]) -> Mapping[core.Var, Value] but I can't trace the resulting f (e.g. for gradients or jit) since core.Var is not orderable.
I can currently work around this by passing Sequence[Tuple[core.Var, Value]] but that is more boilerplatey.

Actually the workaround I mentioned (using Seq[Tupl[..]]) doesn't work when I jit :) I'll need to make something that wraps core.Var and adds compare by count for now.

Thanks for explaining! We're happy to help with prototypes. Our dream is for JAX to make it easy to stand up new prototypes and experiments, not just for ML but for systems and languages too.
For prototypes it might also be feasible to rely on things like monkey-patching JAX. But in this case the change is lightweight enough that there's little reason not to merge it speculatively.
Do let us know if you stop needing this, though!

Somehow I find it strange that something as internal as Var needs to be used in the API of user functions. Would an alternative be to define your functions as taking Sequence[Value] where the order is based on the ordering of the jaxpr.invars? This is what we do for the traceable evaluators of jaxpr.


Allow domain admins to inform tags when creating offerings

Description
ACS only allows root admins to enter tags during the creation of service, disk, and network offerings; however, in private cloud environments, domain admin accounts may have autonomy and knowledge of the infrastructure, being able to direct resources according to their needs.
To enable this behavior, a new account-level setting (allow.domain.admins.to.create.offerings.with.tags) has been created. When disabled (default), the previous behavior is maintained; when enabled, the domain admin account can enter tags when creating disk and service offerings. As we did not see a use case for network offering tags, these were not touched, that is, this new configuration will not affect network offering creation.
In addition, the UI has been changed to allow domain admins to inform these fields when the configuration is enabled. To enable this UI behavior, a new API was created, isAccountAllowedToCreateOfferingsWithTags, which only receives the ID of the account to be validated, and returns true if the account can create offerings with tags and false otherwise.
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[X] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[X] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[ ] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?
With the  allow.domain.admins.to.create.offerings.with.tags set to false (default), and using CloudMonkey logged in as a domain admin, I tried to call the create/update service/disk offering APIs while passing some tags as parameters, all the calls returned exceptions.
I Then set the configuration to true, and recalled the APIs with the same parameters, and all of them successfully ran.
In the UI, logged in as a domain admin, and the allow.domain.admins.to.create.offerings.with.tags set to false, I opened the create disk/compute offering forms, and the tags fields did not appear.
I then set the configuration to true, and retried opening the create disk/compute offering forms, the tags did appear, and I successfully created the offerings.

@blueorangutan package

@JoaoJandre
please have a look at the errors with Simulator CI (ignore the errors with test_tags )

@JoaoJandre
what's the goal of this enhancement ?

@JoaoJandre please have a look at the errors with Simulator CI (ignore the errors with test_tags )

The only error without test_tags was an insufficient capacity exception in a VM deploy and it doesn't look correlated with this PR.

@JoaoJandre what's the goal of this enhancement ?

ACS only allows root admins to enter tags during the creation of service, disk, and network offerings; however, in private cloud environments, domain admin accounts may have autonomy and knowledge of the infrastructure, being able to direct resources according to their needs.
To enable this behavior, a new account-level setting (allow.domain.admins.to.create.offerings.with.tags) has been created. When disabled (default), the previous behavior is maintained; when enabled, the domain admin account can enter tags when creating disk and service offerings.

@JoaoJandre please have a look at the errors with Simulator CI (ignore the errors with test_tags )

The only error without test_tags was an insufficient capacity exception in a VM deploy and it doesn't look correlated with this PR.

@JoaoJandre
there is another error test_affinity_groups_projects, which may or not be related to your change.

@JoaoJandre what's the goal of this enhancement ?

ACS only allows root admins to enter tags during the creation of service, disk, and network offerings; however, in private cloud environments, domain admin accounts may have autonomy and knowledge of the infrastructure, being able to direct resources according to their needs.
To enable this behavior, a new account-level setting (allow.domain.admins.to.create.offerings.with.tags) has been created. When disabled (default), the previous behavior is maintained; when enabled, the domain admin account can enter tags when creating disk and service offerings.

@JoaoJandre
for domain admins, how do they get the list of available tags ?

@JoaoJandre please have a look at the errors with Simulator CI (ignore the errors with test_tags )

The only error without test_tags was an insufficient capacity exception in a VM deploy and it doesn't look correlated with this PR.

@JoaoJandre there is another error test_affinity_groups_projects, which may or not be related to your change.

That is the one I was talking about, the test_affinity_groups_projects test's error doesn't look correlated with this PR.

@JoaoJandre what's the goal of this enhancement ?

ACS only allows root admins to enter tags during the creation of service, disk, and network offerings; however, in private cloud environments, domain admin accounts may have autonomy and knowledge of the infrastructure, being able to direct resources according to their needs.
To enable this behavior, a new account-level setting (allow.domain.admins.to.create.offerings.with.tags) has been created. When disabled (default), the previous behavior is maintained; when enabled, the domain admin account can enter tags when creating disk and service offerings.

@JoaoJandre for domain admins, how do they get the list of available tags ?

@weizhouapache the default domain admin role has permission to list storage and host tags.

@JoaoJandre please have a look at the errors with Simulator CI (ignore the errors with test_tags )

The only error without test_tags was an insufficient capacity exception in a VM deploy and it doesn't look correlated with this PR.

@JoaoJandre there is another error test_affinity_groups_projects, which may or not be related to your change.

That is the one I was talking about, the test_affinity_groups_projects test's error doesn't look correlated with this PR.

OK. closed/reopened this PR to rekick the simulator CI. let's see

it could do with an integration test though

@DaanHoogland a Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 5211

@blueorangutan test

@DaanHoogland a Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests


Remove secure headers if domain changed

API change check
API changes are not detected in this pull request.


Embedding Example

Requires Api key to create embedding but no direction as to how in the example.
https://github.com/64bit/async-openai/blob/f6b04b54d5627a18a1f3c376f878290b92ef571a/examples/embeddings/src/main.rs#L21
This can be resolved by including .with_api_key("insert api key")

Hello @Doordashcon,
Its not specific to any example. You have to provide API key for any API calls to work which by default you can provide through OPENAI_API_KEY environment variable, as mentioned here https://github.com/64bit/async-openai#usage

Oh I see, so when deploying your applications you just need to pass in the env to the hosting service. That’s great!


A lot of output locks up then crashes hyperterm

Tested under Ubuntu 16.04.
When running:
time ls -lR /usr

Hyperterm locks up to 1 frame every few seconds and crashes (turns all black then all white) shortly afterwards.

By comparison, gnome-terminal runs in:
real    0m6.967s
user    0m1.372s
sys 0m2.444s

This is almost certainly an issue with hterm and a use case they haven't optimized around. As an aside, we've worked a bit to get this usable on xterm.js which runs it in around 10 seconds but there are still improvements to be made.

@Tyriar, is this still the case?

@CodeTheory  yes 😞

I don't know if I'm having the same issue.
With commands that generate a lot of output, Hyper will stop responding.
Memory usage keeps going up, and then it just stops responding.
This command will do that:
time ls -lR /usr

This is affecting me too.

Had to switch to an alternate terminal today when this popped up.

I can second this. Deal breaker for me, too. Had to sadly switch back to Terminal.app today, much as I love Hyper.js.

Somehow related I assume: hangs when doing npm install of a moderate size (nothing crazy, 20-30 direct dependencies) on macOS (MBP 2017, SSD, 16GB RAM).
Eventually it gets back to normal, but until then it's completely unresponsive.

Definitely a deal breaker - I want to use hyper but it's impossible to do so when it doesn't really seem to be able to handle giant outputs/logs in a day-to-day dev environment. Hoping some more progress is made on the performance side of things.

This is happening to me too, hyper crashes all the time after I do npm installs, what could it be?

@bntzio This issue is supposed to be fixed in our canary release (using xtermjs instead of hterm ).
Can you confirm you use stable release?

macOS 10.13.1

Hyper 1.4.8

Plugins:
  hyperterm-atom-dark (1.1.2),
  hyperlinks (0.5.0),
  hypercwd (1.1.1),
  hyperterm-alternatescroll (1.3.0),
  hyper-tabs-enhanced (0.4.2)

I have a directory with 266310 text files (csv data dumps) on a remote server. When connected over ssh, executing ls freezes Hyper completely. I can't access any tab or do anything other than hitting ⌘+Q loosing all tabs. I can't even open DevTools.
Native Terminal.app works just fine.
Using canary release 2.1.1 it also locks but eventually finishes displaying all output. But there are errors - please see attachments.
This exception is thrown right before displaying all output:

There are 20583 following errors listed in console
/Users/jakub/.hyper_plugins/node_modules/hypercwd/index.js:32 Error: spawn /bin/sh EAGAIN
    at exports._errnoException (util.js:1050)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:193)
    at onErrorNT (internal/child_process.js:367)
    at _combinedTickCallback (internal/process/next_tick.js:80)
    at process._tickCallback (internal/process/next_tick.js:104)

DevTools performance profiling

@chabou using Hyper 1.4.8 (stable)

Has any progress been made on this? Still an issue with 1.4.8 stable. I am using zsh instead of bash if it makes any difference?

@AlienHoboken this issue should be fixed in the Canary build (v2.x).

The same is happening for me.. Sometimes I have to run cURL commands on terminal and it returns a big output that instantly crash Hyper.js.

@iamvinny Can you try the canary release? It certainly stress tests your systems but it does't lock up Hyper for me anymore.

@timothyis , thanks, changing the update channel to canary solved the problem.

V2 is out 🎉


Update main figure 3

Update main figure 3
In this PR, main figure 3 is updated to include the new model results. Small documentation changes were added to README related to the data used in this figure, to simplify and provide further clarity.

@MattsonCam Thanks for the review! I am merging now!


grafana: 6.4.0 -> 6.4.1

Motivation for this change
https://github.com/grafana/grafana/releases/tag/v6.4.1
Things done

[ ] 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)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Notify maintainers
cc @WilliButz

@WilliButz already prepare something 👍
#70231


deps: Bump ubuntu-build-image:base -> 458cb49ca

Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

this should fix the missing run-clang-tidy.py issue cc @KBaichoo @adisuissa
cc @jpsim for mobile updates

@jpsim updated, hopefully correctly