Define devcontainer config

This commit defines a devcontainer configuration for Hipcheck, to enable
contributors to Hipcheck to spin up a devcontainer that has what they
need to work on the project.
Right now that means it installs the latest Rust toolchain, the latest
Long-Term Support (LTS) Node.js toolchain, and then sets up OpenSSL dev
headers and the NPM module-deps package.
Signed-off-by: Andrew Lilley Brinker<EMAIL_ADDRESS>

My local host Docker setup is currently broken, so I'm going to test this post-merge with GitHub Codespaces.


Extend formatting system to chart tooltips

This PR adds value and column title formatting to chart tooltips.
It includes:

ECharts custom formatter function to pull in value and title formats as specified through column format tags
Specific tooltip formats for <ScatterPlot/>, <BubbleChart/>, and <Histogram/> which override the default chart tooltip

Before

After

Future Improvements

Add more columns to the tooltips for <ScatterPlot/> and <BubbleChart/>

These should include at least one identifier column (e.g., Product Name)
The right behaviour might be to include all columns from the query result in the tooltip to start, then provide an option to exclude specific columns
If we add these options, we should probably also include a prop where you can specify exactly which column(s) you would like to appear in the tooltip

Add back the feature to sort tooltip series based on value (max on top of list, min at bottom)

This PR breaks the behaviour of multi-series line chart tooltips, where the tooltip would reorder the series shown in the tooltip to match the position of the series at that point in the chart (max on top, min on bottom)
To add this functionality back, we will need to add a sort function to the formatter definition

Make histogram tooltip support multiple series

Histogram tooltips work well for a single series, but when we add the ability to plot multi-series histograms, we will need to revisit the tooltip design and examine the data structure that ECharts returns to our component

Axis title override behaviour

You can change the label that appears for the x-axis or y-axis on your chart, but at the moment these labels do not replace the column titles shown in the tooltip
For example, if a column name is gdp_usd, it will be formatted as "Gdp ($)".

You can override the axis label to show "GDP", but the tooltip will still show "Gdp ($)"

Amazing improvement!


Update content of Program Developer Github - Spanish language

Update content of program Developer Github - Spanish

Why:

Closes [issue link]
What's being changed:

Check off the following:

[ ] I have reviewed my changes in staging. (look for the deploy-to-heroku link in your pull request, then click View deployment)
[ ] For content changes, I have reviewed the localization checklist
[ ] For content changes, I have reviewed the Content style guide for GitHub Docs.

Restore file done.


Added the solution of Hail XOR ,Gasoline Introduction, Positive Prefixes and Vaccine Distribution.

Related Issue
#151
#153
#159
#160
Closes: #151
#153
#159
#160
Describe the changes you've made
Added the solution of Hail XOR Problem.
Describe if there is any unusual behaviour of your code(Write NA if there isn't)
NA
Language used for coding
C++
Checklist:

[x] My code follows the style guidelines of this project.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] I have made corresponding changes to the documentation.
[x] New and existing unit tests pass locally with my changes.

This is not a correct way, Please open different pull request for different issues.

Ok!
I will not repeat this again.


Add the possibility of changing class/instance and category on method creation

When creating a method, we should be able to change:

class/instance
category


Redeploy https://nimwc.org

Redeploy https://nimwc.org for new Version.
:smile:

Job done! A little bump on the way #31


Error: more than one library with package name 'com.google.games.bridge'

I wanted to set up Firebase Analytics in my Unity Project. I downloaded the newest version, but i think it conflicts with another library (Maybe GooglePlayServices), but i can't find the reason. Any help is appreciated. It is an Android Project.
I read in the internet, that i should check the Assets/
Plugins/Android folder, but i couldn't find duplicates. I will attach the folder to analyse.
The following is the error.
UnityEditor.BuildPlayerWindow+BuildMethodException: Build failed with errors.
at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (BuildPlayerOptions options) [0x001b9] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:162
at UnityEditor.BuildPlayerWindow.CallBuildMethods (Boolean askForBuildLocation, BuildOptions defaultBuildOptions) [0x00050] in C:\buildslave\unity\build\Editor\Mono\BuildPlayerWindowBuildMethods.cs:83
UnityEditor.HostView:OnGUI()
CommandInvokationFailure: Gradle build failed.
C:\Program Files\Java\jdk1.8.0_111\bin\java.exe -classpath "C:\Program Files\Unity\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-2.14.jar" org.gradle.launcher.GradleMain "assembleRelease"
stderr[
FAILURE: Build failed with an exception.

What went wrong:
Execution failed for task ':processReleaseResources'.

Error: more than one library with package name 'com.google.games.bridge'

Try:
Run with --stacktrace option to get the stack trace.  Force Resolve was kinda useful, because it fixed some dependencies.

@MarcoSchneider123 this sounds like a problem specific to your project.  I recommend opening up a support ticket on http://firebase.google.com/support where you can share your project and have staff help you debug the issue.


Issue With Reading/Writing Between Two Beaglebones

I am using node-serialport to communicate between two Beaglebone Blacks connected via a Crossover RS232 cable and some serial capes.
 var serialPort;
 var connectToController = function() {

serialPort = new SerialPort("/dev/ttyO0", {
    baudrate: 9600,
    parser: serialport.parsers.readline("\n")
}, false);

serialPort.open(function (error) {
    if(error) {
        console.log("Error occurred: " + error + "\n");
        attemptReconnect();
    }
    else{
        serialPort.on('data', function(data) {
        console.log("data:" + data);
        });
    }
});
serialPort.on("close", function () {
    attemptReconnect();
});
};

On both Beaglebones I am running code similar to above, but each of them have write capabilities as well. For some reason, I can only receive messages on one of the Beaglebones whenever I am attempting communication. Does node-serialport support read/write capability at the same time, or is there something wrong with my code?

Where is the code that actually sends something. You're using a new line parser, are you sure that the .write of data ends with a newline? onData wont return otherwise. Do you have a common ground?

Thank you for the quick reply.
In Beaglebone B1,
var serialport = require("serialport");
var SerialPort = serialport.SerialPort;
var serialPort;

var connectToController = function() {

serialPort = new SerialPort("/dev/ttyO0", {
    baudrate: 9600,
    parser: serialport.parsers.readline("\n")
}, false);

//attempt to open the port
serialPort.open(function (error) {

    if(error) {
        console.log("Error occurred: " + error + "\n");
        attemptReconnect();
    }
    else{

        console.log("Success! Connected to the controller.\n");

        serialPort.on('data', function(data) {

            console.log("data:" + data);
            serialPort.write("HELLO FROM B1\n");

        });
    }

});

serialPort.on("close", function () {
    console.log("The serial channel to the controller has closed.\n");
    attemptReconnect();
});

};

var attemptReconnect = function () {
 setTimeout(function(){
   console.log("Reconnecting to controller");
   connectToController();
  }, 5000);
};

connectToController();

Beaglebone B2 is very similar, except that it sends the first data message
var serialport = require("serialport");
var SerialPort = serialport.SerialPort;
var serialPort;

var connectToController = function() {

serialPort = new SerialPort("/dev/ttyO0", {
    baudrate: 9600,
    parser: serialport.parsers.readline("\n")
}, false);

//attempt to open the port
serialPort.open(function (error) {

    if(error) {
        console.log("Error occurred: " + error + "\n");
        attemptReconnect();
    }
    else{
        console.log("Success! Connected to the controller.\n");
        serialPort.write("HELLO FROM B2\n");

        serialPort.on('data', function(data) {

            console.log("data:" + data);
            serialPort.write("HELLO FROM B2\n");

        });
    }

});

serialPort.on("close", function () {
    console.log("The serial channel to the controller has closed.\n");
    attemptReconnect();
});

};

var attemptReconnect = function () {
 setTimeout(function(){
   console.log("Reconnecting to controller");
   connectToController();
  }, 5000);
};

connectToController();

I expect B2 to send the first message, which is received by B1, and then B1 sends the second message, and so the two should keep communicating. What actually happens is B1's first message is never received by B2. As for the common ground question, I am not sure? At the moment I have the Beaglebones plugged into two computers via USB.


Add Quay Metrics Port 9091 to Quay deployment and service

Since Prometheus Pushgateway is used for metrics and it can be accessed via port 9091, adding it to the Quay service.
P.S.
Exists in OCP templates as well:
https://github.com/quay/quay/blob/e919361a9aad73df015c692e31a1fe1d015cafa4/deploy/openshift/quay-app.yaml#L62

@sabre1041 now is 1 commit. I messed up my previous fork branches... so had to delete it and fork again 😄


[AutoRelease] t2-relay-2022-11-08-46875(can only be merged by SDK owner)

https://github.com/Azure/sdk-release-request/issues/3383
Live test fail, detailed info is in pipeline log(search keyword FAILED)!!!
https://dev.azure.com/azure-sdk/internal/_build?definitionId=1023

issue link:https://github.com/Azure/sdk-release-request/issues/3383


Demo site not working

Is there an existing issue for this?

[X] I have searched the existing issues

Description
I am trying to browse different databases on the left pane on the demo site, and SparkSQL says "Could not connect to any of [('<IP_ADDRESS>', 10001)]". All the different db types seem to throw some kind of error.
Steps To Reproduce
I am trying to browse different databases on the left pane on the demo site, and SparkSQL says "Could not connect to any of [('<IP_ADDRESS>', 10001)]". All the different db types seem to throw some kind of error.
Logs
No response
Hue version
current

Hi @wysisoft and thanks for reporting. @agl29 is this still the case and if so are we looking into it?

Hi @bjornalm
I just checked, some of the dialects are working fine but still some are giving error.


Incomplete dashboards on WSL2

I am trying to use dockprom on WSL2 (Windows 10 Build1904). I am able to login to Grafana and find the pre-configured dashboards - "Docker Containers", "Docker Host", "Monitor Services" and "Nginx".
However, the dashboards seem incomplete as can be seen in the image below:

I definitely have one other docker-compose set running besides dockprom.
Logs for Grafana, Prometheus, caddy, pushgateway and alertmanager seem fine.
Node-exporter has "couldnt get netstats" etc errors. Some logs in pastebin here: https://pastebin.com/AQXsZmQQ
cAdvisor also seems to have error(s) "80506cf5c706ad68e7e14304949304e86fdb41bb477b4e4036f68073fae869a8". - open /rootfs/var/lib/docker/image/overlay2/layerdb/mounts/80506cf5c706ad68e7e14304949304e86fdb41bb477b4e4036f68073fae869a8/mount-id: no such file or directory . A few lines in pastebin here: https://pastebin.com/5tHnaVZA
Any ideas on debugging this would be helpful.

This  says netstat is not supported on WSL. Maybe that is the issue. Has anyone been able to make this work on WSL.

@chintanp I'd suggest lodging the issue upstream to both node-exporter and cadvisor I don't see anything in the former that suggests it would or would not work in WSL, though lots of issues and comments in PR's for not supporting Windows, there's a separate exporter for that.


[qa] Move to github actions #224

Closes #224

I have tested this patch on my fork, you can look at the build here: https://github.com/pandafy/openwisp-users/actions/runs/500355175
I am merging this to speed up the work. To make any improvements, please make a PR to the dev branch.

I have tested this patch on my fork, you can look at the build here: https://github.com/pandafy/openwisp-users/actions/runs/500355175
I am merging this to speed up the work. To make any improvements, please make a PR to the dev branch.


Conversion from Eleventy v2 CJS to Eleventy v3 with ESM

[x] Update package.json: Eleventy v3.0.0-alpha.2 and Eleventy WebC v0.11.2+
[x] Add "type": "module" to package.json
[x] Rename all Node.js *.js to *.cjs
[x] Convert *.cjs files back to *.js with ESM syntax.

Thanks for linking to this example from the documentation, it was useful for me to go through. It didn't actually look too difficult to just convert to ESM syntax, so I gave it a go myself (in case it helps anyone else too).


flutter_rust_bridge报错，无法运行

Because daisy depends on flutter_rust_bridge from path which doesn't exist (could not find package flutter_rust_bridge at "../flutter_rust_bridge/frb_dart"), version solving failed.
pub get failed
command: "/Users/deepindo/Documents/flutter_mac_sdk/flutter/bin/cache/dart-sdk/bin/dart __deprecated_pub --directory . get --example"
pub env: {
"FLUTTER_ROOT": "/Users/deepindo/Documents/flutter_mac_sdk/flutter",
"PUB_ENVIRONMENT": "vscode.dart-code:flutter_cli:get",
"PUB_CACHE": "/Users/deepindo/.pub-cache",
}
exit code: 66

您下载releases里的，Gen.zip解压到项目就好了，不需要执行frb如果ios模拟器需要注意一下替换ios-sim里的.a到ios/Runner


Nodejs fixes

Well, it's hard to use glib binaries on a musl system. Nodejs install will use alpine's default package instead of the available binary.

LGTM


Correctly display "Manage Project Settings" button

PR Checklist
Please check if your PR fulfills the following requirements:

[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ x] Bugfix
[ ] Feature
[ ] Code style update (formatting)
[ ] Refactoring (no functional changes)
[ ] Documentation content changes

Other information

Issue Number: N/A

I’ve tried it on the review app, and it’s working! Thanks @EtienneGrall. I think @fargito is right and the user variable isn’t used, could you fix that so that we can merge?

Looks good to me!


Add navigation to the Calendar

### Features
- [ ] Month dropdown can be displayed above the calendar.
- [ ] Year dropdown can be displayed above the calendar.
- [ ] Previous and Next month buttons can be displayed adjacent to month/year dropdowns.

### Checklist
- [ ] Density (HD, MD, LD, TD)
- [ ] Mode (Light, Dark)
- [ ] Fill (Primary, Secondary, Tertiary)
- [ ] State (Default, Hover, Selected/Active, Disabled, Read-only, Other)
- [ ] Controlled API
- [ ] UITK accessibility parity (screen reader + keyboard interactions)

### Deliverables
- [ ] Characteristics spec
- [ ] Interactions spec, where necessary
- [ ] In Code & Figma (Component + Guide)
- [ ] Supporting site documentation

#caledar


netbsd.sys: fix build

Description of changes
Coming from NixOS on x86_64-linux, this fixes the build of pkgsCross.x86_64-netbsd.netbsd.sys for me.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] 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/)
23.11 Release Notes (or backporting 23.05 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

[ ] Fits CONTRIBUTING.md.

@ofborg build pkgsCross.x86_64-netbsd.netbsd.sys

@ofborg build pkgsCross.x86_64-netbsd.netbsd.sys


Update meta.yaml to include another owner

Following the example seen in other PRs

This tends to be the easiest way to do it: @conda-forge-admin, please add user @username¶
x5a is not part of Codeowners, which is why his review is not being requested.


Linux keybase app's notification page does not share share the same template with other settings

Introduction
Hello there! I noticed a bit of a weird inconsistency in design templates on the settings page.
Some background:
My system
~ λ uname -a
Linux ctu 5.2.1-arch1-1-ARCH #1 SMP PREEMPT Sun Jul 14 14:52:52 UTC 2019 x86_64 GNU/Linux

My keybase install (most recent)
~ λ sudo pacman -Qi keybase-gui
Name            : keybase-gui
Version         : 4.2.0-1
Description     : GUI frontend for GPG with keybase.io
Architecture    : x86_64
URL             : https://keybase.io/
Licenses        : BSD
Groups          : None
Provides        : None
Depends On      : electron  keybase  kbfs
Optional Deps   : None
Required By     : None
Optional For    : None
Conflicts With  : None
Replaces        : None
Installed Size  : 33.70 MiB
Packager        : Eli Schwartz<EMAIL_ADDRESS>Build Date      : Wed 10 Jul 2019 02:24:59 PM CDT
Install Date    : Sun 21 Jul 2019 06:52:05 PM CDT
Install Reason  : Explicitly installed
Install Script  : No
Validated By    : Signature

Issue
Please see three images included and notice that the notification tab has the setting name and the go back button disappeared. This element change just makes the whole left tab to shift, which is not the best experience with jumping tabs.
Chat (has the tools)

Notifications (doesn't have the tools)

Feeback (has the tools)

Conclusion
I am not sure if this is intentional or not but it can bother some users due to its inconsistency.

Thanks for the report, it'll be fixed in the next release. You can check it out on the nightly if you like.


Retro Achievement Log-In doesn´t work

i logged in once succesfully. now after days the Retro Achievement widget says i have to log-in. username and password are correct, it doesn´t log-in, no matter what how often i save this things or how often i refresh the RA widget, or how often i restart the device (retroid pocket 3+)
i have the newest app version
retroarch´s Retro Achievement log-in works and recognices achievements

RAWeb will most likely need to be updated as there was a major update recently. This will most likely need to fixed in an app update.
To explain why Retroachievements is working correctly on RetroArch is because it doesn't use RAWeb. Instead it uses rcheevos. RAWeb is used to gather information on the website. While rcheevos is used for actually earning achievements and stuff like that.

I am also seeing this issue. When I reboot my device, the widget will show me logged in and I can browse my achievements as they were after the last time it synced. However, when it tries to sync to update, the widget then changes to "Please login"

I am also seeing this issue. Still seeing it after the update that brings RAW up to 4.0.

Make sure you updated right. I know it sounds like "It's works on my device" answer. But google play don't get last update immediately.

@Jetup13 i think we should close this

Yup, its been fixed with updated Daijisho builds


fix: gate privileged behind trusted repos

leaving in draft while I fix a few things

step status should update to failure, it remains success right now
tests


Cannot initialize innodb storage engine with non-default images.

I tried to create mysql cluster with non-default percona images( percona:5.7.24 and percona:5.7-centos), but wierd things happened: the first node started successfully, but the second node had an initialization problem:
2019-02-13T07:38:20.744819Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2019-02-13T07:38:20.751017Z 0 [Note] mysqld (mysqld 5.7.24-26-log) starting as process 1 ...
2019-02-13T07:38:20.752921Z 0 [Warning] Although a path was specified for the --slow-query-log-file option, log tables are used. To enable logging to files use the --log-output=file option.
2019-02-13T07:38:20.774750Z 0 [Note] InnoDB: PUNCH HOLE support available
2019-02-13T07:38:20.774798Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2019-02-13T07:38:20.774805Z 0 [Note] InnoDB: Uses event mutexes
2019-02-13T07:38:20.774808Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
2019-02-13T07:38:20.774812Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.7
2019-02-13T07:38:20.774816Z 0 [Note] InnoDB: Using Linux native AIO
2019-02-13T07:38:20.775800Z 0 [Note] InnoDB: Number of pools: 1
2019-02-13T07:38:20.776044Z 0 [Note] InnoDB: Using CPU crc32 instructions
2019-02-13T07:38:20.867034Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2019-02-13T07:38:20.882885Z 0 [Note] InnoDB: Completed initialization of buffer pool
2019-02-13T07:38:20.888984Z 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
2019-02-13T07:38:20.902872Z 0 [ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable
2019-02-13T07:38:20.902902Z 0 [ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable
2019-02-13T07:38:20.902912Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
2019-02-13T07:38:22.007289Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
2019-02-13T07:38:22.007336Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2019-02-13T07:38:22.007347Z 0 [ERROR] Failed to initialize builtin plugins.
2019-02-13T07:38:22.007356Z 0 [ERROR] Aborting

2019-02-13T07:38:22.007376Z 0 [Note] Binlog end
2019-02-13T07:38:22.011461Z 0 [Note] mysqld: Shutdown complete

Hi @bluven, the operator works only with images from Percona based on Debian, those based on CentOS, the new ones, does not work because the data is mounted under a different user. So this is a duplicate of #200 and I've already started working at it in PR #224, which will be merged in v0.2.5.

this issue is fixed by #224, now you can use any images from Percona for MySQL

in v0.2.5 to use Percona CentOS images just specify the mysqlVersion field on MysqlCluster resource to 5.7-centos, for example:
spec:
  replicas: ...
  mysqlVersion: 5.7-centos

By default, the operator will use Debian based images but in version v0.3.x latest images will be used.


changing from internal EDB layer to pyedb one from primitive object

This is a test PR as layer property was returning internal EDB Layer object. Change to pyedb layer type. Small change with potential  large impact. @maxcapodi78 please review the code when you can. For some reasons the local test was failing on one multithreaded command during cutout I had to remove the thread. Let see how it goes on the github build machine.

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

Project coverage is 83.10%. Comparing base (67cfa68) to head (3864489).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #253      +/-   ##
==========================================
+ Coverage   83.08%   83.10%   +0.01%
==========================================
  Files         105      105
  Lines       17688    17689       +1
==========================================
+ Hits        14696    14700       +4
+ Misses       2992     2989       -3


import plugin recommended rules from typescript-eslint

https://typescript-eslint.io/troubleshooting/performance-troubleshooting/#eslint-plugin-import suggests turning on

[x] import/no-named-as-default
[x] import/no-cycle
[ ] import/no-unused-modules
[ ] import/no-deprecated

We should support these

Already have tracking issues for the remaining issues.


Failure to evaluate

whenever i run evaluate.py it gives all predictions = 0 and thus an accuracy of 50% on the test.txt file

Could you provide your evaluation command & related config file?

Hello!
I was able to run it with Pytorch after all! The tensorflow version was
deprecated.
But thank you
On Sat, 19 Jun 2021 at 13:00, Runqi Yang @.***> wrote:

Could you provide your evaluation command & related config file?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/alibaba-edu/simple-effective-text-matching-pytorch/issues/10#issuecomment-864378864,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQBGTXABDJXDMVBKOTJ2I3LTTRMDVANCNFSM447EEFBA
.


Documentation Generator: Styles

This PR is WIP - please take a look at output, and share your thoughts

Pull Request Description
This should be the last PR for DocParser. It introduces polished stylesheet for properly displaying generated documentation of Enso Code.
Checklist
Please include the following checklist in your PR:

[x] The documentation has been updated if necessary.
[x] All code conforms to the Scala, Java, Rust or Haskell style guides as appropriate.
[x] All code has been tested where possible.

Nice progress! I added some comments on Discord regarding the styles.


use intel+mpt compiled MPAS model code(outside bundle) for forecasts

For 6h cycling forecasts and long range forecasts: use intel+mpt compiled MPAS model code.
@liujake will compile the code. @junmeiban will update the exe path in the workflow.

See https://github.com/NCAR/MPAS-Workflow/pull/217

This issue can be closed, as the PR https://github.com/NCAR/MPAS-Workflow/pull/230 already merged. In the future, mpas-bundle build directory will updated and pointed to @liujake 's pandac_common.


Sending the loabalancer service with 'PENDING_UPDATE' to _common_service_handler doesn't modify the device.

Title: A short but descriptive summary of the issue, whether it be a bug or enhancement.
Attachments: For bugs, attach the agent log and configuration files

/etc/neutron/services/f5/f5-openstack-agent.ini
/var/log/neutron/f5-openstack-agent.log

Details: For bugs, copy and paste the following template into your new issue and fill it out.

Agent Version
<Fill in the version you have installed, such as 2.0.1>
Operating System
<Fill in the host OS of the machine running the agent, such as CentOS 7>
OpenStack Release
<Fill in the OpenStack release, such as Liberty>
Description
<Describe the bug in detail, steps taken prior to encountering the issue, yand a short explanation of you have deployed openstack and F5 agent>
Deployment
<Explain in reasonable detail your OpenStack deployment, the F5 OpenStack agent, and BIG-IP(s)>
<Example: Single OpenStack controller with one F5 agent managing a cluster of 4 BIG-IP VEs>
<Example: Three OpenStack controllers in HA, each with one standalone F5 agent managing a single BIG-IP appliance>

Details: For enhancements, copy and paste the following template into your new issue and fill it out.

OpenStack Release

Description

@zancas and @richbrowne  we are closing this (#156) and will handle this detail in the agent re-architecture


golioth: introduce GOLIOTH_CIPHERSUITES Kconfig option

(D)TLS negotiation happens by using TLS sockets, which can be either
offloaded to external TLS stack (e.g. nRF9160 modem TLS layer) or handled
by mbedTLS library using Zephyr TLS "native" sockets implementation. So far
no ciphersuites were selected explicitly by this SDK, so selection of
negotiated ciphersuites was up to underlying TLS stack (e.g. mbedTLS
library for "native" TLS sockets). This is fine as long as there is limited
mbedTLS configuration and limited supported ciphersuites by Golioth server.
As of today with default configuration (e.g. when building samples from
samples/ directory), mbedTLS proposes to use bunch of RSA cert-based
ciphersuites and bunch of PSK-based ciphersuites. Golioth server only
supports PSK-based ciphersuites, so PSK ciphersuite is being negotiated.
Well done.
With the upcoming cert-based authentication support in Golioth server there
is a potential problem. Even when SDK is provisioned with PSK (and PSK-ID),
still all the enabled cert-based authentication algorithms are proposed
in (D)TLS ClientHello message. This allows Golioth server to choose
cert-based authentication over PSK-based, as the former is considered more
secure. If this happens, then mbedTLS library tries to lookup certificates
for negotiated connection, which fails as only PSK + PSK-ID were
provisioned. (D)TLS connection attempt is aborted and restarted in a while,
with the same result. This creates an endless loop. This isn't a problem
yet with samples included in samples/ directory, as Golioth server will
support ECDSA-based ciphersuites (at least in the next step) instead of
RSA-based ciphersuites. However, potential problem is still there in case
Golioth server gets support for RSA-based ciphersuites. ECDSA-based
ciphersuite support in Golioth server still creates a problem for devices
with extended (compared to configuration used in samples/) mbedTLS
configuration, with support for ECDSA being enabled (e.g. when application
needs ECDSA algorithms for other purposes than Golioth cloud connection).
In such case mbedTLS will include ECDSA-based ciphersuites in (D)TLS
ClientHello message, so Golioth server will select ECDSA-based
ciphersuite (as they are prioritized over PSK-based ciphersuites) for which
device might not have credentials configured (when device firmware is
configured for PSK-based authentication). Such case also results in endless
loop.
Introduce a Kconfig option that allows to select which specific
ciphersuites to use during (D)TLS handshake. This makes sure that server
selected ciphersuite (from the list of client proposed ciphersuites) is
both supported and provisioned with credentials. Default value for
CONFIG_MBEDTLS=y builds (for which we have most control) depends on enabled
cryptographic algorithms and prioritizes ciphersuites following mbedTLS
internal priorities. When CONFIG_MBEDTLS_BUILTIN=n all server supported
ciphersuites are selected, which allows TLS layer to choose any of proposed
algorithms.
The same as for Zephyr CONFIG_MBEDTLS_BUILTIN was done for NCS flavour of
mbedTLS (ZEPHYR_NRF_MODULE && MBEDTLS_TLS_LIBRARY).

Unless I'm missing something, this checkpatch warning is a false-positive:
a7d8ebc2984f95581c6b47256a7c784f677bacdb:162: WARNING:SUSPECT_CODE_INDENT: suspect code indent for conditional statements (8, 0)
#1[6](https://github.com/golioth/golioth-zephyr-sdk/actions/runs/3438665742/jobs/5735014754#step:5:7)2: FILE: net/golioth/golioth.c:29:
+	FOR_EACH_NONEMPTY_TERM(GOLIOTH_CIPHERSUITE_ENTRY, (,), GOLIOTH_CIPHERSUITES)
+};


Updating to more recent dependencies for Zend

Updated to newer versions of ZF2 dependencies and phpunit

@lcf agreed, ready for review/merge 9edd66648c3d2eea3be7ef27febe61c3da5fd8ba

almost there, 1 PR left! @bryanlatten can you revert your change to the line with phpunit and I'll release a new version of the library?

@lcf you got it.

@lcf we still need to add the travis-ci integration. I would do it, but I'm not the owner. You can actually click the badge (that's currently on the README) to set it up super quickly.


Add orientation change support to preferences

Updated MaterialListPreference, MaterialEditTextPreference, and MaterialMultiSelectListPreference to support orientation changes. All three now continue to show their dialog on orientation change. In addition, MaterialEditTextPreference correctly maintains the text and cursor position on orientation change.
Also fixed the sample app to not create a new SettingsFragment every time on orientation change (which prevented the preferences from being saved/restored).

Thanks
https://github.com/afollestad/material-dialogs/releases/tag/v<IP_ADDRESS>


Use consistent formatting in the configure prompts

What's changing?
This makes sure that the interactive prompts use consistent casing for "Personal access token" input types.
How's this tested?
👀

While we're at it, I see another inconsistencies (I don't know how to comment/suggest changes on unmodified lines 🙁 )
Line 17: (uses helptext: and has a space between Circle and CI): new Variable("CIRCLE_CI_ORGANIZATION", Provider.CircleCI, "CircleCI organization name"),

While we're at it, I see another inconsistency (I don't know how to comment/suggest changes on unmodified lines 🙁 )
Line 17: (uses helptext: and has a space between Circle and CI): new Variable("CIRCLE_CI_ORGANIZATION", Provider.CircleCI, "CircleCI organization name"),

Good catch!


restore from s3 backup doesn't work: Barman cloud restore exception: 'BackupInfo' object has no attribute 'backup_name'

Hi, I just found out that the restore operation doesn't work for all of my cnpg clusters.
I tried both restore methods and neither of them work:
Bootstrap from a backup:
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
  name: traxprime-pg-cluster-test
spec:
  imageName: ghcr.io/cloudnative-pg/postgresql:15.1
  instances: 1
  storage:
    size: 1Gi
  bootstrap:
    recovery:
      backup:
        name: manual-backup
  backup:
    retentionPolicy: "30d"
    barmanObjectStore:
      destinationPath: s3://cnpg-backup/kprod2/traxprime
      endpointURL: https://fra1.digitaloceanspaces.com
      wal:
        compression: gzip
      s3Credentials:
        accessKeyId:
          name: do-s3-creds
          key: ACCESS_KEY
        secretAccessKey:
          name: do-s3-creds
          key: SECRET_KEY

This are the logs:
bootstrap-controller {"level":"info","ts":"2023-06-22T07:43:23Z","msg":"Installing the manager executable","destination":"/controller/manager","version":"1.19.2","build":{"Version":"1.19.2","Commit":"c220cca5","Date":"2023-04-27"}}
bootstrap-controller {"level":"info","ts":"2023-06-22T07:43:23Z","msg":"Setting 0750 permissions"}
bootstrap-controller {"level":"info","ts":"2023-06-22T07:43:23Z","msg":"Bootstrap completed"}
full-recovery {"level":"info","ts":"2023-06-22T07:43:24Z","msg":"barman-cloud-check-wal-archive checking the first wal","logging_pod":"traxprime-pg-cluster-r2-1-full-recovery"}
Stream closed EOF for traxprime/traxprime-pg-cluster-r2-1-full-recovery-7dgf4 (bootstrap-controller)
full-recovery {"level":"info","ts":"2023-06-22T07:43:24Z","msg":"Recovering existing backup","logging_pod":"traxprime-pg-cluster-r2-1-full-recovery","backup":{"metadata":{"name":"traxprime-scheduled-backups-1686873600","namespace":"traxprime","uid":"a3cff565-0748-4a77-b771-1faa5847e9c6","resourceVersion":"394389233","generation":1,"creationTimestamp":"2023-06-16T00:00:00Z","labels":{"cnpg.io/cluster":"traxprime-pg-cluster","cnpg.io/immediateBackup":"false","cnpg.io/scheduled-backup":"traxprime-scheduled-backups"},"ownerReferences":[{"apiVersion":"postgresql.cnpg.io/v1","kind":"ScheduledBackup","name":"traxprime-scheduled-backups","uid":"f33c0f3e-154f-493f-97bc-2e7e7f0fd03c","controller":true}],"managedFields":[{"manager":"manager","operation":"Update","apiVersion":"postgresql.cnpg.io/v1","time":"2023-06-16T00:00:00Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:labels":{".":{},"f:cnpg.io/cluster":{},"f:cnpg.io/immediateBackup":{},"f:cnpg.io/scheduled-backup":{}},"f:ownerReferences":{".":{},"k:{\"uid\":\"f33c0f3e-154f-493f-97bc-2e7e7f0fd03c\"}":{}}},"f:spec":{".":{},"f:cluster":{".":{},"f:name":{}}}}},{"manager":"manager","operation":"Update","apiVersion":"postgresql.cnpg.io/v1","time":"2023-06-16T00:04:09Z","fieldsType":"FieldsV1","fieldsV1":{"f:status":{".":{},"f:backupId":{},"f:backupName":{},"f:beginLSN":{},"f:beginWal":{},"f:destinationPath":{},"f:endLSN":{},"f:endWal":{},"f:endpointURL":{},"f:instanceID":{".":{},"f:ContainerID":{},"f:podName":{}},"f:phase":{},"f:s3Credentials":{".":{},"f:accessKeyId":{".":{},"f:key":{},"f:name":{}},"f:inheritFromIAMRole":{},"f:secretAccessKey":{".":{},"f:key":{},"f:name":{}}},"f:serverName":{},"f:startedAt":{},"f:stoppedAt":{}}},"subresource":"status"}]},"spec":{"cluster":{"name":"traxprime-pg-cluster"}},"status":{"s3Credentials":{"accessKeyId":{"name":"do-s3-creds","key":"ACCESS_KEY"},"secretAccessKey":{"name":"do-s3-creds","key":"SECRET_KEY"},"inheritFromIAMRole":false},"endpointURL":"https://fra1.digitaloceanspaces.com","destinationPath":"s3://cnpg-backup/kprod2/traxprime","serverName":"traxprime-pg-cluster","backupId":"20230616T000004","backupName":"backup-1686873602","phase":"completed","startedAt":"2023-06-16T00:00:04Z","stoppedAt":"2023-06-16T00:04:00Z","beginWal":"0000000D0000003000000035","endWal":"0000000D0000003000000036","beginLSN":"30/35000028","endLSN":"30/36000050","instanceID":{"podName":"traxprime-pg-cluster-4","ContainerID":"docker://aa98a507f402d11ddb9d4396bca2f9504149b38f220d70855cbb56ce5b3e2ea5"}}}}
full-recovery {"level":"info","ts":"2023-06-22T07:43:24Z","msg":"Starting barman-cloud-restore","logging_pod":"traxprime-pg-cluster-r2-1-full-recovery","options":["--endpoint-url","https://fra1.digitaloceanspaces.com","s3://cnpg-backup/kprod2/traxprime","traxprime-pg-cluster","20230616T000004","--cloud-provider","aws-s3","/var/lib/postgresql/data/pgdata"]}
full-recovery {"level":"info","ts":"2023-06-22T07:43:25Z","logger":"barman-cloud-restore","msg":"2023-06-22 07:43:25,980 [26] ERROR: Barman cloud restore exception: 'BackupInfo' object has no attribute 'backup_name'","pipe":"stderr","logging_pod":"traxprime-pg-cluster-r2-1-full-recovery"}
full-recovery {"level":"error","ts":"2023-06-22T07:43:26Z","msg":"Can't restore backup","logging_pod":"traxprime-pg-cluster-r2-1-full-recovery","error":"exit status 4","stacktrace":"github.com/cloudnative-pg/cloudnative-pg/pkg/management/log.(*logger).Error\n\tpkg/management/log/log.go:128\ngithub.com/cloudnative-pg/cloudnative-pg/pkg/management/log.Error\n\tpkg/management/log/log.go:166\ngithub.com/cloudnative-pg/cloudnative-pg/pkg/management/postgres.InitInfo.restoreDataDir\n\tpkg/management/postgres/restore.go:208\ngithub.com/cloudnative-pg/cloudnative-pg/pkg/management/postgres.InitInfo.Restore\n\tpkg/management/postgres/restore.go:107\ngithub.com/cloudnative-pg/cloudnative-pg/internal/cmd/manager/instance/restore.restoreSubCommand\n\tinternal/cmd/manager/instance/restore/cmd.go:87\ngithub.com/cloudnative-pg/cloudnative-pg/internal/cmd/manager/instance/restore.NewCmd.func2\n\tinternal/cmd/manager/instance/restore/cmd.go:60\ngithub.com/spf13/cobra.(*Command).execute\n\tpkg/mod/github.com/spf13/cobra@v1.7.0/command.go:940\ngithub.com/spf13/cobra.(*Command).ExecuteC\n\tpkg/mod/github.com/spf13/cobra@v1.7.0/command.go:1068\ngithub.com/spf13/cobra.(*Command).Execute\n\tpkg/mod/github.com/spf13/cobra@v1.7.0/command.go:992\nmain.main\n\tcmd/manager/main.go:64\nruntime.main\n\t/opt/hostedtoolcache/go/1.20.3/x64/src/runtime/proc.go:250"}
full-recovery {"level":"error","ts":"2023-06-22T07:43:26Z","msg":"Error while restoring a backup","logging_pod":"traxprime-pg-cluster-r2-1-full-recovery","error":"exit status 4","stacktrace":"github.com/cloudnative-pg/cloudnative-pg/pkg/management/log.(*logger).Error\n\tpkg/management/log/log.go:128\ngithub.com/cloudnative-pg/cloudnative-pg/pkg/management/log.Error\n\tpkg/management/log/log.go:166\ngithub.com/cloudnative-pg/cloudnative-pg/internal/cmd/manager/instance/restore.restoreSubCommand\n\tinternal/cmd/manager/instance/restore/cmd.go:89\ngithub.com/cloudnative-pg/cloudnative-pg/internal/cmd/manager/instance/restore.NewCmd.func2\n\tinternal/cmd/manager/instance/restore/cmd.go:60\ngithub.com/spf13/cobra.(*Command).execute\n\tpkg/mod/github.com/spf13/cobra@v1.7.0/command.go:940\ngithub.com/spf13/cobra.(*Command).ExecuteC\n\tpkg/mod/github.com/spf13/cobra@v1.7.0/command.go:1068\ngithub.com/spf13/cobra.(*Command).Execute\n\tpkg/mod/github.com/spf13/cobra@v1.7.0/command.go:992\nmain.main\n\tcmd/manager/main.go:64\nruntime.main\n\t/opt/hostedtoolcache/go/1.20.3/x64/src/runtime/proc.go:250"}
Stream closed EOF for traxprime/traxprime-pg-cluster-r2-1-full-recovery-7dgf4 (full-recovery)

Describe of the manual-backup resource:
Name:         manual-backup
Namespace:    traxprime
Labels:       <none>
Annotations:  <none>
API Version:  postgresql.cnpg.io/v1
Kind:         Backup
Metadata:
  Creation Timestamp:  2023-06-22T08:08:21Z
  Generation:          1
  Managed Fields:
    API Version:  postgresql.cnpg.io/v1
    Manager:      kubectl-client-side-apply
    Operation:    Update
    Time:         2023-06-22T08:08:21Z
    API Version:  postgresql.cnpg.io/v1
    Manager:         manager
    Operation:       Update
    Subresource:     status
    Time:            2023-06-22T08:09:04Z
  Resource Version:  400076649
  UID:               89269ab5-763a-49af-9ae7-010eaa6b781e
Spec:
  Cluster:
    Name:  traxprime-pg-cluster
Status:
  Backup Id:         20230622T080823
  Backup Name:       backup-1687421302
  Begin LSN:         31/B0000028
  Begin Wal:         0000000D00000031000000B0
  Destination Path:  s3://cnpg-backup/kprod2/traxprime
  End LSN:           31/B0000138
  End Wal:           0000000D00000031000000B0
  Endpoint URL:      https://fra1.digitaloceanspaces.com
  Instance ID:
    Container ID:  docker://aa98a507f402d11ddb9d4396bca2f9504149b38f220d70855cbb56ce5b3e2ea5
    Pod Name:      traxprime-pg-cluster-4
  Phase:           completed
  s3Credentials:
    Access Key Id:
      Key:                  ACCESS_KEY
      Name:                 do-s3-creds
    Inherit From IAM Role:  false
    Secret Access Key:
      Key:      SECRET_KEY
      Name:     do-s3-creds
  Server Name:  traxprime-pg-cluster
  Started At:   2023-06-22T08:08:23Z
  Stopped At:   2023-06-22T08:08:58Z
Events:
  Type    Reason     Age   From                   Message
  ----    ------     ----  ----                   -------
  Normal  Starting   22m   cloudnative-pg-backup  Starting backup for cluster traxprime-pg-cluster
  Normal  Starting   22m   instance-manager       Backup started
  Normal  Completed  21m   instance-manager       Backup completed

I'm usually using a ScheduledBackups resource, but I tried with a manual backup because I can't restore from any old backup resulted from the ScheduledBackups, and neither from a newer manual one.
Recovery from an object store
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
  name: traxprime-pg-cluster-test
spec:
  imageName: ghcr.io/cloudnative-pg/postgresql:15.1
  instances: 1
  storage:
    size: 5Gi
  bootstrap:
    recovery:
      source: traxprime-pg-cluster
  externalClusters:
    - name: traxprime-pg-cluster
      barmanObjectStore:
        serverName: traxprime-pg-cluster
        destinationPath: "s3://cnpg-backup/kprod2/traxprime/"
        endpointURL: https://fra1.digitaloceanspaces.com
        wal:
          compression: gzip
        s3Credentials:
          accessKeyId:
            name: do-s3-creds
            key: ACCESS_KEY
          secretAccessKey:
            name: do-s3-creds
            key: SECRET_KEY
  backup:
    retentionPolicy: "30d"
    barmanObjectStore:
      destinationPath: "s3://cnpg-backup/kprod2/traxprime/"
      endpointURL: https://fra1.digitaloceanspaces.com
      wal:
        compression: gzip
      s3Credentials:
        accessKeyId:
          name: do-s3-creds
          key: ACCESS_KEY
        secretAccessKey:
          name: do-s3-creds
          key: SECRET_KEY

The error logs are different this time:
bootstrap-controller {"level":"info","ts":"2023-06-22T07:51:25Z","msg":"Installing the manager executable","destination":"/controller/manager","version":"1.19.2","build":{"Version":"1.19.2","Commit":"c220cca5","Date":"2023-04-27"}}
bootstrap-controller {"level":"info","ts":"2023-06-22T07:51:25Z","msg":"Setting 0750 permissions"}
bootstrap-controller {"level":"info","ts":"2023-06-22T07:51:25Z","msg":"Bootstrap completed"}
Stream closed EOF for traxprime/traxprime-pg-cluster-test-1-full-recovery-szd5n (bootstrap-controller)
full-recovery {"level":"info","ts":"2023-06-22T07:51:26Z","msg":"barman-cloud-check-wal-archive checking the first wal","logging_pod":"traxprime-pg-cluster-test-1-full-recovery"}
full-recovery {"level":"info","ts":"2023-06-22T07:51:27Z","msg":"Recovering from external cluster","logging_pod":"traxprime-pg-cluster-test-1-full-recovery","sourceName":"traxprime-pg-cluster"}
full-recovery {"level":"error","ts":"2023-06-22T07:51:28Z","msg":"Error while restoring a backup","logging_pod":"traxprime-pg-cluster-test-1-full-recovery","error":"no target backup found","stacktrace":"github.com/cloudnative-pg/cloudnative-pg/pkg/management/log.(*logger).Error\n\tpkg/management/log/log.go:128\ngithub.com/cloudnative-pg/cloudnative-pg/pkg/management/log.Error\n\tpkg/management/log/log.go:166\ngithub.com/cloudnative-pg/cloudnative-pg/internal/cmd/manager/instance/restore.restoreSubCommand\n\tinternal/cmd/manager/instance/restore/cmd.go:89\ngithub.com/cloudnative-pg/cloudnative-pg/internal/cmd/manager/instance/restore.NewCmd.func2\n\tinternal/cmd/manager/instance/restore/cmd.go:60\ngithub.com/spf13/cobra.(*Command).execute\n\tpkg/mod/github.com/spf13/cobra@v1.7.0/command.go:940\ngithub.com/spf13/cobra.(*Command).ExecuteC\n\tpkg/mod/github.com/spf13/cobra@v1.7.0/command.go:1068\ngithub.com/spf13/cobra.(*Command).Execute\n\tpkg/mod/github.com/spf13/cobra@v1.7.0/command.go:992\nmain.main\n\tcmd/manager/main.go:64\nruntime.main\n\t/opt/hostedtoolcache/go/1.20.3/x64/src/runtime/proc.go:250"}
Stream closed EOF for traxprime/traxprime-pg-cluster-test-1-full-recovery-szd5n (full-recovery)

And this is the backup.info from my s3 bucket:
backup_label='START WAL LOCATION: 31/B0000028 (file 0000000D00000031000000B0)\nCHECKPOINT LOCATION: 31/B0000060\nBACKUP METHOD: streamed\nBACKUP FROM: primary\nSTART TIME: 2023-06-22 08:08:24 UTC\nLABEL: Barman backup cloud 20230622T080823\nSTART TIMELINE: 13\n'
backup_name=backup-1687421302
begin_offset=40
begin_time=2023-06-22 08:08:23.649045+00:00
begin_wal=0000000D00000031000000B0
begin_xlog=31/B0000028
compression=None
config_file=/var/lib/postgresql/data/pgdata/postgresql.conf
copy_stats={'total_time': 38.809808, 'number_of_workers': 2, 'analysis_time': 0, 'analysis_time_per_item': {'data': 0}, 'copy_time_per_item': {'data': 34.970213}, 'serialized_copy_time_per_item': {'data': 22.090707}, 'copy_time': 34.970213, 'serialized_copy_time': 22.090707}
deduplicated_size=None
end_offset=312
end_time=2023-06-22 08:08:58.633965+00:00
end_wal=0000000D00000031000000B0
end_xlog=31/B0000138
error=None
hba_file=/var/lib/postgresql/data/pgdata/pg_hba.conf
ident_file=/var/lib/postgresql/data/pgdata/pg_ident.conf
included_files=['/var/lib/postgresql/data/pgdata/custom.conf', '/var/lib/postgresql/data/pgdata/postgresql.auto.conf']
mode=None
pgdata=/var/lib/postgresql/data/pgdata
server_name=cloud
size=None
status=DONE
systemid=7169106924563144732
tablespaces=None
timeline=13
version=150001
xlog_segment_size=16777216

What could be the problem for this particular cnpg cluster? For the other clusters it works without any problems.
Do you have some instructions on how to manually restore if i have access to the backup.info and data.tar files? I really need this restore
CNPG version: 1.19.2
K8s version: 1.23.15

HI @cod-r
Hope you're doing well, this looks like the Barman version inside expecting the backup_name in the object store, and the backup is not there, if you have access to the fields probably you can add them manually, did you tried that?
Also, what you can do is create a cluster hibernate, extract a copy of the data.tar inside, and you will have a backup restored that you can de-hibernate, haven't tried this but it's something you can try indeed!
Regards!

The backup is there and the path looks correct:

From the recovery logs everything looks good, but it still fails:
"endpointURL":"https://fra1.digitaloceanspaces.com","destinationPath":"s3://cnpg-backup/kprod2/traxprime","serverName":"traxprime-pg-cluster","backupId":"20230622T080823","backupName":"backup-1687421302"

The printed logs look in sync with what I have in the backup.info file:
backup_label='START WAL LOCATION: 31/B0000028 (file 0000000D00000031000000B0)\nCHECKPOINT LOCATION: 31/B0000060\nBACKUP METHOD: streamed\nBACKUP FROM: primary\nSTART TIME: 2023-06-22 08:08:24 UTC\nLABEL: Barman backup cloud 20230622T080823\nSTART TIMELINE: 13\n'
backup_name=backup-1687421302

Again here are the full logs from a new recovery test:
full-recovery {"level":"info","ts":"2023-06-27T14:26:25Z","msg":"barman-cloud-check-wal-archive checking the first wal","logging_pod":"traxprime-pg-cluster-r2-1-full-recovery"}
full-recovery {"level":"info","ts":"2023-06-27T14:26:25Z","msg":"Recovering existing backup","logging_pod":"traxprime-pg-cluster-r2-1-full-recovery","backup":{"metadata":{"name":"manual-backup","namespace":"traxprime","uid":"89269ab5-763a-49af-9ae7-010eaa6b781e","resourceVersion":"400076649","generation":1,"creationTimestamp":"2023-06-22T08:08:21Z","annotations":{"kubectl.kubernetes.io/last-applied-configuration":"{\"apiVersion\":\"postgresql.cnpg.io/v1\",\"kind\":\"Backup\",\"metadata\":{\"annotations\":{},\"name\":\"manual-backup\",\"namespace\":\"traxprime\"},\"spec\":{\"cluster\":{\"name\":\"traxprime-pg-cluster\"}}}\n"},"managedFields":[{"manager":"kubectl-client-side-apply","operation":"Update","apiVersion":"postgresql.cnpg.io/v1","time":"2023-06-22T08:08:21Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{".":{},"f:kubectl.kubernetes.io/last-applied-configuration":{}}},"f:spec":{".":{},"f:cluster":{".":{},"f:name":{}}}}},{"manager":"manager","operation":"Update","apiVersion":"postgresql.cnpg.io/v1","time":"2023-06-22T08:09:04Z","fieldsType":"FieldsV1","fieldsV1":{"f:status":{".":{},"f:backupId":{},"f:backupName":{},"f:beginLSN":{},"f:beginWal":{},"f:destinationPath":{},"f:endLSN":{},"f:endWal":{},"f:endpointURL":{},"f:instanceID":{".":{},"f:ContainerID":{},"f:podName":{}},"f:phase":{},"f:s3Credentials":{".":{},"f:accessKeyId":{".":{},"f:key":{},"f:name":{}},"f:inheritFromIAMRole":{},"f:secretAccessKey":{".":{},"f:key":{},"f:name":{}}},"f:serverName":{},"f:startedAt":{},"f:stoppedAt":{}}},"subresource":"status"}]},"spec":{"cluster":{"name":"traxprime-pg-cluster"}},"status":{"s3Credentials":{"accessKeyId":{"name":"do-s3-creds","key":"ACCESS_KEY"},"secretAccessKey":{"name":"do-s3-creds","key":"SECRET_KEY"},"inheritFromIAMRole":false},"endpointURL":"https://fra1.digitaloceanspaces.com","destinationPath":"s3://cnpg-backup/kprod2/traxprime","serverName":"traxprime-pg-cluster","backupId":"20230622T080823","backupName":"backup-1687421302","phase":"completed","startedAt":"2023-06-22T08:08:23Z","stoppedAt":"2023-06-22T08:08:58Z","beginWal":"0000000D00000031000000B0","endWal":"0000000D00000031000000B0","beginLSN":"31/B0000028","endLSN":"31/B0000138","instanceID":{"podName":"traxprime-pg-cluster-4","ContainerID":"docker://aa98a507f402d11ddb9d4396bca2f9504149b38f220d70855cbb56ce5b3e2ea5"}}}}
full-recovery {"level":"info","ts":"2023-06-27T14:26:25Z","msg":"Starting barman-cloud-restore","logging_pod":"traxprime-pg-cluster-r2-1-full-recovery","options":["--endpoint-url","https://fra1.digitaloceanspaces.com","s3://cnpg-backup/kprod2/traxprime","traxprime-pg-cluster","20230622T080823","--cloud-provider","aws-s3","/var/lib/postgresql/data/pgdata"]}
full-recovery {"level":"info","ts":"2023-06-27T14:26:26Z","logger":"barman-cloud-restore","msg":"2023-06-27 14:26:26,809 [26] ERROR: Barman cloud restore exception: 'BackupInfo' object has no attribute 'backup_name'","pipe":"stderr","logging_pod":"traxprime-pg-cluster-r2-1-full-recovery"}
full-recovery {"level":"error","ts":"2023-06-27T14:26:26Z","msg":"Can't restore backup","logging_pod":"traxprime-pg-cluster-r2-1-full-recovery","error":"exit status 4","stacktrace":"github.com/cloudnative-pg/cloudnative-pg/pkg/management/log.(*logger).Error\n\tpkg/management/log/log.go:128\ngithub.com/cloudnative-pg/cloudnative-pg/pkg/management/log.Error\n\tpkg/management/log/log.go:166\ngithub.com/cloudnative-pg/cloudnative-pg/pkg/management/postgres.InitInfo.restoreDataDir\n\tpkg/management/postgres/restore.go:208\ngithub.com/cloudnative-pg/cloudnative-pg/pkg/management/postgres.InitInfo.Restore\n\tpkg/management/postgres/restore.go:107\ngithub.com/cloudnative-pg/cloudnative-pg/internal/cmd/manager/instance/restore.restoreSubCommand\n\tinternal/cmd/manager/instance/restore/cmd.go:87\ngithub.com/cloudnative-pg/cloudnative-pg/internal/cmd/manager/instance/restore.NewCmd.func2\n\tinternal/cmd/manager/instance/restore/cmd.go:60\ngithub.com/spf13/cobra.(*Command).execute\n\tpkg/mod/github.com/spf13/cobra@v1.7.0/command.go:940\ngithub.com/spf13/cobra.(*Command).ExecuteC\n\tpkg/mod/github.com/spf13/cobra@v1.7.0/command.go:1068\ngithub.com/spf13/cobra.(*Command).Execute\n\tpkg/mod/github.com/spf13/cobra@v1.7.0/command.go:992\nmain.main\n\tcmd/manager/main.go:64\nruntime.main\n\t/opt/hostedtoolcache/go/1.20.3/x64/src/runtime/proc.go:250"}
full-recovery {"level":"error","ts":"2023-06-27T14:26:26Z","msg":"Error while restoring a backup","logging_pod":"traxprime-pg-cluster-r2-1-full-recovery","error":"exit status 4","stacktrace":"github.com/cloudnative-pg/cloudnative-pg/pkg/management/log.(*logger).Error\n\tpkg/management/log/log.go:128\ngithub.com/cloudnative-pg/cloudnative-pg/pkg/management/log.Error\n\tpkg/management/log/log.go:166\ngithub.com/cloudnative-pg/cloudnative-pg/internal/cmd/manager/instance/restore.restoreSubCommand\n\tinternal/cmd/manager/instance/restore/cmd.go:89\ngithub.com/cloudnative-pg/cloudnative-pg/internal/cmd/manager/instance/restore.NewCmd.func2\n\tinternal/cmd/manager/instance/restore/cmd.go:60\ngithub.com/spf13/cobra.(*Command).execute\n\tpkg/mod/github.com/spf13/cobra@v1.7.0/command.go:940\ngithub.com/spf13/cobra.(*Command).ExecuteC\n\tpkg/mod/github.com/spf13/cobra@v1.7.0/command.go:1068\ngithub.com/spf13/cobra.(*Command).Execute\n\tpkg/mod/github.com/spf13/cobra@v1.7.0/command.go:992\nmain.main\n\tcmd/manager/main.go:64\nruntime.main\n\t/opt/hostedtoolcache/go/1.20.3/x64/src/runtime/proc.go:250"}
Stream closed EOF for traxprime/traxprime-pg-cluster-r2-1-full-recovery-w472r (full-recovery)
bootstrap-controller {"level":"info","ts":"2023-06-27T14:26:23Z","msg":"Installing the manager executable","destination":"/controller/manager","version":"1.19.2","build":{"Version":"1.19.2","Commit":"c220cca5","Date":"2023-04-27"}}
bootstrap-controller {"level":"info","ts":"2023-06-27T14:26:23Z","msg":"Setting 0750 permissions"}
bootstrap-controller {"level":"info","ts":"2023-06-27T14:26:23Z","msg":"Bootstrap completed"}
Stream closed EOF for traxprime/traxprime-pg-cluster-r2-1-full-recovery-w472r (bootstrap-controller)

I also have backups for a dev environment and there are no problems with the restore there.
Here is a screenshot for dev backups, notice that I have kdev2 instead of kprod2 in the path:

I have a couple of clusters and for most of them the restore works without any problems, I can replicate the problem only for 2 clusters now consistently.
Is there any way to increase the verbosity of the logs for barman? Maybe it's trying to access the wrong path in the s3 bucket.

Found the problem after many tries:
My original config for the cluster had the following resource requests which I omitted from the first post:
  resources:
    requests:
      memory: 2Gi
      cpu: 500m
    limits:
      memory: 2Gi

And I was trying to restore the cluster with the following:
  resources:
    requests:
      memory: 512Mi
      cpu: 500m
    limits:
      memory: 512Mi

So if the resources are not the same the recovery will fail with this error:
Barman cloud restore exception: 'BackupInfo' object has no attribute 'backup_name'


[Fix] Exclude Companion Object Values

Description
This excludes Companion Object values from auto generation and closes #79
Review checklist

[x] PR is split into meaningful commits for the ease of reviewing
[x] Description contains clear instructions on how to test the feature (where applicable)
[x] Tests have been written
[x] Appropriate labels have been applied

Codecov Report

Merging #79 (545b291) into main (9221136) will not change coverage.
The diff coverage is 100.0%.

@@           Coverage Diff           @@
##              main     #79   +/-   ##
=======================================
  Coverage     92.7%   92.7%
- Complexity      55      56    +1
=======================================
  Files           16      16
  Lines          110     110
  Branches        19      19
=======================================
  Hits           102     102
  Misses           4       4
  Partials         4       4


fix #8

fix https://github.com/alexbers/mtprotoproxy/issues/8

This problem should be already fixed in master branch.


IRI upper case hex nr percent encoding

Currently CARML percent encodes IRIs with lower case hex numbers. Although lower case and upper case hex percent encodings are equivalent, they should be upper cased as per https://www.ietf.org/rfc/rfc3987.txt.
To provide backwards compatibility, a builder option should be added to produce lower case hex percent encodings.

Will fix encoding issues for

RMLTC0010b
RMLTC0010c
RMLTC0013a


Ease implementation and readability plus example changes

Couple noncontroversial changes to the workerpool pattern.

I found it easier to grok the interfaces by including them all together in a single file.
Move Interface interface into examples since it is an implementation detail.
Move Config close to it's consumer within the workerpool.go file.
Make sure all interfaces have minimal documentation.

Also, added zerolog with microsecond precision to example code.

Finally, I removed remainingWork and turned the example into a long running process. This exercises the behavior I intend to get out of implementing this pattern.


start and end id in Constituents parse

From @elahi123 on September 18, 2018 9:11
Start and End id appear when LIF is generated by LAPPS Stanford constituent parser tool but not when TCF to LIF converter. This is probably because the parser is a region in WSEV.
a) LIF generated by LAPPS Stanford dependency parse tool (latest version):
{
"id": "ps_0",
"start": 0,
"end": 23,
"@type": "http://vocab.lappsgrid.org/PhraseStructure",
"features": {
"sentence": "Karen flew to New York.",
"penntree": "(ROOT [40.118]\n  (S [39.965]\n    (NP [12.050] (NNP Karen))\n    (VP [26.780] (VBD flew)\n      (PP [14.690] (TO to)\n        (NP [12.219] (NNP New) (NNP York))))\n    (. .)))\n",
"constituents": ["c_0_0", "c_0_1", "c_0_2", "c_0_3", "c_0_4", "c_0_5", "c_0_6", "c_0_7", "c_0_8", "c_0_9", "c_0_10", "c_0_11"]
}
}
b) LIF generated by TCF to LIF converter:
{
"id": "ps_0",
"@type": "http://vocab.lappsgrid.org/PhraseStructure",
"features": {
"constituents": ["c_0_0", "c_0_1", "c_0_2", "c_0_3", "c_0_4", "c_0_5", "c_0_6", "c_0_7", "c_0_8", "c_0_9", "c_0_10", "c_0_11", "t_0", "t_1", "t_2", "t_3", "t_4", "t_5"]
}
}
From LIF to TCF conversion, it is necessary to have sentence or region.
Copied from original issue: lapps-clarin/converter-issues#10

Fixed in b6cb1f23ae


Only display the debugbar for administrators

Sometimes I need to enable the debug mode in production to track some errors, but I dont want my clients to see the debug bar in the frontend.
Wouldn't it be a good idea to only show it for logged in backend users?

I agree, I'll try to find time to add that this week. Or if you want to send the PR, that'd be cool too ;)


Update to V2.11

Updated to latest version available
Rerendered the feedstock
Fixed the source repo
Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

@conda-forge-admin, please rerender

Hi @cu8blank @maresb
Can you review and merge please. Thanks & Regards.

It looks like they are falling a bit behind; we may need to ask core to add someone else as a feedstock maintainer. Would you be interested? (I'm a bad pick since I'm not proficient in C++.)

Hi @maresb, thank you. I will raise a request to conda-forge/admin be added as a maintainer if @cu8blank can't review and merge. I am not a C++ developer either, but I could do the basics for packaging / reviews, merges and help as much as possible.

@ocefpaf, would you be able to approve #49 for @rxm7706?


Block processing time estimates at scale

Issue
In the last eth2.0 implementers call, we decided it would be worthwhile to run some timing analysis on processing blocks with real-world amounts of attestations.
It would be great to get results from at least one other client. I know not everyone has a working BLS aggregate implementation yet, but anyone that does should give this a try and report results.
Proposed Implementation
Assuming 10M eth deposited puts us at ~300k validators. With 64 slots, that is ~5000 validators per slot. With 1000 shards divided across the 64 slots, that is ~16 shards per slot.
If all of the validators coordinate and vote on the same crosslink and their attestations are aggregated and include in the next slot, then there will be 16 attestations of ~300 validators each per block. This is a good place to start.
We can then make this estimate a worse case by assuming the validators split their votes across 2, 3, 4, or even 5 different crosslink candidates. If all committees split their votes across 2 candidates, then there would be 32 attestations per block each with ~150 validators each.
EDIT
My estimates on number of committees and size of committees were a bit off in practice. When using BenchmarkParams { total_validators: 312500, cycle_length: 64, shard_count: 1024, shards_per_slot: 16, validators_per_shard: 305, min_committee_size: 128 }, each slot has approximately 20 committees of size 244 (rather than 16 of ~300). This shouldn't drastically change the output, but is a better target because it reflects the actual shuffling alg
(cc: @paulhauner)
EDIT2
My original assumption was correct and the spec was incorrect! Go with the original estimates

Here are some timings from Lighthouse (I'll add @djrtwo's first scenario once I complete it):
Computer: Lenovo X1 Carbon 5th Gen with an Intel i5-7300U @ 2.60GHz running Arch Linux with each core idling around 2-8% before tests.

num_attestations
validators_per_attestation
total_validators
total_deposits
block_process_seconds

2
244
31250
1000000
N/A

16
305
312500
10000000
0.066773104

16
3051
3125000
100000000
0.249065226

Note: this is using an in-memory database. @djrtwo were you using an on-disk DB at all?

No on-disk DB for ours

Curious about if you see a closer 10x different when you remove the concurrency @paulhauner

Without concurrency:

num_attestations
validators_per_attestation
total_validators
total_deposits
block_process_seconds

2
244
31250
1000000
N/A

16
305
312500
10000000
0.125273217

16
3051
3125000
100000000
0.450318683

That ~4x difference still holds.
In these benches I'm starting with a SSZ serialized block and then de-serializing it (and all the AttestationRecords) inside this benchmark. Are you doing the same thing @djrtwo? If not, maybe we're seeing a constant SSZ de-serialization overhead in lighthouse that we're not seeing in beacon_chain?

That's it. I'm not clocking the deserialization.
Both are interesting numbers. I was looking specifically for block validity and primarily at the signatures because this was our estimated bottleneck when designing the protocol.
Let's see what it is without the deserialize.

Looks great! Would performance increase when a vote wouldn't include a source as described here: https://ethresear.ch/t/should-we-simplify-casper-votes-to-remove-the-source-param/3549 ?


warning when searching without authentication and/or not getting results?

A philosophical question: Can and should sbtools usefully steer users to more successful querying by noticing when authentication is missing and/or when 0 search results are returned, then providing a warning message suggesting authentication?
(I raised this question as part of an earlier issue (#132) - moving it to its own issue here to make sure it gets some discussion.)
Example: Running this search without authentication returns 0 items with no errors or warnings.
> library(sbtools)
> run_items <- query_item_identifier(scheme = 'mda_streams', type = 'metab_run', limit = 10000)
> dim(run_items)
[1] 0 0

Whereas running the search after authentication returns 14 items (provided your account has access to these items).
> authenticate_sb()
> run_items <- query_item_identifier(scheme = 'mda_streams', type = 'metab_run', limit = 10000)
> dim(run_items)
[1] 14  2

Also, if you wait about an hour or more, your authentication silently expires. Within the same session as above, then, it's possible to go back to 0 items returned without warning:
> Sys.time() # authenticated right now, but wait a while
[1] "2016-01-18 12:39:14 CST"
> Sys.time() # OK, been waiting a while
[1] "2016-01-18 13:53:40 CST"
> run_items <- query_item_identifier(scheme = 'mda_streams', type = 'metab_run', limit = 10000)
> dim(run_items)
[1] 0 0

The current behavior is OK - many queries can and should be run without authentication. But suppose you're using sbtools and were recently authenticated in your R session. Then you run some query and are suddenly getting back fewer / no results - do you (1) brilliantly realize that your session has timed out and go fix that first, (2) not notice the change because this query was buried in a long script and returned no errors or warnings, or (3) notice and panic because SB seems to be malfunctioning and has precedent for malfunctioning at inconvenient times, and you really needed to get that report out today...? I argue that not every user will go straight to the correct response every time.
When would response 1 be the correct one, and is there any way for us to know from the sbtools side? We'll never know for sure, but it seems most likely when (a) the user is not authenticated, (b) the session has expired, and/or (c) the query has returned 0 results. If we returned a warning message under these conditions, we might help some users through some frustrating and hard-to-replicate problems.

I've tossed up a simple change that would in general address this. Pretty much the point you're making is that if the session expires for any reason, the user may not know and have unpredictable or bizarre results. To deal with this in a general sense, if you're relying on the persisted session (via current_session), and that session is expired, then a warning would be helpful. I've added this warning.

I really like the solution you've put up, @lawinslow. There's still the possibility that a user will search without ever authenticating, but that's much less insidious and I'm now content to let that user fail without help.

and from an sbtools perspective, we can't help, beyond spamming everyone with cautionary messages of "you are not authenticated and may be getting erroneous results"


[Bug]: Cannot share context api

Version
System:
    OS: Windows 10 10.0.19045
    CPU: (16) x64 11th Gen Intel(R) Core(TM) i7-11850H @ 2.50GHz
    Memory: 4.06 GB / 31.67 GB
  Browsers:
    Edge: Chromium (127.0.2651.86)
    Internet Explorer: 11.0.19041.4355

Details
I created a context like so
import { createContext, useState } from 'react';

interface ThemeContextType {
  theme: 'light' | 'dark';
  toggleTheme: () => void;
}

export const ThemeContext = createContext<ThemeContextType>({} as ThemeContextType);

export const ThemeProvider = ({
  children,
}: Readonly<{ children: React.ReactNode }>) => {
  const [theme, setTheme] = useState<'light' | 'dark'>('light');

  const toggleTheme = () => {
    setTheme((prevTheme) => (prevTheme === 'light' ? 'dark' : 'light'));
  };

  return (
    <ThemeContext.Provider value={{ theme, toggleTheme }}>
      {children}
    </ThemeContext.Provider>
  );
};

and a consumer:
import { useContext } from 'react';
import { ThemeContext } from './ThemeContext';

export default function ToggleTheme() {
  const { theme, toggleTheme } = useContext(ThemeContext);
  const handleSwitch = () => {
    toggleTheme();
  };

  return (

      Current theme: {theme}
      <button onClick={handleSwitch}>Toggle</button>

  );
}

I export both using the bundle option.
import { pluginReact } from '@rsbuild/plugin-react';
import { defineConfig } from '@rslib/core';

export default defineConfig({
  source: {
    entry: {
      './context': './src/ThemeContext.tsx',
      './ToogleTheme': './src/ToogleTheme.tsx'
    },
  },
  lib: [
    {
      bundle: true,
      dts: true,
      format: 'esm',
      output: { externals: { react: 'react', 'react-dom': 'ReactDOM' } },
    },
  ],
  output: {
    target: 'web',
  },
  plugins: [pluginReact()],
});

In another app, I inject it in the root
root.render(
    <React.StrictMode>
      <ThemeProvider>
        <App />
      </ThemeProvider>
    </React.StrictMode>,
  );

and inside App, I import ToggleTheme
const App = () => {
  return (

Rsbuild with React

Start building amazing things with Rsbuild.

      <ToogleTheme />

  );
};

But the context is empty, the state is undefined.
This used to work fine with vite and rollup. Is there anything else I should do?
I have a working example: https://codesandbox.io/p/devbox/sx9t7q
Reproduce link
https://codesandbox.io/p/devbox/sx9t7q
Reproduce Steps

run pnpm i to install all dependencies
run pnpm build --filter=@acme/ui to build only the ui package.
go to the app folder cd apps/app
run pnpm dev

running pnpm dev --filter=@acme/app at the root gave me errors, I think it has something to do with the sandbox.

The following modifications can help you correctly build the npm package:

Modify the entry and use the bundleless mode:

export default defineConfig({
  source: {
    entry: {
      index: ['./src/**']
    },
  },

Adjust the exports mapping:

"./context": {
  "types": "./dist/ThemeContext.d.ts",
  "import": "./dist/ThemeContext.js"
},

When using the bundle mode, Rslib currently does not support ESM format for split chunks, and split chunks are disabled by default. This can cause the context to fail to access the same instance, leading to the error mentioned in the issue. Generally, when building npm packages, the bundleless mode is used, which allows the build tool to perform tree shaking more effectively and ensures the singleton pattern.


Global menu (port vala-panel-appmenu as Polybar module)

I have moved from KDE (includes plugin for global menu) to BSPWM with Polybar and, to maintain that functionality, I had to install vala-panel as a second panel to put vala-panel-appmenu in it.
Vala-panel-appmenu is available for Vala Panel (fork of LXPanel), XFCE4-panel, Mate-panel and Budgie-panel.
Is it possible implement the vala-panel-appmenu code as a Polybar module?

I don't think this will be implemented someday. It's really a big feature and it would take a lot of time and since the Polybar team isn't so big, I think the Polybar team can't afford to add and maintain this in Polybar. Moreover Polybar is more a status bar than a taskbar.
If you really want to have a menu in Polybar, I advise you to find a menu that can be launched in shell and bind it in Polybar using the script or menu module.
P.S.: This is my personal opinion, not the opinion of the whole team.

Please don't ask the same question here and on reddit.
This cannot be done in polybar. That's also not the direction we want polybar to go in. Polybar should be about displaying information in a simple bar, no extra popups and so on. You could write a script module that does something similar but without the popups, so whenever you click on a menu item, the submenu gets displayed on the bar, this is far from trivial though.
Also, I have never seen someone use a WM without a desktop environment and also use such an app menu. Most functionality is reachable with key bindings and applications also display those menu items in their own window

Please don't ask the same question here and on reddit.
This cannot be done in polybar. That's also not the direction we want polybar to go in. Polybar should be about displaying information in a simple bar, no extra popups and so on. You could write a script module that does something similar but without the popups, so whenever you click on a menu item, the submenu gets displayed on the bar, this is far from trivial though.
Also, I have never seen someone use a WM without a desktop environment and also use such an app menu. Most functionality is reachable with key bindings and applications also display those menu items in their own window

different person

Oh...
Sorry :man_facepalming:
The posts were made around the same time, so I assumed they were made by the same person :smile:

I must admit this would be an amazing addition to tiling WMs. Since the windows are all opened, closed, resized, and moved around with key-bindings, imagine if we could do away with the ugly app menu at the top of each window and have a single global menu at the top of the screen.
Would it even be possible to build a polybar module that could do this?

any updates on this?

@Ali-Aref I don't think it'll ever happen in Polybar 😞 But this guy did it by using the XFCE Panel with i3 in place of Polybar


schema/config-linux: add pattern limit for deviceCgroup

Signed-off-by: Ma Shimiao<EMAIL_ADDRESS>

f621c2f3 looks good to me.

We have pointers to the kernel documentation for device cgroups which is good enough. I am closing this in line with the other PRs that we closed that try to specify exact kernel limits on values.

I am closing this in line with the other PRs that we closed that try to specify exact kernel limits on values.

This position is now backed by #780 and related recent changes.  But I don't think “we're punting this to the kernel” is a valid position as long as the spec continues to list the valid values which this PR was validating.  Can we revisit this PR as one of the special cases where we are inlining explicit values?  Or should I file a pull request removing the current valid-value listing for this parameter?

@opencontainers/runtime-spec-maintainers  as @wking  said, should we reopen this PR?

Or should I file a pull request removing the current valid-value listing for this parameter?

I've gone this way with #841.

Or should I file a pull request removing the current valid-value listing for this parameter?

I've gone this way with #841.

With #841 rejected, I'm back to thinking we should re-open this pull request.  Although I'm fine waiting to see what @crosbymichael covers in his PR to remove the device defaults.

As it's not introducing new kernel limitations but reflection of spec, I think we can reconsider it.

@wking Regarding kernel limitations in OCI, I think it's not a simple "we'll have them" or "we don't have them" option, we should see these limitations in different ways. For limitations such as for some magic numbers which are given specific meanings by kernel and look like they're possible to be changed in the future, we should not introduce such limitations in OCI, and for other limitations which seem to be more common sense and stable, like linux or unix level limitation, I think we can have them.

@Mashimiao As the second pattern is not actually accurate, is it really helpful for validation tools? In my opinion if it's not accurate, it'll be a wrong reflection and could cause confusion.

The second pattern is not exceedingly needed. As gojsonschema don't support accurate validation, we can handle it  in validation tools.

If moved it, the PR has nothing different with #918

@Mashimiao It has the original discussion :)

...it'll be a wrong reflection and could cause confusion.

If there's any chance of this, we need to reiterate that the JSON Schema are going to be too permissive.  That's unavoidable with JSON Schema.  Once we establish that, I think a dozen or so characters to get pretty-close validation are worth adding here.

@opencontainers/runtime-spec-maintainers
I removed pattern limit for access, now just added pattern for device type.
Can we merge this now?

LGTM

house keeping: with us currently considering the reconciliation of cgroup v2, I'm not sure this is something we want to bring in at this point


incorrect pipe insertion after multi-clause function

A pipe will be inserted when enter is pressed in these scenarios ($ is caret, as usual):
let f =
 (fun | Some(thing) => thing
      | None => "")$

let f =
 {fun | Some(thing) => thing
      | None => ""}$

let f =
  fun | Some(thing) => thing
      | None => "";$

This can be fixed adding)}; to this onEnterRule regex (highlighting something in a regex is a real pain I've found, but look for the --> )}; <--)
/^(\t|[ ]{2})*[\|]([^!$%&*+-/<=>?@^~;})])*(?:$|=>.*[^\s\{ --> )}; <-- ]\s*$)/m

Unfortunately I don't quite understand the non-capturing group, so I'm unsure if this could have bad interactions in other scenarios. Please advise :)

Thanks for taking a look at this. I'll try to get this fixed in the next release but I'll need to do a little debugging first to re-familiarize myself.
The long term plan is to switch to format-on-edit functionality in the language server rather than use these regex based client rules. There are a few other corner cases that have some issues still too IIRC.


[docs] Add changelog for v1.8.8

Highlighted changes from testcafe and testcafe-hammerhead repositories.

The reported broken links work when opening manually.


Division by zero

Dividing by zero 👍
https://owapi.net/api/v3/u/iCrawl-21881/blob
https://owapi.net/api/v3/u/iCrawl-21881/stats
I think on all endpoints lol.
If you need some more info, I hosted it myself to get a sweet traceback
2016-12-21 20:12:03,329 - [INFO] OWAPI -> Cache hit for `_real_get_body('https://playoverwatch.com/en-us/career/pc/us/iCrawl-21881',)`
2016-12-21 20:12:03,329 - [INFO] OWAPI -> Cache hit for `_real_get_body('https://playoverwatch.com/en-us/career/pc/kr/iCrawl-21881',)`
2016-12-21 20:12:03,334 - [INFO] OWAPI -> Cache hit for `_real_get_body('https://playoverwatch.com/en-us/career/pc/eu/iCrawl-21881',)`
2016-12-21 20:12:03,396 - [ERROR] OWAPI -> Unhandled exception - Blizzard format probably changed!
Traceback (most recent call last):
  File "/home/crawl/OWAPI/venv/lib/python3.5/site-packages/kyoukai/route.py", line 87, in invoke_function
    result = await result
  File "/home/crawl/OWAPI/owapi/v3/v3_util.py", line 118, in _rl_inner2
    return await func(ctx, *args, **kwargs)
  File "/home/crawl/OWAPI/owapi/v3/__init__.py", line 62, in get_blob
    d["stats"]["competitive"] = parsing.bl_parse_stats(result, mode="competitive")
  File "/home/crawl/OWAPI/owapi/v3/parsing.py", line 141, in bl_parse_stats
    wr = floor((wins / (games - ties)) * 100)
ZeroDivisionError: division by zero

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

Traceback (most recent call last):
  File "/home/crawl/OWAPI/venv/lib/python3.5/site-packages/kyoukai/app.py", line 251, in process_request
    result = await matched.invoke(ctx, params)
  File "/home/crawl/OWAPI/venv/lib/python3.5/site-packages/kyoukai/route.py", line 170, in invoke
    return await self.invoke_function(ctx, pre_hooks, post_hooks, **params)
  File "/home/crawl/OWAPI/venv/lib/python3.5/site-packages/kyoukai/route.py", line 95, in invoke_function
    raise InternalServerError() from e
werkzeug.exceptions.InternalServerError: 500: Internal Server Error

Fixed and pushed to prod, thanks!

Are you sure? 💯
Git pulled, tested it same error, if you pushed it to production on your live site already its also throwing the error still.

Note to self: Test changes before pushing


[d2l-floating-buttons]

Going to close this PR as it's fallen out of date and @margaree has been working on a sticky positioned version. Thanks @cjmorrison-d2l for the contribution, we learned a lot from this!


Failed to add UI from resource

Describe the bug
Spot doesnt launch after installation
To Reproduce
Steps to reproduce the behavior:

Install spot-client from aur
run spot in the terminal

Expected behavior
Spot client to launch
General information:

Distribution: Arch Linux x86_64 5.14.7-arch1-1
Installation method [e. g. built from source, installed from Flathub...]: AUR
Version [e.g. 0.1.0]: 0.2.0-1
Device used [e. g. desktop, phone...]: desktop

Stack trace:
If applicable, run the application from a terminal and paste relevant log output.
(process:322239): Adwaita-WARNING **: 00:20:11.102: Using GtkSettings:gtk-application-prefer-dark-theme with libadwaita is unsupported. Please use AdwStyleManager:color-scheme instead.

(process:322239): Gtk-ERROR **: 00:20:11.111: failed to add UI from resource /dev/alextren/Spot/window.ui: .:98:48 Invalid property: AdwLeaflet.interpolate-size
fish: Job 1, 'spot' terminated by signal SIGTRAP (Trace or breakpoint trap)

Indeed, I could reproduce the issue, the latest version of libadwaita broke a few things it seems :/ I'll push a fix ASAP! Thank you for the report.

Thank you both :)


Feat redirect from map closes #117, closes #118 and closes #119

Forward world id when done generating from map. Also consolidated home function, added form requireds etc.

Closes #117, closes #118 and closes #119


What is an HTTP 0 response?

When scaling up load tests I can often enter a scenario where I suddenly get a flood of HTTP 0 responses. None of these responses show on my server logs so my assumption is that it is somehow limited to some aspect of the locust application, or perhaps the locust infrastructure. 1,500 * workers across 2 * masters each with a target of 500,000 users at 2,000 ramp up per second will seem to hit this limitation at some point during the ramp up but not immediately.
There's seemingly no exception on the master, nor on the exceptions sent to the master from workers.

I’ve seen that a couple of times. Are you using HttpUser or FastHttpUser? Try switching, if you’re luckt the other one will give a more clear error message. Usually it is something like a timeout or connection refused (the underlying cause can come from anywhere, but in most cases it is not a locust/load gen side issue)

Thanks for the update. After further experimentation I found that these HTTP 0 errors are being caused by AWS Load Balancers dropping excessive requests when under heavy load. I could run a test and see a very high failure rate of HTTP 0 responses, but if I stop the test and re-run just 5 minutes later the entire test will run through with maybe 1 or 2 out of 500,000 requests resulting in an HTTP 0. This seems to be what AWS refer to as pre-warming. Good to understand that this is not a Locust fault though.
For the record I was using HttpUser.

Thanks for the update. After further experimentation I found that these HTTP 0 errors are being caused by AWS Load Balancers dropping excessive requests when under heavy load. I could run a test and see a very high failure rate of HTTP 0 responses, but if I stop the test and re-run just 5 minutes later the entire test will run through with maybe 1 or 2 out of 500,000 requests resulting in an HTTP 0. This seems to be what AWS refer to as pre-warming. Good to understand that this is not a Locust fault though.
For the record I was using HttpUser.


Atom Helper 104% CPU Usage

Atom Version: 1.0.19
OSX: 10.11 El Capitan
First time using Atom to create a simple website. I did not notice any lag on my other 2012MBP with 4GB and the default HDD, but on my 8GB and 250GB SSD I have noticed extreme amounts of CPU consumption.
The only packages I have installed is beautify, so I'm not sure what the issue is. I did read that some people were experiencing this when they created files directly on the desktop but I am not sure why this is happening.
Please tell me if I'm missing anything since this is my first issue submission!

Thanks for the report! This looks like a duplicate of https://github.com/atom/atom/issues/3426 though - closing this out in favor of that issue.

@mnquintana will going through that hopefully fix my problems?

@charleshkang It's still an open issue, unfortunately :confused: - it's something that should get better though as the core team continues focusing on performance.

@mnquintana it's just so weird that atom runs perfectly fine on my other mac, but the one with double the ram and a SSD is somehow being super slowed down...

Can you try quitting Atom completely and reopening it in safe mode (atom --safe) and see if you can reproduce this?

where do i input that command? sorry, pretty new to atom!

No worries! Just run that in Terminal. (Make sure you run Atom > Install Shell Commands first from the main app menu - you'll only have to do that once though.)

At 104.8% when ran in safe mode

On my 2014 rMBP high CPU occurs when a file is changed and a file changed indicator is visible (tabs / tree view packages - if disable these Atom behaves fine and sits at 1% CPU).

I am facing same issue as well. I tried 1.0, quit because of this issue, again updated again quit. I downloaded latest build today, still same issue. Atom Helper eats alot of memory.
I even tried opening it in Safe mode, tried deleting and completely installing a fresh copy but nothing solved my problem. I am using El Capitan on MBP 15 i7 16 gb ram and ssd. Atom is very good editor and this issue is blocking me to shift from Webstorm. I am constantly looking for a light weight editor with less impact on memory.

I'm still getting this issue on safe mode as well. 2015 MBP

replace /Applications/Atom.app/Contents/Resources/app/apm/bin/node with newer version, like 0.12.*
It works perfectly now

As I mentioned in my post on Discuss, replacing that copy of node doesn't change the version of node that Atom is running on.

I having the same issue. CPU at 104%.

I've identified a potential bottleneck, it seems like atom spend a lot of time in child_process.js file managing pipes on stdio

Just had this issue. CPU usage for Atom Helper hit 140% immediately after opening the app. My solution was closing the project that opens on load of Atom (my work repo) so that next time Atom opens, it will be in a clean state. Re-opened my project and now CPU usage for Atom Helper is at 0% when I'm not using the app, hits 34% when doing a global search for a string.

some issue. Why closing?

This is happening to me as well. Atom 1.12.7 on OSX 10.11.6.

Probably github plugin. It helped me turn my mac back to cool, when I turned it off.

Probably github plugin. It helped me turn my mac back to cool, when I turned it off.

same here, in safe mode, atom helper dropped under 5% after disabled github plugin (and leave git-diff enabled).
atom 1.20.1

yep it was github

Removal of github helped at first. But still experiencing slow typing. Atom may have to go if it can't even edit text quickly...
Mojave 10.14.1 - no other app behaves like this so I don't think it's the machine or os.

@wihodges - if you can reproduce that behavior in safe mode, please open a new issue and fill out the issue template and we'll take a look.


NFR004 - key mgt

Steering summary:
Unclear wording around wallet security aspects. Suggest to reword to avoid ambiguity.

It is not entirely clear whether this NFR is to deals only with keys in relation to the DID document or also provider app-specific security.
It says under Conformance Criteria

Solution SHALL provide secure key management for encryption and signing keys
-Solution SHALL provide features to update DID documents and to rotate keys in accordance with the W3C DID standards and best practices/implementation guidelines on a regular basis, keys SHALL be rotated no less often than once every 12 months.
Solution SHALL provide rotation features for encryption keys (e.g. database encryption, certificate renewal)

The last bullet reads as if it was meant to address sth like API keys for a provider app. The rest seems to apply to DID docs.
OCI should consider splitting both scopes into 2 NFR or making it clearer within this 004 what is meant.

[ ]  Is Issue appropriate for OCI Architecture
[ ]  Assign Size
[ ]  Assign Priority
[ ]  Assign Label (if needed)
[ ]  OCI affected Artifacts Identified
[ ]  Assign Triage - Artifact Version Target (v x.x.x Milestone)
[ ]  Assign Triage - Interop Profile Version Target (v x.x.x Milestone)
[ ]  Create sub-project (if needed)

also consider specifying what happens to rotated keys (deleted, retired)

consider adding that key rotation is only required for PROD accounts/usage

14.9. P&A: edits to make text work for both DID methods
persisted in the DID document = discoverable via the DID document


Reserved resources variable name in freestyle job no longer works in 1156.v5e9f897ece02

Jenkins and plugins versions report

Environment

Jenkins: 2.387.3
OS: Linux - 4.18.0-305.3.1.el8_4.x86_64
Java: 11.0.12 - Red Hat, Inc. (OpenJDK 64-Bit Server VM)
---
antisamy-markup-formatter:159.v25b_c67cd35fb_
apache-httpcomponents-client-4-api:4.5.14-150.v7a_b_9d17134a_5
badge:1.9.1
bootstrap4-api:4.6.0-5
bootstrap5-api:5.2.2-4
bouncycastle-api:2.27
branch-api:2.1092.vda_3c2a_a_f0c11
build-pipeline-plugin:1.5.8
build-timeout:1.30
caffeine-api:3.1.6-115.vb_8b_b_328e59d8
checks-api:2.0.0
cloudbees-folder:6.815.v0dd5a_cb_40e0e
command-launcher:100.v2f6722292ee8
commons-lang3-api:3.12.0-36.vd97de6465d5b_
commons-text-api:1.10.0-36.vc008c8fcda_7b_
conditional-buildstep:1.4.2
credentials:1254.vb_96f366e7b_a_d
credentials-binding:604.vb_64480b_c56ca_
dark-theme:315.va_22e7d692ea_a
data-tables-api:1.13.3-4
display-url-api:2.3.7
downstream-build-cache:1.7
durable-task:507.v050055d0cb_dd
echarts-api:5.4.0-4
email-ext:2.97
envinject:2.901.v0038b_6471582
envinject-api:1.199.v3ce31253ed13
flexible-publish:0.16.1
font-awesome-api:6.3.0-2
ghprb:1.42.2
git:5.0.2
git-client:4.2.0
github:1.37.1
github-api:1.314-431.v78d72a_3fe4c3
github-branch-source:1703.vd5a_2b_29c6cdc
github-oauth:0.39
groovy-postbuild:2.5
instance-identity:142.v04572ca_5b_265
ionicons-api:45.vf54fca_5d2154
jackson2-api:2.15.1-344.v6eb_55303dc3e
jakarta-activation-api:2.0.1-3
jakarta-mail-api:2.0.1-3
javax-activation-api:1.2.0-6
javax-mail-api:1.6.2-9
jaxb:2.3.8-1
jdk-tool:66.vd8fa_64ee91b_d
jenkins-jira-issue-updater:1.20
jersey2-api:2.39.1-1
jira:3.9
jira-integration:5.1.0-18.v59e6d6ec3999
jjwt-api:0.11.5-77.v646c772fddb_0
jquery:1.12.4-1
jquery3-api:3.7.0-1
jsch:0.2.8-65.v052c39de79b_2
junit:1202.v79a_986785076
leastload:3.0.0
lockable-resources:1150.v59db_2b_994618
mailer:448.v5b_97805e3767
matrix-project:789.v57a_725b_63c79
mina-sshd-api-common:2.10.0-69.v28e3e36d18eb_
mina-sshd-api-core:2.10.0-69.v28e3e36d18eb_
naginator:1.18.2
nodelabelparameter:1.11.0
okhttp-api:4.10.0-132.v7a_7b_91cef39c
parameterized-trigger:2.45
pipeline-build-step:491.v1fec530da_858
pipeline-groovy-lib:656.va_a_ceeb_6ffb_f7
pipeline-input-step:468.va_5db_051498a_4
pipeline-model-api:2.2131.vb_9788088fdb_5
pipeline-model-definition:2.2131.vb_9788088fdb_5
pipeline-model-extensions:2.2131.vb_9788088fdb_5
pipeline-stage-step:305.ve96d0205c1c6
pipeline-stage-tags-metadata:2.2131.vb_9788088fdb_5
plain-credentials:143.v1b_df8b_d3b_e48
plugin-util-api:3.2.1
popper-api:1.16.1-3
popper2-api:2.11.6-2
robot:3.3.0
run-condition:1.5
scm-api:672.v64378a_b_20c60
script-security:1244.ve463715a_f89c
snakeyaml-api:1.33-95.va_b_a_e3e47b_fa_4
sonar:2.15
ssh-credentials:305.v8f4381501156
ssh-slaves:2.877.v365f5eb_a_b_eec
sshd:3.303.vefc7119b_ec23
structs:324.va_f5d6774f3a_d
theme-manager:193.vcef22f6c5f2b_
throttle-concurrents:2.13
token-macro:359.vb_cde11682e0c
trilead-api:2.84.v72119de229b_7
variant:59.vf075fe829ccb
workflow-api:1213.v646def1087f9
workflow-basic-steps:1017.vb_45b_302f0cea_
workflow-cps:3659.v582dc37621d8
workflow-durable-task-step:1246.v5524618ea_097
workflow-job:1295.v395eb_7400005
workflow-multibranch:746.v05814d19c001
workflow-scm-step:408.v7d5b_135a_b_d49
workflow-step-api:639.v6eca_cd8c04a_a_
workflow-support:839.v35e2736cfd5c
yet-another-build-visualizer:1.16

What Operating System are you using (both controller, and any agents involved in the problem)?
Rocky Linux 8
Reproduction steps

Have a free style job that sets a variable based on the reserved resource

rely on that variable to have a value

Expected Results
the variable (in screen shot above TARGET_NAME) would be correctly populated to agree with the "locked resource" output

Here is a snippet of the "environment variables" output for the job that succeeded using the prior version of the plugin

Actual Results
The variable value does not get set.
Here is a snippet of the "environment variables" output for the job that failed using the new version of the plugin

Anything else?
This is a blocker for us to upgrade the plugin.  And yes, we would like to move to configuration as code, but we are not able to do so at this time.

this is a breakage not a feature request

see the same bub in our CI landscape - its a blocker in my eyes

I try it with latest release and it seem to be works

can somebody confirm it too? Or do I something wrong. I am not simillar (or better to say no more) with freestyle jobs.

But anyway, few automated tests for free-style projects is good idea (before we close it)

I try it with latest release and it seem to be works
can somebody confirm it too? Or do I something wrong. I am not simillar (or better to say no more) with freestyle jobs.

It also works now for me.

Great, in that case I will extend some tests to test this scenario too and close this issue

I can confirm this worked in 1150, was broken in 1156, and is now restored in 1172 on my setup too.

I recheckt test cases, and we have soe test-cases to test this scenario in pipe-lines ( I have no Idea why it was broken)
Therefor issue will be closed. Thx


[Excel] (Custom functions) Error handling

Separating out error handling into it's own article. Content should be the same as it was!

OPS Build status updates of commit adf7b70:
:clock10: Preparing: average preparing time is 44 sec(s)

OPS Build status updates of commit adf7b70:
:clock10: Incremental building: average incremental building time is 29 sec(s)

OPS Build status updates of commit adf7b70:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/custom-functions-best-practices.md
:white_check_mark:Succeeded

docs/excel/custom-functions-errors.md
:white_check_mark:Succeeded

docs/excel/custom-functions-overview.md
:white_check_mark:Succeeded

docs/toc.yml
: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.

@davidchesnut do we need to make changes on this one? I remember seeing some ideas floating around in email but essentially this is just a section that separates out content, so wanted to check. Thanks!

OPS Build status updates of commit 5eb63fe:
:clock10: Preparing: average preparing time is 44 sec(s)

OPS Build status updates of commit 5eb63fe:
:clock10: Incremental building: average incremental building time is 29 sec(s)

OPS Build status updates of commit 5eb63fe:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/excel/custom-functions-best-practices.md
:white_check_mark:Succeeded

docs/excel/custom-functions-errors.md
:white_check_mark:Succeeded

docs/excel/custom-functions-overview.md
:white_check_mark:Succeeded

docs/toc.yml
: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.


Start first version of new getting started page using VS Code's API

For https://github.com/microsoft/vscode-python/issues/16678

cc @kimadeline

You shouldn't have had to run npm install, because now the package-lock.json got updated. When did you pull main for the last time?

I merged main this morning and then again in the afternoon but I have no idea what is going on, fixing the conflicts in VS Code is not going well either 😢  I'll just abandon this PR and start a new one.


hypha contract moved to a new place

🗃 Github Issue Or Explanation for this PR. (What is it supposed to do and Why is needed)
token.hypha is no longer valid
we are using hypha.hypha contract instead
✅ Checklist

[x] I have tested all my changes.

🕵♂ Notes for Code Reviewer
token.hypha contract was hacked and is no longer ours
We migrate all balances to hypha.hypha
🙈 Screenshots
👯♀ Paired with

@n13  if this is going to be a hot fix, this should point to a previous release, not master

@n13 if this is going to be a hot fix, this should point to a previous release, not master

We need to create another release if is gonna be a hot fix, @n13  let me know to get it out

release/2.8.3 has been created.

@gguij004  This change needs to go into 2.8.3
Pls make a new PR with this change for 2.8.3


Double click bug

Clicking the back arrow requires a double click (or at least 2 clicks) before actually routing

Ill work on these bugs and stuff in another branch

This is fixed in #97


How to implement Okta authentication in a React application?

Proposed title of article
How to implement Okta authentication in a React application?
Introduction:
Authenticating the users is important for most applications. Buiding own authentication system seems to be an easy task. However, integrating it with third parties such as Google or Facebook for security reasons can be tedious and complex.
A solution would be to use a dedicated auth system to handle authentication such as Okta. Okta provides access to a dedicated team of security experts that handles the security of your user data.
This tutorial will cover the implementation of Okta authentication in a React application.
Key takeaways:
At the end of the tutorial, the learner will be able to:

set up a React application and sign up for the developer edition of Okta
integrate React application with Okta authentication system
implement a custom sign-in form with a unique design and use Okta authentication without redirecting to the Okta page

References:
N/A

@ephnjor2021
Good afternoon and thank you for submitting your topic suggestion.
Your topic form has been entered into our queue and should be reviewed (for approval) as soon as a content moderator is finished reviewing the ones in the queue before it.

@ephnjor2021
Just and FYI I will be closing this topic form just to help clear up the queue where possible - can be REOPENED at anytime when ready. 👍