About BYOL implementations

https://github.com/open-mmlab/OpenSelfSup/blob/3272f765c5b7d5bee9772233a5a4d7e3fb66e5bf/openselfsup/models/byol.py#L92
Dear Xiaohang,
Thanks for the excellent job!
I have noticed that there are four feed-forwards in the following lines in BYOL.
proj_online_v1 = self.online_net(img_v1)[0]
proj_online_v2 = self.online_net(img_v2)[0]
with torch.no_grad():
  proj_target_v1 = self.target_net(img_v1)[0].clone().detach()
  proj_target_v2 = self.target_net(img_v2)[0].clone().detach()

I also noticed that, in the earlier version, the pairs of images were concatenated such that only two feed-forwards were needed.
img_cat1 = torch.cat([img_v1, img_v2], dim=0)
img_cat2 = torch.cat([img_v2, img_v1], dim=0)
proj_online = self.online_net(img_cat1)[0]
with torch.no_grad():
  proj_target = self.target_net(img_cat2)[0].clone().detach()

My understanding is that these two implementations are similar except that the older one has a slight difference in calculating BN. However, the newer one is more time-consuming than the older one. Could you provide some explanations on the possible results of using the older implementation? As we know, you have remarked it as "fix BYOL" in the commit history.
I am looking forward to your reply.

The way of computing BN is essential. The result of the old version is very poor.

Thank you for your reply!
I agree that BN may have found the shortcut solution. Years ago, after reading the following paper, I performed an experiment on CIFAR-10 and found that, with BN finding some shortcut solutions, the CIFAR-10 test set's error rate was almost reduced to zero.
Mohamed Hajaj, Duncan Gillies:
Batch Normalization and the impact of batch structure on the behavior of deep convolution networks. CoRR abs/1802.07590 (2018)


フッターUI作成

`import React from 'react';
const Footer = () => {
return (

Use cases

UI design
UX design
Wireframing
Diagramming
Brainstorming
Online whiteboard
Team collaboration

Explore

Design
Prototyping
Development features
Design systems
Collaboration features
Design process
FigJam

Resources

Blog
Best practices
Colors
Color wheel
Support
Developers
Resource library

);
}
export default Footer;
import React from 'react';
const Footer = () => {
return (

Use cases

UI design
UX design
Wireframing
Diagramming
Brainstorming
Online whiteboard
Team collaboration

Explore

Design
Prototyping
Development features
Design systems
Collaboration features
Design process
FigJam

Resources

Blog
Best practices
Colors
Color wheel
Support
Developers
Resource library

);
}
export default Footer;
`

特になし


scipy.stats.spearmanr na_policy='omit' does not handle DataFrames with variables with too many NaNs

Handing scipy.stats.spearmanr a DataFrame with a single variable with too many missing values, results in error ValueError: The input must have at least 3 entries!, as opposed to returning NaN for those comparisons where not enough overlapping non-NaN values are present.
Reproducing code example:

import numpy as np
import pandas as pd
import scipy
df1 = pd.DataFrame({'col1':[1.,2.,3.,4.], 'col2':[1.,2.,3.,4.]})
df2 = pd.DataFrame({'col1':[1.7,2.4,3.8,4.3], 'col2':[1.9,2.8,3.2,4.1]})
df3 = pd.DataFrame({'col1':[1.7,np.nan, np.nan, np.nan], 'col2':[1.9,2.8,3.2,4.1]})
scipy.stats.spearmanr(df1,df2, nan_policy='omit') #This will run fine

SpearmanrResult(correlation=array([[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.],
[1., 1., 1., 1.]]), pvalue=array([[0., 0., 0., 0.],
[0., 0., 0., 0.],
[0., 0., 0., 0.],
[0., 0., 0., 0.]]))

scipy.stats.spearmanr(df1,df3, nan_policy='omit') #This will produce the error

Error message:

---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
<ipython-input-67-6965e82bff98> in <module>
----> 1 scipy.stats.spearmanr(df1,df3, nan_policy='omit')

~/scratch/miniconda3/envs/phdis/lib/python3.8/site-packages/scipy/stats/stats.py in spearmanr(a, b, axis, nan_policy)
   4206     if a_contains_nan:
   4207         if nan_policy == 'omit':
-> 4208             return mstats_basic.spearmanr(a, axis=axis, nan_policy=nan_policy)
   4209         elif nan_policy == 'propagate':
   4210             if a.ndim == 1 or n_vars <= 2:

~/scratch/miniconda3/envs/phdis/lib/python3.8/site-packages/scipy/stats/mstats_basic.py in spearmanr(x, y, use_ties, axis, nan_policy)
    539         for var1 in range(n_vars - 1):
    540             for var2 in range(var1+1, n_vars):
--> 541                 result = _spearmanr_2cols(x[:, [var1, var2]])
    542                 rs[var1, var2] = result.correlation
    543                 rs[var2, var1] = result.correlation

~/scratch/miniconda3/envs/phdis/lib/python3.8/site-packages/scipy/stats/mstats_basic.py in _spearmanr_2cols(x)
    509         dof = n_obs - 2 - int(m.sum(axis=0)[0])
    510         if dof < 0:
--> 511             raise ValueError("The input must have at least 3 entries!")
    512
    513         # Gets the ranks and rank differences

ValueError: The input must have at least 3 entries!

Scipy/Numpy/Python version information:

1.6.2 1.20.2 sys.version_info(major=3, minor=9, micro=2, releaselevel='final', serial=0)

Thanks for reporting. But in this case I think you were looking for propagate and not omit. Omit is not looking at the values with NaNs, hence your error.
Can you check this and close if this answer your issue? Thanks in advance.

I think the issue is valid. If i remember correctly, the hypothesis tests are not very consistent with what they do when there are not enough samples to perform the test. It is reasonable that the user would expect them to return nan instead of raising an error. Il revise this post when I look at what our nan_policy document has to say about what should happen.

Because here it says that omit will not consider the values. So to me it looked coherent with the message.

Agreed for the message 😅

And using propagate with this example gives:
scipy.stats.spearmanr(df1,df3, nan_policy='propagate')
Out[5]:
SpearmanrResult(correlation=array([[ 1.,  1., nan,  1.],
       [ 1.,  1., nan,  1.],
       [nan, nan, nan, nan],
       [ 1.,  1., nan,  1.]]), pvalue=array([[0., 0., 0., 0.],
       [0., 0., 0., 0.],
       [0., 0., 0., 0.],
       [0., 0., 0., 0.]]))

To me, the description for omit implied that if I have 2 vectors that contain NaNs, it will just ignore all the positions where the 2 vectors don't both have a NaN. It doesn't talk about what happens when there are too few matching pairs, so since it wasn't mentioned in the vignette on the docs page, I assumed it would default to returning np.NaN for p-value and correlation.
I also don't quite understand the error - it says it requires at least 3 values but the error only triggers when there is exactly one matching value. It gives a warning when there are 2 matching values and just returns the expected np.NaN for both p-value and correlation if there are no matching values.
from scipy.stats import spearmanr
import pandas as pd
import numpy as np
arr1  = np.array([np.nan, np.nan, 2, 3])
arr2  = np.array([4, 1, 2, 3])
spearmanr(arr1, arr2)

SpearmanrResult(correlation=nan, pvalue=nan)

spearmanr(arr1, arr2, nan_policy='omit')

/gpfs/home/schrat01/scratch/miniconda3/envs/scipy_testenv/lib/python3.9/site-packages/scipy/stats/mstats_basic.py:507: >RuntimeWarning: invalid value encountered in true_divide
t = rs * np.sqrt((dof / ((rs+1.0) * (1.0-rs))).clip(0))
SpearmanrResult(correlation=1.0, pvalue=nan)

arr3  = np.array([np.nan, np.nan, np.nan, 3])
spearmanr(arr3, arr2, nan_policy='omit')

Traceback (most recent call last):
File "", line 1, in
File "/gpfs/home/schrat01/scratch/miniconda3/envs/scipy_testenv/lib/python3.9/site-packages/scipy/stats/stats.py", line 4276, in spearmanr
return mstats_basic.spearmanr(a, axis=axis, nan_policy=nan_policy)
File "/gpfs/home/schrat01/scratch/miniconda3/envs/scipy_testenv/lib/python3.9/site-packages/scipy/stats/mstats_basic.py", line 521, in spearmanr
return _spearmanr_2cols(x)
File "/gpfs/home/schrat01/scratch/miniconda3/envs/scipy_testenv/lib/python3.9/site-packages/scipy/stats/mstats_basic.py", line 497, in _spearmanr_2cols
raise ValueError("The input must have at least 3 entries!")
ValueError: The input must have at least 3 entries!

arr1_positions_matter = np.array([np.nan, np.nan, 1,2])
arr2_positions_matter = np.array([np.nan, 1, np.nan,2])
spearmanr(arr1_positions_matter, arr2_positions_matter, nan_policy='omit')

Traceback (most recent call last):
File "", line 1, in
File "/gpfs/home/schrat01/scratch/miniconda3/envs/scipy_testenv/lib/python3.9/site-packages/scipy/stats/stats.py", line 4276, in spearmanr
return mstats_basic.spearmanr(a, axis=axis, nan_policy=nan_policy)
File "/gpfs/home/schrat01/scratch/miniconda3/envs/scipy_testenv/lib/python3.9/site-packages/scipy/stats/mstats_basic.py", line 521, in spearmanr
return _spearmanr_2cols(x)
File "/gpfs/home/schrat01/scratch/miniconda3/envs/scipy_testenv/lib/python3.9/site-packages/scipy/stats/mstats_basic.py", line 497, in _spearmanr_2cols
raise ValueError("The input must have at least 3 entries!")
ValueError: The input must have at least 3 entries!

arr_nan  = np.array([np.nan, np.nan, np.nan, np.nan])
spearmanr(arr_nan, arr2, nan_policy='omit')

SpearmanrResult(correlation=nan, pvalue=nan)

I am not interested in using propagate because I work with reasonably sparse data, so propagate would just return NaN.

Here is what is supposed to happen:
http://scipy.github.io/devdocs/dev/api-dev/nan_policy.html

More generally, for functions that return a scalar, func(a, nan_policy='omit') should behave the same as func(a[~np.isnan(a)]).

Isn't this violated in the case I described above? spearmanr(np.array([2]), np.array([1]), nan_policy='omit') returns two NaN values and spearmanr(np.array([2, np.nan]), np.array([1, np.nan]), nan_policy='omit') gives an error. Should both function calls return NaNs or should they both throw the less than 3 error <3?
And would you welcome me trying to tackle this with a PR? I have never contributed here before but I'm willing to try.

Yes, you're right, it is violated.
It's because when nan_policy='omit', spearmanr calls the mstats version of spearmanr, which behaves differently when there is an insufficient number of observations.

That makes sense! Yes, that's what I'd propose - happy to hear use cases where it's important that it errors out in the cases I described above. Just because it's not convenient for me ofc doesn't mean there wasn't a good reason for it.
I just signed up for the mailing list, and will look into the standards for proposals like this.
Thanks for the feedback @mdhaber and @tupui!

Please review gh-12241. I thought I remember this coming up before.

Sent the proposal just now.

Will fix as part of gh-14651


perf: remove unnecessary, cache-defeating withPosition in doReassignArrow

As noticed by @digama0. This was introduced in https://github.com/leanprover/lean4/commit/2909313475588cc20ac0436e55548a4502050d0a, but the checkColGt "|" part should be sufficient since doSeqIndent (and termReturn) already uses withPosition.

!bench


Format the output of curl to json.

With json format:
[root@gyliu-icp-1 istio-0.8.0]# kubectl exec -it $SLEEP_POD -c sleep -- sh -c 'curl  http://httpbin:8080/headers' | python -m json.tool
{
    "headers": {
        "Accept": "*/*",
        "Content-Length": "0",
        "Host": "httpbin:8080",
        "User-Agent": "curl/7.35.0",
        "X-B3-Sampled": "1",
        "X-B3-Spanid": "9e707b357acf81aa",
        "X-B3-Traceid": "9e707b357acf81aa",
        "X-Envoy-Expected-Rq-Timeout-Ms": "15000"
    }
}

Without json format:
[root@gyliu-icp-1 istio-0.8.0]# kubectl exec -it $SLEEP_POD -c sleep -- sh -c 'curl  http://httpbin:8080/headers'
{"headers":{"Accept":"*/*","Content-Length":"0","Host":"httpbin:8080","User-Agent":"curl/7.35.0","X-B3-Sampled":"1","X-B3-Spanid":"6e3f5844e238e570","X-B3-Traceid":"6e3f5844e238e570","X-Envoy-Expected-Rq-Timeout-Ms":"15000"}}

/cc @geeknoid

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: gyliu513
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: geeknoid
Assign the PR to them by writing /assign @geeknoid in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Creating a dialog

I see you have added the handler for a dialog, but how do you do the equivalent of slack.dialog.open?

You can call dialog.open of of the client like this:
let params = { trigger_id: triggerId, dialog, token: msg.meta.bot_token }
slapp.client.dialog.open(params, (err, result) => {}

ok, yeah sorry, that much was clear. How do I connect into the flow of the conversation with a dialog after it completes?
If I set up a msg.route when I call open.dialog, that route overrides the dialog handler. But without it, by the time I reach the dialog handler, I've lost what prior conversation state there was.

I'm sorry to say, but the maintainers of this project (bolt-js) no longer support the slapp library. Please let us close this issue now.


Atlas generates versioned migrations that rename unique indexes

I am attemping to upgrade atlas within our go project. We are using GORM as our ORM.
Environment
Updating from atlas version:
# atlas install
root@8f9a47b3ddf1:/project# go install -v ariga.io/atlas/cmd/atlas@latest

# atlas version information
root@8f9a47b3ddf1:/project# atlas version
atlas version - development
https://github.com/ariga/atlas/releases/latest

# atlas binary hash
root@8f9a47b3ddf1:/project# sha1sum `which atlas`
ad9d2c9ac663ae39f247a782d056474351770b67  /go/bin/atlas

# go mod file
root@8f9a47b3ddf1:/project# grep -E '(gorm|atlas)' go.mod
        ariga.io/atlas-go-sdk v0.1.0
        ariga.io/atlas-provider-gorm v0.1.0
        gorm.io/driver/mysql v1.5.1
        gorm.io/gorm v1.25.4
        gorm.io/driver/postgres v1.5.2 // indirect
        gorm.io/driver/sqlite v1.5.3 // indirect

Updating to atlas version:
# atlas install (no longer available via `go install` ....)
root@d130a4a0aa7b:/project# wget https://release.ariga.io/atlas/atlas-linux-amd64-v0.27.0 && \
root@d130a4a0aa7b:/project# install atlas-linux-amd64-v0.27.0 /usr/local/bin/atlas

# atlas version information
root@d130a4a0aa7b:/project# atlas version
atlas version v0.27.0
https://github.com/ariga/atlas/releases/tag/v0.27.0

# atlas binary hash
root@d130a4a0aa7b:/project# sha1sum `which atlas`
ac43220a533ac7848255f20995b8e3fdfee7527d  /usr/local/bin/atlas

# update gorm provider
root@d130a4a0aa7b:/project# go get -u ariga.io/atlas-provider-gorm

# go mod file
root@d130a4a0aa7b:/project# grep -E '(gorm|atlas)' go.mod
        ariga.io/atlas-go-sdk v0.6.2
        ariga.io/atlas-provider-gorm v0.5.0
        gorm.io/driver/mysql v1.5.7
        gorm.io/gorm v1.25.12
        gorm.io/driver/postgres v1.5.9 // indirect
        gorm.io/driver/sqlite v1.5.6 // indirect
        gorm.io/driver/sqlserver v1.5.3 // indirect

Observed Behavior
After the upgrade atlas migrate diff gives me the following prompt for every unique index in my schema:
root@d130a4a0aa7b:/project# atlas migrate diff --env local
? Did you rename "table_foo" index from "index_on_foo" to "uni_table_foo_index_on_foo":
  ▸ Yes
    No

If I select Yes it alters my schema to rename the indexes: E.G.
ALTER TABLE `table_foo` RENAME INDEX `index_on_foo` TO `uni_table_foo_index_on_foo`;
-- ... lots of other ALTER statements ...
-- ... for every index in my schema ...
ALTER TABLE `table_bar` RENAME INDEX `index_on_bar` TO `uni_table_bar_index_on_bar`;

If I select No it alters my schema to drop and add the indexes: E.G.:
ALTER TABLE `table_foo` DROP INDEX `index_on_foo`, ADD UNIQUE INDEX `uni_table_foo_index_on_foo` (`column_on_foo`);
-- ... lots of other ALTER statements ...
-- ... for every index in my schema ...
ALTER TABLE `table_bar` DROP INDEX `index_on_bar`, ADD UNIQUE INDEX `uni_table_bar_index_on_bar` (`column_on_bar`);

I have not changed any GORM models in my code base. The only change is to upgrade the atlas CLI tool and corresponding
go integration library.
Expected Behavior
I expect no changes to my schema if I have not updated my GORM models. Why is atlas choosing to rename all of my unique indexes?
What options do I have to prevent atlas from renaming these? I do not think it is reasonable to run such a migration.

Hey! Please, use the instructions in this link to install Atlas: https://atlasgo.io/docs#installation
Then, please report if you still face any issues with it.

Done. I removed wget https://release.ariga.io/atlas/atlas-linux-amd64-v0.27.0 and replaced it with curl -sSf https://atlasgo.sh | sh
The issue persists. atlas migrate diff generates migrations that rename unique indexes when there are no changes to GORM models. The issue is identical to the original description above.
The install was done from a clean environment. I.E. from a fresh container without atlas installed.
root@18fda9d0c094:/project# curl -sSf https://atlasgo.sh | sh

root@18fda9d0c094:/project# atlas version
atlas version v0.27.0
https://github.com/ariga/atlas/releases/tag/v0.27.0

root@18fda9d0c094:/project# sha1sum `which atlas`
ac43220a533ac7848255f20995b8e3fdfee7527d  /usr/local/bin/atlas

As to your link to the install instructions: we included atlas in our project some time ago when installing via go was an acceptable method. We are in the process of upgrading the tooling now to the latest version.
We expect the latest version to gracefully handle an update from an older version. This expectation should not be surprising.

Can you provide an example that reproduce this issue? I'll try to reproduce.
Regarding the index naming - I suspect this is not an issue on Atlas, but rather on the provider that generates these names (GORM), because Atlas has no preferences on object naming. Any chance you upgraded the GORM version at the same time? Either way, if you provide a simple example, I'll try to help.

As to your link to the install instructions: we included atlas in our project some time ago when installing via go was an acceptable method. We are in the process of upgrading the tooling now to the latest version.
We expect the latest version to gracefully handle an update from an older version. This expectation should not be surprising.

We deprecated the Go installation more than a year a Go, so whenever someone reports an issue, I want to make sure they work on the latest stable version. That's why I ask for upgrade when I see unexpected behavior.

@a8m
You nailed it. The change is in GORM. We went from v1.25.4 to v1.25.12
https://github.com/go-gorm/gorm/commit/9fea15ae75fb9ff2bd86dcaa167673c8ed77394f#diff-a7a5f31f4c54e7b1e7d0ec3bea837cf3c887cc4f7dd7b37a320682ff485c52bcR93
Thank you for the nudge in the right direction. I guess GORM felt that a change to their unique index naming strategy was only a worthy of a bump to the micro ...

We deprecated the Go installation more than a year ago

As an aside -- I am sure there are plenty of other go users out there that still use go install -v ariga.io/atlas/cmd/atlas@latest to fetch atlas and falsely believe they're getting the latest version.
It would be extremely helpful to all these users if there was a final update to this go install version that included a loud banner pointing them over to the new install method.


chore(deps): update ci dependencies

This PR contains the following updates:

Package
Type
Update
Change

common-dev-assets

digest
4982cf1 -> 554fc45

github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper
require
patch
v1.10.17 -> v1.10.19

Release Notes

terraform-ibm-modules/ibmcloud-terratest-wrapper (github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper)
v1.10.19
Compare Source
Bug Fixes

deps: update gomod (#607) (3101f35)

v1.10.18
Compare Source
Bug Fixes

deps: update module github.com/ibm/platform-services-go-sdk to v0.45.0 (#605) (b4091f7)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline

:tada: This PR is included in version 3.4.7 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


x/talks: concurrency 2012 sequenceboring.go fails to ensure lockstep sequenced behavior

What version of Go are you using (go version)?

go1.16.5.

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
 go env   Output

The environment of: https://play.golang.org/

What did you do?
Eliminate simulated workload represented by the randomly assigned timer from sequenceboring.go
See playground version.
What did you expect to see?
The lockstep, sequenced, round-robin scheduling as communicated by speaker during this presentation.

Or a similar alternating sequence starting instead with Joe: 0
What did you see instead?
Joe or Ann can take an out of order turn from the other.
Please note the output varies from run to run depending on the go scheduler's state.  For example, the code may periodically produce the intended lockstep behavior, however, entropy dictates otherwise.

Program exited.
Why does the bug occur?
The code doesn't encode a strict happens before to order go routine messaging.  The coordination mechanism using the wait channel abstraction becomes a race condition within the scheduler when the effort to process the simulated workloads conclude at nearly the same instance.
Why does the bug matter?
Due to the speaker's prominence:

The code is often replicated without questioning its correctness - propagating the bug.
When filing an issue in another repository of code derived from this example, the site exhibited a bias favoring the correctness of the speaker's implementation, although evidence to the contrary was provided.

I don't think the author claimed this outputs in "round-robin scheduling". The lockstep here means both Ann and Joe outputting 0, then both outputting 1, ..., i.e. no one can output 1 before both have outputted 0. In particular, this is in contrast of the example a couple of slides before, where Joe can output 3, 4, 5 before Ann outputs 3 ( https://www.youtube.com/watch?v=f6kdp27TYZs&t=1095s ). I think this works as intended.
cc @robpike in case there is anything to clarify. Thanks.

Working as intended. No claim made for lockstep.

@cherrymui

Thanks for fixing the issue’s title.

You are correct, Rob never uttered  "round-robin scheduling" during his presentation.  I apologize for including this phrase in the initial post.

I believe we agree that Rob intended the messaging in sequenceboring.go to execute in a lockstep synchronous/sequenced way.  This is exactly what Rob said by the link provided in the initial post:
"So when we run it now, you can see they're back in lockstep, because even though the timing is random, the sequencing here, with message 1 wait and message 2 wait, means that the..."
Moreover, Rob concisely states when he begins the set of slides titled: “Restoring sequencing” his intention:  “We wanted to have them be totally lockstep and synchronous.”

I’m confident that the intended “sequence” behavior should strictly alternate between “Joe: N” and “Ann: N:” or vice versa due to the context of Rob’s statements.  He titled the slides that explain the code in sequenceboring.go as “Restoring sequencing”.  This phrase refers back to the discussion of  generator2boring.go and focuses on its code segment.  Rob describes the resultant message ordering as derived from: “the two guys are taking turns, not only in printing the values out but also in executing them”.
In fact, due to the explicit Happens Before encoding of generator2boring.go Joe’s messages will always precede Ann’s which isn’t the case in sequenceboring.go.

Although Rob posted “Working as intended.” to this thread, I believe he reviewed the link you provided which referenced the slides titled “Multiplexing”.  The code discussed by the “Multiplexing” slides do not enforce lockstep behavior.

Finally, I’m not the first individual to experience the reported anomaly in sequenceboring.go.  I thought if others had encountered it, the issue might be more thoroughly reviewed instead of being immediately closed.  I checked golang-nuts for an existing thread and found this mention by Tony Worm.


ipsec, fix Phase1 edit page 'section' class does not have a setHelp() function

ipsec, fix Phase1 edit page 'section' class does not have a setHelp() function

[x] Redmine Issue: n/a
[x] Ready for review

fixes the changes from https://github.com/pfsense/pfsense/pull/3939

Tests OK here. Fixes the original error and retains the warning.


proposal: annotate which error values should never be wrapped

Following up on #39155, I propose there be a consistent method to annotate which error values can never be wrapped, such as io.EOF.  This would be the first step towards being able to automate detection when illegal wrapping occurs, e.g. causing fmt.Errorf("some message: %w", io.EOF) to panic, or go vet to emit a warning.
A naive way to determine this would likely be to grep for err == in the standard library.  (Per the above-linked issue, the use of == instead of errors.Is() is a feature, not a bug.)  This list should be linked from the errors package documentation, and there should be an indication that an error is "not wrappable" in the error value (e.g. io.EOF) and function (e.g. io.Reader.Read) documentation.
The aim is to detect and prevent incorrect (but reasonable-looking) code such as:
func (r *MyReader) Read(b []byte) (int, error) {
    n, err := r.underlying.Read(b)
    if err != nil {
        err = fmt.Errorf("reading %q: %w", r.Filename, err)
    }
    return n, err
}

In addition to documenting which errors should never be wrapped, it would be nice for third-party package authors to know when == is preferable over errors.Is.  The current documentation says the opposite, which is contravened by usage in the standard library.

I'm not sure what you mean by annotate here.  Do you mean something other than documentation?

I was intentionally being somewhat vague, as I don't have a strong opinion as to whether that particular bikeshed should be painted red or blue.
The goal would be something visible in documentation, as well as consumable by static analysis tools.
As a straw man proposal, I think something as simple as an additional method in errors would get us part of the way there:
func NewNotWrappable(text string) error { return New(text) }

This would show up in godoc without changing any method signatures as e.g.
var EOF = errors.NewNotWrappable("EOF")

...and I think would be at least partially usable for static analysis.
If the return value extended the error interface, it might also be detectable by e.g. fmt.Errorf().

If errors exposed a CanWrap(err error) bool method, the incorrect code from the summary could be rewritten as:
func (r *MyReader) Read(b []byte) (int, error) {
    n, err := r.underlying.Read(b)
    if err != nil && errors.CanWrap(err) {
        err = fmt.Errorf("reading %q: %w", r.Filename, err)
    }
    return n, err
}```

I have code (not involved in implementing io.Reader  that returns wrapped io.EOF that works perfectly fine a designed.
I don't think the issue is that io.EOF shouldn't be wrapped ever, it's that it shouldn't be wrapped when implementing io.Reader
In other words, the constraint here is not a property of io.EOF but a property of io.Reader so asking something purely about io.EOF can't give a useful answer.

I think it's just io.EOF.
Are there others?

It sounds like it is really just io.EOF.
That is a special case that is unfortunate but is now with us and not going anywhere.
Assuming there are no others, it seems like we should not introduce the general concept.
We could add a comment to the EOF docs mentioning that EOF should not be wrapped.

Having submitted https://golang.org/cl/258524, is there anything left to propose here?

With the io.EOF doc updated, it seems like there is nothing left to do here. This seems like a likely decline.

No change in consensus, so declined.


Deleting the current file in the tree view does not switch to the next one

If you delete the file that is currently open in the editor, it is still displayed. There is functionality to switch to the "next" file, but it does not seem to work.

fixed


Analyze key capabilities of popular operators

A document has now been added to 'docs/PopularOperatorCapabilities.md'


fix(auth): authentication fixes

Codecov Report

Merging #2 into master will increase coverage by 1.61%.
The diff coverage is 56.04%.

@@            Coverage Diff             @@
##           master       #2      +/-   ##
==========================================
+ Coverage   70.47%   72.08%   +1.61%
==========================================
  Files          49       48       -1
  Lines         403      437      +34
  Branches       36       35       -1
==========================================
+ Hits          284      315      +31
- Misses        106      109       +3
  Partials       13       13

Impacted Files
Coverage Δ

src/app/queue/queue-events.service.ts
100% <100%> (ø)
:arrow_up:

src/app/games/games-events.service.ts
77.77% <100%> (+2.77%)
:arrow_up:

src/app/queue/queue.service.ts
62.5% <25%> (+43.26%)
:arrow_up:

src/app/core/io-client.service.ts
48.14% <40.9%> (-24.58%)
:arrow_down:

src/app/auth/auth.service.ts
56.52% <54.54%> (+23.18%)
:arrow_up:

src/app/auth/auth-interceptor.service.ts
71.42% <66.66%> (-3.58%)
:arrow_down:

Continue to review full report at Codecov.

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


Microsoft Visual Studio

Describe the bug
[A clear and concise description of the bug]
[Window Title]
devenv.exe
[Main Instruction]
An unexpected error occurred
[Content]
Please press Ctrl+C to copy the contents of this dialog and report this error to our issue tracker.
[^] Hide details  [Close]
[Expanded Information]
Build: 16.11.21196.2

System.InvalidOperationException: Operation cannot be started because pip is not installed in the environment at 'C:\Users\wolve\AppData\Local\Programs\Python\Python39\'.
   at Microsoft.PythonTools.Interpreter.PipPackageManager.<AbortIfNotReady>d__27.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.PythonTools.Interpreter.PipPackageManager.<InstallAsync>d__39.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.PythonTools.Project.TestFrameworkInfoBar.<InstallPyTestAsync>d__4.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.PythonTools.Project.TestFrameworkInfoBar.<InstallPytestActionAsync>d__8.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.PythonTools.Infrastructure.VSTaskExtensions.<HandleAllExceptions>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.VisualStudio.Telemetry.WindowsErrorReporting.WatsonReport.GetClrWatsonExceptionInfo(Exception exceptionObject)

Steps to Reproduce

Open a file

Expected behavior
[A clear and concise description of your expectation]
SHoul open file
Additional context and screenshots
[Add any other information such as screenshots, error message, or stack trace]
Openend file and was prompted to install pytest. I clicked the buttin and the app froze.
Sample Code
XXX

Configuration information (If you are providing a diagnostics file (see below), skip this section)
VS Version: [Can be found under "Help->About Microsoft Visual Studio"]
PTVS version: [Can be found under "Help->About Microsoft Visual Studio->Installed products->Python with Pylance"]
Python version:
Debugger Type (if applicable): [New debugger or legacy debugger?]
Diagnostics file
The diagnostics file contains information such as the Python version, environments, loaded assemblies, configuration options, etc. This file makes it easier for us to reproduce and fix bugs, so we would really appreciate it if you could provide it to us. This file can be generated by going to Tools->Options->Python->Diagnostics.
You can attach the file to this issue or email it to us at<EMAIL_ADDRESS>If you email it, please add a link to this issue.
XXX

Can you please confirm that pip is indeed installed in that python environment? It should be checked when installing:

Closing old issue. If this is still a problem, please reopen with the information requested. thanks


Add labels to states

This PR adds sequential labels (“1”, “2”, “3” etc) to the dot output.
Before:

After:

This is mostly useful for #37, so that we can more easily compare the corresponding nodes between the original NFA and the resulting DFA, but it’s also just nice to have the nodes labelled so that we can refer to them.

(Sorry, I don’t know why ImageMagick didn’t preserve the ε labels when I converted the SVGs to PNGs above. That’s unrelated to this change.)


Look into MessageBird routing and update our 10DLC guidance if necessary.

There is some indication that MB's internal SMS routing based on phone numbers is not at all intelligent. A validator on Discord reported receiving strange 10DLC registration warning messages despite having purchased a US toll-free number. It seems like MB cannot properly select to use the toll-free number since there is another US phone number present.
Possible advice (short-term) is to remove the US phone number and only have a US toll-free number (to serve the US) and Canadian number (to serve Canada + global traffic). Even still, we should better understand if MB is routing in this assumed way ^, or if it triggers errors by sending with an incorrect number (i.e. tries to send to Canada via both the US and Canadian numbers, though the first will be blocked).
Relevant Discord link.
TODOs:

[ ] small data investigation: can we gain insight into whether MB is routing intelligently?
[x] update guidance for 10DLC if necessary, communicate this with validators

Looked into this + checked out MB's docs on this and the old thread.
Should be addressed by:

docs changes & config change in PR #9363
added some guidance to the MessageBird section of our Notion docs on this (which is now linked in the AS docs)
posted on Discord asking Validators to double check their configs
added a note to our on-call runbooks for how to look out for these messages; use this info going forwards to get better information about our MB guidance and make sure new validators are set up properly

Thank you @eelanagaraj 🙏


[Bug] The command  fails when the title consists of two space separated words in quotes

Describe the bug
Part of our workflow involves git alias commands which rely on Git Bash.
This command works in Git Bash:
{{{
daclash@MININT-SBREK3J MINGW64 ~/src/MyFirstProject (personal/daclash/master-49)
$ az.cmd repos pr create --work-items 49 --title flower --target-branch refs/heads/master --output table
ID    Created     Creator                Title    Status    Repository

96    2019-05-10<EMAIL_ADDRESS>flower   Active    MyFirstProject
daclash@MININT-SBREK3J MINGW64 ~/src/MyFirstProject (personal/daclash/master-49)
$ az repos pr abandon --output table --id 96
ID    Created     Creator                Title    Status     Repository

96    2019-05-10<EMAIL_ADDRESS>flower   Abandoned  MyFirstProject
}}}
This command fails.  The difference is that the title consists of two space separated words in quotes.
{{{
daclash@MININT-SBREK3J MINGW64 ~/src/MyFirstProject (personal/daclash/master-49)
$ az.cmd repos pr create --work-items 49 --title "flower pencil" --target-branch refs/heads/master --output table
'C:\Program' is not recognized as an internal or external command,
operable program or batch file.
}}}
It looks like the "%" is not preserving the quotes around the title parameter.
{{{
daclash@MININT-SBREK3J MINGW64 ~/src/MyFirstProject (personal/daclash/master-49)
$ cat "/c/Program Files (x86)/Microsoft SDKs/Azure/CLI2/wbin/az.cmd"
::
:: Microsoft Azure CLI - Windows Installer - Author file components script
:: Copyright (C) Microsoft Corporation. All Rights Reserved.
::
@IF EXIST "%~dp0..\python.exe" (
"%~dp0..\python.exe" -IBm azure.cli %
) ELSE (
echo Failed to load python executable.
exit /b 1
)
}}}
The following bash wrapper works.  The '"$@"' preserves quotes around parameters.
{{{
daclash@MININT-SBREK3J MINGW64 ~/src/MyFirstProject (personal/daclash/master-49)
$ cat ~/bin/az
#!/bin/bash
"/c/Program Files (x86)/Microsoft SDKs/Azure/CLI2/python.exe" -IBm azure.cli "$@"
}}}
Example using the bash wrapper:
{{{
daclash@MININT-SBREK3J MINGW64 ~/src/MyFirstProject (personal/daclash/master-49)
$ az repos pr create --work-items 49 --title "flower pencil" --target-branch refs/heads/master --output table
ID    Created     Creator                Title          Status    Repository

97    2019-05-10<EMAIL_ADDRESS>flower pencil  Active    MyFirstProject
}}}
Is this issue something that may have been fixed recently?
{{{
PS C:\users\daclash\src\MyFirstProject> az --version | findstr azure-cli
You have 37 updates available. Consider updating your CLI installation.
azure-cli                         2.0.61 *
PS C:\users\daclash\src\MyFirstProject> az --version | findstr azure-devops
You have 37 updates available. Consider updating your CLI installation.
azure-devops                       0.4.0
}}}
To Reproduce
Azure Cli Version:
2.0.61
Azure-Devops extension version:
0.0.4
Expected behavior*
Possible to create title which consists of space separated words included in quotes.
Screenshots
NA
Debug logs
NA
Additional context
Including the bug on behalf of Dan and Brian who sent this over via email.

This is an azure cli issue. e.g. Following azure cli command also fails on bash -
az.cmd tag create -n "temporary tag"
There are already related issues reported on their repo so I will wait for them to respond and then look at fixing it there.

Closing this issue as this is an Azure CLI issue. Including the azure cli issues to follow up
https://github.com/Azure/azure-cli/issues/8560
https://github.com/Azure/azure-cli/issues/9204


Run build step in tests job

The build step should be executed in order to catch files that fail on that step
The test, linter and formatter steps would most likely catch those, but for the compilation itself we should rely on the build step.

Coverage remained the same at 88.131% when pulling<PHONE_NUMBER>daa27053e9e0559177781262244b33 on build-ci into a4a2adf1bc01baa546b921b1bdbc8c1de9478660 on main.

🚀


feat(examples): Port big-numbers from ethers-rs

BLOCKED UNTIL https://github.com/alloy-rs/alloy/pull/291 IS MERGED

Motivation
To add examples from ethers-rs: big-numbers

Solution

Implements the examples from ethers-rs.
Largely implements the same features except for Serde's Numeric value as that does not seem to be compatible.
PR Checklist

[ ] Added Tests
[ ] Added Documentation
[ ] Breaking changes

Closing in favor of https://github.com/alloy-rs/examples


Known Issues correction

Hello,
While copying the commands for installing the archlinuxcn repository, the process failed because the /etc/pacman.conf repo doesn't end with \n and the $arch part was interpreted by bash. The command which should be run is:
echo -e '\n[archlinuxcn]
Server = https://repo.archlinuxcn.org/$arch' >> /etc/pacman.conf
sudo pacman -Syy && sudo pacman -S archlinuxcn-keyring && sudo pacman -S glibc-linux4

Thank you very much for maintaining this project and best regards!

Hi there. I was unable to reproduce the issue regarding a missing trailing \n because my /etc/pacman.conf ended with empty line. Maybe you removed that empty line by accident when trying to debug this issue?

just to leave my 2 cents, this worked for me. from the docs alone, it didn't work as shown in this screenshot

(lack of archlinuxcn)
but using this worked for me

(has archlinuxcn)


Enhancement: Export report data of teams reports for the remaining commands

@VelinGeorgiev
As we discussed at pull #1061, I am going to add two additional parameters to export the report data as csv,text and json for the following commands:
Please assign this to me. Also let me if we need to create one pull request for this or seperate pull requests required for each command.
Thank you.
New parameters to be added:
-f, --outputFile [outputFile]|Path to the file where the upgrade report should be stored in
-o, --output [output]|Output type. text|json|csv. Default text

All yours @sprider ! Thanks!

Thank you @VelinGeorgiev


Add files via upload

@Paluffel I have to close this request without merging, because you requested to add a non-existent domain to this repository: Host by5019.de not found: 3(NXDOMAIN) Please ensure that you are familiar with this repository rules located at the bottom of this page and submit a new request with the correct information. Thank you for your understanding!


[c++] Rewrite bits of the verilator-support infrastructure to avoid exceptions

These aren't allowed by the Google style guide. Pointed out by @mcy in a recent review.

code search query:
https://cs.opensource.google/search?q=throw language:cc -file:.*vendor.*&sq=&ss=opentitan%2Fopentitan

Hi I'm new to open source. I would like to try and understand this issue and see if I can help. I'm currently reading OpenTitan Docs and setting up the Environment.
I just wrapped up a 6 month internship in EDA domain where I worked in functional verification and was exposed to Verilog, SystemVerilog and UVM. Worked on testing related to AXI 4 and i2c.
I have some exposure to C++(from 2015), worked(first time) with python scripts and ROS last year.

Sounds great. There are quite a lot of different places where we use this throw/catch style (it's idiomatic C++ and I didn't realise it was verboten until mcy pointed it out!). I'd suggest picking one and then trying to work out how to pass a failure back up the call stack with a return value in a nice way. We can probably work through things in smaller chunks.

Hi, I am working on reading up to understand your answer. Meanwhile, could you clarify the following things:

Why is throw/catch considered idiomatic C++? (I first came across this style in a Java assignment)
Why do we want to avoid idiomatic C++ in this project?

I'm not sure that an OpenTitan bug report is the best place to find this sort of thing out. For (1), see a C++ tutorial. For (2), see the Google C++ style guide, which we signed up to (for better or for worse...)


Spawning objects can cause ConcurrentModificationException

When spawning objects it sometimes causes a ConcurrentModificationException.
This happens because the insertion through spawning with the mouse is not synced with the fhysics update cycle
Fix
add a list of objects which should be added in the next update loop

Fixed by adding a toAdd List to QuadTree.


WordSize enum, enums with values

Added enum for word_size to make it more explicit. Enums now have a value attached to them so switches are no longer required to convert them to a number.

ok, pulled u8s out. Figured they'd be fine as nothing else appeared to use those values.


Asset codes are stored in strings with trailing zeros

What version are you using?
4aee9508153688ef984628a43dba7d9e276a0cd1
What did you do?

Used the stellar asset contract.
Looked at the stored ledger entries.

What did you expect to see?

Asset code's stored in strings as "ABC".

What did you see instead?

Asset code's stored in strings as "ABC\0".

Discussion
The XDR stores asset codes in fixed length arrays of 4 and 12 bytes long, but it's unnecessary for those asset codes to be stored with those trailing bytes when stored as ScVal Strings which are variable length.
Applications will use ledger entries directly, and this pushes the need to know about the oddity of asset codes in their XDR form to downstream systems.
This also causes asset codes to render with those codes in other places exposed to developers, like in JSON for stellar asset contract ledger entries.
Note that asset codes when endered to string/JSON from their AssetCode/AssetCode4/AssetCode12 XDR types will render without the trailing zero bytes as a result of the following change, but that change doesn't impact the asset code strings that the soroban-env writes to ledger entries:

https://github.com/stellar/rs-stellar-xdr/pull/324

Note that this was a problem in the soroban-env in the past for where it exposed asset codes to contracts. It seems like we fixed the problem in that area, but it is still leaking the trailing characters in the area of ledger entries:

https://github.com/stellar/rs-soroban-env/issues/1032

Another issue with this not discussed above is that there's inconsistencies in the ways that asset codes render into strings coming out of stellar-core/soroban. In contract data they are truncated, and in ledger entries they are not. This difference is likely to cause some problems in the future.

Actually, even in how it is stored in the metadata is inconsistent. In names it is truncated, in symbol it is not, which is not intuitive:

Another spot:

@graydon just chatted to me and explained where each of the types are used and some of his and @sisuresh thinking and as a result I think the METADATA symbol field which contains the zeroes still needs fixing, but not the AssetInfo AlphaNum* asset_code.
The asset info is specifically mirroring classic stellar XDR values, and it really should stay as a raw copy of that data which contains the zeros.


WIP - Migrate accumulo-core module from JUnit 4 to JUnit 5

It was suggested that we look into upgrading from JUnit 4 to JUnit 5. I wanted to take an initial stab at this migration. From what I have gathered so far this is the upgrade path:

Replace JUnit 4 dependencies with JUnit 5 and JUnit "vintage-engine". The vintage engine is a stand-in for the JUnit 4 dependency to enable JUnit 4 tests to run.
Convert each test from JUnit 4 to JUnit 5. This does not have to happen all at once and we could opt to not upgrade some tests for whatever reason if we wanted.
Once all tests are converted to JUnit 5, we can remove the JUnit "vintage-engine" dependency.

For reference, I saw this link shows how to get both JUnit4 and JUnit5 tests to build in the same module. If we upgrade one module at a time, we can just switch that module's engine from vintage to jupiter.
I think the migration via updating the POMs is probably simple enough, but the trickier part might be if some tests using the vintage engine don't work with PowerMock. Or, if we are stuck staying on the vintage engine because some uses of PowerMock might prevent us from using the Jupiter engine. The only way to know is to try and work through the test failures. Currently, tests are failing for other reasons, so it may be hard to migrate right now until those are resolved.

I have one whole module converted now (accumulo-core) with all tests passing (that were passing before these changes). There are build failures due to declared-unused and unused-declared dependencies. I didn't run into any big issues yet so I'll move on to a new module now.

I have one whole module converted now (accumulo-core) with all tests passing (that were passing before these changes). There are build failures due to declared-unused and unused-declared dependencies. I didn't run into any big issues yet so I'll move on to a new module now.

This is going to get really big. So, instead of adding all the changes to one single big PR, which is a nightmare for code review, let's split this across a couple different PRs, so we can make sure that each incremental update still works before we move on to the next one.

This is going to get really big. So, instead of adding all the changes to one single big PR, which is a nightmare for code review, let's split this across a couple different PRs, so we can make sure that each incremental update still works before we move on to the next one.

That sounds like a good idea. Do you have anything in mind for how we might split this task up? Maybe Each module?

This is going to get really big. So, instead of adding all the changes to one single big PR, which is a nightmare for code review, let's split this across a couple different PRs, so we can make sure that each incremental update still works before we move on to the next one.

That sounds like a good idea. Do you have anything in mind for how we might split this task up? Maybe Each module?

Tasks can be grouped into:

things that can be done while still on JUnit4 to ease the migration
things to update the parent POM to manage the JUnit dependencies
(module migration stage 1) things that can be done in each module to move that module from JUnit4 to JUnit5 with the vintage engine
(module migration stage 2) things that can be done in each module to move that module from JUnit5 vintage to JUnit5 jupiter engine

The first item can definitely be done in its own PR. The last two can be broken up a few different ways, depending. Like, you could do item 3 for all modules in one PR, then do separate PRs for each module (or a couple modules at a time, if they are small enough to be manageable for a review) for item 4. For item 2, you can probably include that in your first PR that does any JUnit5 stuff.
Feel free to break it up however you think best. The goal in breaking it up is to help streamline code reviews and make incremental progress without breaking anything.
You could keep a table to track the migration:

Syntax
Migrate to JUnit5 vintage
Migrate to JUnit5 jupiter

assemble
☑
☑

core
☑
☑

hadoop-mapreduce
☑

iterator-test-harness
☑

minicluster
☑

server/base
☑

server/compaction-coordinator
☑

server/compactor
☑

server/gc
☑

server/manager
☑

server/master
☑

server/monitor
☑

server/native
☑

server/tserver
☑

shell
☑

start
☑

test

Great ideas, @ctubbsii! Thanks!

Great ideas, @ctubbsii! Thanks!

Sure, no problem. Oh, and the table view is nice, because it helps visualize different ways you can incrementally make progress. You could do separate PRs to chunk things vertically (migrate to vintage for several modules at once), or horizontally (fully migrate one module), or some rectangular section (like fully migrate a few or all of the smallest modules in one PR), or you could do a separate PR for each separate cell in the table (might be useful for knocking out the biggest modules).

I think this is pretty much finished aside from some dependency related issues. The build is failing from a "used-undeclared" error within accumulo-start module. I think this is happening because the tests that have not been converted to JUnit 5 tests should be running on the junit vintage-engine dependency however, since junit 4 is part of the org.apache.hadoop:hadoop-client-minicluster:jar:3.3.0 (which is in the accumulo-start pom), it is using the junit 4 dependency instead and complaining that vintage-engine is not used but declared and junit 4 is used but undeclared. I'm not too sure how this can be handled aside from somehow ignoring the warnings for now and converting to junit 5.

I'm not too sure how this can be handled aside from somehow ignoring the warnings for now and converting to junit 5.

The warnings will cause the build to fail, so they should be suppressed. This can be done in the pom.xml section that configures the dependency analyzer. You can just leave a brief XML comment above the suppression explaining when it can be removed.

I've marked this PR as ready for review. I know that there is a lot to look through when reviewing so I thought it might be helpful to leave some notes to help reviewers know what they are looking at.

Here are some quick notes that might help to reference for those who work on the migration or for reviewers.

JUnit4
JUnit5

@Test
@Test

@Before
@BeforeEach

@After
@AfterEach

@BeforeClass
@BeforeAll

@AfterClass
AfterAll

@Ignore
@Disable

@Category
@Tag

JUnit4
JUnit5

Testing class package
org.junit
org.junit.jupiter.api

Assertions class
Assert
Assertions

TemporaryFolder was removed and instead a File or Path is used in JUnit5 with the @TempDir annotation.

Originally posted by @DomGarguilo in https://github.com/apache/accumulo/issues/2441#issuecomment-1041908425

All the ITs passed with the changes so far. I saw a few tests flake out a bit, because they were timing sensitive and the operation they were waiting on took slightly longer than expected, but they passed on subsequent runs. And, I think that happened because I had another build running on the same machine at the same time. I couldn't reproduce those failures.
If you don't get to my suggestions above first, I may just make them myself, and merge this in. I don't want to risk this PR diverging further from the current passing state, with all the ITs passing and risking my absurdly time-consuming code review I just did on these 250 or so files getting stale. :smiley_cat:

@ctubbsii, thanks for the review and suggestions! Everything looks good to me.


complete

i have problem with complete transasic issued local host change from  http://localhost:3000/ to http://localhost:3001/new?recipient= , how i can changed it back to  http://localhost:3000/ after  complete transasic

You need to run yarn proxy when running this locally: https://github.com/solana-labs/solana-pay/tree/master/point-of-sale#in-a-separate-terminal-run-a-local-ssl-proxy
This will run an HTTPS server on port 3001. Then you need to open https://localhost:3001?... (note the https).

i alreday run yarn dev in first terminal and yarn proxy  in second terminal. still same problem after scan barcode and complete tansaction and clik start over return in same error


Document how to deploy contracts using aztec.js

I've already documented how to deploy contracts using aztec-cli in this PR. Document how to do the same thing using aztec.js. Use the tab functionality of docusaurus to achieve this look:

Note: Don't miss the Syncing tab choices section.

Gonna pick this up!


Update FT when it is required a delay to the apps to be present in the service-discovery

Update the scenario a new app is registered successfully to use Awaitility library and retry get the app and the app in not available in the list quickly.
Include tests for updating an app and removing an app.
-> As the application is running separated now, it is required an @After state to do a clean up

[ ] Add test to validate dashboard is disabled (❓ )


Restrict user's mobile perspective

hello~,How to limit the user's perspective to not exceed the internal space of the model? I don't want users to see external jagged edges when rotating and translating the perspective

I admit the current implementation doesn't have a great way to control this, right now the logic is hard-coded here: https://github.com/mkkellogg/GaussianSplats3D/blob/6298b670db89359f660a7ca1f542c8b3ffcfc143/src/Viewer.js#L1472..L1473
The reason you see the jagged edges when rotating or translating is that the viewer doesn't render sections of the scene outside the view frustum.  You can play with the hard-coded .6  value, if you increase it, the viewer will render more of the scene outside the frustum. If you want to just render everything, you could do this:
const outOfFovY = false;
const outOfFovX = false;

I'm going to close this for now, if you need more help please let me know!


Add config working group

What this PR does / why we need it:
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
Release note:

@xiaolanz: Adding do-not-merge/release-note-label-needed because the release note process has not been followed.

One of the following labels is required "release-note", "release-note-action-required", or "release-note-none".
Please see: https://github.com/kubernetes/community/blob/master/contributors/devel/pull-requests.md#write-release-notes-if-needed.
Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@xiaolanz: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
41fefe3f91c39d52eeac9c1a73e5b47947cf7c7b
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

As we discussed we need to get a lead from outside Google, all groups need leads from two different companies. So let's see who a good fit is and then submit once we have that.
Also you should remove my name as a lead.

@xiaolanz: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-suite-rbac-auth.sh
682d448efae33274147a8d2fb2af629e9914f038
link
/test e2e-suite-rbac-auth

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@xiaolanz: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-suite-rbac-auth.sh
682d448efae33274147a8d2fb2af629e9914f038
link
/test e2e-suite-rbac-auth

prow/e2e-suite-rbac-no_auth.sh
682d448efae33274147a8d2fb2af629e9914f038
link
/test e2e-suite-rbac-no_auth

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@xiaolanz: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-suite-rbac-auth.sh
682d448efae33274147a8d2fb2af629e9914f038
link
/test e2e-suite-rbac-auth

prow/e2e-suite-rbac-no_auth.sh
682d448efae33274147a8d2fb2af629e9914f038
link
/test e2e-suite-rbac-no_auth

prow/e2e-cluster_wide-auth.sh
682d448efae33274147a8d2fb2af629e9914f038
link
/test e2e-cluster_wide-auth

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

istio/istio has gone thru another rewrite please reclone istio/isio and resubmit this PR.


Support different release scenarios per branch

Hi,
Not sure if this is a feature request for strider or more like a strider-plugin. I just started to test the project and look at the code so I can contribute in the future.
I would like to have different deploy scenarios for a particular branch:

deploy to production
deploy to staging
deploy to introduction

It sounds like the "build promotion/delivery pipeline" plugin for jenkins (but I don't want to use jenkins and this project looks promising).
I know that I could do this using different branchs but I don't like that setup (i'm doing this right now using a githook).
Let me know what you think.
Regards,
Chris

Would love to have you on board, check out https://github.com/Strider-CD/strider/issues/367

@knownasilya exactly that! Closing this in favor of feature issue #367 and #522

Also comments in https://github.com/Strider-CD/strider/issues/736 are related


Technical ID (resource.id) changes across exports

Describe the bug
The technical ID in the field resource.id is not stable across multiple exports of the same resource. It is probably a randomly generated hash. Thus, any incremental/iterative loading/updating breaks. All target repositories (e.g. FHIR-Server, FHIR-Gateway, i2b2) would have to be cleared to not have redundant data with varying IDs/references.
To Reproduce
Steps to reproduce the behavior:

Export resource with odm2fhir
Export same resource again
Compare field resource.id

Expected behavior
The technical id has to be stable. A recommended (and personally preferred) way would be to hash resource.identifier.system + resource.identifier.value and set this as the value for resource.id.
Note: Please also consider issue https://github.com/num-codex/odm2fhir/issues/15 in this regard.
CC: @noemide

@makampf I just adapted the code so that for all resources the resource.id is set to the MD5 hash of the concatenation of system and value of the first resource.identifier if that identifier exists or to a random UUID in case if not. The "minor" issue here is that currently an identifier is set only for the patient resource but not for any other and hence all resource.id except for the patient one are still unstable. In order to fix this the code for generating each resource needs to be adapted accordingly... (@cerbelding Can you have a look at this please? Thx! 🤝)

@makampf I just adapted the code so that for all resources the resource.id is set to the MD5 hash of the concatenation of system and value of the first resource.identifier if that identifier exists or to a random UUID in case if not. The "minor" issue here is that currently an identifier is set only for the patient resource but not for any other and hence all resource.id except for the patient one are still unstable. In order to fix this the code for generating each resource needs to be adapted accordingly... (@cerbelding Can you have a look at this please? Thx! 🤝)

Thanks so far!
I dont know much about RedCap. But is it maybe possible to use some concat of system + patient_id + redcap_form_id + redcap_record_id? I assume there are some internal redcap IDs that are stable?
(PS: Mabye we could also talk about MD5 vs. SHA or any cryptographic hashing. But thats another topic.)

Thanks so far!
I dont know much about RedCap. But is it maybe possible to use some concat of system + patient_id + redcap_form_id + redcap_record_id? I assume there are some internal redcap IDs that are stable?
(PS: Mabye we could also talk about MD5 vs. SHA or any cryptographic hashing. But thats another topic.)

We did it just the way you described and are currently implementing it to all resource mappers.
For Resource.Identifier we are using a concat FormOID-FormRepeatKey-ItemGroupOID-ItemGroupRepeatKey-ItemOID and for Ressource.Id we're using the hash of Identifier.System, Identifier.Value and ´Patient-Id`.

We did it just the way you described and are currently implementing it to all resource mappers.
 I mean the issue has been closed not for fun but because the issue has actually been fixed... 😎 To generate the id of an element I use a concatenation the system, formOID, formRepeatKey, itemGroupOID, itemGroupRepeatKey and itemOID plus the patientId and then I hash it with MD5.  I mean the issue has been closed not for fun but because the issue has actually been fixed... 😎 To generate the id of an element I use a concatenation the system, formOID, formRepeatKey, itemGroupOID, itemGroupRepeatKey and itemOID plus the patientId and then I hash it with MD5. The result, i.e. the Docker image, will be available in the next iteration of ODM2FHIR available on Monday.

nice

@makampf Did you reopen the issue because the Docker image with that fix is not yet available? I am curious for your rationale in reopening this one...

nice

@makampf Did you reopen the issue because the Docker image with that fix is not yet available? I am curious for your rationale in reopening this one...

Eh sorry. Just because the last update stated:

and hence all resource.id except for the patient one are still unstable.

Eh sorry. Just because the last update stated:

and hence all resource.id except for the patient one are still unstable.

Eh sorry. Just because the last update stated:

and hence all resource.id except for the patient one are still unstable.

Ok, understood! But now you know and can rest assured that a closed issue means a fixed issue indeed. At least that is our hope... 😁 But seriously, next time I will note down when and in which version the fix is available for the actual users to be more clear. For this issue you will get the fix in version '0.2.3' on Monday (at the latest).

Eh sorry. Just because the last update stated:

and hence all resource.id except for the patient one are still unstable.

Ok, understood! But now you know and can rest assured that a closed issue means a fixed issue indeed. At least that is our hope... 😁 But seriously, next time I will note down when and in which version the fix is available for the actual users to be more clear. For this issue you will get the fix in version '0.2.3' on Monday (at the latest).

Thanks. Looking forward to

Thanks. Looking forward to


Using Balance Shows button Disables Pad Times button.

Clicking on the Balance Shows button causes the Pad Times button to be permanently disabled on a channel, stopping the user from being able to pad their shows with flex time.

It's because balance shows made the channel's schedule too big
Even if the pad times button would be enabled. Clicking it would double the number of programs and it would be beyond the program count limit and you wouldn't be able to save it.
I recommend to use random slots instead of tweak weights nowadays. You have as much control of the weight but it will handle the padding and createa a schedule for a whole year and the channel will still be rather small.

Closing it because it's expected behavior


Error in Make cc on windows

cliques.cc
src\graph/cliques.h(296) : error C2144: syntax error : 'double' should be preceded by ';'
src\graph/cliques.h(356) : see reference to class template instantiation 'operations_research::BronKerboschAlgorithm' being compiled
src\graph/cliques.h(296) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
make: *** [objs/graph/cliques.obj] Error 2
It appears 'static constexpr double' isn't supported in windows
link to a related SO question: http://stackoverflow.com/questions/23454507/initializing-a-static-constexpr-double

It should be fixed.
Thanks
Laurent Perron | Operations Research |<EMAIL_ADDRESS>| (33) 1 42 68 53
00
2015-11-05 23:42 GMT+01:00 Richard Hubley<EMAIL_ADDRESS>
cliques.cc
src\graph/cliques.h(296) : error C2144: syntax error : 'double' should be
preceded by ';'
src\graph/cliques.h(356) : see reference to class template instantiation
'operations_research::BronKerboschAlgorithm' being compiled
src\graph/cliques.h(296) : error C4430: missing type specifier - int
assumed. Note: C++ does not support default-int
make: *** [objs/graph/cliques.obj] Error 2
It appears 'static constexpr double' isn't supported in windows
link to a related SO question:
http://stackoverflow.com/questions/23454507/initializing-a-static-constexpr-double
—
Reply to this email directly or view it on GitHub
https://github.com/google/or-tools/issues/113.


Cant acces my foundry world settings while this module is active

Cant acces my foundry world settings while this module is active

can acces it when i make this module inactive
Foundry v10 build 291
dnd5e 2.2.1
Concentration Notifier 10.2.0

The change to CONFIG.DND5E.abilities in dnd5e v2.2.0 causes templates to fail rendering if modules did not accommodate. The previous release was written under the assumption that 2.2.0 would be v11-only. Backporting some changes and making the module compatible with v10 again to resolve this.


Open Id /connect/token - The specified client credentials are invalid"

I've created client id and secret for my spa app in OpenId Connect -> Management -> Applications.
After sign in I am getting code from from route  https://localhost:44392/connect/authorize?client_id=spaApp&response_type=code&redirect_uri=https://localhost:44392/api/learning/account/signin2
and after when I try exchange tokens from route  /connect/token
I get an error "The specified client credentials are invalid".
Params for token exchange:
I put clientId, secret, scope: openid email,  grant_type: authorization_code
Could anyone suggest a solution?
Thank you in advance

I changed application type on "Public client" and it works now.


Focus/blur events on markers

Hi!
I am trying to do something like this:
events: {
        markers: {
          enable: ['blur', 'focus'],
          logic: 'emit'
        }
},

$scope.$on('leafletDirectiveMarker.focus', function(event, args) {
  console.log('hello');
});
$scope.$on('leafletDirectiveMarker.blur', function(event, args) {
  console.log('bye');
});

But this doesn't seem to work. If I replace focus by click, I get the event triggered as expected. However, I am setting the focus property of the marker in some other part of the code and want the event to be triggered at this moment.

Sorry, that funcionality is not provided at the markers events, at this moment.


eslint: Enable sort-imports for member sorting

This sorts the members imported within each individual declaration; we use import/order for sorting multiple declarations.

Lgtm


Faster start of the explorer

What's the Problem?
The Files Explorer launches slower than the windows one
Solution/Idea
find a way for it to be the same time as many users might be put off by that - I know, I am sorry for that remark, but I like your product and you know how picky users can be
Alternatives
none to offer
Priorities

Capability
Priority

This proposal will allow developers to accomplish W
Must

This proposal will allow end users to accomplish X
Should

This proposal will allow developers to accomplish Y
Could

This proposal will allow end users to accomplish Z
Won't

Files Version
<IP_ADDRESS>
Windows Version
Windows 11 Insider Preview 22533.1001
Comments
No response

I also hope this improvement is taken into consideration. Although Files has improved a lot since V1, it still lags well behind of Microsoft's antique File Explorer in terms of performance.

Thanks for the report. Merging with #4180. Improving performance is something we're always looking into.

Up. I have 4 frames opened at launch.
Why refresh theses 4 frames and at the end, show the one that was on screen when Files was closed ?
Just open the 4 frames and refresh only the one that was on screen when Files was closed

We're excited to share that startup performance will be significantly improved in the upcoming release of version 3. You can download the preview version from our website https://files.community/download.


Option for including synchronized audio

Providing inline documentation by typing it into the console as "comments" is not as useful as an audio stream would be describing the commands, what is happening, and the output.
The audio should be synchronized with the TermRecord playback, pause when playback is paused, and skip identical to the playback.
I wanted to implement this, and @spawnflagger confirms this will be a used feature for educational purposes within EdX.

This would be great. Can't wait :)

Second :+1: noted.


user session crashes if program name has more than 255 characters

If the name of a program to be stored or updated is longer than 255 characters,

this is not checked at server side
a sql constraint violation occurs
the rollback invalidates the session
BUT: later a session close is attempted that fails

Todo:

check at client site the length
check at server site the length
make session close robust

server site changes done, client changes (check + message) missing

works fine on server- and client-side


feat: add stacked state management example

Pull Request Template
Description
Adds an example project demonstrating state management with Stacked Architecture
Checklist
Please ensure that you have completed the following items before submitting this pull request:

[x] Code is written in compliance with the project's coding standards.
[x] Code has been tested and documented.
[x] New and/or updated unit tests have been written.
[x] All existing unit tests pass successfully.
[x] The app runs successfully on Web (Chrome).
[x] Commit messages are clear and concise.

License
By submitting this pull request, you agree to license your contributions under the project's Apache 2.0 license.

Hi @saileshbro, thank you for your contribution, I'm very pleased!


TSServer clocking out CPU and breaking intellisense, autocomplete, etc.

Directed from https://github.com/microsoft/TypeScript/issues/38504
Followup to anyone else having their CPU clocked out from TSServer, VSCode native extension...
Found out the source of the issue and it begins with the index.d.ts file. After CO the file and attempting to repro in another TS file, the issue does not reoccur.
Going to narrow this down in my index.d.ts file - I might have some kind of circular type dependency going on that I'm unaware of.
For anyone else having this issue, I would recommend the same step and start with debugging any type index files in your project
Originally posted by @AustinBernerEvercast in https://github.com/microsoft/TypeScript/issues/38504#issuecomment-1789991601

Found the culprit! It was indeed a broken, circular, recursive type that was crashing tsserver.
If anyone finds this I'd strongly recommend auditing any types in your project that might involve recursion:
  Size extends number,
  Arr extends any[] = []
> =
  Arr['length'] extends Size
  ? Arr
  : ArrayOfSize<Size,[1,...Arr]>;

type PlusOne<N extends number> = [1,...ArrayOfSize<N>]['length']
/**
 * @description Type to help define a range of numbers
 * @see https://www.youtube.com/watch?v=nvbiEu_Z-XU
 */
export type NumericRange<
  L extends number,
  H extends number,
  Result extends number = L
> =
  L extends H
  ? Result | L
  : NumericRange<PlusOne<L> & number, H, Result | L>;```


enhancement: validation report for non-text formats

fix #4

When I specify the output file with -o the report is also printed to stdout. My expectation was to see nothing printed on stdout.
rocrate-validator -y validate -nff -f json -p workflow-ro-crate -o err.json -l RECOMMENDED tests/data/crates/invalid/0_main_workflow/main_workflow_bad_conformsto


serialize & unserialize scala xml object failed

Hi
I use akka-kryo-serialization_2.10 to serialize & unserialize scala xml(scala.xml.Elem) object， but failed.
no Exception, I can serialize xml to bytes, but cannot unserialize bytes  to xml.
the original xml object: xxxx
the unserialize result is : List(null)

cleaning up...
this issue seems outdated - please open a new issue if still relevant...


no CBL0033J

Hi,
In pdf 1, they speak about CBL0033J in 3. of 10.4 Lab.
But, in the mainframe, I can not find any. Can you try and tell me, please ?

I believe it should be CBL0003J :)

I believe it should be CBL0003J :)


Fourth reason for signing out of teams

It may be worth mentioning as we see this as the main reason for signing out of Teams:
When signing out, the contact cache seems to update. Users who have changed names will have the "old" name for week(s) but if one signs out they get the updated name

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

ID: a4d56b6e-a220-710c-f051-6e78bf0883fe
Version Independent ID: d1aa0964-725e-0b99-00c0-7ddcfad46920
Content: Sign out of Microsoft Teams - Microsoft Teams
Content Source: Teams/sign-out-of-teams.md
Service: msteams
GitHub Login: @SerdarSoysal
Microsoft Alias: serdars

Hi @wUEZRs, thank you for your feedback.
While I understand your point and it's valid, I think the purpose of the article is other and this is not the correct place to add that information.


Add missing interview date in UI

Current UI is missing interview date, so this pull request will add the interview date to InternshipCard.

Codecov Report

Merging #87 (68cae0d) into master (0792f14) will decrease coverage by 0.09%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master      #87      +/-   ##
============================================
- Coverage     55.03%   54.93%   -0.10%
  Complexity      408      408
============================================
  Files            88       88
  Lines          1708     1711       +3
  Branches        194      195       +1
============================================
  Hits            940      940
- Misses          716      719       +3
  Partials         52       52

Impacted Files
Coverage Δ

src/main/java/seedu/address/ui/InternshipCard.java
0.00% <0.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Ok it has been updated now, contact person ID display is also changed in a similar way


Oauth no longer works, how do I use cookies on a headless server?

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm asking a question and not reporting a bug or requesting a feature
[X] I've looked through the README
[X] I've verified that I have updated yt-dlp to nightly or master (update instructions)
[X] I've searched known issues and the bugtracker for similar questions including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Please make sure the question is worded well enough to be understood
I can't see anywhere in the KNOWN ISSUES/FAQ section how to set the cookie if I don't have access to a browser on a remote machine.
Also cookies expire, what can I do to prevent having to keep updating the cookie once it's assigned?
Thanks.
Provide verbose output that clearly demonstrates the problem

[ ] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[ ] If using API, add 'verbose': True to YoutubeDL params instead
[ ] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
No response

try this -  When using yt-dlp on a remote machine without access to a browser, you can’t directly extract cookies from a browser. However, there are alternative methods to obtain cookies:
Manually obtain cookies:
If you have access to the same network or machine as the browser, you can manually extract cookies from the browser’s cookie file (e.g., cookies.txt or Network/Cookies folder).
Copy the cookies file to the remote machine and use yt-dlp with the --cookies option, specifying the path to the cookies file.
Use a third-party tool to extract cookies:
Tools like get-cookies.txt-locally (mentioned in the search results) can help you extract cookies from a browser’s cookie file without needing to access the browser directly.
You can use these tools to generate a cookies file, which you can then use with yt-dlp on the remote machine.
Implement a custom cookie extraction solution:
If none of the above options work for you, you can develop a custom script or tool to extract cookies from the browser’s cookie file or network traffic.
This approach requires programming expertise and may involve using libraries like requests or BeautifulSoup to parse HTTP traffic.

and for cookies expiring, try - Keep YouTube Cookies Persistent
Cookies used by yt-dlp for YouTube and other platforms are typically session-based and designed to expire after a certain period. This is a security measure to prevent cookie theft and abuse. When a cookie expires, yt-dlp will re-fetch the necessary cookies for the next request.
Workarounds
Keep your browser session open: As mentioned in some Reddit threads (e.g., r/youtubedl), keeping your browser session open while using yt-dlp can help cache necessary cookies, reducing the need for frequent re-fetching.
Use a cookie manager: Tools like ChromeCookiesView (mentioned in r/youtubedl) can help extract and manage cookies from your browser. You can then use these cookies with yt-dlp.
Cache cookies in a database: Some users have suggested creating a cookies database (e.g., in ~/.config/yt-dlp) to store and reuse cached cookies. This approach is not implemented in yt-dlp by default, but you can explore custom scripting or plugins to achieve this.

OK I've got it working by exporting a cookies.txt to the remote server and configuring yt-dlp.conf using a chrome profile that I will not use again (assuming it might invalidate the old cookie values).
I'm a bit confused by your second reply though.
I googled 'Keep YouTube Cookies Persistent' and got no hits.
How would yt-dlp 're-fetch the necessary cookies for the next request'?
Essentially I want to set this up once and never have to manually re-upload cookies or configure yt-dlp again (or until YouTube adds an extra hoop to jump through)

Follow the guide on the wiki. Cookie should be long-lasting enough. There will never be a "set it up once and be done with it forever" solution for youtube; accept this


Fix retry mechanism for other version of NPM error message.

Hello!
In a previous comment https://github.com/IBM/audit-ci/issues/86#issuecomment-496798003 I talked about the retry mechanism that seemed broken for my project using NPM.
After taking a quick look, I saw that the error message given by NPM is not the same for me:
npm ERR! code ENOAUDIT
npm ERR! audit Your configured registry (https://registry.npmjs.org/) does not support audit requests, or the audit endpoint is temporarily unavailable.
npm ERR! A complete log of this run can be found in:
npm ERR!     /home/circleci/.npm/_logs/2019-05-20T12_16_22_839Z-debug.log

At the end of the second line, , or the audit endpoint is temporarily unavailable is added compared to what is compared in the retry mechanism. To make it work for both cases, I just removed the dot at the end.
What do you think?
Thank you

Interesting find! I confirmed this in the CLI's repo: https://github.com/npm/cli/blob/36682d4482cddee0acc55e8d75b3bee6e78fff37/lib/audit.js#L194
The non-period occurs when err.statusCode !== 401 && err.statusCode !== 404.
However, note that when err.statusCode === 401, the word request is not used. I propose simplifying the err message to be: does not support audit rather than does not support audit requests. This would support the 401 error as well!

Thank you for pointing the exact error message. I looked for it in the repo but the GitHub search did not reveal anything 😄
To handle the 401 as well, the beginning of the message (Your configured registry) should be removed too because the NPM error starts with Either your login credentials are invalid or your registry. However, the 401 should appear only if the credentials are wrong or if the audit feature is not supported so I don't think it is important to handle this case.
What do you think?

I agree the 401 isn't as important. OK let's merge as-is and see if the 401 comes up in practice. Thanks!!

Thank you 😄


Add multipathd image

Adds a default environment var for the multipathd image and sets the
corresponding ansible variable, edpm_multipathd_image, in the
generated inventory.
Signed-off-by: James Slagle<EMAIL_ADDRESS>

recheck

recheck

recheck

recheck

recheck

recheck


levelDB out of memory

What steps will reproduce the problem?
I make a 32-bit app using levelDB in VS2010 sp1 in windows 7 64bit.I run this
app in Windows 2008 Server R2, after about 1 hour, this app raise
stl::bad_alloc exception in string::append function.I find Virtual bytes of
this app is about 2G.

key is 12 bytes
value is about 200-300 bytes

kxTargetFileSize = 32M

write radio about 4M/s(random write)

levelnum = 3
no compression
writebuffersize=256M

this is bug or memory fragments

What is the expected output? What do you see instead?

What version of the product are you using? On what operating system?
levelDB 1.4 in windows 2008 Server r2 64bit

Please provide any additional information below.

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 10 May 2012 at 8:44

I meet the same question with the descripton of Issue 90.

I use the leveldb default project which get out from:
http://code.google.com/p/leveldbwin/downloads/detail?name=leveldb_1_20_win32_src
.zip&can=2&q=

1. not define DB_BENCH;
2. not define USE_VISTA_API;
3. using the following code:

leveldb::DB* g_db = NULL;
void WriteDb(leveldb::DB* db, int Index)
{
    const char* Content = "We now decided that after three years it might"
        " be a good idea to re-assess our current situation by another,"
        " more extensive survey. It is similar to the original one "
        "(since we included the old questions to be able to compare the results),"
        " but the survey also contains a bunch of new ones to take new developments"
        " such as Ogre usage on mobile devices into account.";
    char Buff[32];
    ZeroMemory(Buff,sizeof(Buff));
    leveldb::WriteOptions wo;
    wo.sync = false;
    for(int i = 0 ; i < 20000 ;i++)
{
sprintf_s(Buff, 32, "Name%d-%d",Index, i);

        leveldb::Status s = db->Put(wo,Buff,Content);
    }
}

void tt(int Index)
{
     assert( status.ok() );
    {
        uint64_t tickbegin = GetTickCount64();
        WriteDb(g_db,Index);
        uint64_t tickend = GetTickCount64();
        cout << "write 20000 in " << tickend - tickbegin  << " Milliseconds"<< endl;
    }
}

int _tmain(int argc, _TCHAR* argv[])
{
  leveldb::Options options;
options.create_if_missing = true;
options.write_buffer_size = 8 * 1024* 1024;
leveldb::Status status = leveldb::DB::Open(options, "c:/tmp/testdb", &g_db);

int repeat = 30000;
    for(int i = 0 ; i < repeat ; i++){
        tt(i);
    }
    cout << repeat << " times done."<< endl;
   delete g_db;;
    return _getch();
}

build and run "test" app, then will be found the process's virtual bytes
increase all the time.

Others:
operating system: Windows XP SP3.
32-bit app in VS2010.
LevelDB Version:1.20 , get out from "http://code.google.com/p/leveldbwin/".

Original comment by<EMAIL_ADDRESS>on 17 May 2012 at 1:18

> kxTargetFileSize = 32M
> levelnum = 3

The leveldb package provides no way for callers to change these parameters
without editing the source code. We can only help with problems if your
problem arises with an unmodified leveldb.

> writebuffersize=256M

Why such a large write buffer size? Note that during compactions two write
buffers are live, so this will immediately use up 512MB, which is a pretty
big chunk of the memory available to a 32-bit process.

> this is bug or memory fragments

It is unlikely to be a leak (we run all of our tests with gperftool's leak
detection mode turned on). It could be fragmentation as you suggest, or it
could be caused by other sources of memory usage (e.g., each open Table
file's index is loaded into memory).

If you have a short standalone program that reproduces this (with an
unmodified leveldb), we could try running it in a mode where we can collect
more memory usage statistics.

Original comment by<EMAIL_ADDRESS>on 10 May 2012 at 3:09


updating: add support for prereleases

Summary of the Pull Request
We need a different method of updating when using Github's prerelease API.
PR Checklist

[x] Applies to #8291

Validation Steps Performed

update from a local build with the 0.0-version-check commented out

@crutkas
my approval, I've been overwhelmed with investigating some new issues.


feat(ingestion/okta): okta stateful ingestion

stateful ingestion support in okta connector
Update doc annotation of Azure AD connector

@mohdsiddique looks like lint is failing


Suggestion for new fields for Release model (user_who_changed_status, notes)

It would be cool to see the username of the person who marked a Release as Good or Bad.
It would also be cool to be able to append a notes field to a Release (e.g. changelist notes) so it would be obvious to someone looking at a diff that a given change was intended (or not).
If you like either of these ideas, I'm happy to take these on.

Did you see the admin logs or audit logs at the bottom of a build? I have the info recorded there. Is that good enough?
I agree being able to specify notes per release would be good. The current system has the release URL which is supposed to be a catch all for this. My thinking was it would point at a bug tracker or some better system for managing notes and coordinating about release status.

All good then. I didn't notice the logs. Just to clarify you mean the "release_cut_url" flag yeah?

Yep release_cut_url is the one! If that's not good enough we can add notes, but lemme know if that's okay?

Cool - it's just at the bottom of the page, so I never saw it before.
Could we move it to the top to be under the release name?
For the audit log, I'd love to surface the username inline next to Good/Bad to be like:
Good by elsigh
In my case I include the person who pushed to our production branch in the release name so I'd like to see their matching signoff on the release. (this may be too specific to my use case though)
Too much?

Moving some links up sounds good. I just stuffed them down there because why not. If you've got a better place to put them I'm all for it.
Showing the last username to touch a release makes sense to me. I think you can query for it from the admin logs with a join, instead of denormalizing it.