tempfix: point polygon subgraph to balancer beta

Description
Polygon subgraph is failing. This points the polygon subgraph queries to the beta version of the subgraph where minimal app behaviour is working. Will need to point back to the main url after everything is stable again.2
Type of change

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Dependency changes
[ ] Code refactor / cleanup
[ ] Documentation or wording changes
[ ] Other

How should this be tested?
Test that polygon app works
Visual context
None for this one
Checklist:

[x] I have performed a self-review of my own code
[x] I have requested at least 2 reviews (If the PR is significant enough, use best judgement here)
[x] I have commented my code where relevant, particularly in hard-to-understand areas
[x] If package-lock.json has changes, it was intentional.
[x] The base of this PR is master if hotfix, develop if not

@1saf the production subgraph is operational again. This can be reverted now.


Proof of concept for modals to use new transaction polling

Checklist:

[ ] Test your work and double-check to confirm that you didn't break anything
[ ] Wrap any new text/strings for translation
[ ] Map any new environment variables with a default value in the Webpack config
[ ] Update any relevant READMEs and docs

Description:
This is a proof of concept on how to make modal dialog on Metamask 4.12.0 dissapear with only receiving confirmation event and no transaction recite.
Depends on PR: https://github.com/OriginProtocol/origin-js/pull/599

I wouldn't really merge this, would just like to open a discussion, with this PR example that shows what additional DAPP changes are required to make modal disappear and show the transaction in transaction dropdown.
The biggest downside here is that the listingId is not tied to the transaction component in the transaction dropdown.

This is no longer neeeded


Ratatui.rs widget showcase

Hey there,
I'm putting together a widget showcase page at https://ratatui.rs/showcase/third-party-widgets/ and would like to add tui-logger. The demo right now seems a bit complex to use as it shows all the possible features. Would you be interested in creating a simpler demo that just shows the main aspect in a small area like the examples we have on the site already? I'm happy to create the actual gif if you have a good simple demo (though the process is fairly simple - see https://github.com/ratatui-org/website/tree/main/code/widget-showcase-third-party)

Thanks for the invitation to add a demo to ratatui’s awesome web presence.
I will think about a demo, but can work on it earliest after Xmas.
In addition I am nterested to see your process to create the gif. My own process has been quite tedious and inconvenient.

Nothing magic to it https://github.com/ratatui-org/website/tree/main/code/widget-showcase-third-party
TL;DR https://github.com/charmbracelet/vhs + small Ratatui app

seems @joshka haa done it already. Big thanks

From https://github.com/gin66/tui-logger/pull/57
Incorporated into the site at https://ratatui.rs/showcase/third-party-widgets/#tui-logger--


SetCloudAppProperties RPC

This PR is ready for review.
Risk
This PR makes minor API changes.
Summary

Added RPCs to align with the Cloud app transport proposal

CLA

[x] I have signed the CLA

Codecov Report

Merging #939 into develop will increase coverage by 0.02%.
The diff coverage is 38%.

@@              Coverage Diff              @@
##             develop     #939      +/-   ##
=============================================
+ Coverage      42.55%   42.57%   +0.02%
- Complexity      3735     3743       +8
=============================================
  Files            434      437       +3
  Lines          23098    23148      +50
  Branches        2698     2700       +2
=============================================
+ Hits            9829     9856      +27
- Misses         12623    12644      +21
- Partials         646      648       +2

Impacted Files
Coverage Δ
Complexity Δ

...n/java/com/smartdevicelink/proxy/SdlProxyBase.java
6.55% <0%> (-0.02%)
15 <0> (ø)

...java/com/smartdevicelink/managers/ProxyBridge.java
3.31% <0%> (-0.04%)
1 <0> (ø)

...com/smartdevicelink/protocol/enums/FunctionID.java
88.57% <100%> (+0.1%)
10 <0> (ø)
:arrow_down:

...artdevicelink/proxy/rpc/SetCloudAppProperties.java
46.15% <46.15%> (ø)
6 <6> (?)

...elink/proxy/rpc/SetCloudAppPropertiesResponse.java
50% <50%> (ø)
1 <1> (?)

...evicelink/proxy/rpc/enums/HybridAppPreference.java
57.14% <57.14%> (ø)
1 <1> (?)

...smartdevicelink/encoder/VirtualDisplayEncoder.java
29.31% <0%> (+4.59%)
8% <0%> (ø)
:arrow_down:

Continue to review full report at Codecov.

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


[Feature] Replace Docker container and NodePort with Kubernetes Pod

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
Currently, compatibility-test.py uses Docker container with network_mode='host' to communicate with Ray Pod via Kubernetes NodePort service. This is weird and may introduces instability. To elaborate, the tests can only be stable when all of the Docker container, your host, KinD, and NodePort work properly. Hence, I proposed to replace the Docker container with a Kubernetes Pod, and thus no need to create Docker container, check host configuration, configure extraPortMappings for KinD, and create NodePort service (we can use the existing ClusterIP service instead.).
https://github.com/ray-project/kuberay/blob/49c44bff5a807a680248b30b5563f985a075be9b/tests/compatibility-test.py#L176-L185
In my expectation, the integration tests will become more stable when this issue is fixed. When we execute a Ray script in a Docker container (e.g. test_detached_actor_1.py) to communicate with a healthy RayCluster, it sometimes throws the following exception Ray Client connection timed out. Ensure that the Ray Client port on the head node is reachable from your local machine (Link).
https://github.com/ray-project/kuberay/blob/49c44bff5a807a680248b30b5563f985a075be9b/tests/compatibility-test.py#L222-L231
Use case
Improve the stability of integration tests.
Related issues
#759
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

@jasoonn are you interested in taking this issue?

I think it would be simpler to just use kubectl exec for command execution in the tests.
You don't need a proxy container to submit commands.

I think it would be simpler to just use kubectl exec to execute commands in the Ray head pod. You don't need a proxy container to submit commands.

Agree, kubectl exec is a better solution. We can use kubectl exec in most cases, but in some cases (e.g. use curl to test RayService) cannot because the head Pod does not have related dependencies.

The original reason we use a docker container is that we want to test a client connecting to ray cluster from outside the k8s cluster. In this case, we can test HA and other features. If we run the task inside a container in k8s cluster, this might not cover all the possible scenarios.

The original reason we use a docker container is that we want to test a client connecting to ray cluster from outside the k8s cluster. In this case, we can test HA and other features. If we run the task inside a container in k8s cluster, this might not cover all the possible scenarios.

In that case, I think there should be a dedicated test for Ray client.

The original reason we use a docker container is that we want to test a client connecting to ray cluster from outside the k8s cluster. In this case, we can test HA and other features. If we run the task inside a container in k8s cluster, this might not cover all the possible scenarios.

In that case, I think there should be a dedicated test for Ray client.

agreed.

The original reason we use a docker container is that we want to test a client connecting to ray cluster from outside the k8s cluster. In this case, we can test HA and other features. If we run the task inside a container in k8s cluster, this might not cover all the possible scenarios.

QQ: Would you mind explaining more about "If we run the task inside a container in k8s cluster, this might not cover all the possible scenarios."? Thanks!
We can create a new Pod (not belonging to the RayCluster) and test Ray Client via ClusterIP. Do I miss anything? Thanks!

The original reason we use a docker container is that we want to test a client connecting to ray cluster from outside the k8s cluster. In this case, we can test HA and other features. If we run the task inside a container in k8s cluster, this might not cover all the possible scenarios.

QQ: Would you mind explaining more about "If we run the task inside a container in k8s cluster, this might not cover all the possible scenarios."? Thanks!
We can create a new Pod (not belonging to the RayCluster) and test Ray Client via ClusterIP. Do I miss anything? Thanks!

the original design is to test the connectivity from outside the k8s cluster. for example, to simulate some user connecting to AWS cluster on his/her laptop.

the original design is to test the connectivity from outside the k8s cluster. for example, to simulate some user connecting to AWS cluster on his/her laptop.

Thank you for your reply!
In this case, maybe ray job is better than ray client? ray job can prevent users from installing a lot of dependencies on their laptops. cc @DmitriGekhtman @architkulkarni

the original design is to test the connectivity from outside the k8s cluster.

You'd need to test that internally, as appropriate for your network infrastructure.
The test in the Ray CI technically does test connectivity outside of the K8s cluster -- it simply installs Ray in the test environment (outside of the kind cluster) and uses Ray client from that test environment by port-forwarding the default cluster ip service.

the original design is to test the connectivity from outside the k8s cluster. for example, to simulate some user connecting to AWS cluster on his/her laptop.

Thank you for your reply!
In this case, maybe ray job is better than ray client? ray job can prevent users from installing a lot of dependencies on their laptops. cc @DmitriGekhtman @architkulkarni

Support for Ray Jobs is indeed better -- the Ray maintainers are uncomfortable about Ray Client's existence.

the original design is to test the connectivity from outside the k8s cluster.

You'd need to test that internally, as appropriate for your network infrastructure.
The test in the Ray CI technically does test connectivity outside of the K8s cluster -- it simply installs Ray in the test environment (outside of the kind cluster) and uses Ray client from that test environment by port-forwarding the default cluster ip service.

This was the case for a user using client connecting from outside the k8s cluster behind a load balancer. The Ray HA test case was designed for this scenario. The assumption is, if it works for this kind of setup, it should be working for other simpler scenarios. But anyway, as just mentioned, the Ray maintainers are uncomfortable about Ray Client's existence.

Connecting from within the same K8s cluster would ensure a much more robust (and probably also secure) experience.

Definitely no guarantees on Ray Client functionality in various network environments.

Agree with everything Dmitri said, we should move towards using Ray Jobs instead of Ray Client.


Wrap octal permission in quotes

Had to wrap the octal permission in quotes (even though it was working!)

@davenaylor I had already made a change so see here: 9a77834


Randomcoder add sbt gherkin converter plugin

Hi @randomcoder,
Thank you for your contribution! We really value the time you've taken to put this together.
Before we proceed with reviewing this pull request, please sign the Lightbend Contributors License Agreement:
http://www.lightbend.com/contribute/cla


Chart from full candle data

Question
Hello!
I use for my backtest candlestick data from Binance that combined to numpy massive
My massive contain in each row more data than ochlv
example :
1696377600000,0.25900000,0.25900000,0.25520000,0.25610000,247323.00000000,1696378499999,63405.80237000,454,85335.50000000,21869.07337000,0
How i can ignore can ingnore columns that your script not use to draw the chart.
Thanx
Code example
No response

Hey @blazerr1313,
convert to dataframe, and label the ones you want to use as ohlcv.
Louis


MIC-134 Update plan identified need endpoint

MIC-134

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

Project coverage is 88.53%. Comparing base (4b665ba) to head (dd697fa).
Report is 1 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff              @@
##               main     #135      +/-   ##
============================================
+ Coverage     88.02%   88.53%   +0.51%
- Complexity      709      720      +11
============================================
  Files           136      136
  Lines          2162     2164       +2
  Branches        143      143
============================================
+ Hits           1903     1916      +13
+ Misses          176      167       -9
+ Partials         83       81       -2

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


update actix web dependency as PR was merged

@ctron : do we need to keep referring to your fork of actix-web ?

I am not sure. actix-web 4.2.0 isn't released yet. So pointing to one patch repository that we control might make sense.
Btw: I think rebasing the PR should fix the test issue.


How do i access ExtractedTable objects's value

Let say i used the extract_tables() function to extract out the structure of the table and it returns a img2table.tables.objects.extraction.ExtractedTable .
Here comes the question on ,how can i acquire just the shape value of the extracttable object?
[ExtractedTable(title=None, bbox=(10, 8, 745, 314),shape=(6, 3)),
ExtractedTable(title=None, bbox=(936, 9, 1129, 111),shape=(2, 2))]
Required output : (6,3) /(2,2)

There is a pandas DataFrame representation of the table so you can just get its shape table.df.shape


IAMStreamConfig::SetFormat should use a *const AM_MEDIA_TYPE

As far as I can tell from the docs https://learn.microsoft.com/en-us/windows/win32/api/strmif/nf-strmif-iamstreamconfig-setformat
The AM_MEDIA_TYPE is used as an input parameter with no indication of it being modified.
If that is the case then the function signature should reflect that.

According to the metadata, the signature is as follows:
unsafe HRESULT SetFormat([In][Out] AM_MEDIA_TYPE* pmt);

You can inspect this yourself here:
https://github.com/microsoft/windows-rs/tree/master/crates/libs/metadata/default
If you think that's incorrect, please open an issue with the Win32 metadata repo:
https://github.com/microsoft/win32metadata

Where do you find that?
When i look at win32metadata i find this:
  HRESULT SetFormat(
                [in]    AM_MEDIA_TYPE * pMediaType,
                [in]    DWORD dwFlags);

https://github.com/microsoft/win32metadata/blob/42ac479bbfbeca90b331cb73c540ee8e62404d18/generation/WinSDK/RecompiledIdlHeaders/um/amstream.idl#L227

@Zerowalker Looks like IAMStreamConfig::SetFormat is declared here, which indeed seems to disagree with the definition found in Windows.Win32.winmd. You should open an issue here.

I'll reopen and transfer this issue since more info has been collected here.


Error allocating memory for the serial

The below code, marks "Error reading characters of a string"
char serial = (char)(malloc(serial_size));
Error thrown in printf: Write access violation
Pleas guide.

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

ID: fe520623-138f-43bd-e566-5d31a72be92f
Version Independent ID: 1d7ad5f3-8760-589a-c469-0978f3637ce4
Content: Quickstart- Build your first Azure Kinect application
Content Source: articles/kinect-dk/build-first-app.md
Product: kinect-dk
GitHub Login: @tesych
Microsoft Alias: tesych

; missing in start cameras method call.
// Start the camera with the given configuration
k4a_device_start_cameras(device, &config)

Thanks for the question. We are currently investigating and will update you shortly.

@Shri-Humrudha please make sure that you use the code just like in the documentation. Please see below:
char serial = (char)(malloc(serial_size));

The document says this.
[image: image.png]
On Mon, Jul 22, 2019 at 4:45 PM Tetyana Sych<EMAIL_ADDRESS>wrote:

@Shri-Humrudha https://github.com/Shri-Humrudha please make sure that
you use the code just like in the documentation. Please see below:
char serial = (char)(malloc(serial_size));
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/35533?email_source=notifications&email_token=AMSR4TBQJEXACBBTIRDHLUTQAZBBVA5CNFSM4IFOXQDKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2RPI2Q#issuecomment-513995882,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMSR4TAZQPJ5CEBH6TSCJKLQAZBBVANCNFSM4IFOXQDA
.

--
With Regards,
J.SHRI HUMRUDHA

@Shri-Humrudha it seems like you were trying to share an image? It is not rendered correctly

I cleaned up the solution and closed all applications using the device, it worked.

Glad to hear that your issue is resolved!


Define an example config file in Wiki for "Running as jar" deployment

There is not example config file type, or definition for running exhibitor as an executable jar file. As a WAR file deployment, the wiki supplies the exhibitor.properties(with example). Should supply a similar explanation in the "running as jar" section here: https://github.com/soabase/exhibitor/wiki/Running-Exhibitor

This is a very good idea and definitely took me a long time to figure out what the config file should look like.


Question about L_ort

As I know, cos(X, Y)=0 means X and Y are orthogonal, meanwhile the minimum value of cos(X, Y)=-1 means X and Y are opposite.
So, as written in your manuscript, directly minimizing cos function makes two inputs becoming opposite instead of orthogonal.
I notice that you use CosineEmbeddingLoss provided by PyTorch and target is set to -1.
So, the actual formula should be L_ort=max(0, cos(X,Y)) (I use X and Y here for ease).
I still have two questions:

The actual loss is not consistent as defined in your manuscript;
When cos(X, Y) is a negative value, L_ort=0 and has no gradient, so it can only ensure that X and Y are opposite.

Am I misunderstanding something?
Hope for your reply.

maybe you can set the loss to |cos(X,Y)|

maybe you can set the loss to |cos(X,Y)|

Correct. I know there are multiple ways to fix this issue.
My main concern is the inconsistency between the code and the paper description.


Changing current viewer property (e.g. theme) becomes persistent change of settings

🐛 Bug
If you want to change the theme, for example, for the current viewer you can do:
viewer.theme = 'light'
This works nicely, but actually will change the setting so that if System or Dark was set in the settings, it will be overwritten. This is annoying in the case of an example script, as discussed here:
https://github.com/napari/napari/pull/4875#issuecomment-1243019620
But in general, it's counter intuitive that changing the current viewer will change all future viewers. If the user wants to change the setting they certainly can, using either the GUI Preferences or using get_settings().appearance.theme = 'light'
To Reproduce
Steps to reproduce the behavior:

open a viewer
open the console
enter:

from napari.settings import get_settings
get_settings().appearance.theme

If this prints Dark or System enter:

viewer.theme = 'light'

else if it prints Light, then enter
viewer.theme = 'dark'

Watch the theme of the current viewer change. Now enter:

get_settings().appearance.theme

You will see the setting is changed. You can confirm the issue by checking Preferences > Appearance

Expected behavior
Changing the theme of the current viewer should not change the user settings.
So using viewer.theme = 'light' should change the current theme of the viewer, but get_settings().appearance.theme should not report a change.
Environment
napari: 0.4.16rc2.dev280+g332860f9
Platform: macOS-12.5.1-arm64-arm-64bit
System: MacOS 12.5.1
Python: 3.9.13 | packaged by conda-forge | (main, May 27 2022, 17:00:33)  [Clang 13.0.1 ]
Qt: 5.15.3
PyQt5: 5.15.4
NumPy: 1.22.4
SciPy: 1.8.1
Dask: 2022.6.0
VisPy: 0.11.0

OpenGL:
 - GL version:  2.1 Metal - 76.3
 - MAX_TEXTURE_SIZE: 16384

Screens:
 - screen 1: resolution 1680x1050, scale 2.0

Plugins:
ERROR:npe2.manifest.schema:napari.manifest -> 'napari' could not be imported: Cannot find module 'napari_builtins' declared in entrypoint: 'napari_builtins:builtins.yaml'
 - bfio: 2.3.0 (4 contributions)
 - napari: 0.4.16rc2.dev280+g332860f9 (77 contributions)
 - napari-aicsimageio: 0.7.2 (2 contributions)
 - napari-assistant: 0.3.8 (2 contributions)
 - napari-console: 0.0.4 (0 contributions)
 - napari-pyclesperanto-assistant: 0.18.4 (51 contributions)
 - napari-skimage-regionprops: 0.5.2 (2 contributions)
 - napari-svg: 0.1.6 (2 contributions)
 - napari-time-slicer: 0.4.7 (2 contributions)
 - napari-tools-menu: 0.1.15 (0 contributions)
 - ome-types: 0.3.0 (4 contributions)
 - stardist-napari: 2022.6.7 (8 contributions)

Additional context
N/A

I'll add another aspect to this issue:
Changing the theme of one viewer changes the theme of all viewers.
Try:
import napari

viewer1 = napari.Viewer()
viewer2 = napari.Viewer()

viewer2.theme = 'dark' # or light, whatever is opposite of your current theme

Both viewers will change to dark.

Both viewers will change to dark.

@psobolewskiPhD Yes. This is intentional and allows us to simply style additional windows (opened ex from the viewer) and keep synchronizing with the main window.
Also, this allows the user to change the theme from the menu and keep it after the restart. I think that case when the user needs to change the theme each time after starting napari (until discovering settings - remind discussion about interface from #5127).
When I think about this, maybe a better solution could be properly separating settings between different python environments. What did you think?

Both viewers will change to dark.

@psobolewskiPhD Yes. This is intentional and allows us to simply style additional windows (opened ex from the viewer) and keep synchronizing with the main window.

Newly opened viewers use the theme setting, so they will be the same regardless. I get synchronization and I know I'm not the smartest user, but if I'm saying viewer2.theme = 'light' that means I want viewer2 to change themes—maybe for a screenshot with minimum blending or a comparison, whatever. If I wanted viewer1 to change, I would have done that.

Also, this allows the user to change the theme from the menu and keep it after the restart. I think that case when the user needs to change the theme each time after starting napari (until discovering settings - remind discussion about interface from #5127).

Changing the theme from the settings/preferences is a different use case. That's where the user expects the setting to affect everything—it's a napari setting after all, not a viewer setting—and be stored. And indeed it does work that way in napari.

When I think about this, maybe a better solution could be properly separating settings between different python environments. What did you think?

I'm not sure I follow. I have multiple conda envs, but I do most of my use of napari from one env—I suspect that the majority of users do that too. Within my env, I frequently use multiple viewers, change themes, etc. to make screenshots or demo something. It's just real irritation to have to then every time go into preferences and fix my preferences.

An napari core dev, I just have all PR subscribed, so it will not be a big difference if using @ or not (but using @ allows me to faster come back to talk after a long time).

Changing the theme from the settings/preferences is a different use case. That's where the user expects the setting to affect everything—it's a napari setting after all, not a viewer setting—and be stored. And indeed it does work that way in napari: if you change the theme in the settings, both viewers will change.

But this may be unintuitive for a new user. In most of the applications that I meet, when allowing toggle theme from the view menu, it happens globally.

I'm not sure I follow. I have multiple conda envs, but I do most of my use of napari from one env—I suspect that the majority of users do that too. Within my env, I frequently use multiple viewers, change themes, etc. to make screenshots or demo something. It's just real irritation to have to then every time go into preferences and fix my preferences.

But it is lookalike an advanced usage. Maybe there should be a startup option (or environment variable) to disable saving settings on change?

I don't think this is possible in napari? At least on my mac, I don't have theme options in any menu

I'm pretty sure that there was such an option in the view menu at some moment. But after your response, I check and cannot find it. I must have it in the memory menu that was before some settings migration.
So you are totally right.
I need to remember to do less base on memory and spend more time on verify if something was not changed.


Create dev and prod Kubernetes namespaces

As a developer
I need a system to test development
So that issues can be detected and triaged before releasing to production
Details and Assumptions

Familiarity with Kubernetes cluster
Recap on how to create YAML files and its configs.

Acceptance Criteria
Given separate Kubernetes namespace for dev and prod
When development can be pushed to either namespace in isolation
Then service activity can be observed.

Steps to verify that namespaces dev and prod are created
ibmcloud login -a cloud.ibm.com -r us-south -g Default
ibmcloud ks cluster config --cluster cdcqcehf0odm5hanc6q0
kubectl config current-context
kubectl get namespaces

This should list dev and prod.

Note: cdcqcehf0odm5hanc6q0 is our Kubernetes Cluster ID.


Delete settings.json

I assume it was committed accidentally.

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

Yeah, that doesn't need to be there, especially if it is in .gitignore.  Thanks!


gpkg-dev/glibc: mprotect final fix

close #56
close #54

have a new build?

have a new build?

Unfortunately, not yet. There are conflicts during compilation due to the strtol function. I'm trying to solve it but so far without success.

checking whether CET can be enabled... no
configure: error: aarch64-linux-gnu-gcc doesn't support CET
I compiled glibc in gpkg-dev through docker and reported how to solve this error

After a lot of research and trying to fix bypass the limitation from android selinux by adding mmap to mprotect, I realized that this is a bad idea. This kind of correction pushes the logic and optimization in a bad way, so I will return it as it was.
Issue #49 can be considered an exception as this error is not caused by glibc but by the android selinux policy, which can be easily bypassed with mmap.
Maybe there is a method to fix all this competently, but at the moment I don't know it.


right-left jumps during saving ("save" button on the right, "upload" on the left)

It turns out to be quite confusing for new mappers that to save one needs get to right, click "save" button and get to left side of the screen, fill form there and use "upload".
Maybe it would be better to keep "save" and "upload" menu both on the right side of the screen?
It is especially confusing on larger monitors. As bonus it requires traveling large distance with mouse on each save.

What about just blurring and darkening the UI to draw the mappers attention to the right spot?  iD already darkens, so all that would be needed would be the blurring.

Thinking about this, here's my ideal upload workflow:

Click "Save"
✅ Save successful

The upload form is just another barrier to contributing.

Actually, it's quite helpful!  It lets people know about issues, let's then see the changes, create a comment, and edit changeset tags.  Removing that for simplicity would have some major side effects.

To be clear, I'm not suggesting we wholly remove the save form. I'm saying that in my personal ideal world that doesn't exist we would never have to bother users about that stuff. That ideal informs my thinking about the UI, like how maybe it could be a popover under the save button instead of an entire inspector screen. But this is just hypothetical brainstorming!

Where would changeset comments and pre upload validation warnings fit into this?

Cool!

Quick mockup:

Clicking "Advanced" would essentially show the existing upload form. Clicking the warnings would open the Issues pane, or possibly enter some kind of "issue review" mode where iD takes you through each issue step-by-step.
This has the following advantages:

Less daunting for new mappers
Only shows the most important info
Is visually connected with the Save button (solving this original issue)
Still lets us put whatever we want under the Advanced options
Frees up the assistant to show something else, like the changes list

@quincylvania I like the idea and direction.
Before I forget: The post-commit-screen with the community index should still get a good amount of space afterwards. Maybe as a separate thank you layer.
About the mockup:
I think it would further benefit from removing the "basic/advanced" toggle to something, that shows the additional features on demand but has more meaning than "basic/advanced".
Quick idea:

remove toggle
add something like "show / edit changeset tags" below the text area. maybe "advanced changeset tags" so people know it will get technical?
move the downloadbutton to anywhere else, eg in the "show / edit changeset tags" area
show the list of changes on demand with the "2 changes" link

For the last item: Is this really useful? I was wondering recently, if an integrated https://github.com/osmlab/changeset-map view might be more useful. Would that even be possible with an uncommited changeset?

I also don't love the toggle control. Maybe something like this?

On-the-map dif styling is definitely something I think we should do eventually.

I've been thinking even more about the save popover and I'd really like to try it. We should make saving as easy as possible for mappers—they've already done the real work after all.
Latest mockup:

I like this!  The current design was really meant for the old sidebar, and feels rather cramped in the assistant panel, especially when using a phone.  This new design seems very elegant.

I like this! The current design was really meant for the old sidebar, and feels rather cramped in the assistant panel, especially when using a phone. This new design seems very elegant.

I like this too..
Actually the current design really was originally in a modal dialog that appeared on top of the map, but we moved it to the sidebar years ago so that users could click on the list of items that they edited and look at them before saving.

Oh, cool!  The old design definitely worked well with the sidebar, though.

background here:  https://github.com/openstreetmap/iD/issues/2378#issuecomment-60131151

For the last item: Is this really useful?

As someone who does a lot of roving editing sessions (as opposed to targeted changes), I do use the change list as a way of jogging my memory, not necessarily to preview the individual features but at least to remember what kind of features I edited. Others may have different preferences depending on their changeset comment writing style.
Lately, I’ve found myself briefly opening the save panel for random-access navigation to various parts of the map that I’ve edited, without saving just yet. Maybe that should be a separate tool, which the user could also open before saving if they need their memory jogged. The right sidebar is getting rather crowded though…

On-the-map dif styling is definitely something I think we should do eventually.

Previously discussed in #5974 and probably elsewhere before that. I think it would be a highly desirable feature, but also a complex enough feature to deserve its own issue independent of this redesign.

@1ec5 There's actually an open PR for dif styling: #6843

#6843 will come in handy as part of the save workflow if paired with a way to fit the map to all the areas that the user has changed. With roving editing sessions that span a large area, smaller features may not be discernible when zoomed far out, which is why the textual changed feature list has been useful.

Run into this again, with a different family member who was confused why saving their edits does not work.


ovnkube.log and ovnkube-master.log shouldn’t be in /var/log/openvswitch

Signed-off-by: Zhen Wang<EMAIL_ADDRESS>

Do we need instructions to create that directory? Should we add the creation of directory inside ovnkube?

@shettyg Good catch. I  think we should create that log directory from within ovkube. This will be required when not using daemonsets.

@shettyg Thanks for reviewing my code.I agree with you that we should take care of logdir creation.
Since ovnkube take -logfile to specify the log directory location. I want to add the code in config.go.
Let me know your thought.
diff --git a/go-controller/pkg/config/config.go b/go-controller/pkg/config/config.go
index 4c8ba930..fd3529a2 100644
--- a/go-controller/pkg/config/config.go
+++ b/go-controller/pkg/config/config.go
@@ -593,6 +593,12 @@ func InitConfigWithPath(ctx *cli.Context, exec kexec.Interface, configFile strin
logrus.SetLevel(logrus.Level(Logging.Level))
if Logging.File != "" {
var file *os.File

          if _, err = os.Stat(filepath.Dir(Logging.File)); os.IsNotExist(err) {

                  dir := filepath.Dir(Logging.File)

                  if err = os.MkdirAll(dir, 0660); err != nil {

                          logrus.Errorf("failed to create logfile directory %s (%v). Ignoring..", dir, err)

                  }

          }
          file, err = os.OpenFile(Logging.File, os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0660)
          if err != nil {
                  logrus.Errorf("failed to open logfile %s (%v). Ignoring..", Logging.File, err)

@shettyg Thanks for the comments,  I just updated the code to address your comments.
Please take a look when you have time.

LGTM, so +1


Query: Need command to auto-generate protobuf for rpc.proto

I need the command for generating rpc.pb.go and rpc.pb.gw.go using rpc.proto since while generating in the below way:
protoc -Igithub.com\coreos\etcd\etcdserver\etcdserverpb\rpc.proto -Igithub.com\coreos -Igithub.com\gogo\protobuf -Igithub.com\grpc-ecosystem\grpc-gateway\third_party\googleapis --go_grpc_out=github.com\coreos\etcd\etcdserver\etcdserverpb

I am getting a lot of difference between the current rpc.pb.go and the newly generated one. Also want to know from which directory its being generated.
Thanks!

@sinsharat You have to run this script https://github.com/coreos/etcd/blob/master/scripts/genproto.sh
# from etcd repo root directory
./scripts/genproto.sh

@gyuho Thanks a lot!

Yeah let us know if you have any questions!


Slice 98

Thx for this pull request. The solution will keep information about injectors in two places: InjectorRepository and ContextRequestFilter. This is not a good idea. I proposed another solution which also has some drawbacks, therefore we will be addressing issue with ContextRequestFilter in next Slice release. For now I'm closing this PR.


update datatables buttons to work with laravel excel 3.1 ?

Laravel excel 3.1 is now released with imports handling backcan we use it or do we need to wait an update ?

Latest version uses ^3.0. Thanks and sorry for late reply.


Add pylint checking to GitHub workflow

See https://github.com/Senzing/stream-loader/issues/303

Pull requests:

https://github.com/Senzing/mapper-ofac/pull/16


First run: Lands on login page even though logged in

When spinning up a fresh instance, after creating the first user account, the user comes to the login page but is already logged in.  This should presumably redirect to some other page after successfully logging in.

Hi,
I can't reproduce locally.
I just tried the following flow on a brand new instance (launching the jar) :

launch the jar
go to my browser and navigate to jelu
create the initial user
I'm redirected to "/"

I'll try to test on a separate server with the docker image.
Thanks for reporting this.

Hi there,
I'm also encountering this annoying issue.
Am using under Docker. Browsing with Firefox under Android.
Any more information you need in order to tackle this?

@dror3go yes, can you tell me the exact flow to  reproduce please.
I have not managed to reproduce here, using the same setup as you (docker + android firefox)

Well, actually I forgot I put a pwa manifest in there at the beginning.
I'll try to have a look to get it working, but currently pwa is not supported, I'm sorry, it is my mistake.
Do you have the same problem if you only use Jelu the "regular" webpage in a browser way ?

I'm using only the PWA since it makes it much easier to enter and is nicer with the "app feel" without the navigation bar.
Since this is the only problem I've noticed when using the PWA - would be nice to fix it and have a fully functional PWA 😃

@dror3go if you are still interested, you can try the latest release (0.51.0), it should fix the pwa

@bayang Sorry for the delay - yes, the newer version indeed fixes the problem for me.
Thanks!


.socketstream_state should be .socketstream_version

The "state" word is misleading - I thought the file was used for session store or something like that.
.socketstream_requirements is long but it would be fine too.
.required_versions is too vague but more general and thus futureproof
What do you think?

Closing as there is no concept of .socketstream_state in 0.3. The onus is on the app developer to use the right api syntax with the right version of SocketStream. If I need to reimplement this idea I will reconsider the name.


WIP more types fixed

Does not yet type check.
Would reduce the #161 problem yet farther

That's frightening. CI shows "All checks have passed" but I know yarn lint:types does not yet pass. Is it not being checked under CI?

That's frightening. CI shows "All checks have passed" but I know yarn lint:types does not yet pass. Is it not being checked under CI?

@erights writes:

... Is it not being checked under CI?

sure looks like it is... I see tsc --build jsconfig.json in packages/ses:
https://github.com/Agoric/SES-shim/pull/566/checks?check_run_id=1755768983#step:9:44

@erights writes:

... Is it not being checked under CI?

sure looks like it is... I see tsc --build jsconfig.json in packages/ses:
https://github.com/Agoric/SES-shim/pull/566/checks?check_run_id=1755768983#step:9:44

That's very weird. I see that now too. But I was seeing the other thing. Should have taken a screenshot ;)

That's very weird. I see that now too. But I was seeing the other thing. Should have taken a screenshot ;)

@erights , @kriskowal I suspect this is overtaken by events. If so, please close it.

Seem right to me. Closing.


Updates

Refresh the feedstock metadata.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Leveraging jsonix in a wysiwyg editor

This is more of a question than an issue, let me know if there is a better place to ask this.
I am working on a wysiwyg editor for a document format with a strict structure backed by a xsd schema. What I am hoping to accomplish is to leverage the schema in a way that ensures that all edits result in a valid document. A particularly interesting problem is copy/paste. Given some target node (the cursor position), is it valid to insert some arbitrary xml fragment at this position (and if not, what's the nearest parent/sibling location that is valid)?
jsonix seems to have the ability to transform a xsd into some js objects, but I haven't found much documentation on how these might be leveraged (aside from marshalling/unmarshalling). Do you have any advice on if/how I could leverage jsonix to accomplish my goal?

You basically need some kind of a model. You need to know what's allowed and what's not, for instance which properties a certain type has, their properties, cardinalities etc.
For this, you can use Jsonix mappings which implement this very model. Jsonix mappings model complex and simple types, properties, cardinalities and so on. When you create a Jsonix context, it builds this model from the provided mappings and then uses it to unmarshal or marshal.
You can use this model to inspect type information in the runtime. You can quite find type info by name and then find out which properties it has (if it's a complex type) and so on. This will allow you to either build your UI from the model or solve other tasks like copy-paste.
To take the copy/paste case, you'll need to know the type of the target node and the type of the object in the buffer. Both are quite easy to do with the right organisation. For instance, after unmarshalling, Jsonix keeps the type name as the TYPE_NAME property. You could do something similar. When matching, you can also leverage the inheritance info, for instance to allo pasting subclass where superclass allowed, effectively implementing polymorphism.
Several years ago I've implemented an XML Schema-driven UI generator, so I'm absolutely positive it would be possible with Jsonix as Jsonix now provides much clearer and better model than anything I had back then. I think the devil will be in details, but that's a different story.
Sorry, I can't provide code samples and pointer apart from those already contained in the code base and wiki. My advise would be to start with a very simple schema (check purchase order in examples) and try to access type information in tests. Like, enumerate properties and their types and so on. This will give you the idea of how it works. Start by searching for something like getTypeInfo in tests:
https://github.com/highsource/jsonix/tree/master/nodejs/scripts/tests
Hope this helps.


Fix parser bug around MSG protocol.

Make sure we do the right thing when no args are presented for an MSG, e.g. MSG .
Also do not parse at all of this is a client, only valid for routes.
/cc @kozlovic @wallyqs

LGTM

LGTM too


BUG: migrate the account lifecycle specification to the wiki

Source: https://people.redhat.com/sgrubb/audit/user-account-lifecycle.txt

Migrated to https://github.com/linux-audit/audit-documentation/wiki/SPEC-User-Account-Lifecycle-Events


bpf: Track reply packets of egress gateway and SNATed host-local connections

Flag the egress gateway NAT entries as needs_ct, so that reply packets could extend the expiration timeout as well.
Fix the conntrack tuple matching for packets in the reply direction, so that the needs_ct flag could actually be useful. Currently, the tuple before revSNAT is used for conntrack and doesn't match the original CT entry. After the fix, the tuple is adjusted to contain data like after revSNAT, so that it could match the original CT entry and get the needs_ct flag from it.
Fixes: #25110
Track reply packets in long-living egress gateway connections and SNATed host-local connections.

:amaze: awesome stuff! Especially happy to see that we can use the optimized CT lookup in more places, I had been hoping for this.
On first thought, I feel this should be split into multiple PRs - the IPv4 fragmentation support is worth its own PR (if only to discuss what testing we have in place for it). Or are you strongly relying on this support for the reply-tracking work?

I think, there is no strong dependency here, that is, if I close my eyes on the bug with fragments, the rest of the logic in that switch is good enough for the optimized CT lookup. As IPv4 fragmentation fix turned to be not straightforward, I'll follow your advice and split the pull request, so that we could get the egress gateway fix merged first.

Full-on :see_no_evil: then. It's been like that forever, a few more days likely won't hurt.
We can always add a trivial if (fragment) return NAT_PUNT_TO_STACK stop-gap if you hate it too much :smile:.

Note that we should also fix the IPv6 path (ie. have snat_v6_rev_nat_handle_mapping() revSNAT the tuple before the CT lookup), but that's perfectly fine as follow-on PR.

Done here, no reason to postpone it.

:+1:  But then we now also need all the corresponding ct_lazy_lookup6() prep work for that path, no?

Besides that, the egress gateway test is blocked on issue #25110, and the issue says nothing about egress gateway, it's about the bug in the tuples. That means, the commit that Fixes: #25110 would go first, but it wouldn't unblock the test blocked on #ifdef ISSUE_25110_FIXED that doesn't make any sense, and the next commit "Track egress gateway reply packets" would unblock the test, although it has nothing to do with fixing #25110.

Ah right, that's awkward. No worries then :).

/test

How do you feel about backporting this into v1.13? Infrastructure-wise it should be doable I think, the CT changes landed with https://github.com/cilium/cilium/pull/24795.

Would MLH add the label if I comment? :thinking: :eyes:


Fix metasync.find

Fixes: #82

@belochub I find it confusing too but I see a reason behind this decision. I feel like it's more of naming issue, though. It would indeed be better to have Array.prototypeish find() and rename this function to something like filterOne(). Despite that, that issue is not related to this PR, the sole purpose of this one is to fix the existing function.

@DzyubSpirit mind @-notifying your fellow reviewers next time you address their review or change-requests comments? I got a freaking great deal of notifications on GitHub and most likely I'll miss your updates unless you ping me. Thanks!

@aqrln, if that's the case, then this PR should be changed, because it doesn't just fix the function, it changes function's results to be completely different, even incorrect in my opinion.

@belochub I don't frankly know if that's the case, it's just what I supposed it to do based on my conversation with @nechaido and @DzyubSpirit and Dmytro's approval of this PR, but I may be wrong since I might have missed the point.

My proposal is to fix it in a simpler way without changing expected result, check this out: https://github.com/metarhia/MetaSync/commit/d22888ca4a4ac1e9f59103f22a5f3f5fb494f2aa.
@aqrln, @nechaido, @DzyubSpirit, what do you think?

@belochub looks good, but I'd personally prefer to always pass null (and not undefined as in done()) as the first argument when there's no error. That being said, I won't block the PR without it.

@belochub I agree, yet it doesn't correspond to description of find()

done // optional on done callback function(err, result)
//   err - error or null
//   result - array result

But I think it is probably just a typo we need to fix, same one for reduce().
Also I agree with @aqrln, I'd prefer null to be passed if there is no error.

@nechaido, yeah, this part in function description looks like a copy-paste typo, we should probably open another PR with fixes to documentation.

But I agree that names are confusing, see #102
@belochub @DzyubSpirit @aqrln

@DzyubSpirit @belochub @nechaido Let's fix PRs, not landing incompatible code

@tshemsedinov I fixed this PR but still there is question from @belochub at #102 about way for applying fix

@DzyubSpirit, even after the fix, it still differs from what I think is a correct way for it to behave.
In case, when no value is found in an array, it must return undefined, not empty array.
If you fix this as well, there will be no point in creating new PR.

@belochub Done

@DzyubSpirit, nope, you missed one on line 198.
Also, there is no need to explicitly pass undefined to a callback, because passing no argument will as well result in undefined value in the callback.

@belochub Fixed

Landed in c86c5be286dbe78f5780f7ea4f805950eb42087b


Panic after unexpected syntax in elab_rules

Prerequisites

[X] Put an X between the brackets on this line if you have done all of the following:

Checked that your issue isn't already filed.
Reduced the issue to a self-contained, reproducible test case.

Description
elab_rules : tactic | `(X) Y => sorry

causes
PANIC at Lean.Server.Snapshots.Snapshot.infoTree Lean.Server.Snapshots:55:2: assertion violation: s.cmdState.infoState.trees.size == 1

Steps to Reproduce
Expected behavior:
Just the error
unexpected syntax
  elab_rules : tactic
  | `(X) Y => sorry

Actual behavior:
The error and a PANIC.
Versions
leanprover/lean4:nightly-2021-11-10

Duplicate of #776


Improve Haskell version in both readability and performance.

The pattern "type FooCell = Maybe Foo; data Foo = ..." is usually
avoided in Haskell with just using recursive data type. Also strict
tuples and unboxed data is rarely used in practice.
Unfortunately still using Strict language. Could not reach quite the
same performance without it. Requires some actual performance analysis.

@FranklinChen @314eter Could you, please, provide any comments to this PR? I am completely incompetent in Haskell.

@Jaak Thank you for the improvements!
@FranklinChen Thank you for your thorough review!

Thank you for review!
Yes, that's absolutely true that strictness annotations and UNBOX are idiomatic Haskell. I was merely a bit set back and wondered if it is possible to achieve similar levels of performance without those (and unboxed tuples).
Generally in benchmark shootouts all readability is optimized away in favour of performance. I enjoyed the fact that this code tries to be in the spirit of what a programmer would actually write if performance were not of utmost importance.

I have just updated the scoreboards!


Exclude the current dump file from the dump

Always prevent the current file from being added to the dump.
Fix #13618
Signed-off-by: Andrew Thornton<EMAIL_ADDRESS>

Codecov Report

Merging #14606 (abc7211) into master (e65cfab) will increase coverage by 0.00%.
The diff coverage is 0.00%.

@@           Coverage Diff           @@
##           master   #14606   +/-   ##
=======================================
  Coverage   42.22%   42.22%
=======================================
  Files         764      764
  Lines       81403    81390   -13
=======================================
+ Hits        34369    34370    +1
+ Misses      41426    41412   -14
  Partials     5608     5608

Impacted Files
Coverage Δ

cmd/dump.go
0.93% <0.00%> (+0.05%)
:arrow_up:

modules/git/repo_base_nogogit.go
63.63% <0.00%> (-9.10%)
:arrow_down:

modules/git/utils.go
77.77% <0.00%> (-2.78%)
:arrow_down:

modules/charset/charset.go
73.03% <0.00%> (+4.49%)
:arrow_up:

Continue to review full report at Codecov.

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


lovelace info

Hi there,
Is there any way that we can view your lovelace setup? Thanks

Thanks for asking! I'm looking in a way how to post everything and keep it easy to manage.
Probably for now will just copy "RAW yaml" until I figure better option (will do it tomorrow).

Thanks for asking! I'm looking in a way how to post everything and keep it easy to manage.
Probably for now will just copy "RAW yaml" until I figure better option (will do it tomorrow).

thanks

thanks

I've added yaml files here - they are listed in commit above and you can find them also linked in issue #40

I've added yaml files here - they are listed in commit above and you can find them also linked in issue #40


Port to Mac

This should mostly involve creating something like this: https://github.com/imsnif/what/blob/master/src/os/linux.rs for mac.
Some assumptions have been made in this file, but I'd be happy to give guidance.

Done. Thanks @etoledom!


Automatic Object ID assignment

Since we never really use the Object ID, I would like to have some kind of functionality, which auto assign object id's. For example could I define my object id range in my app.json file and then just insert the next available number whenever I use one of the object snippets.

This is on our backlog. The current plan is that Intellisense will suggest the next available ID per object type.

Okay, thank you for clarifying :)


RuntimeWarning: invalid value encountered in intersection

I am training the model using commad python train_net.py --num-gpus 1 --config-file configs/diffinst.coco.res50.yaml and got following warnings. Also the value of total loss seems bizarre. Can someone help me to fix it?
[04/03 15:11:06 d2.utils.events]:  eta: 1 day, 20:24:21  iter: 19  total_loss: 65.75  loss_ce: 2.293  loss_bbox: 2.555  loss_giou: 2.363  loss_masks: 4.714  loss_ce_0: 2.435  loss_bbox_0: 1.788  loss_giou_0: 1.63  loss_masks_0: 4.604  loss_ce_1: 2.278  loss_bbox_1: 2.009  loss_giou_1: 1.902  loss_masks_1: 4.431  loss_ce_2: 2.357  loss_bbox_2: 1.882  loss_giou_2: 1.984  loss_masks_2: 4.607  loss_ce_3: 2.541  loss_bbox_3: 1.927  loss_giou_3: 2.135  loss_masks_3: 4.574  loss_ce_4: 2.427  loss_bbox_4: 2.114  loss_giou_4: 2.305  loss_masks_4: 4.593  time: 0.3600  data_time: 0.0353  lr: 7.2025e-05  max_mem: 6532M

/cta/users/skoles/.local/lib/python3.10/site-packages/shapely/set_operations.py:133: RuntimeWarning: invalid value encountered in intersection

  return lib.intersection(a, b, **kwargs)

/cta/users/skoles/.local/lib/python3.10/site-packages/shapely/set_operations.py:133: RuntimeWarning: invalid value encountered in intersection

  return lib.intersection(a, b, **kwargs)

/cta/users/skoles/.local/lib/python3.10/site-packages/shapely/set_operations.py:133: RuntimeWarning: invalid value encountered in intersection

  return lib.intersection(a, b, **kwargs)

/cta/users/skoles/.local/lib/python3.10/site-packages/shapely/set_operations.py:133: RuntimeWarning: invalid value encountered in intersection

  return lib.intersection(a, b, **kwargs)

/cta/users/skoles/.local/lib/python3.10/site-packages/shapely/set_operations.py:133: RuntimeWarning: invalid value encountered in intersection

  return lib.intersection(a, b, **kwargs)

/cta/users/skoles/.local/lib/python3.10/site-packages/shapely/set_operations.py:133: RuntimeWarning: invalid value encountered in intersection

  return lib.intersection(a, b, **kwargs)

/cta/users/skoles/.local/lib/python3.10/site-packages/shapely/set_operations.py:133: RuntimeWarning: invalid value encountered in intersection

  return lib.intersection(a, b, **kwargs)

/cta/users/skoles/.local/lib/python3.10/site-packages/shapely/set_operations.py:133: RuntimeWarning: invalid value encountered in intersection

  return lib.intersection(a, b, **kwargs)

/cta/users/skoles/.local/lib/python3.10/site-packages/shapely/set_operations.py:133: RuntimeWarning: invalid value encountered in intersection

  return lib.intersection(a, b, **kwargs)

/cta/users/skoles/.local/lib/python3.10/site-packages/shapely/set_operations.py:133: RuntimeWarning: invalid value encountered in intersection

  return lib.intersection(a, b, **kwargs)

/cta/users/skoles/.local/lib/python3.10/site-packages/shapely/set_operations.py:133: RuntimeWarning: invalid value encountered in intersection

  return lib.intersection(a, b, **kwargs)

[04/03 15:11:14 d2.utils.events]:  eta: 1 day, 21:02:44  iter: 39  total_loss: 61.7  loss_ce: 2.142  loss_bbox: 2.099  loss_giou: 2.09  loss_masks: 4.454  loss_ce_0: 2.057  loss_bbox_0: 1.471  loss_giou_0: 1.772  loss_masks_0: 4.427  loss_ce_1: 2.109  loss_bbox_1: 1.639  loss_giou_1: 1.684  loss_masks_1: 4.436  loss_ce_2: 2.134  loss_bbox_2: 1.766  loss_giou_2: 1.693  loss_masks_2: 4.353  loss_ce_3: 2.105  loss_bbox_3: 2.039  loss_giou_3: 1.866  loss_masks_3: 4.526  loss_ce_4: 2.193  loss_bbox_4: 2.34  loss_giou_4: 2.04  loss_masks_4: 4.451  time: 0.3628  data_time: 0.0046  lr: 0.00012152  max_mem: 6822M

/cta/users/skoles/.local/lib/python3.10/site-packages/shapely/set_operations.py:133: RuntimeWarning: invalid value encountered in intersection

  return lib.intersection(a, b, **kwargs)

/cta/users/skoles/.local/lib/python3.10/site-packages/shapely/set_operations.py:133: RuntimeWarning: invalid value encountered in intersection

  return lib.intersection(a, b, **kwargs)

/cta/users/skoles/.local/lib/python3.10/site-packages/shapely/set_operations.py:133: RuntimeWarning: invalid value encountered in intersection

  return lib.intersection(a, b, **kwargs)

/cta/users/skoles/.local/lib/python3.10/site-packages/shapely/set_operations.py:133: RuntimeWarning: invalid value encountered in intersection

  return lib.intersection(a, b, **kwargs)

/cta/users/skoles/.local/lib/python3.10/site-packages/shapely/set_operations.py:133: RuntimeWarning: invalid value encountered in intersection

  return lib.intersection(a, b, **kwargs)

/cta/users/skoles/.local/lib/python3.10/site-packages/shapely/set_operations.py:133: RuntimeWarning: invalid value encountered in intersection

  return lib.intersection(a, b, **kwargs)

/cta/users/skoles/.local/lib/python3.10/site-packages/shapely/set_operations.py:133: RuntimeWarning: invalid value encountered in intersection

  return lib.intersection(a, b, **kwargs)

/cta/users/skoles/.local/lib/python3.10/site-packages/shapely/set_operations.py:133: RuntimeWarning: invalid value encountered in intersection

  return lib.intersection(a, b, **kwargs)

/cta/users/skoles/.local/lib/python3.10/site-packages/shapely/set_operations.py:133: RuntimeWarning: invalid value encountered in intersection

  return lib.intersection(a, b, **kwargs)

/cta/users/skoles/.local/lib/python3.10/site-packages/shapely/set_operations.py:133: RuntimeWarning: invalid value encountered in intersection

  return lib.intersection(a, b, **kwargs)

/cta/users/skoles/.local/lib/python3.10/site-packages/shapely/set_operations.py:133: RuntimeWarning: invalid value encountered in intersection

  return lib.intersection(a, b, **kwargs)

[04/03 15:11:21 d2.utils.events]:  eta: 1 day, 20:23:54  iter: 59  total_loss: 63.78  loss_ce: 1.991  loss_bbox: 2.183  loss_giou: 2.108  loss_masks: 4.508  loss_ce_0: 2.028  loss_bbox_0: 1.836  loss_giou_0: 1.454  loss_masks_0: 4.359  loss_ce_1: 2.061  loss_bbox_1: 1.798  loss_giou_1: 1.82  loss_masks_1: 4.427  loss_ce_2: 2.037  loss_bbox_2: 1.879  loss_giou_2: 1.816  loss_masks_2: 4.345  loss_ce_3: 1.948  loss_bbox_3: 2.047  loss_giou_3: 1.932  loss_masks_3: 4.36  loss_ce_4: 2.161  loss_bbox_4: 2.239  loss_giou_4: 2.066  loss_masks_4: 4.265  time: 0.3622  data_time: 0.0065  lr: 0.00017102  max_mem: 6822M

I had a same issue and I solved it by down grading the shapely to v1.8.5.


Improve usability of the ls command

Currently the ls command seems a bit inconvenient to use for me since it outputs a long, yet a bit sparse list of text requiring a lot of scrolling to find the variable, function or unit I am actually looking for.
To improve I would suggest two changes:

Use a multi-column layout to reduce the vertical space a bit and to get an immediate glance on all defined variables/functions.
Add subcommands ls variables, ls functions, ls units and ls dimensions to add the possibility to list only variables, functions, units or dimensions, respectfully.

Thank you for the feedback — I fully agree!

Use a multi-column layout to reduce the vertical space a bit and to get an immediate glance on all defined variables/functions.

:+1:

Add subcommands ls variables, ls functions, ls units and ls dimensions to add the possibility to list only variables, functions, units or dimensions, respectfully.

:+1:
Maybe we can also come up with a syntax to specifically look up length units, for example? Like ls units Length. Because that should be fairly easy to implement as well.

Released in https://github.com/sharkdp/numbat/releases/tag/v1.8.0

Very nice, thanks a lot!


Non realtime behaviour in bsk when using message recorders

Describe the bug
I'm attempting to replicate a concept similar to the one found in this paper: https://hanspeterschaub.info/Papers/ColsMargenet2017.pdf
BSK should send data to another process at a constant real-time interval, such as every 10ms. Therefore, the BSK module responsible for transmitting data via TCP should be executed every 10ms in real time. This functions correctly when there are no recorders involved in the simulation.
However, when message recorders are added, some spikes in BSK execution time can be observed (see plots below). As a result, data is not sent every 10ms - sometimes it takes 50-60ms.
In my scenario, the modules run in the following order:

All the DKE modules (this should take very little real time).
Recorders for all these modules, for logging data (ideally, this should also take very little real time, but it appears not to).
A clock synchronization module which sleeps until the real time catches up with the simulated time.
A Python module that sends the data via TCP.

In step 4, the time difference between consecutive calls of UpdateState for this module is also printed, as shown below.
    def __init__(self, modelName, modelActive=True, modelPriority=-1):
        super(ExeTime, self).__init__(modelName, modelActive, modelPriority)
        self.prev_exec = time.time()

    def updateState(self, currentTime):
        execution_time = time.time()
        print(f"{self.name} in ms {1000*(execution_time-self.prev_exec)}")
        self.prev_exec = execution_time

Since this function should ideally be called every 10ms in real-time (as it's just after ClockSynch), it should consistently print a value close to 10ms. The only exception would be the first time, when it displays the difference between init and updateState.
However, my current setup doesn't work perfectly because instead of sending data every 10ms, it sometimes takes considerably longer than that. I've observed some spikes where it took 60ms before this module was reached.
To reproduce
To isolate that these issues are caused by the presence of recorders, here's a stripped-down script: https://github.com/ephraim271/bsk-debug2

test_spike.py: A scenario with numerous cModuleTemplate modules and recorders.
ExeTime.py: This module simply prints the actual time taken between consecutive calls. Ideally, it should be 10ms.
Run using python -u test_spike.py | tee log.txt
plot_time.py: Plots the values printed above.

Without recorders (comment out the part in the script that creates recorders):
This is within acceptable limits

With recorders :
This causes the run to go out of sync:

It appears that recorders are causing some spikes in bsk execution times.
Expected behavior
ExeTime Task runs every 10ms (real time).
(Sim time is always 10ms either way).
Screenshots
Added above
Desktop :

OS: Ubuntu
Version [20.04]
Python version [3.8.10]

Additional context
Are those spikes due to some kind of array resizing of the data structure which stores the recorder values?

Hi @ephraim271 ,
I agree it is worth a look at those spikes in execution time. If I get some time in the coming week(s) I'll poke around. However, Basilisk does not, nor seeks to provide, any real time guarantees in execution.
Ignore the following if it's all old news to you 😄:  I assume you are using the term "real time" precisely. If so, then I note that Basilisk is not a real time system and provides no guarantees (nor purses any such guarantees) of real time behavior. Hard real time execution requires hardware support, whereas soft real time often (not always there are other mechanisms) relies on preferential scheduling from the OS. For Basilisk to meet your timing goals, you must set up your computational load so that the system on which Basilisk runs, is capable of performing its execution in the time you desire.
There is of course the simSynch module which emulates "real time" (or a rough synchronization), but its goal is to slow down Basilisk as its execution is often much faster that a slaved/paired flight target CPU.
It would be interesting to work out what is happening that has the recorders operating in this fashion. However, the metric of success is not real time execution.
I hope this is a little helpful.

@patkenneally Thanks for clarifying! My apologies - I didn't mean to use the term real time precisely, I meant as in "good enough" for this use case. As you mentioned, since BSK is often much faster than the CPU, this setup could hopefully work with modified recorders. (Though as you mentioned, this isn't a requirement of BSK).
I'm not too familiar with the codebase - but digging around I think these spikes are caused due to dynamic resizing of std::vectors (such as msgRecord, etc. ) declared in messaging.h. I'll try reserving some space for these std::vectors and then try them with different scenarios.

I'm not too familiar with the codebase - but digging around I think these spikes are caused due to dynamic resizing of std::vectors (such as msgRecord, etc. ) declared in messaging.h. I'll try reserving some space for these std::vectors and then try them with different scenarios.
Closing the issue for now. Preallocating recorders fixes the issue.


Groups/Tunnels should connect lazily

Groups and tunnels should connect lazily. This would allow groups and tunnels to be specified in a single "inventory" file.
Additionally, Groups should share tunnels to the same hosts, as hosts would typically be in a number of groups.

Implemented in e35fad65355194e5a9145569ab38fe40e73183ec. Scheduling for 1.0 release.


Removed Invalid ECS Task Register Fields

Summary
Invalid ECS task definition fields causing register task action to fail so these were removed.
Relevant Issue(s)
Addresses #126
Checklist

[x] Summarized PR's changes in the Unreleased section of the CHANGELOG.md

Thanks for contributing! Someone will look into the CI issues per #130 (unless you are interested :D)


not compatible with Python 3.4 and later, cannot import module

always got this error after import module
>>> import lunisolar Traceback (most recent call last):   File "<stdin>", line 1, in <module>   File "/home/ryan/Envs/mgmt/lib/python3.4/site-packages/lunisolar/__init__.py", line 1, in <module>     from lunisolar import ChineseDate ImportError: cannot import name 'ChineseDate'
ericof already fix this problem

  File "/Users/username/project/subproject/iclock/models.py", line 13, in <module>
    import lunisolar
  File "/Users/username/project/subproject/venv3/lib/python3.9/site-packages/lunisolar/__init__.py", line 1, in <module>
    from lunisolar import ChineseDate
ImportError: cannot import name 'ChineseDate' from partially initialized module 'lunisolar' (most likely due to a circular import) (/Users/username/project/subproject/venv3/lib/python3.9/site-packages/lunisolar/__init__.py)


MetaInit

The readme mentions:

You can acheive the same thing that this project tries to acheive by using the MetaInit package in debian

MetaInit doesn't seem very well maintained. Most of the links on https://wiki.debian.org/MetaInit are broken. Granted this is not an "issue" of the sample-service-script repository, but for someone who's just found this repo, and seeing the first line of the readme references another solution, it might be nice to also include a note or link to a "Getting started with MetaInit" type of resource.

Nowadays it would be so hard to find such page


IServiceCollection.AddGoogleExceptionLogging(), and IServiceCollection.AddGoogleTracing() should both return a IServiceCollection object

To support syntax like:
var serviceProvider = new ServiceCollection()
                .AddGoogleExceptionLogging()
                .AddGoogleTrace()
                .AddLogging()
                .BuildServiceProvider();

Both AddGoogleExceptionLogging() and AddGoogleTrace should return an IServiceCollection object

@ugavnholt This will be released in the next major release (hopefully in the next two weeks).  Thanks!


[DOCUMENTATION] Link to wiki in the Installation section does not work

[X] I have read the FAQ and my bug is not listed there.

Description
When I click on the link in the Installation section, I get to a weird site that says 'Pagenot found' above the tab but still displays some information. My guess is that it is an outdated link.

Sorry, I forgot to change the tag, now I can't find the location where to change it

https://github.com/nix-community/nixvim/blob/main/README.md#L92
Location I mean

When I open something:

When I click on something:

Duplicate of https://github.com/nix-community/nixvim/issues/1625

My mistake, #1625 is about the links in the docs, while this is about a link to the docs.


Improving the terminal output

i really want to improve the terminal output instead of using simple print function what if we make a table for every repeated outputs like this and this will be implemented for the rest and i also formatted the created-at and the updated at
also i can't test the functionality of those commands
chapa transaction verify --reference REF123
chapa transaction events AP9ARo9XvMO5
with demo account which makes it challenging for me to test things out

Thank you for providing me the credentials it helped me alot there are some major changes i did i will immediately open pull request after i finished
https://github.com/user-attachments/assets/f5715e52-50c6-4a7b-a08a-43f4924132ff

New features
realtime rate exchange and best transaction for of the day from https://banksethiopia.com/ethiopian-birr-exchange-rate/ website i acctually manage to impliment it but insted of scraping the website what if we have an api and a database that will be updated by the github workflow(CD/CI) and the cli will sent the request to the database instead of every user parsing the html content i will be responsible for the scraping stuff but give you the api (so it will be clear and legal on your side)
Or we  ju
st can Drop the feature and fix the docs

Hi @abdimk
Cool idea, but the better way to do this is maybe using an API instead of scrapping, but I don't also see the use of this feature tho.


Manjaro Logo and Bad Transparency Fix

I added the Manjaro logo and its attributions, and also fixed an issue with it that caused a bad transparency error by making sure the logo was RGBA.

Thanks!


vanilla-dmz: init at 0.4.4

Vanilla DMZ cursor theme
/cc @devhell

Sweeeeeeeeet! :+1:

Not sure though if you'd not better split out the commit for the license additions. Just a suggestion.

Not sure though if you'd not better split out the commit for the license additions. Just a suggestion.

Done :)

Neat. Hope it'll be merged soon. ;-) Thank you!

Could you add meta.description? Maybe something like "A style neutral scalable cursor theme".

@cstrahan ping? :)

@cstrahan ping ping? :)

@pSub added description before merging
@cstrahan @devhell merged!

Thanks @pSub  / @garbas!

Thanks @cstrahan @pSub @garbas!


Add add_master_subnet function

Insert a master_subnet

Coverage increased (+0.02%) to 99.283% when pulling 83501d3687bf21b0c93033b4f87afa155e4e2f3f on cpaillet:master into f1fbe0b5aa55f0a7b055ef788d93b4114a61b072 on criteo:master.

Coverage increased (+0.02%) to 99.283% when pulling 83501d3687bf21b0c93033b4f87afa155e4e2f3f on cpaillet:master into f1fbe0b5aa55f0a7b055ef788d93b4114a61b072 on criteo:master.

Coverage increased (+0.02%) to 99.283% when pulling 83501d3687bf21b0c93033b4f87afa155e4e2f3f on cpaillet:master into f1fbe0b5aa55f0a7b055ef788d93b4114a61b072 on criteo:master.

Coverage increased (+0.02%) to 99.283% when pulling 83501d3687bf21b0c93033b4f87afa155e4e2f3f on cpaillet:master into f1fbe0b5aa55f0a7b055ef788d93b4114a61b072 on criteo:master.


Extract discovery package

@brian-brazil
This moves a few things around. Mainly the TargetSet, which collects updates from different TargetProviders is now public.
This required a bit of untangling to separate it from the scrapePools. Both are now brought together by the TargetManager. This will allow us to hook in different logic to get Alertmanager targets.
I think this also made a few things a bit simpler to understand.

I was just working on something similar: https://github.com/tomwilkie/prometheus/tree/decouple-scraping-and-storage
I wanted to reuse the discover, target manager etc in another project, but provide my own callback for scraping.

Yea, that sounds useful too and from a first glance, the change here probably won't impact the changes you made at all.
For alerting the definition of a scrape target doesn't fully match the idea of an Alertmanager target. So this hooks in one layer below.

Rather large change so I haven't looked at everything in detail yet, but overall looks good. I'm gonna give it a spin and report back. Besides that I really like this change as it makes a very nice reusable component/package.

Works for me. Will now do a more in depth review...

lgtm 👍

But given the size of the PR I think another pair of eyes would be good

Got +1 out-of-band. Merging.


Link to packages and source code from 'NuGet Client SDK' page

Link to packages and source code. Clarify relation to web API. Fixes https://github.com/NuGet/docs.microsoft.com-nuget/issues/955

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/reference/NuGet-Client-SDK.md
:white_check_mark:Succeeded
View

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.


do not delete propertys after smooshing..

Actually this
<script type="application/json" id="my-id" src=".."></script>
becomes this after using smoosher
<script> ..content </script>
But I need my id and I need my type-propery. Please do not delete these propertys after smoosing.

oh, good point.

Might go without saying, but I'm only going to do this for script.

Done. Let me know if this works for you.

Yes, fine! It works as expected. Thanks for the fast job!


Changed the error message in case of a nomination_id not being supplied ...

...in the run method. Some documentation for the most important methods. Moved URL strings to constants at the top of the file.

I didn't merge because I'm not using this in production anywhere, but I'm still a :+1: and the PR still merges cleanly.

I don't use it in production either so I'm :+1: .


Make both torch.amp and apex.amp available as backend for mixed precision training

Hi @davidtvs, here is a summary of changes made in this PR for issue #67, #90.
Required changes to integrate torch.amp

torch.cuda.amp.GradScaler has to be passed into LRFinder, because it's will be used in the following stages:

backward pass:# without AMP (automatic precision training), or using `apex.amp`
loss.backward()

# using `torch.amp`
scaler.scale(loss).backward()

optimizer steps:# without AMP, or using `apex.amp`
optimizer.step()

# using `torch.amp`
scaler.step(optimizer)
scaler.update()

torch.amp.autocast() need to be called in forward pass:# without AMP, or using `apex.amp`
outputs = self.model(inputs)
loss = self.criterion(outputs, labels)

# using `torch.amp`
with torch.amp.autocast(device_type=..., dtype=...):
  outputs = self.model(inputs)
  loss = self.criterion(outputs, labels)

Proposed changes
3 new keyword arguments are added to LRFinder.__init__():

amp_backend: a string to select AMP backend
amp_config: a dict to store arguments required by torch.amp.autocast()
grad_scaler: a torch.cuda.amp.GradScaler instance to be used in LRFinder._train_batch()

This should maximize the flexibility for user to control how AMP works with LRFinder.
If there is a need to apply advanced tricks with torch.amp (e.g., for multi-GPUs/models/losses 1), it's still achievable by just overriding LRFinder._train_batch(). So we can focus on the current implementation for gradient accumulation without worrying about other variants.
Note
The new script examples/mnist_with_amp.py can be used to check the results produced by running LRFinder with different AMP backends. Here are the results produced on my machine with command $ python mnist_with_amp.py --batch_size=32 --tqdm --amp_backend=...:

without AMP
apex.amp
torch.amp

* In these 3 figures, suggested LRs are all the same one: 2.42E-01
Package information:

python: 3.9.18
torch: 1.13.1+cu117
apex: 0.1 (compiled from source, and I need to checkout to revision 2386a912164b0c5cfcd8be7a2b890fbac5607c82 to build. see also this comment)

As always, feel free to let me know if there is anything can be improved.

According to this issue https://github.com/actions/setup-python/issues/544, it seems supports for Python<3.6 are dropped after the base image is updated to Ubuntu 22.04.
Also, torch.amp is released in PyTorch 1.6, and the newly added unit tests are designed to test it to run with GPU. So it might not be able to test with current CI setup.

@NaleRaphael, thanks for the PR, looks good. I've updated the CI workflow, it should be functional again. You probably have to rebase this branch.

Sure, wait for a moment and I'll update it.

Fixed f-string issue (to be compatible with Py 3.5).
By the way, there is one thing I forget to mention. Since the default value of the new keyword argument amp_backend is None, AMP won't be enabled even though apex has been installed. The behavior is different to previous revisions because it will use apex.amp automatically if apex is available.
This might be a breaking change to user. However, current behavior seems more reasonable to me now. Because mixed precision training provided by apex would only work with GPUs with tensor cores (RTX series). Though it can run on some pre-Turing cards, performance won't be as good as training in fp32, see also this comment. Therefore, defaulting amp_backend to None should avoid resulting some surprises to users.


ARROW-4681: [Rust] [DataFusion] Partition aware data sources

This PR changes the data source API to support data sources that have partitions. The scan method now returns a Vec<> of iterators.
For now the query execution only works for single partitions.

@andygrove I’ll review tonight at the latest.


希望可以增加知识库引用最大值，现在是10，不太够

This is the Docs repository. Please submit issues regarding product suggestions here: https://github.com/langgenius/dify/issues


Automatic backup not working

I enabled automatic backup on Ubuntu 14.04. Set it to backup at 16:00:00, with a delay of 1h.
Stopped and restarted the server, but so far it doesn't seem to have worked.
What else is required to make automatic backup work?
TIA

Sorry, this should be closed. Automatic backup does work.
The backup folder was created were I wasn't expecting it - in the bin directory.

@lvca - I am a bit confused. According to the docs, there is a setting of backup for a target directory.
http://orientdb.com/docs/2.0/orientdb.wiki/Automatic-Backup.html
Is the setting actually set default to /bin? If yes, the docs are wrong. Also, is that setting supposed to be a relative path or an absolute path?
Or @finid - did you change that setting to /bin and forgot about it? :wink:
Scott

No, did not change anything but the time to start the backup and the delay.
Here's the relevant section of the config file. Everything here are defaults. Notice the value for target.directory:
<handler class="com.orientechnologies.orient.server.handler.OAutomaticBackup">
            <parameters>
                <parameter value="false" name="enabled"/>
                <parameter value="4h" name="delay"/>
                <parameter value="23:00:00" name="firstTime"/>
                <parameter value="backup" name="target.directory"/>
                <parameter value="${DBNAME}-${DATE:yyyyMMddHHmmss}.zip" name="target.fileName"/>
                <parameter value="9" name="compressionLevel"/>
                <parameter value="1048576" name="bufferSize"/>
                <parameter value="" name="db.include"/>
                <parameter value="" name="db.exclude"/>
            </parameters>
        </handler>

@maggiolo00 did you already fix this issue where the firstTime was wrongly interpreted as hh:mm:ss instead of HH:mm:ss

@lvca
i did not work this issue. But seems that a recent pull request fix firstTime .
https://github.com/orientechnologies/orientdb/pull/5042

Just for my own sanity. Where does the backup end up getting stored? In the /bin directory or in the /bin/backup directory or in the /backup directory?
Scott

@smolinari the directory is relative to where OrientDB starts. I suggest to always use an absolute path to avoid such problems.

So, /bin/backup?
Scott


Support logicalName of host address for consistent hash load balancing

Description:
Currently consistent hashing is done using the weighted host's resolved address for both ring hash and maglev implementations. This does not work as intended in containerized workloads like docker, kubernetes etc. because when containers come back up they will most likely have a different resolved address and so will no longer maintain the consistent hash.
We, at Shopify, are using envoy to route to large clusters of redis and we need the hashing to be consistent when redis pods are failed over for whatever reason. But with the current implementation the ring is always resized and rehashed leaving behind inconsistent data.
Recommended Solution
Switch to using logicalName of the address instead. But we will need to keep in mind this comment which talks about the size of the hash_key_buffer.
If this was an intentional use of the resolved address then perhaps we need to introduce an option like useLogicalName(bool) in the ring hash LB config and add a similar config for maglev as well.
Once we agree on a solution, I can work on implementing it. Thanks. cc @mattklein123

@HenryYYang could you comment on this?

@junr03 @HenryYYang @mattklein123 I'm bumping this up to get your attention because I think the current behaviour is not usable in any containerized environmen.
Given that almost every example uses docker and the large number of kubernetes production deployments we might want to treat this as a bug fix and not just a new design proposal. Currently the consistent hash ring will always resize the ring whenever an upstream rejoins.
I do have bandwidth to help fix this issue once we agree on the solution.

@inf-rno I'm sorry but I don't think I fully understand the problem. It seems appropriate that if a pod IP address change you would want to re-hash? What logical names are we talking about exactly? DNS names?

Yes. We are talking about DNS names. This would be a common use case for any upstream that has a consistent naming scheme e.g. In Kubernetes, StatefulSets for a ring, or Services without a ClusterIP, or even if you have some sort of managed DNS solution like Cilium, Consul, or a custom solution like what we have.
In all these use cases when Pods come and go either during deployments/failovers we don't want the rest of the ring to get rehashed.

Sure, having an option to allow the load balancer to use logical name seems fine to me.

I'll pick this up. Thanks Matt!


Change name of empty service profile

Some users told me that they want to have inactive hosts also registered in DETERRERS. This could either be the case when the users want to quickly change an inactive host to an active profile, without a new registration scan, or when the users use DETERRERS for starting scans of their machines. Both use-cases are supported; however, it is confusing when the "empty profile" has no name, at all. We should change it to "No profile", "Closed" or something else, that clarifies the usage.

I propose adding a new "None"-service profile instead of changing the name of the empty profile. With the "None"-profile you would be able to register a host to set it online in DETERRERS while still blocking all traffic at the perimeter FW.
Hosts with an empty profile, however, will still not be available for registration. This should remain to be the initial state for hosts.


Can't override nvim-cmp documentation, documentation border and item menu highlights

Somehow I can't change the nvim-cmp documentation, documentation border and item menu highlights.
I tried:
hlgroups = {
    CmpDocumentation = { bg = colors.yellow },
    CmpDocumentationBorder = { bg = colors.blue },
    CmpItemMenu = { bg = colors.perple },
}

Nothing changes, onedarkpro keep the default highlights.

If you're trying to use default colors from the theme then it should be:
hlgroups = {
    CmpDocumentation = { bg = "${yellow}" },
    CmpDocumentationBorder = { bg = "${blue}" },
    CmpItemMenu = { bg = "${purple}" },
}

as per https://github.com/olimorris/onedarkpro.nvim#configuring-highlight-groups

I'm using neovim 0.7 and I found out that nvim-cmp changed the way highlights are configured.
https://github.com/hrsh7th/nvim-cmp/issues/231#issuecomment-1102917158
https://github.com/hrsh7th/nvim-cmp/pull/472#issuecomment-1098381334
With this update I am able to change the background with CmpPmenu = { bg = colors.blue }. Now, I'm trying to remove the padding and other little things... Anyway, thanks dude!


Concerns about upgrading

Hi! My institution currently uses ESMValTool v2.0, though we are running into some issues on our current computing network so we want to upgrade to the newest version of ESMValTool. My project manager wanted me to ask if there would be any significant changes that we would need to make to our current recipes if we upgrades?
Thank you!

@hsuchyta can you please confirm the version is esmvaltool=2.0.0 (esmvaltool version will tell you) - that release is from August 2020 which is pretty old; let's take discuss things when we know the exact version :beer:

ESMValTool has been pretty stable since v2.0 was released, but there have been some changes, e.g. a few options have been added and removed from the config-user.yml file. I would recommend creating a new installation alongside the existing one and just trying it out. If you run into specific issues, you can ask them here and we will try to help.
From your GitHub account I see that you're working with CESM data, this repository, is that right? Note that newer versions of ESMValTool have gained support for reading CESM model data in its native format for several models, i.e. CMORization is done in-memory to avoid copying lots of files around. If you are indeed working with data from this model, this could be an interesting feature for you.

Thank you, I will try creating a new installation. And yes we are working with CESM data, so that CMORization feature would be extremely useful!
Also I double checked and we are running v2.1.1


feature proposal: objects navigation

It could be useful to quickly navigate between objects, for instance to get the history of a construction.
Differences with the Tree tab

not nested;
only one object can be selected at the same time;
quick navigation: one click to show an other object and hide the previous one (eventually holding and moving the cursor over several items could be used for an even quicker navigation);
semantics: objects navigation will be typically be used to show versions of an object, while the Tree shows nested parts of an object;
can be used in conjunction with the tree to show/hide some parts of each objects.

Usage
Let's suppose we have an object created in 3 steps (here with Build123d):
obj1 = Box(3, 3, 1)
obj2 = chamfer(obj1.edges()[0], 0.5)
obj3 = obj2 - Cylinder(1, 1)

I think about 2 ways to get the navigation ui.
Option A: use a dedicated function that behaves similarly to show_all(), and when using an other show functions, the UI remains unchanged, ex:
show_objects()

Option B: add a parameter to existing functions, ex:
show_all(navigation=True)

Mockup

I am not sure where the object versions should come from?
Each time you show an object, the current object will be tessellated (i.e. the BRep format will be transformed to a mesh structure suitable for threejs). There is no info about any versions.

The navigation tree is meant to navigate between objects. With modifier keys (see help dialog) you can click an object to hide or to isolate at the center

I am not sure where the object versions should come from?

I used the word versions because it was more correct in a semantic point of view, but it's actually regular objects.
Thank you.

The navigation tree is meant to navigate between objects. With modifier keys (see help dialog) you can click an object to hide or to isolate at the center

Nice! But when I shift-click on a tree element, the element is expanded, so root elements are not quickly accessible, because I need to collapse the tree first.
Is there a solution to always keep tree elements collapsed (ie. lock the Expand root node only button)?

Is is possible to always keep tree elements collapsed (ie. lock the Expand root node only button), or to isolate elements without expanding them?

no

no

Ok. I'm closing this in favor of #132, then. I think this is a better approach.


Update navigate-between-two-pages.md

I updated the example showing a name being printed: I think missing this check makes the example strange if someone clicks the HyperlinkButton without entering a string.
If the example is to be used to demonstrate additional checking is needed I think attention should be drawn to that case?

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot