Fix dwarfdump stdout handling

See commit message. This more than doubles dwarfdump output speed on my optimized build of Firefox libxul.so.

Coverage decreased (-0.4%) to 92.507% when pulling ae191fd3e830aa46a0ade0110bc406b04d119ef8 on rocallahan:fast-stdout into 03281b66a4e969ed463fa9ef5dce85d46a25d114 on gimli-rs:master.

Is the speed up mostly from locking stdout or from increasing buffering from every newline to some larger buffer size?
@philipc do you think it is even worth investing in speed ups for our example dwarfdump?

Is the speed up mostly from locking stdout or from increasing buffering from every newline to some larger buffer size?

The latter, I believe. The cost of a syscall should greatly exceed the cost of acquiring and releasing an uncontended lock unless something has gone very wrong.

do you think it is even worth investing in speed ups for our example dwarfdump?

When studying the debuginfo for libxul or other large binaries, dwarfdump performance really matters to me. The large size of the output (libxul.so generates 24G of output) means it's impractical to just dump to a file once and repeatedly search that file. I have some additional patches to speed it up using parallelism and filtering.
gimli's dwarfdump may only be an "example" but it's very useful in its own right. objdump/readelf don't support newer DWARF5 stuff and are not especially fast --- with these patches, gimli dwarfdump is slightly faster, and the pending changes I have make gimli dwarfdump much faster. libdwarf's dwarfdump is nasty. I'd rather hack on gimli's dwarfdump than the others since we're using gimli internally, and Rust vs C --- I'd hate to implement the parallelism stuff in C.
If you don't want to take these patches, that's fine; I'll fork dwarfdump for our own use.

That's a pretty convincing argument!

This is fine. Note that stdout does use LineWriter, so this results in double buffering. I don't think there's any way to avoid that currently though, and the inner buffer will mostly be bypassed since it has a smaller capacity.
Is it worth giving dwarfdump its own crate (while keeping it in this repo)?


Theme Issue Template

Description

Fixes #25
Type of change

[x] Updated documentation (updated the readme, templates, or other repo files)

Checklist:

[x] I have checked to make sure no other pull requests are open for this issue
[x] The code is properly formatted and is consistent with the existing code style
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings

:+1: Looks good!
Thanks for contributing!


No observatory url was found in the device log For Android and IOS real device.

Error message: Encountered internal error running the command: Error: No observatory URL was found in the device log. Please make sure the application under test logs an observatory URL when the application starts.
Current Appium version: v2.0.0-beta.46
Flutter driver<EMAIL_ADDRESS>I am able to see the observatory URL using "adb logcat | select-string Observatory" but I am not able to connect to the observatory URL while executing.
Sharing the logs below :
--> POST /session
[HTTP] {"desiredCapabilities":{"app":"C:\Users\Svanwadi\Downloads\AppiumFlutterDriver-main\AppiumFlutterDriver-main\flutterlogin-debug.apk","noReset":"true","reportFormat":"html","maxRetryCount":20,"deviceName":"Galaxy S20 FE 5G","adbExecTimeout":90000,"retryBackoffTime":1000,"automationName":"Flutter","reportDirectory":"reports","skipUnlock":"true","platformName":"Android","udid":"RZCR9012A8X","testName":"Flutter Automation"},"capabilities":{"firstMatch":[{"adbExecTimeout":90000,"appium:app":"C:\Users\Svanwadi\Downloads\AppiumFlutterDriver-main\AppiumFlutterDriver-main\flutterlogin-debug.apk","appium:automationName":"Flutter","appium:deviceName":"Galaxy S20 FE 5G","maxRetryCount":20,"appium:noReset":"true","platformName":"android","reportDirectory":"reports","reportFormat":"html","retryBackoffTime":1000,"skipUnlock":"true","testName":"Flutter Automation","appium:udid":"RZCR9012A8X"}]}}
[debug] [AppiumDriver@79b8] Calling AppiumDriver.createSession() with args: [{"app":"C:\Users\Svanwadi\Downloads\AppiumFlutterDriver-main\AppiumFlutterDriver-main\flutterlogin-debug.apk","noReset":"true","reportFormat":"html","maxRetryCount":20,"deviceName":"Galaxy S20 FE 5G","adbExecTimeout":90000,"retryBackoffTime":1000,"automationName":"Flutter","reportDirectory":"reports","skipUnlock":"true","platformName":"Android","udid":"RZCR9012A8X","testName":"Flutter Automation"},null,{"firstMatch":[{"adbExecTimeout":90000,"appium:app":"C:\Users\Svanwadi\Downloads\AppiumFlutterDriver-main\AppiumFlutterDriver-main\flutterlogin-debug.apk","appium:automationName":"Flutter","appium:deviceName":"Galaxy S20 FE 5G","maxRetryCount":20,"appium:noReset":"true","platformName":"android","reportDirectory":"reports","reportFormat":"html","retryBackoffTime":1000,"skipUnlock":"true","testName":"Flutter Automation","appium:udid":"RZCR9012A8X"}]}]
[AppiumDriver@79b8] Plugins which can handle cmd 'createSession': relaxed-caps
[AppiumDriver@79b8] Plugin relaxed-caps is now handling cmd 'createSession'
[Plugin [relaxed-caps]] Adjusted keys to conform to capability prefix requirements: ["adbExecTimeout","maxRetryCount","reportDirectory","reportFormat","retryBackoffTime","skipUnlock","testName"]
[Appium] Attempting to find matching driver for automationName 'Flutter' and platformName 'android'
[Appium] The 'flutter' driver was installed and matched caps.
[Appium] Will require it at C:\Users\Svanwadi\node_modules\appium-flutter-driver
[debug] [Appium] Requiring driver at C:\Users\Svanwadi\node_modules\appium-flutter-driver
[AppiumDriver@79b8] Appium v2.0.0-beta.46 creating new FlutterDriver (v1.10.0) session
[AppiumDriver@79b8] Checking BaseDriver versions for Appium and FlutterDriver
[AppiumDriver@79b8] Appium's BaseDriver version is 8.7.3
[AppiumDriver@79b8] FlutterDriver's BaseDriver version is 8.7.3
[debug] [FlutterDriver@19dd] Creating session with W3C capabilities: {
[debug] [FlutterDriver@19dd]   "alwaysMatch": {
[debug] [FlutterDriver@19dd]     "platformName": "android",
[debug] [FlutterDriver@19dd]     "appium:adbExecTimeout": 90000,
[debug] [FlutterDriver@19dd]     "appium:app": "C:\Users\Svanwadi\Downloads\AppiumFlutterDriver-main\AppiumFlutterDriver-main\flutterlogin-debug.apk",
[debug] [FlutterDriver@19dd]     "appium:automationName": "Flutter",
[debug] [FlutterDriver@19dd]     "appium:deviceName": "Galaxy S20 FE 5G",
[debug] [FlutterDriver@19dd]     "appium:maxRetryCount": 20,
[debug] [FlutterDriver@19dd]     "appium:noReset": "true",
[debug] [FlutterDriver@19dd]     "appium:reportDirectory": "reports",
[debug] [FlutterDriver@19dd]     "appium:reportFormat": "html",
[debug] [FlutterDriver@19dd]     "appium:retryBackoffTime": 1000,
[debug] [FlutterDriver@19dd]     "appium:skipUnlock": "true",
[debug] [FlutterDriver@19dd]     "appium:testName": "Flutter Automation",
[debug] [FlutterDriver@19dd]     "appium:udid": "RZCR9012A8X"
[debug] [FlutterDriver@19dd]   },
[debug] [FlutterDriver@19dd]   "firstMatch": [
[debug] [FlutterDriver@19dd]     {}
[debug] [FlutterDriver@19dd]   ]
[debug] [FlutterDriver@19dd] }
[FlutterDriver@19dd] Capability 'noReset' changed from string to boolean. This may cause unexpected behavior
[FlutterDriver@19dd] The following capabilities were provided, but are not recognized by Appium:
[FlutterDriver@19dd]   adbExecTimeout
[FlutterDriver@19dd]   maxRetryCount
[FlutterDriver@19dd]   reportDirectory
[FlutterDriver@19dd]   reportFormat
[FlutterDriver@19dd]   retryBackoffTime
[FlutterDriver@19dd]   skipUnlock
[FlutterDriver@19dd]   testName
[FlutterDriver@19dd (368f2cb3)] Session created with session id: 368f2cb3-4719-4b2e-93a6-b83d4cc8b5a1
[FlutterDriver] Starting an Android proxy session
[debug] [AndroidUiautomator2Driver@7883] Creating session with W3C capabilities: {
[debug] [AndroidUiautomator2Driver@7883]   "alwaysMatch": {
[debug] [AndroidUiautomator2Driver@7883]     "platformName": "android",
[debug] [AndroidUiautomator2Driver@7883]     "appium:adbExecTimeout": 90000,
[debug] [AndroidUiautomator2Driver@7883]     "appium:app": "C:\Users\Svanwadi\Downloads\AppiumFlutterDriver-main\AppiumFlutterDriver-main\flutterlogin-debug.apk",
[debug] [AndroidUiautomator2Driver@7883]     "appium:automationName": "Flutter",
[debug] [AndroidUiautomator2Driver@7883]     "appium:deviceName": "Galaxy S20 FE 5G",
[debug] [AndroidUiautomator2Driver@7883]     "appium:maxRetryCount": 20,
[debug] [AndroidUiautomator2Driver@7883]     "appium:noReset": "true",
[debug] [AndroidUiautomator2Driver@7883]     "appium:reportDirectory": "reports",
[debug] [AndroidUiautomator2Driver@7883]     "appium:reportFormat": "html",
[debug] [AndroidUiautomator2Driver@7883]     "appium:retryBackoffTime": 1000,
[debug] [AndroidUiautomator2Driver@7883]     "appium:skipUnlock": "true",
[debug] [AndroidUiautomator2Driver@7883]     "appium:testName": "Flutter Automation",
[debug] [AndroidUiautomator2Driver@7883]     "appium:udid": "RZCR9012A8X"
[debug] [AndroidUiautomator2Driver@7883]   },
[debug] [AndroidUiautomator2Driver@7883]   "firstMatch": [
[debug] [AndroidUiautomator2Driver@7883]     {}
[debug] [AndroidUiautomator2Driver@7883]   ]
[debug] [AndroidUiautomator2Driver@7883] }
[AndroidUiautomator2Driver@7883] Capability 'noReset' changed from string to boolean. This may cause unexpected behavior
[AndroidUiautomator2Driver@7883] Capability 'skipUnlock' changed from string to boolean. This may cause unexpected behavior
[AndroidUiautomator2Driver@7883] The following capabilities were provided, but are not recognized by Appium:
[AndroidUiautomator2Driver@7883]   maxRetryCount
[AndroidUiautomator2Driver@7883]   reportDirectory
[AndroidUiautomator2Driver@7883]   reportFormat
[AndroidUiautomator2Driver@7883]   retryBackoffTime
[AndroidUiautomator2Driver@7883]   testName
[AndroidUiautomator2Driver@7883 (7bf97df8)] Session created with session id: 7bf97df8-ff2e-4046-8491-ad1ee6b71d00
[BaseDriver] Using local app 'C:\Users\Svanwadi\Downloads\AppiumFlutterDriver-main\AppiumFlutterDriver-main\flutterlogin-debug.apk'
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] Checking whether app is actually present
[ADB] Using 'adb.exe' from 'C:\Users\Svanwadi\AppData\Local\Android\Sdk\platform-tools\adb.exe'
[debug] [ADB] Running 'C:\Users\Svanwadi\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 start-server'
[AndroidDriver] Retrieving device list
[debug] [ADB] Trying to find a connected android device
[debug] [ADB] Getting connected devices
[debug] [ADB] Connected devices: [{"udid":"RZCR9012A8X","state":"device"}]
[AndroidDriver] Using device: RZCR9012A8X
[ADB] Using 'adb.exe' from 'C:\Users\Svanwadi\AppData\Local\Android\Sdk\platform-tools\adb.exe'
[debug] [ADB] Running 'C:\Users\Svanwadi\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 start-server'
[debug] [ADB] Setting device id to RZCR9012A8X
[debug] [ADB] Running 'C:\Users\Svanwadi\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s RZCR9012A8X shell getprop ro.build.version.sdk'
[debug] [ADB] Current device property 'ro.build.version.sdk': 33
[ADB] Getting device platform version
[debug] [ADB] Running 'C:\Users\Svanwadi\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s RZCR9012A8X shell getprop ro.build.version.release'
[debug] [ADB] Current device property 'ro.build.version.release': 13
[debug] [ADB] Device API level: 33
[AndroidUiautomator2Driver@7883 (7bf97df8)] Relaxing hidden api policy
[debug] [ADB] Running 'C:\Users\Svanwadi\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s RZCR9012A8X shell 'settings put global hidden_api_policy_pre_p_apps 1;settings put global hidden_api_policy_p_apps 1;settings put global hidden_api_policy 1''
[debug] [AndroidDriver] Parsing package and activity from app manifest
[ADB] Package name: 'com.example.flutter_android_1'
[ADB] Main activity name: 'com.example.flutter_android_1.MainActivity'
[debug] [AndroidDriver] Parsed package and activity are: com.example.flutter_android_1/com.example.flutter_android_1.MainActivity
[debug] [ADB] Running 'C:\Users\Svanwadi\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s RZCR9012A8X wait-for-device'
[debug] [ADB] Running 'C:\Users\Svanwadi\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s RZCR9012A8X shell echo ping'
[debug] [AndroidDriver] Pushing settings apk to device...
[debug] [ADB] Getting install status for io.appium.settings
[debug] [ADB] Running 'C:\Users\Svanwadi\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s RZCR9012A8X shell dumpsys package io.appium.settings'
[debug] [ADB] 'io.appium.settings' is installed
[debug] [ADB] Getting package info for 'io.appium.settings'
[debug] [ADB] Running 'C:\Users\Svanwadi\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s RZCR9012A8X shell dumpsys package io.appium.settings'
[debug] [ADB] The version name of the installed 'io.appium.settings' is greater or equal to the application version name ('4.2.3' >= '4.2.3')
[debug] [ADB] There is no need to install/upgrade 'C:\Users\Svanwadi\node_modules\appium-flutter-driver\node_modules\appium-uiautomator2-driver\node_modules\io.appium.settings\apks\settings_apk-debug.apk'
[debug] [ADB] Getting IDs of all 'io.appium.settings' processes
[debug] [ADB] Running 'C:\Users\Svanwadi\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s RZCR9012A8X shell 'pgrep --help; echo $?''
[debug] [ADB] Running 'C:\Users\Svanwadi\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s RZCR9012A8X shell pgrep -f ([[:blank:]]|^)io.appium.settings([[:blank:]]|$)'
[debug] [AndroidDriver] io.appium.settings is already running. There is no need to reset its permissions.
[debug] [ADB] Running 'C:\Users\Svanwadi\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s RZCR9012A8X shell appops set io.appium.settings android:mock_location allow'
[debug] [ADB] Running 'C:\Users\Svanwadi\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s RZCR9012A8X shell "[ -e '/data/local/tmp/mock_apps.json' ] && echo PASS"'
[AndroidDriver] Unable to persist mock location app id 'io.appium.settings': adb.pushFile is not a function
[debug] [Logcat] Starting logs capture with command: C:\Users\Svanwadi\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s RZCR9012A8X logcat -v threadtime
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] Forwarding UiAutomator2 Server port 6790 to local port 8208
[debug] [ADB] Forwarding system: 8208 to device: 6790
[debug] [ADB] Running 'C:\Users\Svanwadi\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s RZCR9012A8X forward tcp:8208 tcp:6790'
[debug] [ADB] Getting install status for io.appium.uiautomator2.server
[debug] [ADB] Running 'C:\Users\Svanwadi\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s RZCR9012A8X shell dumpsys package io.appium.uiautomator2.server'
[debug] [ADB] 'io.appium.uiautomator2.server' is installed
[debug] [ADB] Getting package info for 'io.appium.uiautomator2.server'
[debug] [ADB] Running 'C:\Users\Svanwadi\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s RZCR9012A8X shell dumpsys package io.appium.uiautomator2.server'
[debug] [ADB] The version name of the installed 'io.appium.uiautomator2.server' is greater or equal to the application version name ('5.7.4' >= '5.7.4')
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] io.appium.uiautomator2.server installation state: sameVersionInstalled
[debug] [ADB] Checking app cert for C:\Users\Svanwadi\node_modules\appium-flutter-driver\node_modules\appium-uiautomator2-driver\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-v5.7.4.apk
[debug] [ADB] Using the previously cached signature entry for 'appium-uiautomator2-server-v5.7.4.apk'
[debug] [ADB] sha256 hash did match for 'appium-uiautomator2-server-v5.7.4.apk'
[debug] [ADB] Getting install status for io.appium.uiautomator2.server.test
[debug] [ADB] Running 'C:\Users\Svanwadi\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s RZCR9012A8X shell dumpsys package io.appium.uiautomator2.server.test'
[debug] [ADB] 'io.appium.uiautomator2.server.test' is installed
[debug] [ADB] Checking app cert for C:\Users\Svanwadi\node_modules\appium-flutter-driver\node_modules\appium-uiautomator2-driver\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-debug-androidTest.apk
[debug] [ADB] Using the previously cached signature entry for 'appium-uiautomator2-server-debug-androidTest.apk'
[debug] [ADB] sha256 hash did match for 'appium-uiautomator2-server-debug-androidTest.apk'
[AndroidUiautomator2Driver@7883 (7bf97df8)] Server packages are not going to be (re)installed
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] Waiting up to 30000ms for services to be available
[debug] [ADB] Running 'C:\Users\Svanwadi\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s RZCR9012A8X shell pm list instrumentation'
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] Instrumentation target 'io.appium.uiautomator2.server.test/androidx.test.runner.AndroidJUnitRunner' is available
[ADB] Adding packages ["io.appium.settings","io.appium.uiautomator2.server","io.appium.uiautomator2.server.test"] to Doze whitelist
[debug] [ADB] Got the following command chunks to execute: [["dumpsys","deviceidle","whitelist","+io.appium.settings",";","dumpsys","deviceidle","whitelist","+io.appium.uiautomator2.server",";","dumpsys","deviceidle","whitelist","+io.appium.uiautomator2.server.test",";"]]
[debug] [ADB] Running 'C:\Users\Svanwadi\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s RZCR9012A8X shell dumpsys deviceidle whitelist +io.appium.settings ; dumpsys deviceidle whitelist +io.appium.uiautomator2.server ; dumpsys deviceidle whitelist +io.appium.uiautomator2.server.test ;'
[debug] [ADB] Getting install status for com.example.flutter_android_1
[debug] [ADB] Running 'C:\Users\Svanwadi\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s RZCR9012A8X shell dumpsys package com.example.flutter_android_1'
[debug] [ADB] 'com.example.flutter_android_1' is installed
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] noReset has been requested and the app is already installed. Doing nothing
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] Performing shallow cleanup of automation leftovers
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] The following obsolete sessions are still running: ["3b11c535-8f0a-4c84-b0ab-f49045c52e65"]
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] Cleaning up 1 obsolete session
[debug] [Instrumentation] .
[debug] [Instrumentation] Time: 160.095
[debug] [Instrumentation]
[debug] [Instrumentation] OK (1 test)
[debug] [Instrumentation] The process has exited with code 0
[debug] [ADB] Running 'C:\Users\Svanwadi\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s RZCR9012A8X shell am force-stop io.appium.uiautomator2.server.test'
[AndroidUiautomator2Driver@7883 (7bf97df8)] Starting UIAutomator2 server 5.7.4
[AndroidUiautomator2Driver@7883 (7bf97df8)] Using UIAutomator2 server from 'C:\Users\Svanwadi\node_modules\appium-flutter-driver\node_modules\appium-uiautomator2-driver\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-v5.7.4.apk' and test from 'C:\Users\Svanwadi\node_modules\appium-flutter-driver\node_modules\appium-uiautomator2-driver\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-debug-androidTest.apk'
[AndroidUiautomator2Driver@7883 (7bf97df8)] Waiting up to 30000ms for UiAutomator2 to be online...
[debug] [ADB] Creating ADB subprocess with args: ["-P",5037,"-s","RZCR9012A8X","shell","am","instrument","-w","-e","disableAnalytics",true,"io.appium.uiautomator2.server.test/androidx.test.runner.AndroidJUnitRunner"]
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] Matched '/status' to command name 'getStatus'
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] Proxying [GET /status] to [GET http://<IP_ADDRESS>:8208/status] with no body
[AndroidUiautomator2Driver@7883 (7bf97df8)] socket hang up
[debug] [Instrumentation] io.appium.uiautomator2.server.test.AppiumUiAutomator2Server:
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] Matched '/status' to command name 'getStatus'
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] Proxying [GET /status] to [GET http://<IP_ADDRESS>:8208/status] with no body
[AndroidUiautomator2Driver@7883 (7bf97df8)] socket hang up
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] Matched '/status' to command name 'getStatus'
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] Proxying [GET /status] to [GET http://<IP_ADDRESS>:8208/status] with no body
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] Got response with status 200: {"sessionId":"None","value":{"message":"UiAutomator2 Server is ready to accept commands","ready":true}}
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] The initialization of the instrumentation process took 2109ms
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] Matched '/session' to command name 'createSession'
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] Proxying [POST /session] to [POST http://<IP_ADDRESS>:8208/session] with body: {"capabilities":{"firstMatch":[{"platform":"LINUX","webStorageEnabled":false,"takesScreenshot":true,"javascriptEnabled":true,"databaseEnabled":false,"networkConnectionEnabled":true,"locationContextEnabled":false,"warnings":{},"desired":{"platformName":"android","adbExecTimeout":90000,"app":"C:\Users\Svanwadi\Downloads\AppiumFlutterDriver-main\AppiumFlutterDriver-main\flutterlogin-debug.apk","automationName":"Flutter","deviceName":"Galaxy S20 FE 5G","maxRetryCount":20,"noReset":true,"reportDirectory":"reports","reportFormat":"html","retryBackoffTime":1000,"skipUnlock":true,"testName":"Flutter Automation","udid":"RZCR9012A8X"},"platformName":"android","adbExecTimeout":90000,"app":"C:\Users\Svanwadi\Downloads\AppiumFlutterDriver-main\AppiumFlutterDriver-main\flutterlogin-debug.apk","automationName":"Flutter","deviceName":"RZCR9012A8X","maxRetryCount":20,"noReset":true,"reportDirectory":"reports","reportFormat":"html","retryBackoffTime":1000,"skipUnlock":true,"testName":"Flutter Automation","udid":...
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] Got response with status 200: {"sessionId":"2972b94d-98e9-41d5-bfd6-1a50df06bff3","value":{"capabilities":{"firstMatch":[{"platform":"LINUX","webStorageEnabled":false,"takesScreenshot":true,"javascriptEnabled":true,"databaseEnabled":false,"networkConnectionEnabled":true,"locationContextEnabled":false,"warnings":{},"desired":{"platformName":"android","adbExecTimeout":90000,"app":"C:\Users\Svanwadi\Downloads\AppiumFlutterDriver-main\AppiumFlutterDriver-main\flutterlogin-debug.apk","automationName":"Flutter","deviceName":"Galaxy S20 FE 5G","maxRetryCount":20,"noReset":true,"reportDirectory":"reports","reportFormat":"html","retryBackoffTime":1000,"skipUnlock":true,"testName":"Flutter Automation","udid":"RZCR9012A8X"},"platformName":"android","adbExecTimeout":90000,"app":"C:\Users\Svanwadi\Downloads\AppiumFlutterDriver-main\AppiumFlutterDriver-main\flutterlogin-debug.apk","automationName":"Flutter","deviceName":"RZCR9012A8X","maxRetryCount":20,"noReset":true,"reportDirectory":"reports","reportFormat":"html","retryBackoffTime":10...
[AndroidUiautomator2Driver@7883 (7bf97df8)] Determined the downstream protocol as 'W3C'
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] Proxying [GET /appium/device/info] to [GET http://<IP_ADDRESS>:8208/session/2972b94d-98e9-41d5-bfd6-1a50df06bff3/appium/device/info] with no body
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] Got response with status 200: {"sessionId":"2972b94d-98e9-41d5-bfd6-1a50df06bff3","value":{"androidId":"7d2eeb299ca4ac78","apiVersion":"33","bluetooth":{"state":"OFF"},"brand":"samsung","carrierName":"Vi India","displayDensity":480,"locale":"en_GB","manufacturer":"samsung","model":"SM-G781B","networks":[{"capabilities":{"SSID":null,"linkDownBandwidthKbps":18233,"linkUpstreamBandwidthKbps":12000,"networkCapabilities":"NET_CAPABILITY_NOT_METERED,NET_CAPABILITY_INTERNET,NET_CAPABILITY_NOT_RESTRICTED,NET_CAPABILITY_TRUSTED,NET_CAPABILITY_NOT_VPN,NET_CAPABILITY_VALIDATED,NET_CAPABILITY_NOT_ROAMING,NET_CAPABILITY_FOREGROUND,NET_CAPABILITY_NOT_CONGESTED,NET_CAPABILITY_NOT_SUSPENDED","signalStrength":-58,"transportTypes":"TRANSPORT_WIFI"},"detailedState":"CONNECTED","extraInfo":"","isAvailable":true,"isConnected":true,"isFailover":false,"isRoaming":false,"state":"CONNECTED","subtype":-1,"subtypeName":"","type":1,"typeName":"WIFI"},{"capabilities":{"SSID":null,"linkDownBandwidthKbps":5818,"linkUpstreamBandwidthKbps":25035,"networkCapabilities":...
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] 'skipUnlock' capability set, so skipping device unlock
[AndroidUiautomator2Driver@7883 (7bf97df8)] Starting 'com.example.flutter_android_1/com.example.flutter_android_1.MainActivity and waiting for 'com.example.flutter_android_1/com.example.flutter_android_1.MainActivity'
[debug] [ADB] Getting IDs of all 'com.example.flutter_android_1' processes
[debug] [ADB] Running 'C:\Users\Svanwadi\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s RZCR9012A8X shell pgrep -f ([[:blank:]]|^)com.example.flutter_android_1([[:blank:]]|$)'
[AndroidUiautomator2Driver@7883 (7bf97df8)] 'com.example.flutter_android_1' is already running
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] Proxying [GET /appium/device/pixel_ratio] to [GET http://<IP_ADDRESS>:8208/session/2972b94d-98e9-41d5-bfd6-1a50df06bff3/appium/device/pixel_ratio] with no body
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] Got response with status 200: {"sessionId":"2972b94d-98e9-41d5-bfd6-1a50df06bff3","value":3}
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] Matched '/appium/device/system_bars' to command name 'getSystemBars'
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] Proxying [GET /appium/device/system_bars] to [GET http://<IP_ADDRESS>:8208/session/2972b94d-98e9-41d5-bfd6-1a50df06bff3/appium/device/system_bars] with no body
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] Got response with status 200: {"sessionId":"2972b94d-98e9-41d5-bfd6-1a50df06bff3","value":{"statusBar":88}}
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] Matched '/window/current/size' to command name 'getWindowSize'
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] Proxying [GET /window/current/size] to [GET http://<IP_ADDRESS>:8208/session/2972b94d-98e9-41d5-bfd6-1a50df06bff3/window/current/size] with no body
[debug] [AndroidUiautomator2Driver@7883 (7bf97df8)] Got response with status 200: {"sessionId":"2972b94d-98e9-41d5-bfd6-1a50df06bff3","value":{"height":2168,"width":1080}}
[FlutterDriver] Attempt #1
[debug] [FlutterDriver] Deleting Flutter Driver session
[AppiumDriver@79b8] Command 'createSession' was not handled by the following behaviours or plugins, even though they were registered to handle it: ["default"]. The command was handled by these: ["relaxed-caps"].
[debug] [AppiumDriver@79b8] Encountered internal error running command: Error: No observatory url was found in the device log. Please make sure the application under test logs an observatory url when the application starts.
[debug] [AppiumDriver@79b8]     at processLogToGetobservatory (C:\Users\Svanwadi\node_modules\appium-flutter-driver\lib\sessions\observatory.ts:191:11)
[debug] [AppiumDriver@79b8]     at getObservatoryWsUri (C:\Users\Svanwadi\node_modules\appium-flutter-driver\lib\sessions\android.ts:44:43)
[debug] [AppiumDriver@79b8]     at connectSocket (C:\Users\Svanwadi\node_modules\appium-flutter-driver\lib\sessions\observatory.ts:31:38)
[debug] [AppiumDriver@79b8]     at startAndroidSession (C:\Users\Svanwadi\node_modules\appium-flutter-driver\lib\sessions\android.ts:27:18)
[debug] [AppiumDriver@79b8]     at runMicrotasks ()
[debug] [AppiumDriver@79b8]     at processTicksAndRejections (node:internal/process/task_queues:96:5)
[debug] [AppiumDriver@79b8]     at FlutterDriver.createSession (C:\Users\Svanwadi\node_modules\appium-flutter-driver\lib\sessions\session.ts:22:47)
[debug] [AppiumDriver@79b8]     at AppiumDriver.createSession (C:\Users\Svanwadi\AppData\Roaming\npm\node_modules\appium\lib\appium.js:336:35)
[debug] [AppiumDriver@79b8]     at RelaxedCapsPlugin.createSession (C:\Users\Svanwadi\node_modules@appium\relaxed-caps-plugin\lib\plugin.js:58:12)
[debug] [AppiumDriver@79b8]     at C:\Users\Svanwadi\AppData\Roaming\npm\node_modules\appium\lib\appium.js:722:18
[debug] [AppiumDriver@79b8]     at AppiumDriver.executeWrappedCommand (C:\Users\Svanwadi\AppData\Roaming\npm\node_modules\appium\lib\appium.js:762:16)
[debug] [AppiumDriver@79b8]     at AppiumDriver.executeCommand (C:\Users\Svanwadi\AppData\Roaming\npm\node_modules\appium\lib\appium.js:684:17)
[debug] [AppiumDriver@79b8]     at asyncHandler (C:\Users\Svanwadi\AppData\Roaming\npm\node_modules\appium\node_modules@appium\base-driver\lib\protocol\protocol.js:346:19)
[HTTP] <-- POST /session 500 31177 ms - 970

You should check the instructions again:
Your app must do 3 things:
Be in debug/profile mode
Has flutter_driver enabled as dev dependency
And has enableFlutterDriverExtension() set before running
Thats why you get your error

Hi, thanks for the reply.
My application is built in debug mode and has flutter driver enabled as well and enableFlutterDriverExtension() is set as well in the codebase.
The automation is getting executed with my Emulator and Simulators but it is giving issue with real Android and iOS devices.

For iOS, it may need to build as profile mode. Afaik iOS 14+ requires the profile mode for real devices.
Maybe the original page was removed... but ordinally https://flutter.dev/docs/development/ios-14 had a page to explain that iOS 14+ requires profile build for real devices

Hi @sandesh181199 , I'm also facing the same issue, Can you please guide if this  was resolved for you?

in ios, it needs to run as "debug" process. it is currently available via ios-deploy https://github.com/flutter/flutter/issues/120789#issuecomment-1450969569
For now, this driver provides the possibility to manage to launch app processes outside this driver's lifecycle so that you can use such 3rd party tools as https://github.com/appium/appium-flutter-driver?tab=readme-ov-file#several-ways-to-start-an-application.
Maybe Android does not have such cases, but potentially newer flutter's log message change also affected,


Add swiftpm 4 package manifest

As recommended in the Version-specific manifest selection section of the swiftpm docs, the Package.swift file (without any specific version suffix) should target the latest stable version of Swift.
This renames the existing Package.swift file to<EMAIL_ADDRESS>and adds a new and updated version for Swift 4.

I also added a commit to update CI to use Xcode 9, which is required in order to test the Swift 4 package format.

Unfortunately, the Swift 3 package manager, while it can consume a dependency with both swift 3 & 4 manifest files, can't actually build the project directly.

Hey @sharplet!
It seems that this needs to be updated now to support Xcode 9.4 instead of 9.2.
Also please correct me if I'm wrong, but this PR seems to only update the package manifest without actually updating the source to 9.4, is that the intention?
If yes, I have opened another PR to update the project to Xcode 9.4: https://github.com/outware/Scenarios/pull/38
It would be great to have your input!

Yeah, this change wasn't intended to remove Swift 3 compatibility. I went head and updated CI to build against 9.4.


Lorem Ipsum Text generation

Hello, my new small contribution to the project, added the lorem text generation based on lorem_word file, so we can generate, word, sentence and paragraph based on it. Hope it will be usefull.

Merged!


Remove "torn" out of bounds risk

Order fields pointer => length => offset so any "torn reads" are within the data.
If they are set in a different order then a torn read could point somewhere random.
This assumes struct writes/copies are done in a forward order.
/cc @davidfowl @KrzysztofCwalina @jkotas

Both compilers and hardware can reorder the reads and writes. I do not think that you can guarantee anything by ordering the fields in certain way.

Hmm... true


FPS downgrade with AutoOrtho at some Parts of the World

Describe the bug
First of all, the tool you are created is absoluty amazing.
Unfort. at some parts of the World, the FPS gets really downgraded, I have no idea why.
Example: At the area of EHAM, my FPS went (without AutoOrtho) from 50+ to nearly 3-10.
Is this probably of the big files and canals they are shown there? Can this be fixed in any way?
Another Example is the area in Norway (Bergen).
(please complete the following information):

OS: Win 11
XPlane Version: XP12 latest Beta
AutoOrtho: latest version
Filesystem type: NTFS

EHAM is a "famous" for the FPS drops, regardless of autoortho. I've been told it could be because it's below sea-level


Update to latest 1.19

Updated to Fabric loader 0.14.9, FAPI 0.58.0, LibGui 6.1.0, Cardinal Components 5.0.2
Changed "version" to 3.0.1 ( you can change it back to 3.0.0 if you want)

why did you change ${version} to 3.0.1 in fabric.mod.json?

I thought it would make sense to change it because it's an updated version (I don't really understand the versioning policy, sorry if that annoyed you), you can change it back if you want : )

you changed in it gradle.properties correctly, but you don't need to change ${version} that gets populated in the build process

oh i thought i have done something wrong, okay -_-

Closing as I have since completed the update to 1.19 on my own.


[7.x] Avoid downcasing facts in service provider

This is the same PR as https://github.com/puppetlabs/puppet/pull/9082 but applied to the 7.x branch. In 7.x the code uses legacy facts, while main uses modern facts (osfamily vs os.family).

Can one of the admins verify this patch?


[Feature][Fix]Delete associated addon node-settings  when revoking an external account

Purpose
If a user disconnects an account from their user settings page and then reconnects it, node settings data (e.g. selected folder) should not persist, and must be manually reconfigured.
Changes
Node settings for addon deleted if it exists
Side Effects
Some addons may need to override on_delete to implement non-default behaviour
[#OSF-4963]

CR1 done. Looks good.

Can you add a test for this fix? (or modify an existing test for this function if that is more appropriate)

I think this was actually fixed by #4518 , as I can't reproduce it on staging.

Ok, let's close once QA has confirmed this is no longer happening.

Closing now, will reopen or create a new PR if necessary.


Update eslint and various non-ember plugins to latest

Leaving the ember ones cause they might be tied to ember version, it seems ember-cli-upgrade bumps those

seems to break the build sigh

fixed by reverting eslint-prettier
see https://github.com/prettier/eslint-plugin-prettier/issues/434

I think at least eslint etc are also managed by ember-cli, so might not be the best idea to upgrade them separately?

Since I squash merged some PRs I've rebased this one on dev.

wont squash merging break the lerna-changelogs?

I think at least eslint etc are also managed by ember-cli, so might not be the best idea to upgrade them separately?

hmm what does "managed" mean in this case? just that it installs and upgrades it?
if so I dont really see the harm tbh


Denotational Semantics for CUE

This is a tracking issue for all things related to denotational semantics and CUE.
More details to follow.

What was the purpose of this issue? It contains no context and hasn't been updated at all since October 2022. cc @4ad

Currently we do not have a formal semantics for the CUE language. Ideally we would have both an operational and a denotational semantics for CUE with proofs of soundness and adequacy mechanized in some theorem prover.
This issue is an umbrella issue for the denotational semantics work.
The work has been low priority, hence the low (zero) activity in this issue, bu I have some partial semantics of CUE based on topology and Kripke semantics, but they are not mechanized yet. We are planning to pick up the work on this soon though.


fix(steps): fix min_frequency and max_category

changes:

make min_frequence works
select the top category by its frequence when max_categories is specified
increased unit test coverage

solve #146

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

Project coverage is 85.37%. Comparing base (2f2aaaf) to head (77d35d4).

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #156      +/-   ##
==========================================
+ Coverage   84.94%   85.37%   +0.43%
==========================================
  Files          26       26
  Lines        1920     1922       +2
==========================================
+ Hits         1631     1641      +10
+ Misses        289      281       -8

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

Looks great! :shipit:


Move ElasticLoadBalancer into a sub-namespace?

Wondering if there should be a sub-namespace for the operator instead of having it at the top-level, e.g . com.ibm.streamsx.plumbing.balancers

Unless there are objections I'm going to go with:
com.ibm.streamsx.plumbing.balancers


TFT bridged to BSC not delivered

After a report from another user that they didn't receive TFT bridged to BSC, I ran a test and found the same. TFT sent from Stellar an hour ago with proper memo weren't delivered. Is the bridge online and gassed up?

It indeed ran out of funds to pay for gas. I escalated issue #128 to solve this properly.


Coloring is off when using intl. characters

I think this is the right repo to report this to. :)

The variables bedömningsId and värdeTyp in the screenshot should be all red. Probably an [a-zA-Z] somewhere, I haven't looked at it yet.

Updated the regex for these cases,

I need to go through the rest of it to find some other mistakes.
This fix and some other highlighting fix will be in the next release.

Awesome, thanks!


Version 3.5 Oddness

mx.nd.internal.dispatch.Ops  is acting differently for R version 3.5.
Mxnet R code that worked great with R 3.4.4 no longer works with 3.5 with random mx.nd.internal.dispatch.Ops errors.
Even the simple https://mxnet.incubator.apache.org/tutorials/r/fiveMinutesNeuralNetwork.html
results in the following error:

error in mx.nd.internal.dispatch.Ops(.Generic, e1, e2) :
[12:07:35] c:\jenkins\workspace\mxnet\mxnet\src\operator\tensor../elemwise_op_common.h:123: Check failed: assign(&dattr, (*vec)[i]) Incompatible attr in node  at 1-th input: expected [20], got [20,1]

Something appears to be slightly different mx.nd.internal.dispatch.Ops
Difficult to debug in my complex CNN architecture.
R session info:

sessionInfo()
R version 3.5.0 (2018-04-23)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)

Matrix products: default
locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base
other attached packages:
[1] mlbench_2.1-1 mxnet_1.2.0

Ok FYI, I rolled back my version of R to 3.4.4, then I downloaded and reinstalled the Mxnet that was compiled with R 3.4.4 for windows.  Everything works as expected with 3.4.4 including the super simple tutorial.
So, something definitely changed with R 3.5, but unfortunately I dont think I am knowledgeable enough to know what it is. :-/

More details would be needed. I run R 3.5.0 using the compiled Winodws libraries (mxnet 1.2.0) and the FiveMinutes tutorial runs without issue.  The demo.metric.mae however won't work as the metrics are calculated on ndarrays rather than R arrays.

Oh also, using this modification appears to require about 6GB more RAM.  :-(

Custom metric need to return a single value.
In your case, you might want to do:
mx.metric.rmse.mine <- mx.metric.custom("rmse.mine", function(label, pred)
{
  res = pred
  return(mean(as.array(res)))
})

or
mx.metric.rmse.mine <- mx.metric.custom("rmse.mine", function(label, pred)
{
  res = mx.nd.mean(pred)
  return(as.array(res))
})

I am just saying the new default R 3.5 metric seemed to not run when using a MXNet custom loss.  I was able to fix the issue by also creating a custom metric.
In otherwords, I had a custom loss, but used default metrics.  MXNet would not run.  I then used a custom metric and the code successfully ran.  Maybe this doesnt happen for you?  This observation did not happen with older versions of R.


Update config docs

Fixes #90

A few notes, but it's hard to read the changelist. A lot of things show as changed that are really just moved a bit in the doc. I did not do a thorough read.

Made some updates. Not sure if there's a way to reduce the diffs from moving things around.


MCS-1802 Delete Not Needed Scripts and Assets

I removed scripts and a lot of extraneous assets too such as unity scenes and prefabs that were never being used.
7 million lines. Woah

@ThomasSchellenbergNextCentury Looks like when I delete them from my build scene list on my end git does not detect that change at all. So I think everyone will have to do it on their end.


Hamburger menu doesn't work on Edge on Windows Mobile 10

Are there any known issues with the hamburger menu not working on iOS? It works fine from Android and iOS, but not Microsoft Edge from Windows 10 Mobile for my site.

Duplicate
https://github.com/jekyll/minima/search?utf8=✓&q=HAmburger&type=Issues

I forgot to mention that I also faced the issue on iOS, but the mentioned fix/workaround in the other issues fixed it. Although, it didn`t fix the issue for Edge on Windows Mobile 10.

@janegilring can you look at #111 and see if that fix works for you ?


Updates method to not use attribute key if additional key paths exist.

Resolves issue #114 .

@cnstoll , not sure if you want to apply this to relationship attributes as well. For now I'm changing as little as possible.


Implement TJED API

To establish basic functionality, the TJED API should be set up to:

Allow queries of Kanji, returning Words and other information on the Kanji
Allow queries of Words, returning definitions and Example Sentence
The Example Sentence should come with a link to the Article associated with the Example Sentence

We are no longer doing the article search stuff.


UX improvements as supplied by gachip_1010

Discord or Telegram handle
https://t.me/gachip_1010
Is your feature request related to a problem? Please describe.
No
Describe the solution you'd like
It;s not a problem, but there are some UX/UI points I hope to be improved:

Not very important, but when checking if a Dao has Multicall instance installed or not (Step 2,3 section b) => the same color is used for all check points. My suggestion is only the ones with cross sign is in red, the rest check points can be in green or grey. This way people will immediately know which is checked, which is not checked yet at a glance.
The Custom line in the App page is not outstanding (the section to change the name of the card). The reason is other lines (contract address, function name, etc) are all in red when users click edit, but the Custom section looks the same => Should make Custom line more visible when editing to let users know that that line is also editable
The being-edited-card: It is too difficult to know which card is being edited when there are many cards. Let's say we have 4 cards: mint USDC, transfer USDC, mint USDT, transfer USDT. When I click edit to paste the contract address, I dont know which card I am at. I have to check the Name section (the Custom line), but as mentioned before, the Custom line is not outstanding, so it takes some time for me to figure out which card I'm editing => I suggest that there are some noticeable points that show we are editing or choosing a certain card. For ex if I choose the mint USDC card, that card would have green border, so that it's outstanding.

Describe alternatives you've considered
N/A
Additional context
N/A
https://airtable.com/app9YvmKASJgAJaNI/tblmt2Z5EUCtX0eZb/recpV68fwD8cG3ewm

Thank you for the feedback, we will further discuss it here:

#88


Embeds not working?

Summary
When trying to post a message with an embed, it says that "embed" is not an argument.
Reproduction Steps
Hello. I was making a simple command for my self-bot. When I tried to post the embed, it says that embed is not a parameter. Is this some sort of bug where embeds cannot be posted, or is it just me?
Code
import selfcord
from selfcord.ext import commands

client = commands.Bot(
    command_prefix = 'tinman: ',
    self_bot = True
)

cogs = [
    ''
]

for cog in cogs:
    client.load_extension(cog)

@client.event
async def on_ready():
    print("User bot is ready!")

@client.command()
async def hello_world(ctx: commands.Context):
    await ctx.send(
        embed = selfcord.Embed(
            title = "Just an embed",
            description = "the description of embed",
            colour = selfcord.Colour.blue()
        )
    )

Expected Results
The embed will be posted
Actual Results
The embed was not posted, instead throwing an error:
Ignoring exception in command hello_world:
Traceback (most recent call last):
  File "C:\Users\junej\AppData\Local\Programs\Python\Python310\lib\site-packages\selfcord\ext\commands\core.py", line 192, in wrapped
    ret = await coro(*args, **kwargs)
  File "c:\Users\junej\Downloads\Bot Test\Bot\main.py", line 22, in hello_world
    await ctx.send(
TypeError: Messageable.send() got an unexpected keyword argument 'embed'

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

Traceback (most recent call last):
  File "C:\Users\junej\AppData\Local\Programs\Python\Python310\lib\site-packages\selfcord\ext\commands\bot.py", line 1166, in invoke
    await ctx.command.invoke(ctx)
  File "C:\Users\junej\AppData\Local\Programs\Python\Python310\lib\site-packages\selfcord\ext\commands\core.py", line 932, in invoke
    await injected(*ctx.args, **ctx.kwargs)  # type: ignore
  File "C:\Users\junej\AppData\Local\Programs\Python\Python310\lib\site-packages\selfcord\ext\commands\core.py", line 201, in wrapped
    raise CommandInvokeError(exc) from exc
selfcord.ext.commands.errors.CommandInvokeError: Command raised an exception: TypeError: Messageable.send() got an unexpected keyword argument 'embed'

System Information
Ran: python -m selfcord -v
Returned:
- Python v3.10.2-final
- selfcord.py v2.0.0-alpha
    - selfcord.py pkg_resources: v2.0.0a2
- aiohttp v3.7.4.post0
- system info: Windows 10 10.0.19044

Checklist

[X] I have searched the open issues for duplicates.
[X] I have shared the entire traceback.
[x] I am using a user token (and it isn't visible in the code).

Additional Information
No response

Selfbots can no longer send embeds


Uninstall/reinstall from source on mac

Hello,
My setup is on Mac 10.14.2, STlink2, targeting Bluepill.
I'd like to make modifications to the project source in order to support the full 128k of memory available on the STM32F103C8T6, used on the Bluepill boards, to match the official ST tool and allow me to use platforms like mbed. However, I'm not sure from the project documentation how to perform an uninstall/reinstall from source since it recommends using Homebrew.
I've got the normal st-link program installed, along with all the dependencies like the arm-none-eabi-gc, etc. Is there a simple way that I can uninstall the main program and reinstall the edited version, without touching the dependencies, and without installing the official version off homebrew?
Sorry for the newbie question, I do usually tend to use homebrew for everything, so I'm not that familiar with source installations on mac!

This does not need to be re-opened, the compile from source option for mac is well documented in the compiling manual.
The specific fix I was recommending for the bluepill support is in the src/common.c file, in the stlink_load_device_params() function, in the following text:
} else if (sl->chip_id == STLINK_CHIPID_STM32_L1_CAT2) {
    sl->flash_size = (flash_size & 0xff) * 1024;
} else if ((sl->chip_id & 0xFFF) == STLINK_CHIPID_STM32_L1_HIGH) {
    // 0 is 384k and 1 is 256k
    if ( flash_size == 0 ) {
        sl->flash_size = 384 * 1024;
    } else {
        sl->flash_size = 256 * 1024;
    }
} else {
    sl->flash_size = flash_size * 1024;
}

replacing the final else with
} else {
     sl->flash_size = flash_size * 1024;
     /* HACK for STM21F103C8T6 */
     if (sl->flash_size == 64 * 1024 && getenv("C8T6HACK"))
       sl->flash_size = 128 * 1024;
}

This is soundly a hack however, supporting an undocumented chip feature (albeit one that is a leading source of popularity for the blue pill board).

Well that may be of general interest though as these boards are quite common. So as a maintainer of this project I'd consider this useful and would keep this ticket open for one of the upcoming releases. However this does not imply that you need to keep up with this issue.

@Nightwalker-87 sorry, I only meant to imply that I no longer needed any help on it! If you support adding special cases like the Bluepill that's great.

I understand. So I will close this as resolved then.
Note on Bluepill-Support:
For 128k support also take a look at issue 575.
As far as I am aware of, the tools currently support the STM32F103C8T6 as an original device.
Problems seem to occur with fake chips marked as STM32F103C8T6, but turn out to be CKS32F103C8T6 instead as revealed by their chip ID. See issues 756 and 833.
I suggest you open a new issue and PR with your 128k proposal. We should not recycle this issue here with a different topic than the original one.

ping @hierophect

I'll make a new issue on this today

You may add a comment to #516, which already covers this.


Getting started example for the Go client

Adds a Go getting started sample application modeled on the Java getting started.
It's a self contained application which will deploy a model for Camunda 8, start a job worker for it, and log/complete the jobs as they come in.
The application relies on a user task being completed via Tasklist, much like the Java getting started example.
I hope the README.md is enough to test/get started. I would have liked to add tests for it as well, but it's a bit cumbersome to test something with Tasklist as there isn't an official programmatic client that I'm aware of.
It looks like a big PR, but about 1k lines are straight from the go.sum file, so... :man_shrugging:

Thank you very much, I will try to review and merge it later today :clap:

This is blocked by the replace directive I added to already use 8.0. I'll update this as soon as 8.0 is available. In the meantime, you can still review the rest, just not merge it. If you want to test it yourself, you'll need to update the replace directive locally to point to your own local Zeebe repo that's already on 8.0.

Removed the replace directive so it's ready to test/merge


added: include only files specified in grunt task and support for renaming paths more flexibly

Added:

Support for a custom include task configuration property to include/exclude files (using the grunt globbing feature)
Support for renaming the destination files dynamically, so one task can generate output in multiple destinations (rename is a default grunt task configuration property).

Please let me know if you're interested in this. No offence at all if you are not. Not sure if this repo is still active. If not, I'll just have to publish this on npm myself (which I'd like to avoid).
I can add something to the Readme.md as well if you want to merge this. I think we lost NodeJS 0.8 support after upgrading the dependencies, so you might want to publish this as as version 0.1 or 1.0.

@sabarasaba do you still maintain this repo? if not - would you mind - passing the repo and npm publish rights to @MartijnR (if you're interested - i hope - as having to publish this under another name would be bad)

I just added you @MartijnR as a contributor to the repo :)

Thanks. That's fine with me. Shall I merge my own PR then or is somebody going to review?
Will you add me as a collaborator on npm as well, or will you publish yourself?

@MartijnR I tried to find you on npm to add you as a contributor but couldnt find you. As a small peak at the changes and it looks alright. Merge away (but dont forget to bump the module version in package.json) !

Thanks! I'm here: https://www.npmjs.com/~martijnr

Done, I just added you! :)

Thanks!


ServiceAccount annotation is only added to logging-operator serviceaccount

Bugs should be filed for issues encountered whilst operating logging-operator.
You should first attempt to resolve your issues through the community support
channels, e.g. Slack, in order to rule out individual configuration errors. #logging-operator
Please provide as much detail as possible.

Describe the bug:
When deploying the logging operator with a service account annotation to use an EKS role (IRSA), the annotation is only created on the logging-operator service account during helm install and not on subsequent accounts created when creating logging resources.
I think this may be a documentation issue, and that I simply need to include config in the following section of the logging resource, but I couldn't find documentation on whether that is the case or not.
spec:
  fluentd: {}
  fluentbit: {}

Expected behaviour:
all of the following service accounts should have the IRSA annotation applied:

logging-fluentbit
logging-fluentd
logging-operator

Steps to reproduce the bug:
helm upgrade --install --version 3.17.9 --wait --values values.yml --namespace logging logging-operator banzaicloud-stable/logging-operator
values.yml contents
createCustomResource: false
serviceAccount:
  annotations:
    eks.amazonaws.com/role-arn: "arn:aws:iam::myacc:role/myrole"

Check annotation
$ k get sa logging-operator -o yaml| grep -A3 annotation
  annotations:
    eks.amazonaws.com/role-arn: arn:aws:iam::myacc:role/myrole
    meta.helm.sh/release-name: logging-operator
    meta.helm.sh/release-namespace: logging

Create logging resource
$ kubectl -n logging apply -f - <<EOF
apiVersion: logging.banzaicloud.io/v1beta1
kind: Logging
metadata:
  name: logging
spec:
  fluentd: {}
  fluentbit: {}
  controlNamespace: logging
EOF

Newly created service account does not have annotation
$ k get sa logging-fluentd -o yaml | gre
p -A3 annotation
  annotations:
    banzaicloud.com/last-applied: <removed>
  creationTimestamp: "2022-10-18T11:03:01Z"
  labels:

Additional context:
Add any other context about the problem here.
Environment details:

Kubernetes version (e.g. v1.15.2): 1.23
Cloud-provider/provisioner (e.g. AKS, GKE, EKS, PKE etc): AWS EKS
logging-operator version (e.g. 2.1.1): 3.17.9
Install method (e.g. helm or static manifests): helm

/kind bug

I couldn't find solid documentation either, but you can do the following in a Logging resource:
spec:
  fluentd:
    serviceAccount:
      metadata:
        annotations:
          eks.amazonaws.com/role-arn: "arn:aws:iam::myacc:role/myrole"


Clarify connect dialog

Pull Request Checklist

[x] Read and followed this repo's Contributing Guidelines
[x] Based your PR on the latest version of the correct branch (master or 3.x)
[x] Followed PEP8 for code style
[x] Ensured your pull request hasn't eliminated unrelated blank lines/spaces,
modified the spyder/defaults directory, or added new icons/assets
[x] Described your changes and the motivation for them below
[x] Noted what issue(s) this pull request resolves, creating one if needed
[x] Included a screenshot, if this PR makes any visible changes to the UI

Affirmation
By submitting this Pull Request, I affirm that:

I release the content of this PR under Spyder's MIT (Expat) license.
I hold the copyright to all the content in this PR, have not copied any of it
directly or indirectly from any source other than the public domain,
and no other party owns the rights to this work.

Description of Changes

Revises the Connect to kernel dialog text to be more clear, descriptive and stylistically correct, particularly with regard to specifying that only a SSH keyfile or user password is required, not both.

Issue(s) Resolved

Fixes #7868

Hello @CAM-Gerlach! Thanks for submitting the PR.

There are no PEP8 issues in the file spyder/plugins/ipythonconsole.py !

As a quick thought Path to SSH keyfile (optional) in the field might be nice as well.

@bcolsen I would have, but the issue is that either field is only optional if the other field is filled out, which might be confusing while the text description makes it more clear. Optional is more for fields that are truly optional, independent of what other fields may or may not be filled.

As a quick thought Path to SSH keyfile (optional)

I agree with @bcolsen here.

My comments:

Please move the new Note text to be below the This is a remote kernel checkbox.
Please move password to be below Host name.
Please add @bcolsen suggestion in SSH key file.

I updated the PR and the screenshot in the first post with all three changes as requested:

You usually have your SSH password (which is the same one as your login password) but few seem to know what a passphrase file is.

(I assume you mean "keyfile" here; "passphrase files" are what is sometimes used with GPG to encrypt/decrypt local files.)
That's quite surprising to me; I don't use SSH that regularly and never have within Spyder, nor (unfortunately) even *nix/POSIX as my primary OS recently, but I'm quite familiar with keyfiles and have generated and used ones both for both my main application of regular SSH, and for Git/Github. However, I'd take your word for it, given your much greater experience and exposure to the Spyder user community.

Please move the new Note text to be below the This is a remote kernel checkbox.

Great point; I was going to do this initially but just didn't get around to fiddling with the layout.

Please move password to be below Host name.

I guess the justification for it being below "Keyfile" is that it may also be the keyfile's passphrase, but if many more users really just use their user password, then it makes more sense to put it under there even if it is somewhat less intuitive for a keyfile passphrase.

Please add @bcolsen suggestion in SSH key file.

I actually considered adding something very similar or identical when first making the changes, but couldn't find a short wording that would be clear, correct, and not redundant to the Note directly above. I'm still not a huge fan since the field isn't technically optional by itself as conventionally defined thus being potentially misleading and confusing, and it doesn't really add anything that isn't better explained by the Note immediately above. However, its enough of a borderline case that I figured it not worthwhile to engage in a futile argument over.

I just mocked up this rough (needs layout and label name help) but functional alternative:

I would have to do a bit of Qt learning to clean it up myself but I think separating out the passwords fields and using radio buttons are a good way of only letting people do the right thing.

I would have to do a bit of Qt learning to clean it up myself but I think separating out the passwords fields and using radio buttons are a good way of only letting people do the right thing.

I agree. It's also clear that the Passphrase is only need for the key file.
@CAM-Gerlach, what do you say?

@bcolsen Thanks! I agree, once you've mocked it up it really looks like it would make for cleaner, clearer and more consistent UX. Of course, it really isn't an alternative but rather an improvement on top of this PR, since the dialog still needs most of the text changes anyway given the problems with and refinements to the existing the existing. So this could be merged if @ccordoba12 thinks its ready, then you base that on top of this.

I think @CAM-Gerlach is right. Let's merge this one, which is a considerable enhancement over the previous UI and then @bcolsen can submit the additional improvements he mocked up.

Sounds good to me. This PR is a great improvement.
Should I submit against 3.x or master?

Let's leave it for master, to not change this dialog too much in 3.x


front-end improvements

Description
Improvements to allow everyone to install packages that have exactly the same dependencies
How Has This Been Tested?
Make sure that you have no problem wrapping your entire project as a Maven
or make sure that there is no problem with npm install
Need additional checks?
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] I have read the CONTRIBUTING document.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have added tests to cover my changes.

Additional Context
Reference: https://docs.npmjs.com/configuring-npm/package-lock-json.html

Only front-end builds cannot be tested in the current structure
Please pack the entire project and test the changes :)


⚠ Bofrost.fr has degraded performance

In 46a2bd3, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 950 ms

Resolved: Bofrost.fr performance has improved in 0a4a74a after 6 minutes.


env_dependency_graph command doesn't see packages from pip.

I think env_dependency_graph should only be treated as a way to get a dependency graph of a single package that has just been conda installed into a fresh environment.

Hmm. If that's true, is that something to automate (preparing a fresh temporary environment, then installing (perhaps as a dry run) into it)?

With the release of conda 4.6, is possible to get it to include pip packages too?
Also, doesn't conda-forge somehow track dependency graphs now? If so, is there some code/util that could replace the quick hack that's inside pyctdev? I only put that in there to demo the potential usefulness...
Separately, I know pyctdev's support for python environments is entirely missing, but I was hoping an "ecosystem=pip env_dependency_graph" command could be supplied by e.g. pipenv graph ("graph will show you a dependency graph of your installed dependencies") or similar. Not relevant as you're talking about conda environments, but thought I'd mention it...

(Minor aside: in https://github.com/pyviz/pyct/issues/24 under "Other cleanup" there's "Combine pyctdev, pyct into one repo (still separate packages)". The pyctdev repo has never had its own issue tracker for this reason i.e. because the plan was to have no pyctdev repo. If you are still keen to move into one repo, then maybe don't have issues here too or you'll have to migrate them. If you no longer want to have one repo, then I guess we should migrate pyctdev issues from pyct to here. I don't have a strong opinion, but I always mildly favoured separate repos and unrelated names...)

(Although I see github now has built-in issue migration, so it doesn't matter too much!)


Keep datatable state in the browser history.

Keep tasks datatable state in the browser history.
Description
Allows to refresh page without tasks datatable state missing. Also added abilities to add filtered/ordered tasks datatable to bookmarks and links exchange.
Motivation and Context
Sometimes we need to add filtered table with tasks to bookmarks or refresh the page.
Have you tested this? If so, how?
Selenium tests added for entries amount, order and filter (I used selenium + phantomjs driver because I needed 'wait for elements' feature which is too complicated for phantom.js)

Hi, @Tarrasch

What's a "datatable"? :)

It's js library you used to display table with tasks :) - https://datatables.net/

Butif we keep the state after a refresh, doesn't that kill the purpose of refreshing? I mean I want to see the new latest values. No?

No. Values (tasks) are not stored. History keeps order, filter and amount of entries on page (Entries select box value).

I'm not sure I fully understand the part about

An example: you selected to display 50 entries on page, you filtered by 'Uber' and ordered by name. Then you refreshed the page. After page refresh entries, filter and order stay the same (50, 'Uber', name).

Did you mean you implement so that you can send urls like http://myluigi.com:8082/q=MyTask???

Yes. This is copy-paste from local instance - http://<IP_ADDRESS>:8082/static/visualiser/index.html?search__search=Uber&order=1,asc&length=10

To clarify what's done here, can you add any screenshots or example urls to this PR to clarify what it adds? If it's not too much work.

http://<IP_ADDRESS>:8082/static/visualiser/index.html?search__search=Uber&order=1,asc&length=50 . But usually you do not need to construct such an url - just copy-paste it from browser.

What are the 6 rows here? Can you comment on explaining this magic?

Ok.

Ok. It's all clear to me now. I've wanted this thing for like forever. But I let someone else do the code review. :)

@daveFNbuck, can you review this? :)

Looks good to me. Would be nice if we also saved the state of the graph buttons for easy sharing.

@nmb10, thanks a lot, I'll try this out soon. :)

Would be nice if we also saved the state of the graph buttons for easy sharing.
I'll check that.


fix: Resolve security issues

Fixes security issues via npm run audit

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Configure Chocolatey GUI to prompt for repository credentials like the Choco CLI

Checklist

[X] I have verified this is the correct repository for opening this issue.
[X] I have verified no other issues exist related to my request.

Is Your Feature Request Related To A Problem? Please describe.
Our team is using a business license and we worked in an offline environment with heightened security measures. For these reasons, we have the need to confidently audit installations on our machines. We also need to audit access to Nexus and be able to understand the actions that our users are executing. Due to these requirements, we had to configure Chocolatey, CCM, and Nexus to run without anonymous authentication and without a stored service account. Chocolatey GUI doesn't function correctly when there aren't stored credentials to authenticate to the repositories.e
Describe The Solution. Why is it needed?
Allow Chocolatey GUI to prompt the user for credentials if a username and password aren't present for a source similar to the CLI. Store the credentials for the current session so users can execute multiple tasks once they authenticate. End the stored user session when the user exits the GUI. The lack of this functionality is the main reason why my company isn't fully adopting this solution.
Additional Context
My team and our customers are in the middle of a tech refresh for many of our products. We are evaluating 3rd party solutions to increase our security posture. Updating this feature would allow our teams to utilize Chocolatey GUI without anonymous access, have a verifiable audit trail, and additional ease of use that would help out tremendously.
Related Issues
Zendesk #18967
No response

This issue seems somewhat related to #494 regarding source authentication.


[WIP]Vietnamese translation

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @brson (or someone else) soon.
If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.
Please see the contribution instructions for more information.

r @brson

Wow this is amazing! Thank you. Can you rebase?

@brson i have done rebase code, but i missing some page not translated, i'm continue translate page missed, when i'm done you can merge this PR. Thanks @brson

Thanks again @hngiang! I see there's another conflict here now. I'm happy to merge when they are fixed.

@brson i fixing that.

Many conflicts here, i will open new PR 😸


[dashboard] Refactor API using SIP-35

CATEGORY

[ ] Bug Fix
[ ] Enhancement (new features, refinement)
[X] Refactor
[ ] Add tests
[ ] Build / Development Environment
[ ] Documentation

SUMMARY
Refactor of the Dashboard API using SIP-35
ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

REVIEWERS
@willbarrett, @craig-rueda, @villebro

Codecov Report

Merging #9315 into master will not change coverage by %.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #9315   +/-   ##
=======================================
  Coverage   59.08%   59.08%
=======================================
  Files         374      374
  Lines       12205    12205
  Branches     2989     2989
=======================================
  Hits         7211     7211
  Misses       4815     4815
  Partials      179      179

Impacted Files
Coverage Δ

superset-frontend/src/explore/controls.jsx
40.14% <0.00%> (ø)

Continue to review full report at Codecov.

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


Extracting update query columns

Could you tell me how i can extract which columns the update query wants to update and what are their values? By the way, huge thanks for your awesome project.

Hey @zachmu, Thanks for your response. In our project we want to parse the sql queries that we are receiving and extract its components and then use those components to build a request and send it to another service for database updates. there is a legacy service which we are trying to detach it from real database. for example if this is the query we are receiving:
UPDATE users SET email =<EMAIL_ADDRESS>WHERE id = 1;
we want to know that this is an 'update' query and it tries to update 'email' column based on id = 1 condition. I read the BACKEND.md but i didn't get which interface i should implement. I'll be grateful if you help me with that.

I think what you really want is the Vitess. This is our fork;
https://github.com/dolthub/vitess
That handles query parsing in go-mysql-server.

Yeah I came across this project earlier but i didn't understand how it can solve my problem. What we want is all MySQL functionality with this exception that for queries we need all their components for building the requests and for response we must return valid MySQL responses/errors so that the legacy project doesn't feel it is a mock MySQL.

Going to cvlose this as I think we answered your question.


Invalid argument error

I am getting the same "Invalid argument" error on importing the Compliance and Nurture solutions too. The replacement Core solution works fine. Are there alternatives for these too or will we need to wait for the tenant fix to be rolled out?  Thanks

Closing as I found the earlier issue which confirms the above!


[Ready for review] Added client for Database

how about we take a look at your design approach at the Thursday team meeting


Add DNN 7.2.0 support

As an administrator, I would like to use the provider with a DNN 7.2.0 site.

DNN 7.2.0 does not include Async page event support that is required for using the Auth0 Client API. DNN is adding Async support in DNN 10.0.0 (https://github.com/dnnsoftware/Dnn.Platform/milestone/24?closed=1)
Currently doing more testing on the UI.

Updated code for 7.2.0 support.  Verified that with appropriate configuration changes and one small change to default.aspx that 7.2.0 support is complete.  Will close this issue and document the necessary configuration changes that are needed to run in 7.2.0+


A Staff member can remove items from an order.

If there aren't enough of an item in the inventory, A staff member can use the number on the ticket to access the order and remove those items.
Acceptance Criteria

[ ] Staff member can enter the ticket number into the start screen and press "Modify order"
[ ] If they remove an item, a window pops up that asks, "Is this out of stock?"
[ ] A second item pops up that asks for an access key to remove it (To ensure it's not just because they can't find it.
[ ] If they click yes, then it removes that item from the inventory entirely.
[ ] Guest account is credited back with the amount of the items removed from their order.

Duplicate.


JPEGDEC::openFLASH should accept const pointers

The signature of JPEGDEC::openFLASH is as follows:
int JPEGDEC::openFLASH(uint8_t *pData, int iDataSize, JPEG_DRAW_CALLBACK *pfnDraw)

This implies that JPEGDEC::openFLASH cannot accept const arrays or other const data. However, by definition, data located in flash is read-only, so it should accept pointers to const data. Thus the signature should be changed accordingly:
int JPEGDEC::openFLASH(const uint8_t *pData, int iDataSize, JPEG_DRAW_CALLBACK *pfnDraw)

This also implies changing the JPEGFILE struct to change the pData field to const, but I think that would generally be a good idea to undertake as well, since this is a decoding library that only reads the data and never writes back.
For now, the workaround is to cast away the const with either const_cast or a C-style cast, both of which are frowned upon.

You're correct, thanks for pointing it out. I'll push a correction.


Knative Service is not created if "from" parameters are declared in the parameters section

What happened?
Consider the following two Integrations:
apiVersion: camel.apache.org/v1
kind: Integration
metadata:
  name: rest1
spec:
  sources:
  - name: main.yaml
    content: |-
      - from:
          uri: rest:get:/demo
          steps:
          - setBody:
              constant: "It worked"
---
apiVersion: camel.apache.org/v1
kind: Integration
metadata:
  name: rest2
spec:
  sources:
  - name: main.yaml
    content: |-
      - from:
          uri: rest
          parameters:
            method: get
            path: /demo
          steps:
          - setBody:
              constant: "It worked"

They are basically the same and differ on how the rest endpoints are declared. In the first case we have a complete uri:
      - from:
          uri: rest:get:/demo

while in the second case we use parameters:
      - from:
          uri: rest
          parameters:
            method: get
            path: /demo

Both Integrations succeed to deploy and are Ready. However, only the first one generates a Knative Service.
Some info about the  generated k8s resources:
$ k get it | grep rest
rest1                                         Running   True    quarkus            3.2.3             kit-ct8tutfc8u1g22rl7ldg   1
rest2                                         Running   True    quarkus            3.2.3             kit-ct8tutfc8u1g22rl7ldg   1
$ k get ksvc | grep rest
rest1                                         http://rest1.a1b2c3d4e5.integrations-tst.sensedia-eng.com                                         rest1-00001                                         rest1-00001                                         True
$ k get svc | grep rest
rest1                                                       ClusterIP   None             <none>        80/TCP                                               21s
rest1-00001                                                 ClusterIP   <IP_ADDRESS>    <none>        81/TCP,443/TCP                                       32s
rest1-00001-private                                         ClusterIP   <IP_ADDRESS>      <none>        80/TCP,443/TCP,9090/TCP,9091/TCP,8022/TCP,8013/TCP   32s
$ k get deploy | grep rest
rest1-00001-deployment                                         1/1     1            1           38s
rest2                                                          1/1     1            1           38s
$ k get pod | grep rest
rest1-00001-deployment-559df96f6-n22c2                            2/2     Running            0                  61s
rest2-687585685-l7t9b                                             1/1     Running            0                  61s

Steps to reproduce
No response
Relevant log output
No response
Camel K version
2.4.0

After some debugging, I found out the root cause and realized it has already been fixed by https://github.com/apache/camel-k/pull/5369


Implemented serialized data interface

Most of the code is in proto/ with c and python libraries along with tests. Let me know if there is enough documentation available to use both libraries.

@stevegtaylor Updated the documentation and resolved all comments. As a last check can you try running the STM32 tests to check that they work and are configured correctly?
For the CI checks, the publish to TestPyPI failed because it has already been upload. For the ESP32, there is not source files yet therefore fails. Both of these are fine an cannot be fixed in this PR.

@stevegtaylor Update on this?

@stevegtaylor Update on this?

Working on openocd right now

4 tests passed, with the latest code.


Dynamic Programming 0-1 Knapsack problems

Description
I would like to add 3 knapsack problems which ain't already included.

Minimum difference in subset-sum
Number of subset with a given differenece
Target Sum

I would like to work under GSSOC'22
Domain
Competitive Programming
Type of Contribution
Addition
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of LearnCPP.

/assign

/assign


Allow container names to link to the service

Let user provide localip and use the public port to assume the url for each container?

I went the other way, ports link to the host:port, and names open the container detail view.


Constraint about the mirror/light source.

I really appreciate your idea! Thank you for show it to us!
I'm trying my mirror now and have met some problem.
Firstly, the spot effect is not ideal:

It's size is too big.
Different spot has vary different size.
Let me show you the photo below. Have you met this problem before?

Secondly, I realize you used the sun light for your light source. As my understanding, the parallel light source is better. But I want to use it indoor. Can you give me some advice about concentrated light source? Will he cause some unexpected issue? Unexpected spot pattern etc.?
Thank you advance for your reply.

@junjieim did you have any success using it indoors?

@davidsalamon Indoor light won't work unless the light is all coming from a single source. If that is the case, the code can be modified to account for a light source placed not at infinity (e.g. incoming rays are not parallel).


Options for creating PDF to remove problems from file

Hello,
I am working in a project where certain PDF files result in massive memory leaks when rendered. We've found that we can convert these files in Acrobat and produce "clean" copies that do not demonstrate these problems.
We are trying to do this on the server with pdf-lib, but so far the output files still have the same issues as the originals, so they are too "similar" to the original. What options exist for creating the new PDF so that I can ditch much of the original file's data and make a clean new copy?
Thanks,

You can copy pages into a new document. That might help. I'd need more information to be of any more help with this. If you're still working on this, feel free to fill out one of the new issue templates:

Bug Report
Proposal


remove .gitignored files

So satisfying

Thank you for your help, I am not used to have open source projects so feel free to suggest alterations.
I made some changes to the gitignore because I need to have the build/dist folders in the repo since they are used for the automated builds.

@joaogamarra Oh I see. Keeping the build in the repo is almost never the right thing to do, it bloats the repo, slows down git commands, and makes it difficult to track changes. I suggest you set up your automated builds create the build/dist folders themselves.


Fix alignment and border for usermessage

Before:

After:

@Duncid  mentioned you as an FYI, but since it's pretty obv, I'm merging


Add recursive role assumption.

This change will allow a profile to use a profile that uses a role as a
source profile. This will allow hierarchies of profiles where a user is
used to assume a role which is then used to assume another role. This is
useful for when another account grants cross account access and the role
that can assume the other role is assumable by users. Here's an example.
[default]
aws_access_key_id = <blah_id>
aws_secreet_access_key = <blah_secret>

~/.aws/config
[profile customer_accessor_role]
role_arn=arn:aws:iam:<my_acct_number>:role/customer_accessor_role
source_profile=default

[profile customer_role]
role_arn=arn:aws:iam:<customer_acct_number>:role/customer_role
source_profile=customer_accessor_role
external_id=<whatever>

Now I can do things like the following:
aws --profile customer_role s3 ls

Hi,
First of all, this isn't quite ready for pulling, but I have a questions regarding the implementation. How can I reliably pass the cache that is being used in the AssumeRoleProvider into the new resolver that I create with get_credentials? With that, the mfa that I input doesn't get cached to disk when using the aws cli tool since the aws cli tool has to override the cache to make it persist to disk.
Also, I am working on adding tests for this. Do I need to cover every test case that is currently covered for roles that use direct profiles (that is ones that have a access_key, a secret_key, and possibly a token)?
Thanks,
wt

Hi,
I am working on adding tests for this. Do I need to cover every test case that is currently covered for roles that use direct profiles (that is ones that have a access_key, a secret_key, and possibly a token)?
Thanks,
wt

At this point, this change passes all the old tests.

Okay, I've now added tests that cover all new code paths. I found that there was an unnecessary exception being raised since I needed the same check in an ealier location in the code, so I just removed it. The old tests are completely unchanged. I copied and modified some old tests to test the functionality specific to the indirect role resolution.
I think this change is not ready for merging if you are comfortable with it.

Thanks for the pull request.  The one thing that I want to think about is whether or not there's some way to unify the idea of pulling credentials from somewhere other than hard coded creds from a source_profile.  There's another related PR (https://github.com/boto/botocore/pull/851) that has something similar.  They want to be able to pull creds from the instance metadata service instead of from assuming a role.
I think there's probably a way to generalize the concept of pulling creds for the initial assume role call to STS.
Do you have any thoughts on that?

I actually do have some thoughts on that, but my thoughts would require changing the interface for get_credentials and create_credential_resolver. I think it'd be backward compatible. My basic idea is to add a named arg for a dict that contains all the args used with all the providers. Then, pass that dict and the session (as named args) to all providers during initialization. Then, I would be able to call get_credentials with the session and that dict to pass their values into a new credential resolver for each level of resolution. It would probably be good to have some way to prevent loops in the resolution by keeping a set of already resolved names and passing those in as well. The create_credential_resolver and get_credentials function would end up with this definition:
def create_credential_resolver(
        session, provider_config=None,  **kwargs):
    if provider_config is None:
        provider_config = set()
    if 'profile_name' in kwargs:
       profile_name = session.get_config_variable('profile') or 'default'
    ...and so on

def get_credential(
        session, provider_config=None, **kwargs):
    ...

Then I could pass the values into the get_credentials for any providers that needed to do a recursive resolution instead of doing something like constructing a new AssumeRoleProvider explicitly like I do in  my implementation of the recursive resolution now.
Having said all this, I feel like this change is a step between here and there. I think it's going to take a lot of fiddling to get the new interface right considering that create_credential_resolver current resolves a lot of magic variables. I think that logic may need to be refactored. I'd like to see this change go in as it demonstrably improves the status quo by allowing recursive role assumption when the leaf identity is an AWS user. I think this is a clear improvement that doesn't impede a more general solution like I described above, and I'd hate to gate this functionality on that functionality.

Penny for your thoughts?

ping
This functionality is sorely needed so that using roles is easier. Please consider not blocking this solution since it isn't perfect. It really is helping me to use the boto3 lib and aws-cli when using assume role functionality.

Do you have any feedback for changes that would make this change acceptable? It would be really helpful to get some clear feedback if there is something specific lacking in this change. I'd be happy to address it if I knew what is lacking.


Upstream delinker data model

Currently, the delinker data model used by this extension is private and independent of Ghidra's program database. If it was upstreamed, it would then be properly integrated with the rest of Ghidra and allow an ecosystem of plugins/extensions/scripts around it.
This is expected to be an extremely tricky issue that will take a very long time to solve, since:

Delinking is currently a very niche reverse-engineering technique and there is almost no literature on the topic ;
A generic, general-purpose delinking model capable of handling every use-case thrown at it is expected to be very hard to design ;
An industrialized implementation using that model, capable of delinking across architectures, file formats and ABIs is expected to be very hard to implement ;
Upstream will not accept major modifications to its program data model without proper justification ;
The delinker data model and implementation inside this extension isn't mature enough.

Note: this issue is about enabling the relocation synthesizer and object file exporters to work directly on top of a vanilla Ghidra program database model, without having to store any data in private places. It is not about upstreaming the relocation synthesizers or the object file exporters themselves.
Requirements:

[X] ELF object file exporter
[x] Another object file format exporter
[X] MIPS 32 bit relocation synthesizer
[x] Another CPU architecture relocation synthesizer
[X] Non-position independent code delinking working
[ ] Position independent code delinking working
[ ] Shared libraries delinking working
[ ] Mismatched ABIs delinking demonstrated?
[ ] ...
[ ] Design a data model integrated with Ghidra's program model
[ ] Implement this data model
[ ] Provide sufficient justifications and use-cases to convince upstream
[ ] Upstream this data model

I love this project, I'm glad you're continuing to work on unlinking after ghidra-unlinker-scripts (although the earlier project is easier to find since "unlinking" seems to be the more popular term). I want to add a potential use case I have seen for unlinking: speeding up the development of fuzzing harnesses. Being able to rip the unit under test out of the target executable and write a small wrapper around it is much faster than writing patch code or hooking. This could fall under the "creating libraries" use case, but is more specific. I'm sorry I don't have any links to point to where someone has done this and written about it. I will also add that GNU ld's --wrap option is pure magic when it comes to wrapping unlinked functions.
You are right that unlinking is niche, but we are not alone! The existence of wcc, unlinker, and unlinkerida demonstrates that there is a need for this kind of tool (If there are more please let me know, those are the only ones I know about).
To agree with your second point above, I have settled on a small hand-rolled unlinker tailored to my target in a decompilation project since none of the previously mentioned solutions work perfectly for me. But, I have tried this new tool of yours and got impressive results. I look forward to seeing where this goes and best of luck!

Hi,

I love this project, I'm glad you're continuing to work on unlinking after ghidra-unlinker-scripts (although the earlier project is easier to find since "unlinking" seems to be the more popular term).

Yeah, I've adopted delinking over unlinking terminology because we already have disassemblers and decompilers. I'm not quite sure what form would be more grammatically correct in English and there's barely any literature online about it anyway.

I want to add a potential use case I have seen for unlinking: speeding up the development of fuzzing harnesses. Being able to rip the unit under test out of the target executable and write a small wrapper around it is much faster than writing patch code or hooking. This could fall under the "creating libraries" use case, but is more specific. I'm sorry I don't have any links to point to where someone has done this and written about it. I will also add that GNU ld's --wrap option is pure magic when it comes to wrapping unlinked functions.

Neat, I didn't think of this use case before.
I built this as part of a video game decompilation/reverse-engineering project and I don't have a background in cyber-security, so my own perspective on what's possible with this is somewhat biased and limited. There are probably tons of other valid use cases, depending on which hat one's wearing.

You are right that unlinking is niche, but we are not alone! The existence of wcc, unlinker, and unlinkerida demonstrates that there is a need for this kind of tool (If there are more please let me know, those are the only ones I know about).

I was vaguely aware of wcc, but not of the rest. I built my tooling from first principles without looking at prior art, after failing to find anything that fit my needs.
I'm not part of the reverse-engineering or cyber-security communities, so I don't know where or how to publicize my stuff. I've also found that people tend to have a really hard time wrapping their heads around this concept, which doesn't help spreading the word about it. The extension is steadily accumulating stars but there's almost no feedback: since it can't possibly be that user-friendly/featureful/bug-free, I don't know of any actual users besides myself, except for the one who contributed COFF support (and even then, I haven't heard from them since).
I do wonder how you've stumbled upon this. Besides a couple of Hacker News comments, some chaff over at Ghidra's GitHub repository and my personal blog which has at most 10 readers maybe, I haven't put any efforts into advertising it.

To agree with your second point above, I have settled on a small hand-rolled unlinker tailored to my target in a decompilation project since none of the previously mentioned solutions work perfectly for me. But, I have tried this new tool of yours and got impressive results. I look forward to seeing where this goes and best of luck!

Do you have any specific feedback on my extension as applied to your use case? I want to build a general-purpose tool that others can use, so I'm interested in hearing any issues that would prevent you from using it.
As for where this goes, right now it's adequately serving my needs, which is delinking PlayStation code as part of a decompilation project. Because of this, I don't expect that I'll be adding new features myself anytime soon, but I'll actively try and integrate anything that comes my way. So far, I've received one PR for a COFF exporter (#5), which I merged a couple of weeks ago.
So I guess the next big step is to turn my eldritch ramblings into marketable human language and get some exposure, somehow, because I've carried it as far as I can by myself. There's only so many object file format specifications, ISA manuals, toolchain manpages and platform-specific details that can fit into my head while keeping a decompilation project ongoing.
The areas of improvements I can foresee in no specific order are:

Relocation synthesizers for other ISAs (x86_64, Aarch64...)
Exporters for other object file formats (Mach-O, a.out...)
Symbol mangling and maybe COMDAT/section groups for delinking C++ code
Generating debugging symbols for a better debugging experience

Delinker definitely pairs better with decompiler, can't argue with that. Funny you mention HN because that's exactly how I stumbled across this project (this post in specific). I recognized your user name from the unlinker scripts which I played with early last summer, although I didn't have anything to do with MIPS so I didn't do much beside mess around. I ended up landing on wcc back then and it did what I needed: x86_64 ELF files. This time around I needed a way to unlink a C++ x86_32 Windows PE image files into COFF object files and saw that COFF support was recently added here.
As far as issues go, I took a brief look at the synthesized relocation list, compared it to the output of of my hand-rolled solution for my target binary, and saw some things that should be relocated were not in the list. I can try to compile a smaller example than a whole game and open an issue. I don't have it up right now but IIRC it missed an absolute address reference to the values table of a switch statement immediately following the function the reference was in, Ghidra itself did have this XRef marked. Which seemed odd since it found the absolute address reference to the jump table for the same switch which was right before the values table it missed. I'll play with it some more later and report back.


Returns errors if unable to generate UUID, fixing errors in for multiple variable return in single value context

Interesting. It seems the ci does not reflect reality. attempting to go get this package results in errors.


Configurable string length limit

String length

Restricted to strings of length < 256: Currently, the library does not support encrypted strings longer than 255 characters. This is due to the fact that for our FheString algorithms to work, we need to be able to represent encrypted integers up to the maximum string length. The size of encrypted integers is fixed at key generation. We could have opted for supporting longer strings (in fact, this is an easy change to the key generation function), but we felt that 256 characters is more than enough initially, considering the limited performance.

Implemented through #12


Fix serialize_as_any with recursive ref

BaseModel.model_dump[_xxx](serialize_as_any = True) breaks with models with recursive attribute types (not values)
https://github.com/pydantic/pydantic/issues/9670

Related issue number

fix https://github.com/pydantic/pydantic/issues/9670
Checklist

[ ] Unit tests for the changes exist
[ ] Documentation reflects the changes where applicable
[ ] Pydantic tests pass with this pydantic-core (except for expected changes)
[ ] My PR is ready to review, please add a comment including the phrase "please review" to assign reviewers

@NeevCohen, I'm finally back, and can review this either this evening or tomorrow morning!

@sydney-runkle Welcome back! I think you meant to tag @nix010 😅

@NeevCohen ah yes, oops! Thanks! Meant to tag @nix010 :)

pls review

Closing in favor of https://github.com/pydantic/pydantic-core/pull/1478


autocreate firewall rules if HTTP or HTTPS option checked

Please review carefully, I'm an amateur. Especially if there's a way to detect firewalls present and then skip instead of just catching error and doing nothing, that'd be nice.


add try-runtime-ci

closes #76
This PR makes it so try-runtime will run when a migration label is added to a PR.
This is considered a template for a try-runtime CI pipeline. In order for this to be fully functional, an RPC node will need to be setup for the project with flags on it to enable large request/response size.

This test should fail as the the RPC node is not set up.

As a suggestion: I think rather than repeating the same setup in both environments it'd be worth to create a common setup like in trappist to reduce the size and improve readability. In any case this can definitely be a future improvement, so I leave it up to you.

Took @Moliholy's suggestion and reduced code duplication by creating a custom Github Action action that can be used for both mainnet and devnet. Thanks to @stiiifff for the custom action idea.

Could this PR use an additional document inside docs/ describing the process for try-runtime briefly and setting up / using this github action (like setting up their RPC node) for downstream projects?


Can we add the functionality to return the 'Font Size' from pdfminer.layout.LTChar class?

Can we add this functionality. As this would be helpful for separating out different sections and finding out the continuation of text in a line in the pdf.
I have check the code from LTChar class in layout.py file and see that we have "fontsize" available there.
As in the same class we have get_text() also. same way we can have get_font_size().
Is there a reason why we are not returning "fontsize"?

You can read the instance variable LTChar.size, which is the size in page coordinates as determined by pdfminer. .fontsize is the size in text coordinates, which might differ.
You're allowed to read public instance variables.

yeah, size is different from font size , which I have analysed. However there is  a variable fontsize also available in the same class LTChar but that is no public instance variable. Why is that so?

Duplicate of this issue. As noted there, an easy fix is to add
self.fontsize = fontsize

to the __init__ method of class LTChar.

Closing because it is a duplicate of #202


[backport] Fix stack overflow caused when to_gpu/to_cpu/to_intel64 were overridden

Backport of #6824

[automatic post] Jenkins, test this please.

Jenkins CI test (for commit 47bdc5cd29077e22fa14a57517ba7bb475cf4aa1, target branch v6) failed with status FAILURE.

LGTM