libcrypto backtrace information

My issue is a very language-specific, however it could reveal some internal libcrypto problems. There is a small Go application that uses OpenSSL via cgo interface: https://github.com/vitalyisaev2/pprof_cgo_issue. Basically it works as expected, but when trying to profile this application with standard Go toolchain, it crashes with segfault:
$ ./pprof_cgo_issue -profiler
2019/04/30 12:14:40 profile: cpu profiling enabled, cpu.pprof
Segmentation fault (core dumped)

$ gdb ./pprof_cgo_issue /tmp/core.d685d2a145b4.pprof_cgo_issue.1556626480.20
(gdb) bt
#0  0x00007fb47640c246 in ?? () from /lib64/libgcc_s.so.1
#1  0x00007fb47640cefd in _Unwind_Backtrace () from /lib64/libgcc_s.so.1
#2  0x00000000007322bc in cgoTraceback (parg=0xc0002dd970, parg@entry=<error reading variable: value has been optimized out>) at traceback.c:82
#3  0x00000000007364e6 in x_cgo_callers (sig=27, info=0xc0002ddaf0, context=0xc0002dd9c0, cgoTraceback=<optimized out>, cgoCallers=<optimized out>, sigtramp=0x46a2f0 <runtime.sigtramp>) at gcc_traceback.c:22
#4  <signal handler called>
#5  0x00007fb476614232 in ?? () from /lib64/libcrypto.so.1.1

@ianlancetaylor from Golang community suggested that libcrypto may not have correct backtrace information. Could you please check it?

You would need to compile a custom openssl with debug symbols included to see the symbols in the backtrace.

The issue is not seeing the symbols in the backtrace.  It is completing the backtrace at all.  Right now the backtrace, done by calling the C support function _Unwind_Backtrace, is crashing while trying to trace back through code in libcrypto.so.1.1.
Since there are no symbols it's hard to know exactly what code is failing, but it looks like this:

```
(gdb) x/20i $pc
=> 0x7ffff7846635:	rorx   $0x16,%r11d,%r12d
   0x7ffff784663b:	lea    (%r10,%r13,1),%r10d
   0x7ffff784663f:	xor    %eax,%edi
   0x7ffff7846641:	rorx   $0xd,%r11d,%r14d
   0x7ffff7846647:	rorx   $0x2,%r11d,%r13d
   0x7ffff784664d:	lea    (%rcx,%r10,1),%ecx
   0x7ffff7846651:	and    %edi,%r15d
   0x7ffff7846654:	xor    %r12d,%r14d
   0x7ffff7846657:	xor    %eax,%r15d
   0x7ffff784665a:	xor    %r13d,%r14d
   0x7ffff784665d:	lea    (%r10,%r15,1),%r10d
   0x7ffff7846661:	mov    %edx,%r12d
   0x7ffff7846664:	add    0x18(%rbp),%r9d
   0x7ffff7846668:	and    %ecx,%r12d
   0x7ffff784666b:	rorx   $0x19,%ecx,%r13d
   0x7ffff7846671:	rorx   $0xb,%ecx,%r15d
   0x7ffff7846677:	lea    (%r10,%r14,1),%r10d
   0x7ffff784667b:	lea    (%r9,%r12,1),%r9d
   0x7ffff784667f:	andn   %r8d,%ecx,%r12d
   0x7ffff7846684:	xor    %r15d,%r13d
   0x7ffff7846687:	rorx   $0x6,%ecx,%r14d
   0x7ffff784668d:	lea    (%r9,%r12,1),%r9d
   0x7ffff7846691:	xor    %r14d,%r13d
   0x7ffff7846694:	mov    %r10d,%r15d
   0x7ffff7846697:	rorx   $0x16,%r10d,%r12d
   0x7ffff784669d:	lea    (%r9,%r13,1),%r9d
   0x7ffff78466a1:	xor    %r11d,%r15d
   0x7ffff78466a4:	rorx   $0xd,%r10d,%r14d
   0x7ffff78466aa:	rorx   $0x2,%r10d,%r13d
   0x7ffff78466b0:	lea    (%rbx,%r9,1),%ebx
   0x7ffff78466b4:	and    %r15d,%edi
   0x7ffff78466b7:	xor    %r12d,%r14d
   0x7ffff78466ba:	xor    %r11d,%edi
   0x7ffff78466bd:	xor    %r13d,%r14d
   0x7ffff78466c0:	lea    (%r9,%rdi,1),%r9d
   0x7ffff78466c4:	mov    %ecx,%r12d
   0x7ffff78466c7:	add    0x1c(%rbp),%r8d
   0x7ffff78466cb:	and    %ebx,%r12d
   0x7ffff78466ce:	rorx   $0x19,%ebx,%r13d
   0x7ffff78466d4:	rorx   $0xb,%ebx,%edi
   0x7ffff78466da:	lea    (%r9,%r14,1),%r9d
   0x7ffff78466de:	lea    (%r8,%r12,1),%r8d
   0x7ffff78466e2:	andn   %edx,%ebx,%r12d
   0x7ffff78466e7:	xor    %edi,%r13d
   0x7ffff78466ea:	rorx   $0x6,%ebx,%r14d
   0x7ffff78466f0:	lea    (%r8,%r12,1),%r8d
   0x7ffff78466f4:	xor    %r14d,%r13d
   0x7ffff78466f7:	mov    %r9d,%edi
   0x7ffff78466fa:	rorx   $0x16,%r9d,%r12d
   0x7ffff7846700:	lea    (%r8,%r13,1),%r8d
   0x7ffff7846704:	xor    %r10d,%edi
   0x7ffff7846707:	rorx   $0xd,%r9d,%r14d
   0x7ffff784670d:	rorx   $0x2,%r9d,%r13d
   0x7ffff7846713:	lea    (%rax,%r8,1),%eax
   0x7ffff7846717:	and    %edi,%r15d
   0x7ffff784671a:	xor    %r12d,%r14d
   0x7ffff784671d:	xor    %r10d,%r15d
   0x7ffff7846720:	xor    %r13d,%r14d
   0x7ffff7846723:	lea    (%r8,%r15,1),%r8d
   0x7ffff7846727:	mov    %ebx,%r12d
   0x7ffff784672a:	add    0x30(%rbp),%edx
   0x7ffff784672d:	and    %eax,%r12d
   0x7ffff7846730:	rorx   $0x19,%eax,%r13d
   0x7ffff7846736:	rorx   $0xb,%eax,%r15d
   0x7ffff784673c:	lea    (%r8,%r14,1),%r8d
   0x7ffff7846740:	lea    (%rdx,%r12,1),%edx
   0x7ffff7846744:	andn   %ecx,%eax,%r12d
   0x7ffff7846749:	xor    %r15d,%r13d
   0x7ffff784674c:	rorx   $0x6,%eax,%r14d
   0x7ffff7846752:	lea    (%rdx,%r12,1),%edx
   0x7ffff7846756:	xor    %r14d,%r13d
   0x7ffff7846759:	mov    %r8d,%r15d
   0x7ffff784675c:	rorx   $0x16,%r8d,%r12d
   0x7ffff7846762:	lea    (%rdx,%r13,1),%edx
   0x7ffff7846766:	xor    %r9d,%r15d
   0x7ffff7846769:	rorx   $0xd,%r8d,%r14d
   0x7ffff784676f:	rorx   $0x2,%r8d,%r13d
   0x7ffff7846775:	lea    (%r11,%rdx,1),%r11d
   0x7ffff7846779:	and    %r15d,%edi
   0x7ffff784677c:	xor    %r12d,%r14d
   0x7ffff784677f:	xor    %r9d,%edi
   0x7ffff7846782:	xor    %r13d,%r14d
   0x7ffff7846785:	lea    (%rdx,%rdi,1),%edx
   0x7ffff7846788:	mov    %eax,%r12d
   0x7ffff784678b:	add    0x34(%rbp),%ecx
   0x7ffff784678e:	and    %r11d,%r12d
   0x7ffff7846791:	rorx   $0x19,%r11d,%r13d
   0x7ffff7846797:	rorx   $0xb,%r11d,%edi
   0x7ffff784679d:	lea    (%rdx,%r14,1),%edx
   0x7ffff78467a1:	lea    (%rcx,%r12,1),%ecx
   0x7ffff78467a5:	andn   %ebx,%r11d,%r12d
   0x7ffff78467aa:	xor    %edi,%r13d
   0x7ffff78467ad:	rorx   $0x6,%r11d,%r14d
   0x7ffff78467b3:	lea    (%rcx,%r12,1),%ecx
   0x7ffff78467b7:	xor    %r14d,%r13d
   0x7ffff78467ba:	mov    %edx,%edi
   0x7ffff78467bc:	rorx   $0x16,%edx,%r12d
   0x7ffff78467c2:	lea    (%rcx,%r13,1),%ecx
   0x7ffff78467c6:	xor    %r8d,%edi
   0x7ffff78467c9:	rorx   $0xd,%edx,%r14d
   0x7ffff78467cf:	rorx   $0x2,%edx,%r13d
   0x7ffff78467d5:	lea    (%r10,%rcx,1),%r10d
   0x7ffff78467d9:	and    %edi,%r15d
   0x7ffff78467dc:	xor    %r12d,%r14d
   0x7ffff78467df:	xor    %r8d,%r15d
   0x7ffff78467e2:	xor    %r13d,%r14d
   0x7ffff78467e5:	lea    (%rcx,%r15,1),%ecx
   0x7ffff78467e9:	mov    %r11d,%r12d
   0x7ffff78467ec:	add    0x38(%rbp),%ebx
   0x7ffff78467ef:	and    %r10d,%r12d
   0x7ffff78467f2:	rorx   $0x19,%r10d,%r13d
   0x7ffff78467f8:	rorx   $0xb,%r10d,%r15d
   0x7ffff78467fe:	lea    (%rcx,%r14,1),%ecx
   0x7ffff7846802:	lea    (%rbx,%r12,1),%ebx
   0x7ffff7846806:	andn   %eax,%r10d,%r12d
   0x7ffff784680b:	xor    %r15d,%r13d
   0x7ffff784680e:	rorx   $0x6,%r10d,%r14d
   0x7ffff7846814:	lea    (%rbx,%r12,1),%ebx
   0x7ffff7846818:	xor    %r14d,%r13d
   0x7ffff784681b:	mov    %ecx,%r15d
   0x7ffff784681e:	rorx   $0x16,%ecx,%r12d
   0x7ffff7846824:	lea    (%rbx,%r13,1),%ebx
   0x7ffff7846828:	xor    %edx,%r15d
   0x7ffff784682b:	rorx   $0xd,%ecx,%r14d
   0x7ffff7846831:	rorx   $0x2,%ecx,%r13d
   0x7ffff7846837:	lea    (%r9,%rbx,1),%r9d
   0x7ffff784683b:	and    %r15d,%edi
   0x7ffff784683e:	xor    %r12d,%r14d
   0x7ffff7846841:	xor    %edx,%edi
   0x7ffff7846843:	xor    %r13d,%r14d
   0x7ffff7846846:	lea    (%rbx,%rdi,1),%ebx
   0x7ffff7846849:	mov    %r10d,%r12d
   0x7ffff784684c:	add    0x3c(%rbp),%eax
   0x7ffff784684f:	and    %r9d,%r12d
   0x7ffff7846852:	rorx   $0x19,%r9d,%r13d
   0x7ffff7846858:	rorx   $0xb,%r9d,%edi
   0x7ffff784685e:	lea    (%rbx,%r14,1),%ebx
   0x7ffff7846862:	lea    (%rax,%r12,1),%eax
   0x7ffff7846866:	andn   %r11d,%r9d,%r12d
   0x7ffff784686b:	xor    %edi,%r13d
   0x7ffff784686e:	rorx   $0x6,%r9d,%r14d
   0x7ffff7846874:	lea    (%rax,%r12,1),%eax
   0x7ffff7846878:	xor    %r14d,%r13d
   0x7ffff784687b:	mov    %ebx,%edi
   0x7ffff784687d:	rorx   $0x16,%ebx,%r12d
   0x7ffff7846883:	lea    (%rax,%r13,1),%eax
   0x7ffff7846887:	xor    %ecx,%edi
   0x7ffff7846889:	rorx   $0xd,%ebx,%r14d
   0x7ffff784688f:	rorx   $0x2,%ebx,%r13d
   0x7ffff7846895:	lea    (%r8,%rax,1),%r8d
   0x7ffff7846899:	and    %edi,%r15d
   0x7ffff784689c:	xor    %r12d,%r14d
   0x7ffff784689f:	xor    %ecx,%r15d
   0x7ffff78468a2:	xor    %r13d,%r14d
   0x7ffff78468a5:	lea    (%rax,%r15,1),%eax
   0x7ffff78468a9:	mov    %r9d,%r12d
   0x7ffff78468ac:	lea    -0x40(%rbp),%rbp
   0x7ffff78468b0:	cmp    %rsp,%rbp
   0x7ffff78468b3:	jae    0x7ffff78465a0
   0x7ffff78468b9:	mov    0x200(%rsp),%rdi
   0x7ffff78468c1:	add    %r14d,%eax
   0x7ffff78468c4:	lea    0x1c0(%rsp),%rsp
   0x7ffff78468cc:	add    (%rdi),%eax
   0x7ffff78468ce:	add    0x4(%rdi),%ebx
   0x7ffff78468d1:	add    0x8(%rdi),%ecx
   0x7ffff78468d4:	add    0xc(%rdi),%edx
   0x7ffff78468d7:	add    0x10(%rdi),%r8d
   0x7ffff78468db:	add    0x14(%rdi),%r9d
   0x7ffff78468df:	lea    0x80(%rsi),%rsi
   0x7ffff78468e6:	add    0x18(%rdi),%r10d
   0x7ffff78468ea:	mov    %rsi,%r12
   0x7ffff78468ed:	add    0x1c(%rdi),%r11d
   0x7ffff78468f1:	cmp    0x50(%rsp),%rsi
   0x7ffff78468f6:	mov    %eax,(%rdi)
   0x7ffff78468f8:	cmove  %rsp,%r12
   0x7ffff78468fc:	mov    %ebx,0x4(%rdi)
   0x7ffff78468ff:	mov    %ecx,0x8(%rdi)
   0x7ffff7846902:	mov    %edx,0xc(%rdi)
   0x7ffff7846905:	mov    %r8d,0x10(%rdi)
   0x7ffff7846909:	mov    %r9d,0x14(%rdi)
   0x7ffff784690d:	mov    %r10d,0x18(%rdi)
   0x7ffff7846911:	mov    %r11d,0x1c(%rdi)
   0x7ffff7846915:	jbe    0x7ffff78455c0
   0x7ffff784691b:	lea    (%rsp),%rbp
   0x7ffff784691f:	lea    0x0(%rbp),%rsp
   0x7ffff7846923:	mov    0x58(%rsp),%rsi
   0x7ffff7846928:	vzeroupper
   0x7ffff784692b:	mov    -0x30(%rsi),%r15
   0x7ffff784692f:	mov    -0x28(%rsi),%r14
   0x7ffff7846933:	mov    -0x20(%rsi),%r13
   0x7ffff7846937:	mov    -0x18(%rsi),%r12
   0x7ffff784693b:	mov    -0x10(%rsi),%rbp
   0x7ffff784693f:	mov    -0x8(%rsi),%rbx
   0x7ffff7846943:	lea    (%rsi),%rsp
   0x7ffff7846946:	repz retq
   0x7ffff7846948:	nopl   0x0(%rax,%rax,1)
   0x7ffff7846950 :	movq   $0x0,0x20(%rdi)
   0x7ffff7846958 :	movq   $0x0,0x64(%rdi)
   0x7ffff7846960 :	mov    %rdi,%rdx
   0x7ffff7846963 :	lea    0x28(%rdi),%rdi
```

My best guess at the backtrace information, as reported by readelf --debug=frames is:

```
0002f5a0<PHONE_NUMBER>000044 0002f5a4 FDE cie=00000000 pc=00000000001e1540..0000000
0001e2948
  DW_CFA_advance_loc: 3 to<PHONE_NUMBER>1e1543
  DW_CFA_def_cfa_register: r0 (rax)
  DW_CFA_advance_loc: 1 to<PHONE_NUMBER>1e1544
  DW_CFA_offset: r3 (rbx) at cfa-16
  DW_CFA_advance_loc: 1 to<PHONE_NUMBER>1e1545
  DW_CFA_offset: r6 (rbp) at cfa-24
  DW_CFA_advance_loc: 2 to<PHONE_NUMBER>1e1547
  DW_CFA_offset: r12 (r12) at cfa-32
  DW_CFA_advance_loc: 2 to<PHONE_NUMBER>1e1549
  DW_CFA_offset: r13 (r13) at cfa-40
  DW_CFA_advance_loc: 2 to<PHONE_NUMBER>1e154b
  DW_CFA_offset: r14 (r14) at cfa-48
  DW_CFA_advance_loc: 2 to<PHONE_NUMBER>1e154d
  DW_CFA_offset: r15 (r15) at cfa-56
  DW_CFA_advance_loc: 49 to<PHONE_NUMBER>1e157e
  DW_CFA_def_cfa_expression (DW_OP_breg7 (rsp): 88; DW_OP_deref; DW_OP_plus_uconst: 8)
  DW_CFA_advance_loc2: 5034 to<PHONE_NUMBER>1e2928
  DW_CFA_def_cfa: r4 (rsi) ofs 8
  DW_CFA_advance_loc: 7 to<PHONE_NUMBER>1e292f
  DW_CFA_restore: r15 (r15)
  DW_CFA_advance_loc: 4 to<PHONE_NUMBER>1e2933
  DW_CFA_restore: r14 (r14)
  DW_CFA_advance_loc: 4 to<PHONE_NUMBER>1e2937
  DW_CFA_restore: r13 (r13)
  DW_CFA_advance_loc: 4 to<PHONE_NUMBER>1e293b
  DW_CFA_restore: r12 (r12)
  DW_CFA_advance_loc: 4 to<PHONE_NUMBER>1e293f
  DW_CFA_restore: r6 (rbp)
  DW_CFA_advance_loc: 4 to<PHONE_NUMBER>1e2943
  DW_CFA_restore: r3 (rbx)
  DW_CFA_advance_loc: 3 to<PHONE_NUMBER>1e2946
  DW_CFA_def_cfa_register: r7 (rsp)
  DW_CFA_nop
  DW_CFA_nop
  DW_CFA_nop
  DW_CFA_nop
```

As you can see, the CFA expression in effect for most of the function is (DW_OP_breg7 (rsp): 88; DW_OP_deref; DW_OP_plus_uconst: 8).  But the function code is itself manipulating rsp, with several instances of lea    -0x40(%rsp),%rsp and a final instance of lea    0x1c0(%rsp),%rsp.  These rsp manipulations are not expressed in the frame information.
The effect is that using a setitimer profiler that does stack backtraces does not work with this code.  It would be nice if the CFA information could be corrected.

That looks like this code here:
https://github.com/openssl/openssl/blob/master/crypto/sha/asm/sha512-x86_64.pl#L1884
We've been doing some unwind testing in BoringSSL, but apparently we don't enabled that code. I'll see if I can run it through our ABI tester...

Yeah, the CFA annotations there are indeed wrong. This expression is active, I think:
https://github.com/openssl/openssl/blob/master/crypto/sha/asm/sha512-x86_64.pl#L1933
But later on, OpenSSL allocates more stack space:
https://github.com/openssl/openssl/blob/master/crypto/sha/asm/sha512-x86_64.pl#L1995
(Incidentally, none of this stuff is valid for Win64, but fixing OpenSSL's unwind for Win64 is a much bigger task. Win64 unwind codes are very restrictive. I have some work here I'll upload when I've finished polishing it up.)

I stared at the file a bit and was not able to figure it out. There are too many interleaved perl and assembly loops. Also there appears to be a loop (Lavx2_00_47) which allocates stack? The loop seems to be walking over a table, so it's probably at least bounded, but that complicates the CFA expression.
That function badly needs more comments, and a frame pointer.

Fix in #9624


How to Creating a Virtual Background in RTMP

Hi bro i want Background Removal and Segmentation or Virtual Background Integrate in  live streaming    for exmaple Image

link : https://towardsdatascience.com/custom-calculators-in-mediapipe-5a245901d595
in Background Removal and Segmentation
MediaPipe Selfie Segmentation
video : https://google.github.io/mediapipe/images/selfie_segmentation_web.mp4
https://uploads-ssl.webflow.com/6139ee313144e527fc2c2fdb/614493f96be9f97bef916efd_BG_seg1_optimised-transcode.mp4
I trying like this before question me in link https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/issues/1001
I have studied every category. But it doesn't make any Virtual Background   images coming from outside.

Please I don't know if it supports this or not. please suggest

You can try with Chroma filter:
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/master/encoder/src/main/java/com/pedro/encoder/input/gl/render/filters/ChromaFilterRender.java
It is developed to work with a chroma so you need a green background and taht green color will be replaced to your image

hey bro i not show !  please help not show  Virtual Background  from image please see file is show background color light pink
please help

I don't understand.
As I told you it is a chroma filter. Where do you have green color to test?

Thank you for your suggestion and I have some questions about chroma color
, Is it possible if I would like add more colors for chroma filter and I need add blue color or white color
Thank you for your support

You need change this glsl file to support it:
https://github.com/pedroSG94/rtmp-rtsp-stream-client-java/blob/master/encoder/src/main/res/raw/chroma_fragment.glsl


Perf regression: force reflow in markdown cell

Issue Type: Bug
Not sure which line of code but it triggers forced reflow 100% the time when a markdown cell is opened.

VS Code version: Code - Insiders 1.46.0-insider (e1d8f5155c0db5ffdc130c9aa0f14efac02dfdfb, 2020-05-13T20:32:52.338Z)
OS version: Darwin x64 19.4.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz (16 x 2400)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmetal: disabled_offmultiple_raster_threads: enabled_onoop_rasterization: disabled_offprotected_video_decode: unavailable_offrasterization: enabledskia_renderer: disabled_off_okvideo_decode: enabledviz_display_compositor: enabled_onviz_hit_test_surface_layer: disabled_off_okwebgl: enabledwebgl2: enabled

Load (avg)
3, 3, 2

Memory (System)
32.00GB (0.70GB free)

Process Argv
-psn_0_4404275

Screen Reader
no

VM
0%

Extensions (21)

Extension
Author (truncated)
Version

comment-tagged-templates
bie
0.3.0

github-markdown-preview
bie
0.0.2

markdown-emoji
bie
0.0.9

markdown-preview-github-styles
bie
0.1.6

gitlens
eam
10.2.1

tsl-problem-matcher
eam
0.1.1

vscode-pull-request-github-insiders
Git
2020.5.19650

vscode-docker
ms-
1.2.0

vscode-language-pack-zh-hans
MS-
1.45.1

remote-containers
ms-
0.117.1

remote-ssh-edit-nightly
ms-
2020.5.19620

remote-ssh-nightly
ms-
2020.5.19620

js-debug-nightly
ms-
2020.5.617

powershell
ms-
2020.4.0

vscode-github-issue-notebooks
ms-
0.0.22

vsliveshare
ms-
1.0.2169

debugger-for-chrome
msj
4.12.6

kuskus-extensions-pack
ros
1.0.1

kuskus-kusto-language-server
ros
1.0.1

kuskus-kusto-syntax-highlighting
ros
1.1.8

sourcekit-lsp
unp
0.0.1

(5 theme extensions excluded)

We can't avoid this as long as we are using the virtualized list.

I've been wondering about prerendering markdown somewhere to improve this. Especially when you have flickering as images load in


Cannot use Triton interpreter with matrix multiply example

Hello, I'm trying to run the matrix multiply example with the TRITON_INTERPRET environment variable set to use print statements, breakpoints etc. I see the following error, which seems to find an error with the line that calls tl.arange. After breakpointing into the code, it seems that the tl.arange calls actually work, but not calls to tl.cdiv or tl.zeros. I am running with the nightly version of Triton and torch 2.3.1+cu121.
Code to reproduce:
import torch

import triton
import triton.language as tl

import os

os.environ["TRITON_INTERPRET"] = "1"

@triton.jit
def matmul_kernel(
    # Pointers to matrices
    a_ptr,
    b_ptr,
    c_ptr,
    # Matrix dimensions
    M,
    N,
    K,
    # The stride variables represent how much to increase the ptr by when moving by 1
    # element in a particular dimension. E.g. `stride_am` is how much to increase `a_ptr`
    # by to get the element one row down (A has M rows).
    stride_am,
    stride_ak,  #
    stride_bk,
    stride_bn,  #
    stride_cm,
    stride_cn,
    # Meta-parameters
    BLOCK_SIZE_M: tl.constexpr,
    BLOCK_SIZE_N: tl.constexpr,
    BLOCK_SIZE_K: tl.constexpr,  #
    GROUP_SIZE_M: tl.constexpr,  #
    ACTIVATION: tl.constexpr,  #
):
    """Kernel for computing the matmul C = A x B.
    A has shape (M, K), B has shape (K, N) and C has shape (M, N)
    """
    # -----------------------------------------------------------
    # Map program ids `pid` to the block of C it should compute.
    # This is done in a grouped ordering to promote L2 data reuse.
    # See above `L2 Cache Optimizations` section for details.
    pid = tl.program_id(axis=0)
    # grid_n = tl.cdiv(N, BLOCK_SIZE_N)
    grid_n = N // BLOCK_SIZE_N
    pid_m = pid // grid_n
    pid_n = pid % grid_n

    # ----------------------------------------------------------
    # Create pointers for the first blocks of A and B.
    # We will advance this pointer as we move in the K direction
    # and accumulate
    # `a_ptrs` is a block of [BLOCK_SIZE_M, BLOCK_SIZE_K] pointers
    # `b_ptrs` is a block of [BLOCK_SIZE_K, BLOCK_SIZE_N] pointers
    # See above `Pointer Arithmetic` section for details
    offs_am = (pid_m * BLOCK_SIZE_M + tl.arange(0, BLOCK_SIZE_M)) % M
    offs_bn = (pid_n * BLOCK_SIZE_N + tl.arange(0, BLOCK_SIZE_N)) % N
    offs_k = tl.arange(0, BLOCK_SIZE_K)
    a_ptrs = a_ptr + (offs_am[:, None] * stride_am + offs_k[None, :] * stride_ak)
    b_ptrs = b_ptr + (offs_k[:, None] * stride_bk + offs_bn[None, :] * stride_bn)

    # -----------------------------------------------------------
    # Iterate to compute a block of the C matrix.
    # We accumulate into a `[BLOCK_SIZE_M, BLOCK_SIZE_N]` block
    # of fp32 values for higher accuracy.
    # `accumulator` will be converted back to fp16 after the loop.
    accumulator = tl.zeros((BLOCK_SIZE_M, BLOCK_SIZE_N))
    for k in range(0, tl.cdiv(K, BLOCK_SIZE_K)):
        # Load the next block of A and B, generate a mask by checking the K dimension.
        # If it is out of bounds, set it to 0.
        a = tl.load(a_ptrs, mask=offs_k[None, :] < K - k * BLOCK_SIZE_K, other=0.0)
        b = tl.load(b_ptrs, mask=offs_k[:, None] < K - k * BLOCK_SIZE_K, other=0.0)
        # We accumulate along the K dimension.
        accumulator = tl.dot(a, b, accumulator)
        # Advance the ptrs to the next K block.
        a_ptrs += BLOCK_SIZE_K * stride_ak
        b_ptrs += BLOCK_SIZE_K * stride_bk
    # You can fuse arbitrary activation functions here
    # while the accumulator is still in FP32!

    if ACTIVATION == "leaky_relu":
        accumulator = leaky_relu(accumulator)
    c = accumulator.to(tl.float16)

    # -----------------------------------------------------------
    # Write back the block of the output matrix C with masks.
    offs_cm = pid_m * BLOCK_SIZE_M + tl.arange(0, BLOCK_SIZE_M)
    offs_cn = pid_n * BLOCK_SIZE_N + tl.arange(0, BLOCK_SIZE_N)
    c_ptrs = c_ptr + stride_cm * offs_cm[:, None] + stride_cn * offs_cn[None, :]
    c_mask = (offs_cm[:, None] < M) & (offs_cn[None, :] < N)
    tl.store(c_ptrs, c, mask=c_mask)

# We can fuse `leaky_relu` by providing it as an `ACTIVATION` meta-parameter in `matmul_kernel`.
@triton.jit
def leaky_relu(x):
    return tl.where(x >= 0, x, 0.01 * x)

def matmul(a, b, activation=""):
    # Check constraints.
    assert a.shape[1] == b.shape[0], "Incompatible dimensions"
    assert a.is_contiguous(), "Matrix A must be contiguous"
    M, K = a.shape
    K, N = b.shape
    # Allocates output.
    c = torch.empty((M, N), device=a.device, dtype=torch.float16)
    # 1D launch kernel where each block gets its own program.
    grid = lambda META: (
        triton.cdiv(M, META["BLOCK_SIZE_M"]) * triton.cdiv(N, META["BLOCK_SIZE_N"]),
    )
    matmul_kernel[grid](
        a_ptr=a,
        b_ptr=b,
        c_ptr=c,  #
        M=M,
        N=N,
        K=K,  #
        stride_am=a.stride(0),
        stride_ak=a.stride(1),  #
        stride_bk=b.stride(0),
        stride_bn=b.stride(1),  #
        stride_cm=c.stride(0),
        stride_cn=c.stride(1),  #
        # hard coded values (can be autotuned)
        BLOCK_SIZE_M=128,
        BLOCK_SIZE_N=256,
        BLOCK_SIZE_K=64,
        GROUP_SIZE_M=8,
        # --------------------------------
        ACTIVATION=activation,  #
    )
    return c

torch.manual_seed(0)
a = torch.randn((512, 512), device="cuda")
b = torch.randn((512, 512), device="cuda")
triton_output = matmul(a, b)
torch_output = torch.matmul(a, b)
print(f"triton_output_with_fp16_inputs={triton_output}")
print(f"torch_output_with_fp16_inputs={torch_output}")

if torch.allclose(triton_output, torch_output, atol=1e-2, rtol=0):
    print("✅ Triton and Torch match")
else:
    print("❌ Triton and Torch differ")

Error seen:
Traceback (most recent call last):
  File "/home/pedrogimenes/anaconda3/envs/mase/lib/python3.11/site-packages/triton/runtime/interpreter.py", line 1092, in __call__
    self.fn(**args)
  File "/home/pedrogimenes/triton_matmul.py", line 58, in matmul_kernel
    offs_bn = (pid_n * BLOCK_SIZE_N + tl.arange(0, BLOCK_SIZE_N)) % N
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pedrogimenes/anaconda3/envs/mase/lib/python3.11/site-packages/triton/runtime/jit.py", line 782, in __call__
    raise RuntimeError("Cannot call @triton.jit'd outside of the scope of a kernel")
RuntimeError: Cannot call @triton.jit'd outside of the scope of a kernel

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

Traceback (most recent call last):
  File "/home/pedrogimenes/triton_matmul.py", line 140, in <module>
    triton_output = matmul(a, b)
                    ^^^^^^^^^^^^
  File "/home/pedrogimenes/triton_matmul.py", line 113, in matmul
    matmul_kernel[grid](
  File "/home/pedrogimenes/anaconda3/envs/mase/lib/python3.11/site-packages/triton/runtime/interpreter.py", line 1094, in __call__
    raise InterpreterError(repr(e)) from e
triton.runtime.errors.InterpreterError: RuntimeError("Cannot call @triton.jit'd outside of the scope of a kernel")

Environment:
>>> import torch
>>> torch.__version__
'2.3.1+cu121'
>>> import triton
>>> triton.__version__
'3.0.0'
>>>

I should have a fix now but need to add some test cases. Hopefully I could get it done by Tuesday

@pgimenes There are also some problems in your code in addition to Triton's interpreter itself.
accumulator = tl.zeros((BLOCK_SIZE_M, BLOCK_SIZE_N))

dtype is missing
import triton
import triton.language as tl

import os

os.environ["TRITON_INTERPRET"] = "1"

You should move os.environ["TRITON_INTERPRET"] = "1" before import triton

Understood, thank you for the suggestions! With the refactored code, I'm now seeing the following output:
Traceback (most recent call last):
  File "/home/pg519/anaconda3/envs/mase/lib/python3.11/site-packages/triton/runtime/interpreter.py", line 1092, in __call__
    self.fn(**args)
  File "/home/pg519/triton_matmul.py", line 58, in matmul_kernel
    offs_am = (pid_m * BLOCK_SIZE_M + tl.arange(0, BLOCK_SIZE_M)) % M
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pg519/anaconda3/envs/mase/lib/python3.11/site-packages/triton/runtime/interpreter.py", line 1196, in __call__
    fn = self._rewrite_ast()
         ^^^^^^^^^^^^^^^^^^^
  File "/home/pg519/anaconda3/envs/mase/lib/python3.11/site-packages/triton/runtime/interpreter.py", line 1180, in _rewrite_ast
    exec(compiled_code, globals(), local_namespace)
  File "/home/pg519/anaconda3/envs/mase/lib/python3.11/site-packages/triton/language/standard.py", line 114, in <module>
    """
NameError: name 'jit' is not defined

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

Traceback (most recent call last):
  File "/home/pg519/triton_matmul.py", line 141, in <module>
    triton_output = matmul(a, b)
                    ^^^^^^^^^^^^
  File "/home/pg519/triton_matmul.py", line 114, in matmul
    matmul_kernel[grid](
  File "/home/pg519/anaconda3/envs/mase/lib/python3.11/site-packages/triton/runtime/interpreter.py", line 1094, in __call__
    raise InterpreterError(repr(e)) from e
triton.runtime.errors.InterpreterError: NameError("name 'jit' is not defined")

Yeah the message is expected because of the interpreter bug


not displaying properly on android

Bug
##Android
Environment info
react-native version
"react-native": "^0.64.2",
"react-native-video": "^5.2.0",
taking time to display video  in flatlist with images

to be followed in: https://github.com/react-native-video/react-native-video/issues/2668


App: Discord/sidechain login #1543

https://github.com/webaverse/app/issues/1543

Now I set discord login display: none


Move BGFX_CAST_FUNCTION to BX_CAST_FUNCTION

See https://github.com/bkaradzic/bgfx/pull/2252

See: https://github.com/bkaradzic/bgfx/commit/8f4750b19924d1144f7472987c08025bcd8dfd90


Honor points not properly awarded.

I recently completed the "text align justify" Kata (4 kyu), but noticed that my honor only went up by 1. This has happened many times in the past, but recently all my points were adjusted. Is anyone else seeing this? Or am I missing something?

I just checked now and I have been given the correct amount of honor points.

Yeah they sometimes take a minute or two to update in the background. What do you mean by "recently your points were adjusted"?

Last week I logged in and noticed I went from 78 honor points to 118 points


Unable to display all user lists

Describe the bug:
If there are too many user lists and cannot be displayed all, hope the page has scroll bars or can turn pages.
Steps to reproduce:
1.Keep creating users until more than the page can be displayed
Attu version:
2.3.9
Attu version:

/assign @shanghaikid

how many users do you have? so I can do the test myself.


Unable to publish service, @services.returns(float) annotation doesn't work

I went through the tutorial and got stuck at the publish service fragment:
from azureml import services
@services.publish(workspace_id, authorization_token)
@services.types(activ=int, beaver=float, time=int)
@services.returns(float)
def beaver_body_temp_predictor(activ, beaver, time):
    return regressor.predict([activ, beaver, time])

In the line @services.returns(float) I get the error
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-19-3efde61743a5> in <module>()
      2 @services.publish(workspace_id, authorization_token)
      3 @services.types(activ=int, beaver=float, time=int)
----> 4 @services.returns(float)
      5 def beaver_body_temp_predictor(activ, beaver, time):
      6     return regressor.predict([activ, beaver, time])
...
~/anaconda3_501/lib/python3.6/site-packages/azureml/services.py in _get_main_source(function)
    626         # we're marshalling the arguments in.
    627         main_source += u'    for i in range(df1.shape[0]):' + chr(10)
--> 628         for arg in _get_args(function):
    629             arg_type = _get_arg_type(arg, function)
    630             if pandas is not None and arg_type is pandas.DataFrame:

~/anaconda3_501/lib/python3.6/site-packages/azureml/services.py in _get_args(func)
    481     if args.varargs is not None:
    482         all_args.append(args.varargs)
--> 483     if args.keywords is not None:
    484         all_args.append(args.keywords)
    485     return all_args

AttributeError: 'Arguments' object has no attribute 'keywords'

@sauercrowd try changing your kernel to python 2 and run your code again.

@prashil2792 Sorry, my mystake, missed the python2 in the headline.
But is there also a python3 version?

@sauercrowd Python 3 version is still not supported.

Ah that's unfortunate, but I'll close this issue due to the python3 version that I used


Make Gateway OWASP 3.0 Compliant

Makes all requests from the Gateway OWASP 3.0 Compliant so that it can be used with an WAF.
Getting the Gateway + Inference service to work through a WAF will still require one manual modification to the WAF. Specifically, the following header needs to be ignored:

This change is necessary as OWASP requires a Content-Type header to be specified if uploading content, but blocks any requests specifying a Content-Type header. This is to put the burden of verifying the security of the uploaded data onto the back-end (in this case the InnerEye Inference service).

Marking as a draft until OWASP 3.2 compliance is confirmed (currently only tested against 3.0)


Filter out non-.org client apps when running under .org domain

Addresses https://github.com/PRX/id.prx.org/issues/68

Published to npm!


chore(typo): "rgister" -> register

Just a small typo fix, nothing more. Thanks

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


Re-enable THEATER command

I'll write a proper document describing this command as well.
I will add an ISUPPORT token THEATER=<mode>, similar to how INVEX= does it, T being the default mode character for it.

Eh, as per 266c534af981447ec83d78d89de8760efe9c7f6c I'm gonna not worry about this for now. PRs accepted though.


Project Strategy and Ways of work

Goal Title
The aim is to develop a project strategy and revise best ways of work to achieve it
Description
Through several strategy sessions we will:

Define our north star (vision & mision)
Establish the project pilars or areas, defining what success looks like for each
Prioritise the measure of success, which are essential to consider the project succesful?
Identify work required to achieve success
Allocate work by team
Produce an initial roadmap
Evaluate required effort for the work against team capacity
Develop and agree new ways of work, including meeting structure and use of project's repositories and projects

Definition of Done
When will this be considered as succesfully completed?
Details

RACI

Accountable team or person: RAM, RPM
Responsible team or person: REG, RCM, CO-Is, Others
Informed and consulted people:

Estimated effort FTE

High

Task and issue breakdown

[ ] Plan sessions
[ ] Conduct and facilitate sessions
[ ] Strategy output: presentations and materials with outputs
[ ] #44

Checklist

[ ] This Story have been agreed with project members, it tackles prioritised work

[ ] If not: Label as ForPrioritisation so it discussed in the next monthly meeting, do not set a status

[ ] I have filled in the Team Accountabe field
[ ] I have included this Story in the agreed upon Milestone, set status as Planned

[ ] If not: set status as Backlog, to be Planned via weekly meetings or async discussions

[ ] The work to be done is likely to span over a month
[ ] I have broken down the work in monthly issues and added them above
[ ] I have labeled this issue according to its main project: SATRE, TRESA, CORE DSH (ELA) or other (please agree and create a new label if necessary)
[ ] If known: sum the total effort (points) of tracked issues and add it on the body
[ ] Select a Story level of effort in the project fields

Reporting
This story resulted in a project clear strategy and roadmap, as well as a first (since updated) proposal for ways of work.
Related work for this story continues in #54

@harisood I want to close this story considering we delivered what is was set out to do, I wonder though where to properly reflect ongoing work related to strategy and prioritisation, I am especifically thinking of the meeting we will have to reprioritise due to limited resources.
Do you see room for that work in your existing stories, on #34 perhaps (maybe wiht proper updates)?
It could also fit under my story #54 but feels different

I wonder if we should be having cadenced reviews of the strategy to make sure it's still relevant (e.g. quarterly), in which case we should keep this issue open?

On one hand it makes sense, on the other if everythign is "ongoing" we loose some insight about the workload and have a permanent issue for discrete tasks. If we keep it, then we should adjust effort

I am reopening as after 1st planning meeting it seems like the ongiong changes to WoW, planning meetings and strtegic decisions will continue to happen and they do fit here. Will evaluate wheter or not to keep WoW as part of #54 or not

Jan planning
Plan for an explicit strategy revisit session in Feb

@Davsarper wants to make this as much as a priority as possible to:

Create due reports
Revisit reports and monthlies format
Propose and discuss PIs WoW

In May still want to do the above and (but may not be a must happen so not priority):

work with @martintoreilly on roadmap v2


Multi-arch image

We need to make sure this image is multi-arch, and mainly support P and Z in addition to amd64

This is now the case in main branch thanks to https://github.com/openshift-pipelines/must-gather/commit/af80d7e192ba961d3dcfef9055e8f1a1daad61c6 and https://github.com/openshift-pipelines/must-gather/commit/d877b69aab503d18297ca3fbaa8a18c566b8dd1c.


prcEditor doesn't open

It just won't start up. I've tried running as an administrator with no luck. I have NET Core Runtime 3.0 installed so I don't know else could be the problem.

I missed this notification, my apologies! Have you made sure to also use the .NET Core Desktop Installer?
For the record I see you opened an older version in the modding Discord, but I recommend a more recent version because of various improvements. If you no longer need help just let me know so I can decide whether the issue needs to be closed

I'm using an older version because it's the latest version that won't start up for me.


Import default with CSS Modules and Sass

If the no-named-as-default rule is turned on as an error (which it should be, it's a fantastic rule), when importing Sass or CSS styles that use CSS Modules into javascript files like this:
import styles from './MyStyles.scss'

eslint throws an error saying: Parse errors in imported module './MyStyles.scss'  import/no-named-as-default
I believe that's from how CSS Modules exports the final styles object. If I change my import syntax to import * as styles from './MyStyles.scss', the error goes away (but the import/default rule comes into effect then). That resulting styles object, when logged, has both a default and a locals property so it looks to me as if CSS Modules is in fact exporting default and others, although I can't be sure about that.
It'd be nice if there was a way to catch this in the linter because I much prefer the import syntax over using require for styles (which works fine).

Ah, yeah, it's just trying to find ES6 exports in the original Sass source--thus the parser errors. Even with the Webpack resolver, it doesn't know anything about CSS modules.
I can imagine doing something like evaluating through Webpack loaders and then looking at the result to lint the import, for non-JS sources. That would likely be a custom export finder; I'm thinking of exposing something that could do preprocessing and evaluation for source that isn't an ES6 module: Sass, CommonJS, etc.
In the interim, you can add '.scss$' to the import/ignore list and it will just ignore Sass imports completely. Upside: no false errors. Downside: no true errors.
I'll keep this in mind when I try to work out parsing CommonJS modules for exports; this feels like a pretty simple next step once that's in place.

Yeah it doesn't seem something that the plugin should be handling since it already does its job quite well.  Maybe just a small caveat in the rule documentation that says "When importing sass and using webpack, add .scss$ to the ignore field in your config".
Using require works fine to so I don't see a need to change the plugin to handle what's really an edge webpack case.


DETAIL

Hi,
Thank you for your great work!
I am wondering what is the expected token prediction accuracy (top1, top5) like when the ar prior model converges?

Something like 1.7% / 5.2% for top1 / top5.
Note that these are not very accurate and it veries for different model configurations. Please feel free to test it using our provided pretrained models.


Multiline descriptions generate syntax issues

This :
"MyModel": {
      "description": "Ullamco commodo enim nisi in occaecat esse eiusmod ex culpa ea commodo aliquip velit nostrud. Nostrud esse ad tempor adipisicing cillum ipsum exercitation ut. \nPariatur pariatur est consectetur irure laborum non anim amet pariatur dolore mollit aliqua cillum culpa. \nConsequat officia amet consequat commodo labore ex occaecat laboris anim laboris amet.",
      "example": {…},
      "properties": {…},
      "title": "MyModel",
      "type": "object"
    },

generates that:

// MyModel
// Ullamco commodo enim nisi in occaecat esse eiusmod ex culpa ea commodo aliquip velit nostrud. Nostrud esse ad tempor adipisicing cillum ipsum exercitation ut.
Pariatur pariatur est consectetur irure laborum non anim amet pariatur dolore mollit aliqua cillum culpa.

Consequat officia amet consequat commodo labore ex occaecat laboris anim laboris amet.

export type MyModel = t.Branded…

The trivial PR seems to fix this issue (it works on my multiline json-schema) by using /* */ instead of // …

Line endings are a special case if special characters. I'm the submitted pull request the line endings are retained by the use of a multiline comment. This might increase readability. However, it only works for line endings. I'm also wondering if the original input might contain different kinds of line endings. Would be nice to have just one type of line ending used in the generator output.

I made a fix attempt that uses line comments // comment. See pull request #81

Hi @cyberixae
I'm sorry I'm not working on that project anymore, I did not have a chance to verify the resolution.
But thank you for taking care of it !

@JalilArfaoui No worries! I decided to merge it just in case someone runs again into the same problem. Thanks for reporting.


Categories are not rendered in default template

Q
A

Bug?
yes

New Feature?
no

Sulu Version
1.3.0

Actual Behavior
Sulu does not render categories which are selected in the excerpt tab when using the default template.
Expected Behavior
Sulu should render the categories which are selected in the backend.
Steps to Reproduce

Select some categories in the excerpt tab of a page which uses the default template.
The categories are not visible when loading the page in the frontend.

Possible Solutions
This bug is caused by using content.ext.excerpt.categories instead of extension.excerpt.categories in the default.html.twig file.

That's actually the kind of stuff where creating a PR would be less work than creating an issue 😜


There is no "Device Code"

There is no "Device Code" when I open the app.It quits if I hit "Login"

Same in my case. Something went wrong apparently.

same to u,obviously tidal-gui has breakdown

https://github.com/yaronzz/Tidal-Media-Downloader/issues/725#issuecomment-974619533
If you're saavy... you can work this fix back into the GUI version and you'll at least be able to access CD-quality content.

yaronzz/Tidal-Media-Downloader#725 (comment)
If you're saavy... you can work this fix back into the GUI version and you'll at least be able to access CD-quality content.

I learned recently from different sources that the so called "cd-quality" on Tidal for albums labeled "master" is a mangled mqa:
Their process :

if the mqa is a 24 bit mqa 8 bits are stripped off making it 16 bit
if the mqa is coming in a 48k flac container (48, 96 and 192 mqas) it is downsampled to a 44.1k flac
if the mqa was coming in a 44k flac container (44.1, 88.2, 176.4, 352.8 mqas) the signal bit is corrupted to prevent unfolding

So you do you get a 16/44.1 pcm, but this is not a redbook (cd-quality) but a mangled mqa,
because this helps mqa ltd for making their users believe that mqa sounds "better" ... not better than cd-quality but better than mangled mqas ;-)
I don't know if you ever tried Qobuz? their 16/44 pcms ARE redbooks and sound 10x crisper then any mqa.
Just saying...

I learned recently from different sources that the so called "cd-quality" on Tidal for albums labeled "master" is a mangled mqa: Their process :

if the mqa is a 24 bit mqa 8 bits are stripped off making it 16 bit
if the mqa is coming in a 48k flac container (48, 96 and 192 mqas) it is downsampled to a 44.1k flac
if the mqa was coming in a 44k flac container (44.1, 88.2, 176.4, 352.8 mqas) the signal bit is corrupted to prevent unfolding

So you do you get a 16/44.1 pcm, but this is not a redbook (cd-quality) but a mangled mqa, because this helps mqa ltd for making their users believe that mqa sounds "better" ... not better than cd-quality but better than mangled mqas ;-)
I don't know if you ever tried Qobuz? their 16/44 pcms ARE redbooks and sound 10x crisper then any mqa.
Just saying...

So, not redbook... but something else entirely. I noticed their marketing now calls it "1411 kbps". I'm guessing this is what you're talking about? MQA Deep Dive - I published music on tidal to test MQA

And there's probably really no way to know for certain if the content not labeled as master isn't just the same thing. (Not that my 40-ish year-old ears can even tell the difference.)
Well, that's definitely something to keep in mind. I use already use Qobuz for some purchases...


display no date in date widget for null

This call shows todays date:
Loader::helper('form/date_time')->date('date', null);
In my opinion this should display an empty field.
This happens for date/time attributes and thus makes it impossible to have a value of "no-date".

If I'm not wrong, this changes the current behavoiur for Loader::helper('form/date_time')->date('date'): before it printed out the current date, now it doesn't...

Yes, it does. If we didn't want that, we could change this line:
https://github.com/concrete5/concrete5/blob/develop/web/concrete/attributes/date_time/controller.php#L84
to this:
print $dt->date($this->field('value'), $caValue == null ? '' : $caValue);

Less impact..

thanks


Allow ringtones from file managers

Allow content://media/external/file/***.

Jack is eating too much RAM and causing Travis builds to fail.


change HttpServletResponse to HttpServletRequest

@spccold Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@spccold Thank you for signing the Contributor License Agreement!

@spencergibb please hava a look!

Is there an issue associated with this PR?  If so can you add it to the description?

@ryanjbaxter  no issue associated with this PR
RibbonRoutingFilter.java
private boolean useServlet31 = true;

public RibbonRoutingFilter(ProxyRequestHelper helper,
						   RibbonCommandFactory<?> ribbonCommandFactory,
						   List<RibbonRequestCustomizer> requestCustomizers) {
	this.helper = helper;
	this.ribbonCommandFactory = ribbonCommandFactory;
	this.requestCustomizers = requestCustomizers;
	// To support Servlet API 3.0.1 we need to check if getcontentLengthLong exists
	try {
		HttpServletResponse.class.getMethod("getContentLengthLong");
	} catch(NoSuchMethodException e) {
		useServlet31 = false;
	}
}
......
long contentLength = useServlet31 ? request.getContentLengthLong(): request.getContentLength();

getContentLengthLong method in HttpServletRequest rather than HttpServletResponse

OK I see.  In the future open an issue or at least provide a description of what you are fixing in the PR.  Thanks!

@ryanjbaxter Ok, thanks


There should not be any warning if the user is trying to delete any activity.

CRM Version: V1.1.3
Steps To reproduce--
1. Log in as Admin/User.
2. Create an event from google calendar.
3. Delete that activity from your calendar.
4. Try to delete that activity from your panel.
Actual result: It is giving an exception when the user is trying to delete any activity if the activity is already deleted from google calendar. Please find the below screenshot.
Expected result: There should not be any warning if the user is trying to delete any activity.

@prateek-webkul
I am getting the same issue when i want to update activity after deleting from google calendar


Problem with selected menu item background

Hi,
When I select one of the first two menu item (index: 0 or 1) its background doesn't change to the selectedBackgrounView. When I tap on it the selected background blink for a sec but is disappears. If I select the same item again then it changes correctly but obviously the content view not change again.
Every other menu item after these works perfectly. When a tap on them closing the menu and the item stay selected.
I set the background like this in the cellForRowAtIndexPath function when I create my menuTableViewController:
let selectedBackgroundView = UIView(frame: CGRectMake(0, 0, cell.frame.size.width, cell.frame.size.height))
selectedBackgroundView.backgroundColor = UIColor.blackColor().colorWithAlphaComponent(0.2)
cell.selectedBackgroundView = selectedBackgroundView
If you have any idea how to fix this pleas let me know. It's really annoying

Hi,
Check the didSelectRowAtIndexPath function, probably you added some code causing this issue.

Hi, the problem has solved, but I don't know why.
At the very first cell indexPath.row == 0 I use a picture, I loaded it like this
.... if isOnline{
imageFromServer(cell)
} .....
After I've changed this code to this, the background selection works fine:
... if let image = UIImage(named: "menu-icon-user"){
cell.iconImageView.image = image
} ...
The really interesting thing is that this solved it on the second cell too, but it shouldn't have any connection to it...


perf: optimize dockerfile

Description
In this PR I worked on this issues
Attaching updated test results file after the changes which I made test-results.txt

Remove cache after installing packages or store it in a cache mount
Merge this RUN instruction with the consecutive ones
Surround this variable with double quotes; otherwise, it can lead to unexpected behavior
Include the ARG instruction in the build stage where it is used

Results

avoids caching the index, which reduces the image size.
decrease the no of layering in the docker image.

I solved this issue after reading sonarcloud suggestion and how it work
Related issue(s)

please remove cli.js changes

done

Pls. have a look on the comment https://github.com/asyncapi/generator/pull/1283#issuecomment-2404066707 to fix this


Clarified some documentation about cookies

This is a simple PR to add some clarity to the docs about usage of multiple cookies in a return statement on endpoints.
I personally got hit by this and resolved it through this issue https://github.com/sveltejs/kit/issues/778.
If the formatting is wrong, I'd be happy to make modifications.

thanks — I tweaked the wording a bit and made the inline code example a block instead


undefined method `log' for ActiveSupport::BufferedLogger

I have tried this in my development.rb
HttpLog.configure do |hconfig|
hconfig.logger = Rails.logger
end
I did a google search and found this:
  Procyon::Application.configure do
...
   config.after_initialize do
    HttpLog.configure do |hconfig|
      hconfig.logger = Rails.logger
    end
  end
end

ruby 2.2.6
rails <IP_ADDRESS>
httplog 0.99.7
Neither one works.  This is the error I get:
/.rvm/gems/ruby-2.2.6/gems/railties-<IP_ADDRESS>/lib/rails/commands/runner.rb:54:in `eval': undefined method `log' for #<ActiveSupport::BufferedLogger:0x000000042f0428> (NoMethodError)
        from /home/pixie/.rvm/gems/ruby-2.2.6/gems/httplog-0.99.7/lib/httplog/http_log.rb:35:in `log'
        from /home/pixie/.rvm/gems/ruby-2.2.6/gems/httplog-0.99.7/lib/httplog/http_log.rb:40:in `log_connection'
        from /home/pixie/.rvm/gems/ruby-2.2.6/gems/httplog-0.99.7/lib/httplog/adapters/net_http.rb:36:in `connect'
        from /home/pixie/.rvm/rubies/ruby-2.2.6/lib/ruby/2.2.0/net/http.rb:863:in `do_start'
        from /home/pixie/.rvm/rubies/ruby-2.2.6/lib/ruby/2.2.0/net/http.rb:852:in `start'
        from /home/pixie/.rvm/rubies/ruby-2.2.6/lib/ruby/2.2.0/net/http.rb:1375:in `request'
        from /home/pixie/.rvm/gems/ruby-2.2.6/gems/httplog-0.99.7/lib/httplog/adapters/net_http.rb:21:in `block in request'
        from /home/pixie/.rvm/rubies/ruby-2.2.6/lib/ruby/2.2.0/benchmark.rb:303:in `realtime'
        from /home/pixie/.rvm/gems/ruby-2.2.6/gems/httplog-0.99.7/lib/httplog/adapters/net_http.rb:20:in `request'
        from /home/pixie/.rvm/rubies/ruby-2.2.6/lib/ruby/2.2.0/net/http.rb:1398:in `send_entity'
        from /home/pixie/.rvm/rubies/ruby-2.2.6/lib/ruby/2.2.0/net/http.rb:1186:in `post'
        from /home/var/www/procyon/v5/lib/optimalblue.rb:21:in `oauth'
        from (eval):1:in `<top (required)>'
        from /home/pixie/.rvm/gems/ruby-2.2.6/gems/railties-<IP_ADDRESS>/lib/rails/commands/runner.rb:54:in `eval'
        from /home/pixie/.rvm/gems/ruby-2.2.6/gems/railties-<IP_ADDRESS>/lib/rails/commands/runner.rb:54:in `<top (required)>'
        from /home/pixie/.rvm/gems/ruby-2.2.6/gems/railties-<IP_ADDRESS>/lib/rails/commands.rb:64:in `require'
        from /home/pixie/.rvm/gems/ruby-2.2.6/gems/railties-<IP_ADDRESS>/lib/rails/commands.rb:64:in `<top (required)>'
        from script/rails:6:in `require'
        from script/rails:6:in `<main>'

Hi @rickcockerham, I'm afraid this is most likely due to a backward incompatibility with Rails 3. The current stable release version of Rails is 5.1, the oldest version still receiving security updates is 4.2.  I'll happily accept a pull request to fix this for Rails 3, but I won't have the time to try and troubleshoot this myself. Closing for now.


Encoding Issue for ñ.

I seem to get incorrect encoding for accented characters like ñ.  I believe the correct encoding for this character should be \u00F1 but it is being encoded as \uFFF1.  Later, when the JSON is loaded by another language the ñ does not display correctly.

Can you provide some sample code where this isn't working?
I've added a simple test case for this locally with the following code which successfully passes:
// Test case for issue #29.
test_output = wstring(L"| Testing encoding ñ being \\u00F1") + wstring(DESC_LENGTH - 31, L' ') + wstring(L" | ");
JSONValue *n_value = new JSONValue(L"ñ");
wstring n_json = n_value->Stringify();
delete n_value;
if (n_json == L"\"\\u00F1\"")
{
	test_output += wstring(L"passed |\r\n");
}
else
{
	test_output += wstring(L"failed |\r\n");
}
print_out(test_output.c_str());

Turns out there may have been a sign problem in another part of our code - the values were being retrieved in a narrow string and converted to a wide string before being passed to JSONValue, which appears to be the root of the problem.  Many apologies for the inconvenience.


Laravel 9.x w/ PHP 8 Composer Installation Failed

Installation of upcloudltd/upcloud-php-api via Composer fails with PHP 8.1.8.
$> php composer.phar require upcloudltd/upcloud-php-api --with-all-dependencies

Error Output
Running composer update upcloudltd/upcloud-php-api --with-all-dependencies
Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - upcloudltd/upcloud-php-api[v2.1.0, ..., v2.3.0] require symfony/serializer ^5.1 -> satisfiable by symfony/serializer[v5.1.0, ..., v5.4.25].
    - symfony/mime[v6.2.0, ..., v6.3.0] conflict with symfony/serializer <6.2.
    - laravel/framework v9.52.10 requires symfony/mime ^6.0 -> satisfiable by symfony/mime[v6.0.0, ..., v6.3.0].
    - upcloudltd/upcloud-php-api v1.0.0 requires guzzlehttp/guzzle ^6.2 -> found guzzlehttp/guzzle[6.2.0, ..., 6.5.8] but it conflicts with your root composer.json require (^7.2).
    - upcloudltd/upcloud-php-api[v1.0.1-stable, ..., v1.0.3] require guzzlehttp/guzzle ^6.3 -> found guzzlehttp/guzzle[6.3.0, ..., 6.5.8] but it conflicts with your root composer.json require (^7.2).
    - upcloudltd/upcloud-php-api v2.0.0 requires php ^7.2 -> your php version (8.1.8) does not satisfy that requirement.
    - laravel/framework is locked to version v9.52.10 and an update of this package was not requested.
    - Root composer.json requires upcloudltd/upcloud-php-api * -> satisfiable by upcloudltd/upcloud-php-api[v1.0.0, v1.0.1-stable, v1.0.2, v1.0.3, v2.0.0, v2.1.0, v2.2.0, v2.3.0].

You can also try re-running composer require with an explicit version constraint, e.g. "composer require upcloudltd/upcloud-php-api:*" to figure out if any version is installable, or "composer require upcloudltd/upcloud-php-api:^2.1" if you know which you need.

Installation failed, reverting ./composer.json and ./composer.lock to their original content.

Are there any plans for upcloudltd/upcloud-php-api to support PHP 8.x on the roadmap?

Hi! Did you get this solved already? :blush: upcloud-php-api supports PHP 8.1 starting from v2.3.0. It would look to me like the symfony/serializer package is causing a version conflict between laravel/framework and upcloud-php-api and that causes the problem here. 🤔 Maybe the symfony/serializer version requirement in upcloud-php-api should be relaxed a little bit…

Hello, this should now be resolved in v3.0.0.

I'll close this as completed, please re-open or create a new issue, if there are still issues when installing together with Laravel.


Windows dark mode

@sxiii @CalMaciborka @Zefferis@0lhi
Please test using dark mode support for Windows:

Portable: https://github.com/Syncplay/syncplay/suites/4345878929/artifacts/114004663
Installer: https://github.com/Syncplay/syncplay/suites/4345878929/artifacts/114004664

Light/dark mode should follow your system settings for Windows 10 Anniversary users and above.

See #480 for a discussion on the title bar.

Looks good to me!
Only comment is that the titlebar changes to white when unfocused, not sure if there's an easy solution to that which doesn't involve custom window controls like discord/spotify

@TeamDman This seems to relate to how Windows behaves rather than being a Syncplay-specific issue.
I just looked it up and following the advice at https://www.reddit.com/r/Windows10/comments/93e2yp/black_accent_color_in_windows_10/ worked for me. However, the advice is a bit old so I had to tweak what I did a bit: I had to set the 'Windows colours' under 'Colours' to a dark grey and also enable 'Title bars and window borders' under 'Show the accent colour on the following surfaces'. As usual, if you mess with your registry then you do so at your own risk.


Unable to resolve dependencies

I get the following error when trying to install knife-cleanup:
ERROR:  While executing gem ... (Gem::DependencyError)
    Unable to resolve dependencies: chef requires chef-config (= 12.4.1); ohai requires chef-config (< 13, >= 12.5.0.alpha.1)

@adrianmoisey I assume you are running:
chef gem install.
I just ran that and it worked fine - I am using chefDk 0.7.0
chef --version
Chef Development Kit Version: 0.7.0
chef-client version: 12.4.1
berks version: 3.2.4
kitchen version: 1.4.2
May you can show us your chef gem list output

@adrianmoisey I assume you are running:
chef gem install.

Hah! I wasn't. My bad.
All sorted now, thanks for the help :)


My Wakamai Fondue codebase wishlist

My Wakamai Fondue codebase wishlist:

Update to newest Node (Related: https://github.com/Wakamai-Fondue/wakamai-fondue-engine/issues/42)
Vue 2 → Vue 3
Update all dependencies
Vue setup review: is this thing being built efficiently?
Vue setup review: am I doing everything as Vue-y as possible, or am I shoehorning React-y or vanilla JS into the pages?
Are there any convoluted/outdated workarounds that can be removed or updated?

Maybe not everything is needed from a technical standpoint. Perhaps it's more a piece of mind matter!
I don't mind doing the Vue stuff, that's in my comfort zone.
Part of why this is in my head, is that I believe we had to do some hacking to work with older Node and ESM modules?
Ideally I (and everyone else) can clone the repo and have Wakamai Fondue running in a minute without having to duckduckgo a vague error once!

My thoughts on this:

Build against a matrix in CI to learn early on of problematic combinations
Vue 3 might bring you in the very same spot in the future again. Check carefully whether it is worth the investment. (As in: what are your requirements that made you pick Vue in the first place? Are they still valid? Are other tech stacks like HTMX or Web Components options?)
Give dependabot some love to keep them updated
Define efficient (some of your dependencies moved to esbuild. Given you're using Vue, Vite might be worth a look as well)
What is your motivation to be Vue-y? (I want to understand the context better.)
Pretty sure. Shall I take a closer look? :)

@Ryuno-Ki I chose Vue back for Wakamai Fondue v1.0 just to experiment with it, but like it often goes, the prototype morphed into a version that actually got released. I like it, and my interest to work with other technologies is certainly there, but to focus the limited time folks like you and me have I don't mind continuing with Vue.
If a version 3 update doesn't bring anything interesting, then I'm fine with sticking with 2. I don't have problems with how Vue works, it does the job and gets out of the way so I can focus on the fonty stuff.
Hey André, I appreciate your help!


Add Italian translations

See #24

Hello, @izzy
I would like to add Italian translation if possible!


"snack" version of summarization

Aside from living in the snack cookbook, this ticket represents identifying some data not among the current set of domains we have dedicated cookbooks for and applying summarization to that dataset.  It could (should) be something fun.

so on hold until gen3/lang models come online?

WIP https://github.com/ibm-granite-community/granite-snack-cookbook/pull/13


Best practice for adding instances to "derived" Records

Perhaps this could be a good example for the docs. I assume it is just to use newstyping,
But let's say addFieldI is used to create a new record from a haskell data type record; is there a way to more or less automatically "inherit" the instances of the original Haskell data type record?
Currently my plan would be to create a newtype wrapper for the base Record type after using toRecord, then use DerivingVia; but I've not thought of a way to have this automatically extend to other record types that have been wrapped, but have extended the base record with addFieldI.

There's no automatic way to inherit instances from the original record, I'm afraid. DerivingVia isn't likely to help because a newtype-wrapped Record and the original record don't really share the same representation.
Right now Records don't have typeclass instances other than Show. Perhaps I should add some other basic instances like Eq, Ord,Monoid... they would be implemented in terms of the existing instances of the NP type from sop-core.

A related notion that might help in some cases is using GHC.Records' HasField, though I see you have some notes on this already.
On my end, what I'm fairly sure I need is a slight extension of the functionality of applyRecFun, where I instead have
applyRecFun :: forall r1 r2 t. (Traversable t, Semigroup (t r1), Semigroup (t r2) _) =>
Record (SummaryFun t) _ -> t r1 -> Maybe r2
So we get out a different record type (r2) than we got in (r1), but there are still some constraints that should be imposed on both r1 and r2 (e.g. that have instances of a particular class related to my application domain). This sounds tricky for me, and maybe it is.
Perhaps a better solution is to just have:
applyRecFun :: forall r e t. (Traversable t, Semigroup (t r), Semigroup (t e) _) =>
Record (SummaryFun t) _ -> t r -> Maybe (r, e)
Where e ("e" stands for "extra") is an extra record with all the extra fields created.
But this implies newtype SummaryFun t a = SummaryFun (t a -> a) is too simple; after all, where are the extra fields coming from? Maybe newtype SummaryFun t a = SummaryFun (t a -> (a,  e)) where each function possibly adds extra fields. But what if we want to do some statistics that works on multiple fields? In that case we could keep the original SummaryFun but provide an additional function t r -> e that operates on a list of entire records, to generate the extra record of type e.
Sorry for thinking out loud, I'll play around with this more in the afternoon.

I'm not sure I understand the "extra data" case. Could you give a more concrete example?
(Also—somewhat unrelatedly—the foldl package can be quite useful for structuring these kinds of "summary value" computations. The Fold type there has an Applicative instance that combines computations. Another nice thing is that the Folds themselves are agnostic about the source of the data.)

For extra data, I mean things like this: without the extra data, we could construct our summary record using values calculated by sum, mean (to asses aggregates), or head (to grab the first element of a list that would always be the same. But some of the original fields might calculate multiple values for the same original field: not just the sum, but maybe also the mean, standard deviation, etc.
I'll take a look at the foldl package. It seems that the Traversable and Semigroup requirements may be causing issues already with the below implementation:
newtype SummaryFun t a = SummaryFun (t a -> a)

applyRecFun :: forall r t. (Traversable t, Semigroup (t r), _) =>
  Record (SummaryFun t) _ -> t r -> Maybe r
applyRecFun func recs =
  let recsNP :: t (NP I _) -- n-ary products. I is an identity functor
      recsNP = toNP . toRecord <$> recs
      listrecsNP :: t (NP t _) -- turn every field into a singleton
      listrecsNP = liftA_NP (\(I x) -> pure x) <$> recsNP
      listrecNPmay :: Maybe (NP t _) -- an n-ary product where each field is a t
      listrecNPmay = listrecsNP & (headMay &&& tailMay) & sequenceT
        <&> (\(h, t) -> foldr mappend h t)
      funcNP :: NP (SummaryFun t) _ -- turn the function record into a n-ary prod
      funcNP = toNP func
      toRec_NP_I :: NP t _ -> NP I _ -- apply the functions to each field
      toRec_NP_I = liftA2_NP (\(SummaryFun f) vs -> I (f vs)) funcNP
   in do
    listrecNP <- listrecNPmay
    let resultRec_NP_I = toRec_NP_I listrecNP
    pure $ fromRecord . fromNP $ resultRec_NP_I -- go back to the nominal record

For instance, using it like this:
  let allRecs :: LNE.NonEmpty SxRecord = fromJust allRecsMay
  let summaryRec = applyRecFun defaultStatsSx allRecs

evokes a somewhat confusing error on the second let:
    • No instance for (Monoid (LNE.NonEmpty (Maybe Double)))
        arising from a use of ‘applyRecFun’
    • In the expression: applyRecFun defaultStatsSx allRecs
      In an equation for ‘summaryRec’:
          summaryRec = applyRecFun defaultStatsSx allRecs

I think this is due to SemiGroup working with Maybe to form a Monoid.


PLAT-34514: Support page up/down of TV remote control

Issue Resolved / Feature Added
Scroller can scroll using channel +/- keys of TV remote control. (Moonstone parity feature)
Resolution
Using keyCode, we added page up/down handler.
Additional Considerations
In moonstone case, this feature is only supported on vertical Scroller.
In this PR, This feature is supported on VirtualList/VirtualGridList as well as Scroller.
Links
PLAT-34514
Comments
Add initial code relates to page up/down of remote control.
Enact-DCO-1.0-Signed-off-by: Bongsub Kim<EMAIL_ADDRESS>

Superseded by #885


Switch to safe loading of YAML

Codecov Report

Merging #20 (7aba25a) into main (729329a) will decrease coverage by 1.10%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #20      +/-   ##
==========================================
- Coverage   79.42%   78.31%   -1.11%
==========================================
  Files           9        9
  Lines         345      332      -13
==========================================
- Hits          274      260      -14
- Misses         71       72       +1

Impacted Files
Coverage Δ

dask_ctl/spec.py
92.85% <100.00%> (ø)

dask_ctl/cli.py
64.90% <0.00%> (-2.39%)
:arrow_down:

dask_ctl/proxy.py
95.65% <0.00%> (-2.18%)
:arrow_down:

dask_ctl/tests/conftest.py
88.88% <0.00%> (-2.03%)
:arrow_down:

Continue to review full report at Codecov.

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


 When you have models with relationship like Author has many Book. You create an author and then some books with the created author, cleanUp() will try to destroy the author because it was created first but it will fail with foreign key constraint error since books are still referencing it (I'm using postgres btw and no cascade delete).
It would be nice the cleanUp invokes destroy in reverse order. Thanks!

This is not something that we would handle in factory-girl. Best way to handle this is in the underlying database. The adapter interface would need to be much more complex to handle this case.


[Use Case]Use Tooltipster to create a QR code sharing button!

Hi all, I just want to share a use case of tooltipster: QR Code in a Tooltip
I created this when trying to find an easy way to share URLs between devices.
If this is the wrong place to post this kind of things, please delete it, thanks!

Thank you, it will remain in the closed issues, in case anyone comes accross it and find it helpful :)


[bitstamp] avoid an exception in case of unknown withdrawal request type

the documentation for "withdrawal type" at bitstamp is a bit incomplete...
it sais: 0 (SEPA), 1 (bitcoin), 2(WIRE transfer), 15 (litecoin).
but we've seen types 6, 7, 14
you can only guess the type... so imho its better to add and deal with "unknown" type than an exception at runtime


Allow nested bullet points

Would it be possible to have nested bulleted lists? I often put sub-bullets in my work experience like:
MyJob
MyCompany

Project A

Deliverable 1
Deliverable 2

Project B

Challenge 1
Deliverable 3

I tried to do this with rendercv using:
    experience:
      - company: MyCompany
        position: MyJob
        start_date: 2024-09
        highlights:
          - Project 1
            - Deliverable 1
            - Deliverable 2
          - Project 2
            - Challenge 1
            - Deliverable 3

but it renders as:

I also tried using markdown:
    experience:
      - company: MyCompany
        position: MyJob
        start_date: 2024-09
        highlights:
          - "Project 1
            - Deliverable 1
            - Deliverable 2"
          - "Project 2
            - Challenge 1
            - Deliverable 3"

but got the same render.

Here's my workaround so far:
    experience:
      - company: MyCompany
        position: MyJob
        start_date: 2024-09
        highlights:
          - "Project 1
            \\begin{itemize}
              \\item Deliverable 1
              \\item Deliverable 2
            \\end{itemize}"
          - "Project 2
            \\begin{itemize}
              \\item Challenge 1
              \\item Deliverable 3
            \\end{itemize}"

which renders as:

Note that I needed extra backslashes to escape the backslash LaTeX commands (https://stackoverflow.com/questions/32991517/how-to-escape-colons-and-other-special-characters-in-a-yaml-string).

Thank you, that's a good idea. We should implement this.


Tailwind CSS #465

Updated the changes suggested.

The deployment is failing. Could you please attach a clip of the changes

@smaranjitghose I don't know why is it failing as I am able to deploy it.

Do one change at a time. Your PR replaces a lot of things which are not necessary


Usage of OAUTH2.0 client credentials in SimSwap API

Problem description
SIM Swap Api is considered to be involving user resource, so according to current design guidelines it should follow three-legged-token flow (OpenID Connect/CIBA).
However, there are scenarios, where there is no need to trigger information towards user (legal framework/regulations => legitimate interest), so two-legged flow is possible (OAUTH2.0 Client Credentials).
Expected behavior
Introduce OAUTH2.0 Client Credentials to APIs where use case allows to have no interaction with user.
Alternative solution
N/A
Additional context
N/A

Hi @DT-DawidWroblewski ,
I think you're mixing two concepts:

Handling of Personal Info (PI): as per agreement both in GSMA and here, if personal info is managed in an API, three legged access token has to be used.
Trigger information towards the user. It's possible to handle personal info and no need to trigger information towards the user in token retrieval and API access, like in legitimate interest. But this does not conflict with using 3-legged access token, which shall be used also in these cases. User will not be prompted to provide consent but still but user info still accessed in these cases so 3-legged token applies. Just as example, legitimate interest considers that user may opt-out, so token retrieval for a user that opted-out will not succeed.

Hi @diegogonmar!
as I understand current guidelines - SimSwap API should follow three-legged-token flow, as it involves user resource. Therefore, the only option, according to guidelines, is to use CIBA. OAUTH 2.0 client credentials grant is NOT an option for SimSwap API - correct?
Regards,
David

Hi,
Yes it would be CIBA, client-credentials is not an option. I'd say AuthCode is also an option, we have a parallel discussion in https://github.com/camaraproject/IdentityAndConsentManagement/pull/62 on whether we should indicate just one by API.

Why is AuthCode an option? The Technical Ruleset specifies If some usecase/s for an API point to off-net scenarios and where consumption and authentication devices could be different, the backend flow must be used.

@chrishowell  Yes you're right, I mixed two things, with technical ruleset it's CIBA. There could be another discussion to check whether technical ruleset is too strict, but should be different issue in any case so let's not discuss it here.
@DT-DawidWroblewski I think it's clear and issue can be closed indicating that client credentials do not apply as per technical ruleset, right?

Hi @diegogonmar !
just before closing this issue, one more clarification:
when using CIBA, we agree that the resource owner (MNO subscriber, MSISDN owner), has to be triggered (e.g. via SMS channel) to perform authentication in back-channel and authorize the app owner (developer) to perform certain API request, e.g. get sim swap data. This CIBA flow works and I assume it is a way forward for APIs where user resource is involved.

What you mention is not agreed, sorry. You can check agreed flow here https://github.com/camaraproject/IdentityAndConsentManagement/blob/main/documentation/CAMARA-API-access-and-user-consent.md#ciba-flow-backend-flow

Hi @diegogonmar !
thanks for this clarification!
I think that for a scenario, where:

consent is not required (point 4 in the flow)
authentication is not required (point 5 in the flow)

CIBA is not the optimal way to serve APIs and OAUTH2.0 client credentials would be much better... and faster!
Regards,
David

Hi @DT-DawidWroblewski, sorry to say but again that's a different discussion.
CIBA (3-legged in general) was discussed and chosen after long-lasting discussions, and therefore 3-legged is chosen when personal info is involved, no matter explicit consent required or not (also in this issue I already mentioned about opt-out scenarios https://github.com/camaraproject/IdentityAndConsentManagement/issues/63#issuecomment-1719003446).
We should not discuss about CIBA details  in this issue, I'm not willing to do so.
For the point raised in this issue I think it was clarified few messages above.

Hi @diegogonmar !
I'm following your suggestions, but I want to have clarity on the actions we're taking to enable SimSwap API (and potentially other APIs consuming end-user resources).
OAUTH 2.0 client credentials flow has been proven to work for Mobile Connect Account Takeover Protection with SimSwap & KYC Match services. Moreover, customers value such an approach, because:

It is simpler (2 requests towards MNO, seamless)
it is faster (less processing time, no authentication nor consent flow required)
fits perfectly into legal frameworks - fraud prevention as legitimate interest

Introducing CIBA to SimSwap looks like a "downgrade" of existing solutions that customers use. On the other hand, CIBA flow fits perfectly for the mass market, where access control of developers willing to use MNO APIs is more challenging so it for Camara it should be fine.

@DT-DawidWroblewski It would be very helpful if this issue is transferred to simswap subproject.
There are other subprojects doing it the samee way. For eg. https://github.com/camaraproject/DeviceIdentifier/issues/30
QoD subproject is also planning an issue in this direction.
@hdamker : Could you kindly transfer this issue to simswap subproject?


feat: update python-sphinx-code-include to 1.1.1

include source code from any Sphinx project using only its import path
Log: update repo

/approve


JSS is causing Flow errors

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior
No errors when using flow.
Current Behavior
I get a couple errors from the JSS library.

Context
This was a topic in JSS a couple days ago. Apparently it's fixed.
https://github.com/cssinjs/jss/issues/411
If I install the dependencies with yarn, it will install jss version 9.8.0.

Your Environment

Tech
Version

Material-UI
1.0.0-beta.38

React
16.2.0

browser
not important

JSS
9.8.0

How is this issue related to Material-UI?

Apparently that bug was fixed in<EMAIL_ADDRESS>Do you have to update the MUI npm package to update the dependency? Because it should be OK when I look into package.json.
https://github.com/mui-org/material-ui/blob/fd5d20332c5eac45ec2713113ae7f562ae1af95a/package.json#L79

Just for the record:  I could update the resolved dependencies of material-ui (my local installation) by using the following command:
yarn upgrade material-ui


Handle extra args when dropping Enum Type

When an Enum is dropped in a rollback the original create is reversed, this results in the _drop_enum_type method being passed the array of types which it wasn't expecting.
This PR adds a test case to handle this and swallows the additional arguments (if present)

What are the extra arguments?

It's just the array of types
create_enum_type :foo_type, %w[bar baz qix]

# up will essentially be
_create_enum_type(:foo_type, %w[bar baz qix])
# and down
_drop_enum_type(:foo_type, %w[bar baz qix])
# but _drop_enum_type takes only one argument
``

We should drop them, so yes it should be `_` not `*`! I'll fix this up

It's just the array of types

Ah, I'm with you now. Awesome, thanks man.

Ah, since it's an array and passed in using the splat-args the underscore variable name isn't appropriate, unless I'm mistaken I think * is the ticket.

sweet! fantastic library btw, many thanks!


Fix/adjust tests

What type of PR is this?
/kind failing-test
What this PR does / why we need it:
Fix several tests that where failing
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

Additional documentation e.g., usage docs, etc.:

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Giving warning error while using astro-analytics

Hi,
I tried using astro analytics as below,
import { GoogleAnalytics } from 'astro-analytics'
But it displaying error,
Cannot find module 'astro-analytics' or its corresponding type declarations.
Please check and update the same.
Thanks

Did you install the astro-analytics module?
📚 https://github.com/Destiner/astro-analytics#installation

@vp2890 do you still need help with this? I had no issues setting it up myself. If not, then I think we can close this.


Update index.d.ts

No ability to use asynchronous functions asycn () => {}

Seems the repository contains bad tests:
> node test/browser.js
To view eventemitter3 tests in a browser, navigate to: http://tempjs.org/files/e23c868e834a53c38a300ad84baef68b187f4c2e/index.html
/home/travis/build/primus/eventemitter3/node_modules/promise/node_modules/asap/asap.js:45
                throw e;
                ^
Error: You must provide `username` and `accessKey` as options or set "SAUCE_USERNAME" and "SAUCE_ACCESS_KEY" in your environment variables.
    at runSauceLabs (/home/travis/build/primus/eventemitter3/node_modules/sauce-test/lib/run-sauce-labs.js:46:29)
    at runTestsAtLocation (/home/travis/build/primus/eventemitter3/node_modules/sauce-test/index.js:68:12)
    at publishCode.then.location (/home/travis/build/primus/eventemitter3/node_modules/sauce-test/index.js:140:12)
    at /home/travis/build/primus/eventemitter3/node_modules/promise/lib/core.js:33:15
    at flush (/home/travis/build/primus/eventemitter3/node_modules/promise/node_modules/asap/asap.js:27:13)
    at _combinedTickCallback (internal/process/next_tick.js:132:7)
    at process._tickCallback (internal/process/next_tick.js:181:9)

Someone can check SAUCE settings?

@retyui it is expected, secret variables are not available in PRs opened from fork. Don't worry about that.

Thank you.

It was already possible to pass async functions, because () => Promise<void> is assignable to () => void, but it's not correct to do it because returned value of listener function isn't used in code: https://github.com/primus/eventemitter3/blob/52941321ad3f42c976eefcd706e891d06a0376bf/index.js#L180
Also it's a breaking change, because function returning void can return anything, but when it's a union it can't.

@ark120202 should this be reverted? I don't use TypeScript.

@lpinca Yes, I think it would be better to revert it

ok, will do it now.


Safari TP 115: flexbox-gap

https://twitter.com/foolip/status/1319559899358089216 => https://github.com/web-platform-tests/wpt/pull/26244#issuecomment-715166658
==>
https://tests.caniuse.com/?feat=flexbox-gap:

🎉

Thanks!

Cool! I didn't know caniuse tracks STP, I wish BCD did as well...

Yeah! They do this kind of mapping from STP ranges to released versions, but didn't seem to work well for upcoming features in STP, last I checked…


Uncaught JS-YAML: missed comma between flow collection entries at line 29, column 3:      "plugins": [      ^

[Enter steps to reproduce below:]

open terminal on my project
type npm i --save-dev eslint
open my project in atom

Atom Version: 0.198.0
System: Mac OS X 10.10.3
Thrown From: Atom Core
Stack Trace
Uncaught JS-YAML: missed comma between flow collection entries at line 29, column 3:
"plugins": [
^
At /Users/MY_FOLDER/babel/node_modules/eslint/lib/config.js:60

undefined

Config
{
  "core": {},
  "editor": {
    "invisibles": {},
    "fontFamily": "Inconsolata",
    "fontSize": 14,
    "showIndentGuide": true
  }
}

Installed Packages
# User
atom-jade, v0.1.0
linter, v0.12.1
linter-coffeelint, v0.2.3
linter-eslint, v0.5.3
linter-jshint, v0.1.2
linter-less, v0.4.0

# Dev
No dev packages

I think this is the same issue as https://github.com/atom/atom/issues/6739 (a syntax error in your .eslintrc file that linter-eslint isn't catching) - please feel free to reopen if I'm not getting that right, and feel free to subscribe to https://github.com/AtomLinter/linter-eslint/issues/65 for updates.


Reference to IdSvr version incorrect

Hi @naeemsarfraz, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by .NET Foundation and real humans are currently evaluating your PR.
TTYL, DNFBOT;

thanks!


Permission error occurs in Windows OS

Permission error occurs in Windows OS as follows.
> pdfcrop.exe .\figures.pdf
PDFCROP 1.40, 2020/06/06 - Copyright (c) 2002-2020 by Heiko Oberdiek, Oberdiek Package Support Group.
!!! Error: Link from `.\figures.pdf' to `tmp-pdfcrop-25824-img.pdf' failed (Operation not permitted/クライアントは要求された特権を保有していません。)!
C:\texlive\2022\bin\win32\runscript.tlu:915: command failed with exit code 2:
perl.exe c:\texlive\2022\texmf-dist\scripts\pdfcrop\pdfcrop.pl .\figures.pdf

I am using

Windows 10 Pro 22H2
PowerShell 5.1.19041.2364
TeX Live 2022
pdfcrop 1.40.

I think the symlink command in l.711 is the cause of the error. Because Windows OS required administrator permission to create symbolic links.
It seems that pdfcrop.pl has the feature to switch symlink command to copy command using $symlink_exists. However, I guess the feature does not work well. Therefore, I suggest we should switch to copy command in Windows OS regardless of $symlink_exists.

Why is $symlink_exists true on your system?

I have no idea. Let me know which variable I should confirm, if you possible.

Are you using an external perl?

I do not use external perl and just used pdfcrop command. (I did not install perl to my PC)

Or is it specific to Win Pro?

I do not have Windows Home PC. I'll ask my friend who has it in a few days.

Certainly, this error does not occur in my friend's PC which is Windows 11 Home 21H2. There is a high probability that the error are specific to Windows Pro.

The issue still exists for build 22H2. A dirty workaround is to allow any users to create symlinks via the group policy editor.
https://stackoverflow.com/questions/58038683/allow-mklink-for-a-non-admin-user.

@endereye  probably changing
    my $symlink_exists = eval {
        local $SIG{'__DIE__'};
        symlink("", "");
        1;
    };

to
  my $symlink_exists = 0;
  unless ($win) {
   $symlink_exists =eval {
        local $SIG{'__DIE__'};
        symlink("", "");
        1;
    };
}

fixes it (untested) but it would  be good to know how symlink_exists gets set to true in systems where the user doesn't have permission to generate a symlink as a more logically correct test would be to fix the $symlink_exists =eval { rather than just avoiding windows.


NvInfer.h: No such file or directory

Try to run:
g++ /home/ubuntu/tensorrt-cpp-api/src/main.cpp
and get error:
In file included from /home/ubuntu/tensorrt-cpp-api/src/main.cpp:1: /home/ubuntu/tensorrt-cpp-api/src/engine.h:7:10: fatal error: NvInfer.h: No such file or directory     7 | #include "NvInfer.h"       |          ^~~~~~~~~~~ compilation terminated.
NvInfer.h located in /home/ubuntu/TensorRT-<IP_ADDRESS>/include

run:
g++ /home/ubuntu/tensorrt-cpp-api/src/main.cpp -I/home/ubuntu/TensorRT-<IP_ADDRESS>/include
get new error:
/home/ubuntu/TensorRT-<IP_ADDRESS>/include/NvInferRuntimeBase.h:19:10: fatal error: cuda_runtime_api.h: No such file or directory    19 | #include <cuda_runtime_api.h>       |          ^~~~~~~~~~~~~~~~~~~~ compilation terminated.
What am I doing wrong?

Working for me:
sudo g++ /home/ubuntu/tensorrt-cpp-api/src/main.cpp pkg-config opencv --cflags --libs -I/home/ubuntu/TensorRT-<IP_ADDRESS>/include -I/usr/local/cuda-11.8/include

@pva22 use the provided CMakeLists.txt file and follow the build instructions in the readme file

@pva22 use the provided CMakeLists.txt file and follow the build instructions in the readme file

I have done all the steps but don't know how to run main.cpp.
Run: sudo g++ /home/ubuntu/tensorrt-cpp-api/src/main.cpp pkg-config opencv --cflags --libs -I/home/ubuntu/TensorRT-<IP_ADDRESS>/include -I/usr/local/cuda-11.8/include
And get:
In file included from /home/ubuntu/TensorRT-<IP_ADDRESS>/include/NvInferRuntimeCommon.h:27,                  from /home/ubuntu/TensorRT-<IP_ADDRESS>/include/NvInferLegacyDims.h:16,                  from /home/ubuntu/TensorRT-<IP_ADDRESS>/include/NvInfer.h:16,                  from /home/ubuntu/tensorrt-cpp-api/src/engine.h:7,                  from /home/ubuntu/tensorrt-cpp-api/src/main.cpp:1: /home/ubuntu/TensorRT-<IP_ADDRESS>/include/NvInferRuntimePlugin.h:97:22: note: declared here    97 | class TRT_DEPRECATED IPluginV2       |                      ^~~~~~~~~ /usr/bin/ld: /tmp/ccVp3p1Q.o: in functionmain':
main.cpp:(.text+0xb7): undefined reference to Engine::Engine(Options const&)' /usr/bin/ld: main.cpp:(.text+0x124): undefined reference to Engine::build(std::__cxx11::basic_string<char, std::char_traits, std::allocator >)'
/usr/bin/ld: main.cpp:(.text+0x18b): undefined reference to Engine::loadNetwork()' /usr/bin/ld: main.cpp:(.text+0x63c): undefined reference to Engine::runInference(std::vector<std::vector<cv::cuda::GpuMat, std::allocatorcv::cuda::GpuMat >, std::allocator<std::vector<cv::cuda::GpuMat, std::allocatorcv::cuda::GpuMat > > > const&, std::vector<std::vector<std::vector<float, std::allocator >, std::allocator<std::vector<float, std::allocator > > >, std::allocator<std::vector<std::vector<float, std::allocator >, std::allocator<std::vector<float, std::allocator > > > > >&, std::array<float, 3ul> const&, std::array<float, 3ul> const&, bool)'
/usr/bin/ld: main.cpp:(.text+0x6ff): undefined reference to Engine::runInference(std::vector<std::vector<cv::cuda::GpuMat, std::allocator<cv::cuda::GpuMat> >, std::allocator<std::vector<cv::cuda::GpuMat, std::allocator<cv::cuda::GpuMat> > > > const&, std::vector<std::vector<std::vector<float, std::allocator<float> >, std::allocator<std::vector<float, std::allocator<float> > > >, std::allocator<std::vector<std::vector<float, std::allocator<float> >, std::allocator<std::vector<float, std::allocator<float> > > > > >&, std::array<float, 3ul> const&, std::array<float, 3ul> const&, bool)' /usr/bin/ld: main.cpp:(.text+0xaee): undefined reference to Engine::~Engine()'
/usr/bin/ld: main.cpp:(.text+0xcf1): undefined reference to `Engine::~Engine()'
collect2: error: ld returned 1 exit status
`

@pva22 I would first brush up on your understanding of compiling vs running executable (it seems the knowledge is lacking, the command you are trying to run is for manually compiling an executable).
After running these commands:

You will see it generates the following artifacts:

If you look at the CMakeLists.txt file here you will see that we name our executable driver.
To run, run ./driver.

@pva22 I would first brush up on your understanding of compiling vs running executable (it seems the knowledge is lacking, the command you are trying to run is for manually compiling an executable).
After running these commands:
You will see it generates the following artifacts:
If you look at the CMakeLists.txt file here you will see that we name our executable driver.
To run, run ./driver.

@cyrusbehr thanks for the explanation
run ./driver and get:
CUDA Module Loading Mode is eager
Searching for engine file with name: arcfaceresnet100-8.engine.NVIDIAA2.fp<IP_ADDRESS>00000000
Engine not found, generating. This could take a while...
CUDA lazy loading is not enabled. Enabling it can significantly reduce device memory usage and speed up TensorRT initialization. See "Lazy Loading" section of CUDA documentation https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#lazy-loading
terminate called after throwing an instance of 'std::runtime_error'
  what():  Unable to build TRT engine.
Aborted (core dumped)

I am using TensorRT version-<IP_ADDRESS> on Tesla A2, cuda 11.8. Can you please tell me which version of TensorRT you are using?

@cyrusbehr thanks for the explanation
run ./driver and get:
CUDA Module Loading Mode is eager
Searching for engine file with name: arcfaceresnet100-8.engine.NVIDIAA2.fp<IP_ADDRESS>00000000
Engine not found, generating. This could take a while...
CUDA lazy loading is not enabled. Enabling it can significantly reduce device memory usage and speed up TensorRT initialization. See "Lazy Loading" section of CUDA documentation https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html#lazy-loading
terminate called after throwing an instance of 'std::runtime_error'
  what():  Unable to build TRT engine.
Aborted (core dumped)

I am using TensorRT version-<IP_ADDRESS> on Tesla A2, cuda 11.8. Can you please tell me which version of TensorRT you are using?

Your TensorRT and CUDA versions are correct. Please change verbosity level, recompile, and re-run, then paste full output: https://github.com/cyrusbehr/tensorrt-cpp-api#how-to-debug

Your TensorRT and CUDA versions are correct. Please change verbosity level, recompile, and re-run, then paste full output: https://github.com/cyrusbehr/tensorrt-cpp-api#how-to-debug

@cyrusbehr  Hi, my CUDA lazy loading is not enabled。

I am using TensorRT version-<IP_ADDRESS> on RTX3090, cuda 12.0， How do I solve this problem

This is not a problem, only a warning for potentially speeding things up. That being said, just click the link there to the right of the warning and it will tell you how to do so. You just need to export and environment variable:


Add common tests back in

They can't just be added the way they were before. They probably need to be copied over.

We could just put the original behaviour behind a flag and run the tests with that.


[Suggestion] Increment Visit Rather than creating a new entry

Rather than flooding the database with new visit entries why not create a new column that gets incremented, every time someone with the same IP visits the site, the total pageviews would just count sum of all the increments all ips have for that model and the unique views would count just for that row for each visited IP. This way you wont end up with a completely flooded database filled with records.

Hi @Teranode! Thanks for the suggestion!
I have thought a lot about what the best solution for this is.  Let's say I want to know how many people have visited this post between January 1 2017 and March 1 2017. I could simply count this by using $model->getVisitsCountBetween($sinceDate, $uptoDate));. If I just incremented a collumn on the model's table, I could't do this :/.
My current solution is caching these result for a while. YouTube does this too (I think). When you refresh the page, you still see the same number of views. So that means they are not counting it on each request.
I am currently working on this in the v2.0.x branch. Another improvement was adding the possibility to queue the process of storing the visits.
What I could do is adding another option to the config file where you can tell the package if it needs to save each visit seperately or if it should increment a collumn on the model, but once you have choosed for the second option, there is no coming back.

What I could do is adding another option to the config file where you can tell the package if it needs to save each visit seperately or if it should increment a collumn on the model...

Do you think this would be a must for people? @Teranode

Depends on what kind of application they're running, but in the long-run its a good option for large applications. I wish there was some easier way of working this without the large overhead of rows.

If people only want to have a simple page view counter, they don't need this package.
They can simply add a collumn to their models and increment it on each pageview.
Thanks for the suggestion! I am closing this issue for now, because of the above reason.


copy number signature extraction - try to decompose to published CNV signature

Congratulations on the new CNV signature paper! https://www.nature.com/articles/s41586-022-04738-6
I would like to extract CNV signatures (decompose to the published CNV signatures to get insights of the tumors) - for which I guess the right tool would be either using https://github.com/AlexandrovLab/SigProfilerSingleSample or SigProfilerExtractor?
Here are my more specific questions:

For SigProfileSingleSample, I couldn't find the code to run it with CNV signatures - is there a way to run SigProfileSS using given signatures such as copy number signatures?

For SigProfilerExtractor, I know for SNV, the extract signatures will be further decomposed into known/cosmic signatures. Will CNV signatures will be also decomposed? What are the main differences between these 'decomposed' activities vs. results from SigProfileSingleSample?

Thanks a lot!

Dear @ipstone,
Thanks so much for your interest and your kind words! Regarding your questions:

If you want to perform mutational signature refitting analysis, we strongly recommend using our new SigProfilerAssignment tool, since we are in the process of retiring SigProfilerSingleSample. Just make sure to use the latest version of the tool, v0.0.8, which includes support for the current set of reference CNV signatures.

In case you want to perform mutational signature de novo extraction and decomposition to COSMIC signatures, SigProfilerExtractor also supports CNV reference signatures.

If you want to learn more about the differences between the two types of analysis (de novo extraction vs. refitting), I would recommend checking the following references: https://doi.org/10.1016/j.mam.2019.05.002 or https://doi.org/10.1093/bib/bbx082.
I hope this helps, and please reopen the ticket if you have further questions.


WebSocketClient: Replace 'error' with 'errorOccured'

error is deprecated since 5.15 and replaced by errorOccured
https://doc.qt.io/qt-6/qabstractsocket.html#errorOccurred
warning: ‘void QWebSocket::error(QAbstractSocket::SocketError)’ is deprecated: Use errorOccurred instead [-Wdeprecated-declarations]
   15 |   connect(webSocket, QOverload<QAbstractSocket::SocketError>::of(&QWebSocket::error), this, &WebsocketClient::onError);
      |                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /home/dsc/Qt6/6.6.1/gcc_64/include/QtWebSockets/QWebSocket:1,
                 from /home/dsc/bla/lib/wsclient.h:2,
                 from /home/dsc/bla/lib/wsclient.cpp:3:
/home/dsc/Qt6/6.6.1/gcc_64/include/QtWebSockets/qwebsocket.h:132:10: note: declared here
  132 |     void error(QAbstractSocket::SocketError error);

Can you remove the overload and make it just &QWebSocket::errorOccurred ?


Inconsistent use of HTTP Status types after TUMLiveContext check

Is your feature request related to a problem? Please describe.
If the TUMLiveContext doesn't exist, sometimes http.StatusInternalServerError is returned and on other occasions http.StatusNotFound.
One Example: api/chat.go -> getMessages(...) and tools/middlewares.go -> InitStream(...) InitStream being the middleware which is executed before getMessages.
Describe the solution you'd like
Consistent use of http.StatusNotFound. Sometimes the check in the handler itself (as seen above) is not necessary. In that cases the if !exists { ... } might also be removed.

TUMLiveContext should always exist (because it's added in a middleware that is attached to every request), therefore not having the context is an inconsistent application state and should be indicated with a 500 error.
Since the context is always present (unless we're in requests for static files or we did something very wrong) we might want to use c.MustGet https://pkg.go.dev/github.com/gin-gonic/gin#Context.MustGet and avoid checking if it was found.


variable set to zero

https://github.com/gnosis/dutch-exchange/blob/bde981624709412732ed3761acc96229c2f1e636/contracts/DutchExchange.sol#L548
this variable can not be set to zero, if it used 3 lines later.

it should be set to 0 after the assigning is done. I did it before so that resetting is before assigning for security reasons, but it breaks :/


docs: add changelog for callbacks and 08-wasm

Description

I will also backport this to the release lines...
closes: #XXXX
Commit Message / Changelog Entry
type: commit message

see the guidelines for commit messages. (view raw markdown for examples)

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[x] Targeted PR against the correct branch (see CONTRIBUTING.md).
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Code follows the module structure standards and Go style guide.
[ ] Wrote unit and integration tests.
[ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/).
[ ] Added relevant godoc comments.
[ ] Provide a commit message to be used for the changelog entry in the PR description for review.
[ ] Re-reviewed Files changed in the Github PR explorer.
[ ] Review Codecov Report in the comment section below once CI passes.

Are all v0.x versions considered "Unreleased"?

I was not considering them Unreleased, do you think we should?


Compose project name not checked during scaling

When there are services with the same name in different compose projects, the script doesn't filter out the ones in the same project.
One use-case can be running a project with multiple branches with different compose project names. Having the same service name currently raises an error during scaling.
For example. Error: No such object: 794aa7906db2.

Did a very rough bugfix for this issue here https://github.com/Wowu/docker-rollout/pull/4.