text:
[Feature] Facilitate fuzzing by enabling advanced backtrace

🚀 Feature
This is a copy of https://github.com/AleoHQ/leo/issues/1204, basically, when we saw an error, we do not know where the error comes from. For example, the AssignmentMissing may cause a panic at a specific level where an unwrap is done, but the actual error is passed up layers and layers, and what is most useful is what is the bottom layer.
Motivation
Honestly I still don't know how to implement it, so I will look at what happens in Leo.
Implementation
TBD waiting for Leo's move.

In arkworks we use tracing for this, but it's a bit heavyweight

authors: Pratyush weikengchen

repo: AleoHQ/snarkVM


text:
Digest Continue Reading Link

Conversation topics in the digest link to the conversation on the website, but it might be nice to also have a "Continue Reading" or "More" link at the end of each conversation, so the reader can read the rest of the conversation tree without needing to scroll back through the epub to the start.

This feature will be introduced in the January 2022 edition.

source: gharchive/issue

repo: AletheiaWareLLC/conveyearthgo

license_type: permissive

license_source: github-api


text:
Window just hangs when I close it

I'm on a Mac OS X
So here's a script that I'm runnning:
(ql:quickload :cl-glfw3)
(ql:quickload :cl-opengl)
(ql:quickload :trivial-main-thread)

(glfw:def-key-callback quit-on-escape (window key scancode action mod-keys)
  (declare (ignore window scancode mod-keys))
  (when (and (eq key :escape) (eq action :press))
    (glfw:set-window-should-close)))

(defun render ()
  (gl:clear :color-buffer)
  (gl:with-pushed-matrix
    (gl:color 1 1 1)
    (gl:rect -25 -25 25 25)))

(defun set-viewport (width height)
  (gl:viewport 0 0 width height)
  (gl:matrix-mode :projection)
  (gl:load-identity)
  (gl:ortho -50 50 -50 50 -1 1)
  (gl:matrix-mode :modelview)
  (gl:load-identity))

(glfw:def-window-size-callback update-viewport (window w h)
  (declare (ignore window))
  (set-viewport w h))

(defun basic-window-example ()
  ;; Graphics calls on OS X must occur in the main thread
  ;; Though I have found that it works without this
  (trivial-main-thread:with-body-in-main-thread ()
    (glfw:with-init-window (:title "Window test" :width 600 :height 400)
      (setf %gl:*gl-get-proc-address* #'glfw:get-proc-address)
      (glfw:set-key-callback 'quit-on-escape)
      (glfw:set-window-size-callback 'update-viewport)
      (gl:clear-color 0 0 0 0)
      (set-viewport 600 400)
      (loop until (glfw:window-should-close-p)
            do (render)
            do (glfw:swap-buffers)
            do (glfw:poll-events)))))

It is practically a clone of the basic window example (https://github.com/AlexCharlton/cl-glfw3/blob/master/examples/basic-window.lisp) but I've namespaced functions (trying to help myself learn 😄)
When I run it in the REPL, a window loads with a white rectangle, which is great. The only problem is that when I click the close button on the window, it doesn't close. The loop ends, but the window remains open.
I've tried adding
(glfw:destroy-window)
(glfw:terminate)

after the loop terminates but still no luck.
Edit: I see now that with-init-window automatically destroys the window and terminates GLFW so there's no point adding more calls
Do you have any ideas?
This seems reminiscent of this problem: https://stackoverflow.com/q/22312630
But as far as I can tell the proposed solutions have already been done in the example
🤔
Thanks,
Luke
PS I'm finding this project greatly helpfulp in learning Common Lisp and feeling the power of setting up graphics on the fly in a REPL. Thanks!

I'm having the same problem with the vanilla cl-glfw3-examples:basic-window-example on macOS Catalina 10.15.
I'm suspecting it's an incompatibility between macOS Catalina and the native glfw3 library, rather than an issue with this cl-glfw3 Lisp package.
SBCL version:
% sbcl --version
SBCL 1.5.7

To reproduce:
% sbcl
:
* (ql:quickload :cl-glfw3-examples)
* (cl-glfw3-examples:basic-window-example)

debugger invoked on a FLOATING-POINT-INVALID-OPERATION in thread
#<THREAD "main thread" RUNNING {10005084C3}>:
  arithmetic error FLOATING-POINT-INVALID-OPERATION signalled
:

Stack trace:
0] backtrace
Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {10005084C3}>
0: ("bogus stack frame")
1: ("foreign function: InstallEventLoopTimerInternal")
2: ("foreign function: InstallActivateTSMDocument_Timer")
3: ("foreign function: MyDeactivateTSMDocument")
4: ("foreign function: DeactivateTSMDocument")
5: ("foreign function: -[NSTextInputContext deactivate]")
6: ("foreign function: +[NSTextInputContext currentInputContext_withFirstResponderSync:]")
7: ("foreign function: -[NSView _setWindow:]")
8: ("foreign function: __21-[NSView _setWindow:]_block_invoke_2")
9: ("foreign function: -[NSView _setWindow:]")
10: ("foreign function: -[NSWindow dealloc]")
11: ("foreign function: -[NSWindow _dealloc]")
12: ("foreign function: _ZN19AutoreleasePoolPage12releaseUntilEPP11objc_object")
13: ("foreign function: objc_autoreleasePoolPop")
14: ("foreign function: glfwDestroyWindow")
15: (%CL-GLFW3:DESTROY-WINDOW :INVALID-VALUE-FOR-UNESCAPED-REGISTER-STORAGE)
16: (CL-GLFW3:DESTROY-WINDOW #.(SB-SYS:INT-SAP #X00352490))
:

GLFW version:
So it seems to fail in code triggered by the glfw library. I have:
% brew info glfw
glfw: stable 3.3 (bottled), HEAD
:

Startup:
I've also seen it crash with the same exception at start-up, triggered by a different code path:
0] backtrace

Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {10005084C3}>
0: ("bogus stack frame")
1: ("foreign function: hashProbe")
2: ("foreign function: -[NSConcreteHashTable addObject:]")
3: ("foreign function: -[NSCGLSurface flushRect:]")
4: ("foreign function: NSCGLSurfaceFlush")
5: ("foreign function: glSwap_Exec")
6: ("foreign function: CGLFlushDrawable")
7: ("foreign function: -[NSOpenGLContext flushBuffer]")
8: ("foreign function: swapBuffersNSGL")
9: (%CL-GLFW3:SWAP-BUFFERS :INVALID-VALUE-FOR-UNESCAPED-REGISTER-STORAGE)
10: ((LAMBDA NIL :IN CL-GLFW3-EXAMPLES:BASIC-WINDOW-EXAMPLE))
:

I suspect this is because the main thread is still running even after the window is closed, because the window is not closed by the callback from quit-on-escape, which sets (set-window-should-close), whichhhhh the loop in main thread checks for ....

I also have the same issue.

glfw: stable 3.3.8 (bottled), HEAD
SBCL 2.3.9
OSX 14.1

I did a bit of searching and testing and found this reddit thread:

https://www.reddit.com/r/Common_Lisp/comments/wmvk11/sbcl_with_opengl_on_macos_possible/

The following code works for me with the exception that pressing ESC closes the window. Pressing the (x) button on the  window still leaves the open window.
(ql:quickload '(:cl-glfw3  :cl-glfw3-examples :trivial-main-thread))   (trivial-main-thread:call-in-main-thread    (lambda ()      (sb-int:set-floating-point-modes :traps nil)      (cl-glfw3-examples:basic-window-example)))

authors: Inc0n Kungi haerfest lukehesluke

license_source: bigquery


text:
Document river module set-tags and toggle-tags

#1950 introduced new undocumented configuration options set-tags and toggle-tags. The wiki may benefit from updates.

Yes!
If you have time got update the Wiki, anyone can update it :)

I don't understand it, otherwise I would. Perhaps the author of the change may be the best resource.

authors: Alexays pnelson

repo: Alexays/Waybar

license: MIT


text:
Delayed Switch State Update in Local mode with 15A 1 gang altobeam Wall Switch

Dear Community,
Exellent work by the SonoffLAN team I must mention.
I am heavily invested in use of Ewelink and Sonnoff range of products.
I have been having issues with my 1 gang wall switch labelled GTWS78 by AltoBeam Firmware: 1.4.1. Unfortunately, I have several of these switches becuase I used them in a whole house automation project.  I have just upgraded my SonoffLAN version to 3.5.1
Please see attached debug snapshots (look at the time Stamps). It takes in some cases up to 30 seconds before the Switch State is correctly updated in Home Assistant. However, actual action of switching ON or OFF happens less than a second.  I have reviewed #issue 928 looks like it does not apply to me. Please note this behaviour only happens in LAN mode ONLY. Auto or Cloud Mode works fine.
All other TX3C wall switches by SONOFF work flawlessly in LAN mode without this annoying behaviour.
I will really appreciate any assistance becuase changing all the switches is really not an option plus I cant even find 15A wall switch official sonoff.
`

LAN MODE

Switch Turned OFF

2023-04-04 14:04:43 [D] 100119e9e5 => Local4 | 192.168.210.63:8080 | {'switches': [{'outlet': 0, 'switch': 'off'}]} <= {'sequence': '1680613483000', 'encrypt': True, 'seq': 2073, 'error': 0, 'iv': 'MTA4MDc1MTQ5NzE5ODE2Ng==', 'data': 'D85ho6GLI5uFX2b1+vohUIb+Xt99f55wxsBsNhqpPQdQ/WNc3ZTlCi1UVFiFU5cnaCPjvXPG6pqfHqXdtCO2fA=='}
2023-04-04 14:04:43 [D] Can't decrypt message|  File "/config/custom_components/sonoff/core/ewelink/init.py", line 258, in local_update|    params = self.local.decrypt_msg(msg, device["devicekey"])|json.decoder.JSONDecodeError: Extra data: line 1 column 47 (char 46)|
2023-04-04 14:05:01 [D] 100119e9e5 <= Local3 | 192.168.210.63:8080 | {'switches': [{'outlet': 0, 'switch': 'off'}], 'configure': [{'outlet': 0, 'startup': 'stay'}], 'switch': 'off', 'startup': 'stay', 'pulse': 'off', 'lock': 0, 'sledOnline': 'on'} | 2075
Switch Turned ON

2023-04-04 14:06:54 [D] 100119e9e5 => Local4 | 192.168.210.63:8080 | {'switches': [{'outlet': 0, 'switch': 'on'}]} <= {'sequence': '1680613614000', 'encrypt': True, 'seq': 2079, 'error': 0, 'iv': 'MzExMjYzMjExMjg2NTY5NA==', 'data': 'NHewKeJnfAemTtt0s6L7EgNbEK//e8ldIUUj6WIw45Ctg0OvBTQA3yIEr6R+2kaNVoV//anF8X5xltDaTjM4Tg=='}
2023-04-04 14:06:54 [D] Can't decrypt message|  File "/config/custom_components/sonoff/core/ewelink/init.py", line 258, in local_update|    params = self.local.decrypt_msg(msg, device["devicekey"])|json.decoder.JSONDecodeError: Extra data: line 1 column 46 (char 45)|
2023-04-04 14:07:01 [D] 100119e9e5 <= Local3 | 192.168.210.63:8080 | {'switches': [{'outlet': 0, 'switch': 'on'}], 'configure': [{'outlet': 0, 'startup': 'stay'}], 'switch': 'on', 'startup': 'stay', 'pulse': 'off', 'lock': 0, 'sledOnline': 'on'} | 2081

AUTO MODE

Switch Turned OFF

2023-04-04 14:16:09 [D] 100119e9e5 => Local4 | 192.168.210.63:8080 | {'switches': [{'outlet': 0, 'switch': 'off'}]} <= {'sequence': '1680614169000', 'encrypt': True, 'seq': 2101, 'error': 0, 'iv': 'MTQzMzQ2NDkyOTMxOTcyMg==', 'data': '9/bl3peTubDcAPNN+UOUagGyXe+OYP9UTi5shKJdMTui8aXGerIIRQORw/wJrqLZDhZl+yDQ3YOVUYD9ej/H1w=='}
2023-04-04 14:16:09 [D] Can't decrypt message|  File "/config/custom_components/sonoff/core/ewelink/init.py", line 258, in local_update|    params = self.local.decrypt_msg(msg, device["devicekey"])|json.decoder.JSONDecodeError: Extra data: line 1 column 47 (char 46)|
2023-04-04 14:16:10 [D] 100119e9e5 <= Cloud3 | {'switches': [{'outlet': 0, 'switch': 'off'}, {'outlet': 1, 'switch': 'off'}, {'outlet': 2, 'switch': 'off'}, {'outlet': 3, 'switch': 'off'}]} | 1680614169000`

Device Daignosis Information While SonoffLan in LAN mode
{
"home_assistant": {
"installation_type": "Home Assistant OS",
"version": "2023.3.6",
"dev": false,
"hassio": true,
"virtualenv": false,
"python_version": "3.10.10",
"docker": true,
"arch": "x86_64",
"timezone": "Africa/Lagos",
"os_name": "Linux",
"os_version": "5.15.90",
"supervisor": "2023.03.3",
"host_os": "Home Assistant OS 9.5",
"docker_version": "20.10.22",
"chassis": "vm",
"run_as_root": true
},
"custom_components": {
"sonoff": {
"version": "3.5.1",
"requirements": [
"pycryptodome>=3.6.6"
]
},
"pfsense": {
"version": "0.1.0",
"requirements": [
"mac-vendor-lookup>=0.1.11"
]
},
"hacs": {
"version": "1.31.0",
"requirements": [
"aiogithubapi>=22.10.1"
]
}
},
"integration_manifest": {
"domain": "sonoff",
"name": "Sonoff",
"config_flow": true,
"documentation": "https://github.com/AlexxIT/SonoffLAN",
"issue_tracker": "/api/sonoff/67367b53-b7d7-4223-a4a6-42ddc4150d02",
"codeowners": [
"@AlexxIT"
],
"dependencies": [
"http",
"zeroconf"
],
"requirements": [
"pycryptodome>=3.6.6"
],
"version": "3.5.1",
"iot_class": "local_push",
"is_built_in": false
},
"data": {
"version": "122751c",
"cloud_auth": true,
"config": null,
"options": {
"mode": "local",
"debug": true,
"homes": 1
},
"errors": [],
"device": {
"uiid": 78,
"params": {
"bindInfos": "",
"version": 8,
"switches": [
{
"outlet": 0,
"switch": "on"
},
{
"outlet": 1,
"switch": "off"
},
{
"outlet": 2,
"switch": "off"
},
{
"outlet": 3,
"switch": "off"
}
],
"configure": [
{
"outlet": 0,
"startup": "stay"
}
],
"switch": "on",
"startup": "stay",
"staMac": "",
"fwVersion": "1.4.1",
"pulse": "off",
"pulseWidth": 1000,
"lock": 0,
"sledOnline": "on",
"rssi": -70,
"cmd": "info"
},
"model": "GTWS78",
"online": true,
"local": true,
"localtype": "strip",
"host": "192.168.210.63:8080",
"deviceid": "100119e9e5"
}
}
}

I need your device "devicekey". With it I can decode response and check what is wrong.
You can find device key here: /config/.storage/sonoff/...json

Awesome Thanks for getting back to me. As I have several of them. and it appears they all have different 'devicekey' I have picked 2 of them. Please find below. do let me know if you require the rest.
"name": "##### Heater",
"deviceid": "100119e52a",
"devicekey": "26e6e7ab-7305-48be-b2ef-2fc08ae64083"
"name": "###### Room AC",
"deviceid": "100119e066",
"devicekey": "c8ee08b3-457c-4f27-9ccd-21389da27b13",

I need your device "devicekey". With it I can decode response and check what is wrong. You can find device key here: /config/.storage/sonoff/...json

Awesome Thanks for getting back to me. As I have several of them. and it appears they all have different 'devicekey' I have picked 2 of them. Please find below. do let me know if you require the rest.
"name": "##### Heater",
"deviceid": "100119e52a",
"devicekey": "26e6e7ab-7305-48be-b2ef-2fc08ae64083"
"name": "###### Room AC",
"deviceid": "100119e066",
"devicekey": "c8ee08b3-457c-4f27-9ccd-21389da27b13",

I need key for device 100119e9e5 from your first msg

I need key for device 100119e9e5 from your first msg

Appologies. Please find below as requested
"devicekey": "9b0810bc-557a-406c-8266-614767890531"

Fixed. You can use master version before next release

Fixed. You can use master version before next release

Wow super awesome. thanks a lot. It appears this patch 'just' missed the v3.5.3 relsease'. Honestly I actually don't know use the raw source code or the master version in HACS.
Will snoop around for how to do this otherwise I will just wait till the next realease with the joy this matter will be laid to rest now. super super happy
Mega Thanks

Fixed. You can use master version before next release

Wow super awesome. thanks a lot. It appears this patch 'just' missed the v3.5.3 relsease'. Honestly I actually don't know use the raw source code or the master version in HACS.
Will snoop around for how to do this otherwise I will just wait till the next realease with the joy this matter will be laid to rest now. super super happy
Mega Thanks

Scratch That found it !!!!! Feedback coming up soon

Fixed. You can use master version before next release

2023-10-15 23:09:10 [D] 100119de1a => Local4 | 192.168.210.62:8080 | None <= {'sequence': '1697407750000', 'encrypt': True, 'seq': 4142, 'error': 0, 'iv': 'MjAzOTAyMDQzNDM5MDAzNQ==', 'data': 'ND3KdUF5iUb7RtCPCOUWoCz86+1KvNOON4Q92tFWhoI='}

2023-10-15 23:09:10 [D] Can't decrypt message|  File "/config/custom_components/sonoff/core/ewelink/__init__.py", line 263, in local_update|    params = self.local.decrypt_msg(msg, device["devicekey"])| ```

Ok a little bit of feedback

Unfortunately the controls are still seriously lagging. I have been able to update to v3.5.3. Also I thought I have used the 'master' version as well. Rebooted. Home assistant still same. if I use cloud or auto everything is fine.

 Thanks again

This patch not included to 3.5.3 release

https://github.com/AlexxIT/SonoffLAN/releases/tag/v3.5.4

repo: AlexxIT/SonoffLAN


text:
Two way audio local network only

May be this is a trivial question. I have isolated HA from internet and running completely local. But I found that the two way audio from door bell does not function without https. What's the best way to have two way audio for a HA system that runs completely local?

HTTPS can also be on local sites.
https://stackoverflow.com/questions/52759992/how-to-access-camera-and-microphone-in-chrome-without-https

authors: AlexxIT SusithAbeythunga

repo: AlexxIT/WebRTC


text:
"WebRTC offer was not accepted by any providers" for UniFi Protect camera entities

Migrating from the WebRTC project so I removed that integration via HACS, installed the go2rtc add-on, and installed the RTSPtoWebRTC integration. Have not created a config file per the instructions.
I have a single Wyze pan cam (running the RTSP firmware) already set up in HA- this works fine and is immediately available in go2rtc. I have five UniFi RTSPS cameras in HA (via the UniFi Protect integration) that used to work- now when I attempt to open a stream I see "Failed to start WebRTC stream: WebRTC offer was not accepted by any providers" and the go2rtc logs show ""x509: certificate has expired or is not yet valid: current time 2022-09-21T20:10:50-05:00 is after 2022-09-06T18:53:46Z."
Is my only option to add these as RTSPX via the config? Can I even do this if it's running as an add-on?

Could it be it's because it's trying to verify the SSL certificate? Did you disable the check in 'generic camera'?

I'm having the same issue with the Unifi Protect cameras and go2rtc just showing a certificate error. Had to disable the RTSPtoWebRTC integration to restore the camera streams.

I have the same problem, is there any way to fix this?

Check your url. For example:
rtsps://192.168.1.1:7441/w38e4f8sd4f834fes?enableSrtp ->rtsp://192.168.1.1:7447/w38e4f8sd4f834fes
Port: From 7441 -> 7447
Portocol: From rtsps -> rtsp
Remove the GET-parameter


text:
Passing post-install for mpimsg engine checks on Ubuntu 22.04

LPF mpimsg engine currently does not pass post-install checks on Ubuntu 22.04 for several reasons:

the initialization routine breaks
the post-install debug checks hang
the detection of MPI with Clang fails

This issue tracks these problems. I pushed several workarounds for these problems on the branch associated to this issue, but some of them deserve better thinking than what I did.
In the following paragraphs I am detailing each issue with its current workaround.
1. the initialization routine breaks
The mpimsg engine is initialized in the routine mpi_initializer in src/MPI/init.cpp, which expects int argc, char ** argv as parameters to be passed to MPI_thread_Init(). mpi_initializer is invoked during LD_PRELOAD. However, the stack initialization with argc/argv is a non-standard, undocumented feature of the Linux dynamic linker, probably removed in recent versions: the variables are random, related assertions may fail or any access to argv results in segfault.
Current solution: do not use argc/argv, the initialization routine now takes no inputs.
Pros: problem solved in a robust way, no need to re-think the solution.
Cons: cannot pass implementation-specific parameters to MPI initialization (not used in practice)
2. the post-install debug checks hang
The post-install check at post-install/post-install-test.cmake.in, line 96, hangs with engine = mpimsg and any nprocs (I manually tried 1, which works, but any bigger value does not). The MPI-spawned processes hang. This is due to the call to std::abort() at src/debug/core.cpp, line L939. Some process/library of Ubuntu 22.04 (probably MPI itself, version 4.0 for Ubuntu 22.04) installs a signal handler for SIGABRT (I checked it in the test), which causes the application to hang when the debug library call std::abort().
Current solution: skip post-install debug checks. It is clearly just a hack.
A more refined solution would be to have an actual lpf_abort() routine calling MPI_Abort(), but I don't know whether it is in the spirit of LPF. Another possible solution is to remove calls to std::abort() and change the test to properly handle failures. I am not an LPF expert, so I have no preference and there are maybe better solutions.
Finally, one can intercept the SIGABRT in each backend to handle failures and call MPI_Abort(), although this may conflict with the underlying MPI implementation.
3. detection of MPI with Clang fails
During MPI detection (find_package(MPI) in cmake/mpi.cmake) CMake cannot find it if the compiler passed is Clang. Probably, the compilation of some internal tests fails due to some compiler-specific options that CMake parses. For example, MPICH 4.0 in Ubuntu 22.04 has -flto=auto -ffat-lto-objects in the variable MPI_C_COMPILE_OPTIONS to enable Link-Time Optimization (LTO). This option causes Clang to fail, since the LTO information of MPI binary is built with gcc.
Current solution: if the compiler is Clang, disable LTO during detection via MPI_COMPILER_FLAGS="-fno-lto", which is appended at the end of internal compiler definitions.
Pros: binaries are now built also with Clang.
Cons: may cause performance degradation (probably small); implicitly assumes MPI to be built with gcc
A robust solution may be very complex and may depend on CMake detection logic.

For item two, discussion reveals that the debug layer should probably better throw exceptions that are then caught and returned to the calling exec or hook.
@alberto-scolari indicated he would like to clean up the MR further so we may consider this in draft state. Please ping here when the PR is ready for review.

authors: alberto-scolari anyzelman

repo: Algebraic-Programming/LPF


text:
Counting rotations in a sorted array---> fixes[#1033]

fixes[#1033]

@Rohan27s  done

source: gharchive/pull-request

repo: Algo-Phantoms/Algo-Tree


text:
[NEW ALGORITHM] Disjoint Set (Union-Find)

Issue will be closed if:

You mention more than one algorithm. You can create a separate issue for each algorithm once the current one is completed.
You propose an algorithm that is already present or has been mentioned in a previous issue.
You create a new issue without completing your previous issue.

Note: These actions will be taken seriously. Failure to follow the guidelines may result in the immediate closure of your issue.

Name:
[Disjoint Set (Union-Find)]
About:
Propose a new algorithm to be added to the repository
Propose a new algorithm to be added to the repository
Efficient Group Management: It is used to keep track of elements that are split into different groups or connected components, making it easy to find and merge groups without duplicating elements.
Detecting Cycles in Graphs: Disjoint Set is essential in graph algorithms, especially in detecting cycles within an undirected graph. If two vertices belong to the same set and an edge is formed between them, it indicates a cycle.
Kruskal’s Minimum Spanning Tree (MST): Union-Find is crucial in Kruskal’s algorithm, where it helps to ensure that adding an edge doesn’t form a cycle, allowing the algorithm to construct the MST efficiently.
Dynamic Connectivity: In networks (social networks, computer networks, etc.), Union-Find can help determine whether two nodes are in the same connected component, enabling dynamic connectivity operations.
Labels:
new algorithm, gssoc-ext, hacktoberfest, level1

Assignees:

[x] Contributor in GSSoC-ext
[x] Contributer in Hacktoberfest
[x] Want to work on it

assigned

authors: byteom pankaj-bind

repo: AlgoGenesis/C


text:
OnlyRad

Pyrubi 1.8.0

Pyrubi is a powerful and easy library for building self bots in Rubika

=> Install or Update:
pip install -U pyrubi

=> Example:
from pyrubi import Bot, Message
bot = Bot('TOKEN OR AUTH')
for msg in bot.on_message():
    m = Message(msg)
    if m.text() == 'Hello':
        bot.send_text(m.chat_id(), 'Hello from Pyrubi Library', m.message_id())

Features:

Fast : The minimum request time is 0.07 seconds and the maximum request time is 0.3 seconds
Easy : All methods and features are designed as easy and optimal as possible
Powerful : While the library is simple, it has high speed and features that make your work easier and faster
Learn Methods : To learn the methods, refer to the issue section

Social Media
Rubika

this again need update text.

authors: OnlyRad XiteZReal


text:
LevOCR: how to train the LevOCR?

is there a train.py for LevOCR training?

The training process is being prepared and will be released soon.

The training code has been added, you can try it.

Thank you for share, I will try it...


text:
Exporting skips frames

Hi Allar, i'm using your plugin to export 360 video but it skips frames, i made sure that the frame rate is set to 30 in the project settings, then i read in forums that i must run the editor in benchmark mode, so i googled how to run in benchmark mode and i didn't find answers, can you tell me how to run the editor in benchmark mode, thanks

If you're capturing in editor, one way to kinda force it is to use t.overridefps 30 in console, combined with t.maxfps 30.

repo: Allar/ExportObjectPlugin

license: mit


text:
Ajax call in the expand row

Hello @AllenFang
I want when I expand a row,  make a ajax's call and return a content, maybe a other table or other div.
Or in your example your expand props the data is already loaded.
I think it's better to make a call ajax to fill the expand row.
It's possible? or have you a idea for implement this?
or have you got a example?
thanks

@Gi972, I will support this feature, BTW, I want separate the content as two kind of usage, one is for the data loading and the other is for the real content after data loading.

BTW, I'm not sure when this feature will be supported, because I'm busy on my job and ready to release for v3.0.0, so maybe pending to v3.0.0 or on v2.11.3.

I also agree that this will be a good feature.
It lets you be lazy with expanding rows.
In the use case you are doing an async call for each row, it could reduce server calls.

hi all, I've some troubles on implement this feature and after I investigate further, I've some feedback want   to give you guys.
For the async content, maybe you can achieve with following
AsyncExpandContent extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
        expandingContentId: []
    };
  }

  isExpandableRow(row) {
    if (row.id < 3) return true;
    else return false;
  }

  expandComponent(row) {
    if (this.state.expandingContentId.indexOf(row.id) === -1) {
        setTimeout(() => {  // here is just a simulative AJAX call
           // after AJAX complete::: save your content and force update the expandingContentId state
          const expandingContentId = this.state.expandingContentId;
          expandingContentId.push(row.id);
          this.setState({ expandingContentId });
        }, 10000);
    } else {
        return (
           // your content
        );
    }
  }

  render() {
    const options = {
      expandRowBgColor: 'rgb(242, 255, 163)'
    };
    return (
      <BootstrapTable ref='table'
        data={ products }
        options={ options }
        striped
        expandableRow={ this.isExpandableRow }
        expandComponent={ this.expandComponent }
        search>
        <TableHeaderColumn dataField='id' isKey={ true }>Product ID</TableHeaderColumn>
        <TableHeaderColumn dataField='name'>Product Name</TableHeaderColumn>
        <TableHeaderColumn dataField='price'>Product Price</TableHeaderColumn>
      </BootstrapTable>
    );
  }
}

Anyway, I'll keep to find some solution, bot I want to hear you guys feedback, thanks

Hi @AllenFang ,
I don't know if is the most elegant, but It's not a bad idea. I will test it.

How you would like to implement it if you had no problem? with a new props like expandableAsyncRow ?

How you would like to implement it if you had no problem? with a new props like expandableAsyncRow ?

Good question, that's actually my problem, I wanna expose an API for you so that your AJAX call complete then call this exposed API, but there's something stuck.. If use a props is also a good solution, you need to save your result data in somewhere and the other problem is I dont know when you complete the AJAX~

Hi @AllenFang,
Arff!
I tested and I had forgotten on the expanComponent you loop on all rows . So the ajax's call doesn't make on the click for a specific row but make a call on all rows and this is what we want to avoid.
Maybe you should create a spécific props when you click on one row... lol in fact like onSelectRow...

I try with onSelectRow  callback it works, it 's a bit messy but it works...
So Norw I don't know if you want create a new props or use the onSelectRow  Call Back.
This is the code:

import React from 'react';
import { BootstrapTable, TableHeaderColumn } from 'react-bootstrap-table';
import $ from 'jquery';

const products = [];

function addProducts(quantity) {
  const startId = products.length;
  for (let i = 0; i < quantity; i++) {
    const id = startId + i;
    if (i < 3) {
      products.push({
        id: id,
        name: 'Item name ' + id,
        price: 2100 + i,
        expand: null
      });
    } else {
      products.push({
        id: id,
        name: 'Item name ' + id,
        price: 2100 + i
      });
    }
  }
}
addProducts(5);

export default class AsyncExpandContent extends React.Component {
  constructor(props) {
    super(props);
    this.state = { expandingContentId: [] };
  }

 addAsyncProduct(row) {
   const root = 'http://jsonplaceholder.typicode.com';
   console.log('async');
   $.ajax({
     url: root + '/users',
     method: 'GET'
   }).then((data)=> {
     console.log('data', data);
     products[row.id].expand = {
       email: data[row.id].email,
       name: data[row.id].name,
       phone: data[row.id].phone
     };

     const expandingContentId = this.state.expandingContentId;
     expandingContentId.push(row.id);
     this.setState({ expandingContentId });
   });
 }

  isExpandableRow(row) {
    if (row.id > 1) return true;
    else return false;
  }

  expandComponent(row) {
    console.log('row', row);

    if (this.state.expandingContentId.filter((el) => {
      return el === row.id;
    }).length > 0) {
      return (

{ row.id }

{ row.price }

{ row.expand.email }

{ row.expand.name }

{ row.expand.phone }

);
    }
  }

  render() {
    const options = {
      expandRowBgColor: 'rgb(242, 255, 163)'
    };

    const selectRow = {
      mode: 'checkbox',  // multi select
      bgColor: 'pink',
      onSelect: this.addAsyncProduct.bind(this),
      hideSelectColumn: true,
      clickToExpand: true,
      clickToSelect: true
    };
    return (
      <BootstrapTable ref='table'
        data={ products }
        options={ options }
        striped
        selectRow={ selectRow }
        expandableRow={ this.isExpandableRow }
        expandComponent={ this.expandComponent.bind(this) }
        search>
        <TableHeaderColumn dataField='id' isKey={ true }>Product ID</TableHeaderColumn>
        <TableHeaderColumn dataField='name'>Product Name</TableHeaderColumn>
        <TableHeaderColumn dataField='price'>Product Price</TableHeaderColumn>
      </BootstrapTable>
    );
  }
}

It's not perfect , I think we can better...
Give me your opinion.

The advantage of this,  is you can use any libray for ajax call...

sure, thanks your feedback, I'll keep to find out a best solution 👍   Thanks!

Since v3.3.5 there is the options.onExpand callback which gives a pretty easy way to do async loading of data in the content of the expanded row.
I don't think we should have a special feature for that in this lib, since it's pretty easy to do it with the callback.

Any updates on this issue? Still struggling to execute this.

@ajits731 what exactly is the problem?

So a bit late, but is it still not possible to do a ajax call and based in the response, render the expanded view?

I am also facing the same issue. I want to trigger an async call and then want to show data in expanded table. But as of now this is being executed for each row on table initialisation, but I want this should happen only for specific row which I clicked on. Any updates ?

repo: AllenFang/react-bootstrap-table


text:
Release resources properly within Worker ReadHandler

Before this change, it was possible for workers to get into a state where all reader threads were starved because locks were taken for a certain block, but never released, so every time a new reader thread would attempt to acquire a lock on that block, it would hang the thread forever. Eventually all reads would fail.
This PR attempts to fix the issue by making some more guarantees about the serialized task executor, as well as cleaning up resources and sending a proper response back to the client whenever an error occurs.
The main cause of the starved readers is due to RejectedExecutionException being thrown when the threadpool corresponding to alluxio.worker.network.block.reader.threads.max was at full capacity.
First, there is a new threadpool that the read handlers will acquire a single thread from for each new AbstractReadHandler. This now replaces the previous SerializingExecutor (an internal gRPC class) to guarantee that all tasks submitted to the mSerializingExecutor can actually run. This is critical for the methods replyError, replyEof, and replyCancel, so the client does not get stuck waiting for a response. This now guarantees whenever these methods are called, we at least attempt to send the reply. Previously, a submit to the SerializingExecutor could fail, which means we never actually send the response to the client.
The 2nd major change is that when exceptions are thrown which should cause the stream to abort, we need to ensure that those messages are sent. The method handleStreamEndingException was added to ensure that when an exception is thrown and we cannot continue the stream with the client, that we send a proper notification and then shut down the serializing executor and close any open blocks afterwards.
Fixes #11258

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/9165/
Test FAILed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/9166/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/9171/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/9181/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/9185/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/9192/
Test PASSed.

Done

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/9193/
Test PASSed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/9197/
Test FAILed.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/9198/
Test FAILed.

@witgo FYI we're going to get this PR in so that we can apply the changes for a 2.2 patch release. We'll review your PR soon. The changes in your PR will likely be slated for 2.3.

jenkins, test this please

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/9200/
Test FAILed.

jenkins, test this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/9204/
Test PASSed.

alluxio-bot, merge this please

@ZacBlanco Should this be cherry-picked?

Thanks for checking. It should be eventually, but I'm waiting for some more testing first

alluxio-bot, cherry-pick this to branch-2.2 please

@ZacBlanco  https://github.com/Alluxio/alluxio/issues/11309 is in Alluxio 2.1.1 so I think it should be cherry-picked to 2.1 too.

authors: AmplabJenkins ZacBlanco jiacheliu3

repo: Alluxio/alluxio


text:
[DOCFIX] Clean up for Unified NS, Caching, and Configuration

There are no serious changes to the documentation. Just minor grammar and conciseness fixes

alluxio-bot, merge this please

alluxio-bot, cherry-pick this to branch-2.6 please

authors: HelloHorizon ZacBlanco


text:
[DOCFIX] Update cn version of Azure-Data-Lake doc

What changes are proposed in this pull request?
[DOCFIX] Update cn version of Azure-Data-Lake doc
Why are the changes needed?
Chinese reader could more easily understand Azure Data Lake.
Does this PR introduce any user facing changes?
Developers can get to know Alluxio in Chinese easily.

alluxio-bot, merge this please

authors: Xenorith zhezhidashi


text:
Eliminate race condition in completempupload and support overwrite

Cherry pick of https://github.com/Alluxio/alluxio/pull/16578
What changes are proposed in this pull request?
Make CompleteMultipartUpload call idempotent
Support Overwrite now only for createobject from s3client thru multipart upload
Why are the changes needed?
When use  Spark + hadoop s3a to write to Alluxio, spark will retry if CompleteMultipartUpload took too long, since alluxio doesnt allow overwrite, s3 proxy does a delete and create in an non-atomic way which causes race condition, rendering the retry fail, and as a result failing the entire spark write.
Does this PR introduce any user facing changes?

New timer (with uniformTimer call)using UniformReservoir is introduced in the MetricsSystem
the uniformTimer is added to measure different parts of CompleteMultipartUpload call, as well as common places such as UFS and AlluxioOutstream close call.

alluxio-bot, merge this please


text:
[ALLUXIO-2979] Extend the validateEnv command to check the ramdisk is accessible on worker

https://alluxio.atlassian.net/browse/ALLUXIO-2979
This change added validation task to check whether Alluxio worker can mount ram disk on the configured mounting path. The task checks first whether the ram disk is already mounted at the path, and then checks sudo privilege for mounting ramfs if it has not been mounted, or checks write permission if it is mounted.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/16411/
Test PASSed.

@yupeng9 I fixed the typo and rebased on the new classes in server/common, please take a look.

Build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/16414/
Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/16415/
Test PASSed.

Merged build finished. Test PASSed.


text:
[DOCFIX] Translate some English words into Chinese

Translate some English words into Chinese
Signed-off-by: Luo Kexue luo.kexue@zte.com.cn

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/17753/
Test PASSed.

authors: AmplabJenkins scienceluo


text:
Dragonrise USB-Generic Gamepad will not work

Gamepad runs in emulator but not in emulationstation.
"NO GAMEPADS DETECTED"

Detects just fine for me
Adri Idzwan Mansor
General Manager
Iron Ore Division
Malaysian Coal & Minerals Corporation Sdn Bhd
On Sat, Feb 28, 2015 at 6:04 PM, 5ilv4n0 notifications@github.com wrote:

Gamepad runs in emulator but not in emulationstation.
"NO GAMEPADS DETECTED"
—
Reply to this email directly or view it on GitHub
https://github.com/Aloshi/EmulationStation/issues/407.

In my case, Dragonrise works in pcsx, but not in emulationstation.

Sounds like an issue with your distro.
To quote Aloshi from another thread which may work for you - "Try adding  to your $HOME/es_settings.cfg and see if that helps at all."

I'm also having an issue, and I'm not sure if it's related to my Dragonrise USB-Generic Gamepad.  I can use emulationstation just fine, but can't seem to get the emulator to go.  It exits immediately back to emulationstation.  Running the same command in the terminal appears to work fine.

@zo0o0ot Does this happen for all emulators? Which platforms are you specifically trying ?

I thought it happened for all emulators, but I was able to get some running eventually.  It could just be that I have bad emulator commands set up in the es_systems file.  I'll try to get you a full list of what's working and what's not the next time I'm in front of the machine.  My issues may be user error, and if that is the case, I apologize for taking up your time.

repo: Aloshi/EmulationStation