Indentation doesn't work for ":"

Any possible way to fix this?

indent-blankline just draws the indent guides, it does not change how the code is indented.
This is not related to this plugin, sorry I can't help you with that.


Add context menu to Script Editor script list

A context menu will appear when the script list/outline is right clicked.
The context menu may have Save, Save As, Close, Soft Reload Script, Run, and Toggle Scripts Panel, depending on what item was clicked.

Superseded by #12869.


Tuya curtains become unavailable after adding them in HA

Hi after pairing the app and successfully adding curtains from the smart life app, they are not available to control.
Devices are controllable from the smart life app on the iPad, but not controllable after adding them in HA. I have tried multiple times to remove smartlife from HACS, restarting it, reading, etc.
Maybe it's similar to this issue as well:
Integration not able to fetch device status on startup or reload
Diagnostics file:
smartlife-dacc79a7d837e1f8dd010fa099730156-Wifi Roller Shade Converter 5-1e622b7585bea5c222249cbe5337f5f3.json.txt

Same device, different entities, some unavailable, some available? What version of Home Assistant Core has the issue?

It happens to all of 5 them, I have just one type of device, curtains. They appear as 5 devices and 10 entities once they initialise. They are successfully added in the HA, but they appear as unavailable. I have the latest version of HA, the smartlife plugin is the latest in HACS.

There are some additional errors in the debug log
home-assistant_smartlife_2023-11-07T09-57-37.474Z.log

Interface return value type error fixed, please reload the smartlife integration try again.
Thank you for providing the debug log.

Works now, thanks!


Add this kaggle attempt as tutorial

https://github.com/stefanjwojcik/mm2020/issues/1

Basically we should just link to it. It would give more creds to original author + there's a fair bit of pre-proc code and it relies on a dataset that we can't serve.

it relies on a dataset that we can't serve.

Oh well.
A link would be good.

In general it would be nice to have a link to as many MLJ codes for ML datasets which are also featured on Kaggle:
-Note: many datasets below (Boston, Ames, MNIST etc)  DO NOT belong to Kaggle
-Some of these links are competitions, others just practice, some ongoing, some not
Boston: https://www.kaggle.com/c/boston-housing
Ames: https://www.kaggle.com/c/house-prices-advanced-regression-techniques
Titanic: https://www.kaggle.com/c/titanic
MNIST: https://www.kaggle.com/c/digit-recognizer
Iris: https://www.kaggle.com/uciml/iris
Pima: https://www.kaggle.com/uciml/pima-indians-diabetes-database
King County: https://www.kaggle.com/harlfoxem/housesalesprediction/kernels
https://rdrr.io/cran/moderndive/man/house_prices.html


WIP - Add release cadence document

Signed-off-by: Mike Ng<EMAIL_ADDRESS>for https://github.com/open-cluster-management-io/community/issues/148

@mikeshng is this ready for review?

@mikeshng is this ready for review?

It's been a while and I don't remember why I put it in draft/WIP. 😓 Putting it in ready for review because it looks ok.

/lgtm


allow lib clients to inject a custom http client (other than the default one)

using always the default http client could not be 100% safe and/or convenient because other libs could also be using/instrumenting/monitoring the default client and/or transport.
On the other side, this minor change will allow more secure configurations for the JWK client, such as certificate pinning, cipher suite restrictions, and so on. I've kept the default http client as a fallback but maybe we should set up a more secure client configuration by default

Coverage decreased (-0.8%) to 93.953% when pulling 555495804e131f7253f6bb4bfc93f8a4c8bd673a on kpacha:custom_http_client into ac84847319d2d9c15a4fa3093715f5bb7bcf4487 on auth0-community:master.

Thanks for the pull request 👍 Could you update the tests as well? Regarding the configuration change, let's not break backward compatibility for now. We could update and propose a better security settings in the future.

I've added a couple of tests:

one checking the errors received when calling http.NewRequest are properly managed
one checking the system works as expected when using a custom http.Client

Let me know if this is what you were asking for.

Thanks for the updates :) I'll merge it.


Import failure on google colab

I try to install the bayesian-optimization package on google colab with the following code
''''
%%capture
#!pip install bayesian-optimization
''''
then import is using
'''
from bayes_opt import BayesianOptimization
'''
it fails

 #!pip install bayesian-optimization

you have a # before your shell command. Removing it does install bayesian-optimization and the import works.

!pip install bayesian-optimization
Then import
from bayes_opt import BayesianOptimization
You can close it now.


feat: add pallet-identity

Signed-off-by: Gregory Hill<EMAIL_ADDRESS>

Tbh I'm not sure, though I think we do that to adjust the numbering of pallets in our runtime so entries can be grouped more easily. See for example the Acala runtime where groups start at multiples of 10.

I'd be happy to merge this pending the comments above - I guess the grouping should possibly happen in a different PR though?


make .Stream handle error status codes

The implementation of .Stream() didn't handle non-2xx http status codes.  If the return code is non-2xx, .Stream now returns an error.  It attempts to convert the body contents into a status error to return, but if it is unsuccessful, the error indicates the http status code and the body content.
@smarterclayton This fixes what bit unauthorized build-logs.

What callers of Stream existed in the Kube codebase?  Also, add this behavior to the godoc

What callers of Stream existed in the Kube codebase?

Tests and resource/builder.go indirectly calls it.
We do get back a normal looking error now:
F0408 12:45:57.624702   26854 buildlogs.go:31] Error received from API: "/osapi/v1beta1/proxy/buildLogs/b?namespace=default" is forbidden because e2e-user cannot proxy on buildLogs with name "b" in default

godoc updated.

LGTM

LGTM

Could this have broken TestForwardPorts?

Could this have broken TestForwardPorts?

Works locally and works on v1beta3.

with some output clipped:
[deads@deads-dev-01 kubernetes]$ git checkout deads-fix-stream
Switched to branch 'deads-fix-stream'
Your branch is up-to-date with 'origin/deads-fix-stream'.
[deads@deads-dev-01 kubernetes]$ make clean build
[deads@deads-dev-01 kubernetes]$ hack/test-go.sh
Running tests for APIVersion: v1beta1
+++ [0408 16:03:39] Running unit tests without code coverage
ok  	github.com/GoogleCloudPlatform/kubernetes/pkg/client/portforward	0.025s

Rerunning travis.


[Feature]: Option for multiple DLC inputs

What would you like to see added to NeuroConv?
I am trying to load multiple videos and DLC files from an experiment where different cameras with different frame rates etc look at different parts of the animal. as a result, I have something like:
animal1data
   |_video1.avi
   |_video1DLCetc.h5
   |_video2.avi
   |_video2DLCetc.h5

DLC_models_dir
  |_model_for_video1/config.yaml
  |_model_for_video2/config.yaml

I can load multiple camera videos passing a list to the VideoInterface. Already here it feels like I'm stretching the class' domain, as from what I understand this would be oriented toward multiple segments in time, correct?
On the other hand, it is not clear to me if it is possible to load multiple DLC tracking results. I tried to have multiple DeeplabcutInterface objects passed to the ConverterPipe combinator but it complains about having multiple data of the same category (ValueError: 'PoseEstimation' already exists in ProcessingModule 'behavior')
Is your feature request related to a problem?
I cannot find a way to implement multiple DLC labelling in the same file.
Do you have any interest in helping implement the feature?
Yes.
Code of Conduct

[X] I agree to follow this project's Code of Conduct
[X] Have you ensured this bug was not already reported?

We rely on DLC2NWB for this functionality; I see you've already started contributing some code to that
Would you be willing to submit PRs on their end to allow control over the name of the PostEstimation object at this line (https://github.com/DeepLabCut/DLC2NWB/blob/main/dlc2nwb/utils.py#L223)?
As shown in the README for ndx-pose: https://github.com/DeepLabCut/DLC2NWB/blob/main/dlc2nwb/utils.py#L223

Open to try anything but

allow control over the name of the PostEstimation object at this line
I think you will have to elaborate a bit more as I did not get this point and how I should procede - I did not find pointers in the ndx-pose README (probably you pasted twice the same link?)

I did not find pointers in the ndx-pose README (probably you pasted twice the same link?)

Whoops,  updated
Basically just inject a keyword argument for post_estimation_name that gets set at that line as
PoseEstimation(
    name=post_estimation_name,
    ...
)

Thanks! I'll ask over there if I can contribute this feature as well, I would leave this open until I can close things there!

So, then I would have to modify neuroconv.datainterfaces.behavior.deeplabcut.py to get a name kwarg (or general optional kwargs) when calling DeepLabCutInterface.add_to_nwbfile(), correct?

Yep, exactly

[Edit add] Maybe one option could be to resave the file at multiple steps and add content one interface at the time but that is not a supported flow at the moment right?

You can always do that

I would need to use the conversion_options argument of ConverterPipe.run_conversion() to pipe down the name.

Yes, this would be a conversion option

But what keys should I use to populate the dictionary?

If you used a NWBConverter instead, you would use whatever key you defined in the data_interface_classes

Until now, the two dlc_interface objects are identical no?

This bit a code: https://github.com/catalystneuro/neuroconv/blob/main/src/neuroconv/nwbconverter.py#L290-L295
disambiguates the name based on their order in the data_interfaces list of the ConverterPipe, so you'd just need to check which is which in the automatically constructed data_interface_classes attribute

Awesome, thanks a lot!
Then I'll submit a PR with the name argument piping.

Already here it feels like I'm stretching the class' domain, as from what I understand this would be oriented toward multiple segments in time, correct?

For the videos: is my above reading correct? If yes, should I use a single interface passing a list of videos, or find a similar solution with one VideoInterface per video?

Multiple file paths per interface is for when the stream from a single camera is broken up into different files over time, either contiguous or distinct segments
Separate cameras need separate interfaces though, so your usage is spot on in that respect

But this would require some modification of the existing VideoInterface right?
If I try to implement it with current class, at the moment of calling add_to_nwbfile for the first interface I get a mismatch between the number of file linked (1) and the number of video metadata around in ["Behavior"]["Videos"], since that dictionary is updated by the instantiation of both objects, correct? (at least I find it populated with both without me explicitly adding anything, so I assume it is happening under the hood)

I'm talking about the DLC interfaces
The VideoInterfaces also have a similar problem as you point out, which has already been raised in #905 and PR open in #914

Has this been fixed with the recent changes? @vigji


Update performance.py

Adds else clause to ensure securities_bought_today and cash_flow_today have defined values if the other cases do not trigger.

Works perfectly.


refactor: Remove Debug implementations for the libolm compat structs

These structs contain private key material so they shouldn't have Debug implementations, even unused ones.
This closes: #70.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 90.35%. Comparing base (57cbf7e) to head (df0c765).
Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #184   +/-   ##
=======================================
  Coverage   90.35%   90.35%
=======================================
  Files          34       34
  Lines        1907     1907
=======================================
  Hits         1723     1723
  Misses        184      184

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


scroll speed

now i can scroll between 'page 1' and 'page 5' with one 'long drag' ! it's not normal for standard viewpager
how can i control scroll speed ?

app:rvp_singlePageFling="true"


Development only nuget asset?

The docs show this:
<PackageReference Include="SerilogAnalyzer" Version="0.15.0" />

Is the following supported?
<PackageReference Include="SerilogAnalyzer" Version="0.15.0">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>

That should work, yes, those options are msbuild related and nothing that i would need to support explicitly.


Remove the need to have to specify --caliper-fabric-gateway-enabled when using a 2.2 fabric SUT binding

Please share the technical limitation of Caliper that you encountered.
You always have to specify this option when running a caliper benchmark when you are bound to the fabric 2.2 node sdk, but this is redundant because you can't run the benchmarks without it. It doesn't provide any help.
Please detail your feature idea that could alleviate the limitation.
We should just ignore this option in the v2 fabric connector
Please share some details about your use case if possible, and how the new feature would make Caliper a better performance benchmarking framework.
No response
Please share any suggestions about the new feature's code/configuration API (using formatted YAML segments or pseudo-code).
No response

addressed by #1258 and #1255


Confusion surrounding Epochs.plot_psd() units

Consider the following MWE:
# %%
import numpy as np
import matplotlib.pyplot as plt

import mne
from mne.time_frequency import psd_array_multitaper, psd_multitaper
from mne.datasets import somato

data_path = somato.data_path()
subject = '01'
task = 'somato'
raw_fname = op.join(data_path, 'sub-{}'.format(subject), 'meg',
                    'sub-{}_task-{}_meg.fif'.format(subject, task))

raw = mne.io.read_raw_fif(raw_fname)
events = mne.find_events(raw, stim_channel='STI 014')

picks = mne.pick_types(raw.info, meg='grad', eeg=False, eog=True, stim=False)
event_id, tmin, tmax = 1, -1., 3.
baseline = (None, 0)
epochs = mne.Epochs(raw, events, event_id, tmin, tmax, picks=picks,
                    baseline=baseline, reject=dict(grad=4000e-13, eog=350e-6),
                    preload=True)

epochs.resample(200., npad='auto')  # resample to reduce computation time

# %%
fmin = 1
fmax = 40

epochs.plot_psd(fmin=fmin, fmax=fmax, average=True, dB=True, area_mode=None)

This produces the following PSD plot:

Trying to reproduce this figure manually, I ran:
# %%
psds, freqs = psd_array_multitaper(
    epochs.get_data(),
    sfreq=epochs.info['sfreq'],
    fmin=fmin,
    fmax=fmax,
    n_jobs=8
)

psds_scaled = psds * 1e15**2  # T/cm -> fT/cm
psds_scaled_dB = (10 * np.log10(psds_scaled)).mean(axis=0).mean(axis=0)

_, ax = plt.subplots()
ax.plot(freqs, psds_scaled_dB)

This produces:

The magnitude of the signal clearly differs from what we saw above.
Adjusting the scaling factor to 1e13, I'm finally able to reproduce the output from epochs.plot_psd:
# %%
psds_scaled = psds * 1e13**2  # T/cm -> 100 fT/cm (?!)
psds_scaled_dB = (10 * np.log10(psds_scaled)).mean(axis=0).mean(axis=0)

_, ax = plt.subplots()
ax.plot(freqs, psds_scaled_dB)

Where's my mistake?
cc @cbrnr @agramfort

The original unit is T/m and you are converting to fT/cm, so the factor is 1e13.

I think the problem here might be that you are working with gradiometers.
I was able to reproduce the psd results (with Welch method) for magnetometers. So if you pick mag you might be able to get the same plots. Gradiometers may scale differently (maybe due to the /cm --> T/m  to fT/cm is 1e13)? You know I opened a few post on the forum related to psd units, so this is the only thing I can tell you ;)

Ok. I think I finally understood. I'll explain here in case it can be helpful for others (not sure I'm correct so please go ahead if I say something wrong). I'm new to the tool so I appreciate your patience:

There's your raw data. With info about the channels with: raw.ch_names (or equivalents)
There's your epoched data. With info about the channels with: epochs.ch_names (or equivalents)
However, there's no channel information on the outputs of the psd functions, so one can assume it is the same as the raw or epochs passed as inputs. But this is not always true.

CASE 1: if you have specified the picks parameter inside the psd functions

In this case an equivalent selection have to be done in the raw/epochs.ch_names list.
Since this selection may not be straight forward having just the list of names, something useful could be to create a copy of the epoch just containing the channels you want, e.g. epochs_grad = epochs.copy().pick('grad')
Then you apply the psd function just to the epochs_grad and can ensure that the channels in epochs_grad.ch_names are the ones matching.
An equivalent thing can be done for the raw.

CASE 2: picks parameter is not specified or set to None

By default the psd is not computed in all the channels passed e.g. meg_ref channels are excluded, even when the picks parameter is not specified or set to None, as stated in the documentation. So the channels obtained by raw/epochs.ch_names will not match the ones obtained with the psd functions.
The solution proposed before additionally solves this issue that was making my code crash all the time.

So:

Pre-selecting your channels before hand creating a copy with .pick (e.g. epochs_grad = epochs.copy().pick('grad')) may help to solve this issue, given that the psd functions don't provide channel information on the output.


Refs 3558: Move bootstrap.sh after frontend-build.sh

Summary
Prevent bootstrap.sh  from setting a commit based tag + context based tag by loading it later when  IMAGE_TAG is already set.
Testing steps
Check test results in pr test run

https://issues.redhat.com/browse/HMS-3558

I've raised this with service delivery, because the cicd-tools bootstrap doesn't check if IMAGE_TAG is already set.
It has the same logic for image tagging that frontend-builder-common does, so it should land on the same tag, but this may need further work. This will at least stop it from pushing tags with duplications in them.

/retest

/retest

⚠ This task currently requires qe-approval, but this PR does not fully resolve the task.  Please contact QE to determine appropriate testing required.

@mshriver Can we merge this?

Thank you


DRF3 support

Fixes #23
Some ideas taken from #24.
The major difference in the approach here vs one in #24 is that instead of only supporting DRF3, this PR supports both 2 and 3. This is especially important since many of existing APIs have not migrated to DRF3 yet (including some of my own so sorry for being a little selfish here). How we accomplish that is by having separate packages for DRF2 and DRF3. This way we dont have to do crazy things to support both. I understand this adds code duplication however in a long run I think this is nicer and cleaner approach. In addition this is allows to only new methods introduced in DRF3 without mixing them with older DRF2 methods such as pre_save, etc.
Eventually when this library will only support DRF3, we can then simply move the DRF3 mixins from its own package to the root of the library and no other changes are going to be required.
TODO:

[x] add travis and tox configs to run tests for both DRF2 and DRF3
[x] add update support (probably will steal more from #24)

Just pushed latest touches and wondering if someone is willing to test this branch in their projects before I merge.
ccing everyone from #23 and #24
@kevin-brown @merll @gabriel-amram @bogdanpetrea @anyong


Lost anchor: stuck sweep transaction (unconfirmed balance)

Background
After a force-close of an anchor channel my node was unable to recover the anchor output in time (it was swept by someone else, and the state is "LOST" in lncli pendingchannels). I didn't check, but I think this happened at a time with high on-chain fees, and the close tx was already confirmed (so grabbing the anchor doesn't help with that).
Now, a few days after my node published the now double-spent sweep transaction, I still see funds as "unconfirmed_balance" (I don't have anything else pending, and the mempool was just emptied). I believe that lnd still waits for the sweep transaction to confirm, which will never happen.
I'd like lnd to give up and "unblock" my funds.
Your environment

0.14.1-beta
bitcoind v22 (pruned)

Steps to reproduce

Open anchor channel
Force-Close anchor channel
Wait for sweep transaction to be created
Steal anchor before anchor is recovered using sweep transaction

Expected behaviour
Sweep transaction is cancelled (forgotten), unspent transaction inputs can be used as inputs for other transactions.
Actual behaviour
Inputs are listed as "unconfirmed balance".

To make matters worse, I think lnd happily used this (unconfirmed) sweep tx output as an input for a new channel (I specified --min_confs 0 out of habit). The open TX does not show up in mempool.space, which makes me believe it's not broadcast by other nodes.
More confusingly, I also think the 100k reserve for anchor channels is broken due to this.
Before I attempted to open a channel:
{
    "total_balance": "8431982",
    "confirmed_balance": "7868584",
    "unconfirmed_balance": "563398",
    "account_balance": {
        "default": {
            "confirmed_balance": "7868584",
            "unconfirmed_balance": "563398"
        }
    }
}

After:
{
    "total_balance": "12530",
    "confirmed_balance": "12530",
    "unconfirmed_balance": "0",
    "account_balance": {
        "default": {
            "confirmed_balance": "12530",
            "unconfirmed_balance": "0"
        }
    }
}

Related to #386

Related to this Topic, should we make the Anchor Sweep Transaktion (non-RBF Signaling) in that case nobody could RBF the funds even after they are broadcasted or does this imply even more logic for handling funds in case there are no other outputs left in the wallet. Might increase the complexity of the wallet so I understand why we RBF the Anchor Sweep in the first place but just bringing it up here as an idea.

I didn't check, but I think this happened at a time with high on-chain fees, and the close tx was already confirmed (so grabbing the anchor doesn't help with that).

We've seen a script attempt to more aggressively sweep anchor outputs, they'd claimed $70 or so worth when I last checked. Right now we always use the smallest fee rate possible when attempting to sweep anchor outputs. You'll be able to set the anchor fee rate after this PR: https://github.com/lightningnetwork/lnd/pull/6025
Re that balance snapshot, when UTXOs are locked, they don't show up in that base balance output. We should likely add another field there though, so it's a bit easier to keep track of things.

The open TX is not broadcast, this is in my logs: [ERR] FNDG: Unable to broadcast funding tx xxx for ChannelPoint(xxx:1): transaction rejected: output already spen

This PR fixes that behavior: https://github.com/lightningnetwork/lnd/pull/5158

To add more context - today I had the same issue. Did not do anything extraordinary except opening one channel with openchannel --node_key xxx --local_amt 4000000 --sat_per_vbyte 1 --min_confs 0. This channel got opened without any issues.
Today I tried opening another channel the same way, resulting in the channel showing as pending, my wallet balance being very different and the logs showing the following:
2022-02-08 13:28:36.276 [INF] FNDG: Initiating fundingRequest(local_amt=0.05 BTC (subtract_fees=false), push_amt=0 mSAT, chain_hash=xxx, peer=xxx, min_confs=0)
2022-02-08 13:28:36.281 [INF] CHFD: Performing funding tx coin selection using 253 sat/kw as fee rate
2022-02-08 13:28:36.721 [WRN] CHFD: Unable to find funding output for shim intent: unable to create witness script, no funding keys
2022-02-08 13:28:36.731 [INF] FNDG: Target commit tx sat/kw for pendingID(xx): 2299
2022-02-08 13:28:36.731 [INF] FNDG: Dust limit for pendingID(xx): 0.00000354 BTC
2022-02-08 13:28:36.731 [INF] FNDG: Starting funding workflow with xxx.onion:9735 for pending_id(xxx), committype=anchors-zero-fee-second-level
2022-02-08 13:28:37.392 [INF] FNDG: Recv'd fundingResponse for pending_id(xxx)
2022-02-08 13:28:37.412 [INF] FNDG: pendingChan(xxx): remote party proposes num_confs=2, csv_delay=600
2022-02-08 13:28:37.412 [INF] FNDG: Generated ChannelPoint(xxx:1) for pending_id(xxx)
2022-02-08 13:28:37.918 [INF] FNDG: Broadcasting funding tx for ChannelPoint(xxx:1): yyyyyyyy
2022-02-08 13:28:37.919 [INF] LNWL: Inserting unconfirmed transaction xxx
2022-02-08 13:28:37.920 [ERR] LNWL: Notifying unmined tx notification (xxx) while creating notification for blocks
2022-02-08 13:28:37.929 [INF] LNWL: Removed invalid transaction: (*wire.MsgTx)(0xc06c33e0c0)({
2022-02-08 13:28:37.930 [ERR] FNDG: Unable to broadcast funding tx yyyyyyy for ChannelPoint(xxx:1): transaction rejected: output already spent

@Roasbeef not sure but I think this problem will affect way more people having to rescan their wallets if they figure out that their anchor was swept. Because I was sweeping a lot of Anchor Outputs and effectively also RBF existing Anchor-Sweeps which means way more people have a pending tx in their lnd wallet which will never be confimed.

Just an update for anyone affected by this. To get everything in order again you must reset your wallet balance so that LND completely rescans the blockchain for transactions.
1. Restart LND and reindex wallet transactions
Insert this line in [Application Options]
reset-wallet-transactions=true

and restart LND. Make sure to remove this line afterwards, otherwise LND will do this every time on startup.
It will take a while, depending on your hardware and bitcoind setup. Only do this if you're not running a pruned bitcoind - then you're in uncharted territory (i.e. I don't know if it will work - it probably won't).
2. Abandon the affected channels
If you do have pending channels that used the already spent anchor outputs (where the funding transaction was rejected by the network) you can abandon those channels to make them disappear from the pending_channels list. Make sure that these are really "phantom" channels, don't abandon any channels that are just waiting for confirmations.

In practice I don't think this should require doing a full rescan. With the way the sweeper works, when it tries to publish something invalid, it'll just periodically back off and retry again, possibly with a distinct output set. We also watch for when that output is spent and then stop sweeping and signal back to the caller. So if no unconfirmed dependent spends exist, then it should just go away.
When you do a funding attempt, all the inputs are locked, which rn doesn't show up in the normal balance call. If we detect an invalid spend, then the transaction is removed from the wallet, and eventually the locked funds will become available again. What we don't do rn is automatically remove that transaction from the pending channels list, which is fixed in this PR.
So I think the missing gap here is:

When the sweeper encounters an output that was spent, and not by us, then it should report back to the wallet to remove that transaction.

With the way the wallet interacts rn with RBF transaction, it doesn't know which one will actually confirm (the mempool is a murky place), so it's possible a user attempts to spend one of those outputs as zero conf. When/if a valid transaction eventually confirms the wallet state will be cleaned up, but only if it's actually one of our spends (need to verify this).

@Roasbeef - it also looks like LND does not check if a channel funding transaction is valid (neither a local one, nor a remote channel funding transaction).
I was wondering how it's possible to have pending opens for weeks (iniitiated by the remote party) where the funding transaction can't be found in the mempool. It seems that those peers tried to open a channel with an invalid funding transaction and my node not even realizing that the channel opening was basically a double-spend that should have been rejected right away.

Do we have a commitement tx in our local memory when a channel is opened to us although we still have no funds on our side

When we're the receiver of a new funding attempt? Yes, we'll write that to disk as confirmation may happen after we're down.

And if yes how do we forget about the channel by broadcasting the commitment tx or are we just purging it in our database?

When we're the receiver of a new channel, and we choose to drop the channel, we'll just remove the channel state (it goes into a closed channel log). Broadcasting the commitment won't do anything if the funding transaction actually doesn't exist, or can never confirm for some reason.
We only do this is we're not the initiator though.

Hi y'all, I've confirmed that this PR fixes the issue!
I was able to properly reproduce the scenario deterministically in an integration test, to confirm my commit fixed the core issue. So thanks to y'all for such a detailed issue report! I think the fix I added to the sweeper may actually resolve some other issues in the tracker related to unconfirmed spends.
As 0.15 is still about a month away, I think maybe it makes sense to package this in an 0.14.3 minor release to alleviate this strain. Thoughts?

I stopped sweeping anchor by "RBF(BIP125)" from the mempool, so I guess we are also safe to wait for 0.15, but yeah if this functionality is ready why not ship with 0.14.3, thanks for the fix @Roasbeef

I would agree. The earlier the better. Thank you for the quick fix!

but yeah if this functionality is ready why not ship with 0.14.3

Def, we may look to package up some other bug fixes as well while we're at it. Earliest possible rc would likely be mid/late next week.


Remove yii-queue

fix #7

Q
A

Is bugfix?
✔

New feature?
❌

Breaks BC?
✔

Fixed issues
#7

Already done in #19


Typing jank on google.com search field with "uBlock-Origin-dev-filter – All Search Engines – Global"

This was originally filed in BMO as Bug 1801597 - Typing jank on google.com search field with adblocking filter "uBlock-Origin-dev-filter – All Search Engines – Global". uBO author gorhill suggested that I should report to you instead (extra info with some pointers here and here)
I copy the my BMO report here:
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/109.0
Build ID:<PHONE_NUMBER>4001
Steps to Reproduce

In a new profile, install uBlock Origin (currently 1.45.2).
Subscribe uBlock-Origin-dev-filter – All Search Engines – Global(AG). (Or use this permalink url)
Go to https://www.google.com/search?q=f. (So it skips the seemingly unaffected search field at google.com homepage.)
Press and hold a key to type rapidly into google.com search field. Adding some spaces inbetween seems to make the issue worse.

Expected Results
Typing should be smooth and there should be little janks in performance profiles.
Actual Results
There are some janks/slowness as shown in the attached video and profiles (attached in section Screenshot).
The situation, however, is much worse in my main profile. I can see the jank even if I type a search phrase normally.
Additional Notes
This issue seems to be related to google.com's autocomplete feature. If I make an extremely long search phrase, autocomplete flyout will not be activiated and the jank is gone. The jank is back after clicking the X in the search field to clear the search phrase and type again.
However, Google will temporarily suspend autocomplete (https://www.google.com/complete/search?q=* requests return 403) for an unknown period of time (few hours max?) if I spam the autocomplete. I cannot reproduce the jank when autocomplete is suspended. Changing IP address or set up a new profile may lift the suspension.
System configuration
OS version: Windows 10 64bit 22H2 19045.2251
GPU model: Nvidia GTX 760 driver 473.81 (Aug 02, 2022)
Number of cores: i7-4771 4 cores 8 threads
Amount of memory (RAM): 16GB
SSD drive
Tested uBO versions: 1.45.3b7, 1.45.2, 1.35.2 (earliest version available in AMO)
Tested Firefox versions: Nightly 2022-11-23, 2022-11-20, Firefox 107
Performance profiles
Captured in Firefox 107, new profile, uBO 1.45.3b7 with AG: https://share.firefox.dev/3Eug06G
Disabling AG: https://share.firefox.dev/3hY0ZSX
Video demonstrations of the issue
https://user-images.githubusercontent.com/771216/203749338-8fbdf4cb-8be9-4aee-91f3-2e16fc18b2f4.mp4
Performance recording (profile)
Profile URL: These are the profiles as shown in the above video in a new Nightly profile with uBO 1.45.2:
1st [0:01 - 0:06], AG enabled: https://share.firefox.dev/3UYMj4H
2nd [0:18 - 0:21], reload google.com and try again: https://share.firefox.dev/3gnyUUS
3rd [0:37 - 0:42], AG disabled. No janks: https://share.firefox.dev/3V3ZuB4
4th [0:59 - 1:04], AG re-enabled. Janks again: https://share.firefox.dev/3V88ZyY
5th (not shown in the video), Accessibility is force-disabled to eliminate bug 1800028: https://share.firefox.dev/3Gu6HX7
about:support of this profile: uBO dev filter about support.txt

https://user-images.githubusercontent.com/771216/203750719-032083d7-b893-40ec-a2cc-ac1c3bd78db3.mp4
The jank is much more noticeable in my main profile.
Granted there should are other factors causing the jank, but disabling AG vastly improves the jank to an acceptable level.
Profile captured during the video; AG enabled: https://share.firefox.dev/3ENTdUH
AG disabled (captured at a much later time and browser restarted, PIDs had changed): https://share.firefox.dev/3Aw8WWa
[main profile] about support.txt

https://user-images.githubusercontent.com/771216/203756860-64705082-4e52-4ec7-bf84-c28e379c2eb4.mp4
I can still reproduce the jank with a modern gaming laptop using (essentially) the same profile as my main profile.
The laptop was plugged in with a high performance power profile. iGPU was used in the video but dGPU had the jank too.
Profile URLs:
1st, AG enabled: https://share.firefox.dev/3ErP8Es
2nd, AG disabled: https://share.firefox.dev/3U2qqQU
3rd, AG re-enabled: https://share.firefox.dev/3GDDvwZ
During the 3rd profile the jank was gone when autocompletes returned 400 (not 403) if the search phrase was too long.
Thank you.

Hi,
Thanks for your contribution.
To be honest, I don't really know if their is a uBlock solution to this issue. To resolve this, we should use a userscript (Tampermonkey) to remove bad links, rather than uBlock. But not everyone want to install another extension.
However, here is a PR based on gorhill4 response on Reddit : #349
PR feat/optimize_google_filter : uBlock-Origin-dev-filter – All Search Engines – Dev
Could you check if it is better?

If anyone has propositions of better filters for other search engines, I am interested.

The issue is much improved with the new optimisation.
https://share.firefox.dev/3AJBD1N: This profile is captured from my main profile; google logged in (40 results per page). Compared with this profile I quoted in first post.
There are only barely noticeable janks if I type normally in Google.
https://share.firefox.dev/3OEbCH6: This is capture from main profile with google logged out (10 results per page).
Thanks for the fix.
p.s. I used https://raw.githubusercontent.com/quenhus/uBlock-Origin-dev-filter/dba8140344c7455b6e91cb95f7dd821668e33c5f/dist/all_search_engines/global.txt instead of All search engines - dev  for the above profiles for consistency with the original report.

Hi. Is there any plan to merge the optimisation into the main branch? Thanks.

Hi!
Sorry for the waiting time, I was very busy these days. I just merged #349
Hope the fix works.


Add automated maintanence and cleanup via clang-tools to makefile

The clang-tidy and clang-format tools have been added to the
make file so that it's easier to keep all of the code consistent
Submission Checklist

[x] Run unit tests: ./runTests.py src/test/unit
[x] Run cpplint: make cpplint
[x] Declare copyright holder and open-source license: see below

Summary
This adds

make methods for clang-format and clang-tidy so that it's easy to run them over the files in source. clang-format uses the same .clang-format file used in the math library

There are only two actual places I made changes in the code

in  src/stan/lang/generator/generate_fun_inst_templ_params.hpp I removed the macro newline \ and put a // NOLINT at the top
in src/stan/callbacks/stream_writer.hpp I made the constructor on line 26 explicit since it can accept only one argument

stream_writer(std::ostream& output,
                         const std::string& comment_prefix = "")

Intended Effect
There should be no change to how code is executed. The tools are just so that the stan and math library have similar C++ styles. If that's not a good thing for the code at this level then we can close this PR (it took me like 10 mins to run this so no biggie)
How to Verify
From develop you can run make clang-format to get the code generated here (minus the two places listed above
Side Effects
If there are side effects beyond the two mentioned above then that's bad
Documentation
Copyright and Licensing
Please list the copyright holder for the work you are submitting (this will be you or your assignee, such as a university or company):
By submitting this pull request, the copyright holder is agreeing to license the submitted work under the following licenses: Steve Bronder

Who should review this?

Cool. I took a look at the makefile stuff and it looked good. I spot-checked a handful of the changes and they look good too.
I could approve, but I think we'd want either @serban-nicusor-toptal or @seantalts to sign off on the Jenkins change?

@seantalts and I did chat about the automatic formatting the other day and he was sort of against it. I'm fine one way or another with add/removing the Jenkins stuff

I'm heavily pro automatic formatting (and tidying if there's stuff we always want to do, which it seems like there is!). I just think it's more standard and better for devs to have the tools installed locally with the git pre-commit hook in general and not rely on the server correcting after the fact, because that way the git history is also formatted correctly. Having a server mode is nice because you might have contributors who are aren't in it for the long haul and it's not worth setting up all the tooling necessarily, but it'd be nice if that didn't also encourage long time devs to not code to the standard and rely on the server to fix it. I'm fine with adding the server mode here since we have it in Math - once we move to monorepo we'll have it everywhere as well. I'll let @serban-nicusor-toptal review :)

My b Sean I think I mis-characterised your opinion a bit there.
I can make separate PRs for math and this repo to add git hooks to auto run clang-format  before a commit.
BUT(!!). In exchange I want us to move up to clang-format-6 (or even 7) because 5 is not available for my computer (Ubuntu 19.04) :)
Pretty sure 6 is installable via brew on mac and has been backported to 19.04

Ty! I'm not authorized to merge the PR but if someone wants to slam that button for me then go for it!

@SteveBronder I have reverted the merge.

How do I install the right tools to not have the server do the formatting?  Should I just wait until the dust settles on this PR and wait for new instructions?  I thought I had clang-format plugged into emacs, but maybe the standards changed or something.  Do I need some kind of GitHub hook or something?

On Sep 6, 2019, at 5:08 PM, seantalts<EMAIL_ADDRESS>wrote:
I'm heavily pro automatic formatting (and tidying if there's stuff we always want to do, which it seems like there is!). I just think it's more standard and better for devs to have the tools installed locally with the git pre-commit hook in general and not rely on the server correcting after the fact, because that way the git history is also formatted correctly. Having a server mode is nice because you might have contributors who are aren't in it for the long haul and it's not worth setting up all the tooling necessarily, but it'd be nice if that didn't also encourage long time devs to not code to the standard and rely on the server to fix it. I'm fine with adding the server mode here since we have it in Math - once we move to monorepo we'll have it everywhere as well. I'll let @serban-nicusor-toptal review :)
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

If you are on a mac you should be able to do
brew install clang-tools

I need to check what version that is for mac. The server version is 5 which is v old and should be updated to at least 6

Wait don't do that!

Sorry, didn't want Bob to run that yet and then have to clean it up after.
There are instructions here: https://github.com/stan-dev/stan/wiki/Coding-Style-and-Idioms#clang-format
relevant line:
brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/5d29e8a6bfbe2e7d8f9525645bb0c00879d0984a/Formula/clang-format.rb

Oh!? Is that for the specific version 5? Apologies

yeah, that's the specific version we use. My desire for the ideal situation here is seriously undermined by 1) brew not doing versioning in a reasonable way and 2) clang-format having different versions labeled as the same version number available and 3) clang-format not being backwards compatible.

@seantalts, you deserve a medal for figuring that out.

Do I need to run as superuser?  It errors out on permissions after scolding
me for trying to install from a URL.  I'll append full run (less the
huge list of new formulas).

Bob

~/temp2$ brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/5d29e8a6bfbe2e7d8f9525645bb0c00879d0984a/Formula/clang-format.rb
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 2 taps (homebrew/core and homebrew/cask).
==> New Formulae
aliyun-cli                     deno                           kubeaudit                      proper
...
ftimes                   lysp                     plan9port                tlsdate
<EMAIL_ADDRESS>                 minisat                  postgres-xc              tmux-cssh
==> Consider using brew extract clang-format ...!
This will extract your desired clang-format version to a stable tap instead of
installing from an unstable URL!
######################################################################## 100.0%
Error: clang-format 2017-06-22 is already installed
To upgrade to 2017-11-14, run brew upgrade clang-format.
==> brew cleanup has not been run in 30 days, running now...
Removing: /Users/carp/Library/Caches/Homebrew/isl--0.20.high_sierra.bottle.tar.gz... (1.4MB)
Removing: /Users/carp/Library/Caches/Homebrew/libmpc--1.1.0.high_sierra.bottle.tar.gz... (114.2KB)
Removing: /Users/carp/Library/Caches/Homebrew/mpfr--4.0.1.high_sierra.bottle.tar.gz... (1.1MB)
Removing: /Users/carp/Library/Caches/Homebrew/ocaml--4.07.1.high_sierra.bottle.tar.gz... (85.0MB)
Removing: /Users/carp/Library/Caches/Homebrew/pcre--8.43.high_sierra.bottle.tar.gz... (1.8MB)
Removing: /Users/carp/Library/Caches/Homebrew/pkg-config--0.29.2.high_sierra.bottle.tar.gz... (235.8KB)
Removing: /Users/carp/Library/Caches/Homebrew/linkage.json... (13KB)
Removing: /Users/carp/Library/Caches/Homebrew/portable-ruby-2.3.7.leopard_64.bottle.tar.gz... (12.4MB)
Removing: /Users/carp/Library/Logs/Homebrew/pkg-config... (64B)
Removing: /Users/carp/Library/Logs/Homebrew/pcre... (64B)
Error: Permission denied @ unlink_internal - /usr/local/share/ghostscript/9.05/Resource/Font/logo10.pfb

What version do you get if you do
clang-format --version

The advice in the error message suggests trying replace the "install" verb
with "upgrade" in the original command (with the git url), what happens if
you try that? Or possibly just uninstalling the version you have first.
On Sat, Sep 7, 2019 at 06:54 Steve Bronder<EMAIL_ADDRESS>wrote:

What version do you get if you do
clang-format --version
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/stan-dev/stan/pull/2805?email_source=notifications&email_token=AAGET3HNDGYUX5IKYFE7JI3QIOB57A5CNFSM4IUASKE2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD6EWDGY#issuecomment-529097115,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAGET3CIHPCF4ZAXUJ36L73QIOB57ANCNFSM4IUASKEQ
.


Update developer guide

Update developer guide to describe how features are implemented.
Things to consider:

How the feature is implemented.
Why it is implemented that way.
Alternatives considered.

#41

#43

#58
PR for Add/Delete Tag documentation

https://github.com/CS2103AUG2017-W09-B2/main/pull/31
PR for Sort documentation


Could not add rust-analysis by full name

rustup component list shows a full name of components (like rust-analysis-i686-pc-windows-msvc, rust-std-aarch64-apple-ios and so on).
But rustup component add rust-analysis-i686-pc-windows-msvc itself does not work:

error: toolchain 'nightly-i686-pc-windows-msvc' does not contain component 'rust-analysis-i686-pc-windows-msvc' for target 'i686-pc-windows-msvc'

However it works with the short name: rustup component add rust-analysis.
Full log:
> rustup show
...
active toolchain
----------------

nightly-i686-pc-windows-msvc (default)
rustc 1.18.0-nightly (7627e3d31 2017-04-16)

> rustup component list
cargo-i686-pc-windows-msvc (default)
rls-i686-pc-windows-msvc
rust-analysis-i686-pc-windows-msvc
rust-docs-i686-pc-windows-msvc (default)
rust-src
rust-std-aarch64-apple-ios
...

> rustup component add rust-analysis-i686-pc-windows-msvc
error: toolchain 'nightly-i686-pc-windows-msvc' does not contain component 'rust-analysis-i686-pc-windows-msvc' for target 'i686-pc-windows-msvc'

(from: https://github.com/rust-lang-nursery/rls/issues/262)

Yeah, this is poor UX, it affects docs too, and possibly libstds. It should be possible to install alternate targets by passing --target xyz to rustup component add rust-analysis

Yeah since this affects several commands and lists, needs a bit of a think before deciding what to do.

error: toolchain 'stable-i686-pc-windows-msvc' does not contain component 'rust-analysis-i686-pc-windows-msvc' for target 'i686-pc-windows-msvc'

Since the target is already known, why not just split the component name? Or if it is combined (full), do not make full name for such commands and leave it as rust-analysis, rust-src and so on.

I believe this was resolved by #2088


Commits endpoint does not take count

At http://haddock.stackage.org/lts-5.17/github-0.14.1/GitHub-Endpoints-Repos-Commits.html, it seems like commitsForR takes a count, which presumably means the number of commits you want to receive.
However, when pass Just 1 as the count parameter, I get a long list of commits.
It seems like the Github API no longer allows you to specify the count, according to https://developer.github.com/v3/repos/commits/#list-commits-on-a-repository. (There is no count parameter listed under this function.)
Should we, then, remove the commitsForR function?

IIRC comimits endpoint is paged. Default executor will do only as many requests as needed to get count elements, yet return all fetched. With Just 1 all elements from the first page are still returned

Okay, I see. Thanks for the clarifcation.
I think we should document this behavior somewhere. Maybe we should change the name of Count to MaxCount or Limit? Or maybe add a Haddock note under the Count type alias to say that this is a limit, not the exact amount. The most verbose/time-consuming option would be to put a Haddock comment next to every function that takes a Count argument. Do any of these sound like a good idea?

I'll change the parameter from Maybe Count = Maybe Int to use new
data FetchCount = FetchAll | FetchAtLeast Word`

It will self-document better, won't it?

That sounds excellent! Thanks for taking my suggestion seriously.

I think a short Haddock comment under the data declaration, explaining why it fetches at least x instead of exactly x (due to paging) would also be good.


Line numbers in GeoJSON errors are always 0

Example:
geojson/section-shape.geojson:0: expected array for type 0
In JSON object {"type":"Feature","geometry":{"type":"Polygon","coordinates":[[3.5889283951875193,3.3768471007646133],[4.400951849780368,3.319881297755848],[4.524653157101377,5.075389482699399],[3.7126297025085226,5.132226453206799]]},"properties":{"prefix":"sections","sectionName":"102"}}
geojson/section-shape.geojson:0: expected array for type 0
In JSON object {"type":"Feature","geometry":{"type":"Polygon","coordinates":[[3.5889283951875193,3.3768471007646133],[4.400951849780368,3.319881297755848],[4.524653157101377,5.075389482699399],[3.7126297025085226,5.132226453206799]]},"properties":{"prefix":"sections","sectionName":"102"}}
geojson/section-shape.geojson:0: expected array for type 0
In JSON object {"type":"Feature","geometry":{"type":"Polygon","coordinates":[[3.5889283951875193,3.3768471007646133],[4.400951849780368,3.319881297755848],[4.524653157101377,5.075389482699399],[3.7126297025085226,5.132226453206799]]},"properties":{"prefix":"sections","sectionName":"102"}}
geojson/section-shape.geojson:0: expected array for type 0
In JSON object {"type":"Feature","geometry":{"type":"Polygon","coordinates":[[3.5889283951875193,3.3768471007646133],[4.400951849780368,3.319881297755848],[4.524653157101377,5.075389482699399],[3.7126297025085226,5.132226453206799]]},"properties":{"prefix":"sections","sectionName":"102"}}

Source file attached
source.txt

Thanks. I'll take a look and figure out what is going wrong here.

Thanks. This will be fixed in https://github.com/mapbox/tippecanoe/pull/790.


Could not broadcast input array from shape (96,96,3) into shape (3) Gym CarRacing-v0

I would like to implement the Gym CarRacing environment with SAC, but when I try to launch the algo I get the error: "could not broadcast input array from shape (96,96,3) into shape (3)". It is obviously an error related to the fact that SAC expects a size 1 obs while CARRACING has an obs of size three.
How do I solve this? And what does it mean "flattens action before sending to environment" specified on the label of the script?
PS: I'm a beginner in RL and python
Thank you

Right on, I like this problem description better. I still haven't made any progress - I have mostly been looking at the DQN Algorithm Code from the DeepMind RL Patent. My thought is the best way to learn is to hashtag out code line by line and then re-create it with the CarRacing-v0 env.

@FlavioLorenzi
What do you mean:
"It is obviously an error related to the fact that SAC expects a size 1 obs while CARRACING has an obs of size three."?
Specifically, you state there is an "obvious error" - but, the only thing that's obvious is neither you nor @christopherhesse can solve it. In fact, you can't even describe it. You say the error is: "related to the fact that SAC expects a size 1 obs while CARRACING has an obs of size three." But, that doesn't mean the fact that SAC expects a size 1 obs while CARRACING has an obs of size three is causing the problem. That's a logical fallacy known as the assumption of cause. Indeed, to solve problems - you have to ask "what is causing the problem?"
Here, there is an undiscovered cause stemming from the underlying architecture of the SAC Algorithm or CarRacing-v0 Environment - the result is a failed convergence. The solution is find a way to bridge the gap between SAC exceptions and the CarRacing-v0 env. In other words, write a SAC algorithm from scratch with a 3 vector observation space.


[main] Upgrade to latest dependencies

run after bumping to go1.18 -dprotaso
/cc knative/serving-writers knative/eventing-writers
/assign knative/serving-writers knative/eventing-writers
Produced by: knative-sandbox/knobots/actions/update-deps
Details:
bumping knative.dev/hack 65c463a...a645040:
  > a645040 Update community files (# 201)
  > 81e30c2 remove references to git markdown checking (# 199)
  > e3be8da Update community files (# 197)

A couple of the tests are failing with a Please run hack/update-codegen.sh error. Not sure if that will be picked up on the next update-deps run, or if we need to manually fix it...

/lgtm
/approve


[docs] term consistency

sample contract implementation is not consistent with the term reference contract
https://developers.eos.io/manuals/eosio.contracts/latest/action-reference/eosio.bios/index

we do not use anywhere currently in our docs the reference contract. even if would it be used it would be used with the same meaning of sample, example. this change is not needed.


Fixes a TypeError in Sacrebleu.

SacreBleu expects the hypotheses to be a list of strings. We gave a list of list of strings which leads to a TypeError. I flattened the list to fix this.

You'll need to run the ruff styling :)

Hi! I edited the readme to make the styling steps clearer, you'll need to run
pip install -e .[dev]
pre-commit install
pre-commit run --all-files


feat(common): INT-7169 BlueSnapDirect: Add a new select component

What? INT-7169
Add a new Select component.
Why?
We need this new component to allow the shopper to choose the account type for ACH/ECP through BlueSnap direct.
Testing / Proof
https://user-images.githubusercontent.com/4843328/220785231-361f2ff5-49ce-4b9d-bad6-4c5513857544.mov
@bigcommerce/checkout

Is there a reason why we are adding a new Select component, and not using the existing Dropdown component? Also we should be adding this component in this package https://github.com/bigcommerce/checkout-js/tree/master/packages/ui

We are going to deploy floating labels soon.
It looks more consistent to use a floating label-enabled dropdown menu for this case.
You may preview the look on https://www.mody.com.au/checkout.

We are going to deploy floating labels soon. It looks more consistent to use a floating label-enabled dropdown menu for this case. You may preview the look on https://www.mody.com.au/checkout.

Thanks for the explanation @bc-peng, it makes sense. I'm going to implement the dropdown then.


Buttons and inputs usability and accessibility improvements

This PR try to solve some usability and accessibility issues for both buttons (like zoom controls) and inputs (like layers controls).
It contains a set of changes I'm applying again and again to every Leaflet project so I was wondering if this can be useful to be integrated in the core.
Make zoom buttons to be more like a button
Currently there's a wrong semantic use of links instead of real buttons for zoom-in/zoom-out controls, but this change would be more complex and I'm not sure about how many issue this will generate in plugins.
Using a simple link had some accessibility drawbacks while using keyboard navigation and focus on elements as some browsers default outline is difficult to be seen:

Firefox default outline
IE 11 default outline

Plus: often the CSS of the host page remove the default outline on links (maybe adding another kind of effect) but this can be a major issue for zoom control.
The introduced change: a visible CSS outline triggered on focus that works down to IE 11.

Another common cosmetic CSS effect applied by modern framework on buttons is the hover animation.
Leaflet already applies a background color while hovering on zoom controls, but the background is changed immediately. In this change there's a 0.3s transition applied.
Port same accessibility changes to input too
Modern browsers are good enough on using keyboard navigation on input elements but:

IE 11 uses an hard to see dotted outline on focus
Relying on default input outline with changes discussed above makes tab navigation to looks different when focusing input and zoom controls (different color, not animation).

IE 11 input outline
Chrome tabbing from zoom to inputs

For this reason the tabbing effect has been extended to input keyboard navigation too.

Currently there's a wrong semantic use of links instead of real buttons for zoom-in/zoom-out controls, but this change would be more complex and I'm not sure about how many issue this will generate in plugins.

I agree, I've noted this in https://github.com/Leaflet/LEaflet/issues/3210#issue-4.

some browsers default outline is difficult to be seen

Yes that's unfortunate, but I'm not sure Leaflet should fix the outline-width for these UAs. They're really browser issues (2 in the case of Firefox):

https://bugzilla.mozilla.org/show_bug.cgi?id=251198
https://bugzilla.mozilla.org/show_bug.cgi?id=53927

If you want to enhance the visibility of outlines in these browsers in your own code you could achieve that using outline-width: thick for example (perhaps conditionally using @supports (-moz-appearance: none), as thick outlines look super thick in Chrome in comparison).
I personally don't agree with replacing outlines with box-shadows as this PR suggests. Some UAs ensure that outlines remain visible regardless the background-color, that doesn't happen for box-shadow.

I appreciate the accessibility concern, though I'll close this per https://github.com/Leaflet/Leaflet/pull/7584#issuecomment-870844062. Feel free to continue discussing.


New Error

Suddenly the widget stopped working and is showing this:
2024-11-19 12:23:29: No code found
2024-11-19 12:23:30: Error: The data could not be read because it does not have the correct format.

@GabrielK7799 fixed, update available via ScriptDude


Created release script

Coverage remained the same at 100.0% when pulling 0fded10c7921170f184fff9a53991427746ad164 on feature/release-script into b7ece89f1da99bc871f46d4b57e68db72754eeb7 on master.


Adding some plugins to a Flutter module causes the whole app to fail to build

Steps to Reproduce

Check out https://github.com/mjohnsullivan/dof
Build with Android Studio, see that everything runs as expected.
Edit flutter_dof/pubspec.yaml to add fluwx: ^0.1.3 in the dependencies section.
run flutter packages get while standing in the flutter_dof directory.
Attempt to run the Android program in Android Studio. Cry. (Kidding. Actually you'll see Error:Failed to notify project evaluation listener.)

Now, technically to use this plugin I need to make some changes to the build.gradle files and such. You can see those changes here and here,
but that shouldn't matter. I think adding a dependency, regardless of whether it's used or not shouldn't prevent me from building the app.
I suspect other plugins may cause this behavior, but I haven't tested others yet.

[✓] Flutter (Channel master, v0.7.6-pre.56, on Linux, locale en_US.UTF-8)
    • Flutter version 0.7.6-pre.56 at /usr/local/google/home/efortuna/googleio/flutter
    • Framework revision 409baff3ac (4 hours ago), 2018-09-05 21:31:29 +0100
    • Engine revision de4c7a53f2
    • Dart version 2.1.0-dev.3.0.flutter-760a9690c2

[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at /usr/local/google/home/efortuna/Android/Sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 27.0.3
    • Java binary at: /opt/android-studio-3.0/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b01)
    • All Android licenses accepted.

[✓] Android Studio (version 3.0)
    • Android Studio at /opt/android-studio-3.0
    • Flutter plugin version 23.2.1
    • Dart plugin version 171.4424
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-915-b01)

[✓] IntelliJ IDEA Community Edition (version 2018.1)
    • IntelliJ at /opt/intellij-ce-2018.1
    • Flutter plugin version 27.0.2
    • Dart plugin version 181.4892.1

[✓] IntelliJ IDEA Community Edition (version 2017.3)
    • IntelliJ at /opt/intellij-ce-2017.3
    • Flutter plugin version 26.0.1
    • Dart plugin version 173.4700

[✓] VS Code (version 1.25.1)
    • VS Code at /usr/share/code
    • Flutter extension version 2.18.0

[✓] Connected devices (1 available)
    • Pixel 2 XL • 711KPAE0891080 • android-arm64 • Android 8.1.0 (API 27)

• No issues found!

I was able to build this app by changing ext.kotlin_version in android_dof/build.gradle to 1.2.60
The build had been failing due to an exception in the Kotlin Gradle plugin:
Caused by: org.gradle.internal.event.ListenerNotificationException: Failed to notify project evaluation listener.
        at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:86)
        ...
Caused by: java.lang.AbstractMethodError
        at org.jetbrains.kotlin.gradle.plugin.KotlinPluginKt.resolveSubpluginArtifacts(KotlinPlugin.kt:776)
        ...

The Fluwx build script specifies Kotlin version 1.2.60.  Apparently the app's main script needs to use the same version.

Thank you, @jason-simmons, that fixed our problem! Is this a tooling issue we can improve to better surface that error when building in Android Studio? cc @devoncarew @stevemessick

Note after chatting with @jason-simmons:  I think it is probably OK to ship with this issue for Add2App since, I think, the Kotlin version would be specified within the existing Android app and therefore the developer could change that just as Jason did here and they'll be OK.
However, this issue could be more problematic for a standard project with a generated host app because the host app can't be edited without converting to a non-generated form.  This might still be acceptable for the time being if this situation does not arise very often.  However, if this situation is at all commonplace then I think we need to do something to handle generated host apps.

okay, sounds good. Feel free to close then. My side of the issue is solved. (I just didn't see the error, because AS hid it a little better than from the command line)

I'll leave the issue open until I'm sure the Add2App project structure changes aren't adversely impacted by this.

I was able to build this app by changing ext.kotlin_version in android_dof/build.gradle to 1.2.60
@jason-simmons where is this file located? I have a different project I'm trying to build and I don't see this folder

Oh, it's just the regular YOUR_PROJECT/android/build.gradle file


Update file and keep annotations

The client library does not handle updating an entries' file well. Specifically, the file will not sync when updated, unless the file is first removed from Mendeley, and then readded. Additionally, deletion of the file means that the annotations are lost.
The user may choose to update the file if the word recognition has not been run on the file, or if a page needs to be rotated.
We should allow specification of a file path and a file id that does the following:

Grabs all the annotations
Deletes the file associated with the entry on the Mendeley server
Adds the new file to the entry
Readds the annotations to the file. For OCR this is probably going to be fine, a page rotation might cause a problem, particularly since in the client you can't add annotations outside of the page limits. Misplaced annotations on that page wouldn't be the end of the world, just the client crashing from rendering would not be good.

Done. Page rotation seems to be supported.


Uncatchable exception in bluetooth

2021-07-16 20:35:06.007 - error: info.0 (6020) uncaught exception: EACCES: permission denied, scandir '/var/lib/bluetooth/'
2021-07-16 20:35:06.013 - error: info.0 (6020) Error: EACCES: permission denied, scandir '/var/lib/bluetooth/'
at readdirSync (fs.js:1043:3)
at getDirectories (/opt/iobroker/node_modules/systeminformation/lib/util.js:680:12)
at getFilesRecursively (/opt/iobroker/node_modules/systeminformation/lib/util.js:687:16)
at Object.getFilesInPath (/opt/iobroker/node_modules/systeminformation/lib/util.js:695:12)
at /opt/iobroker/node_modules/systeminformation/lib/bluetooth.js:98:30
at processTicksAndRejections (internal/process/task_queues.js:77:11)
2021-07-16 20:35:06.015 - error: info.0 (6020) Exception-Code: EACCES: EACCES: permission denied, scandir '/var/lib/bluetooth/'

@Apollon77 should work now. version 5.7.8 just released.

Thank you!


HPSS yaml has many arguments commented out

Both the HPSS and BufHPSS yaml files have many arguments commented out (see below). SuperCollider is looking for there to be information about these arguments, so it is complaining. Before I just uncomment these things in an attempt to fix them, I thought I would ask about it, since it seems intentional and there is probably some thought behind it.
Why are these commented out? Can I uncomment it all?
# harmThreshFreq1:
  #   description: |
  #     In modes 1 and 2, the frequency of the low part of the threshold for the harmonic filter (0-1)
  # harmThreshAmp1:
  #   description: |
  #     In modes 1 and 2, the threshold of the low part for the harmonic filter. That threshold applies to all frequencies up to harmThreshFreq1: how much more powerful (in dB) the harmonic median filter needs to be than the percussive median filter for this bin to be counted as harmonic.
  # harmThreshFreq2:
  #   description: |
  #     In modes 1 and 2, the frequency of the hight part of the threshold for the harmonic filter. (0-1)
  # harmThreshAmp2:
  #   description: |
  #     In modes 1 and 2, the threshold of the high part for the harmonic filter. That threshold applies to all frequencies above harmThreshFreq2. The threshold between harmThreshFreq1 and harmThreshFreq2 is interpolated between harmThreshAmp1 and harmThreshAmp2. How much more powerful (in dB) the harmonic median filter needs to be than the percussive median filter for this bin to be counted as harmonic.
  # percThreshFreq1:
  #   description: |
  #     In mode 2, the frequency of the low part of the threshold for the percussive filter. (0-1)
  # percThreshAmp1:
  #   description: |
  #     In mode 2, the threshold of the low part for the percussive filter.  How much more powerful (in dB) the percussive median filter needs to be than the harmonic median filter for this bin to be counted as percussive.
  # percThreshFreq2:
  #   description: |
  #     In mode 2, the frequency of the hight part of the threshold for the percussive filter. (0-1)
  # percThreshAmp2:
  #   description: |
  #     In mode 2, the threshold of the high part for the percussive filter. That threshold applies to all frequencies above percThreshFreq2. The threshold between percThreshFreq1 and percThreshFreq2 is interpolated between percThreshAmp1 and percThreshAmp2. How much more powerful (in dB) the percussive median filter needs to be than the harmonic median filter for this bin to be counted as percussive.

Why are these commented out?

I don't know

Can I uncomment it all?

Try and see

I've discovered that the parameters that were commented out in the YAML are not in the JSON generated from the C++ (see below). I wrote a little reverse validator in the python to double check this as well: https://github.com/flucoma/flucoma-docs/blob/7e4ccd5c3bfd5c6ef190fb7bd04af6c85fe7efa8/flucoma/MakeRef.py#L91 So I think the next thing is, @weefuzzy, can you take a look at this for me or point me to where I can debug this?

Ah yeah, I see. It's these bad boys here (abridged):
    {
      "displayName": "Harmonic Filter Thresholds",
      "name": "harmThresh",
      "size": 4,
      "type": "float"
    },
    {

      "displayName": "Percussive Filter Thresholds",
      "name": "percThresh",
      "size": 4,
      "type": "float"
    },

Each of these, internally, is a single parameter group together two amplitude-frequency pairs. TBH, I have no memory of who decided these should be split out into 8 separate arguments in sclang, or why. Personally [[a,f],[a,f]] seems less gross.
IAC, fixing it involves detecting these things in the generator and making sure jinja dutifully spews out separate arguments.
Not clear in my head the best place to do this yet


fix Warning: The current testing environment is not configured to support act(...)

pr #130 added the warning on @ttoss/forms

Warning: The current testing environment is not configured to support act(...)

Related to #101


v2.2.0 New Brand

Docker Image for build 1 is available on DockerHub as jc21/nginx-proxy-manager:github-pr-319


Cross-region load balancer documentation should mention that UDP is not supported

I was under the assumption that the cross-region load balancer supports UDP based on the introduction YouTube video posted to the Azure channel on Mar 26, 2021, where they explicitly mention UDP support at the 54 seconds mark. Also, the UI in the Azure Portal allows creating UDP rules.
However, while creating a Lab setup, I could not get UDP packages to flow through the Global LB. After a bit of trying, I opened a support ticket (Case ID<PHONE_NUMBER>000014 for any Microsoft staff triaging this), and I was told that

I have discussed this issue with my senior colleagues and got to find out that UDP is not yet supported on the global LB - hence why you couldn't reach the UDP port.

This is unexpected, as there is no indication anywhere that this is a limitation. I'd appreciate if this would be added to the documentation, it might save a couple of folks some headache. :)

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

ID: 22cdce66-2297-7485-f557-a98ab550082e
Version Independent ID: b9571d39-0db0-adba-07fc-ac0c553f52b0
Content: Cross-region load balancer (preview) - Azure Load Balancer
Content Source: articles/load-balancer/cross-region-overview.md
Service: load-balancer
GitHub Login: @asudbring
Microsoft Alias: allensu

@denschub , thank you for your feedback. We'll review this and get back to you shortly!

@denschub , We have assigned this issue to the respective product owner for updating the doc accordingly.
@irenehua , as per the support request and internal discussion, it looks like UDP is not supported on Global LB yet. Could you please add this in the limitation section for clarity?

Thank you so much!

I'd also like to add that I'm very happy to help alpha-testing support if that's a thing. My email address is listed here, and I'm happy to provide the account details used for the Azure account. My use-cases for globally-distributed UDP are for http/3 and for a DNS-based thing - also happy to privately provide details if needed. Those projects are not "production-critical" and I'd be fine having it based on an experimental stack, if it helps you get some more testing. I'm also fine actually paying for the LB, even if it's a potentially unstable thing.

Hi @denschub!
We have updated the doc to reflect this limitation.
Thanks for your contribution!
#please-close


SMBC, missing update or bug?

SMBC was updated with https://github.com/SAP/abap-file-formats/pull/416/files
looking at the code https://github.com/SAP/abap-file-formats-tools/blob/d3ba437c12f34b3bc630151774776a77e8690b64/src/zcl_aff_writer_json_schema.clas.abap#L336-L341
then whenever the json contains "enumTitles" it will also have "enumDescriptions"
however, this is not the case for https://github.com/SAP/abap-file-formats/blob/main/file-formats/smbc/smbc-v1.json#L147 ?
something looks wrong...

We just discussed this. We think the descriptions can be optional (same as we did it for the titles here):
https://github.com/SAP/abap-file-formats-tools/blob/d3ba437c12f34b3bc630151774776a77e8690b64/src/zcl_aff_writer_json_schema.clas.abap#L335-L338

You are right. It seems it was changed manually afterwards.
We would have to ask whether this was removed manually or whether some magic happened which we have not understood, yet ;)

yea, makes sense
tho, originally I was only after finding out if the generated file contained whatever is generated

any progress on this issue? I'd just update the generated schema in git so it matches the generated json schema


Adding Tests for cDscDiagnostics Module

Given I wanted to change some of the functions to expose them to the public, correct some of the logic that exists in the module, and learn Pester I figured this was a good module to write tests for. This should cover all functions except two, Get-WinEvent and Enable-DscEventLog.  Enable-DscEventLog wasn't tested because I couldn't figure out a good way (without modifying the function to mock wevtutil.  I'm sure someone smarter then me will know a good way to test this.  Get-WinEvent wasn't tested because I couldn't figure out how to mock the wrapper instead of the specific module.
This is also written to test the master branch as written.  So it does not include any of my modifications to Test-DscEventLogStatus or Enable-DscEventLog, these tests will need to be rewritten if those changes are going to be taken.
Completely open to feedback as this is the first real dive into Pester.

Sorry that this has sat here for so long.  I'm getting ready to merge it now, but when I check out the PR and run the tests, I get several failures:
Describing Get-AllGroupedDscEvents
    Context Get-AllDscEvents returns null
    [+] should call Log 74ms
    [+] should call Get-DscLatestJobId 8ms
    [+] should return null 8ms
    Context Get-AllDscEvents returns events
    [-] Error occurred in Context block 302ms
        You cannot call a method on a null-valued expression.
        At line:30 char:5
    Context Cached Events
    [-] Error occurred in Context block 152ms
        You cannot call a method on a null-valued expression.
        At line:30 char:5
Describing Get-SingleDscOperation
    Context Get-AllGroupedDscEvents is empty
    [+] should return empty 132ms
    Context JobId is Passed but its not found
    [+] should return empty 72ms
    Context JobId is passed and found
    [+] should have called Get-SingleDscOperation 77ms
Describing Split-SingleDscGroupedRecord
    Context Passed an bad DSC record
    [-] Error occurred in Context block 102ms
        The value supplied is not valid, or the property is read-only. Change the value, and then try again.
        At C:\Users\dlwya_000\Documents\GitHub\dsc\Tooling\cDscDiagnostics\cDscDiagnostics.psm1:533 char:35
    Context Passing a Warning
    [-] Error occurred in Context block 70ms
        The value supplied is not valid, or the property is read-only. Change the value, and then try again.
        At C:\Users\dlwya_000\Documents\GitHub\dsc\Tooling\cDscDiagnostics\cDscDiagnostics.psm1:533 char:35
    Context Passing an Operational Log
    [-] Error occurred in Context block 46ms
        The value supplied is not valid, or the property is read-only. Change the value, and then try again.
        At C:\Users\dlwya_000\Documents\GitHub\dsc\Tooling\cDscDiagnostics\cDscDiagnostics.psm1:533 char:35
    Context Passing a Debug Log
    [-] Error occurred in Context block 45ms
        The value supplied is not valid, or the property is read-only. Change the value, and then try again.
        At C:\Users\dlwya_000\Documents\GitHub\dsc\Tooling\cDscDiagnostics\cDscDiagnostics.psm1:533 char:35
    Context Passing a Verbose Log
    [-] Error occurred in Context block 58ms
        The value supplied is not valid, or the property is read-only. Change the value, and then try again.
        At C:\Users\dlwya_000\Documents\GitHub\dsc\Tooling\cDscDiagnostics\cDscDiagnostics.psm1:533 char:35
    Context Passing an Analytic Log
    [-] Error occurred in Context block 44ms
        The value supplied is not valid, or the property is read-only. Change the value, and then try again.
        At C:\Users\dlwya_000\Documents\GitHub\dsc\Tooling\cDscDiagnostics\cDscDiagnostics.psm1:533 char:35

I'll look through these and see if I can figure out what's going on, as time allows (possibly this weekend.)

Strange I ran it again on a clean computer that I didn't develop on and it worked fine. I've found when I run into similar things restarting the PowerShell instance ended up fixing the problem. Let me know if you find something.

The first two errors (method on a null-valued expression) can be solved with an extra mock, so it's not dependent on the contents of the event log where the tests are run.
Those "property is not valid" errors from New-Object have me scratching my head.  I don't know what causes them, but ditching the -Property hashtable and just assigning values to the properties after it's constructed work fine.  I'll merge this PR and then add my changes to get the tests working, and we can go from there.  :)

OK sounds good, sorry for the extra work. Look forward to seeing the changes so I can get a handle on what went wrong.


workaround #134 / #130

Disclaimer
I am perfectly aware that this is a dirty hack, and not good solution. But I think it's way better than the project not working at all.
The problem
The root cause of the issue is already reported on simpl_le
It can be fixed by upgrading the client library. There is a PR, but it's not merged yet.
The workaround
Be cause I need this to work for my own setup, I forked docker-letsencrypt-nginx-proxy-companion to get the "acme-0.8" branch instead of "master" from simp_le
To prevent it from blowing up the day the branch is merged or removed, I added a fallback that gets the master if the branch doesn't exist.
This way, we can get docker-letsencrypt-nginx-proxy-companion back to work until the issue is fixed on simp_le and come back to remove this workaround at this time, and implement one of the better solutions discussed on the issue.

Closed by daa88d29


Managing disputed charges

As a host I want to easily identify disputed charges so that I can accept or counter the dispute

Sometimes hosts will receive disputes from payment processors on behalf of users who are disputing a charge against their payment method. Sometimes these charges will be fraudulent, other times they might simply be that someone has forgotten that they have a recurring (most likely annual) contribution.
In either case, as a host I need to

Find the disputed transaction
Confirm that the transaction is indeed fraudulent or genuine
Take action to accept or counter the dispute

If accepting the dispute I need to mark the charge(s) as 'refunded' on the ledger.
If countering the dispute I need to provide evidence for the dispute, most likely this will be:

the receipt for the donation
evidence of the recurring contribution

Extra Credit
It would be particularly useful if i was able to address related disputes by payment method, user account and/or Collective(s) impacted.
Related https://github.com/opencollective/opencollective/issues/4329

looks like this was tackled over in https://github.com/opencollective/opencollective/issues/5983
@vaughanj10 can you link a demo and tie up any follow-on work here?
from my side the next thing we should probably do is recognise that, in the case of a lost dispute, we do pay an additional dispute charge, that we should consider writing to the ledger, perhaps as the point we begin writing payment fees as separate entries /cc @Betree.

@BenJam From what I understood, this is something @vaughanj10 implemented; I haven't reviewed it myself (@kewitz) did.
I've opened a follow-up issue to implement the same functionality for PayPal, I can imagine host admins being confused on "why is there no warning while I had 5 disputed charges on PayPal?".


Conflict with SWP08 Lawo VSM

Hi,
I've been trying to implement a connectivity between Companion and VSM. It works fine thru the Ember connection, but I would like to also use SW-P 08 protocol. This seems to be the same problem as issue #13.
I'm setting up a SW P-08 Connection in Companion, a Inbound TCP SWP08 in Lawo VSM, defined has a controller for a virtual matrix, everything is in the green, and marked as conneted.
However I cannont manage to make a crosspoint. When I send one, i have the following in my logs in Companion :
23.03.20 17:48:11 instance(SW-P-08 VSM A): 8,1,247 23.03.20 17:48:11 instance(SW-P-08 VSM A): Unknown response code 8 23.03.20 17:48:11 instance(SW-P-08 VSM A): 8,1,247,8,1,248 23.03.20 17:48:11 instance(SW-P-08 VSM A): Unknown response code 8 23.03.20 17:48:10 instance(SW-P-08 VSM A): Unable to verify list of implemented commands 23.03.20 17:48:10 instance(SW-P-08 VSM A): Crosspoint 1>1 level 1 23.03.20 17:48:00 instance(SW-P-08 VSM A): 8,1,247 23.03.20 17:48:00 instance(SW-P-08 VSM A): Unknown response code 8 23.03.20 17:48:00 instance(SW-P-08 VSM A): 8,1,247,8,1,248
Seems like the two devices don't speak the same language.
On the VSM side, I get
Detected possible communication problem...
From time to time
Any idea ? As anyone had the same issue ? I have also tried to emulate a SWP08 device using vsmGadgetServer, with the same result.
Thanks in advance

Have you tried turning off 'Request supported commands on connection' in the module settings? Unfortunately I don't have any Lavo equipment to test with.

Hi Daniep01, thanks for the quick reply.
You are right, it works fine now.


adult cerebral ganglion on adult brain template JFRC2 (VFB_00030849) displaying incorrectly in 3D view

adult cerebral ganglion on adult brain template JFRC2 (VFB_00030849) loads correctly in the slice viewer, but the domains in the 3D view are only a subset of the cerebral ganglion domains. (tested on v2 and v2-dev)

Support info:
Tue May 19 2020 08:26:48 GMT 0100 (British Summer Time)
Chrome 81.0.4044.138 [1402,754]
https://v2.virtualflybrain.org/org.geppetto.frontend/geppetto?id=VFB_00030849&i=VFB_00017894,VFB_00030849
+ Adding 8 instances to 705
+ Passing 711 instances
+ Adding 8 instances to 711
+ Passing 717 instances
+ Adding 8 instances to 717
+ Passing 723 instances
+ Adding 8 instances to 723
+ Passing 729 instances
+ Adding 8 instances to 729
+ Passing 735 instances

Resolved


Get the bot (fully) functional

Currently the bot works, but it doesn't have all the QoL features the old one did.

Why no flowey :(

WHAT?!?!  WHY HAVE [Botany Class] WHEN YOU CAN HAVE THE BEST [Best Prices in the Tri-State Area!] [[Designed BY The Classics You've Come To Expect! (C)1997]]


Move crv mc assns

This PR goes with Mu2e/Offline#1047

Hi @AndrewEdmonds11,
You have proposed changes to files in these packages:

JobConfig

which require these tests: build.
@Mu2e/fnalbuild-users, @Mu2e/write have access to CI actions on main.
:hourglass: The following tests have been triggered for b51caa2fbecff17ecd3d0db7e9ebd885e7fe7c13: build  (Build queue is empty)
About FNALbuild. Code review on Mu2e/Offline.

:umbrella: The build tests failed for b51caa2fbecff17ecd3d0db7e9ebd885e7fe7c13.

Test
Result
Details

test with
:white_check_mark:
Command did not list any other PRs to include

merge
:white_check_mark:
Merged b51caa2fbecff17ecd3d0db7e9ebd885e7fe7c13 at 614d2fdddf13ce0b5582c56dc6f25d926d7b148c

build (prof)
:white_check_mark:
Log file. Build time: 10 min 53 sec

ceSimReco
:x:
Log file. Return Code 9.

g4test_03MT
:white_check_mark:
Log file.

transportOnly
:white_check_mark:
Log file.

POT
:white_check_mark:
Log file.

g4study
:white_check_mark:
Log file.

cosmicSimReco
:white_check_mark:
Log file.

cosmicOffSpill
:white_check_mark:
Log file.

ceSteps
:white_check_mark:
Log file.

ceDigi
:white_check_mark:
Log file.

muDauSteps
:white_check_mark:
Log file.

ceMix
:white_check_mark:
Log file.

rootOverlaps
:white_check_mark:
Log file.

g4surfaceCheck
:white_check_mark:
Log file.

FIXME, TODO
:white_check_mark:
TODO (0) FIXME (0) in 0 files

clang-tidy
:white_check_mark:
0 errors 0 warnings

N.B. These results were obtained from a build of this Pull Request at b51caa2fbecff17ecd3d0db7e9ebd885e7fe7c13 after being merged into the base branch at 614d2fdddf13ce0b5582c56dc6f25d926d7b148c.
For more information, please check the job page here.
Build artifacts are deleted after 5 days. If this is not desired, select Keep this build forever on the job page.


added metatag to avoid zooming

A picture tells a thousand words
Before this PR
Pinching zooms on mobile
After this PR
Pinching does not zoom on mobile

Coverage remained the same at 42.694% when pulling 4076cd4ee320160185a9c2d2d07bf5369d93b799 on noZoomWebpage into e4532c65ef2e9a29eb23fa92f5d31b0fc3abb68f on master.


util/mkdef.pl fixes

Two fixes:

Add the UNIX platform, allowing us to guard Unix specific functions with OPENSSL_SYS_UNIX
Make the symbol version sort Linux only (Windows doesn't care, VMS really cares about numeric ordering)

Merged.  9c06cf04ee9aa6682e6cc635aeb453ac12e641c1 and 0e288c2af2f24121ebd5f0c58912d9429915c02a
(now go rebase #3754 and do another make update ;-))

Oh, forgot!  Merged into 1.1.0 as well.  c2b980d89fa8aa2084206f007ab9879cee4cda4e and 60ccf93d1bb5fb29907f789a913e6e259dfc1ee2


inventory: Sync OSUOSL Linux machines with reality

The inventory for the OSUOSL Linux machines is out of sync with what we have. Fortunately Jenkins is correct, although Bastillion will need updates which I'll do as soon as I click "Create Pull Request" here.
Updates required:

The ones in this PR
Remove ubuntu1804-1 from Bastillion as it's defined with the same IP as ubuntu1604-1
Renaming ubuntu1804-2 to -1 in Bastillion
Renaming ubuntu1804-3 to -2 in Bastillion
Removing ubuntu1804-ppc64le-4 from Bastillion as it does not exist
Removing centos74-3 from Bastillion as it does not exist

We should look at updating some of the machines we have here to cover newer OSs once the current GA cycle is out of the way
Assigning Will as reviewer as he raised the issues with me :-)
Signed-off-by: Stewart X Addison<EMAIL_ADDRESS>

Force pushed a small change to description to force a new build since the Docker / Centos6 test didn't work for reasons that appear to have nothing to do with this PR


[BUG]

on creating a new user with the role return 500 Internal Server Error with
"message": "Return value of App\Entities\User::getStoredRole() must implement interface Spatie\Permission\Contracts\Role, null returned",
how to solve this issue

Hey, it seems like the issue you are having is with an unrelated package, not any related to this boilerplate.

sorry wrong package


Color decvoluton

Hello, excuse me, I would like to ask you in the calculate_P_hat_from_256RGB.py file, which reference is there for the calculation of the OD value?

Hi, thanks for asking. Please see https://pubmed.ncbi.nlm.nih.gov/11531144/ for the reference to the OD calculations. Article seems to have a paywall, I don't immediately have access to the PDF anymore, sorry!
For an example using the skimage library https://scikit-image.org/docs/dev/auto_examples/color_exposure/plot_ihc_color_separation.html

hello， Sorry to disturb you
In fact, I have read this paper and this example, but I still did not find a reasonable way to calculate the OD value until I saw your project.
So is this method your own idea, or it was mentioned in the paper, but I didn't understand it well？
I want to try to choose a new color to calculate its OD value and put it in the OD matrix so that I can separate the new color. Could I use this method to experiment？please~
------------------ 原始邮件 ------------------
发件人:                                                                                "griffincalme/MicroDeconvolution"                                                                                @.>;
发送时间: 2021年12月21日(星期二) 晚上9:54
@.>;
<EMAIL_ADDRESS>主题: Re: [griffincalme/MicroDeconvolution] Color decvoluton (Issue #1)
Hi, thanks for asking. Please see https://pubmed.ncbi.nlm.nih.gov/11531144/ for the reference to the OD calculations. Article seems to have a paywall, I don't immediately have access to the PDF anymore, sorry!
For an example using the skimage library https://scikit-image.org/docs/dev/auto_examples/color_exposure/plot_ihc_color_separation.html
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.Message ID: @.***>

No worries, not my own idea. Was implemented by Scikit-image library.
You can make your own matrix for different colors. The OD values are just the inverse of the RGB values. You essentially can use the color picker in a program like paint.net to get the RGB then take "(255 - value)/255 = OD"
It gets more complicated when stains share similar color space. Skimage also has a different function for only two stains.

Thank you very much for your explanation~,  also wish you Merry Christmas in advance ^_^
------------------ 原始邮件 ------------------
发件人:                                                                                "griffincalme/MicroDeconvolution"                                                                                @.>;
发送时间: 2021年12月21日(星期二) 晚上10:37
@.>;
<EMAIL_ADDRESS>主题: Re: [griffincalme/MicroDeconvolution] Color decvoluton (Issue #1)
No worries, not my own idea. Was implemented by Scikit-image library.
You can make your own matrix for different colors. The OD values are just the inverse of the RGB values. You essentially can use the color picker in a program like paint.net to get the RGB then take "(255 - value)/255 = OD"
It gets more complicated when stains share similar color space. Skimage also has a different function for only two stains.
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.Message ID: @.***>


support parsing sipUri contaisn query params

freshdesk #194

Tested and it;s working on jambonz.me

published in v4.5.34


fixing some spanish translations in locales/es-Es.json

Hello namesake, my native language is Spanish. I will help you with the Spanish translation.
I did some translations. You can check them.
Greetings.

¡Muchas gracias!


className implementation to solve #27, #4, and #197

Thanks for the hard work on this lib! It's a massive step forward from all the other inline styles approaches.
There are a couple of things that make me hesitant to adopt it in a big project, and I wanted to discuss the feasibility of a different approach to scoping styles.

Complication of targeting children components. #197 . I like to reuse components like custom dropdowns throughout an app and change their styles through an extraClassName prop.
Potential performance hits of using data attributes. #4 .

I think there is a relatively easy way to solve these two issues.
Instead of putting the hash as a data attribute we could concatenate it to the className prop of every element in the scope. This would also remove the need for a function like _styledJsxPrefix from #27 . We could also concatenate it to any string that matches a class selector in the styles. That way custom props like extraClassNames will still work. If extraClassNames is an expression then we can concatenate the styleId explicitly.
E.g.
export default props => (

only this paragraph will get the style :)

    <CustomComponent extraClassName="custom-class"/>
    <CustomComponent extraClassName={props.someBool ? 'custom-class' : 'c'}/>
    <CustomComponent extraClassName={props.someClass /*!styleId!*/}/>

)

Becomes:
export default props => (

only this paragraph will get the style :)

    <CustomComponent extraClassName="custom-class cn2o3j"/>
    <CustomComponent extraClassName={(props.someBool ? 'custom-class' : 'c') + 'cn2o3j'}/>
    <CustomComponent extraClassName={props.someClass + 'cn2o3j'}/>
    <_JSXStyle
      styleId='cn2o3j'
      css={`
        p.cn2o3j {
          color: red;
        }

        .a.cn2o3j {
          background: blue;
        }

        .b.cn2o3j {
          background: green;
        }

        .custom-class.cn2o3j {
          font-size: 14px;
        }
      `}
      />

)

This approach would let you create classes that are scoped to the parent component but still affect children and it avoids the usage of data attributes.
Would this work?

@epiqueras hi, thanks for your input!
Switching from data attributes to classes is definitely something that I want to do. I just created an issue #247 for it. You can see why we would still need a function like _styledJsxPrefix.
Regarding the extraClassNames idea I think that #209 could somehow fix that issue, but yea potentially we could automatically pass the class to the components as styled-jsx-parent attribute (prop). And from a child component you could then grab it and set it as className.
One "problem" is that on every child component you would need to grab the class and set it (same with extraClassName). We you are trying to style 3rd parties components this is not going to work. That's why right now we recommend to use the :global selector https://github.com/zeit/styled-jsx#global-selectors.

@giuseppeg
I looked at #247 . Couldn't we just append the hash during compile time to avoid so many function calls. The only place where JSXStyle.addClass would be needed would be where spread operators are used, and it would need a check to see if a className is present to avoid overwriting previous rest operators.
E.g.
// To avoid (`{...props} {...rest}`) rest overwriting props.className
if (typeof target !== 'string') {
  if (target.className) ....

But, this would make it really difficult to append to props that aren't called className, but contain selector strings found inside the style tag, like in my first example. JSXStyle.addClass would have to compare every prop against every selector in the current component.
Is this even desired? I think in cases like this it would be better to leave it up to the user to explicitly append the hash. But, instead of doing it in runtime or using a function like #209 to create a uniqueClass, it could be done with a comment that gets compiled. E.g. const className = 'props.className' /* styled-jsx */. There could also be /* not-styled-jsx */ to avoid the className concatenation.
This would also solve the issue of styling third party components.
So, maybe the best solution would be to only concatenate to className props and leave spread operators and custom prop names for the user to concatenate explicitly?

Couldn't we just append the hash during compile time to avoid so many function calls.

Yes we can do that for the explicit className attribute (prop) eg.
.
Regarding the spread conflict you are right, we should only set it when target has className (also always set className as first property in case none of the spread objects has it.

But, this would make it really difficult to append to props that aren't called className, but contain selector strings found inside the style tag, like in my first example.

I don't think that we should do that, if anything we can pass an attribute styled-jsx-parentClass with the parent scoped class.

Is this even desired? I think in cases like this it would be better to leave it up to the user to explicitly append the hash. But, instead of doing it in runtime or using a function like #209 to create a uniqueClass, it could be done with a comment that gets compiled. E.g. const className = 'props.className' /* styled-jsx /. There could also be / not-styled-jsx */ to avoid the className concatenation.

this part is not clear to me, can you rephrase?

@epiqueras updated the issue, let me know if I missed something.

What I meant is that maybe we should avoid looking in spread objects for className props and class selectors in custom prop names.

The reason for wrapping spreads with a fn is that one might do the following:
({ unusedProp, ...rest }) => (

)

@giuseppeg
There are probably three cases where that happens:

Custom component made by the user and styles for rest.className are in the parent.
Here, you expect rest.className to not be concatenated. It wouldn't do much if it is concatenated because the selector that styles it is in the parent's style tag and uses the parent's styleId.

Custom component made by the user and styles for rest.className are in the custom component.
Here the user would have to explicitly concatenate it using the comment format. Still better than a function call, perf-wise.

Third party component and styles are in the parent.
Same as number 1. The className is already scoped to the the parent where it was defined. If you want to include it in different scopes you should do it explicitly through comment concatenation.

I'm just trying to figure out a way to keep it compile-time. We could also use some sort of global variable instead of the comment.

if you don't use spreads a lot it is not going to be a problem for you :) But I will see if I can come up with a way to avoid the run time work

@giuseppeg
What if instead of adding the function wrapper you add this:
Before:
<Component {...props}/>

After:
<Component {...props} className={props.className && (props.className + styleId)}/>

Yep I thought of that too yesterday, moving className to the end and do an override sounds good. I'll update the issue.

👍

@epiqueras thanks for you input :) I updated the issue, let me know if I missed something

@giuseppeg Looks great! I'll close this now.