preprint.bib abstract suggestion 1

Make this sentence part "the goal of the working group was to produce a consolidated set of citation principles that may encourage broad adoption of a consistent policy for software citation" stronger by replacing "that may encourage" with "to encourage".
Rationale: stronger statement, and we do want to encourage change.

thanks - will do

sorry, where is this text?  Can you suggest this change as a PR?

proposed in #37 but not possible to change


Config changes to reflect the default branch from master to main. Please merge to complete the default branch renaming job.

Auto branch renaming content.

Docs Build status updates of commit a3d107a:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: GitBranchDeletedOrForcePushed] Cannot sync git repo to specified commit because branch d1d8c741-63c8-496e-b5f2-066ae10aa8b8 has been deleted or has been force pushed

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Adding Persona View Control

Platforms Impacted

[x] iOS
[ ] macOS

Description of changes
Adding a Persona control to vNext. A Persona Cell can display an Avatar and its contents. The cell can exist as a standalone outside of a List.
Verification
Passed pod lib lint, updated Demo Controller, & made sure control responded to state changes.

Before
After

Pull request checklist
This PR has considered:

[x] Light and Dark appearances
[ ] VoiceOver and Keyboard Accessibility
[ ] Internationalization and Right to Left layouts
[ ] Different resolutions (1x, 2x, 3x)
[ ] Size classes and window sizes (iPhone vs iPad, notched devices, multitasking, different window sizes, etc)

Closing due to validation errors


[1.3] All-Cluster-App Linux Binding is not working

We (cc @agatah2333 ) are currently trying to write automation to test the feature of binding. We have used example/all-cluster-app/linux, and referring to the articles listed below,

https://github.com/project-chip/connectedhomeip/tree/master/examples/bridge-app/asr
https://docs.silabs.com/d/matter-wifi-getting-started/0.1/04-light-switch-step-by-step-example

We were able to write acl to device act as the light, bind the switch and light (chip-tool displayed success), but when the switch turned on or off, but the light status has not changed accordingly.
The command we used to write ACL and Binding, 1111 is the light role, 2222 is the switch role.
accesscontrol write acl '[{"fabricIndex": 0, "privilege": 5, "authMode": 2, "subjects": [112233], "targets": null}, {"fabricIndex": 0, "privilege": 1, "authMode": 2, "subjects": [2222], "targets": null}]' 1111 0

binding write binding '[ { "fabricIndex" : 1 , "node" :1111,"endpoint" :1,"cluster" :6} ]' 2222 1

The command used to trigger the status of onoff,
onoff on 2222 1
onoff off 2222 1

We would like to know if the feature on linux version of all-cluster-app has been implemented, if there are other apps that on linux is in knowledge working, thanks.
chiptool.log
Bug prevalence
Always
GitHub hash of the SDK that was being used
5bb5c9e23d532cea40476fc0bd1d3008522792ba
Platform
core
Platform Version(s)
No response
Type
Common Cluster Logic, Core SDK Interopability Issue
Anything else?
No response

all-clusters-app does not have a client switch cluster, yes?  So why would this be expected to work?
lighting-app does have a switch client, I believe.

@bzbarsky-apple
Thank you for your response. As code indicated the all-cluster-all does have the client role of one-off cluster.
https://github.com/project-chip/connectedhomeip/blob/e1dd2798bdd7d6c9c0f1cb7f9e3d319b907f21c3/examples/all-clusters-app/all-clusters-common/all-clusters-app.zap#L6603
As well as the decoded in zap,

We expect this app can act a a light/switch that forwards the action to another lightbulb, it should not have to be a switch client to one-off server, should it? And lighting-app does not have a one-off or switch client. We respectfully ask for more information.

Ah, interesting.  It does have a client, and there's some binding handling code.  I have no idea what it's supposed to be able to do, though...

And one more question about the binding: If the binding function succeeds, like when the switch is on and the light turns on, is the 'light on' message sent by the switch directly or through the controller?

Binding is for direct communication.


Enable email notifier for STARTTLS and plaintext

Rancher versions: 2.0 master 4/11
Steps to Reproduce:

Your office365 accounts can be used for starttls, smtp.office365.com, port 587, your email address as the username and an "app password" for the password (because Sheng turned on 2-factor last week)

For 25/insecure/no auth you can connect directly to the target's mail server.  e.g. for<EMAIL_ADDRESS>you look at dig mx rancher.com, and it says rancher-com.mail.protection.outlook.com
So that hostname on port 25 will accept mail for people @rancher.com, without auth, because that's how all your mail actually gets there... but it might get rejected by a few other checks like you don't have reverse PTR records and such.  So setting up a local mail relay might be b

Results:

Plaintext, usually with no auth, for actual delivery from one a sender's server to the server that handles the recipient's mail: port 25
Directly TLS: usually with auth, deprecated and not well supported; for end-user passing message to their provider's server for relaying: port 465
"STARTTLS", which starts as a plaintext connection and negotiates upgrading to TLS.  Usually with auth.  For end-user passing message to their provider's server for relaying: port 587
So auth shouldn't be required, and I don't think startt

Version - 2.0 master 4/23
Verified fixed.


Could not use the “HBAO”

In the file "default_structured_configs.py", there is a factor -> hbao_visual_effects: bool. I set it to True, but the following error was reported during the evaluation process. Does anyone know how to solve it?
……
Loading pretrained CLIP
GL::Context: cannot retrieve OpenGL version: GL::Renderer::Error::InvalidOperation

Could you please confirm for us:

which version of habitat-sim you are using
which version of habitat-lab you are using
how you installed the above

Could you please confirm for us:

which version of habitat-sim you are using
which version of habitat-lab you are using
how you installed the above

I use habitat-lab = 0.2.3
habitat-sim = 0.2.4, and installed by pip follow the tutorial.

Our custom version of habitat should support HBAO + improved rendering, but we've noticed some issues like what you're seeing.
We're working on an update - @jturner65 @aclegg3 might be able to point to a new version of habitat?


Add index argument to equalityCheck

Initially added here: https://github.com/reduxjs/reselect/pull/158
Removed without any reasons in here: https://github.com/reduxjs/reselect/commit/1134dc13120942565dcebc95278b8d58ced6c430

@markerikson @ellbee


Binary accuracy bug fixes - Metric accuracy method refactor

Related to PR #16010
This fixes BinaryAccuracy metric class to function with sample weights and refactors metrics.py and metrics_utils.py such that metrics_utils.py has new methods with behaviour that better reflects what MeanMetricWrapper.update_state() is expecting. The Accuracy classes in metrics now use these methods instead. The accuracy methods now all wrap the metrics_utils.py methods. Binary accuracy is the only one that has an additional process, this allows it to behave as expected from the public-facing side. Having this separation allows for public-facing accuracy functions to be edited for public-facing behaviour without affecting the Metric Accuracy classes directly.
Binary Accuracy fix:
As described previously in #16010
Binary accuracy also had an issue with sample_weight when you pass batches of sequences.
If you give binary accuracy a batches of sequences it functions fine.
y_true = [[1, 1, 0, 0],
         [1, 1, 0, 0]]
y_pred = [[1, 1, 0, 0],
         [1, 1, 0, 1]]
m = tf.keras.metrics.BinaryAccuracy()
m.reset_state()
m.update_state(y_true, y_pred)
print(m.result().numpy())

Returns
0.875

But applying weights throws an error
y_true = [[1, 1, 0, 0],
         [1, 1, 0, 0]]
y_pred = [[1, 1, 0, 0],
         [1, 1, 0, 1]]
sample_weight = [[1, 1, 0, 0],
                  [1, 1, 0, 0]]
m = tf.keras.metrics.BinaryAccuracy()
m.reset_state()
m.update_state(y_true, y_pred, sample_weight)
print(m.result().numpy())

InvalidArgumentError: {{function_node __wrapped__Squeeze_device_/job:localhost/replica:0/task:0/device:CPU:0}} Can not squeeze dim[1], expected a dimension of 1, got 4 [Op:Squeeze]

Turns out this is because binary_accuracy is calling backend.mean
return backend.mean(tf.equal(y_true, y_pred), axis=-1)

The issue is this is being called before sample_weight gets applied. Simply casting to an int tensor allows for sample_weight to be handled appropriately.
return tf.cast(tf.equal(y_true, y_pred), backend.floatx())

This results in expected behaviour:
y_true = [[1, 1, 0, 0],
         [1, 1, 0, 0]]
y_pred = [[1, 1, 0, 0],
         [1, 1, 0, 1]]
sample_weight = [[1, 1, 0, 0],
                  [1, 1, 0, 0]]
m = tf.keras.metrics.BinaryAccuracy()
m.reset_state()
m.update_state(y_true, y_pred, sample_weight)
print(m.result().numpy())

Returns
1.0

binary_accuracy() in metrics.py still calls backend.mean() but BinaryAccuracy() class now uses metrics_utils method binary_matches which returns the casted tensor.

Since this PR involves fixing some behaviors, please also add a unit test highlighting the fix (it should be a test that would have failed before this PR).

Please let us know when the PR is ready for review again.

Please let us know when the PR is ready for review again.

Good to go. There were no failing tests before. But I added tests for the new util methods. I tried my best to model the tests after similar ones for the accuracy methods in metrics.py.  Let me know if there are any bad practices I fell into and I'll fix them.👍
Also if there is something I am supposed to do to switch from Draft to PR let me know. First time I have made a PR into Draft so not too familiar with it.
Cheers.


Misc/additional extensions

Additions
Add a generic extension to convert IEnumerator to a read-only collection.
Model
Add extensions to convert from ModelObjectEnumerator to a read-only collection.
Add extensions to select and try to select model objects from Tekla.Structures.Model.Model.
Add new extension method classes for..

Tekla.Structures.Model.ModelObjectSelector
Tekla.Structures.Model.UI.ModelObjectSelector

Drawing
Add extensions to convert from DrawingObjectEnumerator and DrawingEnumerator to a read-only collection.
Add new extension classes for..

Tekla.Structures.Drawing.View
Tekla.Structures.Drawing.ContainerView
Tekla.Structures.Drawing.UI.DrawingSelector
Tekla.Structures.Drawing.UI.DrawingObjectSelector

Thank you for contribution. I added this changes to nuget package 4.0

I haven't found many Tekla-related projects, but early on, this project helped alleviate some of the annoyances that Tekla API has.  I am glad I could give back a little bit to this package!


Add systemtest to verify forwarder for subscription works

@enmasse-ci run tests profile=isolated testcase=ForwardersTest

@enmasse-ci run tests profile=isolated testcase=ForwardersTest#testForwardFromSubscriptionToRemoteQueue

:heavy_check_mark: Test Summary :heavy_check_mark:
TEST_PROFILE: isolated
TEST_CASE: ForwardersTest#testForwardFromSubscriptionToRemoteQueue
TOTAL: 25
PASS: 25
FAIL: 0
SKIP: 0
BUILD_NUMBER: 1051
BUILD_ENV: oc cluster up

:x: Test Summary :x:
TEST_PROFILE: isolated
TEST_CASE: ForwardersTest
TOTAL: 34
PASS: 33
FAIL: 1
SKIP: 0
BUILD_NUMBER: 1050
BUILD_ENV: oc cluster up
:heavy_exclamation_mark: Test Failures :heavy_exclamation_mark:

testForwardFromSubscriptionToRemoteQueue in io.enmasse.systemtest.isolated.bridging.ForwardersTest

Rebased it on master now

@enmasse-ci run tests profile=isolated testcase=ForwardersTest

:heavy_check_mark: Test Summary :heavy_check_mark:
TEST_PROFILE: isolated
TEST_CASE: ForwardersTest
TOTAL: 34
PASS: 34
FAIL: 0
SKIP: 0
BUILD_NUMBER: 1052
BUILD_ENV: oc cluster up


Refactored messy folder cleaner

Refactored the messy folder cleaner originally by @Roshaen .

Splitted the code into more files as modules.
Scrapped the common file extensions and categories from FileInfo.
Extensibility is now easier, you can easily add/remove extensions without messing with the main source code.
Added the ability to specify a directory to clean the mess.

Assigned Issue Number ? { if does not exist then create one }
#21
Language Opted ?
Python
Number of files added or updated ?
6
Checklist

[x] I've read the contribution guidelines.
[x] I've referred the correct issue number.
[x] I've fill up this entire template correctly.

@Raamyy thanks for your contribution 🏅


Fixed bug #114 - Guard against NPE if shutdown port or plain HTTP connector can't be found.

I've run into https://github.com/zengkid/SmartTomcat/issues/114 too as our Tomcat config disables the shutdown port and the non-https connector. Simple fix by checking the node aren't null before modifying them.

你发的邮件我已经收到。会在近期内查看。


[VTK] macos 10.13 variable has incomplete type QPainterPath

Originally issue on https://github.com/Inria-Asclepios/medInria-public/issues/618
/builds/workspace/music-macos-free/ExtProjs/VTK/Rendering/Qt/vtkQtLabelRenderStrategy.cxx:271:18: error: variable has incomplete type 'QPainterPath'
    QPainterPath path;
                 ^
/builds/homebrew/opt/qt/lib/QtGui.framework/Headers/qfont.h:327:18: note: forward declaration of 'QPainterPath'
    friend class QPainterPath;
                 ^
/builds/workspace/music-macos-free/ExtProjs/VTK/Rendering/Qt/vtkQtLabelRenderStrategy.cxx:373:16: error: variable has incomplete type 'QPainterPath'
  QPainterPath path;
               ^
/builds/homebrew/opt/qt/lib/QtGui.framework/Headers/qfont.h:327:18: note: forward declaration of 'QPainterPath'
    friend class QPainterPath;
                 ^
/builds/workspace/music-macos-free/ExtProjs/VTK/Rendering/Qt/vtkQtLabelRenderStrategy.cxx:484:18: error: variable has incomplete type 'QPainterPath'
    QPainterPath path;
                 ^
/builds/homebrew/opt/qt/lib/QtGui.framework/Headers/qfont.h:327:18: note: forward declaration of 'QPainterPath'
    friend class QPainterPath;
                 ^
3 errors generated.

Seems  the same as #756. Are you are using qt5.15 ?

Indeed, so, you did not do a PR? I'm testing the addition of the includes on the current VTK patch.


[Excel](custom functions) removing incorrect sentence. (#1501)

Merging PR to live.

Docs Build status updates of commit 34a936b:
:clock10: Pending: waiting for processors (7 builds ahead of you)
:warning: Docs Build is busy, currently there are 7 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit 34a936b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/tutorials/share-data-and-events-between-custom-functions-and-the-task-pane-tutorial.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Stringinterpolation requires langVersion in .NET 5

Describe the bug
If I want to use string interpolation from F# 5 in a new .NET 5 project, I get an error in the editor that tells me, that string interpolation is not available in F# 4.7. As far as I know, F# 5 is now the default language version and dotnet build runs successfully without this error.
To Reproduce
Steps to reproduce the behaviour:

Use string interpolation in an net5.0 project without LangVersion

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net5.0</TargetFramework>
    <RootNamespace>test</RootNamespace>
  </PropertyGroup>

let test = "test"
$"%s{test}"

Expected behaviour
I would expect that the language version is the same for editor and compiler.
Screenshots

Environment (please complete the following information):

OS: Windows (but inside of a mcr.microsoft.com/dotnet/sdk:5.0-focal dev container)
Ionide version: 4.17.0
VSCode version: Version: 1.51.0 (user setup)
dotnet SDK version: 5.0.100
mono / .Net Framework version: -

Additional context
I created a reproduction repo here: https://github.com/NicoVIII/repro-bug
I don't rule out that I do something wrong. If this is the case: Sorry!

We're actively working on this, you can follow the status here: https://github.com/fsharp/FsAutoComplete/pull/656

Thank you! I wasn't sure, if this is another thing, which belongs to FsAutoComplete and not directly to Ionide, so I opened the bug here :)

This is fixed in Ionide 5.0 preview

is this fixed also for linux/ubuntu ?  have v.5.5.4 installed running ubuntu on windows in this case (net 5 sdk)

Works for me with 5.5.5 and on Manjaro with target framework net5.0.

That's correct, this is implemented in all ionide 5.x versions.

got the same error on windows 10 without running on WSL

will try uninstall vscode, and re install it from scratch

it worked after uninstall of vscode and ionide as well and clean re'install, not sure what was causing it

Can this be re-opened? I am running in to this too with the latest ionide.  Weirdly, if I open the project in Jetbrains Rider and let it load, then switch back to VSCode, the error goes away.


add options for sensitivity calculations in basic statistics pp

Pull Request Description
Add new feature
What issue does this change request address? (Use "#" before the issue to link it, i.e., #42.)
Closes #776
What are the significant changes in functionality due to this change request?

For Change Control Board: Change Request Review
The following review must be completed by an authorized member of the Change Control Board.

[x] 1. Review all computer code.
[x] 2. If any changes occur to the input syntax, there must be an accompanying change to the user manual and xsd schema. If the input syntax change deprecates existing input files, a conversion script needs to be added (see Conversion Scripts).
[x] 3. Make sure the Python code and commenting standards are respected (camelBack, etc.) - See on the wiki for details.
[x] 4. Automated Tests should pass, including run_tests, pylint, manual building and xsd tests. If there are changes to Simulation.py or JobHandler.py the qsub tests must pass.
[x] 5. If significant functionality is added, there must  be tests added to check this. Tests should cover all possible options.  Multiple short tests are preferred over one large test. If new development on the internal JobHandler parallel system is performed, a cluster test must be added setting, in  XML block, the node <internalParallel> to True.
[x] 6. If the change modifies or adds a requirement or a requirement based test case, the Change Control Board's Chair or designee also needs to approve the change.  The requirements and the requirements test shall be in sync.
[x] 7. The merge request must reference an issue.  If the issue is closed, the issue close checklist shall be done.
[x] 8. If an analytic test is changed/added is the the analytic documentation updated/added?

@alfoa I have addressed your comments. If you have time, please review these changes.

Checklist passed...
Merging...


werf cleanup: unsupported action "delete"

Hi! I'm using werf 1.1 stable and during werf cleanup step in gitlab-ci I see following warnings:
$ type werf && source $(werf ci-env gitlab --as-file)
werf is a function
werf ()
{
    /home/gitlab-runner/.multiwerf/v1.1.23+fix47/werf-linux-amd64-v1.1.23+fix47 "$@"
}
...
│ │ │ ┌ Deleting tags
│ │ │ │ WARNING: Image gcr.io/*****/repo:e8asd70f6bc73b22671asdasd33bea128bcasdc80b ↵
│ │ │ │ 2a9895c4c01f70a deletion failed: GET https://gcr.io/v2/token?scope=repository%3A****%2F******%3Apush&scope=repository%3A*******%2F******%3Apull&scope=rep ↵
│ │ │ │ ository%3A*******%2F*****%3Adelete&service=gcr.io: UNKNOWN: Unsupported       ↵
│ │ │ │ action: "delete".

Should I be worried about those warnings?
P.S.
Docker repository is a private GCR repo.
Thanks in advance!

I apologize for not responding to the issue earlier. Is the issue still relevant?

@alexey-igrychev No worries! Yes, I can still see these warnings in a logs of a cleanup job

Try to run the cleanup explicitly specifying the container registry type:

--images-repo-implementation=gcr (or WERF_IMAGES_REPO_IMPLEMENTATION=gcr) for v1.1;
--repo-container-registry=gcr (or WERF_REPO_CONTAINER_REGISTRY=gcr) for v1.2.

Looks like your suggestion helped! Thanks! I'm closing this issue 👍


Implement interactive site destroy confirmation

Work for this issue will begin begin on branch work-liquid-labs/cloudsite/117.


BC Services Card Initial Setup

In order to be able to log into the app, some basic setup is needed of the BC Services Card integration in KeyCloak.
Acceptance Criteria

I'm able to log into the app with a BCSC test account in the dev environment.
First Name, Last Name, and Email is properly populated in the Auth token passed along to the app

Technical Details

Create a new Identity Provider (keycloak-oidc) in Keycloak named bcsc

BCSC Openid config (test env):
https://idtest.gov.bc.ca/login/.well-known/openid-configuration
BCSC Openid config (prod env):
https://test.gov.bc.ca/login/.well-known/openid-configuration

BC Service Card technical contact: Ryan James

Works on DEV and TEST

Iman set up for dev and test - needs to make changes to test. Iman to connect with Simen

Ready to be tested on DEV and TEST. Please let me know to pass the test username and password for BCSC logging testing.

@iman-jamali-fw  Hi Iman, Can you tell me where I would find the BcEID (or other) user name and passwords for testing (in the future)?  I would like to put login user name testing user names and passwords on our wiki. thanks Chris.

@MissionT
Hi Chris. For BCeID you can easily register on here
For BCSC however, there are a few test accounts that are created by the BCSC team for our DEV and TEST environment. I will share them with you in the Team.

@MissionT & @Andrew-Vargas-bcgov to test this today

We tested both test and dev environments with the user name and passwords provided. All looks good:


Formatting of lists appears to be broken in the docs

I'm just seeing that the hyphens used to indicate list elements don't appear to be rendering properly:

Were they rendering for you locally @pandersity or is there a different syntax we should be using?

@roedoejet - I missed a few new lines for correct formatting. sorry about that. Should be fixed now in PR #29


Could not execute entrypoint stage 'main' due to errors, provided by 'adventure-platform-fabric'! - floodgate for fabric error on startup

Using latest floodgate on fabric 1.20.2 server. I don't know what is adventure-platform-fabric, but this error disappears when I remove floodgate from mod list
Log:
latest.log
Config:
config.txt

Closing as duplicate of #109


[Rust] Stabilization Tracking Issue for 0.8

The goal of this issue is tracking requisite changes needed to stabilize the compiler APIs in Rust.

[ ] Refactor NDArray with type parameter?
[ ] Ensure sufficient documentation examples.

More to come.

See #5889

See #6089

v0.8 was already released.


Minor refactor

Q
A

Is bugfix?
no

New feature?
no

Breaks BC?
no

Tests pass?
yes

Fixed issues
-

Doesn't seem to be obvious change to me. Would you please elaborate a bit?

@samdark You don't need to check if value is set if you want to unset it - unsetting non-existent element will not give any warning, so you're avoiding unnecessary if in this way.

Merged. Thank you!


Define link between contract and data source

What are the use cases where file patterns are (un)necessary?

Generating contract skeleton CLI or web UI (necessary)
Collect files for a contract verification
Import a git repo & find data source for each contract file

What if different data sources in different git repos point to the same database?
How will Soda Cloud maintain the link: as metadata with contract files?

CLOUD-8489

Moved https://sodadata.slite.com/api/s/ln2-QgG8IHXqTf/Linking-Contract-with-a-Data-Source


Assert: Optionally log telemetry error event on assertion failure

@anthony-murphy - Curious what you think about expanding assert() to optionally log a telemetry error event?  (Vlad and I were recently looking at a PR that was throwing an unreachable code error and logging telemetry back-to-back in several places.)
@vladsud - Inspired by your feedback on Wes's PR.
(You won't hurt my feelings if you feel this has low value.)

i'm pretty against this. it leads to a lot of redundant logging. my perspective is exceptions should just be thrown, and only entry points should capture and log them

in general i think we should move away for assert. so if someone wants to log more information, they should throw a logging error directly, or just log at that point

I've started with something like that by having debugAssert() and shipAssert() methods directly on the logger, with expectation that they would be used in log-and-continue flow. It did not take off, and I think Tony removed them :)
Not directly on subject, but this issue is interesting to look at overall problem space.
And it's useful to look at how it's done in parallel universe - devmain / C++ code base -  we use 3 forms of constraints validation:

assert() - only works in debug builds by bringing attention of developer (syncronously) to the problem. Noop in ship builds.
shipAssert() - same as above, but also logs a assert tag to telemetry. There was a way to request more data to be collected from machines that are hitting an issue.
VerifyElseCrash - terminate process of pre-condition is violated, pushing data to http://Watson and resulting in automatic bugs opened for developers to investigate.

There is one very important tidbit to add - C++ exceptions were mostly for exceptional cases, i.e. it was discouraged to catch exceptions, in most cases they would lead to a crash (for example, new() operator throwing out of memory case). Normal flows (aka expected errors) usually do not use exceptions, both because it's expensive from perf side, as well as lack of type safety / validation.
Usage of asserts is not great in our repo, as it changes control flow in unpredictable way. That combined with catching exceptions and continuing (in some state) and lack of easy RAII patterns in JS makes it in general really dangerous tool. That said, I do not see a great alternative, given lack of something like # 3 at our disposal (in the form of construct to use, but also in a form of centralized database of app defects for all apps in ecosystem).

I'm with @anthony-murphy here on both points (let higher layers log errors as they impact specific activities, and use assert more judiciously).
Are there specific cases we have in mind where a thrown error is never logged (whether from assert or otherwise)?  I guess we could look at Office Fluid's unhandled exceptions table, I think they register on window and log anything that gets that far.  Other than those, we should be capturing errors at entrypoints and logging them then - and maybe also logging them as intermediate activities (that is, perf events) fail.
To @vladsud's big-picture comment, we should be very critical of wherever we catch an error and continue...


cannot execute cri-o tests using devicemapper and specifying a block device

Description
I've been trying to execute the cri-o tests (ctr.bats) using devicemapper and specifying a block device.
The first test passes correctly, but when starting the second one, the test fails when calling the bin2img
(https://github.com/kubernetes-incubator/cri-o/blob/master/test/helpers.bash#L225) with this error:
 time="2018-05-22T23:28:31Z" level=error msg="error opening storage: /dev/sdc is already part of a volume group "storage": must remove this device from any volume group or provide a different device"

Steps to reproduce the issue:

Build CRI-O master branch

Use these storage options: export STORAGE_OPTIONS="--storage-driver devicemapper --storage-opt dm.directlvm_device=/dev/sdc --storage-opt dm.directlvm_device_force=True --storage-opt dm.thinp_percent=95 --storage-opt dm.thinp_metapercent=1 --storage-opt dm.thinp_autoextend_threshold=80 --storage-opt dm.thinp_autoextend_percent=20"
Needed to create a physical voluime on /dev/sdc/: pvcreate /dev/sdc

run the tests:cd $GOPATH/src/github.com/kubernetes-incubator/cri-o/test/ && ./test_runner.sh ctr.bats

Describe the results you received:
++ time bats --tap ctr.bats
1..32
ok 1 ctr not found correct error message
not ok 2 ctr termination reason Completed
# (from function `start_crio' in file helpers.bash, line 225,
#  in test file ctr.bats, line 19)
#   `start_crio' failed
# time="2018-05-22T23:28:31Z" level=error msg="error opening storage: /dev/sdc is already part of a volume group "storage": must remove this device from any volume group or provide a different device"
# 2018/05/22 23:28:31 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: dial unix /tmp/tmp.o1Kq2N47eC/crio.sock: connect: no such file or directory"; Reconnecting to {/tmp/tmp.o1Kq2N47eC/crio.sock <nil>}
# time="2018-05-22T23:28:31Z" level=fatal msg="listing containers failed: rpc error: code = Unavailable desc = grpc: the connection is unavailable"
# 2018/05/22 23:28:31 grpc: addrConn.resetTransport failed to create client transport: connection error: desc = "transport: dial unix /tmp/tmp.o1Kq2N47eC/crio.sock: connect: no such file or directory"; Reconnecting to {/tmp/tmp.o1Kq2N47eC/crio.sock <nil>}
# time="2018-05-22T23:28:31Z" level=fatal msg="listing pod sandboxes failed: rpc error: code = Unavailable desc = grpc: the connection is unavailable"
# 0

Describe the results you expected:
bin2img should be able to reuse the same block device that was used for test number 1.
Additional information you deem important (e.g. issue happens only occasionally):
Output of crio --version:
$ crio --version
crio version 1.11.0-dev
commit: "6d98a70f1fd05d1ed4183a5e9dd36e0811008ad1"

Additional environment details (AWS, VirtualBox, physical, etc.):

@nalind PTAL

@rhvgoyal Any ideas?

So to fix this we shold remove the thinpool?

Adding
        lvm lvremove -y storage/thinpool
        lvm vgremove -y storage
        lvm pvremove -y /dev/sdc

right before the rm -rf "$TESTDIR" in cleanup_test() seems to help when I try it, but it's hardly a general solution.

Well we could add a storage_cleanup and then ignore failures.  I will add this to my PR to see if it fixes the kata containers problem.

@rhatdan if you add this to your PR, and that we merge https://github.com/kata-containers/tests/pull/342, it should be okay. Otherwise, you'll have only one part of the fix here.
@chavafg could you confirm that you get CRI-O testing for Kata properly passing if you apply what @nalind has suggested ?

I confirm that the tests pass properly applying what @nalind suggested and https://github.com/kata-containers/tests/pull/342

@chavafg Thanks! @nalind Could we add a storage_driver specific cleanup code to the tests which will be empty for the other drivers but execute what you suggested for devicemapper?

@nalind Did you ever work on this?
@chavafg is this something I can close now?

Yes, we can close this, it is working now.


Upin vulnerable dependencies

FastAPI pinning exposes vulnerabilities to blueapi. Decision has been made to unpin FastAPI and deal with consequences in SwaggerCodeGen for Java client.
Instructions to reviewer on how to test:

Install latest version of depencies pip install -e .[dev] --force-reinstall --no-cache-dir
Ensure that Sphinx-autobuild is latest version
Ensure that docs build passes

Checks for reviewer

[ ] Would the PR title make sense to a scientist on a set of release notes
[ ] If a new device has been added does it follow the standards
[ ] If changing the API for a pre-existing device, ensure that any beamlines using this device have updated their Bluesky plans accordingly
[ ] Have the connection tests for the relevant beamline(s) been run via dodal connect ${BEAMLINE}

It is not enough that the CI for dodal is happy. If we unpin this without unpinning fastAPI it will still cause https://github.com/DiamondLightSource/hyperion/issues/1346. You said you've decided to unpin fastAPI? Where is the PR for that? Ideally I feel that should have been merged before this to avoid breaking hyperion...

Sorry @DominicOram, I popped over to MX to ask if there would be issue [with another release of dodal not necessarily this change in particular] and I didn't catch that it would cause issues in Hyperion.
I will make the PR for blueapi now, I wanted to test locally with the new release of dodal so that dodal was in a known state, rather than working off of a branch of dodal.
Starlette <0.36.2 and fastapi  <0.109.1 are vulnerable to header injection Regex DoS attacks

I got caught up in seeing what was possible with Pydantic unpinning, but that then requires changes in ScanSpec...

https://github.com/DiamondLightSource/blueapi/pull/550
Here's the PR for Blueapi to unpin FastAPI, I am investigating the test failure now

No worries! Thanks for looking

Either when Callum is back from lunch or when someone else has time to review it, I'll merge then make another release of blueapi if you want to update the dependency of Hyperion?


fix: geth failing after ethash package removal

chore: The geth client requires a new field in its genesis.json file, this field specifies that the merge has already happened and would allow the client to start post-merge. The update of the ethereum-genesis-generator addresses this.

closing it because it was merged here: https://github.com/kurtosis-tech/eth2-package/pull/93


Support chained stream

Got compiling error on below code:
pub fn chained_stream() -> impl Stream {
    #[stream]
    async {
        yield 1;
    }
    .map(|d| d * 2)
}

error: unexpected token
   --> tests/stream.rs:215:6
    |
215 |     .map(|d| d * 2)
    |      ^^^

I think relying on feature stmt_expr_attributes would makes a little bit hard to support this.

relying on feature stmt_expr_attributes

FYI, you can use stream_block macro to work around stmt_expr_attributes.


tuxmux: 0.1.1 -> 0.2.1

Description of changes
This pr updates tuxmux from 0.1.1 to 0.2.1.

Release 0.2.0
Release 0.2.1

List of changes

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

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

very breaking change, no backport

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

1 package built:

tuxmux


Use external CSS file to support keyframe animations with strict content security policy

Adds a new animation option to choose a CSS animation name, and removes the opacity and trail options. There is now a spin.css file that can be included to use one of the preset animations.
Since IE 9 doesn't support keyframe animations, this pull request drops support for it, and also removes the fps option which was only used for IE 9.
Fixes #106, closes #215.

This pull request can be tested here: https://theodorejb.github.io/spin.js/.
The only serious blocker I know of is that Microsoft Edge doesn't use the correct duration for fading out the spinner lines. I filed an issue for this here: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/14931071/.

The Microsoft Edge bug is fixed in the Windows 10 April update, so there's nothing blocking this anymore.


Set synchronization error

VS Code Version:1.54.3
OS Version:windows10 21H1

I turned on the settings synchronization using the github account on another computer and everything was normal. When I turned on the settings synchronization on this computer and logged in with the github account, this error was reported.
[2021-03-24 10:04:04.816] [settingssync] [info] Did reset the local sync state.
[2021-03-24 10:04:05.055] [settingssync] [error] Error: Overlapping edit
    at Object.E [as applyEdits] (file:///D:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:14:3103)
    at c (file:///D:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:47:102992)
    at b (file:///D:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:47:101772)
    at Object.C [as merge] (file:///D:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:47:100587)
    at generateSyncPreview (file:///D:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:47:106515)
    at async g.doGenerateSyncResourcePreview (file:///D:/Program Files (x86)/Microsoft VS Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:47:57763)

Does this issue occur when all extensions are disabled?: Yes/No

(Experimental duplicate detection)
Thanks for submitting this issue. Please also check if it is already covered by an existing one, like:

TS Server fatal error:  Cannot read property 'indexOf' of undefined (#117544)

no


⚠ Bofrost.fr has degraded performance

In 3225715, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 952 ms

Resolved: Bofrost.fr performance has improved in e53de44.


Declare variable 'Log' with 'new' keyword

Log variable was already declared in base class, QCAlgorithm.cs, so in order to declare again in UpdateOrderLiveTestAlgorithm.cs, must use "new" keyword
Warning Code: CS0108
UpdateOrderLiveTestAlgorithm.cs Line 179

Thanks for the PR @bryanwang107, overall its good - just in the future please use a more descriptive commit message: "Change to UpdateOrderLiveTestAlgorithm.cs" isn't quite enough ;)


Official support for ROS2

Hello RealSense team, I'd like to ask if we could have official support for RealSense with ROS2. I'm opening the floor here, as the ROS2 RealSense package over on the intel org doesn't seem to be watched by many of the core RealSense maintainers. As you may know, the RealSense device is quite popular with the robotics community, made accessible to robotics via the current ROS1 wrapper package.
I myself, as a robotics researcher, am using it for sensor data acquisition for a visual inertial odometry + SLAM pipeline for semantically annotated navigation. For performance reasons though, I've migrated to ROS2 to take advantage of shared memory transport, composition of multiple nodes per process, and greater quality of service features. I'm perhaps not alone in doing so as well: https://github.com/IntelRealSense/librealsense/issues/5033#issuecomment-571062461
In particular, I think it would be beneficial to migrate the intel/ros2_intel_realsense github repo over to the RealSense org, to help bolster maintainership and visibility. Currently, I alone have about six of the newest PRs and two open tickets that are at most two months old without any maintainer response. Most are trivial, but it's been bothersome to continually rebase all of these out of mainline changes.

https://github.com/intel/ros2_intel_realsense/pull/98
https://github.com/intel/ros2_intel_realsense/issues/103
https://github.com/intel/ros2_intel_realsense/issues/104
https://github.com/intel/ros2_intel_realsense/pull/105
https://github.com/intel/ros2_intel_realsense/pull/106
https://github.com/intel/ros2_intel_realsense/pull/107
https://github.com/intel/ros2_intel_realsense/pull/108
https://github.com/intel/ros2_intel_realsense/pull/109

cc @AndreasAZiegler @RealSenseCustomerSupport

It's been about two more months with no response. I think we may have to start thinking about alternative maintainership strategies to get the relevant realsense packages released into ROS2 Foxy.
It'd be a shame for support to languish given the amount of realsense hardware used with ROS:
https://discourse.ros.org/t/subt-challenge-urban-circuit-overview/13635

@dorodnic any help here would be great, even just to say that we're not going to get any. Leaving the ROS community hanging on the flagship realsense product is unacceptable IMO. The lack of support and development of librealsense and realsense-ros is making the product line close to non-usable. I have started to recommend ROS users move to the Astra Mini cameras as a result (https://orbbec3d.com/astra-mini-series/).
We want to like the realsense :heart: but something really needs to change here.

As I already wrote in another ticket on this repo, I think it's quite a pity that there is no official ROS2 support for a sensor that is so heavily used within the robotics community. I already heard and read from a couple of companies that they want to move to ROS2 (mostly for stability) and most of them actually use a RealSense sensor. Therefore, IMHO it's quite a bad business decision (from an engineer point of view) to not support ROS2.

Thank you for your interest in ROS2.  Our focus is on ROS1 and other wrappers which are the vast mainstay of our customer base. This being the case, these other development projects have higher priority. We do work with many developers and academic researchers and understand the value of using the most recent software.  We support over 15 OS’s, wrappers and languages across all our products in a single SDK. We believe this is the best depth SDK coverage in the market.  On ROS2, we have logged it as future development request. We do not have clear timing when this would occur and wanted to acknowledge this community is being heard inside of our organization.  It is these posts which make us consider our next roadmap items.”

Our focus is on ROS1 and other wrappers which are the vast mainstay of our customer base.

Sounds like a chicken-or-the-egg effect. Customers can't update if Intel doesn't update as well.

We support over 15 OS’s, wrappers and languages across all our products in a single SDK.

Indeed, and thanks for that. The PRs above however merely update existing support, being quite minimal and quick to review, but have been unacknowledged for a prolonged amount of time.

We do not have clear timing when this would occur and wanted to acknowledge this community is being heard inside of our organization. It is these posts which make us consider our next roadmap items.”

Would you then be willing to add external community maintainers so the rest of the community can move forward with migration and release of the ROS2 wrappers? Otherwise we'll need to fork to release the wrapper into a modern LTS Ubuntu and ROS distro. It'd be better to pool our efforts together.

@ruffsl I like the idea to add external community maintainers to put efforts together. Forks often result in redundant work.

As far as I understand there will only be one more ROS1 release and afterwards support for ROS1 is not longer given and the community is forced to move to ROS2.

The final release for ROS1, code-named Noetic, is planned for May 2020. More details can be found in the official announcement here: https://discourse.ros.org/t/planning-future-ros-1-distribution-s/6538

Therefore it would be wise, IMHO, to already move more towards ROS1.

Think you meant to type ROS2 :wink: . But yes, starting the migration process now would be much better than procrastinating on the matter, and having to rush development as EOL for ROS1 approaches.

And also supporting the large number of customers moving to ROS2, some of which are blocked by realsense support.

Hi,
We consider supporting ROS2, a very important task of ours.
I don't have a specific release date yet but work for supporting RealSense with ROS2 is already underway. The idea is to keep it as close as possible to the ROS1 wrapper for maximal code sharing.

I'd general advise against trying to support both ROS1 and ROS2 with a common codebase, its going to require alot of fundamental rearchitecture to make use of components and lifecycle nodes. Plus the ROS1 drivers could use a refactor / make over so using this as an opportunity to learn from that in ROS2 would be beneficial to everyone.
(PS, the T265 publishing of TF isn't optional, that should be a param so it can be fused into other sources)

I concur with @SteveMacenski , while it may seem like a noble goal to unify the ROS1 and ROS2 wrappers into one code base, the client library APIs are substantially different given the growing number of optimizations and features in ROS2 that will never get back ported to ROS1, like zero copy shared memory transport. Given the final release of ROS1 has been relegated to maintenance mode and is on schedule for EOL in the next 1.5 years, I think it would be wise to keep the two different wrapper code base separate. Realsense already has an abstraction layer given the SDK library, attempting to abstract between that and two vary different client libraries that share little but the "ROS" trademark would be wasted labor, especially given the growing urgency for a migration path.
@doronhi , at present, I think the current realsence ROS2 wrapper that was refactored last year is a nice fresh start, as it makes good use of fundamental architecture like composed nodes and inherited sensor classes for sharing code across device models. It just needs some attention from the repo maintainers to review and merge the PRs fixes that have been piling up in limbo.

make over so using this as an opportunity to learn from that in ROS2 would be beneficial to everyone.

This would also be an excellent opportunity to fix the realsense wrapper to conform to REP standards in the ROS community, addressing them in the ROS2 wrapper code base without changing or breaking ROS1 apps the use the legacy ROS1 wrapper.
https://www.ros.org/reps/rep-0105.html

FYI, removal of realsense related packages from ROS Dashing, Foxy, and Rolling is expected due to unresponsive maintainers:
https://github.com/ros/rosdistro/pull/25814

We plan to release an official version that supports ROS2 in about 2 month from now.
@ruffsl and @SteveMacenski , thank you very much for your remarks. I read them and took them into heart.
The current ROS2 wrapper is based on an old version of the ROS1 wrapper. Therefor I took the fastest route and started converting the latest ROS1 wrapper, using pieces of code from the existing ROS2 wrapper to a new ROS2-eloquent version.
The new version is currently maintained here: https://github.com/IntelRealSense/realsense-ros/tree/eloquent

Plus the ROS1 drivers could use a refactor / make over

I fully accept that. I started by having a working version which I plan to refactor. One could argue that it would have been better to start from scratch but one also need a learning curve when stepping into the ROS2 environment. I have my ideas about refactoring but if you have some concrete ideas I would love to hear them.

This would also be an excellent opportunity to fix the realsense wrapper to conform to REP standards in the ROS community, addressing them in the ROS2 wrapper code base without changing or breaking ROS1 apps the use the legacy ROS1 wrapper.

I totally agree. I'll do my research on the REP standards but any pointers and observations you already have regarding the ROS1 version will help immensely and is more then welcome.
I'm sure the current version does not take full advantage of the new ROS2 capabilities and I would love some pointers here as well.

using pieces of code from the existing ROS2 wrapper to a new ROS2-eloquent version.

Consider targeting ROS2 Foxy to start with, rather than an older non-LTS release.

I have my ideas about refactoring but if you have some concrete ideas I would love to hear them.

You may want to checkout the migration page for ideas, as well as the list of tutorials, such as using intra-process-communication, node composition, staying real-time friendly:

https://index.ros.org/doc/ros2/Contributing/Migration-Guide
https://index.ros.org/doc/ros2/Tutorials/Intra-Process-Communication/
https://index.ros.org/doc/ros2/Tutorials/Composition/
https://index.ros.org/doc/ros2/Tutorials/Real-Time-Programming/

I'll do my research on the REP standards but any pointers and observations you already have regarding the ROS1 version will help immensely and is more then welcome.

@SteveMacenski may have more recent advice on writing new ROS2 sensor packages,
But here are some REP references to start with:

Standard Units of Measure and Coordinate Conventions

https://www.ros.org/reps/rep-0103.html#id22

Coordinate Frames for Mobile Platforms

https://www.ros.org/reps/rep-0105.html

Conventions for IMU Sensor Drivers

https://www.ros.org/reps/rep-0145.html

Index and Ticket tracker for rep discussions

https://ros.org/reps/rep-0000.html
https://github.com/ros-infrastructure/rep

If you're uncertain, I'd suggest posting to answers.ros.org  and pinging folks like @tfoote .

I'm sure the current version does not take full advantage of the new ROS2 capabilities and I would love some pointers here as well.

You may want to look at my PRs from the top of the ticket for suggestions. E.g: Options to preserve or synchronize of sensor hardware timestamps for data frames would be nice for CV related robotics applications, exposing more of the SDK options via dynamic parameters in ROS2 would help with changing configuration during runtime.

Thanks for the pointers @ruffsl , I'll check them all.
The problem I have with foxy is that it targets Ubuntu 20.04 while librealsense2 officially only supports Ubuntu 18.04. That has to do mainly with some kernel patches still in development. Naturally foxy is the goal.

The problem I have with foxy is that it targets Ubuntu 20.04 while librealsense2 officially only supports Ubuntu 18.04

Perhaps you should discuss with @dorodnic , as librealsense2 is staged for the next foxy sync:

http://repo.ros2.org/status_page/ros_foxy_default.html?q=SYNC%2Blibrealsense2
https://discourse.ros.org/t/preparing-for-foxy-sync-and-patch-release-2020-08-07/15736

Consider targeting ROS2 Foxy to start with, rather than an older non-LTS release.

Please do. If you plan on releasing it in 2 months, exactly 30 days later it will not be supported anymore. Eloquent goes out of support in November. Please focus on Foxy as the primary distribution people will be using, by a large margin. Having Dashing support wouldn't be bad either though.
Beyond what Ruffin listed, look up lifecycle nodes and make them lifecycle if possible, which should be possible. Especially how flaky the D435's are in mass volumes on a computer, we need a way to reset them (and also do that firmware reset thing needed to get a good bringup) if data stops processing. So I'd recommend lifecycle and exposing a service to do that firmware reset thing, or just do the firmware reset thing on startup automatically. I setup all my robots to do that because its such a problem.
Make sure you also add a parameter for the T265 and others for publish_tf so that can be disabled to publish the odometry to TF. That should always be optional so that the odometry output of T265 can be funneled into a sensor fusion framework like robot_localization with other sensors to output TF there.
By in large, the most irritating parts of realsense_ros has been a result of 'not knowing the standards'. Ruffin's links will help with that but also there are standard features like the publish_tf and frame names that might not be called out in the standards. You have to look at 3-4 other analog drivers and find the patterns / write down the features they have and names they use to use here. The other irritation is around not making fixes when there are issues ;-)
ROS2-y things you should make sure to do:

Derive from Node so it can be a component and follow best practices
Linters / CI setup
Librealsense released to apt
Librealsense and wrapper able to be installed in docker, in a colcon workspace without installing librealsense on your actual system separately
Get rid of the kernal patch stuff, its been enough years, there should be a work around or it should be in the OS
Dont try to make one magic node to rule them all. It makes that 1 object far too complex and poorly designed. The T265 is sufficiently different, stick that in its own node so you dont need the T265-specific code muddling up what should be a simple 300 line depth camera driver
I don't know how much the L515 differs from the D4xx series, but make a judgement on that one too.
Have someone at least part time responsible for the ROS2 repo to fix issues and merge PRs.

@doronhi I would also agree with focusing on ROS 2 Foxy. If the Foxy binaries worked with Intel RealSense Binaries by October that would go a really long way towards convincing our customer (www.roverrobotics.com) to make the switch. 95% of our customers are still using ROS 1 and the Intel RealSense driver often comes up as a reason not to switch.

Thank you @SteveMacenski . Your notes give me valuable information. I took them to heart and already started studying some of the subjects you mention. Hopefully they will help delivering this product in the very high level costumers rightly expect.

While working on the ROS2 wrapper, I came across an issue while trying to set "dynamic reconfigure" parameters. Is dictionary type supported?
For example, the parameter rgb_camera/power_line_frequency has 3 available option:
Disabled - 0
50 Hz - 1
60 Hz - 2
Auto   - 3
In ROS1, using ddynamic_reconfigure I had a function: registerEnumVariable.
Using rqt_reconfigure in ROS1, it looks like that:

Is there a parallel in ROS2?
And on that note, is there an option for rqt in ROS2 to collapse parameters into groups, the way it's done in rqt_reconfigure in ROS1?

Dynamic reconfigure d oesn't exist in ROS2. There's parameter events where you can set dynamic parameters, but the library "dynamic reconfigure" no longer exists.

Thanks @SteveMacenski , but I think I was unclear about the issue. By now I released a first version of the ROS2 wrapper for librealsense2. Contrary to all your suggestions which I accept and believe in, the first version was released for Eloquent and is heavily based on the ROS1 version. This was caused by some constraints I had and hopefully will change in the near future.
The new ROS2 version registers to parameter events the way the ROS1 version works with dynamic_reconfigure parameters.
You can watch and modify them, on ROS2, using rqt with "parameter reconfigure" plugin.
I can have parameters of type bool, integer and double but what I can't figure out is how to represent options that can have one of several available states only. I gave the "power_line_frequency" parameter as an example. For that it seems a "dictionary" type of parameter would be needed. Since I couldn't find one I wonder what is the ROS2 way to address this situation.

Yeah, that doesn't exist quite yet - but me + ROS2 people would be more than happy to have a PR implement that. I think you're best off with an int with documented enum values. Or have your enums be strings that are parsed for specific enum values. Ex. OPTION_1 OPTION_2 OPTION_3 are string type param inputs that would then be parsed to their respective enum values in the parameters callback.
Frankly, any ROS2 wrapper for this is an improvement. Though its well known in the robotics community that the existing drivers have a number of problems and generally force companies to rewrite them internally (which defeats the point of an open driver).
I'd strongly suggest moving forward being able to start from a blank slate with a requirements list. It doesn't need to happen overnight though.

Thanks @SteveMacenski . Thank you for your points and insights. I agree with you completely.
Foxy is on the way. Expected release by the end of December 2020 - still not the blank-slate version.
As the ROS2-eloquent version was release a while ago, I think this issue can be closed now.

Hi everyone,
The first ROS2 Foxy wrapper (3.1.3) is now available to match with librealsense 2.41.0.
https://github.com/IntelRealSense/realsense-ros/releases/tag/3.1.3


KYLO-829 Hashing password options for auth-file

Adding options for hashing password, in case using security.auth.file.
https://kylo-io.atlassian.net/browse/KYLO-829

SonarQube analysis reported 1 issue
Note: The following issues were found on lines that were not modified in the pull request. Because these issues can't be reported as line comments, they are summarized here:

 FileAuthConfig.java#L12: This block of commented-out lines of code should be removed.

Thanks for adding this.


Broken pipe

The issue I am having is major lag spikes, basically the server will freeze and a bunch of errors in console occur.
What version of ViaVersion are you using? Type /ver viaversion
0.5.0
What version of Spigot are you using? Type /ver
Spigot 1.8.8
What plugins are you using? /plugins
Tested this with viaversion spigot and protocal lib.
How does this error happen? login? using an item?
Im not sure, its very random. The errors happen on login i believe.
Is there an error in the console? Use pastebin.com. Is there a kick message?
Yes http://hastebin.com/idapikuret.avrasm

Probably related to #117

Yes, that's exactly whats happening! Didn't even see that report.

Well the error code for the broken pipe is a little bit different. Probably both have the same cause, but were doing other stuff when the error was thrown.

I wish I could be more help to reproduce the error.

Could you post more of the error? There should be a lot more similar errors.

Sure: http://hastebin.com/ebivecumab.avrasm

http://hastebin.com/ibuqocimoy.avrasm

http://hastebin.com/cojevipiwo.avrasm

Bungee plugins?

We don't have any Bungee plugins.

But you are using Bungee?

Yes

Bungee can cause issues sometimes, we are looking on a way to fix this.
There is way too much rerouting of the packets going on then, so eventually something will break then.

Awesome, let me know if you need me to test a fix!

Should be fixed.

This is not fixed!


change base_directory not working!

how should i change upload directory from 'storage' to 'public' folder??
the base_directory option not working

Do you want to set up:
http://localhost/public/image.jpg instead of http://localhost/storage/public/image.jpg ?

yes
exactly
my folder is now like this : http://localhost/storage/app/public/photos/image.jpg

Step 1: Create your own disk in config/filemanager.php
    'testDisk' => [
        'driver' => 'local',
        'root' => public_path('test_disk'),
        'visibility' => 'public',
    ],

Step 2: register your own disk in config/lfm.php
Find:
'disk' => 'public',

Replace:
'disk' => 'testDisk',

And now you will have path like this: http://localhost/public/test_disk/photos/image.jpg

thank you very much my friend
its working
i worked with 1.8 version before and that was different with 2.0
its nice
thank you again

@K1-Aria Welcome :) I wrote you an email, check 👍

Step 1: Create your own disk in config/filesystems.php
Find - 'disks' => [ and add:
    'testDisk' => [
        'driver' => 'local',
        'root' => public_path('test_disk'),
        'visibility' => 'public',
    ],

Step 2: register your own disk in config/lfm.php
Find:
'disk' => 'public',

Replace:
'disk' => 'testDisk',

And now you will have path like this: http://localhost/public/test_disk/photos/image.jpg

In my experience it worked partially. Files were being uploaded correctly, but when looking up in file manager window, images were broken, and in console i was able to see that image urls were still in storage, although images themselves were in public folder. So i had to edit new disk and add url key to it, like this
'public_unisharp' => [
    'driver' => 'local',
    'root' => public_path('/unisharp'),
    'visibility' => 'public',
    'url' => env('APP_URL').'/unisharp',
    // 'url' => public_path('/unisharp'), // js console error: Not allowed to load local resource
],


Force inline some functions in block sort

The compiler team is working on removing the always inline flag in hipcc.  A performance regression is found in an application that ends up calling the block sort algorithm in rocprim due to some missing inlining opportunities on a few functions due to code size issues and that in turn prevents the compiler from being able to inline the compare function, which is critical to the performance of the sort algorithm. This patch adds the always inline attribute to those intermediate functions in sort to expose the inlining opportunity of the compare function.

Looks fine to me, I'd like to get other rocPRIM devs to take a look as well.  Tagging @vince-streamhpc @nolmoonen to take a look.


Error importing sensors for P110 socket

I have just tried to setup a new P110 energy monitoring plug which does install as a switch with temperature sensor but does not create the energy sensors with associated invalid configuration errors.:
Version of the integration
2.10.1
Configuration
Device: P110
Hardware version 1.0
Firmware version 1.2.3 Build 230425 Ref 142542
Describe the bug
No energy sensors are available in HA after adding a Tapo P110 energy monitoring socket. The energy stats are available in the Tapo app. HA generates an invalid config notification with 2 logs:
Home Assistant Core
Unable to prepare setup for platform tapo.sensor: Platform not found (Exception importing custom_components.tapo.sensor).
2:54:11 PM – (ERROR) setup.py
Unexpected exception importing platform custom_components.tapo.sensor
2:54:11 PM – (ERROR) TP-Link Tapo (custom integration)
First log error:

Logger: homeassistant.setup
Source: setup.py:347
First occurred: 2:54:11 PM (1 occurrences)
Last logged: 2:54:11 PM

Unable to prepare setup for platform tapo.sensor: Platform not found (Exception importing custom_components.tapo.sensor).

Second log error:

Logger: homeassistant.loader
Source: custom_components/tapo/hub/sensor.py:65
Integration: TP-Link Tapo ([documentation](https://github.com/petretiandrea/home-assistant-tapo-p100), [issues](https://github.com/petretiandrea/home-assistant-tapo-p100/issues))
First occurred: 2:54:11 PM (1 occurrences)
Last logged: 2:54:11 PM

Unexpected exception importing platform custom_components.tapo.sensor
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/loader.py", line 779, in get_platform
    cache[full_name] = self._import_platform(platform_name)
  File "/usr/src/homeassistant/homeassistant/loader.py", line 796, in _import_platform
    return importlib.import_module(f"{self.pkg_path}.{platform_name}")
  File "/usr/local/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/config/custom_components/tapo/sensor.py", line 14, in <module>
    from custom_components.tapo.hub.sensor import (
  File "/config/custom_components/tapo/hub/sensor.py", line 41, in <module>
    class HumitidySensor(BaseTapoHubChildEntity, SensorEntity):
  File "/config/custom_components/tapo/hub/sensor.py", line 65, in HumitidySensor
    def native_value(self) -> Union[StateType, date, datetime]:
  File "/usr/local/lib/python3.10/typing.py", line 312, in inner
    return func(*args, **kwds)
  File "/usr/local/lib/python3.10/typing.py", line 403, in __getitem__
    return self._getitem(self, parameters)
  File "/usr/local/lib/python3.10/typing.py", line 515, in Union
    parameters = tuple(_type_check(p, msg) for p in parameters)
  File "/usr/local/lib/python3.10/typing.py", line 515, in <genexpr>
    parameters = tuple(_type_check(p, msg) for p in parameters)
  File "/usr/local/lib/python3.10/typing.py", line 176, in _type_check
    raise TypeError(f"{msg} Got {arg!r:.100}.")
TypeError: Union[arg, ...]: each arg must be a type. Got <module 'datetime' from '/usr/local/lib/python3.10/datetime.py'>.

Updating HA to 2023.10.3 fixed the issue.


Fix warnings with swift 2.2 #selector

@sergdort nice do you want me to merge?

Hi, @sger.
I guess, you will also need to update RxSwift and RxCocoa to 2.3.1
Because previous versions doesn't builds on lower versions
And in the example prod file make fixes with Nimble because of this issue
I did not committed, these changes, so you if you want I could check in them to.


Request - Tooltips for buttons in emulator

It would be handy to have tooltips for the emulator's buttons (at least in English, for initial versions). The meaning of some buttons, without tooltips, are not intuitive.

Closing it. I took like a second the first time, but tooltips are being displayed.


rust code performance

Why is the performance of the generated rust code particularly low? When host a accesses host B, but when client and server are on the same host, there is no problem.

tsxiaofang wants to merge 70 commits into 0.15.0 from master

Most certainly not. This must be a mistake.

Why is the performance of the generated rust code particularly low? When host a accesses host B, but when client and server are on the same host, there is no problem.

Recommend to ask that question on the mailing lists. If you can provide a test case demonstrating the issue you experience, that would be even better.


design for checking something is an array

This is a question that we may have covered but not clearly enough because it keeps coming up in conversations: "how do I check if something is a compliant array object?" People have asked me, and it has also come up in the Dask tracking issue and the NEP 47 review:

https://github.com/dask/community/issues/109#issuecomment-803669197
https://numpy.org/neps/nep-0047-array-api-standard.html#the-asarray-asanyarray-pattern

The current answer is:

we do not have/want a "reference library" that people need to depend on, hence we cannot do something like create an array ABC that libraries can inherit from to enable an isinstance check.
the one distinguishing feature of a compliant array object is: it has an __array_namespace__ attribute, so at runtime the check to do is hasattr(x, '__array_namespace__').
each library that wants to do this check should probably implement a standard function like:

def is_arrayobj(x):
    return hasattr(x, '__array_namespace__')

we can recommend this somewhere, and give an implementation for people to vendor.
for static type checking we can do better, design an Array typing Protocol: https://data-apis.org/array-api/latest/design_topics/static_typing.html. This is still to be implemented, but isn't hard to do. Again people should vendor this.

Note that in NEP 47 we (I) messed something up: the initial thought was to make numpy.ndarray the object that was the standards-compliant one - and therefore have a __array_namespace__ attribute. However we decided later to create a separate array object. numpy.ndarray is not compliant, and therefore should not have that attribute. However, that also means there is no way to retrieve the compliant namespace from a regular numpy ndarray instance. Hence it should probably be special-cased:
def is_arrayobj_or_ndarray(x):
    # This is just a sketch
    try:
        import numpy as np
        if isinstance(x, np.ndarray):
            x_new = np.array_api.asarray(x)
            # What the caller will need to do is convert back to ndarray at the end ....
            return True, x_new
    except ImportError:
        pass

    return hasattr(x, '__array_namespace__')

The alternative would be two separate checks; either way we need a design pattern that does (at least for existing libraries like SciPy, which must also support numpy.ndarray):

check for compliant array object
check for numpy.ndarray instance
if ndarray instance, convert to compliant array object
retrieve namespace
(do stuff)
if it was an ndarray instance, convert back to ndarray at the end

Is the consideration here mainly for NEP-47, or for any Array API compliant libraries (or libraries that will accept Array API)? I think for the latter class it is odd to single out numpy.ndarray in the checks as a special case. By definition numpy.ndarray is not a compliant Array, so it should be ok that we don't consider it is. Maybe I am missing something here...

I'm mainly thinking about libraries that now depend on NumPy (e.g., SciPy). If we have functions in such a library that now accept array_like (= numpy.ndarray, scalars, sequences, generators, anything with __array__ attribute, etc.), they'll in the future have to accept both array_like and objects with __array_namespace__.
My expectation when writing the above comment was that NumPy will have 2 array objects, but other libraries have only 1 (or at least, their main array/tensor object is compliant).


Unable to fetch AuthCognitoTokensProvider after login

I'm unable to fetch AuthCognitoTokensProvider right after login, it throws me an error "Obtaining an identity id in another thread failed or didn't complete within 5 seconds."
I'm using Amplify version 1.9.0.
Here is the method I'm using to fetch Cognito tokens
func getCognitoTokens() -> Future<AuthCognitoTokens, Error> {
        Future { promise in
            Amplify.Auth.fetchAuthSession { result in
                do {
                    let session = try result.get()
                    if let cognitoTokenProvider = session as? AuthCognitoTokensProvider {
                        promise(.success(try cognitoTokenProvider.getCognitoTokens().get()))
                    }
                } catch {
                    promise(.failure(error))
                }
            }
        }
    }

It goes to catch block all the time.
It only works if I add some delay of 2 seconds. Please find the code below after adding a delay.
   func getCognitoTokens() -> Future<AuthCognitoTokens, Error> {
        Future { promise in
            DispatchQueue.main.asyncAfter(deadline: .now() + 2) {
                Amplify.Auth.fetchAuthSession { result in
                    do {
                        let session = try result.get()
                        if let cognitoTokenProvider = session as? AuthCognitoTokensProvider {
                            promise(.success(try cognitoTokenProvider.getCognitoTokens().get()))
                        }
                    } catch {
                        promise(.failure(error))
                    }
                }
            }
        }
    }

I don't think adding delay is the correct option. Please help me with an alternative solution.

Hi @harshchitrla, could you provide us more details as to the steps you took to configure Auth and what your amplify configuration looks like (with values redacted). Also, if you don't use the Combine's Future and just do something like this: https://docs.amplify.aws/lib/auth/access_credentials/q/platform/ios does it work?
import AWSPluginsCore

Amplify.Auth.fetchAuthSession { result in
    do {
        let session = try result.get()
        // Get cognito user pool token
        if let cognitoTokenProvider = session as? AuthCognitoTokensProvider {
            let tokens = try cognitoTokenProvider.getCognitoTokens().get()
            print("Id token - \(tokens.idToken) ")
        }

    } catch {
        print("Fetch auth session failed with error - \(error)")
    }
}

Also if you had to add a delay, do you know what other calls you are making when you call getCognitoTokens? that may be the reason why another thread has obtained a lock

I'm unable to fetch AuthCognitoTokensProvider right after login, it throws me an error "Obtaining an identity id in another thread failed or didn't complete within 5 seconds."
I'm using Amplify version 1.9.0.
Here is the method I'm using to fetch Cognito tokens
func getCognitoTokens() -> Future<AuthCognitoTokens, Error> {
        Future { promise in
            Amplify.Auth.fetchAuthSession { result in
                do {
                    let session = try result.get()
                    if let cognitoTokenProvider = session as? AuthCognitoTokensProvider {
                        promise(.success(try cognitoTokenProvider.getCognitoTokens().get()))
                    }
                } catch {
                    promise(.failure(error))
                }
            }
        }
    }

It goes to catch block all the time.
It only works if I add some delay of 2 seconds. Please find the code below after adding a delay.
   func getCognitoTokens() -> Future<AuthCognitoTokens, Error> {
        Future { promise in
            DispatchQueue.main.asyncAfter(deadline: .now() + 2) {
                Amplify.Auth.fetchAuthSession { result in
                    do {
                        let session = try result.get()
                        if let cognitoTokenProvider = session as? AuthCognitoTokensProvider {
                            promise(.success(try cognitoTokenProvider.getCognitoTokens().get()))
                        }
                    } catch {
                        promise(.failure(error))
                    }
                }
            }
        }
    }

I don't think adding delay is the correct option. Please help me with an alternative solution.

@harshchitrla adding delay is correct way. even in Apple Doc also mention https://developer.apple.com/documentation/combine/using-combine-for-your-app-s-asynchronous-code


add unit test for Dcm.renormalize() in matrix submodule

dependent on https://github.com/PX4/Matrix/pull/31

unit test is in matrix submodule

We can keep both. Within the PX4 tests command it can actually run on each platform (nuttx, qurt, posix, etc) built with the same compiler and options as flight code.

@dagar Any idea why the new test fails with clang? I built and tested locally with gcc 4.9.3

1: INFO  [tests] RUNNING TEST: dcmRenormTests
1: ERROR [modules__unit_test] Assertion failed: test - err < eps (../src/systemcmds/tests/test_matrix.cpp:721)
1: ERROR [tests] TEST FAILED: dcmRenormTests

It's xcode clang on OSX. Print the values to see what's going on?
Alternatively you could extend our unit_test framework with a few handy asserts that would also print the values in the event of a failure. https://github.com/PX4/Firmware/blob/master/src/modules/unit_test/unit_test.h#L133
assert_lt
assert_gt
assert_near
assert_float_eq
assert_double_eq

Interesting. With gcc 4.9.3 the renorm error prints as 0, but with clang it is > 3e-7.
I increased eps from 1e-7 to 1e-6, but I'd think the results should be identical assuming both machines are using IEEE754 math.

Squash these into a single commit and merge?

@kd0aij Compilers do optimize math so differences are indeed possible and expected.

1e-6 is indeed the correct value for eps, since 1 lsb is about 1.2e-7


ACCUMULO-4331: first draft

First draft. Did not implement the range syntax that was proposed in later comments, but would be easy to swap out. There are some ports where it seemed not to make sense to support a range, log4j monitor port being one as its also set as a system property.

There are no tests for TServerUtils.startServer. I think I can create some, the problem is that I don't know what ephemeral ports are open on any given test machine. Ideas?

Maybe integrate the build-helper-maven-plugin to reserve ephemeral ports?  http://www.mojohaus.org/build-helper-maven-plugin/reserve-network-port-mojo.html

I'll take a look, thanks @ShawnWalker

Added tests to TServerUtils. For some reason the MiniAccumuloCluster tests are failing for me now. Not sure how it is related yet.

Tested locally with two tservers and port range appears to be working.

FWIW, with this latest change I was able to start Accumulo to include two tablet servers with setting all of the *.port.client properties to the range of 11000-11006.

Will apply manually.

Being lazy, I suspect the following is the behavior but not 100% sure.  @dlmarion hoping you might know off the top of your head since you have been working this.  If not I can research it more.

If I set a port to 100000 in the shell, it will fail and not change the port setting.
If I set a port to 5000-7000 in the shell, it will log an error in the shell and set the port to 5000-64K

If this is the behavior, then it seems inconsistent to me.


volatile=True during generation

I noticed that I was getting out of memory errors when I tried to generate long sequences using the GPU. I posted about this on the forum https://discuss.pytorch.org/t/optimizing-cuda-memory-pipeline-for-rnn/3311/5 and learned that if you create volatile=True variables during generation then you can generate sequences that are indefinitely long.

Good idea thanks, I'll add this in the next round of updates.


the sap.m.UploadCollection - downloadItem method is inconsistent and does not work on some URLs

OpenUI5 version:
1.42
Browser/version (+device/version):
IE 11/Chrome
Any other tested browsers/devices(OK/FAIL):
URL (minimal example if possible):
User/password (if required and possible - do not post any confidential information here):
Steps to reproduce the problem:

Set the attachments to be downloaded as odata $value URLs OR archivelink urls
use the downloadItem method in the code and set askForLocation to true

What is the expected result?
Items to be downloaded
What happens instead?
-Items are downloaded but location to save is not requested, even though when the askForLocation param is set to true. (This is when we use the odata $value URL as the download items)
-If an archivelink URL is used, we hit with the cross-origin error.

(Chrome)
Any other information? (attach screenshot if possible)

Hi @sammok83 ,
Could you please create an isolated scenario on jsbin.com where the issue is reproducible.
Regards, Diana


Require URLs for a few more "gold" criteria. Fixes #926.

The "gold" criteria require justification for practically everything,
instead of requiring URLs for justification.  Since "gold" is a high
standard, it's reasonable to ask for more information (URLs) in
the justification.  One of the main reasons to ask for URLs is to
make it easier for others to verify claims made; it also makes it
easier to look at those badge holders as examples of "how to do it".
Ignoring the criterion "must meet previous level", this means that when
you examine the percentage of criteria that require URLs in justifications,
gold requires a higher percentage (41%=9/(23-1)) compared to silver
(31%=17/(55-1)).
Signed-off-by: David A. Wheeler<EMAIL_ADDRESS>

Looks great.  I agree, all of the criteria specified should most definitely have a url in the justification, especially at the gold level.


Backslash escape sequence doesn't show properly

Type of issue
Typo
Description
Although the backslash escape sequence seems to be correct in the content source (\\\\), there is only a single backslash in the page's HTML (\).
Page URL
https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/strings/#string-escape-sequences
Content source URL
https://github.com/dotnet/docs/blob/main/docs/csharp/programming-guide/strings/index.md
Document Version Independent Id
3317fd4a-9cd3-57cd-66f7-abb271e302e8
Article author
@BillWagner
Metadata

ID: c7aa6134-64e2-28a7-f7d0-d0c1512f4520
Service: dotnet-csharp
Sub-service: fundamentals

ping @meganbradley Can we get this fixed? The source is correct.


CI Jest Integration Testing & Code Coverage

As an Automation Developer, I will ant to implement Integration Testing & Code Coverage.

This Issue is complete, yes?

yes this is complete.


Update sfvm-fsnotify.md

Need your help_SFVM_FSNOTIFY message is wrong defined between.txt
Hi experts, this is Mie Hayashi from Developer support CSS Japan.
while the investigation for support case, we found a doc bug.
Please see the attachment for details.

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

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


refactor transport out of clientImpl

logic relating to transport selection moved from clientImpl to client
the change does not have any external effect but I think it will be good to merge this before a bigger refactor takes place.
sketch for the next step, new API, the multiplayer param will expect a transportFactory or falsy value:
Client({...opts, multiplayer: SocketIO(/* server socketOpts etc*/ })
SocketIO symbol would become a "factoryFactory":
SocketIO = (socketIoOpts) => (transportOpts) => new SocketIOTransport(transportOpts, socketIoOpts)
custom transport follow that same pattern and can control whatever parameters they require
Firebase = (firbaseOpts) => (transportOpts) => new FirbaseTransport(transportOpts, firbaseOpts)
Client({...opts, multiplayer: Firebase(/* firebase options */ })
etc.,

superseded by https://github.com/nicolodavis/boardgame.io/pull/502


⚠ Nyarima has degraded performance

In aeaaabb, Nyarima (https://nyarima.com.au) experienced degraded performance:

HTTP code: 200
Response time: 5079 ms

Resolved: Nyarima performance has improved in 299b762 after .


Move normalization code from ADAM

Depends on #13. See https://github.com/bigdatagenomics/adam/pull/629.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/bdg-utils-prb/32/
Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/bdg-utils-prb/36/
Test PASSed.


Only clean metadata before node deployment

At the moment we have several problems cleaning the disks on P3:

long scrubbing times for the storage-A node (rotating disks)
secure erase failures on multiple nodes with INTEL SSDSC2BX016T4R. I have noticed these on the storage B nodes as well as the gpu nodes. The maintenance reason will typically look like:

| maintenance_reason | Agent returned error for clean step {u'priority': 10, u'interface': u'deploy', u'reboot_requested': False, u'abortable': True, u'step': u'erase_devices'} on node 6c819315-a655-4718-9b52-4e8252a8213f : {u'message': u'Clean step failed: Error performing clean_step erase_devices: No HardwareManager found to handle method: Could not find method: erase_block_device', u'code': 500, u'type': u'CleaningError', u'details': u'Error performing clean_step erase_devices: No HardwareManager found to handle method: Could not find method: erase_block_device'}. |

This happens as the GenericHardwareManager throws an IncompatibleHardwareError if secure erase fails.
This change effectively disables shredding by setting the iterations to 0 and removing the zero pass. This addresses the issue with the long scrub times. It also causes an effective fallback to metadata-only erase if secure erase fails.
I thought this would serve as a good place to discuss the disk cleaning strategy.
relevant bug reports

the continue_if_disk_secure_erase_fails option is too broad to be useful
GenericHardwareManager passes wrong password to hdparm --security-unlock
GenericHardwareManager doesn't perform a secure_erase when it could
the erase_devices cleaning step takes a prohibitively long period of time with large number of disks

One undesirable problem with this workaround is that the drives can be left in an unknown security state. For instance, when the secure erase fails, on next boot, the drives will be in the security enabled, unlocked state. We are currently looking at upgrading the firmware, with the view that these failures will resolved.


Streamline config file location.

The config file was referenced under different names.
This patch is supposed to streamline it so that it always reference to /etc/default/vip-manager

Hey, thanks for the pull request!
I admit that the naming was a little bit wonky...
I will first need to merge the changes that enable config file usage from the experimental_hetzner_support_w_interfaces branch, though. (The branch has arguably come a long way since the beginning of this hetzner support...)
How do you like using the config file?


The above code how to verify whether newPwd and confirmPwd are consistent, and can get a custom message when the verification fails, just like two passwords are inconsistent; Just like if this check doesn't pass, it gets it in errors.message

export const zr_colorsize_reset_pwd_FormScheme = z     .object({         oldPwd: z.string().min(8, { message: "8+ characters required" }).trim(),         newPwd: z.string().min(8, { message: "1+ characters required" }).trim(),         confirmPwd: z             .string()             .min(8, { message: "4+ characters required" })             .trim()     })
The above code how to verify whether newPwd and confirmPwd are consistent, and can get a custom message when the verification fails, just like two passwords are inconsistent; Just like if this check doesn't pass, it gets it in errors.message
.min(8, { message: "4+ characters required" })

You should check out refine

I used refine, and if the validation fails and I can't retrieve the message, as in my code below what should I do
export const zr_colorsize_reset_pwd_FormScheme = z.object({     oldPwd: z.string().min(8, { message: "8+ characters required" }).trim(),     newPwd: z.string().min(8, { message: "8+ characters required" }).trim(),     confirmPwd: z.string().min(8, { message: "8+ characters required" }).trim(), })