json_array_length: Velox throws while Presto returns NULL

Description
Query: select json_array_length(c0) from (values '(Af*>1+rije-x0}') t(c0);
Presto-0.289 result: NULL
Velox: Throws an exception "TAPE_ERROR: The JSON document has an improper structure: missing or superfluous commas, braces, missing keys, etc."
Error Reproduction
No response
Relevant logs
No response

The same behavior difference applies to json_array_contains.
Query: select json_array_contains(c0, c0) from (values '(Af*>1+rije-x0}') t(c0);
Presto-0.289 result: NULL
Velox: Throws an exception "TAPE_ERROR: The JSON document has an improper structure: missing or superfluous commas, braces, missing keys, etc."

cc @kgpai

Fixed in https://github.com/facebookincubator/velox/pull/10630


Tensor deallocate unusably slow (0.5ms per call)

Mistral attention (branch: mistral-fast-attention d3b355a6a6e19827517deb5fdb3a91c03f079ea6) has very slow tensor deallocate calls.
To reproduce on the above checkout:
pytest models/demos/mistral7b/tests/test_mistral_attention.py
...
Test | INFO     | Small tensor algorithm selected
22 deallocate calls took: 11.575 ms
2024-04-25 07:59:42.615 | INFO     | models.demos.mistral7b.tests.test_mistral_attention:test_mistral_attention_inference:105 - (False, 'Max ATOL Delta: 0.0017914026975631714, Max RTOL Delta:<PHONE_NUMBER>5625')
...

This is produced by the following code in models/demos/mistral7b/tt/mistral_attention_fast.py which has been modified in this commit to put all the deallocates together at the end of the attention forward pass and time them at the host:
start = time()
xqkv_fused.deallocate()
k_heads_1KBD.deallocate()
k_heads_1KBD_rot.deallocate()
v_heads_1KBD.deallocate()
keys_BKPD.deallocate()
keys_1B_P_8D.deallocate()
keys_1B_8D_P_preshard.deallocate()
values_BKPD.deallocate()
q_heads_1QBD.deallocate()
q_heads_1BQD.deallocate()
q_heads_1B_Q_8D_preshard.deallocate()
keys_1B_8D_P.deallocate()
q_heads_1B_Q_8D.deallocate()
attn_1BQP.deallocate()
attn_1BQP_presoftmax.deallocate()
values_1B_P_8D.deallocate()
attn_output_1BQD.deallocate()
attn_output_1QBD.deallocate()
attn_output_1B_Q_8D.deallocate()
attn_output_1BQD.deallocate()
attn_output_1QBD.deallocate()
attn_output_11BH.deallocate()
duration = time() - start
print(f"22 deallocate calls took: {duration * 1e3:.3f} ms")

Interestingly if I just time deallocation of 1000 single tile tensors I get 1.6us per tensor which is much more expected; I don't know what is causing this particular combination or configuration of tensors to be so very slow but it is the overwhelming majority of e2e time for this module.

I can't run the test because model_args.consolidated_weights_path doesn't exist on my machine. I tried modifying it locally but couldn't get it to work. Can you please make it work in the case when model_args.consolidated_weights_path doesn't exist?
And I am trying to reproduce this in a smaller test and as you mentioned it runs fast. I will try running some other models and see if this issue shows up elsewhere

@arakhmati The paths are correct for CI bt not for dev clusters on aus and yyz - these are found in /proj_sw/ and you can update the default path with this patch:
proj_sw_weights.patch

That's over a minute (not a second!) in deallocate calls:

Looking at this, it's not clear to me what causes the issue.
But my top guesses are:

because we call deallocate so many times
because find_block inside of FreeList::deallocate is slow in this particular scenario. Upon inspecting it, it looks like find_block uses an O(N) algorithm to find the block by traversing a linked list.

@abhullar-tt is it possible that this slow down is caused by find_block? Is there an easy way we can isolate the issue? Maybe a unit test that we could use to allocate at random addresses and then deallocate them?
@mo-tenstorrent can you help us profile it further to get the bottom of this slow down?

Looking at this, it's not clear to me what causes the issue.
But my top guesses are:

because we call deallocate so many times

because find_block inside of FreeList::deallocate is slow in this particular scenario. Upon inspecting it, it looks like find_block uses an O(N) algorithm to find the block by traversing a linked list.

@abhullar-tt is it possible that this slow down is caused by find_block? Is there an easy way we can isolate the issue? Maybe a unit test that we could use to allocate at random addresses and then deallocate them?
@mo-tenstorrent can you help us profile it further to get the bottom of this slow down?

@yieldthought
Are these tensors are in DRAM?
This many tensors wouldn't fit into L1 , so I presume DRAM.
My guess is that DRAM gets fragmented with lots of free blocks and the N in O(N) grew a lot.
I think doing some profiling within the find_block to see how many free blocks and what N is.
If fragmentation is indeed the problem, would be good to know why it happened?
@arakhmati can we visualize DRAM in the same way as L1? it would be great to have it, the issue may be obvious from the diagram.

@davorchap yes, we definitely can. Although, I need to update the visualizer to work with multi-device

Looking at this, it's not clear to me what causes the issue. But my top guesses are:

because we call deallocate so many times
because find_block inside of FreeList::deallocate is slow in this particular scenario. Upon inspecting it, it looks like find_block uses an O(N) algorithm to find the block by traversing a linked list.

@abhullar-tt is it possible that this slow down is caused by find_block? Is there an easy way we can isolate the issue? Maybe a unit test that we could use to allocate at random addresses and then deallocate them?

We don’t have a randomized stress test for this but it wouldn’t be difficult to create one. Both allocate and deallocate have O(n) components. @davorchap we were considering updating mem allocator algo to TLSF. if we don’t go down this route the allocator can keep some extra metadata that would replace find_block

@mo-tenstorrent can you help us profile it further to get the bottom of this slow down?

Using a shared_ptr for FreeList isn't great:

Iterating through it (for those lovely long linear-time searches) copies the object N times, causing 2N atomic reference count updates.
Atomic reads and writes are slow.
I haven't reasoned through a counterexample but I doubt the whole list is thread-safe even with shared_ptr because there's still nothing to stop another thread modifying the list while you're traversing it and it seems pretty likely you could get into a bad place like this.

The yieldthought/faster-deallocate branch replaces shared_ptr with boost's local_shared_ptr which keeps the reference counting semantics to avoid carefully rewriting to manually manage memory, but removes the atomics. This makes the list very definitely thread-unsafe instead of only probably thread-unsafe. So I also protected the public methods with a mutex, which is probably what we want if we want this to be thread-safe in the first place.
If the intention was never for this to be thread-safe we should remove the mutex and save a bit of performance. It'd be really great if the docstrings for Metalium classes noted which of them were/were not supposed to be thread-safe.


missing agentid 0.15.0-rc.3

What did you do?
What did you expect to see?
What did you see instead? Under which circumstances?
Environment

System information:
insert output of uname -srm here
Linux 4.9.34-29.el7.x86_64 x86_64

Alertmanager version:
insert output of alertmanager --version here
alertmanager, version 0.15.0-rc.3 (branch: HEAD, revision: 5e86f61bd73c6325d6049ab3dbcb468ede26dfe0)
build user:       root@0d28fc42e4ec
build date:       20180618-10:26:10
go version:       go1.10.3

Prometheus version:
insert output of prometheus -version here (if relevant to the issue)

Alertmanager configuration file:

global:
  resolve_timeout: 5m
  smtp_smarthost: '<IP_ADDRESS>:25'
  smtp_from<EMAIL_ADDRESS>  smtp_auth_username: 'user'
  smtp_auth_password: 'xxxxx'
  smtp_require_tls: false
  wechat_api_url: "http://qyapi-weixin.zcbigdata.corp/cgi-bin/"
  wechat_api_secret: "xxxxxxx"
  wechat_api_corp_id: "xxx"
  http_config:
    proxy_url: "http://proxy.xxxxxx.corp:3128"
route:
  group_by: ['job']
  group_wait: 30s
  group_interval: 5m
  repeat_interval: 12h
  receiver: 'libaozhai-emails'
  routes:
  - match:
      alertname: DeadMansSwitch
    receiver: 'null'
receivers:
- name: 'null'
- name: 'libaozhai-emails'
  email_configs:
  - to<EMAIL_ADDRESS>    send_resolved: true
    require_tls: false
  wechat_configs:
    - send_resolved: true
      to_user: "zhailibao"
      agent_id: "1000002"
      corp_id: "xxxx"
      api_secret: "xxxx-xx"

Prometheus configuration file:

insert configuration here (if relevant to the issue)

Logs:

insert Prometheus and Alertmanager logs relevant to the issue here

wireshark pcap:

POST http://qyapi-weixin.zcbigdata.corp/cgi-bin/message/send?access_token=7xypGG5TbcYSogr9e1CdApd_F1cZ-qpAU4aw6MLQGoB68BbUmoHRJuvqhiwdM1Uzs66p4hXG1Jfaa9jl6ZlcJHmf4T3-D907iLBuMm_L3Jn4Ra5E2924chc0RdDJGY2i5-EUBOfjINKB5Nb4Nue5qcclS5eOzAVjy72ap7sf6fcg0O-FdQmaHJIW0AooL3lCWHOiBouzE_tWUeln3x_rJyrbGzLCRDNLHRmMpaAcGvw HTTP/1.1
Host: qyapi-weixin.zcbigdata.corp
User-Agent: Go-http-client/1.1
Content-Length: 630

{"text":{"content":"[RESOLVED] kubelet (TargetDown warning)\n14.285714285714285% of kubelet targets are down. Targets are down\n\nAlerts Resolved:\nLabels:\n - alertname = TargetDown\n - job = kubelet\n - severity = warning\nAnnotations:\n - description = 14.285714285714285% of kubelet targets are down.\n - summary = Targets are down\nSource: http://prometheus-k8s-0:9090/graph?g0.expr=100+%2A+%28count+by%28job%29+%28up+%3D%3D+0%29+%2F+count+by%28job%29+%28up%29%29+%3E+10\u0026g0.tab=1\n\nAlertmanagerUrl:\nhttp://alertmanager-main-2:9093/#/alerts?receiver=libaozhai-emails"},"touser":"zhailibao","safe":"0","msgtype":"text"}
HTTP/1.1 200 OK
Server: Apache/2.2.1
Date: Thu, 21 Jun 2018 09:38:12 GMT
Content-Type: application/json; charset=UTF-8
Content-Length: 167
Error-Code: 41011
Error-Msg: missing agentid, hint: [1529573892_3_4d6207fcf053f2457a601f77d6f6e9ea], more info at https://open.work.weixin.qq.com/devtool/query?e=41011
X-Cache: MISS from zx-dmz-0-22
X-Cache-Lookup: MISS from zx-dmz-0-22:3128
Connection: keep-alive

{"errcode":41011,"errmsg":"missing agentid, hint: [1529573892_3_4d6207fcf053f2457a601f77d6f6e9ea], more info at https://open.work.weixin.qq.com/devtool/query?e=41011"}

docker images:

docker pull quay.io/prometheus/alertmanager:v0.15.0-rc.3

@zhailibao2013 could you please add a bit more description to this issue?

How does your setup look like?
Is the above error log captured on the Alertmanager network interface connecting to the wechat-configs receiver?
Should the agentid be an url parameter? Seems like we are not adding it: https://github.com/prometheus/alertmanager/blob/1f9a7b6182de5b7d46fbe0e11e22810f3a341072/notify/impl.go#L897

@mxinden @zhailibao2013
I met this problem too, and I read the source code. It seems that the problem located in notify/impl.go with a function named: "func tmplText(tmpl *template.Template, data *template.Data, err *error) func(string) string"
I will paste some code below:
diff.txt

from the output the msg.AgentID is empty but the n.conf.AgentID is the correct AgentID
diff1.txt
after change this,the output is

i guess there is a problem when this function tmplText() parse AgentID

I have investigated a bit and the problem is that template objects are missing for Wechat. The templating system is returning an error but this is never caught and returned to the user. I'll send a PR so that @jddggh and @zhailibao2013 can test.

@simonpasquier I have tested ,it works,thank you.


feat: Feature branch deployments

Is your feature request related to a problem? Please describe.
When building a production application it is pretty standard to deploy all feature branches or all branches with a pull request. Such that a link for testing can be created for testing purposes. Such that others can test the application before merging, without spinning the environment up locally.
Describe the solution you'd like to see
A solution to this would be if somebody could create a github action that made a Vercel environment for each branch and a seperate action to pull it down down again. This github action could be added to the documentation and could be incorpareted into peoples projects. Ideally also working with auth0. Along with some guide if needed.
Describe alternate solutions
If people would post their code in this issue or made a an example repo with feature branch deployments that was linked in this issue it would help the people that are looking for feature branch deployment methods and passes by this issue in the hunt for it.
Additional information
No response

This works the same way with CT3A as it would in any other Next.js app. See here: https://vercel.com/guides/how-can-i-use-github-actions-with-vercel
I don't think we should duplicate anything they do, but since we keep getting questions about this sort of stuff it might be worth communicating even clearer that we're "just" Next.js?


Can't login on IE10 in default mode

Using IE10 on Windows 8, when I tried to log in, the website forwarded me back to the home page without logging me in. I'm sure I entered the password correctly because if I entered a wrong password, it stayed on the login page and displayed the error message.
If I turn on Compatibility View mode, then I can log in successfully.

Must be an IE 10 issue.


0xC000027B exception when trying to start WinUI from within a dll

Describe the bug
Our exe (C++ desktop app) is (and must stay) UI agnostic. The UI is loaded from a C/C++ dll.
The first exported function called from the exe is "void InitWinUI()" that mimic what is done in the main  from the desktop c++ sample.
`void InitWinUI()
{
winrt::init_apartment(winrt::apartment_type::single_threaded);
//winrt::init_apartment();
print_context();
::winrt::Microsoft::UI::Xaml::Application::Start(
	[](auto&&)
	{
		::winrt::make<::winrt::App1::implementation::App>();
	});

}`
Exception 0xC000027B is thrown somewhere within the call to "winrt::Microsoft::UI::Xaml::Application::Start(lambda)"
Tried with winui preview1 and preview2. Same result.
Steps to reproduce the bug
Make a C++ winui desktop app using the winui sample (VS new project)
Change its type to dll, and export a basic C function "InitWInUI()" as above
Make a regular C/C++ exe (console or , link it with the dll and call InitWinUI()
-> notice the 0xC000027B exception
Expected behavior
Able to "start" winui (create windows, controls, etc) from within a dll.
Maybe I'm doing it wrong... Any workaround or suggestions welcome!
Screenshots
Unhandled exception at 0x00007FFFA90E6589 (Microsoft.Internal.XamlUdk.dll) in GameFake.exe: 0xC000027B: An application-internal exception has occurred (parameters: 0x000001F9DFC377C0, 0x0000000000000001).
Version Info
WinUI version="3.0.0-preview2.200713.0" (same with preview1)
CppWinRT version="2.0.200316.3"
VCRTForwarders.140 version="1.0.6"

Windows 10 version 1909 (build 18363.900)

Desktop
Additional context
I attach the mini  dump file.
Here is the callstack:
KernelBase.dll!RaiseFailFastException()	Unknown
combase.dll!RoFailFastWithErrorContextInternal2(HRESULT hrError, unsigned long cStowedExceptions, _STOWED_EXCEPTION_INFORMATION_V2 * * aStowedExceptionPointers) Line 1458	C++
Microsoft.Internal.XamlUdk.dll!FailFastWithStowedExceptionInfo()	Unknown
Microsoft.UI.Xaml.dll!UdkShim::FailFastWithStowedExceptions(HRESULT hrError, unsigned long cStowedExceptions, _STOWED_EXCEPTION_INFORMATION_V2 * * aStowedExceptionPointers) Line 85	C++
Microsoft.UI.Xaml.dll!FailFastWithStowedExceptions(HRESULT hrError, unsigned long cStowedExceptions, _STOWED_EXCEPTION_INFORMATION_V2 * * aStowedExceptionPointers) Line 93	C++
Microsoft.UI.Xaml.dll!CXcpDispatcher::Init(IXcpHostSite * pSite) Line 356	C++
Microsoft.UI.Xaml.dll!CXcpDispatcher::Create(IXcpHostSite * pSite, IXcpDispatcher * * ppInterface) Line 505	C++
Microsoft.UI.Xaml.dll!CJupiterControl::Init() Line 145	C++
Microsoft.UI.Xaml.dll!CJupiterControl::Create(CJupiterControl * * ppControl) Line 32	C++
Microsoft.UI.Xaml.dll!DirectUI::DXamlCore::InitializeInstance(InitializationType initializationType, bool runWithoutCoreApplication) Line 372	C++
Microsoft.UI.Xaml.dll!DirectUI::DXamlCore::InitializeImpl(InitializationType initializationType, bool runWithoutCoreApplication) Line 2636	C++
Microsoft.UI.Xaml.dll!DirectUI::FrameworkApplication::StartDesktop() Line 188	C++
Microsoft.UI.Xaml.dll!DirectUI::FrameworkApplicationFactory::Start(ABI::Microsoft::UI::Xaml::IApplicationInitializationCallback * pCallback) Line 713	C++

App1.dll!winrt::impl::consume_Microsoft_UI_Xaml_IApplicationStaticswinrt::Microsoft::UI::Xaml::IApplicationStatics::Start(const winrt::Microsoft::UI::Xaml::ApplicationInitializationCallback & callback) Line 260	C++
App1.dll!winrt::Microsoft::UI::Xaml::Application::Start::__l2::(const winrt::Microsoft::UI::Xaml::IApplicationStatics & f) Line 12898	C++
App1.dll!winrt::impl::factory_cache_entrywinrt::Microsoft::UI::Xaml::Application,winrt::Microsoft::UI::Xaml::IApplicationStatics::call<void (const winrt::Microsoft::UI::Xaml::IApplicationStatics &) &>(winrt::Microsoft::UI::Xaml::Application::Start::l2::void (const winrt::Microsoft::UI::Xaml::IApplicationStatics &) & callback) Line 5984	C++
App1.dll!winrt::impl::call_factory<winrt::Microsoft::UI::Xaml::Application,winrt::Microsoft::UI::Xaml::IApplicationStatics,void (const winrt::Microsoft::UI::Xaml::IApplicationStatics &)>(winrt::Microsoft::UI::Xaml::Application::Start::l2::void (const winrt::Microsoft::UI::Xaml::IApplicationStatics &) && callback) Line 6007	C++
App1.dll!winrt::Microsoft::UI::Xaml::Application::Start(const winrt::Microsoft::UI::Xaml::ApplicationInitializationCallback & callback) Line 12899	C++
App1.dll!InitWinUI() Line 48	C++
GameFake.exe!wWinMain(HINSTANCE * hInstance, HINSTANCE * hPrevInstance, wchar_t * lpCmdLine, int nCmdShow) Line 34	C++
GameFake.exe!invoke_main() Line 123	C++
GameFake.exe!__scrt_common_main_seh() Line 288	C++
GameFake.exe!__scrt_common_main() Line 331	C++
GameFake.exe!wWinMainCRTStartup() Line 17	C++
kernel32.dll!BaseThreadInitThunk()	Unknown
ntdll.dll!RtlUserThreadStart()	Unknown

with the dump :)
preview2.zip

@willynt is your app packaged or unpackaged? unpackaged apps are currently unsupported. @stevenbrix and @alwu-msft FYI

It wasn't, so I tried to package it (I'm no familiar with the "packaging" concept).
I can't package my dll, as it says it can only package executable.
When I package my exe (raw win32/c++ exe), I get the same 0xC000027B exception during call to Application:Start().
My exe is Winui agnostic, so I believe packaging it is somehow useless...
What am I doing wrong? Any suggestions?
Thx!

@stevenbrix @alwu-msft or @MikeHillberg FYI

@willynt if you aren't packaging using the .wapproj that's created from the WinUI vsix, then your app wont work. This is a temporary limitation that we're planning to fix by Preview3.
If you create a WinUI desktop project, then add your regular c++ project to it, you should be able to redirect the packaging project at the console project instead of the WinUI app (which you turned into a dll).
I'd like to understand your scenario a bit better, why do you need your app to be UI agnostic?

@stevenbrix thx for the suggestions, I'll give it a go.
Our app/exe is a game, which in normal mode doesn't need UI.
Started with a specific parameter, it runs in "tool/editor" mode, which loads the "UI" dll and add dialogs/controls, etc...
UI dll is currently MFC based. I'm investigating replacing MFC by Winui3 (progressively).


do_after gets cancelled when hurt

this is intentional?

yeah, the coder defining the DoAfter can decide if it will be cancelled if the user is hurt. This is not an issue.

I do still think there is an issue here that needs to be fixed, it maybe just needs a better description. There should be some way for do after to treat different sources of damage differently. Or maybe combat should just have some way of interrupting do-afters without relying on damage.
For example. you should be able to try break out of handcuffs while suffocating or starving, but it should be interrupted when someone punches you. Currently you can't do that. Similarly, you should be able to vault tables to try escape out of a low-pressure room, but can't.


cljsjs/react exclusion

Instead of doing this:
[reagent "0.6.0" :exclusions [cljsjs/react]]
[cljsjs/react-with-addons "15.4.2-2"]
[cljsjs/react-dom "15.4.2-2"]
[baking-soda "0.1.1"]

I had to do this:
[reagent "0.6.0" :exclusions [cljsjs/react]]
[cljsjs/react-with-addons "15.4.2-2"]
[cljsjs/react-dom "15.4.2-2" :exclusions [cljsjs/react]] ; Exclude react here as well.
[baking-soda "0.1.1"]

Is this just me? If so, why? If not, maybe tweak the readme?

@madstap after running lein deps :tree looks like react-dom does bring in a version of react, so excluding it shouldn't hurt. I'll update the README, thanks!


Fixed autosave from triggering on empty forms

Description
When changing steps in the submission intake form autosave is no longer triggered, onBlur for phone number doesn't trigger autosave anymore, and no more double autosave on initial save of draft.
Keeps empty drafts from cluttering the draft and submissions table.
PADS-337
Types of changes

Bug fix (non-breaking change which fixes an issue)

Checklist

[x] I have read the CONTRIBUTING doc
[x] I have checked that unit tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

Looking almost perfect!  I did have one weird thing where I didn't fill out the Address section, clicked Submit and the validation occurred telling me I forgot that field...I stopped to read the red error message and it all of a sudden auto-saved and the validation went away...but I couldn't make it happen again!  But I did find one error...go back and fill out the address/coordinates and click Submit and I get an Axios Error 422 (Failed to save intake) after clicking Yes to submitting so I couldn't actually submit my submission.


Type inference / type narrowing incorrect when using the Boolean() BooleanConstructor

TypeScript Version:  3.8.3 + Nightly

Search Terms:
Inference
Boolean
Code
// This function correctly narrows the type of tag
// and gives us the correct return type
function validFunction(tag: number | undefined): number | false {
  return !!tag && tag
}

// This function allegedly returns `number | false | undefined`,
// and gives a TS error, even though that is obviously not true.
function invalidFunction(tag: number | undefined): number | false {
  return Boolean(tag) && tag
}

Expected behavior:
I expect using a Boolean() BooleanConstructor to narrow the type as effectively as the !! operator.
Actual behavior:
The Boolean constructor does not narrow the type correctly. I found this when attempting to refactor some code to follow the `no-implicit-coercion ESLint rule.
Playground Link:
https://www.typescriptlang.org/play/?ts=4.0.0-dev.20200506&ssl=3&ssc=2&pln=1&pc=1#code/GYVwdgxgLglg9mABDMA3AhgGxgEwGLjTxgAUU6A5gFyJggC2ARgKYBOiAPouDs8CsxwBKGnSZtOiYFgDOzRAG8AsAChEiVsyghWSAEJw4mZulLkKQxADIric6oC+q1aEiwEiDNnyF3ZyqIMLOxcPHwCwoHiIVKy8spqGlo6SACEqebWtvYqDkA
Related Issues:
Misc: If this does turn out to be a bug, I'm happy to write a PR to fix this given some guidance.

Duplicate of #16655. Search terms: boolean narrow

Closing since it's a dupe of #16655.


Update configure-cloud-connector-integration-with-your-office-365-ten…

Update configure-cloud-connector-integration-with-your-office-365-tenant.md
#3041

@nenonix @JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@CarolynRowe PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


Cannot pause files that have been .jump()ed to

By painful experimentation and hours of debugging, I've found that calling .jump(0) plays the entire file from start to finish, regardless of if the object has .pause() called on it. In fact, if it is paused then played again, it will play two copies from the same p5 sound object.
This should be either corrected or at least noted in the documentation, as the current "will reset the file to play entire duration from start to finish" makes no mention that it cannot be paused either.

Update: It seems to only happen when the file is .jumped then play is called immediately afterwards. If there is some time it seems to work properly.


ART-2725 Add component checks to first fix

https://issues.redhat.com/browse/ART-2725
relevant thread
Earlier we were filtering out flaw bugs
based on if any of its tracker bugs were
fixed/shipped earlier. Now we determine
it based on components. And if for any
component, a tracker was not fixed/shipped
then we do not filter out the flaw bug.
And add missing test cases, so we know when we regress!

Codecov Report

Merging #212 (1105cd9) into master (471bb81) will increase coverage by 27.79%.
The diff coverage is 3.03%.

@@             Coverage Diff             @@
##           master     #212       +/-   ##
===========================================
+ Coverage        0   27.79%   +27.79%
===========================================
  Files           0       48       +48
  Lines           0     4490     +4490
  Branches        0      957      +957
===========================================
+ Hits            0     1248     +1248
- Misses          0     3171     +3171
- Partials        0       71       +71

Impacted Files
Coverage Δ

elliottlib/attach_cve_flaws.py
0.00% <0.00%> (ø)

elliottlib/cli/attach_cve_flaws_cli.py
0.00% <ø> (ø)

elliottlib/bzutil.py
54.47% <10.00%> (ø)

elliottlib/cli/add_metadata_cli.py
0.00% <0.00%> (ø)

elliottlib/cli/advisory_images_cli.py
0.00% <0.00%> (ø)

elliottlib/rpmdiff.py
100.00% <0.00%> (ø)

elliottlib/cli/validate_rhsa.py
0.00% <0.00%> (ø)

elliottlib/logutil.py
80.00% <0.00%> (ø)

elliottlib/cli/find_builds_cli.py
24.07% <0.00%> (ø)

... and 41 more

Continue to review full report at Codecov.

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

lgtm

/lgtm


Improve markdown support, fix markdown css

Allow image tags or some other alternative that lets you resize an image, also with spacing issues and all

What about using something like editor.js? It saves the content in json instead of markdown, can also be rendered easily and their editor is a blessing. Haven't found any better editor than theirs.

We'd like for people to be able to copy paste their bbcode or existing GH markdown descriptions easily and have them look somewhat the same, since that's the formats most people use and would want to keep

I also don't really like the idea of giving people to many tools, pages will look like a mess, just using markdown (+ allowing some html in moderation) keeps the pages consistent and clean.
I agree that a way to size images is important.

done


Hugoer/material table

Correctly sort the data in a column when it contains string data and numeric values. If this occurs, numeric values are converted to text

The PR also missing a proper title and description, and the commit titles should be a bit more descriptive.

Please, tell me if it is needed more information and i would add it. Sorry about number of commits, i did it from mobile because of i am not at home for some days.

The commit title still seems pretty generic and won't tell people much when it makes it to the changelog. Maybe something along the lines of "fix(table): correctly sort columns with mixed data types"?

The commit title still seems pretty generic and won't tell people much when it makes it to the changelog. Maybe something along the lines of "fix(table): correctly sort columns with mixed data types"?

Done! i did a git commit amend, it is right?

Commit message fixup: use message from last commit when squashing (fix(table): correctly sort columns with mixed data types).


Fix indentation formatting for params with attributes

Bug/issue #, if applicable: 108472125
Summary
Fixes issue where parameters that start with attributes are not properly indented onto the next line like ones without attributes are.
Before:
// func qux(a: String, b: String, @StringBuilder c: () -> String)
func qux(
    a: String,
    b: String, @StringBuilder c: () -> String
)

After:
// func qux(a: String, b: String, @StringBuilder c: () -> String)
func qux(
    a: String,
    b: String,
    @StringBuilder c: () -> String
)

Dependencies
(Only due to some test refactoring done in the dependent PR—I can easily rebase things if necessary to make this an independent PR.)
https://github.com/apple/swift-docc-render/pull/633
Testing
Steps:

Build this branch with npm run build
Preview example package with env DOCC_HTML_DIR=/path/to/dist swift package --disable-sandbox preview-documentation --target [TARGET]
Find/create a function with multiple parameters where one of the parameters starts with an attribute—verify that it gets indented onto its own line in the Declaration section when previewing the docs

Here is an example Swift package that has the example function from above (target "AttributeExamples"):
AttributeExamples.zip
Checklist
Make sure you check off the following items. If they cannot be completed, provide a reason.

[X] Added tests
[X] Ran npm test, and it succeeded
[X] Updated documentation if necessary

\cc @ethan-kusters @hqhhuang @dobromir-hristov @marinaaisa

Closing since https://github.com/apple/swift-docc-render/pull/633 has been merged but will re-open on the main repo


Build styles for new custom template

#42 use the same style for demos/tutorials/api-doc. Probably use bootstrap, fuel ux, gsd, foundation etc.

There are lots of great themes for every known website tool. Choose one! (no need to get fancy in the near future).


Filter contact tracing packets

Right now we're logging everything; filter down to advertising info from contact beacons only.

tested.


README.md is confusing

The README.md is confusing because when using GraalVM 1.0.0 RC1, you run into problems executing mx --dynamicimports /compiler build, as recommended in "With Graal". I guess what is meant is "with the Graal compiler", but the wording is confusing here. What that README is probably talking about is "using LabsJDK + Graal compiler". It would be nice to know how to run from source with the default GraalVM and to distinguish that in the README from running with the Graal compiler also built from source.

Thanks for your comment, Fabio. We will clarify in the README.md that it is indeed meant when you use a Graal compiler that you built from source yourself.
Regarding using Graal.js with a GraalVM: I am not sure what you mean with that? The GraalVMs binaries we provide are shipped with Graal.js already. If you build a GraalVM yourself, the documentation for that can be found in GraalVM, not in Graal.js.

I have updated the README a bit. For the compilation problem there is another issue open.

Thanks! Although, I think it would also be useful to mention what vm should be used for which step. mx --dynamicimports /compiler build, for example, requires LabsJDK and won't work on a GraalVM (which is not obvious for beginners).


Add python3-git for rhel

Please add the following dependency to the rosdep database.
Package name:
python3-git
Package Upstream Source:
python3-GitPython (fedora)
Purpose of using this:
Package exists for other distros, just not RHEL. Blocking the Galactic blooming of system_fingerprint

Fedora: https://packages.fedoraproject.org/

python3-GitPython (fedora)

@clalancette Any idea why this one doesn't work in rolling?

@clalancette Any idea why this one doesn't work in rolling?

It's the same reason #34443; it is only available for EPEL-8.  The same solution should apply.

Who should give this a second review? @tfoote


Cherry pick PR - Fix site build (#16531)

Cherry-picking PR #16531  from master to 1.16 so we can move to Hugo 0.57.2. See also PRs #16104 and #16151.
The *.profile file referenced do not need to be provided in a separate
file. Making them separate files is preventing hugo from correctly
building the site.
PRs in this "cherry pick" group: #16645, #16646, #16647, #16648, #16650

Hi @aimeeu. Is there a plan/need to port this fix to the last five versions?
Page preview:
https://deploy-preview-16645--k8s-v1-16.netlify.com/docs/tutorials/clusters/apparmor/
/lgtm

@kbhawkey yep - all the PRs have now been submitted: #16645, #16646, #16647, #16648, #16650.  Updating other PRs now with this info.

/assign @zacharysarah

@aimeeu @kbhawkey 👋 This PR isn't technically necessary:

This change is already in master
The current version is 1.16, which points to master
The docs release lead will merge master to release-1.16 during the 1.17 cycle

So we can safely close this one.
/close


Demo issue

Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our issue reporting guidelines. Please take the time to review these and update the issue.
Happy Coding!

I would love to contribute if you assign me this issue.


intl Version issues

"because every version of flutter_localizations from sdk depends on intl 0.18.0, flutter_calendar_carousel ^2.4.1 is incompatible with flutter_localizations from sdk." in flutter version 3.3.0
I have above issues.

Published 2.4.2!


Hack around a broken-mark subscription edge case

Requires %zuse and %gall reload, which should succeed against master@219e587
@cgyarvin please review and acknowledge.

Reviewed.

Aaaaa i left printfs in abort abort
(don't abort but like, mo-defer and mo-resume on every talk message should maybe get taken out)

Do you have a patch that removes them?

On Dec 12, 2016, at 5:47 PM, Anton Dyudin<EMAIL_ADDRESS>wrote:
Aaaaa i left printfs in abort abort
(don't abort but like, mo-defer and mo-resume on every talk message should maybe get taken out)
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub, or mute the thread.


Experience/5442: Valuesets Detail Page with API hookup

This PR is an incremental change to the Valuesets Editor UI. It adds the proper API calls to populate the Details page with the valueset specified at the end of the URL. This PR also adds the ability to link to Details directly from the Index page.
Test Steps:

Login as Admin to ReportStream
Navigate manually to /admin/value-sets in the URL (or add the "value-sets" feature flag to navigate from the menu itself)
Observe the list of valuesets, now with the valueset names hyperlinked
Click on any particular valueset name link
Observe the list of valueset rows on the new page that correspond to the valueset name they're linked from

Changes

UseLookupTable.ts - expanded the useLookupTable hook to be able to also retrieve table rows per dataset
ValuesetsDetail.tsx - replaced hardcoded sample data with live API data
ValuesetsIndex.tsx - added linkable column to ValuesetsDetails.tsx page
Added/modified unit tests
Screenshots

Checklist
Testing

[x] Tested locally?
[ ] Ran ./prime test or ./gradlew testSmoke against local Docker ReportStream container?
[x] (For Changes to /frontend-react/...) Ran npm run lint:write?
[x] Added tests?

Process

[ ] Are there licensing issues with any new dependencies introduced?
[ ] Includes a summary of what a code reviewer should test/verify?
[ ] Updated the release notes?
[ ] Database changes are submitted as a separate PR?
[ ] DevOps team has been notified if PR requires ops support?

Linked Issues

Addresses #5442

Pull reviewers stats
Stats for the last 30 days:

User
Total reviews
Time to review
Total comments

jeremy-page
25
59m
0

carlosfelix2
16
15h 26m
70

MauriceReeves-usds
13
1h 50m
0

kevinhaube
12
1h 44m
21

clediggins-usds
11
3h 12m
15

oslynn
7
24m
2

TomNUSDS
7
44m
20

brick-green
7
42m
0

ahay-agile6
5
1h 28m
2

jorg3lopez
5
19h 14m
0

bgantick
4
1h 49m
1

jbiskie
4
40m
0

doug-s-nava
3
2h 6m
28

mreifman
2
17m
1

sethdarragile6
2
1h 50m
3

TurkeyFried
1
23m
0

JosiahSiegel
1
3m
0

RickHawesUSDS
1
6m
2

jimduff-usds
1
12h 26m
0

snesm
1
39m
0

This looks great! Very clean, too. Just curious about generateUseLookupTable and a request for dev-friendly console error messaging 👍🏼

Thanks! I've addressed the error handling satisfactorily (I think), and I tagged @ahay-agile6 and @doug-s-nava on the comment about generateUseLookupTable. Let me just shout them out while I'm here, I would not have been able to produce much of this on my own.


Update: KDE.Dolphin version 22.12.2 [FP-D]

Result: Installation Successful

Manifest
Add/Remove Programs

Name
Dolphin
Dolphin

Version
22.12.2
22.12.2

Publisher
KDE e.V.
KDE e.V.

ProductCode

Dolphin

Auto-updated by vedantmgoyal2009/winget-pkgs-automation in workflow run 6137

Duplicate of 97159

This would remove YamlCreate.

@stephengillie Something fresh is being cooked here: https://github.com/vedantmgoyal2009/winget-manifests-manager. Hopefully, this would remove these kinds of errors.


Class EBanner  deprecata

Hi there is an error compile.
The import class "import com.ironsource.mediationsdk.EBannerSize;" not work. Probably is deprecated.
I think the new class is "import com.ironsource.mediationsdk.ISBannerSize;"
Could you correct it?
Thank you so much for the good work

Hi, any news on this?

One question! Why i don't recive reward with event "offerwallCreditReceived". I don't understand.

@DennisNicolas , I haven't had time to finish up this. Scheduling some time soon. Definitely accepting pull requests.

I'm going to be working on this today.

Thanks ;)

Updated to 0.1.11 [e09b3070f4994f1d41a8ce59f5e82815ad66909a]
Here is a demo project
https://github.com/charlesbodman/cordova-plugin-ironsource-ads-demo
Let me know if you need help with anything. The banner support is limited.

Thanks a  lot. I have tried the new version. The banner work now. I don't receveid the credit from Offerwall. The event "offerwallCreditReceived" not work only the "offerwallClosed" event. The configuration on my iron dashboard is correct. Could you help me? What should i check?

Work!!


Info window renders mislocated when used with *ngIf

Issue description
If the *ngIf condition at an info window is set to false and then it changes to true, then the info window is rendered mislocated.
Steps to reproduce and a minimal demo of the problem

Create a map with a marker and an info window anchored to the marker. The info window should have *ngIf.
Change the *ngIf condition to false and then to true.
Click on the marker.
The info window renders mislocated.

Expected/desired behavior
Info window should be located just above the marker.
angular2 & angular2-google-maps version
angular 2.1.2
angular2-google-maps 0.16.0

I think I found out how to fix it, I'll create a pull request soon.


Not showing the results

So I've gone through the process of making all the rolls and results tables, but when clicking on the icon, it will only show the rolls and not the results.  Am I doing something wrong?

In order to diagnose this, can you post a screenshot of what your activity configuration looks like? Additionally, are you using any of the following modules: Dice so Nice, BetterRolls5e, Midi QOL, or Skill Customization 5e?


Grammar Check

This PR aims to:

Fix grammar typos (ran through Grammarly)
Use bold for columns instead of code
Replace here placeholder for links with descriptive descriptions

Pinging @jakubnml so you are aware of this :)


Update Ice Crash gem with 3.11 changes

The gem was not up to date with last patch values.
I updated them and tested locally.
I used the wiki as a reference.

The Ice Crash gem stats on POB show 50% conversion to cold. The gem is actually 100% conversion to cold. You may or may not know this. Wiki:  [(https://pathofexile.gamepedia.com/Ice_Crash)]


Keeps Crashing

I added all the necessary files, and I also added all the right firebase packages. Each time I try to view the canvas, it loads for a few seconds and then crashes. I tried running the build, and it was just a white screen. There are no errors. Anyone know why this is happening?

Good afternoon.
I just finished building the project locally.
Everything is running fine, registration works, and login as well.
I tried to investigate your description.
Possible reasons:

Insufficient permissions granted for Firebase.
Below are the setup steps. If you encounter any difficulties, let me know, and I'll reset with more detailed screens on how Firebase should be configured for launch.

To launch the mobile app, you will need (steps from the repository description):

Create a Firebase account (App).
Add the GoogleService-Info.plist file with your app data to the project (generated by Firebase).
Enable Authentication in Firebase (Sign-in providers): Email/Password.
Check and adjust the access rights of the Firestore Database (Cloud Firestore).

Firestore Rules:
rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if request.auth != null;
    }
  }
}

Check Package Dependencies in the project:
• abseil 0.20220203.2
• BoringSSL-GRPC 0.9.1
• Firebase 8.15.0
• GoogleAppMeasurement 8.15.0
• GoogleDataTransport 9.2.4
• GoogleUtilities 7.11.4 ^ gRPC 1.44.3-grpc
• GTMSessionFetcher 1.7.2
• Kingfisher 7.8.1
• leveldb 1.22.2
• nanopb 2.30908.0
• Promises 2.3.1
• SwiftProtobuf 1.22.0

If everything is correct, try XCode -> Product -> Clean build folder...

If there were changes to dependencies (may be), clean [DerivedData].

I used for testing: iPhone 14 Pro, iOS 16.4, XCode 14.3.1. Update to the latest version if required.


writing W's

for some reason when you write W's on canvas it doesn't render properly compared to alternative drawing programs. This is in particular when you try to write small W's. Only the last stroke for the w is registered giving it a V shape instead of a W.
For example, this is how it appears in the demo app:

and this is how w's show up in paper:

Do you know what the issue is and how it might be resolved?

It seems that the accuracy of line positions needs to be improved when calculating bezier path.

Is it very complicated to do?

Yes, a little complicated. But this is something really needs to be done. I will do it later when I have enough time.

Awesome!

Found this library that does the calculations so you don't have to. https://github.com/uber/UberSignature

Found an codebase that might be helpful: https://github.com/slade9220/ZenBoard

Very thanks! I'will read these code later

Any progress?

not yet

@abrpatel fixed now, try out the 2.6.0 version.
Please noticed that forceEnabled is deprecated on this version, and it's turned on by default.
and simulated force is removed too.

Works beautifully!!


Disable or remove nb_conda_kernels

I can't find how to temporarily disable, or permanently remove, nb_conda_kernels.
I tried to permanently remove with conda (conda remove nb_conda_kernels), but that flags environment inconsistencies similar to #188 before hanging.

https://github.com/conda/conda/issues/8490#issuecomment-614501058
You should really try this! I've fixed it and ran perfectly.

pip uninstall nb_conda

I'm going to close as stale here, but I'm not averse to this being re-opened if necessary


feat(widget): add widget component

Curious about this disabled functionality. Here only background is lighten but we can still able to click widget internals when disabled = true. Is it as needed?
Uploading Screen Recording 2024-04-26 at 5.01.59 PM.mov…

Curious about this disabled functionality. Here only background is lighten but we can still able to click widget internals when disabled = true. Is it as needed?

Yeah makes sense because we don't have control over the slotted content.

:tada: This PR is included in version 1.16.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Code for the mulit-channel chat app

Signed-off-by: Kevin Hoffman<EMAIL_ADDRESS>

@thomastaylor312 merging this because it's being pointed to by live documentation. If we want to refactor this to make more improvements, we can do so in subsequent PRs.


Auth vNext Snippets

TODO:

[ ] Fix setPersistence() calls (blocked on SDK)
[ ] Fix OAuthProvider.credentialFromResult() calls (blocked on SDK)
[ ] Implement FirebaseUI snippets (blocked on SDK)
[ ] Fix linking snippets

@samhorlbeck if you're curious take a look at the *.js files in auth-next.  Ignore the others, they are generated.
@egilmorez FYI


[google-cloud-cpp] update to latest release (v2.5.0)

Updates google-cloud-cpp to the latest release (v2.5.0)

What does your PR fix?

N/A

Which triplets are supported/not supported? Have you updated the CI baseline?

No change

Does your PR follow the maintainer guide?

Yes

Features connectors and vmwareengine tested successfully in the following triplet:

x86-windows
x64-windows
x64-windows-static

Thank you!


Mutable initialization of underscored private attributes does not properly copy

Initial Checks

[X] I have searched GitHub for a duplicate issue and I'm sure this is something new
[X] I have searched Google & StackOverflow for a solution and couldn't find anything
[X] I have read and followed the docs and still think this is a bug
[X] I am confident that the issue is with pydantic (not my code, or another library in the ecosystem like FastAPI or mypy)

Description
When creating a pydantic class with a sunder attribute, the smart_deepcopy function is not called. Therefore, the mutable object (such as a list) is shared among members of the class.
This is confusing behavior since it differs from regular attributes on a model. These fields behave more like legitimate class variables, which isn't well-documented.
Example Code
from typing import List
from pydantic import BaseModel

class Model(BaseModel):
    public_list: List[str] = []
    _private_list: List[str] = []

model1 = Model()
model2 = Model()

assert id(model1.public_list) != id(model2.public_list)  # Passes
assert id(model1._private_list) != id(model2._private_list)  # Fails

> Traceback (most recent call last):
>  File "example.py", line 14, in <module>
>    assert id(model1._private_list) != id(model2._private_list)
> AssertionError

Python, Pydantic & OS Version
pydantic version: 1.10.2
pydantic compiled: False
     install path: /usr/local/lib/python3.8/site-packages/pydantic
python version: 3.8.14 (default, Sep 13 2022, 15:03:48)  [GCC 10.2.1 20210110]
platform: Linux-<IP_ADDRESS>-microsoft-standard-WSL2-x86_64-with-glibc2.2.5
optional deps. installed: ['email-validator', 'typing-extensions']

Affected Components

[ ] Compatibility between releases
[X] Data validation/parsing
[ ] Data serialization - .dict() and .json()
[ ] JSON Schema
[ ] Dataclasses
[ ] Model Config
[ ] Field Types - adding or changing a particular data type
[ ] Function validation decorator
[ ] Generic Models
[X] Other Model behaviour - construct(), pickling, private attributes, ORM mode
[ ] Plugins and integration with other tools - mypy, FastAPI, python-devtools, Hypothesis, VS Code, PyCharm, etc.

Try to use the PrivateAttr object in your model to declare private attributes,
more about it here https://pydantic-docs.helpmanual.io/usage/models/#private-model-attributes
from pydantic import BaseMode, PrivateAttr

class Model(BaseModel):
    public_list: List[str] = []
    _private_list = PrivateAttr(default_factory=list)

# ...code

assert id(model1._private_list) != id(model2._private_list)  # pass

None of them are passing on V2, and this is expected.
Pydantic copies the attributes in order to efficiently iterate over its elements for validation.


[$500] User can unpin a report and mark it as unread/read simultaneously.

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Right click on any report in LHS
Unpin/pin & Mark as read/unread quickly

Expected Result:
User should be able to select one at a time.
Actual Result:
User is able to select both at a time.
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.65-0
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/43996225/b81892be-7e5b-491f-bf6b-69535b9df10a
https://github.com/Expensify/App/assets/43996225/11cf2559-d42c-46c6-8e50-0300f97641bb
Expensify/Expensify Issue URL:
Issue reported by: @krishna2323
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1692160684023549
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01c0f25974eee0955c
Upwork Job ID:<PHONE_NUMBER>339986432
Last Price Increase: 2023-09-21

Proposal
Please re-state the problem that we are trying to solve in this issue.
User can unpin a report and mark it as unread/read simultaneously
What is the root cause of that problem?
What changes do you think we should make in order to solve the problem?

What alternative solutions did you explore? (Optional)

Proposal
Please re-state the problem that we are trying to solve in this issue.
User can unpin a report and mark it as unread/read simultaneously.
What is the root cause of that problem?

Currently, when clicking on the "Mark as unread" (or "Mark as read") button in the context menu, it will delay for 800ms before hiding the context menu, like below:
https://github.com/Expensify/App/blob/f68755cf202eb56b0bead752ddba4d037a57032e/src/pages/home/report/ContextMenu/ContextMenuActions.js#L254
The hideContextMenu with the first params called "shouldDelay":
https://github.com/Expensify/App/blob/f68755cf202eb56b0bead752ddba4d037a57032e/src/pages/home/report/ContextMenu/ReportActionContextMenu.js#L11-L32

What changes do you think we should make in order to solve the problem?

We clicking on "Mark as unread" button, we can call the hideContextMenu with shouldDelay param is false like:

   hideContextMenu(false, ReportActionComposeFocusManager.focus);

What alternative solutions did you explore? (Optional)

We can just disable the others button after clicking on "Mark as unread" button to make sure that others' logic is not broken by creating a state disableClickOnContextMenuItem in PopoverReportActionContextMenu that used to decide if we should disable context button item or not
The hideContextMenu function will become:

function hideContextMenu(shouldDelay, onHideCallback = () => {}) {
  ...
    contextMenuRef.current.disableClickOnContextMenuItem();
    setTimeout(() => {
        if (contextMenuRef.current.instanceID !== instanceID) {
            return;
        }
        contextMenuRef.current.hideContextMenu(onHideCallback);
    }, 800);
}

In there, the disableClickOnContextMenuItem is:

  disableClickOnContextMenuItem() {
        this.setState({
            disableClickOnContextMenuItem: true,
        });
    }

Result

Solution 1: Screencast from 24-08-2023 22:59:14.webm
Solution 2: Screencast from 25-08-2023 02:26:25.webm

@parasharrajat I think the expected is: User cannot click two items at once

@parasharrajat Yeah, I mean that once the ContextMenu is open, user can click on  one item

It was decided in the Slack discussion  that we should ensure the modal is closed when a context item is selected. Rather than staying open after the first selection

@abdulrahuman5196 have you had a chance to review the proposals that have been provided?

@abdulrahuman5196 have you reviewed the proposals for the fix?

@abekkala  @abdulrahuman5196 Currently, we are using the animation when selecting Mark as unread or Pin so I think we should not close the modal immediately after selecting item
Screencast from 15-09-2023 11:57:21.webm

Proposal
Updated

@akinwale if you have a significant change to your proposal, please help add a new comment, not edit your original proposal. It will help the reviewer. Thanks!

@akinwale if you have a significant change to your proposal, please help add a new comment, not edit your original proposal. It will help the reviewer. Thanks!

https://github.com/Expensify/App/issues/26917#issuecomment-1722105043

no. I think you need to write a new comment that related to this change. https://github.com/Expensify/App/issues/26431#issuecomment-1715348314

no. I think you need to write a new comment that related to this change. #26431 (comment)

Not necessarily. I'm following the contributing guide. Besides, the C+ has not reviewed the proposals yet.

@abdulrahuman5196 The  2nd @akinwale `s proposal is similar to mine, which use a variable to keep track that whether the item is selected or not. Also, it is just edited after my proposal, and after my comment https://github.com/Expensify/App/issues/26917#issuecomment-1720665715 to indicate that we are using the animation after selecting the item

@abdulrahuman5196 can you review the proposal and comments to get this one moving forward?

@abdulrahuman5196 is the proposal above acceptable? or do you have comments?
If it's not a viable fix, please let me know ASAP and I can get someone else on this one to get fixed right away

Proposal
Please re-state the problem that we are trying to solve in this issue.
User can unpin a report and mark it as unread/read simultaneously.
What is the root cause of that problem?

Currently, when clicking on the "Mark as unread" (or "Mark as read") button in the context menu, it will delay for 800ms before hiding the context menu, like below:
https://github.com/Expensify/App/blob/f68755cf202eb56b0bead752ddba4d037a57032e/src/pages/home/report/ContextMenu/ContextMenuActions.js#L254
The hideContextMenu with the first params called "shouldDelay":
https://github.com/Expensify/App/blob/f68755cf202eb56b0bead752ddba4d037a57032e/src/pages/home/report/ContextMenu/ReportActionContextMenu.js#L11-L32

What changes do you think we should make in order to solve the problem?

We clicking on "Mark as unread" button, we can call the hideContextMenu with shouldDelay param is false like:

   hideContextMenu(false, ReportActionComposeFocusManager.focus);

What alternative solutions did you explore? (Optional)

We can just disable the others button after clicking on "Mark as unread" button to make sure that others' logic is not broken by creating a state disableClickOnContextMenuItem in PopoverReportActionContextMenu that used to decide if we should disable context button item or not
The hideContextMenu function will become:

function hideContextMenu(shouldDelay, onHideCallback = () => {}) {
  ...
    contextMenuRef.current.disableClickOnContextMenuItem();
    setTimeout(() => {
        if (contextMenuRef.current.instanceID !== instanceID) {
            return;
        }
        contextMenuRef.current.hideContextMenu(onHideCallback);
    }, 800);
}

In there, the disableClickOnContextMenuItem is:

  disableClickOnContextMenuItem() {
        this.setState({
            disableClickOnContextMenuItem: true,
        });
    }

Result

Solution 1: Screencast from 24-08-2023 22:59:14.webm
Solution 2: Screencast from 25-08-2023 02:26:25.webm

Reviewing now

@abekkala Sorry for the delay.

Currently, we are using the animation when selecting Mark as unread or Pin so I think we should not close the modal immediately after selecting item

I agree on this. We can't close immediately.
What should be the expected behaviour here? Do we make the other options not clickable?

@abdulrahuman5196 my proposal will make other options not clickable https://github.com/Expensify/App/issues/26917#issuecomment-1709379934

@abdulrahuman5196 my proposal will make other options not clickable #26917 (comment)

But I am doubtful if we want it. Because if its not clickable how can the UI be? It would be better to confirm what exact behaviour we want? Like I have asked here https://github.com/Expensify/App/issues/26917#issuecomment-1739308258
cc: @abekkala

@abdulrahuman5196 Yeah we need to confirm. In my opinion, my proposal will disable other options, and when hovering over these options, it will display as {cursor: not-allowed} and the color will change to any "none-actvie" color

@Julesssss pulling you in here as you were on the Slack conversation.
Should the modal close and not keep open to click back and forth both options?

Currently, we are using the animation when selecting Mark as unread or Pin so I think we should not close the modal immediately after selecting item

I don't think the animation is necessary tbh. The user doesn't need to see the state change to understand that it has occurred, plus it is causing this bug and looks like UI lag. Having said that, if the animation is desired then let's just do nothing here.
Let's ask @Expensify/design for their thoughts.

I'm actually curious why we think this is a bug? I mean if the menu is open, and the options are selectable, why can't the user select either one as quickly as they want?
I mean obviously this is an edge case and we try to close the popover menu after one is selected. But I don't know that this is a "bug" personally.

@shawnborton You can check this one https://github.com/Expensify/App/issues/24261. In that, we also prevent users from selecting two emojis at once

Sure, but this is different - these aren't the same action (adding an emoji) - they are two distinct actions.

Ok, so it sounds like initially in the slack thread we decided this was something to "fix" and now after further reflection we decided this is not a bug. @Julesssss we good to just close this then?


feat: Adds config checksums to Helm chart to trigger rollout on change

We're running into issues where, after updating our config in the chart, we then need to manually restart the StatefulSet in order for it to get the changes. This PR adds checksum annotations for all three ConfigMaps to the StatefulSet, such that changing the config in any way will automatically trigger a rollout.

I have read the Code of Conduct and I hereby accept the Terms

recheck

I have read the CLA Document and I hereby sign the CLA

We will validate and merge in next sprint

Hey @rjha-splunk, are you still planning to merge this? Let me know if there's anything else that needs doing with this PR.

Apologies for the delay, it will be for sure reviewed this sprint. @ikheifets-splunk please review it.

No problem at all, thank you!

sure, folks I will review on upcoming week, I temporary was super busy on splunk-connect-for-snmp and haven't time on that. But thanks for reminding @jmriebold

Hey @mstopa-splunk seems like this wasn't actually merged, just closed?

hi @jmriebold I'm sorry, you're right. There is a new release planned for this week and we will include it. Thank you for keeping an eye on that


PowerToys Run Commands from search

Summary of the new feature/enhancement
I used to use Hain to do /shutdown or /restart, this is a feature I surprisingly used allot!
My PC screen would be off and I would be able to do ALT+SPACE /restart or /shutdown without having to turn on my screen.
I would also use /taskkill /f /t /pid [Process name] allot. Later on I started using a plugin allowing me to /kill [Process name] instead.
This would make opening CMD for a single thing redundant. It would make some peoples workflow allot quicker
Proposed technical implementation details (optional)
Either a direct push to CMD/Powershell using /[command], /p[command] or additionally allow custom commands to be set as shortcuts for these.

Thanks for the feedback! We are tracking this suggestion in #2408. Closing this issue as a duplicate.


Baseline schema modification

Hey @dako365 and @sympmarc
I'd like to introduce a little change of the schema for our baselines.
For example, the baseline 5.2 (SharePoint Online) would then look like this (look for the 👈 signs in the following yaml file):
Topic: SharePoint Online
Type: Baseline
Id: M365.SPO-5.2
Version: 1.0 # 👈 new parameter

References:
  - https://www.cisa.gov/sites/default/files/2023-12/SharePoint%20and%20OneDrive%20SCB_12.20.2023.pdf
  - https://blueprint.oobe.com.au/as-built-as-configured/office-365/#sharing
  - https://blueprint.oobe.com.au/as-built-as-configured/office-365/#access-control
  - https://blueprint.oobe.com.au/as-built-as-configured/office-365/#sharepoint-settings

Configuration:
  - enforces: ExternalSharing # 👈 new 'enforces' attribute to group settings that belong together
    with: # 👈 new 'with' attribute to distinguish the settings / features from other params within the structure
      SharingCapability: ExistingExternalUserSharingOnly # Specifies what the sharing capabilities are for the site
      DefaultSharingLinkType: Internal # Specifies the default sharing link type
      DefaultLinkPermission: View
      RequireAcceptingAccountMatchInvitedAccount: true # Ensures that an external user can only accept an external sharing invitation with an account matching the invited email address.
      RequireAnonymousLinksExpireInDays: 30 # Specifies all anonymous links that have been created (or will be created) will expire after the set number of days (set to 0 to remove).
      FileAnonymousLinkType: View # Sets whether anonymous access links can allow recipients to only view or view and edit.
      FolderAnonymousLinkType: View # Sets whether anonymous access links can allow recipients to only view or view and edit.
      CoreRequestFilesLinkEnabled: true # Enable or disable the Request files link on the core partition for all SharePoint sites (not including OneDrive sites).
      ExternalUserExpireInDays: 30 # When a value is set, it means that the access of the external user will expire in those many number of days.
      EmailAttestationRequired: true # Sets email attestation to required.
      EmailAttestationReAuthDays: 30 # Sets the number of days for email attestation re-authentication. Value can be from 1 to 365 days.
      PreventExternalUsersFromResharing: true # Prevents external users from resharing files, folders, and sites that they do not own.
      SharingDomainRestrictionMode: AllowList # Specifies the external sharing mode for domains.
      SharingAllowedDomainList: "" # Specifies a list of email domains that is allowed for sharing with the external collaborators (comma separated).
      ShowEveryoneClaim: false # Enables the administrator to hide the Everyone claim in the People Picker.
      ShowEveryoneExceptExternalUsersClaim: false # Enables the administrator to hide the "Everyone except external users" claim in the People Picker.
  - enforces: ApplicationsAndWebparts
    with:
      DisabledWebPartIds: ""
  - enforces: AccessControl
    with:
      ConditionalAccessPolicy: AllowLimitedAccess # Blocks or limits access to SharePoint and OneDrive content from un-managed devices.
      BrowserIdleSignout: true
      BrowserIdleSignoutMinutes: 60
      BrowserIdleSignoutWarningMinutes: 5
      LegacyAuthProtocolsEnabled: false # Setting this parameter prevents Office clients using non-modern authentication protocols from accessing SharePoint Online resources
    references: # 👈 new attritbute 'references' to support an admin by providing an configuration url (for example)
      - BrowserIdleSignout: ${{tenantAdminUrl}}/_layouts/15/online/AdminHome.aspx#/accessControl/IdleSession
  - enforces: SiteCreationAndStorageLimits
    with:
      NotificationsInSharePointEnabled: true # Enables or disables notifications in SharePoint.
      DenyAddAndCustomizePages: true
      DenySiteCreationByUsers: true

These changes make the corresponding values and the whole baseline easier to handle within validation and provisioning engines and gives us the flexibility for future extensions with additional parameters.

Those seem like good changes. TBH, I didn't dig into the specifics of that YAML file yet, since you seemed to have it well in hand.


Add CFNetwork.dll to NuGet package

CFNetwork.dll is now a required framework library, so I'm adding it to the NuGet package.

This change is

@bbowman is added to the review. #Closed

:shipit:

<version>1.0.0</version>

should be bumped no?

Refers to: build/nuget/WinObjC.nuspec:5 in 08bff3a. [](commit_id = 08bff3ab1f2933749080aab51a25cf7cf3b9e1c9, deletion_comment = False)

:clock1:

:shipit:

<version>1.0.0</version>

Also thinking but we probably should be 0.0.X since we technically haven't released a first truly usable package. We are still in "beta"/development with these packages.

In reply to: 259294852 [](ancestors = 259294852)

Refers to: build/nuget/WinObjC.nuspec:5 in 08bff3a. [](commit_id = 08bff3ab1f2933749080aab51a25cf7cf3b9e1c9, deletion_comment = False)

@bviglietta is this still needed?


How can I add the Widget?

I installed the app, logged me in, but somehow I cant find the widget (only the official trello widgets). Is there a trick?

It should show up in the widget drawer just like any other widget. Of course not next to the official widgets, since it's a different app.

did you find it?

no sorry... its not in the list of the other widgets, so I uninstalled it completely

what device do you have?


az lock show is missing the property resourcename

I am missing the property resourcename  on which the lock applies, when executing az lock show --ids xxxx
When using Az powershell module command 'Get-AzResourceLock' the information is available.
Is it correct that this is missing or am I executing the wrong code ?
az lock show --ids "/subscriptions/xxxxx/resourcegroups/rg-dev-xxxx/providers/Microsoft.ManagedIdentity/userAssignedIdentities/uai-xxxxx-dev-001/providers/Microsoft.Authorization/locks/lock-delete-dev-uai" | ConvertFrom-Json
RESULT:
id            :
level         :
name          :
notes         :
owners        :
resourceGroup :
type          :
Get-AzResourceLock -ResourceGroupName rg-dev-xxxx
RESULT:
Name                  :
ResourceId            :
ResourceName          :
ResourceType          :
ExtensionResourceName :
ExtensionResourceType :
ResourceGroupName     :
SubscriptionId        :
Properties            :
LockId                :

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

ID: 62eb3c9f-6934-17b1-5639-c738c1e5cdf3
Version Independent ID: 1762377d-18df-77c4-bf83-398eec407af9
Content: az lock
Content Source: latest/docs-ref-autogen/lock.yml
Service: azure-resource-manager
GitHub Login: @rloutlaw
Microsoft Alias: routlaw

ARM

This problem is caused by that the REST get-at-resource-level not return the resource_name attribute, CLI only flattens the data returned by REST and then outputs it.
If multiple clients need this data, REST should add this property to the returned data

ARM service should look into this


Python works but Homebridge does not

First off, great work on this plugin, I really appreciate the effort put in.
I went through the setup on Ubuntu 20.04 and am able to control the TV by sending commands directly from hisensetv.py, however, I am not able to control it using Homebridge. I suspect this error that I receive every 10 seconds is part of it but I have not been able to decipher what is going on:
[10/21/2021, 9:17:22 PM] [HiSenseTV] An error occurred while fetching inputs: TypeError: Cannot read property 'join' of null
[10/21/2021, 9:17:32 PM] [HiSenseTV] An error occurred while fetching inputs: TypeError: Cannot read property 'join' of null
[10/21/2021, 9:17:42 PM] [HiSenseTV] An error occurred while fetching inputs: TypeError: Cannot read property 'join' of null
[10/21/2021, 9:17:52 PM] [HiSenseTV] An error occurred while fetching inputs: TypeError: Cannot read property 'join' of null
[10/21/2021, 9:18:02 PM] [HiSenseTV] An error occurred while fetching inputs: TypeError: Cannot read property 'join' of null
[10/21/2021, 9:18:12 PM] [HiSenseTV] An error occurred while fetching inputs: TypeError: Cannot read property 'join' of null
Do you have any idea of why this may be?

I solved this by doing the following on the device running HomeBridge:
sudo su - homebridge
pip3 install paho-mqtt

@jackl5 thanks for reporting this!
It seems like more and more users are reporting this, even though my setup (Ubuntu 20.10) didn't need that.
I'll add it to the Installation guide.
I'm happy to hear that everything is now working for you!

It’s a prerequisite for RPi OS
Sent from my iPhone

On 21 Nov 2021, at 7:04 pm, Alessio Moiso @.***> wrote:

@jackl5 thanks for reporting this!
It seems like more and more users are reporting this, even though my setup (Ubuntu 20.10) didn't need that.
I'll add it to the Installation guide.
I'm happy to hear that everything is now working for you!
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.


Reject Reason should not be editable when the share is already approved

Is your idea related to a problem? Please describe.
While rejecting a share, the dataset owner / steward can add in a rejection reason.
When the dataset is approved, this field can still be updated and edited.
Describe the solution you'd like
After the dataset is approved, the reject reason field should not be editable
P.S. Don't attach files. Please, prefer add code snippets directly in the message body.

It's covered in this PR


DXCDT-534: auth0_prompt resource export support

🔧 Changes
Introducing support for exporting the auth0_prompt resource with the reverse terraform functionality.
The output will appear like this:
resource "auth0_prompt" "prompts" {
  identifier_first               = true
  universal_login_experience     = "new"
  webauthn_platform_first_factor = true
}

📚 References
Related PRs: #808, #797, #810, #809, #812, #813, #811, #816, #817, #818, #819, #820, #821, #823, #824, #825, #831, #832
🔬 Testing
Adding unit tests, manually verified.
📝 Checklist

[x] All new/changed/fixed functionality is covered by tests (or N/A)
[x] I have added documentation for all new/changed functionality (or N/A)

Codecov Report
Patch coverage: 77.77% and no project coverage change.

Comparison is base (79c34f7) 72.40% compared to head (592fc03) 72.40%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #833   +/-   ##
=======================================
  Coverage   72.40%   72.40%
=======================================
  Files          91       91
  Lines       11669    11678    +9
=======================================
+ Hits         8449     8456    +7
- Misses       2715     2717    +2
  Partials      505      505

Files Changed
Coverage Δ

internal/cli/terraform.go
61.29% <0.00%> (-0.45%)
:arrow_down:

internal/cli/terraform_fetcher.go
98.75% <100.00%> (+0.03%)
:arrow_up:

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


Browser is not supported error with the newest version of HtmlUnit

Hello, I'm using the HtmlUnit (v.2.70.0) to get some data from the following page: https://me.sap.com/.
When the driver goes to that URL, it first faces the login screen (which is expected), and after typing username and password and clicking on the submit button, I have noticed that the new page is not the expected one. After some investigation, I found out that I'm getting some page with the error message:
Sadly, your browser is not supported. SAP for Me works best on: Google Chrome 45+, Mozilla Firefox 45+, Apple Safari 10+, and Microsoft Edge 13+ Other legacy browsers (like Microsoft Internet Explorer 11) are no longer supported. For more information, see here. Privacy Legal Disclosure Copyright and Trademarks Terms of Use
It should get me to the expected page, where I need to scrap some data from the network tab.
If you need any more details, I will gladly post.
Thanks

Ok, the web page does a lot of fancy things but in the end there is some js based redirecting. You have to address this in your code.
        HtmlPage page = webClient.getPage(url);
        webClient.waitForBackgroundJavaScript(10_000);

        page = (HtmlPage)page.getEnclosingWindow().getEnclosedPage();
        System.out.println(page.asXml());

This means you have to wait until the js stuff is done and then (re) get the content of the window - this is the current page you like to work with.
So far for this first step - i fear you have to do something similar after the click() also.

Hmm, I've put that at the end, since that is the spot where I'm facing the issue. Here is the complete snippet:
`     try (final WebClient webClient = new WebClient(BrowserVersion.FIREFOX)) {
webClient.getOptions().setThrowExceptionOnScriptError(false);
    HtmlPage page = webClient.getPage("https://me.sap.com/systems");

    HtmlForm loginForm = (HtmlForm) page.getElementById("logOnForm");

    loginForm.getInputByName("j_username").type("my_username");

    HtmlElement userNameSubmit = (HtmlElement) page.getElementById("logOnFormSubmit");
    page = (HtmlPage) userNameSubmit.click();

    HtmlForm passForm = (HtmlForm) page.getElementById("logOnForm");

    passForm.getInputByName("j_password").type("password123");

    HtmlElement passwordSubmit = (HtmlElement) page.getElementById("logOnFormSubmit");

    page = (HtmlPage) passwordSubmit.click();

    webClient.waitForBackgroundJavaScript(10_000);

    HtmlPage newestPage = (HtmlPage)page.getEnclosingWindow().getEnclosedPage();

   System.out.println(newestPage.asXml());

}  catch (Exception e){
System.out.println("ERROR " + e);
}
`
But I'm still getting the same. Did I maybe do something wrong?

But I'm still getting the same. Did I maybe do something wrong?

Yes.
You have to place the code directly after the getPage() line.

@grujicaleksandar90 does it help? can i close this or do you need more?

Ok, thanks


Circular Dependency is resulting in a overflow exception

Brief bug description
I have a content model with a richtext component.  Based on this content model an user creates a content item in the KC portal. In the richtext component the user is able to refer to other content items.
If the user makes the content item referencing itself (Circular Dependency) the KenticoCloud.Delivery  SDK is unable to deserialize the content item and throws an overflow exception .
Repro steps
See above, Example repo is avilable @ https://github.com/micheltol/Kentico_CircularDependency
Expected behavior
I would expect this would not be possible in the KC portal.
Apperently there is an usecase for this behavior so I would expect the SDK to be able to deserialize the above mentioned situation.
Test environment

Platform/OS: .NET Core 2.1
Version  Nuget KenticoCloud.Delivery : 5.0.0

Well spotted @micheltol !

Hi @petrsvihlik,
this issue was discovered while we were having a production issu. Because of that  it is important to us to solve this asap. I wouldn't mind to  to pick it up but could you point me in the right direction how to attack this issue?

I went ahead and debugged the issue. While doing that I also created a fix. We'll release a new major version of the delivery sdk soon.


'A resource of module must only reference a single scope' when using ternary operator for scope selection

Bicep version
Bicep CLI version 0.10.61 (8f44805506)
Describe the bug
I would like to have the same template for all subscription scopes and swap in values based on flags in the build. When specifying a scope for a resource, I'd thus like to use a ternary operator to use one subscription scope or another based on another flag.
Given the following sample:
param devSubscriptionId string
param prodSubscriptionId string

param devKeyVaultName string
param prodKeyVaultName string

resource DeploymentKeyVault 'Microsoft.KeyVault/vaults@2021-11-01-preview' existing = {
  name: IsDevTest ? devKeyVaultName : prodKeyVaultName // Works fine, no errors
  scope: IsDevTest ? subscription(devSubscriptionId) : subscription(prodSubscriptionId) // Throws ambiguity error
}

When I do so, however, I receive an error during build (and reflected in the IDE at design time) indicating The scope used for this declaration is ambiguous. A resource or module must only reference a single scope. bicep(BCP270).
Given this is a ternary operator and both results point to a subscription(), there logically would be only a single scope and there's thus nothing ambiguous about this at all.
To Reproduce
See code snippet above.
Additional context
N/A

This looks like a duplicate of #8403. Closing for now, but let me know if I am mistaken.


DriverAPI: HW Fences should be created upon commit

In Vulkan, HW fences are very coarse, they can only signal completion of a command buffer.  In order to support fences we need to move these semantics into the Driver API.

Is this still relevant considering the recent changes Mathias did to fences/timing queries?


upgrade ozz-animation to 0.13.0

@dxd39 thanks for doing this! We actually develop the framework internally on a private GitLab server. The latest version is always ahead of the GitHub version. We would like to invite you to work on our internal GitLab server. If you send me your skype id I will get you in.

@dxd39 thanks for doing this! We actually develop the framework internally on a private GitLab server. The latest version is always ahead of the GitHub version. We would like to invite you to work on our internal GitLab server. If you send me your skype id I will get you in.

@wolfgangfengel thank for your reply, I really like this project, my skype id is live:.cid.acc626d299c44f6c.

@wolfgangfengel thank for your reply, I really like this project, my skype id is live:.cid.acc626d299c44f6c.


fix: cleanup commit message

When the commit message ends with a '\n', then it is not considered a valid conventional commit. That's why the message must be cleaned up.

Description and Motivation and Context
Wrong next version when using the bumped-version parameter. The 'git commit' command creates a '\n' at the end of the line.
In this case, commit is considered as a patch.
https://github.com/MarcoIeni/release-plz/blob/4b0684ff8d9048032167a43fd70b70af4940239d/crates/next_version/src/next_version.rs#L27
    /// - If some commits are present, but none of them match conventional commits specification,
    ///   the version is incremented as a Patch.

How Has This Been Tested?
git cli command on linux/macos
Screenshots / Logs (if applicable)
Types of Changes

[X] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation (no code change)
[ ] Refactor (refactoring production code)
[ ] Other

Checklist:

[ ] My code follows the code style of this project.
[ ] I have updated the documentation accordingly.
[ ] I have formatted the code with rustfmt.
[ ] I checked the lints with clippy.
[X] I have added tests to cover my changes.
[ ] All new and existing tests passed.

Hey, thanks for the PR! 🐻
Do you think this might have side effects? It should be backwards compatible I reckon.
Also, looks like the formatting job has failed, can you run cargo fmt?

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

Comparison is base (2c524b8) 42.90% compared to head (8084d09) 42.90%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #403   +/-   ##
=======================================
  Coverage   42.90%   42.90%
=======================================
  Files          13       13
  Lines         690      690
=======================================
  Hits          296      296
  Misses        394      394

Flag
Coverage Δ

unit-tests
42.90% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

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

no side effects, i think. 'cargo fmt' is ok. i rebased branch also. PR is up to date.

nice work!


[usockets] update to 0.8.2

Fix #27820
Update usockets to the latest version 0.8.2
All features are tested successfully in the following triplet:

x86-windows
x64-windows
x64-windows-static

Thanks for the update!


Remove unused override in NetworkLobbyPlayer example

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


Equivalent gstreamer pipeline

Hello, I need an equivalent gstreamer pipeline to this command below
video-viewer v4l2:///dev/video0 rtp://<remote-ip>:1234
thanks in advance

Hi @McLovinfromHawaii , the GStreamer pipeline is constructed dynamically based on the input formats/codecs that your V4L2 camera uses (and which RTP codec is selected - by default H.264).   For example, if your V4L2 camera supports MJPEG, it will use mjpeg decoder in the pipeline (likewise if your camera uses H.264, ect).
The easiest way to get the pipeline for your setup would be to just run the video-viewer program, and it will print out the gstreamer pipeline it runs near the top of the terminal log.

Hi @dusty-nv  thanks for responding swiftly. Below is my output. I tried gstreamer pipeline generated but I cannot capture the stream from host device by using this pipeline on host. What am I doing wrong?
gst-launch-1.0 -v udpsrc port=1234 \  caps = "application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96" ! \  rtph264depay ! decodebin ! videoconvert ! autovideosink

[gstreamer] initialized gstreamer, version <IP_ADDRESS>
[gstreamer] gstCamera -- attempting to create device v4l2:///dev/video0
[gstreamer] gstCamera -- found v4l2 device: VOLERS HD CAMERA
[gstreamer] v4l2-proplist, device.path=(string)/dev/video0, udev-probed=(boolean)false, device.api=(string)v4l2, v4l2.device.driver=(string)uvcvideo, v4l2.device.card=(string)"VOLERS\ HD\ CAMERA", v4l2.device.bus_info=(string)usb-3530000.xhci-1, v4l2.device.version=(uint)264588, v4l2.device.capabilities=(uint)2216689665, v4l2.device.device_caps=(uint)69206017;
[gstreamer] gstCamera -- found 12 caps for v4l2 device /dev/video0
[gstreamer] [0] video/x-raw, format=(string)YUY2, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1;
[gstreamer] [1] video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1;
[gstreamer] [2] video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1;
[gstreamer] [3] video/x-raw, format=(string)YUY2, width=(int)352, height=(int)288, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1;
[gstreamer] [4] video/x-raw, format=(string)YUY2, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1;
[gstreamer] [5] video/x-raw, format=(string)YUY2, width=(int)176, height=(int)144, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1;
[gstreamer] [6] image/jpeg, width=(int)1920, height=(int)1080, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1;
[gstreamer] [7] image/jpeg, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1;
[gstreamer] [8] image/jpeg, width=(int)640, height=(int)480, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1;
[gstreamer] [9] image/jpeg, width=(int)352, height=(int)288, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1;
[gstreamer] [10] image/jpeg, width=(int)320, height=(int)240, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1;
[gstreamer] [11] image/jpeg, width=(int)176, height=(int)144, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1;
[gstreamer] gstCamera -- selected device profile:  codec=raw format=yuyv width=1280 height=720
[gstreamer] gstCamera pipeline string:
[gstreamer] v4l2src device=/dev/video0 ! video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720 ! appsink name=mysink
[gstreamer] gstCamera successfully created device v4l2:///dev/video0
[video]  created gstCamera from v4l2:///dev/video0

gstCamera video options:
-- URI: v4l2:///dev/video0
- protocol:  v4l2
- location:  /dev/video0
-- deviceType: v4l2
-- ioType:     input
-- codec:      raw
-- width:      1280
-- height:     720
-- frameRate:  30.000000
-- bitRate:    0
-- numBuffers: 4
-- zeroCopy:   true
-- flipMethod: none
-- loop:       0
[gstreamer] gstEncoder -- codec not specified, defaulting to H.264
[gstreamer] gstEncoder -- pipeline launch string:
[gstreamer] appsrc name=mysource is-live=true do-timestamp=true format=3 ! omxh264enc bitrate=4000000 ! video/x-h264 !  rtph264pay config-interval=1 ! udpsink host=<IP_ADDRESS> port=1234 auto-multicast=true
[video]  created gstEncoder from rtp://<IP_ADDRESS>:1234
gstEncoder video options:
-- URI: rtp://<IP_ADDRESS>:1234
- protocol:  rtp
- location:  <IP_ADDRESS>
- port:      1234
-- deviceType: ip
-- ioType:     output
-- codec:      h264
-- width:      0
-- height:     0
-- frameRate:  30.000000
-- bitRate:    4000000
-- numBuffers: 4
-- zeroCopy:   true
-- flipMethod: none
-- loop:       0
[OpenGL] glDisplay -- X screen 0 resolution:  1920x1080
[OpenGL] glDisplay -- X window resolution:    1920x1080
[OpenGL] glDisplay -- display device initialized (1920x1080)
[video]  created glDisplay from display://0
glDisplay video options:
-- URI: display://0
- protocol:  display
- location:  0
-- deviceType: display
-- ioType:     output
-- codec:      raw
-- width:      1920
-- height:     1080
-- frameRate:  0.000000
-- bitRate:    0
-- numBuffers: 4
-- zeroCopy:   true
-- flipMethod: none
-- loop:       0
[gstreamer] opening gstCamera for streaming, transitioning pipeline to GST_STATE_PLAYING
[gstreamer] gstreamer changed state from NULL to READY ==> mysink
[gstreamer] gstreamer changed state from NULL to READY ==> capsfilter0
[gstreamer] gstreamer changed state from NULL to READY ==> v4l2src0
[gstreamer] gstreamer changed state from NULL to READY ==> pipeline0
[gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter0
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> v4l2src0
[gstreamer] gstreamer changed state from READY to PAUSED ==> pipeline0
[gstreamer] gstreamer message new-clock ==> pipeline0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> v4l2src0
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer message stream-start ==> pipeline0
[gstreamer] gstCamera -- onPreroll
[gstreamer] gstCamera recieve caps:  video/x-raw, format=(string)YUY2, width=(int)1280, height=(int)720, pixel-aspect-ratio=(fraction)1/1, framerate=(fraction)30/1, colorimetry=(string)bt709, interlace-mode=(string)progressive
[gstreamer] gstCamera -- recieved first frame, codec=raw format=yuyv width=1280 height=720 size=1843200
RingBuffer -- allocated 4 buffers (1843200 bytes each, 7372800 bytes total)
[gstreamer] gstreamer changed state from READY to PAUSED ==> mysink
[gstreamer] gstreamer message async-done ==> pipeline0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> mysink
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> pipeline0
RingBuffer -- allocated 4 buffers (2764800 bytes each, 11059200 bytes total)
video-viewer:  captured 1 frames (1280 x 720)
[OpenGL] glDisplay -- set the window size to 1280x720
[OpenGL] creating 1280x720 texture (GL_RGB8 format, 2764800 bytes)
[cuda]   registered openGL texture for interop access (1280x720, GL_RGB8, 2764800 bytes)
[gstreamer] gstreamer message qos ==> v4l2src0
RingBuffer -- allocated 2 buffers (1382400 bytes each, 2764800 bytes total)
[gstreamer] gstEncoder-- starting pipeline, transitioning to GST_STATE_PLAYING
[gstreamer] gstreamer changed state from NULL to READY ==> udpsink0
[gstreamer] gstreamer changed state from NULL to READY ==> rtph264pay0
[gstreamer] gstreamer changed state from NULL to READY ==> capsfilter1
[gstreamer] gstreamer changed state from NULL to READY ==> omxh264enc-omxh264enc0
[gstreamer] gstreamer changed state from NULL to READY ==> mysource
[gstreamer] gstreamer changed state from NULL to READY ==> pipeline1
[gstreamer] gstreamer changed state from READY to PAUSED ==> rtph264pay0
[gstreamer] gstreamer changed state from READY to PAUSED ==> capsfilter1
[gstreamer] gstreamer changed state from READY to PAUSED ==> omxh264enc-omxh264enc0
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer changed state from READY to PAUSED ==> mysource
[gstreamer] gstreamer changed state from READY to PAUSED ==> pipeline1
[gstreamer] gstreamer message new-clock ==> pipeline1
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> rtph264pay0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> capsfilter1
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> omxh264enc-omxh264enc0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> mysource
[gstreamer] gstEncoder -- new caps: video/x-raw, width=1280, height=720, format=(string)I420, framerate=30/1
video-viewer:  captured 2 frames (1280 x 720)
Framerate set to : 30 at NvxVideoEncoderSetParameterNvMMLiteOpen : Block : BlockType = 4
===== NVMEDIA: NVENC =====
NvMMLiteBlockCreate : Block : BlockType = 4
H264: Profile = 66, Level = 40
[gstreamer] gstreamer stream status CREATE ==> src
[gstreamer] gstreamer stream status ENTER ==> src
[gstreamer] gstreamer message stream-start ==> pipeline1
[gstreamer] gstreamer changed state from READY to PAUSED ==> udpsink0
[gstreamer] gstreamer message async-done ==> pipeline1
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> udpsink0
[gstreamer] gstreamer changed state from PAUSED to PLAYING ==> pipeline1
video-viewer:  captured 3 frames (1280 x 720)
video-viewer:  captured 4 frames (1280 x 720)
video-viewer:  captured 5 frames (1280 x 720)
video-viewer:  captured 6 frames (1280 x 720)
video-viewer:  captured 7 frames (1280 x 720)
video-viewer:  captured 8 frames (1280 x 720)
video-viewer:  captured 9 frames (1280 x 720)
video-viewer:  captured 10 frames (1280 x 720)
video-viewer:  captured 11 frames (1280 x 720)
video-viewer:  captured 12 frames (1280 x 720)
video-viewer:  captured 13 frames (1280 x 720)
video-viewer:  captured 14 frames (1280 x 720)
video-viewer:  captured 15 frames (1280 x 720)
video-viewer:  captured 16 frames (1280 x 720)
video-viewer:  captured 17 frames (1280 x 720)
video-viewer:  captured 18 frames (1280 x 720)
video-viewer:  captured 19 frames (1280 x 720)
video-viewer:  captured 20 frames (1280 x 720)
video-viewer:  captured 21 frames (1280 x 720)
video-viewer:  captured 22 frames (1280 x 720)
video-viewer:  captured 23 frames (1280 x 720)
video-viewer:  captured 24 frames (1280 x 720)
video-viewer:  captured 25 frames (1280 x 720)
video-viewer:  captured 26 frames (1280 x 720)
video-viewer:  captured 27 frames (1280 x 720)
[gstreamer] gstEncoder -- pipeline full, skipping frame (1382400 bytes)
video-viewer:  captured 28 frames (1280 x 720)
[gstreamer] gstEncoder -- pipeline full, skipping frame (1382400 bytes)
video-viewer:  captured 29 frames (1280 x 720)
[gstreamer] gstEncoder -- pipeline full, skipping frame (1382400 bytes)
video-viewer:  captured 30 frames (1280 x 720)
[gstreamer] gstEncoder -- pipeline full, skipping frame (1382400 bytes)
video-viewer:  captured 31 frames (1280 x 720)
[gstreamer] gstEncoder -- pipeline full, skipping frame (1382400 bytes)
video-viewer:  captured 32 frames (1280 x 720)
[gstreamer] gstEncoder -- pipeline full, skipping frame (1382400 bytes)
^Creceived SIGINT
video-viewer:  captured 33 frames (1280 x 720)
[gstreamer] gstEncoder -- pipeline full, skipping frame (1382400 bytes)
video-viewer:  shutting down...
[gstreamer] gstCamera -- stopping pipeline, transitioning to GST_STATE_NULL
[gstreamer] gstCamera -- pipeline stopped
[gstreamer] gstEncoder -- shutting down pipeline, sending EOS
[gstreamer] gstEncoder -- transitioning pipeline to GST_STATE_NULL
[gstreamer] gstEncoder -- pipeline stopped
video-viewer:  shutdown complete

Do you mean you want the GStreamer pipeline to view the RTP stream?
If so, please see here:  https://github.com/dusty-nv/jetson-inference/blob/master/docs/aux-streaming.md#viewing-rtp-remotely

import jetson.utils
input = jetson.utils.videoSource("rtsp://@<IP_ADDRESS>:554/Streaming/channels/102")
output = jetson.utils.videoOutput("")
while output.IsStreaming():
image = input.Capture()
output.Render(image)
output.SetStatus("Video Viewer | {:d}x{:d} | {:.1f} FPS".format(image.width, image.height, output.GetFrameRate()))
This code is working for me. But there is a lag(latency). I know there is an option with gstreamer pipeline to reduce latency. How to do with this code? Otherwise, Is there any option to pass gstreamer pipeline in this code?


mkcloud: usability improvements for scenario files (crowbar_batch)

@nkrinner mentioned he found it confusing that mkcloud appends .yaml to the scenario name.
He would like to be able to give it a full filename which makes sense as .yml is also a common extension for YAML files and my initial approach was a unnecessary limitation to the naming.
Furthermore there was no help text explaining the scenario setting yet.

How does the scenario file get onto the admin node?

@bmwiedemann It gets copied there. I think that was mentioned this morning ;-)

+1

:+1:


Sampling output image visualization problem?

Hello,
I'm currently training this model on my own dataset, I have created a separate dataloader python file, the file and folder structure of the dataset is the same as ISIC. No other code other than segmentation_train.py and segmentation_sample.py was changed just to load the data. The model is trained for 30000 steps so far. But when I tried to use the segmentation_sample.py for the test images, I am getting these masks.
Are these mask outputs normal for this model?

python 3.8.16
torch 1.13.1
torchvision 0.14.1
torchsummary 1.5.1
opencv <IP_ADDRESS>
scikit-image 0.19.3

is this the ensemble result saved in your result file? Some others met the similar problem before https://github.com/WuJunde/MedSegDiff/issues/6.

Yes, using the savedmodel030000.pt and these images are named ''{slice_id}_output_ens.jpg'

This is one of the predicted masks after I trained the model on ISIC dataset

it's close. Note that MedSegDiff will outcome uncertianty-aware segmentation, because of the uncertianty nature of medical image segmentation(check: Learning calibrated medical image segmentation via multi-rater agreement modeling(CVPR 2021), Learning self-calibrated optic disc and cup segmentation from multi-rater annotations(MICCAI 2022)). but your prediction seems a little too much, you may want to generate more confident results by more training or ensemble.
if you want to obtain the binary results, you can threshold and postprocess this prediction. I used the postprocess config in nnUNet for example.

it's close. Note that MedSegDiff will outcome uncertianty-aware segmentation, because of the uncertianty nature of medical image segmentation(check: Learning calibrated medical image segmentation via multi-rater agreement modeling(CVPR 2021), Learning self-calibrated optic disc and cup segmentation from multi-rater annotations(MICCAI 2022)). but your prediction seems a little too much, you may want to generate more confident results by more training or ensemble.
if you want to obtain the binary results, you can threshold and postprocess this prediction. I used the postprocess config in nnUNet for example.

I want to know what is the input of diffusion model, in order to get a segmentation? For example, we have a 5-class within an image. Then we have two choice, one is to use the one-hot (1, 5, h, w) where the values are 0 and 1, suppose batch_size is 1, as the input of diffusion model; another is to use the mask(1,1,h,w) where the values are 0, 1, 2, 3, 4, as the input of diffusion model. Which one is you choice? In this diffusion on segmentation rather than image case, what are the output during the reverse stage? How to map the sampled output to the labels(0 and1, or 0,1,2,3,4)?
If i am wrong above, as you said "MedSegDiff will outcome uncertianty-aware segmentation", the output is probability map like the output of normal segmentation network? Can you give me some hints about this? I am very confusing about the diffusion on segmentation rather than image.
I would very appreciate if you can help.

@WangPing521 It depends on your dataset, both of them can work. if it was me, i will use (1, 5, h, w). diffusion model outputs a residual noise. Then substract it from the last noisy result(segmentation) to get a clearer one. The iteration enables it to generate a segmentation from a gaussian noise conditioned by the raw image. you can refer to our paper for more details.

Thanks for your reply!
I have  a naive question for your input of code, "self.run_step(batch, cond) ", here, Does the batch mean the label, the cond mean the original image? Can you show the dimensionality of these two tensors in a (N, C, H, W) way?

@WangPing521 If I understand correctly, the first step in "run_step" concatenates the image and mask together, and leave "cond" as an empty dictionary. For ISIC dataset, I think the image size is [B, 3, H, W] and the mask is [B, 1, H, W].


Bring in BuffersExtensions WriteMultiSegment

When I tired this, nothing got faster.

When I tired this, nothing got faster.

Spoliers... am still running benchmarks

Yeah no real change, wonder about skipping GetSpan

Still not a great difference :(

asm is better; but the benchmarks are saying its underwhelming :(


🔥 can we use binary search since stats are sorted in testing data?

We will try to implement this one by one for each for loop in the repo. This is going to make the bot even faster. 🔥

Since, the bot is fast enough already. This isn't worth the effort for now. I will still keep this open.