hyprland crashes in use

Hyprland Version
 System/Version info
[LOG] Instance Signature: e93fbd7c4f991cb8ef03e433ccc4d43587923e15_1713229975
[LOG] Hyprland PID: 850
[LOG] ===== SYSTEM INFO: =====
[LOG] System name: Linux
[LOG] Node name: Arch
[LOG] Release: 6.8.5-zen1-1-zen
[LOG] Version: #1 ZEN SMP PREEMPT_DYNAMIC Thu, 11 Apr 2024 01:47:18 +0000

[LOG] GPU information:
64:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Phoenix1 [1002:15bf] (rev c7) (prog-if 00 [VGA controller])

[LOG] os-release:
NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo

[LOG] ========================

[INFO] If you are crashing, or encounter any bugs, please consult https://wiki.hyprland.org/Crashes-and-Bugs/

[LOG]
Current splash: Here comes the sun, bringing you love and shining on everyone

[LOG] Creating the EventLoopManager!
[LOG] Creating the HookSystem!
[LOG] Creating the KeybindManager!
[LOG] [hookSystem] New hook event registered: configReloaded
[LOG] Creating the AnimationManager!
[LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 40.46µs. Estimated average calc time: 0.12µs.
[LOG] Creating the ConfigManager!
[LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 13.40µs. Estimated average calc time: 0.07µs.
[LOG] Using config: /home/hdm/.config/hypr/hyprland.conf
[LOG] !!!!HEY YOU, YES YOU!!!!: further logs to stdout / logfile are disabled by default. BEFORE SENDING THIS LOG, ENABLE THEM. Use debug:disable_logs = false to do so: https://wiki.hyprland.org/Configuring/Variables/#debug

Bug or Regression?
Bug
Description
After upgrading to hyprland v0.39.0, hyprland crashes during use. Hyprland v0.38.1 does not crash.
How to reproduce
Upgrade hyprland to v0.39.0.
Crash reports, logs, images, videos
--------------------------------------------
   Hyprland Crash Report
--------------------------------------------
I don't feel so good...

Hyprland received signal 6 (Aborted)

Version: e93fbd7c4f991cb8ef03e433ccc4d43587923e15
Tag: v0.39.0

System info:
	System name: Linux
	Node name: Arch
	Release: 6.8.5-zen1-1-zen
	Version: #1 ZEN SMP PREEMPT_DYNAMIC Thu, 11 Apr 2024 01:47:18 +0000

GPU:
	64:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Phoenix1 [1002:15bf] (rev c7) (prog-if 00 [VGA controller])

os-release:
	NAME="Arch Linux"
	PRETTY_NAME="Arch Linux"
	ID=arch
	BUILD_ID=rolling
	ANSI_COLOR="38;2;23;147;209"
	HOME_URL="https://archlinux.org/"
	DOCUMENTATION_URL="https://wiki.archlinux.org/"
	SUPPORT_URL="https://bbs.archlinux.org/"
	BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
	PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
	LOGO=archlinux-logo

Backtrace:
	#0 | Hyprland(_Z12getBacktracev+0x62) [0x64acaf4a4362]
		getBacktrace()
		??:?
	#1 | Hyprland(_ZN13CrashReporter18createAndSaveCrashEi+0x7c2) [0x64acaf44f302]
		CrashReporter::createAndSaveCrash(int)
		??:?
	#2 | Hyprland(_Z25handleUnrecoverableSignali+0x4c) [0x64acaf3ce07c]
		handleUnrecoverableSignal(int)
		??:?
	#3 | /usr/lib/libc.so.6(+0x3c770) [0x7ddd5216e770]
		??
		??:0
	#4 | /usr/lib/libc.so.6(+0x8d32c) [0x7ddd521bf32c]
		main
		??:?
	#5 | /usr/lib/libc.so.6(gsignal+0x18) [0x7ddd5216e6c8]
		??
		??:0
	#6 | Hyprland(_ZN11CCompositor12windowExistsEP7CWindow+0x209) [0x64acaf3d6719]
		CCompositor::windowExists(CWindow*)
		??:?
	#7 | Hyprland(_ZN11CCompositor17windowValidMappedEP7CWindow+0x13) [0x64acaf3d6853]
		CCompositor::windowValidMapped(CWindow*)
		??:?
	#8 | Hyprland(_ZN11IHyprLayout11onMouseMoveERK8Vector2D+0x4f) [0x64acaf4b9eaf]
		IHyprLayout::onMouseMove(Vector2D const&)
		??:?
	#9 | Hyprland(_ZN13CInputManager16mouseMoveUnifiedEjb+0x4da) [0x64acaf4ec12a]
		CInputManager::mouseMoveUnified(unsigned int, bool)
		??:?
	#10 | Hyprland(_ZN13CInputManager12onMouseMovedEP24wlr_pointer_motion_event+0x173) [0x64acaf4ed923]
		CInputManager::onMouseMoved(wlr_pointer_motion_event*)
		??:?
	#11 | /usr/lib/libwayland-server.so.0(wl_signal_emit_mutable+0x7e) [0x7ddd52b4701e]
		??
		??:0
	#12 | /usr/lib/libwayland-server.so.0(wl_signal_emit_mutable+0x7e) [0x7ddd52b4701e]
		??
		??:0
	#13 | Hyprland(handle_pointer_motion+0x95) [0x64acaf567885]
		handle_pointer_motion
		??:?
	#14 | Hyprland(+0x24870c) [0x64acaf56e70c]
		handle_libinput_event
		??:?
	#15 | /usr/lib/libwayland-server.so.0(wl_event_loop_dispatch+0xa2) [0x7ddd52b48ae2]
		??
		??:0
	#16 | /usr/lib/libwayland-server.so.0(wl_display_run+0x27) [0x7ddd52b492d7]
		??
		??:0
	#17 | Hyprland(_ZN11CCompositor15startCompositorEv+0xf13) [0x64acaf3cff83]
		CCompositor::startCompositor()
		??:?
	#18 | Hyprland(main+0x752) [0x64acaf3b2832]
		main
		??:?
	#19 | /usr/lib/libc.so.6(+0x25cd0) [0x7ddd52157cd0]
		??
		??:0
	#20 | /usr/lib/libc.so.6(__libc_start_main+0x8a) [0x7ddd52157d8a]
		??
		??:0
	#21 | Hyprland(_start+0x25) [0x64acaf3cb5d5]
		_start
		??:?

Log tail:
[LOG] Window rule pin -> class:^(feh)$ matched [Window 64acb24ac3d0: title: "feh [1 of 1] - /tmp/feh_stdin_iDFlMf"]
[LOG] Searching for matching rules for jetbrains-webstorm (title: win14)
[ERR] Regex error at class:^(^jetbrains-(?!toolbox) (Mismatched '(' and ')' in regular expression)
[ERR] Regex error at class:^(^jetbrains-(?!toolbox) (Mismatched '(' and ')' in regular expression)
[LOG] Set keyboard focus to surface 64acb2536b90, with [Window 64acb2444aa0: title: "win14"]
[LOG] Searching for matching rules for jetbrains-webstorm (title: win14)
[ERR] Regex error at class:^(^jetbrains-(?!toolbox) (Mismatched '(' and ')' in regular expression)
[LOG] [Window 64acb2444aa0: title: "win14", class: jetbrains-webstorm] unmapped
[LOG] Unregistered late callbacks XWL
[LOG] Callback 64acb2444d38 -> 64acb2444d30, XWayland Window Late removed.
[LOG] Callback 64acb2444f40 -> 64acb2444f38, XWayland Window Late removed.
[LOG] Callback 64acb2444c68 -> 64acb2444c60, XWayland Window Late removed.
[LOG] Callback 64acb2444cd0 -> 64acb2444cc8, XWayland Window Late removed.
[LOG] Callback 64acb2444e70 -> 64acb2444e68, Xwayland Window Late removed.
[LOG] Callback 64acb2444e08 -> 64acb2444e00, Xwayland Window Late removed.
[LOG] Framebuffer created, status 36053
[LOG] On closed window, new focused candidate is [Window 64acb24ac3d0: title: "feh [1 of 1] - /tmp/feh_stdin_iDFlMf"]
[LOG] Set keyboard focus to surface 64acb24d5eb0, with [Window 64acb24ac3d0: title: "feh [1 of 1] - /tmp/feh_stdin_iDFlMf"]
[LOG] Searching for matching rules for feh (title: feh [1 of 1] - /tmp/feh_stdin_iDFlMf)
[ERR] Regex error at class:^(^jetbrains-(?!toolbox) (Mismatched '(' and ')' in regular expression)
[LOG] Window rule float -> class:^(feh)$ matched [Window 64acb24ac3d0: title: "feh [1 of 1] - /tmp/feh_stdin_iDFlMf"]
[LOG] Window rule pin -> class:^(feh)$ matched [Window 64acb24ac3d0: title: "feh [1 of 1] - /tmp/feh_stdin_iDFlMf"]
[LOG] Callback 64acb2444b98 -> 64acb2444b90, CWindow removed.
[ERR] Regex error at class:^(^jetbrains-(?!toolbox) (Mismatched '(' and ')' in regular expression)
[LOG] Searching for matching rules for feh (title: feh [1 of 1] - /tmp/feh_stdin_iDFlMf)
[ERR] Regex error at class:^(^jetbrains-(?!toolbox) (Mismatched '(' and ')' in regular expression)
[LOG] Window rule float -> class:^(feh)$ matched [Window 64acb24ac3d0: title: "feh [1 of 1] - /tmp/feh_stdin_iDFlMf"]
[LOG] Window rule pin -> class:^(feh)$ matched [Window 64acb24ac3d0: title: "feh [1 of 1] - /tmp/feh_stdin_iDFlMf"]
[LOG] Callback 64acb2445330 -> 64acb2445328, CWLSurface removed.
[LOG] Callback 64acb2445398 -> 64acb2445390, CWLSurface removed.
[LOG] CWLSurface 64acb24452c0 called destroy()
[LOG] Callback 64acb2444b30 -> 64acb2444b28, XWayland Window removed.
[LOG] Callback 64acb2444ac8 -> 64acb2444ac0, XWayland Window removed.
[LOG] Destroyed 64acb254de60 tearing hint
[LOG] Callback 64acb24ccf58 -> 64acb24ccf50, TearingController removed.
[LOG] Callback 64acb24ccef0 -> 64acb24ccee8, TearingController removed.
[LOG] [Window 64acb2444aa0: title: "win14", class: ] destroyed, queueing.
[LOG] XWayland class raw: jetbrains-webstorm
[LOG] Callback 64acb2444c00 -> 64acb2444bf8, XWayland Window removed.
[LOG] Callback 64acb2444fa8 -> 64acb2444fa0, XWayland Window removed.
[LOG] Callback 64acb2445148 -> 64acb2445140, XWayland Window removed.
[LOG] Callback 64acb24451b0 -> 64acb24451a8, XWayland Window removed.
[LOG] Callback 64acb2445218 -> 64acb2445210, XWayland Window removed.
[LOG] Cleanup: destroyed a window
[CRITICAL]
==========================================================================================
ASSERTION FAILED!

windowExists: attempted UAF

at: line 712 in Compositor.cpp

should be fixed.

should be fixed.

Thanks.


Unexpected Behaviour

I've noticed that when the Project Options > Sessions > Use cookies from Burp's cookie jar > Extender box is checked, AutoRepeater will not perform any replacements. This may just be how Burp works, but it took me a bit of digging to find the reason and for some of the operations (remove all cookies) was quite unexpected.

hey @leesoh,
I'll look into this.
Regards,
Justin


FusedFunctionObject half-initialized during GC tracking

There are new CPython behavior about GC tracking of half initialized objects  https://bugs.python.org/issue38392.
FusedFunctionObject is about to be in half-initialized state then base CyFunctionObject "constructor" calls GC_Track.
So...
../Modules/gcmodule.c:2019: visit_validate: Assertion failed: PyObject_GC_Track() object is not valid
Enable tracemalloc to get the memory block allocation traceback

object address  : 0x7fcc7c1109b0
object refcount : 1
object type     : 0x7fcc6a4c1660
object type name: fused_cython_function
object repr     : <cyfunction get_nonzero_line at 0x7fcc7c1109b0>
Fatal Python error: _PyObject_AssertFailed
Python runtime state: initialized

Reproduce
Env
python 3.9 ( latest from github)
./configure --with-pydebug --enable-profiling
Python need to be build with PY_DEBUG - issue38392 is new functionality so it under PY_DEBUG for now.
Code
 import scipy.ndimage._ni_label

Thanks for the report and the PR. I ended up rewriting parts of it in c964bfd to get a bit of additional cleanup along the way and avoid unused C function warnings.

Backported to 0.29.17 in b3c2e0d6791378a7361a1cc731ff93728b6a3d16.


feature_request(services): lossygif and ShortPixel support

1. Summary
It would be nice, if lossygif and ShortPixel will integrated to ScreenToGIF. See Examples of expected behavior section for details.
2. Argumentation
As I say in this issue, ScreenToGIF create big size images. I hope, the situation will change in the future, but at January, 2019, browsers doesn't work normally with big animated images. It would be nice, if would be possible simply optimize images.
3. Table
3.1. Disclaimer
Tested on January 30, 2019. In the future users can get another results for programs and services in table.
3.2. Environment

Windows 10 Enterprise LTSB 64-bit EN

FFmpeg 3.4

ScreenToGIF 2.16

FFmpeg decoder default settings

3.3. Data

ScreenToGIF project
GIF, that encoded by FFmpeg — 23,4 Mb

3.4. Excluded services
I don't include to table services, that doesn't support my 23,4 Mb GIF. Examples:

Compressor.io — 10 Mb file limit
Compress or die — 16 Mb

4. Table

Compressor
Options
Size  (Mb)
Information
Link to GIF

ezgif.com
Lossy; compression level — 200
5,85
No API; lossygif use
1

ShortPixel
Lossy
8,15
100 images in month on free plan; API
1

GIF Compressor

8,58
50 Mb image size limit
1

Kraken
Lossy
8,59
Only 100 Mb in month for free account
1

iLoveIMG
Hard
13,1

1

gifsicle 1.89 — 128 colors
gifsicle -i Kira.gif -O3 --colors 128 -o Kira__gifsicle256.gif
17,6
Bad quality
1

GIF Optimizer Free 2.0
Default
20,8

1

GIFMicro 1.6
1
21,6
gifsicle used
1

gifsicle 1.89 — 256 colors
gifsicle -i Kira.gif -O3 --colors 256 -o Kira__gifsicle256.gif
21,9
Recommended on Stack Overflow
1

File Optimizer 13.50.2431 (x64)
1,  2
No
I wait 14 minutes → 0% optimized

5. Winner

ezgif/lossygif

Big compression & normal quality.
6. lossygif problems

I can't find any working lossygif Windows binaries in Internet.
Pull request lossygif → gifsicle doesn't merge.
Issues for lossygif repository not possible.
I can't compile lossygif manually. I install Visual Studio — choco install visualstudio2017community -y → I add path to nmake.exe as value of my PATH environment variable → no success:

D:\SashaDemoRepositories\giflossy\src>nmake -f Makefile.w32

Microsoft (R) Program Maintenance Utility Version 14.00.24210.0
Copyright (C) Microsoft Corporation.  All rights reserved.

        copy win32cfg.h ..\config.h
        1 file(s) copied.
        cl -I.. -I..\include -DHAVE_CONFIG_H -D_CONSOLE /W2 /O2 /c clp.c
Microsoft (R) C/C++ Optimizing Compiler Version 19.00.24210 for x86
Copyright (C) Microsoft Corporation.  All rights reserved.

clp.c
..\config.h(134): fatal error C1083: Cannot open include file: 'stddef.h': No such file or directory
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\cl.EXE"' : return code '0x2'
Stop.

D:\SashaDemoRepositories\giflossy\src>nmake -f Makefile.bcc

Microsoft (R) Program Maintenance Utility Version 14.00.24210.0
Copyright (C) Microsoft Corporation.  All rights reserved.

        bcc32 -I.. -I..\INCLUDE -DHAVE_CONFIG_H=1 -D_CONSOLE -O2 -D_setmode=setmode -c clp.c
'bcc32' is not recognized as an internal or external command,
operable program or batch file.
NMAKE : fatal error U1077: 'bcc32' : return code '0x1'
Stop.

I think, that set lossygif may be hard for another ScreenToGIF users too.
7. Examples of expected behavior
7.1. lossygif
To ScreenToGIF will add a setting lossygif. If value is true, user need to set lossygif_compression_level; possible integer values from 0 to 200. See setting description.
If both settings enabled, GIF will automatically compress by lossygif after creating.
7.2. ShortPixel
For ShortPixel I also have good result and this service have a normal limit for free users — 100 images in month. API documentation.
To ScreenToGIF will add a setting shortpixel. If value is true, user need to set shortpixel_api_key.
If both settings enabled, GIF will automatically compress by ShortPixel after creating.
Thanks.

Type: Partially worked 🌓
1. lossygif
From April 2019 lossygif is a part of gifsicle. ScreenToGIF users can execute post encoding command:
gifsicle --lossy=200 --batch {p}

2. ShortPixel
ShortPixel have a Command Line Tool. Problems, why I don't close this issue:

It works for all files in the folder. I couldn't find in the documentation, how it works for specific files.

my output:
D:\SashaForks\shortpixel-php\lib>php cmdShortpixelOptimize.php --api-key=<My real API key> --folder=D:\SashaDebugging\KiraShortPixel

CLI5ec91535960c5@2020-05-23 12:21:09 (0.00s) (M: 1,188,128) > cURL is not enabled. ShortPixel needs Curl to send the images to optimization and retrieve the results. Please enable cURL and retry.

It strange, because I have even 4 cURL instances:
D:\SashaForks\shortpixel-php\lib>where curl
C:\Windows\System32\curl.exe
D:\Chocolatey\bin\curl.exe
D:\Scoop\apps\miniconda3\current\Library\bin\curl.exe
C:\Program Files\Git\mingw64\bin\curl.exe

Thanks.

Indeed, it only takes a whole folder. You would need to save the file to a folder with nothing else inside, to use that service.
Anyway, I added a macro to the post encoding commands: {u} = URL of the file uploaded.
Not sure if it helps.


Header file "portaudio.h" missing

Briefly summarize your issue:
I am trying to build AVS device sdk on MacOS 10.15.4. (https://developer.amazon.com/en-US/docs/alexa/avs-device-sdk/mac-os.html). After going through all the steps, on running the make command, there is a missing header file error for the file "portaudio.h".
but it's on my computer:
/Users/tongxing/my_project/third-part/portaudio/lib/.libs/libportaudio.a
/Users/tongxing/my_project/third-part/portaudio/include/portaudio.h
What is the expected behavior?
The make command should build the AVS sdk on the Linux machine and the sample app should run.
What behavior are you observing?
In the directory source/SampleApp/include/SampleApp, the file PortAudioMicrophoneWrapper.h has an #include <portaudio.h>. This header file is missing from the source code.
Tell us about your environment:
I am buulding the AVS sdk version 1.19.0 on MacOS 10.15.4.
Tell us what hardware you're using:
The hardware being used is a laptop.

Step 6 of the Mac OS instructions explains how to install PortAudio https://developer.amazon.com/en-US/docs/alexa/avs-device-sdk/mac-os.html
After you follow this step you should see portaudio.h in the directory $HOME/third-party/portaudio/include
Verify the Port Audio was installed correctly.

Mac OS指令的第6步说明了如何安装PortAudio https://developer.amazon.com/zh-CN/docs/alexa/avs-device-sdk/mac-os.html
完成此步骤后，您应该在目录$ HOME / third-party / portaudio / include中看到portaudio.h
验证端口音频是否正确安装。

@ereich1217
I was able to find the corresponding file, but still failed to compile。

Can you post the cmake command that you used when you created your build directory?

您可以发布在创建构建目录时使用的cmake命令吗？

cmake $HOME/my_project/source/avs-device-sdk \  -DGSTREAMER_MEDIA_PLAYER=ON \  -DCURL_LIBRARY=/usr/local/opt/curl-openssl/lib/libcurl.dylib \  -DCURL_INCLUDE_DIR=/usr/local/opt/curl-openssl/include \  -DPORTAUDIO=ON \  -DPORTAUDIO_LIB_PATH=$HOME/my_project/third-party/portaudio/lib/.libs/libportaudio.a \  -DPORTAUDIO_INCLUDE_DIR=$HOME/my_project/third-party/portaudio/include \  -DCMAKE_BUILD_TYPE=DEBUG

Hi @chaserr ,
Looking at the path you showed in your summary:
`/Users/tongxing/my_project/third-part/portaudio/include/portaudio.h`

I see that
/third-part/
is missing a y that is included in your cmake command line:
`-DPORTAUDIO_INCLUDE_DIR=$HOME/my_project/third-party/portaudio/include`

Could that be the problem?
If that is not the problem, I suggest adding VERBOSE=1 to your invocation of make.  That should show you the full command line passed to the compiler and from there we can see what include directories were actually provided.

Hi  @scotthea-amazon
Thank you very much. After I changed the file path to third-party, I compiled it again and it passed smoothly.


feat: add chat history backup and restore functionality

This PR adds chat history backup and restore functionality, continuing the work from #280.
Changes include:

Enhanced chat import with support for multiple formats:

Standard Bolt format
Chrome extension IndexedDB backup format
History array format

Improved validation and error handling
Added user feedback via toast notifications
Updated README to reflect the new feature

Note: After the #280 commits, the structure of bolt has significantly changed, so in this commit, I only introduced what you missed including from my previous commit and must not have any conflicts.
Previous feedback addressed:

Fixed TypeScript issues
Improved error handling and validation
Added proper success messages
Cleaned up code organization

Reference: This continues the work from #280 which was accidentally closed during branch reorganization.
https://github.com/stackblitz-labs/bolt.diy/pull/280

Hi Anirban @thecodacus
I cleaned up the code to match latest version, we should not have any conflicts now. Can you verify and approve.

Hi Anirban @thecodacus I cleaned up the code to match latest version, we should not have any conflicts now. Can you verify and approve.

I have added my reviews. I just noticed that you are using your main branch to raise PR, Please read the contribution guidelines here , and use a feature branch for the PR. else any changes to your main will automatically be reflected to this PR which can be problematic.

Hi Anirban @thecodacus I cleaned up the code to match latest version, we should not have any conflicts now. Can you verify and approve.

I have added my reviews. I just noticed that you are using your main branch to raise PR, Please read the contribution guidelines here , and use a feature branch for the PR. else any changes to your main will automatically be reflected to this PR which can be problematic.

thank you, acknowledged, I did follow the CONTRIBUTING.md the first time, should have remembered to do that same. I was using windsurf for my edits and commits.

@thecodacus , @wonderwhy-er
Hey Guy,
Is there anything pending from me, just making sure.

@sidbetatester can you add video or screenshots to show how its used
Otherwise will review now

Just checked.
Couple of things:

Icons seem too big and out of place

You solved conflicts with master in wrong way so that you lost gearbox that opens settings in bottom left corner
master version:

your version:

There is now chat history section in settings that has export all chats but not import chats
May be you can add it there instead, not sure

@wonderwhy-er  thank you for the detailed feedback. I understood what happened when I merged from the main instead of a feature branch..
To avoid such confusion, I created a new PR from the feature branch:
https://github.com/stackblitz-labs/bolt.diy/pull/936
I will close this PR.


Fix paths for non-windows agents

Fix ensure paths work on non windows agents.

/azp run python - core - ci

/check-enforcer override


Fix "regression" on type invariants

Describe the bug
Type invariants have probably been spuriously passing. Now strict mode has caught them and they need to actually do the footwork now.
To Reproduce
Unquote tests/prime.rs
Expected behavior
Green tests with unquoted invariants.

#56 just a caching issue.


Faster resolution of interceptors for @JS() classes

It would be awesome if interceptor resolution were faster for JS objects accessed in Dart via interop classes using the js package's @JS annotation.
Background
I'm working on improving the performance of react-dart, a Dart wrapper for the React JS library.
I recently upgraded the library to use new js package interop, which resulted in significant performance improvements. Go, js package!!  🎉
While testing performance, I noticed that lookupAndCacheInterceptor was taking a significant amount of time.

react-dart hooks into React JS's rendering via allowInteropCaptureThis, and unfortunately ends up having to access a large amount of JS objects (the JS this and its JS properties) during each rendering cycle, which means lots of JS object interceptor resolution.
Idea
One thought I had would be, in lookupAndCacheInterceptor, to resolve to UnknownJavaScriptObject when an object's tag (constructor name) matches the a parameter passed into the @JS annotation.
However, that'd cause issues if that tag wasn't unique... Thought I'd throw out the idea, though.

The problem is that we have to be conservative and not cache the results on an object when we don't know the structure of the object. That leads to repeated calls to lookupAnd(MaybeNot)CacheInterceptor. If we knew for sure there was a constructor function and associated prototype chain, and that things were nicely behaved, we could cache once on the prototype (this is what we do for e.g. most Html Elements).
We still would not be able to cache on objects created with object literals like {foo: function(){...}}.
The compiler shares lookups when it can see they are on the same (unmodified) variable. Your code is pretty good at holding re-used values in local variables. Unfortunately we can't yet share the lookups across functions.
You can also try compiling with '--trust-type-annotations'. It is a bit of a sharp knife and if anything is misbehaving, the first step is to try without '--trust-type-annotations', and possibly '--checked' to see if the types are in fact lies.
I don't have any other suggestions yet, but a small change will help tell which closure is which in the profile.
You can always name a closure by defining a local function instead of an anonymous closure.
    var redraw = () {
      if (internal.isMounted) {
        jsThis.setState(emptyJsMap);
      }
    };
-->
    redraw() {
      if (internal.isMounted) {
        jsThis.setState(emptyJsMap);
      }
    };

So you're saying that caching based on an unknown constructors and prototype chains involves too many unknowns to always work properly? That makes sense...
Also, a fair amount of the interoped objects react-dart is dealing with (e.g., JS props maps) are plain JS objects with no prototypes, so caching wouldn't be able to help the performance of those—the lookup would have to be faster (not that that's possible).
More ideas (just spitballing, here):

Would it be possible for a consumer to somehow mark those prototypes manually as "safe for Dart interceptor caching"?
Could we allow for a custom tag function to be defined on the object, which could aid in uncacheable lookups?

Okay, cool, I'll do some further testing with --trust-type-annotations and local functions.
Thanks for the explanations and advice!!

Follow-up: for the specific problem I was working on, I decided to go the route of writing some custom JS to interact with the JS objects I'm dealing with, which avoids Dart code from looking up interceptors. See: https://github.com/cleandart/react-dart/pull/95.
These changes merely sidestep the issue; it'd still be nice to not have to worry about interceptor overhead.


Add pagination for .select

When there are more entries than maxRows * columns can handle these are just not accessible.
Describe the solution you'd like
Add currentPage: ctx => number and setCurrentPage: (ctx, page) => void arguments on .select.
When this is specified ask for the page when needed and show items accordingly.
Describe alternatives you've considered
Alternatively add a .pagination that behaves similarly to the .select. It shows relative pages (first, 1 before, current, 1 after, last) and has pageSelected: (ctx, page) => void, getCurrentPage: ctx => number and getTotalPages: ctx => number.
The current page button has to be only an answerCbQuery response as nothing should change there.
.select can use this pagination internally.

Pagination was introduced with 777a9079960a8434ec75ca2a44910b59173db6a6 (v3.3.0)


Update relative URL to correct VM size page

Update relative link to correct page.

@jgscherber - There has been recent re-structuring of public docs which could've caused the issue.
We've noted the concern, please close this PR, will update all URLs and update the page.
Thanks for bringing this to our notice.


Is there a way I can get Phonetic translation instead of Dictionary translations?

I have a very specific usecase where I need phonetic translations instead of dictionary ones. Is there a way, the api can be customized for the same?
Google translate does allow for phonetic translations as per article here: http://www.androidcentral.com/google-translate-app-gets-phonetic-support-more-languages

yes, you can (for some languages). when there is a phonetic translation, it will be available at response[0][0][1][2].
See the following example: "Cèshì" is the phonetic translation (en -> zh) of the word "test":
[[["测试","test",,,2],[,,"Cèshì","test"]],[["noun",["测试","试验","试","实验","考试","考验","测验"], ...


Change UI PaymentSheet popup

I would like to change the popup UI that is shown with the PaymentSheet.
I need it in iOS and Android.
How can i do this? Any API?
Thanks

@enfix86  I see stripe doesn't prepare popup UI API:
https://stripe.com/docs/payments/accept-a-payment?platform=ios
If you need, you should create custom UI using STPPaymentCardTextField and CardInputWidget.
If you create pull request for it, I'd be happy to review it.
Thanks.

This Issue is closed because the information has not been updated. Thank you.


Rename the Cosmos key for consistency

Based on our initial discussion, the Cosmos DB configuration key should follow our naming standards.
https://dev.azure.com/Mission-Critical/Online/_build/results?buildId=1511

This was a PR just for the demo video. Disregard.


SSL backendPort not working

It seems that for ssl mup always assumes that the backend application is running on port 80. Changing the backendPort parameter doesn't seem to work.
The following works well:
"ssl": {
    "pem": "./ssl.pem"
}
...
"env": {
    "ROOT_URL": "...",
    "PORT": 80
}

This does not work:
"ssl": {
    "pem": "./ssl.pem",
    "backendPort": 3000
}
...
"env": {
    "ROOT_URL": "...",
    "PORT": 3000
}

Maybe mupx works better in those situations. I only use mupx so maybe someone else can comment here about the issue with mup, but I'll recommend trying the development branch mupx you can Google it too.

@MasterJames how does the config look like in mupx in this case? Can you run two apps with ssl on the same instance and specify the different ports?

There is good Readme information in the different Readme for the mupx branch.
https://github.com/meteorhacks/mup-frontend-server#for-ssl-support
The configuration is similar.
Behind the scene is very different and uses a docker container with nginx.
In general the tool is a basic way to deploy meteor apps and although there is support for some more complicated setups I'd say it's a great and mostly customizable solution to do the extra things you might want.
I don't think multiple Apps with different ssl certs etc is fully supported.
Your use case would have to be more clearly defined with the issues you've run into. Going deeper you might need to take time to understand load balancing and other tools from arunoda like cluster etc. The mupx de branch will be reborn in the kadira suite soon and then those kind of extra enhancements will come through Future PRs etc.
Remember you can have multiple mup.conf settings files if that helps. Don't forget about Meteor's Galaxy as I'm sure there are other options on the horizon.

Digging in a bit, it looks like you can't have multiple apps with ssl on the same instance. The limitation is that there is only one instance of stud and it can only have one backendPort.

Right and so mupx was created with nginx in a docker container. I'm sure there was and still is a plan (or maybe "goal") for multiple deployments with ssl support, but i guess not currently "out of the box" or at least you should look at mupx. I really never studied mup as I came into it later and mupx seems the correct way forward to me. It apparently didn't solve all problems for everyone (and merging the radically different mupx back to mup less desirable) but for your case, mupx is probably the better direction.
If you figure out mupx too then this might help.
https://www.digitalocean.com/community/tutorials/how-to-set-up-multiple-ssl-certificates-on-one-ip-with-nginx-on-ubuntu-12-04
Maybe when mupx moves to kadira you'll be able to contribute a PR etc.


finding country of libspotify user for Metadata API use

Not all of our app users will be logged into spotify premium, so we are using the metadata api for search.
For the users that are using premium, we'd like to know what country they are logged into so we can filter the metadata search results appropriately.
Is there any way to find the country of a logged in spotify user?
Any country filters for the metadata api?

In CocoaLibSpotify, the locale property of SPSession is what you need.

Thanks!


0.2.1 tag missing

pypi has 0.2.1
https://pypi.python.org/pypi/docker-pycreds
but this repo only 0.2.0:
https://github.com/shin-/dockerpy-creds/releases
i assume this is the upstream repo as the url specified in 0.1.0 is inexistent:
https://github.com/docker/docker-pycreds/

Done :+1:


Continuous logging

I'm opening this as an issue although it's actually an anti-issue as you will see 😄 It was mentioned on Slack channel that there is a problem when following VM logs continuously using kubeclt logs -f <VM>. However, in my local environment everything seems to be working as expected.
How did I test
Deploy a container and a VM that both write to stdout every second:
$ kubectl create -f printer-container.yaml
$ kubectl create -f printer-vm.yaml

Where printer-container.yaml has the follwong content:
# printer-container.yaml

apiVersion: v1
kind: Pod
metadata:
  name: printer-container
spec:
  containers:
  - name: printer-container
    image: busybox
    args: [/bin/sh, -c,
            'i=0; while true; do echo "$i: $(date)"; i=$((i+1)); sleep 1; done']

and printer-vm.yaml has the follwong content:
# printer-vm.yaml

apiVersion: v1
kind: Pod
metadata:
  name: printer-vm
  annotations:
    kubernetes.io/target-runtime: virtlet
    VirtletVCPUCount: "1"
    VirtletSSHKeys: |
      ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCaJEcFDXEK2ZbX0ZLS1EIYFZRbDAcRfuVjpstSc0De8+sV1aiu+dePxdkuDRwqFtCyk6dEZkssjOkBXtri00MECLkir6FcH3kKOJtbJ6vy3uaJc9w1ERo+wyl6SkAh/+JTJkp7QRXj8oylW5E20LsbnA/dIwWzAF51PPwF7A7FtNg9DnwPqMkxFo1Th/buOMKbP5ZA1mmNNtmzbMpMfJATvVyiv3ccsSJKOiyQr6UG+j7sc/7jMVz5Xk34Vd0l8GwcB0334MchHckmqDB142h/NCWTr8oLakDNvkfC1YneAfAO41hDkUbxPtVBG5M/o7P4fxoqiHEX+ZLfRxDtHB53 me@localhost
    VirtletCloudInitUserDataScript: |
      #!/bin/sh
      echo "Hi there"
      i=0
      while true; do
        echo "$i: Hello"
        i=$((i+1))
        sleep 1
      done
spec:
  affinity:
    nodeAffinity:
      requiredDuringSchedulingIgnoredDuringExecution:
        nodeSelectorTerms:
        - matchExpressions:
          - key: extraRuntime
            operator: In
            values:
            - virtlet
  containers:
  - name: printer-vm
    image: virtlet/download.cirros-cloud.net/0.3.5/cirros-0.3.5-x86_64-disk.img
    resources:
      limits:
        memory: 128Mi

As far as it concerns logging, the two pods behave identically:

If I run kubeclt logs -f printer-container it continuously prints me the container output. Also if I run kubectl logs -f printer-vm it continously prints me the VM output.
If I visit "Logs" tab of printer-container on Kubernetes Dashboard, I see current logs, but they do not update automatically (I need to press F5 to see newer ones). The same goes for printer-vm "Logs" tab.

@ivan4th do you observe different behavior?
/cc @gberginc

Just tested logs -f doesn't work with current Virtlet master

@lukaszo I'm pretty sure that it's environment specific (dind?) I'm not entirely sure that it's bug

To be sure we need to check it on non dind env

It's working on bare metal test env. I just tested on one ssh session kubectl logs -f ... and on other kubectl attach -it ... and i see in logs growing output with the same data as produced by commands in attached session.

@jellonek that's awesome. Closing then :)

So... What about dind based setup? Maybe this issue should be replicated in k-d-c repo?

Maybe, the thing is that logs -f for docker containers just works in dind

It works for me also in k-d-c. The only catch is when you will call poweroff in vm, what means vm/qemu will finish and new one will be started. In such case you need to restart follow command as container was stopped and new one was started.
We are different there from docker, as in our case logs -f will be still waiting for something new in old file, but in docker case logs -f would finish when container was killed/restarted.
So this can affect also logs reading routine in dashboard - but didn't tested that.
As it's a separate issue - will create new one about that.


'NoneType' object is not iterable on az aks list

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az aks list
Errors:
'NoneType' object is not iterable
Traceback (most recent call last):
python3.7/site-packages/knack/cli.py, ln 206, in invoke
    cmd_result = self.invocation.execute(args)
cli/core/commands/__init__.py, ln 608, in execute
    raise ex
cli/core/commands/__init__.py, ln 666, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
cli/core/commands/__init__.py, ln 659, in _run_job
    six.reraise(*sys.exc_info())
lib/python3.7/site-packages/six.py, ln 696, in reraise
    raise value
...
azure/cli/core/__init__.py, ln 490, in default_command_handler
    return op(**command_args)
cli/command_modules/acs/custom.py, ln 1899, in aks_list
    return _remove_nulls(list(managed_clusters))
cli/command_modules/acs/custom.py, ln 3043, in _remove_nulls
    for ap_profile in managed_cluster.agent_pool_profiles:
TypeError: 'NoneType' object is not iterable

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az aks list

Expected Behavior
Environment Summary
Darwin-19.2.0-x86_64-i386-64bit
Python 3.7.6
Shell: bash

azure-cli 2.0.78

Additional Context

Looking into this.
Pasting CLI lines reported in error:
https://github.com/Azure/azure-cli/blob/dev/src/azure-cli/azure/cli/command_modules/acs/custom.py#L3043

As mentioned we are looking into this, replying so the bot sees our ack.

A fix has been made, please reference this issue for the latest tracking. I am going to close this to consolidate info to one thread.
https://github.com/Azure/azure-cli/issues/11456


HTTPS not working for orbstack URLs with Drupal and DDEV

Describe the bug
If I set up latest Drupal with DDEV and orbstack, orbstack provided URLs aren't capable to provide https, see https://drupal.stackexchange.com/questions/320651/enabling-https-with-ddev-and-orbstack
Message in my browser says that site isn't secure (net::ERR_CERT_COMMON_NAME_INVALID).
But https URLs provided by DDEV itself are working.

Fixed in v1.8.x.


ovpsim gets hanged and reruning the same instruction again

Hi,
i clone to latest repostiry today and i ran the ovpsim simulation with below command:
python3 run.py --test riscv_arithmetic_basic_test --v --iss ovpsim --isa rv32i --mabi ilp32
OVPSIM command is as below:
riscv-ovpsim/bin/Linux64/riscvOVPsim.exe --controlfile ../riscv-dv/target/rv32i/riscvOVPsim.ic --objfilenoentry out_2019-10-24/asm_tests/riscv_arithmetic_basic_test_0.o --override riscvOVPsim/cpu/PMP_registers=0 --override riscvOVPsim/cpu/simulateexceptions=T --trace --tracechange --traceshowicount --tracemode --traceregs --finishafter 1000000 &> out_2019-10-24/ovpsim_sim/riscv_arithmetic_basic_test.0.log
i did few changes in riscv_core_setting file as attached to run rv32i simulation.
the issue i see that after the test is done, it is restarting again which was not the issue earlier.
please find the attached log file.
riscv_arithmetic_basic_test.0.log

Does it work with spike?
Can you also try python3 run.py --test riscv_arithmetic_basic_test --v --iss ovpsim --target rv32i

Yes, it works with spike. please find the log for both spike and ovpsim.
Spike:
riscv_arithmetic_basic_test.0.log
OVPSIM:
riscv_arithmetic_basic_test.0.log

There are some recent submit breaks the ovpsim sim, will address it shortly.

Also, running this : python3 run.py --test riscv_arithmetic_basic_test --v --iss ovpsim --target rv32i doesn't help.

I think this is now fixed, please sync and retry.

Closing this issue for now, let me know if you still see this problem

Hi Tao,
I picked up riscvopsim.ic file in setting directory and copy the latest target directory and i see that ovpsim is not working fine now.  There is  passed as it is which is causing issue.
DEBUG    /riscvOVPsim.exe --controlfile ../riscv-dv/target//riscvOVPsim.ic --objfilenoentry out_2019-10-25/asm_tests/riscv_arithmetic_basic_test_0.o --override riscvOVPsim/cpu/PMP_registers=0 --override riscvOVPsim/cpu/simulateexceptions=T --trace --tracechange --traceshowicount --tracemode --traceregs --finishafter 1000000 &> out_2019-10-25/ovpsim_sim/riscv_arithmetic_basic_test.0.log
Fri, 25 Oct 2019 10:15:37 lib.py:127   DEBUG    /bin/sh: variant: No such file or directory
Fri, 25 Oct 2019 10:15:37 run.py:362   DEBUG    riscvOVPsim.exe --controlfile ../riscv-dv/target**//**riscvOVPsim.ic --objfilenoentry out_2019-10-25/asm_tests/riscv_arithmetic_basic_test_0.o --override riscvOVPsim/cpu/PMP_registers=0 --override riscvOVPsim/cpu/simulateexceptions=T --trace --tracechange --traceshowicount --tracemode --traceregs --finishafter 1000000 &> out_2019-10-25/ovpsim_sim/riscv_arithmetic_basic_test.0.log

Please ignore the above request. i merged the iss.yaml change and issue is resolved.
Thanks for the help Tao.


provides input relationship displays as has_input

Our model
http://noctua.geneontology.org/workbench/noctua-visual-pathway-editor/?model_id=gomodel%3A66187e4700001781
has
dicer (dcr1) provides input for argonaut (ago1)

but in the gocam-viz this becomes dcr1 has_input ago1
(so even the direction is changed)

This one is a bit of a blocker , we wont be able to make out models public until this one is fixed
cc @PCarme

Maybe we need to add the output  ds siRNA but I have no idea how to do that because it isn't a CHEBI compound?
This will be a common issue for RNA processing
CC @vanaukenk

We were confusing the colours. I thought the light blue was a rendering of the roayl blue.
But the problem is that this relationship is not included in the key:

example with both
http://noctua.geneontology.org/workbench/noctua-visual-pathway-editor/?model_id=gomodel%3A662af8fa00000408

@dustine32 @tmushayahama
Can we take a look at this issue on the workbenches call today?

@vanaukenk Sure! I can join the call today.
Right, 'provides input for' is just not in the legend nor is the light blue, general "causal" relation color that the 'provides input for' edge is currently given.

Thanks @dustine32 @tmushayahama
The new legend looks good.
One question - when I look at the pathway view in Noctua, the width of the line for 'provides input for' between ERG26 and ERG27 is narrower than the width of the other relation lines.  I forgot if the width reflects anything about underlying data, e.g. amount of evidence, but that doesn't quite fit with what annotations I see on the model.
I'm a little concerned that the 'provides input for' relation in the example model is getting overshadowed :-)
I'll look at some other models, too.  Thx.

I didn't provide the chemical outputs in this model, but these have been added ( presumably automated from the definitions ) thanks! I was hoping this could be automated we discussed recently on an ontology call.
Can you provide more details about this? when and how it is implemented.
This leaves the question of how a  a "provides input for" relationship will be displayed... I'm sure we have examples (especially in RNA processing) where we cant add an intermediate. I will look for some  once I am back from Elixir  on the 16th...

I just noticed this  example is the S. cerevisiae model where the intermediates have been curated. The PomBase models do notcirate  the  inputs (because these could be inferred, we discussed this recently, it is 'busy work' - it should be possible to automate metabolic intermediates from definitions).  This is why we have used "provides input for" instead of  "has output" and "has input". The model you are using does not have examples of the "provides input for" relationship.

@ValWood - there is one example of 'provides input for' in the test model on noctua-dev that Dustin provided (between ERG26 and ERG27).
I don't believe any automation has yet been put in place in Noctua to populate inputs and outputs based on participants in a reaction (MF).

re
@ValWood - there is one example of 'provides input for' in the test model on noctua-dev that Dustin provided (between ERG26 and ERG27).
yes, I see it.
I agree with @vanaukenk  re:
"I'm a little concerned that the 'provides input for' relation in the example model is getting overshadowed :-)"
The arrow is not as wide in pixels. Also the colour isn't great as all of the others are "stronger" colours.
PomBase will always use this relation because it shows the directionality (i.e causality)
(Although sometimes, we will also add inputs and outputs, we will only add them manually when they are "critical" end points (we won't manually  add every intermediate).
Hopefully one day the non critical intermedaits can be automated, but I don't think we would want to display those all the time or the models could get very crowded.

(@pgaudet I filed this under "alliance" for the moment, but we might want a separate service project for things like this at some point.)

I've checked this on noctua-dev.
The legend now displays the 'provides input for' relation in my test model.
Noting, though, that the width of the relation in the pathway view still looks smaller than the other relations, and in bigger models, the lighter color of that relation can get lost as noted in:
https://github.com/geneontology/wc-gocam-viz/issues/37#issuecomment-2155227082
https://github.com/geneontology/wc-gocam-viz/issues/37#issuecomment-2169344977
We can deal with the display issue in separate work, as this PR does fix the legend, as requested.

Hi @vanaukenk
@PCarme  will review at our end.
Are the other "blocker" issues. fixed? should we review those too?
v

The fix seems to only be on noctua-dev at the moment, so I guess there is nothing to check on our end for now.


chore: Adds py35 environment to tox.ini

This patch adds Python 2.5 to the list of environments in tox.ini.

[Current coverage][cc-pull] is 98.42%

Merging [#803][cc-pull] into [master][cc-base-branch] will decrease coverage by 1.57%

@@             master       #803   diff @@
==========================================
  Files            29         29
  Lines          1777       1777
  Methods           0          0
  Messages          0          0
  Branches        299        287    -12
==========================================
- Hits           1777       1749    -28
- Misses            0         22    +22
- Partials          0          6     +6

Powered by Codecov. Last updated by [53b198c...ade4678][cc-compare]
[cc-base-branch]: https://codecov.io/gh/falconry/falcon/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/falconry/falcon/compare/53b198c6d83cb04f051424e9cc33b593c52e65d7...ade4678d3ef536e17cc1d99702e42d69c5f8a9a3
[cc-pull]: https://codecov.io/gh/falconry/falcon/pull/803?src=pr

Typo in commit. Closing and will re-open.


feat(*): add drag and drop for images

Signed-off-by: Diana Lease<EMAIL_ADDRESS>Changes

feat(*): add drag and drop for images

Flags

Images are inlines and should be displayed as such (previously, we were displaying them as "block" elements
Therefore, I am now displaying them as inline and allowing them to be dropped inline (unlike clauses which we force to be dropped at the top level)

Related Issues

Issue #61

I don't know what all of the implications of inline vs block are, but it seems awkward that images can be placed in the middle of paragraphs

@Michael-Grover I believe the other editors like Word and Google Docs allow dropping within a paragraph.

I guess maybe someone would want to put a logo in the middle of a sentence or something.


Multiple serializers

Resolve #65

@nulldef one more thing: we need an error message for the case when the wrong tag is passed. From your spec right now:
Surrealist.surrealize_collection([post1, post2], tag: :kek)
  Surrealist::UnknownSchemaError: Can't serialize Post - no schema was provided.
from /Users/nesaulov/Code/ruby/opensource/surrealist/lib/surrealist/exception_raiser.rb:49:in `raise_unknown_schema!'

The error message is wrong and misleading. I suggest something like "The tag specified (#{tag}) has no corresponding serializer".

Thank you, @nulldef! 🎉


evaluate.py  is missing

Hi,
Is evaluate.py missed? Cant see the script

@hfarhidzadeh Yes, the evaluation script is missing @rubelchowdhury20. It would be beneficial if you can commit your final eval.py here.


Double entries in activities

Possible bug...

not an actual bug. sent multiple notifications because she updated same post with all content for 4 times. will add a check to enotify-py to prevent this.

yeap makes sense, I had that as well before in mobile notifications... it is tricky though, if someone mentions user after their edit then that notification might not come through if new filter drops out edits.


Refactor alert template

Background
Now, we use FreeMarker to load alert template, and only this simple function.
Suggestion
Removing FreeMarker, use a template interface , and default implementation is concat string.  Anyone who want to extend , just implement the interface.

+1，does not affect existing features

+1

+1，i will implement this，


Bug: Sample Rate issue with fluid.bufcompose~

Please tell us what you were doing! You can include code and files by drag and dropping them into the text area.
As outlined in this thread on the discourse, if the buffer~ that fluid.bufcompose~ is copying into has no size (as in, not declared, or after a sizeinsamps 0), when you copy something into it, the SR is set to the system SR, and not the @source SR or even the SR if the buffer~ if you manually declare it.
This means that any automatic buffer management-related things with fluid.bufcompose~ will end up getting the SRs changed for all the newly created buffers, which can be a huge problem on its own. And whenever using sizeinsamps 0 to specifically empty/clear a buffer~ for iterative/loop-based processes, the SRs also get changed.
As mentioned by @weefuzzy "we should probably check the behaviour for bufnmf~ because that also has its own witchy buffer writing code"

----------begin_max5_patcher----------
1666.3oc0ZszjiZCD9rmeEpnxosbbgdwibJImxgjKYOlJ0TXaYOrqMxEHlcl
r0t+1idAFx.iYLHSlspEvZDzp+Z0e8C3q2svaM+IVgG3m.+EXwhud2hE5gTC
rv96EdGSdZygjB8z71vOdjkI7VZ9aB1SB83Qq.oB.+QVdd5VVAP7.CHOKRyR
Do7LvG+ypa4PZFaCuLSeeH6fqKWu9.SMBr0HExGlZTe6n63YhcIaZMS0ZXC+
.O2nGvU9KA90Gj+D721YltUuV4q+zORIUqmrxioYGXhhlOSkbJR+GsbPpmS8
b4khpI2bQkkbTOYueic3QlHcSR0y+ThXyCoY6uOmsQXWhwnUzkf3X8ZEFGqN
EPUqT087s6tScX4HMIgq.ELQKq.eGXc4N4MbhWvdUCRW.cS3COivWDUgdQ9Z
XCFoOQBlXzKX8JvlGXa9rbqqB2XGOIdVgd6X4fj8IoYiB+PyH9E3GpfLJ1s.
3FEkPAHi+E.grB9YugAMjvYDZnXh1WLTiPvf.0Iz0BMqKEBd89jl5Xz40Ptb
8IX42yxRrTf9ul92VQqF0Lj34SLid3sNIauWMwWmaBvZMknOgHUGuJE8HqnH
YO6E6AHDnu+pt.f3NMxn2lR9pJHECMJnV0nQZEDM0VRp+raIog5.cTp+DXIy
XeQpVuvPllsi+cPRFWFWOuKX.58FTU+9z0cG3IRlDfjSsPetdfgbg5+oYlKG
BfEq2S.gXU3jqdqQu7eIp.HRiGSEAoEC30DwfDLizh33.SDCChghbRDCpLj6
V1tjxCxvFBNn34BA63kRc7R3FYVCmzJZBZTvVubP34OZBDgtAQSh76NZB9FD
Mw+FDLgL+ASLICNqwRHn2QwRr3kaCkPS5uVjwvMhmyTssTFUUg3LxQ5r6Sgk
EUnJ2mFNKjiANmbDEX5mggWbjri84DPVAjDJUUfmVbN8.IWxVvGj7Ie.7yE7
x7Mr9xY.OWsaBOmYgff5kF1TMqscSQSc6lvqZzaIvm3Y6O77nHmlyVLA8olM
wFd8.+QQN0mOayVyYiGtDnoSdIbfbeNN19pEnUcnMUNzzF7e2gxzsqNuQ460
tr5cLrhtXvdKIDf5U0WNH0OFhZ3kL843gBm+3QTMoEFili3QnH2GOJL1nfXW
lsNBO+s9IPqgPLYBrj8QriZ1GCYY4ZK6XX1QyYyuowlfgFfCE5jNY.amud6f
gWBcfyYpBHC0fg7yj2vz296fY2wAghmNGm9n.KxA5Ff2E2guyIAqX+n1tC6F
RP3+CJuxGZxagLe8r.F7NpmEV.qJSmQ1zhdPLScZuJlgmhz5p09ATFNtQuZL
gAtZstWedl.7CntzVhy83CIMx5g.ciC+72qYiZhrwnbh690TkxsoHEqxGENE
Eo7lesstuFTae.sAlo9tYS77WCFL13k579r2+FV56nPVV3JJ5FDwxhX1r1Wk
jtqqWRwMN1Esg5iCciWey55Z19Em6zSreHbFsbj0q2i0MYagHQTV.J5LWj2f
N9pj2pMyuppFAOaICFmlVJq8rrZg+PpoFbuZpsbtfqVc0E.96IBdbih+D4G4
aaWFpfcz94fhQxcCREZoTqzwCptN573AjyWGEgpuNN373PTia.FptkpeDqDQ
MX0UYwmxY6Re59pkIpC+P3USk2rRZHomJowcUIsBHA+J+v1JYWHd1HPueoba
J+i5cZ2+GMLOuXyREq2kX9raXLAJhLeOZzFujg06a7xH7WgV13.r071kd3fd
t2WsL7L2ZGyPeDV8PConXBT8PCUWne7Ap+E1uLzGQUOgH6rkWgk7WX8yh.k6
GtvS3MoWIJha8FkvycFo0DJE784IaSYFmktmkzy4DOW0UdybnSbL4tBmfeOU
+HLpYRn8DMV+Dz8G7+7AlqehpwaCelDrsJhsRCvY6bi2URi4fLyoSCzPkS3.
jCcBji5aj6hBR8gQBf0Shmuko8Af2.Q2FvqEs+3Ds+PfW3TfuCPPtAcGffCb
A1pXMtrKRjKz4gI5Pmn0nAHZrSrzCSzNwOhLDW3ovMhLDGVxTP7hGBZBmBpW
0KO+x1soPmPCA8f3oPRCQPjIPPvfg.dAtveaXhl5B+M3PX0qVeiSRjg3vMEa
YfsrQ8flNwNN.AivW1LZxoL4zoGY4E1aWKTYx2exTrP7R8OSyL+TmprWN6wz
p4aFIIWlUqPlRaYtoTnmBLszwSUrYdVYpUqkpqTj5D6U0+UbxVhpN++691c+
KbP7WxC
-----------end_max5_patcher-----------

What operating system were you using?
Mac
Operating system version
macOS 14.4
FluCoMa Version
1.0.7

After some prodding, I've decided this is just a core issue that comes down to a logic error in BufCompose

BufCompose always uses the destination sample rate when resizing the destination buffer. Surely it should be using the source sample rate, or is there some reason I've forgotten that we'd want to preserve the desination sr?
The weirdness with falling back onto the system sr the first time this is run is a side-effect of using the destination sr: when (in Max) a buffer is initialized without any samples it reports as not 'valid' in our code and (for better or worse, possibly worse) reports an sr of 0; this gets sent into resize() and when you send 0 to a max buffer's sr selector, this is interpreted as 'use the system sr', it seems
Meanwhile there's another logic error here, I think: surely (if we're propagating the source sr) an invariant of successfully calling BufCompose::process should be that – even if the destination buffer didn't need to resize – dest sr should equal source sr. This won't currently be the case. Indeed, we don't have a way at the moment to set the sr of a host buffer without going through resize().

So, not completely trivial to fix, it turns out. We should probably check the effects of this in supercollider as well, which will have its own buffer logic. In pure data, arrays don't have sample rates, so I'm guessing this isn't a problem in the same way.
Suggest two-stage fix, if we do want to propagate source sr:

Change BufCompose call to resize() with the source sr
Then think about how to deal with the no-resize case

The idea was that if we composite sections we want to be able to not change the features of the output (sr and size) - for instance, what we currently do when loading folders of files in a single buffer.
So the solution is definitely not to systematically apply source SR. I'll get thinking of what a good interface would be, but maybe fixing a default SR and a support for a SR method is the most flexible approach.

Hmm. Well, I think our current problem is that we're violating a principle of least surprise for the simplest case and meanwhile there's no useful thing we can do if someone decides to concatenate heterogeneous SR stuff into a single buffer: it would always require manual action from the user. So, I'm still sceptical about the usefulness of a flag vs people just setting the dest sr explicitly for these edge cases.

as ever the wise one, @weefuzzy - we'll just need to check how it behaves in SC then - I don't think it would cause problem as one can assign the SR post creation without issue - if we go that route we'll flag as (edgecase) breaking change

The idea was that if we composite sections we want to be able to not change the features of the output (sr and size) - for instance, what we currently do when loading folders of files in a single buffer.

I haven't tested this (thoroughly) but at the moment, when you concatenate stuff into a buffer~ isn't it just mushing whatever the original SRs are into a single buffer~ with whatever the current system SR is set to (sans any resampling) such that if you play back audio this way you'll potentially hear arbitrary playback rates based on the difference between the source SR and whatever your current system SR was at the time of bufcompose~-ing?

So, I'm still sceptical about the usefulness of a flag vs people just setting the dest sr explicitly for these edge cases.

I guess it's especially tricky since buffer~s are both audio and data here, so sometimes the SR matters (e.g. playback) and sometimes it doesn't (e.g. descriptor/stats).
I can see the usefulness of having a @destbuffersr (or whatever) attribute if someone is doing something especially fiddly, but I would think that a default behavior as you've suggested (source SR = destination SR) probably fits in with most expectations and use cases.

as I am investigating the SC behaviour for this, I think I have found a bug in their code. So to take an informed decision (going for last source (or first source, not decided yet) and asking the user to deal with sr changes manually later via the CCE) let's check it is actually possible in SC.

for reference: https://scsynth.org/t/how-to-change-a-buffers-samplerate-everywhere/10379

ok there are no native ways in SC to do that. So 2 options:

we add an ugly @destSR attribute to FluBufComp;
we code a small SC object based on my https://github.com/tremblap/OfflineBufferProcesses/blob/master/OfflineBufferProcesses.cpp to change the SR

Of the 2 evils, I think I prefer the first one.


As DevEx program owner I need to describe how we arrived at the current P4P model so that the developer community understands the historical context

Speaking notes to explain how we arrived at the current P4P model and explain the rules we have approval to work within for now.

Paul faded email thread describing some of the history of how the process got to where it is. I will speak with Loren, David W, David H & Peter W to figure out whether one of them need to be at the f2f engagement to describe/explain the background/vision, or whether Rommel and I can handle it.

@paulroberts68 Based on feedback today from Hume & Peter, we DON'T want to focus on the current process at the f2f dialogue. Hume & Peter will also be there to articulate the broader vision and can answer questions. Can we delete this Issue?


fixed issue #11051

Scope & Purpose
Fix Github issue #11051

[x] Bug-Fix for devel-branch (i.e. no need for backports?)
[ ] Bug-Fix for a released version (did you remember to port this to all relevant release branches?)
[x] The behavior in this PR can be (and was) manually tested (support / qa / customers can test it)
[x] The behavior change can be verified via automatic tests

Related Information

[x] There is a GitHub Issue reported by a Community User: #11051

Testing & Verification
This PR adds tests that were used to verify all changes:

[x] Added new integration tests (i.e. in shell_server / shell_server_aql)

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/8454/

http://<IP_ADDRESS>:8080/view/PR/job/arangodb-matrix-pr/8462/

tests blue


Proposal for adding a build step

Originally from https://github.com/eslint/eslint.github.io/issues/536#issuecomment-500599653.
In pursuing https://github.com/eslint/eslint.github.io/issues/536, I would also like to revisit the idea of adding a build step to our site. We know it would be a prerequisite for any of the options we've discussed in https://github.com/eslint/eslint.github.io/issues/536, and separating that task out into its own chunk of work feels like a much easier/cleaner way to do things. Besides unblocking us from using a different static site framework, I believe we would get the following immediate benefits:

When I first proposed this, we weren't pulling data from Open Collective's API. The build step could now automate running less, bundling the parser and demo, and running the script we use to pull data from Open Collective. Currently these are run by individuals before committing, which is extra overhead and as a process is error prone (someone might forget to run the script). Automating it would ensure it happens on every commit. Edit: @ilyavolodin corrected me below to say that the Open Collective scripts are actually run on the hour and should be included in this.
We would get to dogfood ESLint in a more modern web application.
I believe this would make it more approachable and enjoyable for our community to contribute to the site (particularly the demo).

Here is how I propose we move to having a build step:

We could use the current repository, but GitHub pages has the unfortunate limitation of only allowing hosting from the master branch for a user or org site (one that ends in *.github.io). We could create a separate src branch, but that feels confusing and would require anyone working on the site to know that master is essentially a build artifact. If we were to create a new repository called eslint/website, we could treat the master branch as the source and publish to a second branch called gh-pages. This way, master is always the source of truth.
If we do create a new repository, we would have to update the release script to also copy documentation files into that repo in the interim.
We set up Travis (as described here) to run whenever a commit lands in master, running the build and publishing it to the gh-pages branch.
Update the build script to bundle the demo and the parser with Webpack, run less, and run the script that pulls from the Open Collective API.
At this point, we can evaluate how this is working and perhaps take it to a TSC vote to determine if we want to move forward with a build step.
Once we cut over completely to that repository for the website, we would have to update the release script once more to only generate docs in the new repository.
Deprecate the current repository in favor of the new one.
Edit: We would also have to transfer issues over. It doesn't look like there's a built-in way to do bulk transfers, so we'd probably want to use an community existing tool (looks like there are a few) to do this.

If nobody is against this, I'd love to go ahead and make the new repo and get it working. Once that's done, we could evaluate if we want to continue with that or not. Deciding to try it out does not preclude us from continuing as we have been in this repo.

I'm not opposed to having a build step, but with the current configuration of the site I'm not sure what it's going to gain us (other then added complexity). In my mind, I would hold off on adding build step until after we have a new design ready.
If you do work on this, please keep in mind that Open Collective API calls should absolutely not be part of this build step, as we run those every hour. It's very important to update the site as soon as possible when we get a new major donor. But team updates can probably be moved from separate jenkins build into site build.

@ilyavolodin I misunderstood how we were getting data from Open Collective. Do we have a cron running these somewhere?

Basically. It's a jenkins job that runs hourly.

Also, to give some context around my motivation, I also wanted to mention that the site redesign discussions have stalled (since about January), but I think we have enough of it designed out to get working on it. I have some time now and was hoping to make progress now to help unblock future work.

As I mentioned, I'm not against adding a build step, I just don't really know what we would use it for in the current setup of the site. If you foresee major changes with the next version - sure, it sounds fine to me.

Sorry, still struggling healthwise, but wanted to add my :+1:. I think right now the way CSS and the demo are managed are difficult for new contributors to figure out (I've had trouble, too), so I think a build step would be helpful.
I'd also add that this might be a good time to consider hosting the site on Netlify. I've never had good luck trying to build from master and deploy to gh-pages, and Netlify would automate the build step for us for free. Clearly not a big blocker, but wanted to bring it up as it seems like this would be a good time to consider it.

I'll take a look at Netlify and report back - if we can use the existing repo, that might be an easier process than the one I've proposed above.

Netlify would allow us a lot of flexibility, but I think we need to be careful with it, since it does have a limit on the free account, and I think we will potentially hit that limit very fast.

Netlify offers a free plan to open source projects which looks like it has the Pro tier features with unlimited members, so we should be okay if we decide to go that route.
I came across this issue, and it looks like we are already hosting some form of the site at https://eslint.netlify.com. Do we already have an existing account that I should use to try this out?

Reporting back on Netlify. It was really simple to set up and I think this is the way to go. Here's the site being built from master with a free plan I just created.
Here is their Open Source Plan Policy page.
Pros:

We can build directly from master and won't have to create a new repo, update the documentation generation scripts, or have to worry about transferring issues over
Netlify will provide us with a free open source plan that allows unlimited members
We can set up SSL through Netlify (this isn't an issue we currently have, but it's nice to know it won't be an issue if we choose to use this service)

Cons:

Another service (albeit free) that we'll need to sign up for

One thing to note: the free open source plan requires that we link to us Netlify on our home page, which I think is more than fair for the free services they would be providing to us. They actually provide premade badges, so this is as simple as copying and pasting some markup.
Here's what I'd like to propose:

We publish the site to Netlify in its current state (only running Jekyll during the build step)
We wait for Netlify to grant us an open source plan and I can add whoever is interested to it. I think we need at least one or two other people who have access to the team as a backup.
We point eslint.org (I'm not sure who on the team owns it, but this step will require their help!) to the Netlify hosted site
We unpublish the GitHub pages site
We now have a build step and we have the freedom to update things as we see fit!

Please let me know how this sounds - thanks!

Additional pros for Netlify is that the site will no longer be fully static. We can use their dynamic functions to provide information to the site without having to re-run build (we can probably use this for team members and maybe even for sponsors). Also, Netlify is flexible in terms of framework usage. So we can use React or Vue later to re-write the website. Netlify CMS also can help in some cases.

The https://eslint.netlify.com site appears to be owned by @alberto.
When I got a Netlify open source plan for @typescript-eslint, it only took them like 4 hours to grant me the plan.

Quick update: I reached out to @alberto and they have taken eslint.netlify.com down. I’ve also been in touch with Netlify support and we have been granted an open source plan if we would like to use it.

One more update: the TSC voted today to move hosting to Netlify. I am in the process of inviting TSC members who are interested in helping out, and I'll be reaching out to the JSF to inquire about pointing the domain to the new site. Additionally, I've changed the domain to https://eslint.netlify.com/, now that it's free.

Just to clarify, our domain is not pointed to github. It's pointed at cloudflare which caches our site. So we might not need to move domain, just reconfigure cloudflare. OpenJS Foundation owns that configuration and account as well. It was originally setup by @kborchers (I believe).

Oh, I'd been assuming that we would no longer be using cloudflare as a result of the switch to netlify. I'm fine with either option, though.

I'm also fine with dropping cloudflare. Actually Netlify is saying that you really shouldn't use another CDN in front of it. I don't know if it will result in any problems, but it's possible.

If we do drop Cloudflare, we need to make sure we set up HTTPS with Netlify, or the site won't load. (I'm pretty sure this is possible -- I'm just mentioning it in case it requires additional configuration.)

@not-an-aardvark It’s not too hard — Netlify will set up and automatically renew a Let’s Encrypt certificate with the click of a button. If you’re feeling really fancy, I believe there’s an option to upload a custom certificate too.

I think it makes sense to drop Cloudflare and use Netlify’s offerings. According to Netlify’s docs, it looks like we should just be able to create an A record pointing eslint.org to Netlify’s load balancer IP, and then once it verifies the domain configuration Netlify will be able to generate a cert for us.

Works for me -- it might be worth announcing site maintenance on twitter in case the switch causes some downtime while the cert is being generated.

There should be downtime since the site has an HSTS header that specifies that eslint.org should be hardcoded into browsers so it’s always visited over HTTPS.

I can reach out to our JSF contact and see if we can find a mutually convenient time for them to make these changes. That way, I can tweet this out as well.

There are a few kinks that need to be resolved (that look like they might work themselves out as the DNS changes propagate), but we have officially cut over to Netlify!
We should hold off on changing this repo until we're sure DNS changes have propagated, but then I'll be working on adding bundling into the build step as discussed.

One more thing we should discuss here: I've discovered that we can't actually unpublish this GitHub pages site unless we delete the master branch or delete (I think that means we can rename?) the repo. That means that once we add a build step, the site hosted at https://eslint.github.org will actually be broken. Thoughts on renaming the repo to eslint/website?
According to GitHub's documentation, it looks like it'll forward any traffic even if we rename it.

In addition to redirecting web traffic, all git clone, git fetch, or git pushoperations targeting the previous location will continue to function as if made on the new location.

One thing I'm not sure of is if we can rename it back to eslint/eslint.github.io, but since we plan on adding a build step, we probably want a non *.github.io repo anyway, so I don't think it's a concern for us.

I’m pretty sure that as long as you keep the CNAME file, GitHub will automatically redirect eslint.github.io to eslint.org.

Oh, interesting! I do think it would still be better to just rename the repo, but that's a good thing to keep to in mind.

We now have a build step! The final thing to decide here is if we want to stop publishing to GitHub Pages. As @j-f1 mention, it currently automatically redirects, but it doesn't feel great that we're deploying an unreachable broken site every time we merge.
Should we just rename this repo to eslint/website (See more info here).

The TSC voted today to rename this repository to eslint/website.

I have updated changed the repo name, made sure publishing to GitHub Pages is turned off, updated the Jenkins job, and made a PR to eslint/eslint to update the release script. Am I missing anything?

The eslint/eslint release script has now been updated and all the Jenkins scripts have been updated to use the new repository name while clone (though they should have worked regardless due to GitHub redirecting the requests).
I think we're done here! Thanks everyone for all the input!


Get list of whatsapp group name timeout issue

I have joined around total 50 whatsapp group in my WhatsApp account, I am trying to get list of all whatsapp group name(not chat_id) with following code
 chatids = driver.get_all_chat_ids()
       for chat in chatids:
            if<EMAIL_ADDRESS>in chat:
                chatname = driver.get_chat_from_id(str(chat))
                chat_str = str(chatname)

but it gives timeout error in for loop after 18 groups fetched.
chatname = driver.get_chat_from_id(str(chat))
Can anyone please help me?

I solved it. Here is:
window.WAPI.getGroupMetadata = async function (id, done) {
let output = window.Store.GroupMetadata.get(id);

if (output !== undefined) {
    if (output.stale) {
        await window.Store.GroupMetadata.update(id); // instead of output.update()
    }
}

if (done !== undefined) done(output);
return output;

};


Pass .bind($ctrl) to md-on-reorder causes invinite digest

I have the the following reorder function in my controller class (ES2015):
class MyController {
    constructor() {
        this.newOrder = 'name';
    }

    onReorder(order) {
        this.newOrder = order;
    }
}

And I referenced the onReorder function like this:
<table md-table>     <thead md-head md-order="$ctrl.newOrder" md-on-reorder="$ctrl.onReorder.bind($ctrl)">
Without .bind($ctrl) the context is obviously undefined. But passing .bind($ctrl) I receive the error:
vendor.js:56763 Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting!
How can I properly pass the context of my controller to the onReorder function?
The answer from @daniel-nagy  in changed how the onPaginate callback fn is bound seems kinda bad practice to me.

Don't use bind in your template, use it in your constructor.
class MyController {
    constructor() {
        this.newOrder = 'name';
        this.onReorder = this.onReorder.bind(this);
    }

    onReorder(order) {
        this.newOrder = order;
    }
}

I think using bind is forbidden in angular expressions becuase it creates a new function,

You can't declare functions or create regular expressions from within AngularJS expressions.

Also binding in the method in the constructor will be more efficient.

This approach looks a bit better to me.
I did not know that .bind() returns a new function. Using thing technic on filters like
| filter: $ctrl.filterFunc.bind($ctrl)
works.


Bullet point issue on readthedocs build

Hi!
Problem
This might be a duplicate  of https://github.com/readthedocs/sphinx_rtd_theme/issues/1300 or an issue which is related
to how readthedocs.io builds documentation, I am not entirely sure yet.
I have also found  https://stackoverflow.com/questions/67542699/readthedocs-sphinx-not-rendering-bullet-list-from-rst-file and https://github.com/readthedocs/sphinx_rtd_theme/issues/1115 but those are just quick guesses.
The readthedocs build of my repository currently has issue rendering bullet points.
The current latest docs can be found here: https://spacepackets.readthedocs.io/en/latest/
The project can be found here: https://github.com/us-irs/spacepackets-py
Building manually with make html inside the docs folder will render the bullet points properly.
I will try to find out whether this is a version issue, either with the Sphinx version or the
sphinx_rtd_theme version.
Expected Results
Please describe how this should work properly.
Environment Info

Python Version: On server: 3.8 , locally 3.10
Sphinx Version: On server: 6.1.3, local: TBD
RTD Theme Version: On server: 0.5.1 (but also downloads some older versions for some reason), local: TBD

UPDATE:
This is probably this issue: https://github.com/readthedocs/sphinx_rtd_theme/issues/1115#issuecomment-1373985356 which is explained there quite well for anyone who stumbles upon this.

You can try to pin something like sphinx-rtd-theme>=1.2.0rc3,<1.3 - Sphinx 6 and docutils 0.18 is supported here and all known visual regressions have been addressed.

Thanks for opening and elaborating!
Please LMK if this is fixed through the upgrade :+1: Otherwise, I'll have a look. We're hoping to release 1.2.0 tomorrow, aligning the theme release with a related bug fix on the RTD platform.

Hi,
Thanks for the quick answer :+1:
I actually was a bit impatient, a little bit of more reading and this issue would not have been required.
I solved the issue like you specified by pinning the sphinx-rtd_theme version to 1.2.0rc3.
More specifically, I have the following section in my .readthedocs.yaml now:
python:
   version: 3.8
   install:
      - requirements: docs/requirements.txt
      - method: pip
        path: .

and then I have a docs/requirements.txt file which simply contains sphinx_rtd_theme==1.2.0rc3. Now the bullet points render fine. This issue can be closed :-)

Thanks so much for the feedback @robamu - it's great to know that people are running the release candidate, makes it easier to ship the final release :+1:

Just reporting in. I had the same issue with the disappearing bullet points. Couldn't find the issue on the sphinx repo. Run the alabaster theme, that worked. The issue is with sphinx-rtd-theme 1.1.1. Using sphinx-rtd-theme>=1.2.0rc3,<1.3 solves the issue.


Add integration tests

Very neatly done and a nice addition to a tricky API - I like the tests around failure scenarios also.
Please go ahead and merge it.
In terms of DX, I think Kotlin developers would be interested in a few words around this:

I would move the comment about tests inside the Setup.md file and perhaps add an image to the doc folder.
Also, when we merge the Cypress stuff, maybe add a brief paragraph here, to distinguish between the 2 types of test:
https://curity.io/resources/learn/financial-grade-token-handler/#run-an-api-test-client


Url error with GitLab auth

I am trying to add a package from GitLab and am getting the following error in GitLab after the redirect
The redirect URI included is not valid.

This occurs when trying to add a package, and when trying to login with GitLab from https://repo.repman.io/login

This happens to me with a self-hosted Repman install as well, regardless of which of the three URIs specified in the standalone documentation I specify in the Group Application entry in Gitlab.
https://your-domain.local/auth/gitlab/check
https://your-domain.local/register/gitlab/check
https://your-domain.local/user/token/gitlab/check

I substituted in my repman DNS for your-domain.local of course.
I also tried https://your-domain.local/* with the same results


Added missing dependencies. Updated tensorflow imports.

Hi, thanks for providing this project. While trying to run the python speakerDiarization.py command in the README, I found there were several dependencies missing from the requirements.txt, so I've added them here. Since I don't know what versions this was originally written for, I used the most recent.
I suspect you originally used tensorflow<2, so I also updated a few imports to use the new tensorflow 2.

Yes, the tensorflow version I used was 1.14, thanks to point it out.

@chrisspen I'm trying to use your branch in Google Colab but I get the following error:
$ python speakerDiarization.py

2021-06-25 12:32:53.467256: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
Traceback (most recent call last):
  File "speakerDiarization.py", line 16, in <module>
    from ghostvlad import model as spkModel
  File "/content/Speaker-Diarization/ghostvlad/model.py", line 30, in <module>
    class VladPooling(keras.engine.Layer):
AttributeError: module 'keras.engine' has no attribute 'Layer'

My Python libraries version:
Keras==2.4.3
tensorflow==2.5.0
torch==1.9.0+cu102

If I change it to:
torch==0.4.1
Keras==2.3.1
tensorflow==2.0.0
PyAudio==0.2.11

$ python speakerDiarization.py

Using TensorFlow backend.
Traceback (most recent call last):
  File "speakerDiarization.py", line 16, in <module>
    from ghostvlad import model as spkModel
  File "/content/Speaker-Diarization/ghostvlad/model.py", line 4, in <module>
    import keras
  File "/usr/local/lib/python3.7/dist-packages/keras/__init__.py", line 3, in <module>
    from . import utils
  File "/usr/local/lib/python3.7/dist-packages/keras/utils/__init__.py", line 26, in <module>
    from .vis_utils import model_to_dot
  File "/usr/local/lib/python3.7/dist-packages/keras/utils/vis_utils.py", line 7, in <module>
    from ..models import Model
  File "/usr/local/lib/python3.7/dist-packages/keras/models.py", line 10, in <module>
    from .engine.input_layer import Input
  File "/usr/local/lib/python3.7/dist-packages/keras/engine/__init__.py", line 3, in <module>
    from .input_layer import Input
  File "/usr/local/lib/python3.7/dist-packages/keras/engine/input_layer.py", line 7, in <module>
    from .base_layer import Layer
  File "/usr/local/lib/python3.7/dist-packages/keras/engine/base_layer.py", line 12, in <module>
    from .. import initializers
  File "/usr/local/lib/python3.7/dist-packages/keras/initializers/__init__.py", line 124, in <module>
    populate_deserializable_objects()
  File "/usr/local/lib/python3.7/dist-packages/keras/initializers/__init__.py", line 49, in populate_deserializable_objects
    LOCAL.GENERATED_WITH_V2 = tf.__internal__.tf2.enabled()
AttributeError: module 'tensorflow_core.compat.v2' has no attribute '__internal__'

@chrisspen I'm trying to use your branch in Google Colab but I get the following error:
$ python speakerDiarization.py

2021-06-25 12:32:53.467256: I tensorflow/stream_executor/platform/default/dso_loader.cc:53] Successfully opened dynamic library libcudart.so.11.0
Traceback (most recent call last):
  File "speakerDiarization.py", line 16, in <module>
    from ghostvlad import model as spkModel
  File "/content/Speaker-Diarization/ghostvlad/model.py", line 30, in <module>
    class VladPooling(keras.engine.Layer):
AttributeError: module 'keras.engine' has no attribute 'Layer'

My Python libraries version:
Keras==2.4.3
tensorflow==2.5.0
torch==1.9.0+cu102

If I change it to:
torch==0.4.1
Keras==2.3.1
tensorflow==2.0.0
PyAudio==0.2.11

$ python speakerDiarization.py

Using TensorFlow backend.
Traceback (most recent call last):
  File "speakerDiarization.py", line 16, in <module>
    from ghostvlad import model as spkModel
  File "/content/Speaker-Diarization/ghostvlad/model.py", line 4, in <module>
    import keras
  File "/usr/local/lib/python3.7/dist-packages/keras/__init__.py", line 3, in <module>
    from . import utils
  File "/usr/local/lib/python3.7/dist-packages/keras/utils/__init__.py", line 26, in <module>
    from .vis_utils import model_to_dot
  File "/usr/local/lib/python3.7/dist-packages/keras/utils/vis_utils.py", line 7, in <module>
    from ..models import Model
  File "/usr/local/lib/python3.7/dist-packages/keras/models.py", line 10, in <module>
    from .engine.input_layer import Input
  File "/usr/local/lib/python3.7/dist-packages/keras/engine/__init__.py", line 3, in <module>
    from .input_layer import Input
  File "/usr/local/lib/python3.7/dist-packages/keras/engine/input_layer.py", line 7, in <module>
    from .base_layer import Layer
  File "/usr/local/lib/python3.7/dist-packages/keras/engine/base_layer.py", line 12, in <module>
    from .. import initializers
  File "/usr/local/lib/python3.7/dist-packages/keras/initializers/__init__.py", line 124, in <module>
    populate_deserializable_objects()
  File "/usr/local/lib/python3.7/dist-packages/keras/initializers/__init__.py", line 49, in populate_deserializable_objects
    LOCAL.GENERATED_WITH_V2 = tf.__internal__.tf2.enabled()
AttributeError: module 'tensorflow_core.compat.v2' has no attribute '__internal__'

Hi, could you come up with a soloution for this. I came across the same issue!

This project doesn't work, even with the correct libraries, and it seems to be abandoned. I wouldn't waste your time trying to use it.


Enable autoround quantization

Needs neural-compressor >= v2.6.0  to avoid  incompatibility with itrex
coming from missing n_samples argument and train_bs / bs mismatch  :
https://github.com/intel/intel-extension-for-transformers/blob/v1.4.2/intel_extension_for_transformers/transformers/llm/quantization/utils.py#L397
https://github.com/intel/neural-compressor/blob/v2.5.1/neural_compressor/adaptor/torch_utils/auto_round.py#L19

ITREX was deprecated in : https://github.com/huggingface/optimum-intel/pull/880


Add other slash commands

Can you please add other slash commands for example rps, snake, connect4 with buttons or can you convert the prefixes commands into slash commands please. it would be much appreciated 😊

would be great

Soon™


upgrade to latest elastic 6.3.0

Upgrades elasticsearch to 6.3.0

/assign @icereval

version already old and not picked up by reviews - coming back with updated version


fix styles on Personal page on Admin interface

[ ] Save button: Replace success alert text “Account successfully updated.” to “All changes have been saved.”
[ ] Remove HR (class “my-0”) at the top of main container:

[ ] Remove our label class for form-elements, use default Tabler’s “form-label” class (our class adds extra spacing)
[ ] In navbar dropdown menu active style is not applied for corresponding link when Settings page is opened:

Source doc

We want to have tabler's styles for label as here. I.e. font-size 14px, font-weight 500, 8px spacing between label and form-element (without extra paddings in label).

@amgalanbadmaev may i ask you to check changes on prod

For user_name and company_name fields clicking on label doesn't make input focused. Should be focused as in Edit email template page.


Open contributions

It could be great to encourage contributions. We need:

a tutorial explaining how to contribute
some CI to make some tests to decide acceptation

How to contribute
Let us consider you want to add a method to solve an optimal control problem. First, you need to define a method which takes an optimal control problem as input and returns a solution. More precisely, the signature should be of the form:
using CTBase: OptimalControlModel, OptimalControlSolution

mysolve(
    ocp::OptimalControlModel,
    description::Symbol...;
    kwargs...
)::OptimalControlSolution

API
The types OptimalControlModel and OptimalControlSolution are mutable structs:

OptimalControlModel
OptimalControlSolution

However, it is better not to access fields directly in the case of a change in the api. Hence, it would be better to access data of the model from the getters.
To construct an OptimalControlSolution, please use the following constructors:

Fixed optimal control problem
NonFixed optimal control problem

where Fixed means that there are no variables in the problem and NonFixed the contrary.
Customize the signature of your solver
Actually, you can customize the keyword arguments. For the other arguments, they must be ocp::OptimalControlModel, description::Symbol.... However, for the keyword arguments, you can set you own. Imagine your solver needs an initial guess, then, you can decide to define:
using CTBase: OptimalControlModel, OptimalControlSolution

mysolve(
    ocp::OptimalControlModel,
    description::Symbol...;
    init,                                          # initial guess
    kwargs...
)::OptimalControlSolution

Note that we provide a default valuer for the initial guess: CTBase.__ocp_init(). It is simply nothing. Hence, you can choose to set the default value and define:
using CTBase: OptimalControlModel, OptimalControlSolution, __ocp_init

mysolve(
    ocp::OptimalControlModel,
    description::Symbol...;
    init::__ocp_init(),                      # initial guess
    kwargs...
)::OptimalControlSolution

The two required methods
The first method which is required is mysolve. The second method must be named available_methods. This method returns a list of descriptions that correspond to possibilities offered by your solver. Imagine you use ADNLPModels.jl to modelise the optimisation problem (if you transform the optimal control problem to an optimisation problem) and you use either Ipopt or MadNLP to solve the optimisation problem. In this case, you can define:
function available_methods()
    # available methods by order of preference
    algorithms = ()
    algorithms = add(algorithms, (:adnlp, :ipopt))
    algorithms = add(algorithms, (:adnlp, :madnlp))
    return algorithms
end

Note that :adnlp is not strictly necessary since there is no alternative but it permits to prepare future possibilities or to explicit a little bit more the method.
Note that the descriptions are added by order of priority. If the user makes:
mysolve(ocp, :adnlp)

then, the chosen method is (:adnlp, :ipopt). The user may not give a complete description. The following are equivalent:
mysolve(ocp)
mysolve(ocp, :adnlp)
mysolve(ocp, :adnlp, :ipopt)

To recap, you need to define:

mysolve
available_methods

Initial guess
To be completed
Add you method to OptimalControl
To be completed

See

https://docs.github.com/en/get-started/exploring-projects-on-github/contributing-to-a-project
https://github.com/firstcontributions/first-contributions
https://docs.github.com/fr/communities/setting-up-your-project-for-healthy-contributions/setting-guidelines-for-repository-contributors

It could be nice to make a template.


SQLite 3.26.0

Hi, just wondering if/when SQLite version will be upgraded to 3.26.0?

I've upgraded to sqlite 3.26.0, and made a new tag for version 0.5.0 of this library.  Thanks!


include: posix: Fix incorrect casting of timeval on zsock_timeval.

Current implementation of select() method wrongly assumes that
timeval type can be directly casted into zsock_timeval, while it's
true only when using CONFIG_NET_SOCKETS_POSIX_NAMES. In other case
i.e. using CONFIG_POSIX_API, timeval is provided by standard lib
and mentioned two structure types have fields of different size,
what leads to assigning them incorrect values.
Signed-off-by: Kamil Kasperczyk<EMAIL_ADDRESS>

When the original code was written, there were assumptions that: a) Zephyr is intended to be small embedded RTOS, so unneeded code should be avoided; b) the layout of zsock_timeval was specifically made to match layout of Newlib's (as bundled with Zephyr SDK) struct timeval.

When the original code was written, there were assumptions that: a) Zephyr is intended to be small embedded RTOS, so unneeded code should be avoided; b) the layout of zsock_timeval was specifically made to match layout of Newlib's (as bundled with Zephyr SDK) struct timeval.

Maybe I will explain the reason why I proposed this change, to clarify situation. I met with the problem that using CONFIG_POSIX_API=y leads to the situation when timeval has tv_sec field of 8 B size and tv_usec of 4 B size, while for zsock_timeval both of them are 4 B. Because of the direct casting of one type to another, field values are not assigned in the expected way and select method is not working properly (time spent on sleeping is different from the expected). You wrote that there were few assumptions made, so is it kind of desired operation? If solution that I proposed is wrong, could you suggest how can I fix my problem?

I met with the problem that

Perhaps, the most useful information here would be: in what config you met that situation (what libc, etc.)
I don't say that this change is wrong, just that the original idea was to support CONFIG_POSIX_API with just Newlib, as otherwise there're just too many combinations (often of unknowns) to support. Of course, if people want to support more combos, why not.

If solution that I proposed is wrong, could you suggest how can I fix my problem?

Again, not saying it's wrong, but another option would be, for the case of CONFIG_POSIX_API, to rely on the declaration of struct timeval of the underlying libc, and make zsock_timeval a #define to it. (Of course, also need to handle case of !CONFIG_POSIX_API).

@pfalcon
timeval from newlib is defines as:
struct timeval {
	time_t		tv_sec;		/* seconds */
	suseconds_t	tv_usec;	/* and microseconds */
};

where, by default, time_t == _TIME_T which in turn is defined as follows:
#if defined(_USE_LONG_TIME_T) || __LONG_MAX__ > 0x7fffffffL
#define	_TIME_T_ long
#else
#define	_TIME_T_ __int_least64_t
#endif

Thus sizeof(time_t) == 8 unless you override the config.
zsock_timeval is, on the other hand, defined as:
struct zsock_timeval {
	/* Using longs, as many (?) implementations seem to use it. */
	long tv_sec;
	long tv_usec;
};

Hence if you say that both structures should match in ARM+newlib scenario it's simply not the case. Should we then fix zsock_timeval to use time_t and get definition of that type from libc headers?

@Damian-Nordic: So, newlib was upgraded over this time too.
Anyway, the commit message here said "wrongly assumes", and I proceeded to explain that it actually was the "baseline assumption", which is of course holds only under specific setup.
How to fix it - add layers of marshalling like this patch does, or uphold the original idea of avoiding that whenever possible - is up to new maintainers of the POSIX subsys (when I was one, I clearly leaned on the side to avoid adding extra layers, whenever possible. But the lack of consensus and clear direction how to do things for the subsys is why I resigned.)

Ok then, @aescolar could you comment on this PR, as I found that you are POSIX maintainer?

Ok then, @aescolar could you comment on this PR, as I found that you are POSIX maintainer?

He's maintainer of native_posix port of Zephyr. See e.g. https://github.com/zephyrproject-rtos/zephyr/issues/13054

@kkasperczyk-no, @Damian-Nordic: Generally, this patch should be fine. I'm sure it will be approved. I apologize for not doing that myself, as it literally goes sideways with the direction I tried to move the POSIX subsys in, and spent a lot of effort on that. (But neither can I encourage you to go the same way, as I myself very well know that it's full of obstacles and stumble points, vs just applying local workarounds like this.)

Ok then, @aescolar could you comment on this PR, as I found that you are POSIX maintainer?

He's maintainer of native_posix port of Zephyr. See e.g. #13054

Correct, they are not the same thing :)

@pfalcon That's fine. We appreciate your comments and we don't want to negatively impact the code quality, but we may not understand all the design principles of the POSIX layer, so it's hard for us to make the decision which way to go.
Suppose that we want to follow the rule that all Zephyr structures match libc counterparts. Why isn't that relationship expressed explicitly in the code? I can see a lot of structures are assumed to be the same, but this assumption doesn't seem to be checked anywhere. Is it because we don't want inner Zephyr layers depend on the POSIX layer (i.e. we want the Socket layer to stay the same regardless of how it is used)? If so, isn't the marshaling approach that we proposed more natural?

Suppose that we want to follow the rule that all Zephyr structures match libc counterparts. Why isn't that relationship expressed explicitly in the code?

Because the whole POSIX subsys is "experimental" and many things about it are "RFC". There were various proposals, e.g. https://github.com/zephyrproject-rtos/zephyr/issues/17706, https://github.com/zephyrproject-rtos/zephyr/issues/13787, https://github.com/zephyrproject-rtos/zephyr/issues/13054, but I never received enough feedback on them.

Is it because we don't want inner Zephyr layers depend on the POSIX layer (i.e. we want the Socket layer to stay the same regardless of how it is used)?

Yes, that's kind of how it all started - POSIX subsys is just a layer on top of native Zephyr API. But as I delved into the subsys (and I inherited it from other folks, and trust me, it was in much worse shape then), and thought how to optimize various parts of POSIX API implementation, it became clear to me that to achieve that, Zephyr kernel would need to be tweaked to be more POSIX-friendly. But whether that should be done or not depends on what place POSIX support has in Zephyr, and even that was never answered well and clear.

(i.e. we want the Socket layer to stay the same regardless of how it is used)?

In Socket layer you also can see traces of its evolution - it started as experimental layer on top of "native networking" API, and the first main goal was to show concerned people that it's not big bloat and a very viable alternative to the adhoc API. It won and became the main Zephyr networking API, but some its initial traits (including small code, etc. overhead) are there. E.g., by all means, CONFIG_NET_SOCKETS_POSIX_NAMES is a chore, and if someone says "It's a chore, let's drop it", I wouldn't argue. Myself, I'm not the best person to do that, given how much effort I spent to implement and maintain it that way already (so, it's easier for me to apply yet another workaround when it bites).

If so, isn't the marshaling approach that we proposed more natural?

Maybe it is, but: a) it requires stack allocation for extra struct copy; b) requires dummy code to move values around. Obviously, for one case, it's nothing, but as you understand, we discuss the general approach. And my approach had always been "Nobody's going to optimize it later, so think about "small" things (multiplied in dozens/hundreds) right away."

for the case of CONFIG_POSIX_API, to rely on the declaration of struct timeval of the underlying libc, and make zsock_timeval a #define to it. (Of course, also need to handle case of !CONFIG_POSIX_API).

@pfalcon I tried to follow your suggestions and not make local fix. Could you verify if it's what you meant?

@kkasperczyk-no:

@pfalcon I tried to follow your suggestions and not make local fix. Could you verify if it's what you meant?

I appreciate giving it a try! However, I meant more along the lines of:
#ifdef CONFIG_POSIX_API
// For POSIX API, we rely on the underlying libc definition
#define zsock_timeval timeval
#else
... (original zsock_timeval declaration as it stands now)
#endif

Can you give that a quick try to see if it works (it should, but that's the magic of POSIX subsys that even seemingly simple changes may lead to unobvious effects) ?

@kkasperczyk-no:

@pfalcon I tried to follow your suggestions and not make local fix. Could you verify if it's what you meant?

I appreciate giving it a try! However, I meant more along the lines of:
#ifdef CONFIG_POSIX_API
// For POSIX API, we rely on the underlying libc definition
#define zsock_timeval timeval
#else
... (original zsock_timeval declaration as it stands now)
#endif

Can you give that a quick try to see if it works (it should, but that's the magic of POSIX subsys that even seemingly simple changes may lead to unobvious effects) ?

@pfalcon sorry for slow responding, but I had some other work to do. I tried to introduce solution proposed by you and it partially worked, but there was a problem with lack od timeval declaration for older Newlib version. I declared timeval structure for the older Newlib as a workaround, because including <sys/time.h>, where this workaround is already done didn't help in every case. The problem I had was "No such file or directory <sys/time.h>" compilation error in CI for some samples (e.g. tests/posix/eventfd and tests/posix/eventfd_basic) and platforms (e.g. qemu_cortex_r5). It was quite weird, because when I compiled it locally everything was fine, so I guess that there success depends on the including order inside of the Zephyr. Current solution seems to work and build on every platform properly.

@kkasperczyk-no

sorry for slow responding, but I had some other work to do

I once again appreciate giving a try to an alternative solution. In all fairness, I didn't expect you to, or I would have said "please spend nor more than half an hour of it, if it didn't work out, can go with a simpler workaround". And well, now I see for yourself how it may be hard (in the sense of "tangled") to get POSIX subsys and libc integration "right".
Looks good (as an input for next stage, where we should find better ways to deal with it), thanks!


Be able to determine how many times a search term has appeared in filter when using acrossElements

Is your feature request related to a problem? Please describe.
Currently if you match a term using acrossElements: true, every mark in every element increments the counters provided in filter. If you want to (for example) only mark the first instance of that term, you don't have a counter for that.
Describe the solution you'd like
A separate counter to track how many times a single match has been marked.
Describe a potential solution approach
Described above.
Additional context
Here is an example of the problem: https://jsfiddle.net/xtdchk1a/1/
If you look at the console, every call to filter increments all counters. Ideally you would have a counter that is 0 when it runs the first two times, and 1 when it runs the second two times.

It's possible this is actually a bug as described here: https://github.com/julmot/mark.js/issues/468

+1
I opened #468 for similar reasons. It was closed due to inactivity.