Toggling inspector causes redirect to first screen in stack navigator

I'm attempting to debug some layout issues in a React Native app. When I open the dev tools menu in the iOS Simulator, and hit 'Toggle Inspector', the app jumps back to the first screen in the react-navigation Stack Navigator, and I am unable to get back to the screen I wanted to inspector without turning off the Inspector.
Has anyone else found this issue? I can't provide a link to the repo, however I can answer any questions you have.
React Native version:
System:
OS: macOS 10.14.6
CPU: (8) x64 Intel(R) Core(TM) i7-6920HQ CPU @ 2.90GHz
Memory: 31.86 MB / 16.00 GB
Shell: 5.3 - /bin/zsh
Binaries:
Node: 10.16.0 - ~/.nvm/versions/node/v10.16.0/bin/node
Yarn: 1.17.3 - /usr/local/bin/yarn
npm: 6.9.0 - ~/.nvm/versions/node/v10.16.0/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.2, macOS 10.14, tvOS 12.2, watchOS 5.2
IDEs:
Android Studio: 3.5 AI-191.8<IP_ADDRESS>91312
Xcode: 10.2.1/10E1001 - /usr/bin/xcodebuild
npmPackages:
@react-native-community/cli: ^3.0.0-alpha.2 => 3.0.0-alpha.2
react: 16.8.3 => 16.8.3
react-native: 0.60.5 => 0.60.5
npmGlobalPackages:
react-native-cli: 2.0.1
Steps To Reproduce

Open your React Native app in the iOS simulator
Navigate to a screen which is at leave one level deep in your stack navigator
Open the dev tools menu (CMD-D), and press 'Toggle Inspector'
Inspector appears on the first screen of the stack, and you can't get back to the other screen without disabling inspector.

Describe what you expected to happen:
Inspector UI appears on the screen you are currently on, rather than being taken back to the first screen.
Snack, code example, screenshot, or link to a repository:

My mistake. This is due to me not understanding how the Inspector works 🤦♂
For anyone who has this issue, once you open the inspector, you can switch it on/off by pressing the 'Inspect' button on the toolbar. This will allow you to navigate the app, then turn it on so you can inspect the element you need to.
There seems to be a lack of docs on React Native Inspector, but here is what I did find. https://facebook.github.io/react-native/docs/debugging#integration-with-react-native-inspector
Code: https://github.com/facebook/react-native/tree/master/Libraries/Inspector


graph deploy failed after following the steps of Donumentation

Hi, I've met a wired failure when I run <graph deploy --studio test> from local.
I've followed the steps from the official website:
======== INIT ========

graph init --studio test

==== AUTH & DEPLOY ====

graph auth  --studio 8805c0—150933
cd test
graph codegen && graph build
these 4 steps above were all done successfully, but I got the error below when I running the 5th step <graph deploy --studio test>:
Deploying to Graph node https://api.studio.thegraph.com/deploy/UNCAUGHT EXCEPTION: TypeError [ERR_INVALID_CHAR]: Invalid character in header content ["Authorization"]

pkg version:
@graphprotocol/graph-cli^0.26.0
I've tried several times but nothing changed, plz help ~

I don't know if it's problem of the authorization step or not..

I've been getting the same issue ^

✔ Upload subgraph to IPFS

Build completed: QmRPSwtZHy3FESEVo6sy3FTAF9q1ybcVKhp4yBXiuG8uqh

⠋ Deploying to Graph node https://api.studio.thegraph.com/deploy/UNCAUGHT EXCEPTION: TypeError [ERR_INVALID_CHAR]: Invalid character in header content ["Authorization"]
⠋ Deploying to Graph node https://api.studio.thegraph.com/deploy/

hi @ZhaojiaLii and @sherodtaylor I think you are not putting the correct authorization token. Did you use the copy button to get the auth token? the deploy key shown is just the start and the end  of the token, you need to press copy to get the whole thing

yeah i fixed that @azf20 thats a pretty frustrating ux experience because it looks like a valid key with -. I would change the UI dash to ... and make the section selectable.

yeah ... would make more sense

yeah i fixed that @azf20 thats a pretty frustrating ux experience because it looks like a valid key with -. I would change the UI dash to ... and make the section selectable.

The fact that the same behavior is present in the "Auth & Deploy" steps makes this issue even worse.

ok I solved the problem by copy the right key, the key with " - " is absolutely awesome lol, anyway thank all ~
have a nice weekend !


error: command ['cmake', '-D', 'CMAKE_BUILD_TYPE=RelWithDebInfo', '-G', 'Ninja', '.'] failed

I have just installed yotta manually on my mac, using homebrew. I followed the getting started guide exactly. I was working through the blinky first application tutorial, but I get the following log:
Unknown-88-63-df-a3-2e-e9:blinky georgeedwards$ yotta build
info: generate for target: nordic-nrf51822-armcc 1.0.0 at /Users/georgeedwards/Desktop/blinky/yotta_targets/nordic-nrf51822-armcc
warning: subdirectory "test" of blinky 0.0.0 at /Users/georgeedwards/Desktop/blinky was ignored because it doesn't appear to contain any source files

ERROR: the arm toolchain program armcc could not be found.
Note that the armcc toolchain is not available for Max OS X.
**************************************************************************
CMake Error at /Users/georgeedwards/Desktop/blinky/yotta_targets/mbed-armcc/CMake/toolchain.cmake:42 (message):
  missing program prevents build
Call Stack (most recent call first):
  /Users/georgeedwards/Desktop/blinky/yotta_targets/mbed-armcc/CMake/toolchain.cmake:47 (arm_toolchain_program_notfound)
  toolchain.cmake:8 (include)
  /usr/local/Cellar/cmake/3.5.2/share/cmake/Modules/CMakeDetermineSystem.cmake:98 (include)
  CMakeLists.txt:83 (project)

CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
error: command ['cmake', '-D', 'CMAKE_BUILD_TYPE=RelWithDebInfo', '-G', 'Ninja', '.'] failed

I have aded to my project:

Unknown-88-63-df-a3-2e-e9:blinky georgeedwards$ yotta target
nordic-nrf51822-armcc 1.0.0
mbed-armcc 1.1.0

I followed the installation instructions for both windows and osx on my pc and mac, and both times I have faced the same issue. Not sure if this is an issue with the getting started guide, yotta, the nordic nrf51-DK, or most likely, my interpretation, but it is weird I have faced this using two separate machines and separate steps. I would really appreciate some guidance to get this up and running.

Similarly, If I try with the GCC target, I get this output:
Unknown-88-63-df-a3-2e-e9:blinky georgeedwards$ yotta build
info: generate for target: nordic-nrf51822-32k-gcc 0.1.3 at /Users/georgeedwards/Desktop/blinky/yotta_targets/nordic-nrf51822-32k-gcc
warning: subdirectory "test" of blinky 0.0.0 at /Users/georgeedwards/Desktop/blinky was ignored because it doesn't appear to contain any source files
GCC version is: 5.3.1
omit frame pointer for bootloader startup asm
suppressing warnings from nrf51-sdk
-- The ASM compiler identification is GNU
-- Found assembler: /usr/local/bin/arm-none-eabi-gcc
CMake Error at /Users/georgeedwards/Desktop/blinky/yotta_modules/mbed-hal-nrf51822-mcu/CMakeLists.txt:94 (message):
  Missing PLATFORM_SPECIFIC_HAL_LIB

-- Configuring incomplete, errors occurred!
See also "/Users/georgeedwards/Desktop/blinky/build/nordic-nrf51822-32k-gcc/CMakeFiles/CMakeOutput.log".
error: command ['cmake', '-D', 'CMAKE_BUILD_TYPE=RelWithDebInfo', '-G', 'Ninja', '.'] failed


Add TUSD (Old) Token icon

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:

[x] Filename in the lowercase format
[x] Image format: png
[x] Image size: 256 by 256 px

We intentionally removed old logo for TUSD  to not confuse our users https://etherscan.io/address/0x0000000000085d4780B73119b644AE5ecd22b376


To add a input in donate for animal disease 🐕🦺

Is your feature request related to a problem? Please describe.
We can add input if the animal has any disease or infection , so the person buying should know that as well

Hey @akshitagupta15june I can work on this issue. I have thought about adding 'Animal Disease' input above 'Your Pet's Image' input. This input will take the entire space. And input will accept minimum 100 characters.
e.g:

@GlennDmello17 are you still working on this issue ??


Add some reference books

Link to Task

thanks for the PR :+1:
sorry, we don't wish to put pdfs into the repository and some of them are even not available free.
Feel free to add links to any other legal resources


upgrade cocoapods on travis

FYI I have https://github.com/flutter/plugins/pull/566 that should fix the travis failures after the is committed

@mravn-google thanks for merging. :-)


Documentation on ScaleSet agents inconsistent

One section of the docs on ScaleSet agents says "Select any Linux or Windows image - either from Azure Marketplace or your own custom image"
https://github.com/MicrosoftDocs/azure-devops-docs/blob/cef201d4ca912899b1cba118dc2c90a12a76ad8a/docs/pipelines/agents/scale-set-agents.md?plain=1#L119
A user reading up that point would assume that they can pick any Linux image on the Azure Marketplace to create a ScaleSet agent.
However, some hundred lines further down, another section says "Debian or RedHat Linux distributions aren't supported. Only Ubuntu is."
https://github.com/MicrosoftDocs/azure-devops-docs/blob/cef201d4ca912899b1cba118dc2c90a12a76ad8a/docs/pipelines/agents/scale-set-agents.md?plain=1#L412-L419
Which is correct?

@ltalirz -- Leopold, thank you for your feedback and question.  Please consider these resources:

Azure DevOps Services
Azure DevOps on Stack Overflow

@steved0x -- please look into this issue.

Cheers, for info, the first sentence mentioned was added recently by @silviuandrica


Incomplete code snippet

The first code snippet that shows how to create an identity is missing as '}' character at the end.

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

ID: 0ad8e686-a1c1-3588-bb28-cc72a6131585
Version Independent ID: 37e6e74f-9ceb-ce65-b5f8-540342a6c220
Content: Managed app with managed identity - Azure Managed Applications
Content Source: articles/azure-resource-manager/managed-applications/publish-managed-identity.md
Service: managed-applications
GitHub Login: @davidsmatlak
Microsoft Alias: davidsmatlak

#assign:davidsmatlak

I submitted the fix for this issue and after the pull request is merged, this issue will automatically close. After the merge, the updated document will be online within 24 hours.


Customizer always adds "Print media styles"

When I uncheck print media styles and leave responsive utilities checked, the customizer still adds @media print blocks.

Regrettably, we'll probably punt on this as a won't fix given the age of v3. Trying to focus on v4.


Update the README.md

The README.md has a bad markdown table.
Also throw in the buttons pointing to the PyPi repository.

Commit:
https://github.com/cjcodeproj/musicscan/commit/511911b4036246b7b4ea5e06a380b32592e10a68


Terms that should not be localized

This article contains product name ("Xamarin.Forms") that should not be localized and some of those are being over-localized by Machine Translation. Good news is that we can now prevent this over-localization using the no-loc custom metadata like below:
no-loc: [Xamarin.Forms, Xamarin.Essentials]
It would be great if you could add above to all Xamarin.Forms related articles.

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

ID: fe23a45b-384d-31ed-917a-4d7e60158778
Version Independent ID: dd49e8ac-5a48-8cb3-36ae-8af9c40a880d
Content: Xamarin.Forms Controls Class Hierarchy - Xamarin
Content Source: docs/xamarin-forms/internals/class-hierarchy.md
Product: xamarin
Technology: xamarin-forms
GitHub Login: @davidbritch
Microsoft Alias: dabritch

I'll do this towards the end of the week.

I've added the above no-loc metadata to all docs in the following trees:

/xamarin/essentials
/xamarin/get-started
/xamarin/xamarin-forms

If there are any problems, let me know.


feat(image-jsx): automatic compression and transcoding for AVIF, WebP…

Automatic compression and transcoding for AVIF, WebP, and original formats.
Provides smaller image formats while ensuring proper display on low-end devices.
Overview

This commit enhances the image processing functionality. Now, the image tools automatically compress and transcode AVIF, WebP, and original formats, providing smaller image formats while ensuring proper display on low-end devices.
What is it?

[x] Feature / enhancement
[ ] Bug
[ ] Docs / tests / types / typos

Description
This commit enhances the image processing functionality. Now, the image tools automatically compress and transcode AVIF, WebP, and original formats. It provides smaller image formats while ensuring proper display on low-end devices. This improvement contributes to enhancing user experience, particularly for users with lower-performance devices.
Use cases and why

A single configuration allows selecting either AVIF, WebP, or PNG image formats. Choosing AVIF format will result in images not being displayed on devices that do not support AVIF.

Similarly, selecting WebP format will result in images not being displayed on devices that do not support WebP.

Checklist:

[x] My code follows the developer guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have made corresponding changes to the documentation
[ ] Added new tests to cover the fix / functionality

The idea is good but then you also need to change the jsx output so that it uses <picture> instead of <img>, because srcset doesn't let you tell the browser what the type is
https://stackoverflow.com/a/67698595/124416

I'll work on implementing it and testing its effectiveness as soon as possible. Thanks  for the reminder!

这个想法很好，但是您还需要更改 jsx 输出，以便它使用<picture>而不是<img>，因为 srcset 不允许您告诉浏览器类型是什么很好，但是您需要更改 jsx 输出，以便它使用  而不是 ，因为 srcset 没有告诉浏览器类型是什么
https://stackoverflow.com/a/67698595/124416https://stackoverflow.com/a/67698595/124416

Is there anything else I need to do ？

@wmertens is this ready?

if we have unit/e2e tests we should be fine

I think we should make this configurable, and in V2 we enable it by default.
What do you think @xhcy1314 ?

I think we should make this configurable, and in V2 we enable it by default.
So right now, by default keep the img output as-is, but allow avif with picture via a setting.
What do you think @xhcy1314 ?

I think this approach is reasonable. By making this feature configurable, we can introduce the new format without disrupting the current workflow. Enabling it by default in V2 will reduce the cognitive load on users, allowing them to focus on their business code.
However, i need your suggestion on what to name this configuration key.

@xhcy1314 how about this:

make the default format webp again
add jsdoc to the format parameter to explain that you can set multiple formats separated by ;
if there are multiple formats, generate a picture, otherwise an img

@xhcy1314这个怎么样：

重新设置默认格式 webp
在格式参数中添加 jsdoc，说明可以设置多个格式，用;
如果有多种格式，则生成一张图片，否则生成一个 img

Apologies for the delay. I was deeply immersed in business tasks until now, but I have now completed the code modifications as per our previous agreement. Could you please confirm if everything now meets the requirements?


Improve mountinfo filtering for hotplugging NFS disks

What this PR does / why we need it:
When a VM was running multiple NFS disks (one boot disk) and one hotplugged disk. The mount filtering was returning multiple possible mounts on the host, and sorting on the length of the 'root' path of the mount. For NFS these are the same (/). This caused the wrong NFS mount to be picked when hotplugging and an attempt was made to hotplug the boot disk. This commit improves the situation by passing the 'source' field to the filter, and it filters out entries that don't have matching sources. This allows us to find the correct mount on the host.
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

BugFix: allow multiple NFS disks to be used/hotplugged

/retest-required

/lgtm
/approve

/cherrypick release-0.59


Display latest post title on homepage automatically

To prevent needing to update it manually every time (ala https://github.com/babel/babel.github.io/pull/1167)... we should be able to grab the latest via:
{% assign post = site.posts.first %}

too smart, didn't even think about that 🙌


Add Pull Request Title Check

Pull Request
Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#16
#15
#14
#13
#12  👈
#4
#3
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @JackPlowman and the rest of your teammates on  Graphite


Appstudio update test-component-pac-scio

Pipelines as Code configuration proposal
To start the PipelineRun, add a new comment with content /ok-to-test
For more detailed information about running a PipelineRun, please refer to Pipelines as Code documentation Running the PipelineRun
To customize the proposed PipelineRuns after merge, please refer to Build Pipeline customization

Pipelines as Code CI/test-component-pac-scio-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
6 seconds
init

✅ Succeeded
15 seconds
clone-repository

✅ Succeeded
26 seconds
build-container

✅ Succeeded
12 seconds
sast-snyk-check

✅ Succeeded
8 seconds
inspect-image

✅ Succeeded
8 seconds
deprecated-base-image-check

✅ Succeeded
36 seconds
clamav-scan

✅ Succeeded
8 seconds
sbom-json-check

✅ Succeeded
9 seconds
clair-scan

✅ Succeeded
6 seconds
show-sbom

✅ Succeeded
6 seconds
show-summary

Pipelines as Code CI/test-component-pac-scio-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
7 seconds
init

✅ Succeeded
13 seconds
clone-repository

✅ Succeeded
22 seconds
build-container

✅ Succeeded
48 seconds
sast-snyk-check

✅ Succeeded
8 seconds
inspect-image

✅ Succeeded
7 seconds
deprecated-base-image-check

✅ Succeeded
8 seconds
clair-scan

✅ Succeeded
33 seconds
clamav-scan

✅ Succeeded
8 seconds
sbom-json-check

✅ Succeeded
5 seconds
show-sbom

✅ Succeeded
4 seconds
show-summary


Export actions on top level

I think it would be useful, if we exported all actions on the top level object.
The use cases for this are for example:

triggering a change to a form outside of a component (for example when we need to prefil it with data we do not have at reducer-init time)
resetting a form (as mentioned in #11)

In code:
import { change, reset } from 'redux-form';

// change a form field or initially populate it prior to rendering
change('myForm', 'myField', 'whoop');

// reset a form
reset('myForm');

Thoughts?

How's that for response time? :smile:

:+1: amazing!


fix to handle '/' or '\'

Overview
simply use os.sep instead of '/' to handle Windows or Linux  systems
Related Issue / Discussion
this fixes issue in Windows
Could not load custom mappings: Import by filename is not supported.
Traceback (most recent call last):
File "D:\work\geonode\env_10\lib\site-packages\pycsw\server.py", line 192, in init
mappings = import(module, fromlist=[''])
ImportError: Import by filename is not supported.
Contributions and Licensing
(as per https://github.com/geopython/pycsw/blob/master/CONTRIBUTING.rst#contributions-and-licensing)

[ *] I'd like to contribute bugfix  to pycsw. I confirm that my contributions to pycsw will be compatible with the pycsw license guidelines at the time of contribution.
[* ] I have already previously agreed to the pycsw Contributions and Licensing Guidelines

Thanks @ahmednoureldeen !


Diagram deployment via the modeler is tracked in ET

Is your feature request related to a problem? Please describe.
We want to send events to ET every time the user deploys a diagram. This allows us to track the general usage of the deployment tool. In the future, we also want to gather further information about the deployed diagrams, e.g. the number of available process variables (cf. #1971). It helps us to understand what kind of diagrams our users are deploying to Camunda BPM from the Modeler.
Describe the solution you'd like

[x] Before starting the implementation, make sure to align with E.T. team, process is described here: https://confluence.camunda.com/display/camBPM/ET+-+Easy+Telemetry
[ ] Create event handler according to definition
[ ] Update Telemetry docs afterwards

Describe alternatives you've considered
/
Additional context
Telemetry docs

Example Deployment configuration
{
  "endpoint": {
    "url": "http://localhost:8080/engine-rest",
    "authType": "basic",
    "rememberCredentials": false,
    "id": "1pcrg8r"
  },
  "deployment": {
    "name": "diagram_1",
    "tenantId": "foo"
  }
}

++ BPMN / DMN XML File
Example Engine Response
{
  "id": "513d299e-0d36-11eb-82d2-b2bc80b7051a",
  "deployedProcessDefinitions": {
    "Process_1mh744l:1:51442e80-0d36-11eb-82d2-b2bc80b7051a": {
      "id": "Process_1mh744l:1:51442e80-0d36-11eb-82d2-b2bc80b7051a",
      "key": "Process_1mh744l",
      "category": "http://bpmn.io/schema/bpmn",
      "description": null,
      "name": null,
      "version": 1,
      "resource": "diagram_1.bpmn",
      "deploymentId": "513d299e-0d36-11eb-82d2-b2bc80b7051a",
      "diagram": null,
      "suspended": false,
      "tenantId": "foo",
      "versionTag": null,
      "historyTimeToLive": null,
      "startableInTasklist": true
    }
  },
  "deployedProcessDefinition": {
    "id": "Process_1mh744l:1:51442e80-0d36-11eb-82d2-b2bc80b7051a",
    "key": "Process_1mh744l",
    "category": "http://bpmn.io/schema/bpmn",
    "description": null,
    "name": null,
    "version": 1,
    "resource": "diagram_1.bpmn",
    "deploymentId": "513d299e-0d36-11eb-82d2-b2bc80b7051a",
    "diagram": null,
    "suspended": false,
    "tenantId": "foo",
    "versionTag": null,
    "historyTimeToLive": null,
    "startableInTasklist": true
  }
}

Example event to e.t.
{
  "installation": "[THE_EDITOR_ID]",
  "product": {
    "name": "Camunda Modeler",
    "version": "[MODELER_VERISON]",
    "edition": "community",
    "internals": {
      "event": "deployment",
      "diagram-type": "bpmn",
      "outcome": "success",
      "diagram-metrics": {
         "process-variables-count": 10
     }
    }
  }
}

Optionally we could add another field isRun to indicate a deployment triggered via the Run Instance tool.

Optionally we could add another field isRun to indicate a deployment triggered via the Run Instance tool.

Alternatively: Simply track runs, too.

Internal discussion:

Volker pointed me to a valid topic yesterday in regards of the upcoming E.T. events. We should align our property names. E.g. in https://github.com/camunda/camunda-modeler/tree/develop/docs/telemetry#diagram-opened-event we already use different styles (camelCase, e.g. elementTemplateCount and not-camel-case, e.g. diagram-type). I think we can’t align existing events, since they are already out there. But we should definitely do it with the next events (deployment and co.).
I’d argue to use camelCase for all properties, since it’s already common in our code base, also the Optimize team seems to do the same.

Since camelCase is the preferred version, we should go for it as a consistent naming style. I'd also propose to make attributes explicit to make analysis clearer, therefore the event could look like
{
  "installation": "[THE_EDITOR_ID]",
  "product": {
    "name": "Camunda Modeler",
    "version": "[MODELER_VERISON]",
    "edition": "community",
    "internals": {
      "event": "deployment",
      "deployment": {
         "diagramType": "bpmn",
         "outcome": "success",
         "diagramMetrics": {
           "processVariablesCount": 10
         }
       }
    }
  }
}

Decisions after meeting with @volkergersabeck and @MaxTru (Goal shall be to make the events more aligned and keep the structure generic for future events)

We will always use camelCase inside our events, therefore we will update the diagram-open event. It's okay that there are already events on E.T. with the other style
We will keep generic attributes like diagramType and diagramMetrics inside the "root" (.internals), and cluster event related attributes, so e.g.

"internals": {
      "event": "deployment",
      "diagramType": "bpmn",
      "deployment": {
        "outcome": "DIAGRAM_PARSE_ERROR",
        "isRun": true
      },
      "diagramMetrics": {
         "processVariablesCount": 0
      }
}

We will align the "outcome" attribute to only have the values "success", "failure" (and "warning" in the future)
We will store the error code in a dedicated attribute "error", the code should be enough for now, we could extend this in the future
We will see whether it's easy to add the processVariableCount to the diagram opened event as well, if yes, we will go for it


CPU at 100% when using BlockingWaitStrategy

Hi,
We are using the Disruptor to send events to various parts of our application, when our server starts sometimes the CPU spikes up and stays at 100%, however in other times the CPU sits idle at 3 - 5% (which is normal).  I would normally see this as something in the application timing or otherwise that would cause this issue.  However I have dug a little deeper into this and run some monitoring tools like jvmtop (https://github.com/patric-r/jvmtop) and it looks like my WorkerPool threads (10 threads) are spinning despite using the BlockingWaitStrategy.  Could this be somewhat related to https://github.com/LMAX-Exchange/disruptor/issues/149?
Environment:
Java: 1.7.0_71
Disruptor: 3.3.4
Below are jstack traces for my threads (only including stacktrace for 1 thread in each usecase for brevity, however all threads show the exact stacktrace):
Spinning thread causing 100% CPU
"Outgoing Worker-thread-9" prio=10 tid=0x00007f2d8d65e800 nid=0x64fd runnable [0x00007f2d7a4c2000]   java.lang.Thread.State: RUNNABLE        at com.lmax.disruptor.ProcessingSequenceBarrier.waitFor(ProcessingSequenceBarrier.java:56)        at com.lmax.disruptor.WorkProcessor.run(WorkProcessor.java:144)        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)        at java.lang.Thread.run(Thread.java:745)
Idle thread causing 3-5% CPU
"Outgoing Worker-thread-10" prio=10 tid=0x00007f441d667800 nid=0x7887 waiting on condition [0x00007f4408866000]   java.lang.Thread.State: WAITING (parking)        at sun.misc.Unsafe.park(Native Method)        - parking to wait for  <0x00000007030168c8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)        at com.lmax.disruptor.BlockingWaitStrategy.waitFor(BlockingWaitStrategy.java:45)        at com.lmax.disruptor.ProcessingSequenceBarrier.waitFor(ProcessingSequenceBarrier.java:56)        at com.lmax.disruptor.WorkProcessor.run(WorkProcessor.java:144)        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)        at java.lang.Thread.run(Thread.java:745)
I setup the RingBuffer / WorkerPool using the following code:
`this.executorService = Executors.newFixedThreadPool(numberOfOutgoingWorkers, threadFactory);
	this.dispatchEventHandlerWorkers = new DispatchEventHandler[numberOfOutgoingWorkers];
	for (int i = 0; i < numberOfOutgoingWorkers; i++) {
		this.dispatchEventHandlerWorkers[i] = new DispatchEventHandler();
	}

	this.ringBuffer = RingBuffer.createMultiProducer(DispatchItemHolder.EVENT_FACTORY, dispatchQueueCapacity, new BlockingWaitStrategy());
	SequenceBarrier barrier = this.ringBuffer.newBarrier();

	this.workerPool = new WorkerPool<>(this.ringBuffer, barrier, new Slf4jIgnoreExceptionHandler(), this.dispatchEventHandlerWorkers);
	this.workerPool.start(this.executorService);`

The RingBuffer itself is still fully operational.  It is still able to both accept events, and dispatch them via the WorkerPool.  It is just that my WorkerPool threads are spinning.  Is there anything within Disruptor itself that could cause the WorkerPool threads to not honour the WaitStrategy?

Do you have a cut down example that shows the issue?  There are a couple of cases where this could occur, but I'd like to see your specific case.

Thanks for your quick reply.  Unfortunately this only happens in our production environment and its not something that I can easily reproduce.  The code above is all the code we use to create the RingBuffer and WorkerPool.  Unfortunately I'm not too sure how I could potentially provide a cutdown example at the moment, but its something that we see regularly in just our production environment so I can run some more diagnostics if required.
Do you have any clues on how this could happen from your side to see if it could spark me off?

Would you mind tell me what is your OS and hardware ?
I have some memory barrier issue in RH 6.6.

Hardware: Intel Xeon E7, xv/Xeon E5 v2/Core i7
OS: Red Hat 6.7

mm... Hardware is similarly( We use HP DL380 gen9), they are all Haswell servers.
We have CPU problem when OS is RH 6.6(first version), cause RH 6.6(first version) have memory barrier issue.
We fix the issue via update the latest hotfix(6.6 latest version is OK ) and upgrade to  RH 6.7.(latest version)
So, My next question is what sub-version is your RH 6.7?
In disruptor, memory barrier is very important, so I just remind you that maybe your OS is issue root cause.

Yes - interestingly, this only happens on our Prod env at a certain part of the day (scheduled daily bounce?!)
Normally all 10 worker threads are blocked as part of the BlockedWaitStrategy, however this morning I saw that only 7/10 threads were blocked, the rest (3) were running as per the associated stacktraces above
Apologies, not quite familar with retrieving the sub-version.  Is this what you're looking for?
Linux version 2.6.32-573.26.1.el6.x86_64<EMAIL_ADDRESS>(gcc version 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC) ) #1 SMP Tue Apr 12 01:47:01 EDT 2016

Would it be possible to capture a number of stack traces when the code is stuck at 100%.  The stack trace shown doesn't show where within the BlockWaitStrategy waitFor method is spinning.

Just to make sure I get you what you need, do you want this over time? Or across multiple WorkerPool threads at the same time?  I'm currently using jstack to capture the stacktrace at the moment.  Let me know if there is something else that you want me to use to give you more information.  I'll try to get it for you.

I think I need multiple results.  I can't see from the stack trace provided exactly where it is spinning.  There are a number of places where this could happen with the referenced method.  I am hoping that this is a timing thing.  If we could see 5-10 jstack traced of the spinning thread that might show up the location of the issue.
It is possible that we are seeing as much detail as we can already (long discussion about safepoints would explain why), but doing the above investigation would help determine that too.

Ok.  I've tried to perform a naive 'while true, jstack, sleep 1' loop, but the traces looked to be exactly the same.  I'll run it again for longer to see if I can generate a slightly different trace for the spinning thread

I have just seen this issue today.  After taking jstacks for 5 minutes without sleeping, the stacktraces for the spinning threads (7 out of 10 in this case) are all the same, but slightly different stacktrace to the original one posted,
Outgoing Worker-thread-9" prio=10 tid=0x00007f6c09628000 nid=0x34b1 runnable [0x00007f6bf5c90000]    java.lang.Thread.State: RUNNABLE         at com.lmax.disruptor.WorkProcessor.run(WorkProcessor.java:159)         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)         at java.lang.Thread.run(Thread.java:745)
The standard 'bounce' of the application server 'fixed' the problem again.
Interestingly, running version 3.3.4, the line the stacktraces are on is WorkProcessor.java:159 which points to an end } it seems

Are you perhaps running the latest from the git repo?

It came via gradlew mavenCentral, which looks like here
http://mvnrepository.com/artifact/com.lmax/disruptor/3.3.4
I've just pulled down the file and the decompiled version's line numbers of the WorkProcessor correlate...

Just some further observations.  I ran the jstack command over a longer period and tried to enact some load on our server.  9 of the 10 threads were in a spinning state, leaving only one thread in a normal blocked state when idle.
However when I login to the system a flurry of messages get sent to the server, in a normal case, this load is distributed amongst the 10 threads.  Looking at today's jstack logs, only the one thread was responding to my login and interaction with the system, whilst all other threads stayed spinning.
Could there be a situation where these spinning threads are almost inaccessible to the WorkerPool itself?  Rogue threads so to speak?

Can you test again with 3.3.5?

Let me give it a go.  It will take a while unfortunately as it will need to propagate through to the Prod environment.  Thanks!

It maybe worth getting a stack trace with native frames jstack -m to see if you are affected by the following JVM bug:

Infinite loop in handle_wrong_method in jmod
JVM stuck in SharedRuntime::handle_wrong_method with 100% CPU

I've just had this issue on one of our other environments which has never happened before until today running 3.3.4.  Just had this environment upgraded to 3.3.5 so I guess we'll see what happens here
@laec I've taken a jstack -m, however I'm not exactly too sure what I should be looking for.  Searching for disruptor in the jstack I can only see the following.  Is there anything else that I should be looking for, certain calls etc?
----------------- 17109 ----------------- 0x000000354220b68c      __pthread_cond_wait + 0xcc 0x00007f8559dd95a5      Unsafe_Park + 0x125 0x00007f854b185c39      * sun.misc.Unsafe.park(boolean, long) bci:0 (Interpreted frame) 0x00007f854b1730d8      * java.util.concurrent.locks.LockSupport.park(java.lang.Object) bci:14 line:186 (Interpreted frame) 0x00007f854b1730d8      * java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await() bci:42 line:2043 (Interpreted frame) 0x00007f854b173786      * com.lmax.disruptor.BlockingWaitStrategy.waitFor(long, com.lmax.disruptor.Sequence, com.lmax.disruptor.Sequence, com.lmax.disruptor.SequenceBarrier) bci:38 line:45 (Interpreted frame) 0x00007f854b1738a3      * com.lmax.disruptor.ProcessingSequenceBarrier.waitFor(long) bci:18 line:56 (Interpreted frame) 0x00007f854b1738a3      * com.lmax.disruptor.BatchEventProcessor.run() bci:52 line:124 (Interpreted frame) 0x00007f854b173786      * java.util.concurrent.ThreadPoolExecutor.runWorker(java.util.concurrent.ThreadPoolExecutor$Worker) bci:95 line:1145 (Interpreted frame) 0x00007f854b1730d8      * java.util.concurrent.ThreadPoolExecutor$Worker.run() bci:5 line:615 (Interpreted frame) 0x00007f854b173786      * java.lang.Thread.run() bci:11 line:745 (Interpreted frame) 0x00007f854b16d4e7      <StubRoutines> 0x00007f8559a5c085      _ZN9JavaCalls11call_helperEP9JavaValueP12methodHandleP17JavaCallArgumentsP6Thread + 0x365 0x00007f8559a5aae8      _ZN9JavaCalls4callEP9JavaValue12methodHandleP17JavaCallArgumentsP6Thread + 0x28 0x00007f8559a5adb7      _ZN9JavaCalls12call_virtualEP9JavaValue11KlassHandleP6SymbolS4_P17JavaCallArgumentsP6Thread + 0x197 0x00007f8559a5aed7      _ZN9JavaCalls12call_virtualEP9JavaValue6Handle11KlassHandleP6SymbolS5_P6Thread + 0x47 0x00007f8559ad7ef5      _ZL12thread_entryP10JavaThreadP6Thread + 0xe5 0x00007f8559db592f      _ZN10JavaThread17thread_main_innerEv + 0xdf 0x00007f8559db5a35      _ZN10JavaThread3runEv + 0xf5 0x00007f8559c7c4b8      _ZL10java_startP6Thread + 0x108


blog updates

@AOrthVector , I think it would be good to get the slides from Randall to perhaps post in the meetings, and I think we should do an updated blog "activity" post on GenevaERS.org. It could include (1) links to the TSC meetings minutes and videos for the TAC and the two TSC meetings, (2) and Randall's slides, (3) and the logo results. We can also update the site with the new logos.

Via GitHubs advanced search, I pasted the created URL to to add a link to the TSC minutes. I'm not in love with this solution, but I don't want to do something manual either
However, I couldn't build a search URL for the mp4s because GitHubs advanced search only wants to search on code

Can someone give me a blurb on why having a logo is an important step in the project's journey. My creativity so far extends to "yay! we have a logo" which probably isn't enough
@KipTwitchell @rhness

ah, @AOrthVector I just found this link; there is much to do here, from the TSC checklist.  https://github.com/openmainframeproject/foundation/issues/new/choose

Out of this list, I think the only applicable items are the latest version of Randall's slides and updating the website with links to the TSC meeting assets and TAC

Issues resolved.


Plugin not compatible with core v2?

Hi! I'm using jaxon-core v2, jaxon-dialogs, and now I'm trying to install this plugin, via composer, and getting
- jaxon-php/jaxon-jquery v1.0.0 requires jaxon-php/jaxon-core ~1.0 -> satisfiable by jaxon-php/jaxon-core[v1.0.0, v1.0.1, v1.0.10, v1.0.11, v1.0.12, v1.0.13, v1.0.14, v1.0.15, v1.0.16, v1.0.17, v1.0.18, v1.0.19, v1.0.2, v1.0.3, v1.0.4, v1.0.5, v1.0.6, v1.0.7, v1.0.8, v1.0.9, v1.0.x-dev] but these conflict with your requirements or minimum-stability.
Is it something I'm doing wrong or this plugin doesn't work with jaxon-core v2?
Thanks!

Hi,
This plugin is now deprecated and its features are included in jaxon-core since version 2.


[Fix-14512][BOM] kubernetes-client version conflict

Purpose of the pull request

close #14512

Brief change log
SpringCloud often support cloud-native features in two ways, by using native kubernetes-client dependency and fabric8io-kubernetes-client, including loading properties from ConfigMap in out project.
If we have to use 6.0.0+ version fabric8io-kubernetes-client for pod log watcher and it's incompatible with SpringCloud 2021.x, we can use native kubernetes-client for SpringCloud.

Verify this pull request

This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:

(or)
If your pull request contain incompatible change, you should also add it to docs/docs/en/guide/upgrede/incompatible.md

If we have to use 6.0.0+ version fabric8io-kubernetes-client for pod log watcher and it's incompatible with SpringCloud 2021.x, we can use native kubernetes-client for SpringCloud.

This means we will have both kubernetes clients (official one and fabric8 one), unless you want to remove one of them rewrite all the existing related codes
BTW Spring Boot 2 will be EOL soon (4 months to come) and upgrading is often a preferable choice than downgrading.

Hi @kezhenxu94 , thanks for your comment

This means we will have both kubernetes clients (official one and fabric8 one).

Yes, can we keep two clients temporarily for quick fix (before release 3.2.0)? I don't find other suitable solutions 😢

BTW Spring Boot 2 will be EOL soon (4 months to come) and upgrading is often a preferable choice than downgrading.

Gotcha, I think we can consider upgrading our Spring version and then we can unify the kubernetes client, either. WDYT?

Codecov Report

Merging #14561 (c76a629) into dev (e6d9463) will increase coverage by 0.00%.
The diff coverage is n/a.

:exclamation: Current head c76a629 differs from pull request most recent head a48ae76. Consider uploading reports for the commit a48ae76 to get more accurate results

@@            Coverage Diff            @@
##                dev   #14561   +/-   ##
=========================================
  Coverage     38.67%   38.68%
+ Complexity     4574     4571    -3
=========================================
  Files          1241     1241
  Lines         43568    43520   -48
  Branches       4828     4796   -32
=========================================
- Hits          16850    16834   -16
+ Misses        24848    24818   -30
+ Partials       1870     1868    -2

see 37 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Hi @kezhenxu94 , thanks for your comment

This means we will have both kubernetes clients (official one and fabric8 one).

Yes, can we keep two clients temporarily for quick fix (before release 3.2.0)? I don't find other suitable solutions 😢

I'm -0, but if you insist, please make sure the kubernetes-client is only used by Spring, not in our codes, because fabric8 client is already used in our codes, if we want to unify the clients eventually, please minimize the possible changes from now

I'm -0, but if you insist, please make sure the kubernetes-client is only used by Spring, not in our codes.

Thanks for reminding! I will pay more attention to the usage of kubernetes-client for future PR, and finally unify to fabric8 when we upgrade to SpringBoot 3.0.

I'm -0, but if you insist, please make sure the kubernetes-client is only used by Spring, not in our codes.

Thanks for reminding! I will pay more attention to the usage of kubernetes-client for future PR, and finally unify to fabric8 when we upgrade to SpringBoot 3.0.

Maybe you could add a // TODO: xxxxx in comment in case we forget this unification stuff.

I'm -0, but if you insist, please make sure the kubernetes-client is only used by Spring, not in our codes.

Thanks for reminding! I will pay more attention to the usage of kubernetes-client for future PR, and finally unify to fabric8 when we upgrade to SpringBoot 3.0.

Maybe you could add a // TODO: xxxxx in comment in case we forget this unification stuff.

Filing an issue is preferable to track the issue, and adding a spotless rule to disallow usages of classes from kubernetes-client is best

skip merge and wait add spotless rules

rerun ci


Fix: Permission Handling Issues in Microphone and Camera Capture Dialogs

Proposed Changes

Fixes #8829
In the Record audio modal, the recording timer now starts only after the user grants microphone access. If permission is denied, an appropriate error message is displayed to the user.
In the Open Camera modal, when camera access is blocked, a proper error message is shown instead of an empty container. The camera no longer freezes after clicking the Switch button, and a clear message is displayed if the camera cannot be switched.

Video:
https://github.com/user-attachments/assets/39556953-d678-4e18-8296-c6155a39bf86
@ohcnetwork/care-fe-code-reviewers
Merge Checklist

[ ] Add specs that demonstrate bug / test a new feature.
[ ] Update product documentation.
[ ] Ensure that UI text is kept in I18n files.
[ ] Prep screenshot or demo video for changelog entry, and attach it to issue.
[ ] Request for Peer Reviews
[ ] Completion of QA

LGTM


Chrisda to Main

Docs Build status updates of commit 0662d52:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/Remove-DeviceConditionalAccessRule.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Remove-DeviceConfigurationPolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Remove-DeviceConfigurationRule.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Remove-DeviceTenantPolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Remove-DeviceTenantRule.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Remove-DlpCompliancePolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Remove-DlpComplianceRule.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Remove-DlpEdmSchema.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Remove-DlpKeywordDictionary.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Remove-DlpSensitiveInformationType.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Remove-DlpSensitiveInformationTypeRulePackage.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Remove-EOPDistributionGroup.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Remove-EOPMailUser.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Remove-FilePlanPropertyAuthority.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Remove-FilePlanPropertyCategory.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Remove-FilePlanPropertyCitation.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Remove-FilePlanPropertyDepartment.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Remove-FilePlanPropertyReferenceId.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Remove-FilePlanPropertySubCategory.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Remove-HoldCompliancePolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Remove-HoldComplianceRule.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Remove-HostedOutboundSpamFilterPolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Remove-HostedOutboundSpamFilterRule.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Remove-InformationBarrierPolicy.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/Remove-Label.md
:white_check_mark:Succeeded
View (exchange-ps)

This comment lists only the first 25 files in the pull request.
For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


File Manager: Stuck post-upload dialog

File Upload Modal Not Closing After A Successful Upload

I having this issue also. Please Help. Thanks

What theme version exactly do you run?

The default theme after a fresh install.

Please go to the Dashboard and tell me what is Authentic Theme number you got there?

I'm having this isseu when I use theme 19.09 to 19.10-beta1

It shouldn't happen on 19.10-beta1, just as not should happen on 19.09.2.
I double checked it. It's the cache issue. Please clear browser's cache and try again.

Clearing the browser's cache didn't fix it. I tried reinstalling everything and it's fine. The only issue left is it takes a very long time for the modal to close. I uploaded a 1KB file.

Have a look. Isn't it the same for you?
Video-screencast example.
Could you make a video-screencast of how it works for you?

https://vimeo.com/258939800

I see now. Can you open the private window, login and try again?
What happens if you close the modal window by clicking the cross button and refresh directory content manually?
What happens if you upload large file?

The file uploads successfully. It just takes long time for the modal to close.

Open the private (incognito) tab in browser, login and try again. Waht do you get?

Same thing. The file uploads successfully but the modal doesn't close right away.

I have the same issue as dummyuserrr.
Modal doesn't close after successful upload.
I've the latest dev version of authentic theme

And the exact installed version of the theme is?

@fdmgit What is your browser/OS?

Authentic Theme 19.10-beta1
Browser:
Safari 11.1 (11605.1.29)
Firefox 59.0
Google Chrome 65.0.3325.146
OS:
OS X 10.11.6 (15G20011)

I have tried it on my MacBook Air with MacOS 10.13.3 and Safari 11.0.3 - it worked just fine. (could provide video-screencast if needed).
Sorry guys, at the moment, I can't do much of anything!

Hi Ilia
did some additional testing.
Case 1:     OSX 10.11.6  / Safari 11.1
Case 2:     OSX 10.11.6  / Firefox 59.0
Case 3:     OSX 10.13.3  / Safari 11.0.3
Case 4:     OSX 10.13.3  / Firefox 58.0.2
Server:
Webmin 1.880
Authentic Theme  19.10-beta1
For all cases I uploaded a small file (800kb).
The results is for all cases the same: 60 sec delay after file upload before the modal closes.
Guess that a dependency on OS or browser can pretty much be excluded.

@fdmgit Flavio, I can not reproduce it. I tried with many files on different machines and OSs. It just works.
Do the following. Tell me what is the size of the loaded file authentic-theme/extensions/file-manager/file-manager.min.js in bytes?

the file size of file-manager.min.js is 172714 bytes.

Looks good. I need more debug info from you. Open network tab, when you hit upload, see what's happening? Better do video-screencast with opened console. It would help me a lot! :wink:

I run a quick network analysis (see attached HAR file).
At the first glance it looks like the uptracker.cgi task needs 61 sec to complete.
I'll do a more thorough analysis later on.
FileUpload.har.txt
{---> rename file to FileUpload.har}

What is your server OS?

The server is running Ubuntu Server 16.04.3 with all security patches applied.

I can confirm it. I get the same behavior. I can see the file get added behind the upload window but then it takes minutes before it closes.
Operating system 	Ubuntu Linux 16.04.1
Webmin version 	1.880
Usermin version 	1.740
Virtualmin version 	6.02-3
Theme version 	Authentic Theme 19.10-beta2

Does it close immediately when trying it on the same system in Gray Theme, for example?

I tried Old webmin theme and it took 1 second and the window was gone.

@qooob when changing theme it will open a new tab in the browser. I haven't seen that before :(

Downloading Ubuntu 16.04.4 LTS. Is that 32bit or 64bit system?

On our servers we run the 64-bit server edition

Installing, setting up and let you know later.
Thanks.

How much resources you have allocated to it? RAM, Disk and Swap?

Here the details

@qooob I get the same behavior in Ubuntu 14.04.3

Installed Ubuntu Linux 16.04.4 - no issue.
Do you use proxy or default setup?

@qooob
Hi Ilia
We have multiple Webmin users on our servers defined.
Now if I login as e.g. 'administrator' then I get the effect described previously (= modal delay).
However if I login as 'root' then it works perfectly.
Have tested it on different servers and it's reproducible.

It's very hard to believe but I will double check with other user names.
Thanks for nailing down the bug.

I have the same issue. v. 19.09.2, Debian 8 x64, Firefox 59, Chrome 65. fresh install

Thanks. I'll finish the tree-view and take very close look.

are you are using webmin users or from other sources?
e.g. pam, ldap etc.
does it work if you login as a real webmin user, eg. root or admin?

OK, I can confim updload dialog stay for ~30s after upload is done if you are logged in by a user from pam or LDAP.
Logged in as directly as root it's working as expected.

I see the source of the bug. Fixing ..

Okay, it's fixed.
You will also now going to be able to see missing upload progress for large files.
Thank you for reporting and patience.

When i was starting with Linux i was told not to login as root and i have continued to do that and there is no reason to login as root in Webmin. The user only need to be able to use sudo.

It works. 👍

you are always work as user root from webmin, even you use an  other  username.
webmin uses usernames only for acls and settings.


better handling of unloadable artifacts

It is primarily up to interfaces to determine how they handle discovering artifacts that they cannot load (either because the plugin that defines their type is not installed, or the .qtf file is corrupt), but QIIME 2 should likely raise a custom error type to make this easier for interfaces to detect. The corresponding error should differentiate corrupt artifacts from unimportable artifacts. If Artifacts encode information about the plugin that defines them in their metadata, an unimportable Artifact could tell the user what plugin needs to be imported for it to be used.
 The current message is something like: tarfile.ReadError: '/Users/jairideout/dev/qiime2/q2-ninja-ops/seqs.fna' is not a readable tar archive file.

👴 👵


Calling threema-msgapi-tool.php without parameters produces errors

When calling the file threema-msgapi-tool.php without any arguments it shows an error:
Notice: Undefined variable: argv in ...\threema-msgapi-tool.php on line 15

Catchable fatal error: Argument 1 passed to Threema\Console\Run::__construct() must be of the type array, null given, called in ...\threema-msgapi-tool.php on line 15 and defined in phar://.../threema_msgapi.phar/Threema/Console/Run.php on line 60

Well... it just contains no handling of the error when you call it without any parameters. That's effectively conflicting with the Readme part I added in #4 where it says you can call it without any parameters to check whether it works.
Best practise would be to show a help page (which is also shown with -h or -help) with all available commands. (Or at least an error message which says that you can use -h to display a list of parameters)

Just saw that you already display a list of parameters if it's run via the console, which is great.
However if the tool is accessed with a browser it should also display no PHP error, but either just a message like This works, but you have to call it from a command line to use it. or an nicer error which explains the same thing.

Okay, I think you've fixed this in https://github.com/threema-ch/threema-msgapi-sdk-php/commit/9e2c1e11dd7ad5745029a49211b9a18927cbcd83.


Fixed #34911 -- Corrected HTML heading levels on admindocs' main page.

Ticket #34911
Heading levels on /admin/doc/ previously skipped from <h1> directly to <h3>. This PR adjusts <h3> elements to be <h2> elements.

@laserhyena Thanks :+1: Welcome aboard :boat:
I added a small regression test.


Enable multiple instance creation

When you have a form with multiple inputs in time format would be if new TimepickerUI(DOMElement, options); initialize all of them at the same time. At the moment, it only initialize the first input of querySelector result.

I just wondering why do you need multiple inputs in time format to initialize in the same time? You can add more instances to create a new pickers

I added new version with methods update and destroy. Maybe this is something what you need. I will close this issue, if you have more question or that these methods weren't what you expected let me know.


Filter on the Patch content

How can I filter on the nested Patch content of a notification message, e.g., if I have this notification message which I receive in the body,
{
    "modelId": "dtmi:example:com:floor4;2",
    "patch": [
      {
        "value": 40,
        "path": "/Temperature",
        "op": "replace"
      },
      {
        "value": 30,
        "path": "/comp1/prop1",
        "op": "add"
      }
    ]
  }

How can I make a route filter which will only apply when the patch contains a temperature change?
I already tried this
CONTAINS($body.patch.path,'Temperature')
CONTAINS($body.patch[0].path,'Temperature')
$body.Temperature != null
But non are working and document doesn't explain this.

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

ID: 84adbbef-812f-ee3f-a229-eeb0cebfc193
Version Independent ID: 255cf8dc-5b0c-2b9b-42c3-2a84d7cc0dc4
Content: Manage endpoints and routes - Azure Digital Twins
Content Source: articles/digital-twins/how-to-manage-routes.md
Service: digital-twins
GitHub Login: @baanders
Microsoft Alias: baanders

Hello @baanders Thanks for the feedback.
Our SME will get back to you on this.

Adding a quick update, I'm now looking into this with the product team.

Hi @Sdelausnay, thank you for this inquiry! It turns out that this scenario isn't currently supported in Azure Digital Twins: we don't currently provide the capability to filter events based on fields within an array, including the patch section on a twin update notification. I apologize for the inconvenience and have noted this as a feature request.
I'm also adding a note to the document to clarify that this type of filter isn't supported right now. The work is being done in this pull request. Since the PR addresses this issue to the best of our ability at this time, I'll have Git automatically close this issue when the PR is merged. However, feel free to continue commenting in the thread with questions or further discussion, as we can always reopen as needed.
Thank you!


(feature): adding github actions for version and lint

The merge check fails because we need to fix terraform fmt first for it to pass, which will be done in #11

Fixes #5


helm chart: Add extra labels and annotations to pods and k8s resources / Allow SSL mode to be defined.

Allow users to specify extra labels and annotations to pods and other k8s resources.
This change allows users to set extra labels and annotations to pods and k8s resources.
How to use
In the values file:
extraLabels:
  foo: bar
 extraAnnotations:
  foo: bar

podLabels:
  another: test
podAnnotations:
   test: test

The above will label all k8s resources with foo: bar and annotate all k8s resources with foo:bar
In addition pods will be labelled with extraLabels + another: test and annotated with extraAnnotations + test: test
To test:
Deploy nebraska using the helm chart + add the above values to your values file.
Testing done
Nebraska has been deployed in our clusters using the modified helm chart, we are able to add extra labels and annotations.

[ *] Changelog entries added in the respective changelog/ directory (user-facing change, bug fix, security fix, update)
[ ] Inspected CI output for image differences: /boot and /usr size, packages, list files for any missing binaries, kernel modules, config files, kernel modules, etc.

Sorry for the review delay, we'll try to assign someone in tomorrow's planning call https://github.com/flatcar/Flatcar/discussions/1103

Ah! sweet let me bump the version.
Thanks!

@pothos bumped the patch version.
Thanks for taking a look at this PR.

The CI linter complains, can someone have a look? I used the GitHub UI to bump to version 1.1.1 but it created a merge commit, maybe squash that, too.

Cool I will add the fixes today.
Thanks for the review.

hi @jescarri, friendly ping here, Did you get to look through the suggestions mentioned in the review?


Add place to enter max hp increases without having to go into "edit" mode (same as temp hp works)

Add place to enter max hp increases without having to go into "edit" mode (same as temp hp works).  This is a pretty common use case that would be nice to be able to do while in game mode.

Is this all that common? It's basically just the Aid spell, which has an Active Effect now you can apply so you don't need the UI spot.

There are plenty of monsters that reduce max HP, starting with the most common being vampires.
I found it clunky as well having to enter into edit mode to change max HP

Yes, this is something that really often comes up, especially Max HP reduction, and is really important to have. Earlier versions had it I think, or was it just 5eTidySheet?
Anyway, with the new, enhanced sheet, such a field would be greatly usefull!

I think some tables don't really use the automated spell stuff in active effects and prefer to just manually edit effects (as well as the monster cases mentioned above).

I'm not convinced this is common enough to warrant a dedicated spot in play mode on the sheet. Temporary Hit Points is a codified rule by comparison, whereas 'life drain' effects only exist as ad-hoc rules text in a tiny handful of creature stat blocks.

I don't believe this conversation should go to whether something is codified, but rather if it can occur using the most basic form of PHB + DMG + MM combination when playing.
I want to propose the following perspectives.

This used to exist in the old sheet and made an already existing feature harder to access.
The sheet already supports extraordinary effects from the Star icon, it would still be easier to access from there.
Even if it does not have its own UI, a shortcut, i.e. right clicking temp HP could bring up the menu to reduce max HP.

Would it help if I went and fetched statistical data per CR and amount of monsters in the MM that do have this ability, VS the actual occurrence of another UI feature?
i.e. what would we need to provide to objectively prove that this warrants a space in the UI?
I run D&D 5 times a week (90% wotc material) and this reality does not align with my own experiences.

My experience is also that this comes up relatively often (why I wrote the request - we played a game and could not intuitively figure out how to do it, and even when we know how to do it is it clunky).
I don't think counting the monsters that have this ability gives it enough weight anyway.  I can't think of too many tables that don't run into spectres, wraiths, vampires at some point - these are iconic undead monsters.
Aid and Heroes Feast are very commonly used spells and both have this effect as well.

There is also the 4th level exhaustion drawback, that can be influenced by MaxHP gain/loss

I think Aid and Heroes' Feast are bad examples since those spells have very long durations. They are not examples that involve frequently having to change the maximum HP of a character.
I acknowledge that for some tables that are frequently fighting some specific monsters, that they may also have to adjust maximum hit points frequently, but that is not a convincing argument. There are many other mechanics that you may encounter disproportionately, depending on any number of factors. For example, if you happen to be fighting lots of Bearded Devils or your DM really likes their 'wounded' mechanic, you would disproportionately find yourself dealing with that mechanic, for which there is also no support on the core sheet for (the tracking of stacking wounds). A sorcerer that is creating additional spell slots over their maximum with Flexible Casting might find themselves using edit mode a lot to override their spell slot maximum temporarily, but that is not a good argument for spell slot maximums being editable in play mode.

Is there a good way to incorporate the max HP reduction effects onto the relevant attacks? That seems like a better solution.

tidy5e did this in a cave with a box of scraps!
This is the wrong place to save space because almost no space would be consumed by this.
The current default sheet has plenty of places it could save far more space if that is the intent.
Having it tacked onto automated damage application is a bad solution for anyone that isn't using that.

I don't believe wounded and max spell slots should be brought up here.
Stacking status effects and easily overridable max spell slots are valid suggestions in themselves. Another QoL improvement not being implemented is not a valid argument against the current QoL improvement we are asking for here. (Not even an improvement but rather a "bring back the previous thing" kind of request)
Frequency is also not a good argument, as there are more monsters that reduce max HP than monsters that petrify a character. If we go down that route, we should get rid of petrified status since it can be dealt with by combining other existing status effects.
The main point here IMO is that It's an existing feature that was rendered hard to access, and thus DMs/players that used to rely to it are having a poorer user experience with the new sheet.
Please don't take this as a "must fix now" kind of adversarial thing, but please add it to the backlog of future QoL that the sheet could receive. Unless there is some kind of demand from WotC to keep it in line with D&D Beyond's UI (which also lacks the temp max HP reduction), I don't see why we are even having these arguments about it.

I don't believe wounded and max spell slots should be brought up here.
Stacking status effects and easily overridable max spell slots are valid suggestions in themselves. Another QoL improvement not being implemented is not a valid argument against the current QoL improvement we are asking for here.

This is the reason we are having a discussion about it, I think. Because if making anything editable in play mode is framed as a 'QoL improvement' then we should just make everything editable in play mode, and there would be no need for a toggle at all. We have to draw the line somewhere, we cannot design a sheet where every part of the Actor data model is editable with a single click.
That line can move; I'm not claiming the current design is perfect, I'm only saying that, for me, I'm not currently convinced that tempmax is something that needs editing in play mode.

It is to be framed as a QoL since, in fact, this entire thread appeared because somebody thought it hard to navigate the existing UI. I wouldn't post here this much if I didn't think this was a QoL.
I value your subjective view; in that case, what do you think the best way is to move this forward?
I am grateful for all the effort put into the new sheet, but due to its suddenness, it hasn't had enough time to sift through discussions like this one.
How do we move forward to have the line redrawn?
Community poll, petition, live data etc.

Then maybe at the very least include it in the edit mode as an editable field, between current HP and TempHP ?

To get to add any temporary max hp you have to first enter edit mode then you have to hit the cogwheel for hit points, and then you're presented with a dialog that has two things that are static during almost all kinds of play (bonus per level and overall bonus) and one thing that is absolutely not static during many kinds go play.

Best solution to me is the old solution and the one that tidy5e does - there is a field right next to temp hp in play mode that you can adjust as needed in play.
Next best solution would be turning on "edit mode" and an adjustment field is presented rather than being buried in a dialog with two other things it is not similar to.

If there is some kind of design philosophy behind the "edit mode" vs "play mode" it would be great to see it articulated.   What does edit mode aspire to accomplish?  What does play mode aspire to cover?  When there are conflicts is there a logic that can be followed?  My perception based on this discussion is that each item brought up is debated on its own individual merits without any guiding principles.

I think there's a reasonable ask here that the one click to go to Edit Mode is reasonable, but max HP adjustments are common enough that you shouldn't need to open a deeper dialog.

There is another issue now that I look more closely and compare the behavior of the three settings on that dialog.  This may be a bug but it is connected to the design choices here.
While I can enter a "temp max hp" on the dialog and save it, it doesn't seem to change anything.  My max hp hasn't changed, or if it has it isn't being displayed on the sheet as different.
The other two fields on the dialog seem to directly change the sheet when I save changes.

Actually counterintuitively for the "temp max hp" to work I have to save and then hit save again.  The second time I do this the value changes and the dialog closes itself.  If I save once, no change even if I close the dialog.

The dialog for adjusting HP re-renders when an input field is changed (the same occurs in the AC config). Your first click on the Save button is likely absorbed by this. Changes are only made when the config actually closes as part of hitting the Save button.

The dialog for adjusting HP re-renders when an input field is changed (the same occurs in the AC config). Your first click on the Save button is likely absorbed by this. Changes are only made when the config actually closes as part of hitting the Save button.

I thought it might be a rendering issue too but it seems to be more than that.  Try this:

Open the dialog
Enter a value for temp max hp
Hit save once
Notice that nothing changed
Close the dialog
Notices that still nothing changed
Open the dialog
Notice that the value you entered is gone
Enter another value
Hit save twice
Notice that max hp has changed and the dialog closed itself
Open the dialog
See that the value you entered is there


kvdb+channeldb: speed up graph cache

This PR adds ForAll to kvdb to allow for efficient range queries. The graph cache loader is rewritten to take advantage of this new method, improving loading time on my machine by approx 150x.

@guggero @bhandras looking for concept ack

Concept ACK.

I'm asking myself why the ForEach would be implemented by using cursors in the first place? I get that this is coming from porting over the bbolt bucket logic. But thinking about it now, is there ever a reason to use cursors instead of basically doing what ForEachFast does now (but maybe with an ORDER BY clause)?

The reason to use a cursor (or really a single query per row) is that it wouldn't be possible otherwise to query within the callback. While the SELECT is running, nothing else can be done in that same tx.

Cleaned up PR, added test coverage for graph cache population.

I discovered that DescribeGraph suffers from the same slowness as the cache loading. Restructured the code to use the efficient ForEachChannel also for DescribeGraph. I briefly worried about memory usage on low end devices, but then realized that DescribeGraph is already loading the full graph in memory for grpc serialization anyway. Perhaps a streaming version would be more appropriate if memory usage is really a concern.

@bhandras: review reminder
@guggero: review reminder

@joostjager feel free to cherry-pick https://github.com/lightningnetwork/lnd/pull/6136 for the etcd version.

I can cherry-pick, but is it easier? Maybe it gets complicated with processing review comments. This PR should not break etcd, but just fall back to the existing foreach implementation.

I can cherry-pick, but is it easier? Maybe it gets complicated with processing review comments. This PR should not break etcd, but just fall back to the existing foreach implementation.

Yeah ok, works for me too.

I did notice one thing with running this PR on mainnet. When I ctrl-c lnd, it spews out a lot of these errors:
2022-01-05 21:01:17.072 [ERR] DISC: router shutting down
At the very end, it also says:
2022-01-05 21:01:20.607 [ERR] LTND: Error closing towerserverdb database: connection not found: postgres://bottle:bottle@localhost:45432/lnd?sslmode=disable
Need to investigate this, but if anything looks familiar, please let me know.

The problem with closing of the database seems to be caused by multiple sub-systems trying to close the same database. All databases are opened in config_builder.go. They are also closed there:
https://github.com/lightningnetwork/lnd/blob/39c62360544f8f0c66cc2280107a34cf189992b7/config_builder.go#L833
But for example DecayedLog is also closing it:
https://github.com/lightningnetwork/lnd/blob/39c62360544f8f0c66cc2280107a34cf189992b7/htlcswitch/decayedlog.go#L162

Also there is another slow method that is invoked on startup:
https://github.com/lightningnetwork/lnd/blob/39c62360544f8f0c66cc2280107a34cf189992b7/channeldb/graph.go#L3708

I think 2022-01-05 21:01:17.072 [ERR] DISC: router shutting down is caused by something being slower than usual to shut down. Took a few profiles and I believe this only happens during initial graph sync where the database is hit heavily.
We've mostly been talking about pathfinding optimization for remote db backends, but perhaps we should have looked at graph sync too. In the future, the graph sync read operations could potentially be served from memory too, although we may need to store more channel information in memory than what's needed just for pathfinding.
To me it seems that both problems mentioned above are benign and don't need to block this PR.

Another heavy call that shows up in profiles: func (c *ChannelGraph) FilterKnownChanIDs

Seems like something is still off as unit tests fail.

Unit test fails because of https://github.com/lightningnetwork/lnd/pull/6111#discussion_r779661615
I am not allowed to use the object (which is returned as an interface so I also can't copy) outside of the callback.

@guggero please advise how you want to proceed. My proposal is to revert the reversion of my change and allocate a new object for each iteration. I expect the performance impact of the extra allocations to be negligible and it doesn't increase the total memory requirement either.

Okay, yes, I see the problem. Perhaps it's worth removing the nodeScratch variable from the graphCacheNode then and define it inside deserializeLightningNodeCacheable again? Then a new allocation of graphCacheNode is also less expensive again.
I assume that thanks to the de-duplication with the map we already save quite the memory overhead, so I'm fine with allocating a struct per node again.

Followed your suggestion with nodeScratch

Also want to compare memory allocation, my hunch is that we save quite a few allocations with this approach.

So previously the problem was the number of allocations and garbage collection of those, and not so much the total memory requirement?

Going to run some manual tests tomorrow to make sure nothing breaks with a mainnet sized graph.

Yes, just letting it sync on mainnet for real is quite interesting. That will bring to the foreground the other slowish parts of graph.go which I mentioned an earlier comment.

So previously the problem was the number of allocations and garbage collection of those, and not so much the total memory requirement?

Yes, the problem for low-ish memory environments was that there was a huge initial spike in memory but then most of it could be garbage collected. So a lot of throw-away instances/allocations.

I ran some tests (imported a mainnet channel graph into a regtest node with the help of #6149).
 I assume this is because we have yet another layer of cache (the channelMap) which can be seen in the profile. But that is memory that should be garbage collected eventually.
While I think we could still optimize the memory usage (by effectively making it possible to re-use the channelMap for the graph cache directly), I don't think it's worth doing so at this point. Mobile users for example won't be turning on the graph cache in the first place to save on memory, so they won't be running into this increased use anyway (unless DescribeGraph is used).

@guggero at what point exactly did you insert the memory profile write action?

I extracted the memory profile through HTTP (using --profile=1111) so I didn't explicitly call GC.

So you timed it somewhere during the cache population phase? As mentioned, I know embarrassing little about mem profiling, but will what you did get you the info you're looking for?

I waited until the log said the cache was filled. Then I ran curl http://localhost:1111/debug/pprof/heap > heap-6111-done.prof followed by go tool pprof heap-6111-done.prof where I typed top to get that output I posted.
I'm also not extremely proficient with profiling, maybe I'm doing it incorrectly (or at the wrong time)...

Does this PR also need https://github.com/lightningnetwork/lnd/pull/6136? Or will that one be what ultimately gets merged?

I waited until the log said the cache was filled. Then I ran curl http://localhost:1111/debug/pprof/heap > heap-6111-done.prof followed by go tool pprof heap-6111-done.prof where I typed top to get that output I posted.

Alternatively you could do something like this @joostjager:

go tool pprof --http=localhost:8083 http://localhost:5000/debug/pprof/heap

Assuming --profile=5000 is set, this'll open up the nicer web based UI that also can give you break downs like the above, but with svg's and flame graphs, etc.
Timing is somewhat tricky as Oliver mentions since it's based on that logging point. Alternatively you could rig lnd to shut down as soon as the graph is  populated, and set the cpuprofile (I think this'll also write the memory as well?) and use oli's command above.

Another heavy call that shows up in profiles: func (c *ChannelGraph) FilterKnownChanIDs. It is called with 85k channels during initial sync.

Yeah this can just hit the channel graph cache instead. Prob worthy of spinning out into another issue. Alternatively it can used a bloom filter, not that big of a deal if we fetch some stuff we don't actually need.

Timing is somewhat tricky as Oliver mentions since it's based on that logging point. Alternatively you could rig lnd to shut down as soon as the graph is populated, and set the cpuprofile (I think this'll also write the memory as well?) and use oli's command above.

Yes, this is what I did. I saved a mem profile right after graph population. But interestingly some allocations were already gone. Perhaps because the go compiler already knew that I wasn't going to use that data anymore even though the function hadn't returned yet.
I guess what we really want to know here is peak allocations rather than a snap shot.

Does this PR also need #6136? Or will that one be what ultimately gets merged?

This PR doesn't need #6136

Does this PR also need #6136? Or will that one be what ultimately gets merged?

We can cherry-pick it into this PR, however it's OK to separate them too. See https://github.com/lightningnetwork/lnd/pull/6111#issuecomment-1005885486

@guggero @bhandras the repo needs a kvdb v1.3.0 tag

Ah right, thanks for the reminder! Pushed the tag now.


How do I get stuff into the adapter's meta parameter?

My use case is an API which needs to check in the adaptor whether or not the user is authorized to view/edit specific fields. I'm using express-ntlm which adds a key request.ntlm with the authenticated information. However, I can't figure out how to get this information into the adaptor.
I tried reading through the fortune-json-api code but meta is overloaded to mean several different things and I can't find the one I need.

Yeah, it is a bit confusing because there are at least two meanings of meta:

meta as defined by the JSON API spec
meta as in the optional argument for adapters in fortune

How to pass information to the latter meta is by subclassing and extending this serializer:
const jsonApiSerializer = require('fortune-json-api')
const fortuneHTTP = require('fortune-http')

// Using dependency injection to get the class
const JsonApiSerializer = jsonApiSerializer(fortuneHTTP.Serializer)

class CustomSerializer extends JsonApiSerializer {
  processRequest(contextRequest, request, response) {
    contextRequest.meta.ntlm = request.ntlm
    return super(...arguments)
  }
}

Then the meta object that is passed to the adapter should contain the keys headers, language, and ntlm. I hope that answers your question.

Aha, I somehow completely missed that you could use dependency injection to extend the serializer. I couldn't get the code you posted to work (it kept complaining about Class constructor cannot be invoked without 'new' and I couldn't figure out what it was doing) but with the nudge you gave me here's what I came up with:
const jsonApiSerializer = require('fortune-json-api')

const CustomSerializer = function(...args) {
	const Serializer = jsonApiSerializer(...args)

	const superProcessRequest = Serializer.prototype.processRequest
	Serializer.prototype.processRequest = function(contextRequest, request, response) {
		contextRequest.meta.ntlm = request.ntlm
		return superProcessRequest.call(this, contextRequest, request, response)
	}

	return Serializer
}


FEAT: Add layout boundaries

With this implementation, you can get the boundaries in a HFSS 3DLayout design, and then with the object_properties, you can manipulate these boundaries.
For instance:
aedtapp.boundaries[0].object_properties.props["Boundary Type"] = "PEC"
It was not possible before.
Close #3251

Codecov Report
Attention: Patch coverage is 11.76471% with 15 lines in your changes are missing coverage. Please review.

Project coverage is 34.01%. Comparing base (6785a3b) to head (4cc1e16).
Report is 4 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #4684       +/-   ##
===========================================
- Coverage   75.78%   34.01%   -41.78%
===========================================
  Files         121      121
  Lines       54810    54826       +16
===========================================
- Hits        41540    18651    -22889
- Misses      13270    36175    +22905


Allow to connect to newrelic Europe endpoint

Is your feature request related to a problem? Please describe.
Trying to connect to newrelic EU endpoint is not possible as the US endpoint is hardcoded here:
https://github.com/keyval-dev/odigos/blob/main/autoscaler/controllers/gateway/config/newrelic.go
Describe the solution you'd like
A droplist in the UI to select which location you are using. Behind, odigos will set the right endpoint.

Thanks!


NY Resends due to Certificate issue

Problem statement
NY Certificate expired on 6/1/24 at 00:00:00 EST. New Certificate updated on 7/15/24 1:00 PM EST. All reports sent to NY between that timeframe will need to be resent.
What you need to know
All reports are in the "send" azure folder for receivers NY-PHD.elr and NY-PHD-full-elr. The requeue cli command can be used to retrigger these to go to NY.
curl -X POST -H "content-length:0" -H "x-functions-key:" "https://prime.cdc.gov/api/requeue/send?reportId=&receiver="
the secret you have to get from azure it in the function-app->functions-requeue. The reportId is the reportid of the report that needs to be sent and the receiver-fullname will be the org+receivername of the receiver that the reportid is associated with (ex ny-phd.fullelr or ny-phd.elr)
11:05
so first thing would be to find all report ids for that timeframe that got sent to ny-phd.fullelr and ny-phd-elr, then use the command to resend those report ids

Verified in Metabase that all 65 resent.

Confirmed by @victor-chaparro via screenshots I sent him on Slack


Error thrown when installing NVM via curl on macOS Big S

Operating system and version:
nvm debug output:

nvm ls output:

How did you install nvm?

What steps did you perform?
What happened?
What did you expect to happen?
Is there anything in any of your profile files that modifies the PATH?

If you are having installation issues, or getting "N/A", what does curl -I --compressed -v https://nodejs.org/dist/ print out?

i assume you figured this out?


add (build):  scons clean targets

deletes scons metadata with -c distclean  option, deletes all build data with -c buildclean option ..  in order to not delete third_party build data, khEnvironment.py must be modified, or else the lines in the third_party SConstructs that call ExecuteOnClean() have to be removed or changed, because right now the third_party data is deleted intentionally and I wasn't sure about changing that as part of this ticket

What are the advantages of only cleaning scons metadata using distclean over the full clean?

Can we update the original description with usage: an example command, etc. I tried to issue one command with both targets -c cleanall build, but it didn't work as expected (I'm used to gradle behavior).

The original description on this page?   I think it works more like make than like gradle, at least in that aspect.

Can you explain what I'm seeing?  The 'cleanall' doesn't seem to do just that - what is the agreed upon scope of the clean?
I did a diff of the directory, before-and-after, and get a very small delta:
diff -qr earth_enterprise/ before/earth_enterprise/
diff: before/earth_enterprise/docs/landing_page/manual: No such file or directory
Files earth_enterprise/src/config.log and before/earth_enterprise/src/config.log differ
Only in before/earth_enterprise/src/.sconf_temp: conftest_0
Files earth_enterprise/src/.sconf_temp/conftest_0.o and before/earth_enterprise/src/.sconf_temp/conftest_0.o differ
Files earth_enterprise/src/.sconf_temp/conftest_1.o and before/earth_enterprise/src/.sconf_temp/conftest_1.o differ
Files earth_enterprise/src/.sconsign.dblite and before/earth_enterprise/src/.sconsign.dblite differ
What am I missing?

Can you please explain what command you ran and from which directory?  scons release=1 -c cleanall will delete  /tmp/fusion_os_install, scons metadata in the current directory and in src, also src/NATIVE-REL-x86_64 contents (except for a couple things in third_party)

Oh actually it looks like it's stopped cleaning the scons metadata since i changed it from distclean to cleanall... i will look into it now. I wonder what happened, it's definitely in that block.

The reason it wasn't deleting all the scons metadata (but the files Eric mentioned were different) was because it performed some clean actions after deleting those files and thus recreated them with data about deleting things.   Similarly, i can't use Clean() or Delete() to delete the files because those are scons functions and recreate the metadata files after removing them.


CPU compilation issue due to Introduce GlobalOptimization layers to Pipeline. (#14767)

What happened?
Llama2 13B fails to compile on CPU due to the following commit :-
commit c477184d1da45e091eafeb6ca0887a029f2a6f3b
Author: Han-Chung Wang<EMAIL_ADDRESS>Date:   Wed Aug 23 14:15:52 2023 -0700

    Introduce GlobalOptimization layers to Pipeline. (#14767)

    It moves all the passes before elementwise fusion (and cleanups) to
    global optimization pipeline.

    - Creates GlobalOptimization directory and move pipeline build method to
    it.
    - Adds GlobalOptimization layers to compilation pipeline.

It leads to iree/runtime/src/iree/hal/buffer.c:444: OUT_OF_RANGE; attempted to access an address outside of the valid buffer range (offset=0, adjusted_length=8, end=7, buffer byte_length=4).
I tried removing this commit from IREE/SRT and the compilation succeeds!
Steps to reproduce your issue

Input IR : llama2 13b int4
Command:

time ./build/tools/iree-compile --iree-input-type=tm_tensor --iree-vm-bytecode-module-output-format=flatbuffer-binary --iree-hal-target-backends=llvm-cpu --mlir-print-debuginfo --mlir-print-op-on-diagnostic=false --iree-llvmcpu-target-cpu-features=host --iree-llvmcpu-target-triple=x86_64-linux-gnu --iree-flow-enable-data-tiling --iree-llvmcpu-enable-microkernels --iree-llvmcpu-stack-allocation-limit=256000 --iree-stream-resource-index-bits=64 --iree-stream-resource-max-allocation-size=4294967295 --iree-vm-target-index-bits=64 --iree-vm-bytecode-module-strip-source-map=true --iree-util-zero-fill-elided-attrs --iree-vm-target-truncate-unsupported-floats --iree-codegen-check-ir-before-llvm-conversion=false --iree-vm-bytecode-module-output-format=flatbuffer-binary llama2_13b_int4.mlirbc -o llama2_13b_int4_cpu.vmfb

What component(s) does this issue relate to?
No response
Version information
No response
Additional context
No response

I can't reproduce it on ToT. Maybe it's fixed by someone already. Could you try rebasing it to main and give it another shot?

I confirm this doesn't exist anymore.
Gets fixed by this commit.
Closing this issue. Thanks @hanhanW !


Pattern-like syntax in the first query_as! argument

I discussed this a bit with @mehcode on Discord before, and he told me to open an issue about it.
Basically what I'd like to be able to write is
query_as!(
    CombinedStruct {
        id: combined_id,
        combination_field,
        tab_struct: TabStruct { ..tab.* },
    },
    "
    SELECT ...
    ",
    ...
);

to store a returned combined_id column entry in the id field of the returned CombinedStruct, a returned combination_field column entry in the returned CombinedStructs combination_field field, and all returned column entries that originated from the tab table in TabStruct that exists as a tab_struct field on CombinedStruct.
I was told this requires some additional magic to figure out what tab.* corresponds to, but would be possible.
As a first step towards this, would it be sensible to introduce the pattern-style syntax itself without ..tab* rest patterns? This should require no additonal database magic and should I think allow query_as! to be used in every (querying) situation query! can currently be used in. So, to come back to my example, this would be
query_as!(
    CombinedStruct {
        id: combined_id,
        combination_field,
        tab_struct: TabStruct { id: tab_id, a, b, c },
    },
    "
    SELECT ...
    ",
    ...
);

I think we need to make sure we pay attention to teach-ability for (arguably useful) magic like this. I'm thinking a clear description like: "Columns from the SQL result are made available as Rust identifiers".

However, after our conversation, I started thinking how your second example is fairly equivalent to:
let rows = query!("SELECT ...").map(|row| CombinedStruct {
  id: row.combined_id,
  combination_field: row. combination_field,
  tab_struct: TabStruct {
    id: row.tab_id,
    a: row.a,
    b: row.b,
    c: row.c,
  }
}).fetch_all(&mut conn).await?;

This isn't possible currently because query! already returns query::Map but we could make .map chain-able. This has the advantage of using less macro magic and enabling mixing row values with something bound to the closure environment.
Your first, potentially more useful example I don't see how to do it in this chained map approach.

Something else to consider, let's look at a potential ideal which needs some more work on CTFE in rust:
#[derive(sqlx::FromRow)]
struct CombinedStruct {
  id: i32,
  other: i32,
  tab: TabStruct,
}

let rows: Vec<CombinedStruct> = query_as!("SELECT id, other, tab.* FROM ...").fetch_all(&mut conn).await?;

I think we should explore how possible this is with const_if_match being stabilized (and hopefully const_panic soon to follow).
In other words, if we can get query_as! to use FromRow with the same level of compile-time safety, and teach FromRow to support some kind of nested behavior, then the desired functionality comes together nicely.

I'd also like to talk on the possibility of something rust-side like tab.* having a well-defined meaning.

MySQL– Perfect. Each column in the result communicates the table and/or table alias where it comes from.

PostgreSQL – Nothing built-in. We could pull table/views names for columns that come directly from tables/views but this may be confusing as it would not match a potential alias in the query.

MSSQL - Nothing at all.

SQLite - Same as PostgreSQL. We could pull the associated table/view name for direct references but it would not match a potential alias.

We may have better luck with some alternatives:

Supporting tab.id as "tab.id" to set a nested property.

Supporting #[sqlx(flatten)] in #[derive(sqlx::FromRow)] to support foo.*, bar.* where there are no clashing column names. This might be ideal as long as users use unique PK names such as foo.foo_id instead of id (which is recommended in various SQL best practices books because it simplifies a lot, including joins as you can do JOIN bar USING (foo_id) if both PK and FK are named foo_id).

Supporting tab.id as "tab.id" to set a nested property.

I guess SQL doesn't have sth. like mass-renaming tab.* to "tab.*" though?

another way this could be handled is using JSON functions
#[derive(Debug, Serialize)]
struct Vendor {
  id: i32,
  name: String,
}

#[derive(Debug, Serialize)]
struct Product {
  id: i32,
  name: String,
  vendor: Vendor,
}

async fn get_products_and_vendor(pool: &PgPool) -> Vec<Product> {
  sqlx::query_as!(
    Product,
    r#"
      SELECT p.id, p.name, JSON_BUILD_OBJECT('id', v.id, 'name', v.name) AS vendor
      FROM product p
      JOIN vendor v ON v.id = p.vendor_id;
    "#
  )
    .fetch_all(pool)
    .await
}


Single-argument function shorthand creates yet another dollar sign in same arrow function

Is it correct behavior or not?
"civet coffeeIsnt"

function createChoices()
  choices := signal<ChoiceType[]> []

  enabledChoices := computed =>
    choices.value.filter .type isnt 'none' and !.disabled

↓↓↓ 0.6.62
function createChoices() {
  const choices = signal<ChoiceType[]>([])

  const enabledChoices = computed(() => {
    return choices.value.filter($ => $.type !== 'none' && $1 => !$1.disabled)
  })
}

Yes, that's how single-argument function shorthand works currently. There's no way to use the argument multiple times. See #85 for some brainstorming in this direction, but currently the recommendation is to use arrow functions which are not much longer.

Okay, now it's clear. Will be waiting for new features🙂


Very high IO, causing the machine to hang. - -#

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

VS Code Version:Version: 1.67.2
Commit: c3511e6c69bb39013c4a4b7b9566ec1ca73fc4d5
Date: 2022-05-17T18:20:57.384Z
Electron: 17.4.1
Chromium: 98.0.4758.141
Node.js: 16.13.0
V8: <IP_ADDRESS>-electron.0
OS: Darwin x64 21.5.0

Remote OS Version:[user@host ~]% uname -a
 Linux devops-0 5.17.9-arch1-1 #1 SMP PREEMPT Wed, 18 May 2022 17:30:11 +0000 x86_64 GNU/Linux
[user@host ~]%
[user@host ~]% cat /etc/os-release
 NAME="Arch Linux"
 PRETTY_NAME="Arch Linux"
 ID=arch
 BUILD_ID=rolling
 ANSI_COLOR="38;2;23;147;209"
 HOME_URL="https://archlinux.org/"
 DOCUMENTATION_URL="https://wiki.archlinux.org/"
 SUPPORT_URL="https://bbs.archlinux.org/"
 BUG_REPORT_URL="https://bugs.archlinux.org/"
 LOGO=archlinux-logo

IO with CMD pidstat -d 1:

Monitoring:

    Read/Write Byte/s

    IOPS

    CPU utilization

Steps to Reproduce:

Download demo code: vue3-demo.tar.gz
Install deps: npm cache clean -f && npm install
Run dev mode: npm run dev
Crazy to modify the src/main.js, e.g. write, save, undo. When you are inspired, the speed of writing code is insane.

Anyone help?

Looks like this issue didn't get the correct attention when it was first opened
I'm closing it since there hasn't been any follow up. It's possible that an extension was causing this. If you are still seeing this issue with extensions disabled, let us know


Numerical Stability Issues with Large View Offsets

Hi!
I've been using ImGuizmo for a personal project which just so happens to require large camera offsets. I'm finding that when my view matrix contains a large offset, my imguizmo widget becomes unclickable except for in the center, which when dragged jumps off the screen.
I'm able to fix this issue pretty easily though by shifting this camera offset into the transform that the widget is modifying (setting the view matrix offset to 0, then adding the view position to the transform, just temporarily while using the widget).
Would it somehow be possible to include this translation offset automatically from within the imguizmo code to improve the numerical stability of large scenes?

That would be a great addition to ImGuizmo! Can you make a PR?