SyntaxError: invalid syntax. Perhaps you forgot a comma?

ouroboros    | SyntaxError: invalid syntax. Perhaps you forgot a comma?

ouroboros    | Traceback (most recent call last):

ouroboros    |   File "/usr/local/bin/ouroboros", line 2, in <module>

ouroboros    |     from pyouroboros.ouroboros import main

ouroboros    |   File "/usr/local/lib/python3.10/site-packages/pyouroboros/ouroboros.py", line 105

ouroboros    |     docker_group.add_argument('-L', '--latest-only', default=Config.latest_only dest='LATEST_ONLY', action='store_true',

I've tried the latest release but am still getting the same error
ouroboros    | SyntaxError: invalid syntax. Perhaps you forgot a comma?

ouroboros    | Traceback (most recent call last):

ouroboros    |   File "/usr/local/bin/ouroboros", line 2, in <module>

ouroboros    |     from pyouroboros.ouroboros import main

ouroboros    |   File "/usr/local/lib/python3.10/site-packages/pyouroboros/ouroboros.py", line 105

ouroboros    |     docker_group.add_argument('-L', '--latest-only', default=Config.latest_only dest='LATEST_ONLY', action='store_true',

It looks like your Docker hasn't pulled the image
If you used docker-compose:

cd into the directory with the docker-compose.yml file
docker-compose pull
docker-compose up -d --remove-orphans
docker image prune

If you used docker run:

Delete the ouroboros container
Run docker pull gmt2001/ouroboros:latest (Docker Hub) or docker pull ghcr.io/gmt2001/ouroboros:latest (GitHub Container Registry)
Create a new ouroboros container

It looks like your Docker hasn't pulled the image
If you used docker-compose:
1. `cd` into the directory with the `docker-compose.yml` file

2. `docker-compose pull`

3. `docker-compose up -d --remove-orphans`

4. `docker image prune`

If you used docker run:
1. Delete the ouroboros container

2. Run `docker pull gmt2001/ouroboros:latest` (Docker Hub) or `docker pull ghcr.io/gmt2001/ouroboros:latest` (GitHub Container Registry)

3. Create a new ouroboros container

4. `docker image prune`

you were right
how could I forget that? 🤣


Feature request: tee STDERR to separate file for xcodebuild in scan run

Please make scan also tee STDERR of xcodebuild in scan run to another file

Thanks for the feature request @yakimant! Could you provide some more context around why this would be valuable to you?

@ohayon, I want to make error handling myself, but right now - I can only look to the STDOUT log of xcodebuild and scan exception text. It would be nice to get xcodebuild STDERR text and exit code after failure.
For example, I've put a wrong sdk  parameter for scan action, here is what I get in the log:
[18:46:43]: $ set -o pipefail && env NSUnbufferedIO=YES xcodebuild -workspace SOME.xcworkspace -scheme SOME -configuration Debug -sdk 'WRONGSDK' -destination 'platform=iOS Simulator,id=41BB10C1-A3EE-4952-BC7F-EA28813CD335' -derivedDataPath '/SOMEPATH/DerivedData' test | tee '/SOMEPATH/log/App-SOME.log' | xcpretty  --report junit --output '/SOMEPATH/report.junit' --report junit --output '/var/folders/jc/4nspzdv54bqgw8qyvcdq_bzc0000gn/T/junit_report20170
613-51047-3mmv3'
[18:46:43]: ▸ Loading...
[18:46:43]: ▸ xcodebuild: error: SDK "WRONGSDK" cannot be located.
xcodebuild: error: SDK "WRONGSDK" cannot be located.
[18:46:44]: Exit status: 64

scan's exception is Error building/testing the application - see the log above
And I wan't to get xcodebuild's xcodebuild: error: SDK "WRONGSDK" cannot be located. and ideally exit code 64 in order to fail build in CI with nice message.

Ah, I think I understand. Is this something you would want to submit a PR for? 😄

@ohayon, ok
I'll make a new file App-SOME.stderr.log and/or additional fields to exception.

Maybe we could call it <App Name>-scan-output.log or something like that so it is namespaced by the app name and contains the word scan in it?

Unfortunately, I couldn't find a suitable and easy solution for it.
Especially for STDERR, which being redirected to file will not appear fastlane terminal logs.


Generate Constructors

As of this writing, using impl new; creates a constructor with parameters and calls for all setters. Using impl new {func_name(setter: ty, ...); creates a constructor called func_name with the specified arguments that calls setters with the given type.
Ideally I'd want to use the names of the getters as function parameters, since those are generally a better representation of what the field is, and I'd like to grab the types from the field definition as well. However, unless there's a good way to check if two identifiers are the same, this seems impossible to do without procedural macros
Originally #18

While it would be nice to be able to use the names of the getters, I don't think this is a big issue. I think we can go ahead with this version.

I think this should be documented in the bitfield docs too.

Alright, everything you mentioned here should be addressed at this point. Let me know if there's anything else I can work on!

Nice! Thanks very much for your work. Will release this ASAP.


Cortex-M4 sample code

There's a lot of focus on the AI pieces of this board, but I find the 2x dual Cortex-M4 co-processors aren't getting the attention they deserve.
To anyone possibly sharing my sentiment, here's the closest I've been able to find:

The Processor SDK for Linux: http://software-dl.ti.com/processor-sdk-linux/esd/AM57X/latest/index_FDS.html
A demo project in Rust using the M4s and mailbox on the X15: https://github.com/cambridgeconsultants/rust-beagleboardx15-demo

Hope this helps

Hello,
Nice!
Seth

The Processor SDK 3.15 for the AM572x can be found here : http://downloads.ti.com/processor-sdk-linux/esd/docs/latest/linux/Foundational_Components/Machine_Learning/tidl.html
The following snippets help in highlighting the role of the A15 processors, although not in the form of a pseudocode or sample codes.

In the software stack, as can be summarised in the figure:

In cases when user uses TIDL + DSPs or alternatively TIDL + EVEs or a combination of both (TIDL + DSPs + EVEs), the software layers used are:

In case TIDL uses DSP as accelerator there are three software layers:

TIDL Library that runs on DSP C66
OpenCL run-time, which runs on A15, and DSP
TIDL API host wrapper, user space library

In case TIDL uses EVE as accelerator there are four software layers:

TIDL Library that runs on EVE
M4 service layer, acting as proxy between EVE and A15 Linux (considered to be part of OpenCL)
OpenCL run-time, which runs on A15, but also on M4 (IPU1 which is reserved for TIDL OpenCL monitor role)
TIDL API host wrapper, user space library

Another use case of the A15 is to use it for maximum performance. TIDL supports network layer distribution among the (4 EVEs + 2DSPs) accelerators present in the AM572x processor. Among the recommended settings, it is mentioned:

SoftMax layer is terminal layer it is advised to do SoftMax either on A15 (in user space) or using DSP.

hey @reneherrero did you find any more resources? c++ ? i'm in the same place today 😄

This seems to be the only option: https://www.ti.com/tool/PROCESSOR-SDK-AM57X


Feature Request: Support for Application Insights Connection String

Hello Team,
Apparently, NLog ApplicationInsightsTarget doesn't support connection string. It only uses Instrumentation Key to connect to Application Insights.
Microsoft Recommendation is to use connection string instead of application insights.
Is there any plan to implement this feature in NLog?
Thanks and Regards,
Naga Obbalareddy

You can try and cheer for the pull-request already prepared, maybe it will help convince Microsoft:

https://github.com/microsoft/ApplicationInsights-dotnet/pull/2897

Thanks for your response. Able to use connectionstring now.

We have facing another issue with using Application Insights Target.
Apparently, it is not capturing aspnet-user-identity, aspnet-request-ip, aspnet-traceidentifier, aspnet-request-url and aspnet-response-statuscode.
It works for File Target. Is there any limitation to capture this with Application Insights Target in NLog?

When troubleshooting NLog then it is a good idea to enable throwConfigExceptions="true" and also check the NLog InternalLogger for any clues.

Closing due to inactivity.


[BUG] filter_query hook isn't called with graphql schema

Describe the bug
maybe it is my workaround to unfold the get_all_operations hook of a graphql schema to have APIOperations for the search strategy generation for unittests but in my case somehow the
filter_query hook isn't called.
I put a print statement in it. Example comes later

Indeed, at the moment it is called only for body, my line of thinking was that as we only generate body, then only body-related hooks should be called.
However, I think, even if Schemathesis does not generate data for query / cookies / headers, it should still be possible for the user to pass something manually. For example:
@schemathesis.hook
def map_query(context, query):
    # `query` is always `None` here as we don't generate anything
    return {"user_id": 101}

So, we can just behave the same way as with Open API - even if query / cookies / headers are not generated, we have default values and they are passed to hooks.

Working on a fix


Support DOWNTO keyword

RPGLE FOR operations not only supports the TO keyword, it also supports DOWNTO.
https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_74/rzasd/zzfor.htm
    dcl-s field char(50) inz('hello world');
    for i = %len (field) downto 1;
       if %subst(field: i: 1) = ' ';
          iter;
       endif;
       dsply (%subst(field: i: 1));
    endfor;

@worksofliam Nice! Today I learned something lol. Thanks for adding that


DataSet Can’t Be Downloaded successfully

hello，I wanna know which direction should I put the in the project? I have some trouble downloading the datasets while running train.py，so I downloaded them by myself. But I have no idea where should they be located?
.\newsreclib\newsreclib\data
or
.\newsreclib\configs\data
or
somewhere else

The datasets should be placed in a new directory with the location ./newsreclib/data.

The datasets should be placed in a new directory with the location ./newsreclib/data.

thanks, I got it


GraphicArtifacts with BakedLightmap and Glow

Godot version:
a1f835df771464e9db6909fd104751ccbbc1b91a as well as 3.0.2
OS/device including version:
Ubuntu 17.04, GTX1060
Issue description:
When using BakedLightmap together with Glow black areas are visible from time to time.

Steps to reproduce:

Download reproduction project (it's a modified material demo with one new material and glow parameters increased a lot)
Run it
Go to the one of the last materials and rotate camera in the similar fashion how it's in the gif.

Minimal reproduction project:
https://www.dropbox.com/s/es44d64tmxqvbvi/BakedLightmapGlow_BlackAreas.7z?dl=0

I have tested it on 6e5872b70978b4ded3ade769ff46a44de6a6eb02
The reproduction project looks different now, there seems to be something wrong with glow:

(gif is made with glow=1.0, in the reproduction project the value is = 8.0)
described behavior is probably in fact a manifestation of #17036

@kubecz3k Does setting the material roughness to a low (but non-zero) value like 0.02 help reduce artifacts?

@Calinou it seems that reducing the roughness don't change anything

That actually seems like it s working as intended, but it likely may need some sort of luminance cap..


HDF5 not found if using hdf5-config.cmake

https://github.com/Unidata/netcdf-c/blob/db41b2a65367ccb334e18fec2a8889c82aee936e/CMakeLists.txt#L678
In this case only HDF5_hdf5_LIBRARY_RELEASE/HDF5_hdf5_LIBRARY_DEBUG is set.
Also the logic to detect if HDF5 was built in parallel is incorrect. In the case of using the config file this information is available via the variable HDF5_IS_PARALLEL. In the case that the library is named in the variable HDF5_hdf5_LIBRARY.
The correct fix now that the minimum cmake version has been bumped is to simply do find_package(hdf5 REQUIRED) and then link against the meta target hdf5::hdf5-shared or hdf5::hdf5-static as appropriate. This then sets up all the transitive link dependencies and propagates the correct defines for H5_BUILD_AS_DYNAMIC_LIB based upon the options the library was built with.
See the talk at C++Now available here: https://www.youtube.com/watch?v=bsXLMQ6WgIk for more details on this modern style of CMake usage.

Does this work with hdf5 installs not built with cmake? Do you happen to know the minimum version of hdf5 which works with this? We have had issues with detecting hdf5 across multiple versions and platforms, which is why it is the kludge it currently is.  I'm happy to revisit it, thank you for the link, I will review it!

I partially implemented a fix for this issue:
https://github.com/zenotech/netcdf-c/commit/fa9892647542fd245cd57ad783f2e6210d535ebf
Note I removed the 16 compatibility macro and explicitly changed the code to use the *1 variant of the calls explicitly so that I didn't have to generate configuration files with defines within cmake.
This resolves it for our use case but I don't have the time to or the list of complete set of configurations to test against to get this integrated back to the mainline.

Thanks! I will take a look at your fix, I appreciate you taking the time to follow up!

@jsharpe your changes are interesting, any chance you'd take another try at it ?


⚠ Bofrost.de has degraded performance

In 1df03b7, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1658 ms

Resolved: Bofrost.de performance has improved in 1ba2da9.


Changed Theme to Material Design 3 and Added Dynamic Color

Yep, you're welcome.  I do apologize for not leaving a description.  I always love an application that pulls in the device's color scheme when the device supports it, even if some of the color choices Android lets you pick from can be a little strange.


lxd 2.0 change /var/lib/lxd dir

Hi. Is it possible to change  /var/lib/lxd or /var/lib/lxd/containers dir?

Yes, you need to set the LXD_DIR environment variable.

Thanks!

That's not always super practical on a standard installation though, in those cases, the easiest tends to be to bind-mount /var/lib/lxd away to where you have more storage space.
In this case, you'd do:

Stop all your containers
systemctl stop lxd lxd.socket
Move /var/lib/lxd where you want it
Create an empty /var/lib/lxd
Setup a mount entry in /etc/fstab like /new/location/lxd /var/lib/lxd none bind 0 0
Mount it with mount /var/lib/lxd
Start LXD again with systemctl start lxd


Unable to register new number

Hi, when i try to register any number i get the below exception
Value cannot be null.
Parameter name: input

hope there is no solution for this now

y it is closed without any solution


ARM: Cortex-M/R: improvements for v2.7.0 release

Is your enhancement proposal related to a problem? Please describe.
Enhancements for the Cortex-M architecture support
List of open issues

[x] Optimize SPLIM programming, potentially removing SPLIM clearing to zero
[x] An AARC32 user guide, similar to ARC and x86 (#36388)
[ ] Validate MSP in HardFault and NMI handlers
[x] Use labels for constants in assembly (#36333)
[ ] Investigate if barrier instructions are needed for semaphore operations
[ ] Investigate if aligned access can be enforced, or at least set by default
[ ] Investigate using unprivileged load-store instructions in user mode assembly code
[x] Re-work the VTOR offset register for the different variants of Cortex-M (#36333)
[x] Implement FPU support in QEMU and enable it in CI (#35381)
[ ] Clean up SoC-specific code from arch/arm/aarch32 and include/arch/arm/aarch32
[x] Switch arch_irq_lock to use the BASEPRI max instead of BASEPRI setting (#36333)
[ ] Configure non-banked faults in accordance with TF-M, if building with TF-M
[ ] Store FP callee-saved context in stack instead of allocating a placeholder in kernel memory
[x] Move save/restore of FPU context in arch, as common internal API (#35846)
[ ] Zero latency IRQs for Baseline Cortex-M
[x] [Cortex-R] MPU support (#28231 )
[ ] [Enh. Kernel] Rename userlocal_data to something that does not contain "user" in the name, as it is used under CONFIG_USERSPACE  but beyond user threads
[ ] [Enh. Cortex-R] Support floating-point (#TBD)
[ ] [Enh. ARM] Cross-ARCH API for setting IRQ priority (RFC, #25910)
[ ] [Enh. ARM Cortex-M] Add HW stack protection during boot, too.
[ ] [Bug ARM Cortex-M] Support for HW stack protection features together with CONFIG_ARM_SECURE_FIRMWARE=y and CONFIG_FP_SHARING (currently broken)
[x] Dump fault information during HardFault escalation in Cortex-M (#36333)
[x] Standardize API for ARM's z_platform_init (#36333)
[x] Initialize unused core exceptions to prevent undefined behavior (#36333)

Do we have a reproducing case for the FP_SHARING bug? I would like to take a look into that soon.

Assigned to @ithinuel. Feel free to close this one.

@theotherjimmy I know it's been a while but do you remember if you had time to look into that at the time and if there was a reproducible issue ?


Merkle Tree database for the notes

The merkle tree will use the following parameters:
Arity 4
Width 2^34
The hash function will be poseidon
https://github.com/dusk-network/dusk-go-poseidon
It will receive the transparent and obfuscated notes, perform the sponge function, and append to the tree.
The input for this tree is defined by #142

Closing, as this is implemented in rust in another repo.


Jetbrains-IDEs causes hyprland to close sessions

Hyprland Version
 System/Version info
Hyprland, built from branch  at commit e93fbd7c4f991cb8ef03e433ccc4d43587923e15  (props: bump ver to 0.39.0).
Date: Sun Apr 14 18:48:28 2024
Tag: v0.39.0, commits: 1

flags: (if any)

System Information:
System name: Linux
Node name: b4cksl4sh
Release: 6.8.5-arch1-1
Version: #1 SMP PREEMPT_DYNAMIC Thu, 11 Apr 2024 01:47:33 +0000

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

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

plugins:

Bug or Regression?
Bug
Description
Sometimes after clicking "build" button in clion or "run" button in pycharm, Hyprland closes the sessions and i need to lig with sddm again.
How to reproduce
Try to use clion, Pycharm, for a while. it's a fickle problem.
Crash reports, logs, images, videos
hyprlandCrashReport1119.txt
hyprlandCrashReport1075.txt
logFromJournalctl.txt

update.


Tab SSO with Microsoft Blazor for multi-tenant app

I created a new tab app using the Blazor template, but the template does not support multi-tenants.  What are the steps needed to add multi-tenant support to the Blazor Tab with SSO support template?
Is there a sample similar sample like App SSO C# but for Blazor?
I did find this sample which looks correct, but it doesn't provide a link to the source code.

@mercer2000 - Could you please refer this and check if it helps?
https://learn.microsoft.com/en-us/aspnet/core/blazor/security/?view=aspnetcore-7.0

That article looks like it details integrating authentication with Blazor, but doesn't have and details on integrating with Team Tabs SSO.

From: Prasad-MSFT @.>
Sent: Monday, May 1, 2023 1:11:54 AM
To: OfficeDev/Microsoft-Teams-Samples @.>
Cc: Michael Patten @.>; Mention @.>
Subject: Re: [OfficeDev/Microsoft-Teams-Samples] Tab SSO with Microsoft Blazor for multi-tenant app (Issue #788)
@mercer2000https://github.com/mercer2000 - Could you please refer this and check if it helps?
https://learn.microsoft.com/en-us/aspnet/core/blazor/security/?view=aspnetcore-7.0
—
Reply to this email directly, view it on GitHubhttps://github.com/OfficeDev/Microsoft-Teams-Samples/issues/788#issuecomment-1529391176, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AELE4NEENLBV4ULWKGZFYITXD5H2VANCNFSM6AAAAAAXQHQLMM.
You are receiving this because you were mentioned.Message ID: @.***>

@mercer2000 - We are checking internally if there is any sample available for Blazor and will inform you once we get further update. Thanks!

@mercer2000 - Though there is no specific Blazor sample available for this scenario, you can refer below sample as the authentication process would be similar to this. https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/tab-personal-sso-quickstart/csharp_dotnetcore

How to support Multi-tenancy single sign-on in TeamsFx project

When SSO is enabled, Teams Toolkit will by default provision a single-tenant Azure AD app, which means only user and guest accounts in the same directory as your M365 account can successfully sign in to your Teams app.
To support multi-tenant, you can follow the steps below to update your TeamsFx project.
https://github.com/OfficeDev/TeamsFx/wiki/Multi-tenancy-Support-for-Azure-AD-app

It would be helpful to others to add this information here:
https://learn.microsoft.com/en-us/microsoftteams/platform/toolkit/add-single-sign-on?pivots=visual-studio
https://github.com/OfficeDev/Microsoft-Teams-Samples/tree/main/samples/tab-sso/csharp

Thanks @mercer2000  for your suggestion. We will check and update the documentation accordingly.

We are closing this issue for now. Please feel free to reopen if required. Thanks!


How to copy all vmdk files to a new folder

When a snapshot is created a new .vmdk file is made in the folder of the VM (with respect to filesystem).
How can I copy all the .vmdk (i.e. vm.vmdk , vm-000001.vmdk , and so on) to a new folder.
PS- I have tried looping the serviceContent.virtualDiskManager.CopyVirtualDisk_Task for different vmdk files but it copies the same file(vm.vmdk) over and over again (I saw that from the size of file being copied)
PPS- I have also tried content.fileManager.CopyDatastoreFile_Task but it does not even copy vm.vmdk properly (The size of file is 1 gb but it stops copying at 0.59 kb itself)

Hi, have you find any solution?
Can you attach the example for:

serviceContent.virtualDiskManager.CopyVirtualDisk_Task

@s1dsaharan

any solutions to this?


Diagnostic commands

Currently OpenThread supports some of diagnostic commands (DIAG_GET.req, DIAG_GET.rsp and DIAG_RST.nrf). CLI example exposes command networkdiagnostic get, however a response is not populated back (see NetworkDiagnostic::HandleDiagnosticGetResponse).
I would like to get those information on CLI at least in raw tlv ASCII format e.g.:
DIAG_GET.ans: 0102fc00
So the Openthread public API callback could be like: otSetDiagnosticGetCallback(otInstance, callback(otMessage))
Other option could be to parse DIAG_GET.rsp in the NetworkDiagnostic::HandleDiagnosticGetResponse and return some kind of structure (but who should allocate the memory for it, since DIAG_GET.ans consists of different number of members e.g. could carry 4 IPv6 addresses and 3 child information etc.) - however it may be challenging taking to account the amount of possible Diagnostic TLVs.
So generally there are two questions:

How do you want to Diagnostic Get callback to look like in Openthread API (return only otMessage and otMessageInfo or parsed structure etc.)
How to show responses on the CLI? Is it acceptable to print only raw payload in ASCII?

Also as a side task it might be usuful to implement two left commands DIAG_GET.qry and DIAG_GET.ans which are almost the same as already implemented with a difference that they are better for multicast queries due to different transaction pattern.

Resolved by #1099.


What is the best way to write trajectories from multiple running actors into reverb ?

We're looking for an example of code on how to write full trajectories from multiples actors into reverb.
The setting is:

N environments running in parallel (different process)
variable episode length
Use all trajectories once they are available
Our first idea is to create N different table for each running actors. But it is not clear how to retrieve all the
trajectories from reverb and use them as a single dataset of trajectories.

If you create one adder per actor, then I think reverb knows internally that the transitions come from different adders (and so trajectories) and manage that seamlessly. To be verified/confirmed

Hey,
Sorry for the extremely late response on this issue!
The original response is indeed correct. As long as each actor uses their own writer then it is safe for them to all write to the same Table concurrently. When sampling the trajectories can be thought of the "atomic unit" so there is no need for the sampler to be aware of the number of actors on the other side of the system.

Hey,
Sorry for the extremely late response on this issue!
The original response is indeed correct. As long as each actor uses their own writer then it is safe for them to all write to the same Table concurrently. When sampling the trajectories can be thought of the "atomic unit" so there is no need for the sampler to be aware of the number of actors on the other side of the system.


Server side code

Hello!
Is there a way to get the code/specs of what running on https://react-native-webrtc.herokuapp.com ?
Thanks in advance!

https://github.com/oney/react-native-webrtc-server

thanks for sharing!


[Feature] Option to elaborate about repo

Description
When adding a repo, it would be beneficial to have a text input where people can write about them, especially if they maintain an OSS
Screenshots
No response
Additional information
I’d like to work on this with someone

Thank you for the suggestion. Given that when a Repo is added to your Profile the description is also displayed, to have the suggested text input field would end up being a duplication, as well as run the risk of becoming out of date so I will close this.


ImageComponent crashes livebook if passed non-binary contents

Environment

Elixir & Erlang/OTP versions (elixir --version):   1.15.7
Operating system: Erlang/OTP 26
How have you started Livebook (mix phx.server, livebook CLI, Docker, etc): macOS app
Livebook version (use git rev-parse HEAD if running with mix):  v0.12.1

Logs
17:51:43.392 request_id=F8Mek8ZWKm2iaLwAJ2vh [error] GenServer #PID<0.31367.0> terminating
** (FunctionClauseError) no function clause matching in Base.encode64/2
    (elixir 1.15.7) lib/base.ex:393: Base.encode64(%{async: nil, private: %{}, status: 200, __struct__: Req.Response, body: <<137, 80, 78, 71, 13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82, 0, 0, 4, 0, 0, 0, 4, 0, 8, 2, 0, 0, 0, 240, 127, 188, 212, 0, 0, 57, 231, 99, 97, 66, 88, 0, 0, 57, 231, ...>>, headers: %{"accept-ranges" => ["bytes"], "content-disposition" => ["inline"], "content-md5" => ["F6r7QCXX4JlaH9Hk5nYmZA=="], "content-type" => ["image/png"], "date" => ["Thu, 04 Apr 2024 15:05:15 GMT"], "etag" => ["\"0x8DC54B87ED22AA0\""], "last-modified" => ["Thu, 04 Apr 2024 15:04:15 GMT"], "server" => ["Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0"], "x-ms-blob-type" => ["BlockBlob"], "x-ms-creation-time" => ["Thu, 04 Apr 2024 15:04:15 GMT"], "x-ms-lease-state" => ["available"], "x-ms-lease-status" => ["unlocked"], "x-ms-request-id" => ["4b8fa611-a01e-0062-4ea1-8686a8000000"], "x-ms-server-encrypted" => ["true"], "x-ms-version" => ["2021-08-06"]}, trailers: %{}}, [])
    (livebook 0.12.1) lib/livebook_web/live/output/image_component.ex:18: LivebookWeb.Output.ImageComponent.data_url/2
    (livebook 0.12.1) lib/livebook_web/live/output/image_component.ex:9: anonymous fn/2 in LivebookWeb.Output.ImageComponent.render/1
    (livebook 0.12.1) /Users/runner/work/livebook_cd/livebook_cd/lib/livebook_web/live/output.ex:71: LivebookWeb.Output.render_output/2
    (elixir 1.15.7) lib/enum.ex:2510: Enum."-reduce/3-lists^foldl/2-0-"/3
    (phoenix_live_view 0.20.2) lib/phoenix_live_view/diff.ex:391: Phoenix.LiveView.Diff.traverse/7

Current behavior

Evaluate a cell with contents

contents =
  Req.get!(
    "https://picsum.photos/200/300"
  )

Kino.Image.new(contents, :png) # <-- incorrect, as Kino.Image expects binary but we passed Req.Response here

This causes Livebook to throw a 500 error, and the livemd file cannot be opened again inside Livebook.
This is happening because https://github.com/livebook-dev/livebook/blob/a4aedebb4ef0a605d9a098f8b1f57164b94bb45f/lib/livebook_web/live/output/image_component.ex#L18 passes content(which in this case is not a binary) to Base64.encode which always expects a binary.
Expected behavior
The Kino.Image.new should return an error without crashing the Livebook process.

Good catch, I added a guard in https://github.com/livebook-dev/kino/commit/b50ed2867b3aade80eea9478f91c381d448f882f :)


Why is Document() not a constructor?

Why is that Document() is a function but not constructor that instantiates an object?

Seemed like the right idea at the time, which was about ten years ago. That was before typing came to Python. If I had it to do over again I suppose I'd work out a way to make it work directly on the class, perhaps using an alternate constructor like Document.open(). But that is the most fundamental part of the interface so too late to change it now :)


Auth issue

Hi!
I am trying to run the image with docker and i am getting the following error :
time="2021-03-05 21:28:22" level=fatal msg="error from makeRequest: HTTP status 400: content \"{\\\"success\\\":false,\\\"errors\\\":[{\\\"code\\\":6003,\\\"message\\\":\\\"Invalid request headers\\\",\\\"error_chain\\\":[{\\\"code\\\":6103,\\\"message\\\":\\\"Invalid format for X-Auth-Key header\\\"}]}],\\\"messages\\\":[],\\\"result\\\":null}\""
Any idea why this is happening ?
Api key seems to working fine according to cloudflare
curl -X GET "https://api.cloudflare.com/client/v4/user/tokens/verify" \
     -H "Authorization: Bearer *****************************" \
     -H "Content-Type:application/json"

And the output :
{"result":{"id":"*****************************","status":"active"},"success":true,"errors":[],"messages":[{"code":10000,"message":"This API Token is valid and active","type":null}]}
Thanks in advance!
Cheers!

Hey @Slapper, are you using both the CF_API_EMAIL and CF_API_KEY? The exporter requires API key + email, not just the token.

hi @martinhaus
Thank you for your prompt reply!  My bad... i was using the token & not the api key  :(
So now the auth seems to work with the Global API Key and parsing my zones correctly, but now i am getting the following error :
time="2021-03-06 15:16:21" level=error msg="graphql: zone '****************' does not have access to the path"
time="2021-03-06 15:16:21" level=error msg="graphql: zone '****************' does not have access to the path"
time="2021-03-06 15:16:21" level=error msg="graphql: zone '****************' does not have access to the path"

My account has the necessary access on cloudflare so i am not sure why it cannot access the the zone's path.
Any idea will be really helpful!
Thank again!

The problem of level=error msg="graphql: zone '****************' does not have access to the path" is the exporter use some data source, like httpRequests1mByColoGroups, which only accessible for enterprise plan user.
Check the analytic API rate limit

Ok so after some trial & error tests i finally fix this issue. We have a mix of free and non-free domain in our cloudflare account so i had to use ZONE_<NAME> variable to explicitly set our enterprise domain IDs only.
Thanks once again for your help :)


ARTEMIS-3943 Adjusting defalut address settings to avoid OME from paging and flow control

@gtully , @gemmellr this is now ready for merge / review


Bug in UNUSED_IMPORT

Sometimes the warning UNUSED_IMPORT doesn't fire

Please add more information/context/links to discussion/examples...

Useless issue

org.cqfn.diktat.util.SuppressingTest.kt Diktat ignores unused imports and throws no warnings

Need a real use case

Diktat doesn't remove imports with stars: import bla.bla.*


Two Yi Dome Camera U disconnect from WIFI every few hours randomly

Hi there!
I have two YHS 5020 cameras working fine with versión 0.32.
The problem is that every several hours, sometimes more, sometimes less, one of them disconnects from the WIFI and I lose RTSP and web access. Over time the other one usually disconnects as well.
If I restart the WIFI (only the WIFI, not the router), they reconnect immediately. If I disconnect and reconnect the cameras (without restarting the WIFI), they reconnect without problem too.
They are connected directly to the router. I have tried connecting them to an AP and the same thing happens.
I have tried deactivating services (FTP, SSH), and also activating their connection to the cloud, but nothing works, they always keep disconnecting.
I'm looking for a log on the SD that I can consult in case it gives me more information about what's happening, because the camera continues to work, only the WIFI is disconnected, but I can't find any log file.
I also have a Yi Home 1080p, also with 0.32, connected to the same router, same WIFI, same configuration and it does not disconnect.
Is there a log that I can consult or something that I can contribute here to analyze what is happening?
Thanks in advance.

Well, it seems that disabling MQTT has solved the problem. For some reason, having the Home Assistant integration and MQTT activated seems to be problematic.
I will update the situation again in a few days to see if it remains stable.

Does the cam reboot when it disconnects from the router?
Or simply it lose the wifi?
Check the uptime.

Does the cam reboot when it disconnects from the router? Or simply it lose the wifi? Check the uptime.

Ir simply reconnects instantly without rebooting.
It seems that this time took a little longer, but one of them got disconnected again.
I´ve just reset the wifi, the disconnected camera has connected again and the uptime is 10 hours:

There is no log about wifi connections.
But you should find some useful information in the standard output of the yi processes.
For example, try to kill dispatch and restart it:
cd /home/app
killall dispatch
./dispatch

and check the output when the cam disconnects.

Ok, I see that executing this restarts the camera and leaves the command executed monitoring. So what you propose is to leave a terminal open with this command and when it disconnects from the Wi-Fi see if anything is seen in the last lines?

Another interesting thing is that I have the cameras' crontab configured to restart every day at 4AM.
Last night one of them was disconnected again, I left it disconnected to see if with the 4AM restart it would reconnect and this morning I saw that it was still disconnected. I restarted the WIFI and saw that the camera had an uptime of 4.5 hours, that is, it had restarted at 4AM, but it was not connected to the WIFI...

Ok, I see that executing this restarts the camera and leaves the command executed monitoring. So what you propose is to leave a terminal open with this command and when it disconnects from the Wi-Fi see if anything is seen in the last lines?

This command shouldn't restart the camera. If reboot happens, add killall watch_process before killall dispatch

When executing the dispatch command, the PTZ only starts turning likely in the same way as it does during a restart.
Since updating to version 0.3.2, I have also issues with the WIFI connection. My router/AP shows constant disconnects and reconnections of the camera. This making it difficult to access the webinterface of the hack.
I have created a dispatch-log (lines such as cost and heartbeat are removed):
dispatch.c(check_wifi_connect-1816)[18:12:39.509]:signal_quality(58)

dispatch.c(check_wifi_connect-1816)[18:22:41.705]:signal_quality(59)

dispatch.c(do_mq_processcat: can't open '/proc/timeout_cnt': No such file or directory
ash: 100: unknown operand
ash: 0: unknown operand
killall: p2p_tnp: no process killed
ash: 1: unknown operand

dispatch.c(do_monitor_wifi-1955)[18:29:35.803]:wifi disconnected, now reconnect wifi

dispatch.c(do_monitor_wifi-1965)[18:29:45.519]:wpa connected , now dhcp
killall: udhcpc: no process killed
udhcpc: started, v1.27.2
udhcpc: sending discover
udhcpc: sending select for <IP_ADDRESS>
udhcpc: lease of <IP_ADDRESS> obtained, lease time 864000

dispatch.c(do_monitor_wifi-1967)[18:29:45.892]:wpa connected , now dhcp finish

dispatch.c(check_wifi_connect-1722)[18:29:46.941]:bssid(xx:xx:xx:xx:xx:xx)

dispatch.c(check_wifi_connect-1744)[18:29:46.941]:ip(<IP_ADDRESS>)

dispatch.c(check_wifi_connect-1755)[18:29:46.949]:gw(<IP_ADDRESS>)

dispatch.c(check_wifi_connect-1774)[18:29:48.059]:mask(<IP_ADDRESS>)

dispatch.c(check_wifi_connect-1784)[18:29:48.090]:mac(xx:xx:xx:xx:xx:xx)

dispatch.c(check_wifi_connect-1798)[18:29:48.115]:signal_quality(58)
cmd(rm /tmp/sd/log_wifi_connected.tar.gz;rm /tmp/sd/wifi_connected -r;mkdir /tmp/sd/wifi_connected;ps > /tmp/sd/wifi_connected/ps1.txt;cp /home/homever /tmp/sd/wifi_connected;lsmod > /tmp/sd/wifi_connected/lsmod.txt;ls -laSR /home > /tmp/sd/wifi_connected/file.txt;cp /tmp/wpa_supplicant.conf  /tmp/sd/wifi_connected;cp /tmp/log.txt /tmp/sd/wifi_connected;cp /tmp/log_oss.txt /tmp/sd/wifi_connected;df /home > /tmp/sd/wifi_connected/df.txt;df / >> /tmp/sd/wifi_connected/df.txt;tar -cf /tmp/sd/log_wifi_connected.tar.gz /tmp/sd/wifi_connected;mkdir /tmp/sd/log; mv /tmp/sd/log_wifi_connected.tar.gz /tmp/sd/log;rm /tmp/sd/wifi_connected -r &rm: can't remove '/tmp/sd/log_wifi_connected.tar.gz': No such file or directory
rm: can't remove '/tmp/sd/wifi_connected': No such file or directory
cp: can't stat '/tmp/log.txt': No such file or directory
cp: can't stat '/tmp/log_oss.txt': No such file or directory
tar: removing leading '/' from member names
mkdir: can't create directory '/tmp/sd/log': File exists
)

dispatch.c(check_wifi_connect-1816)[18:32:43.602]:signal_quality(58)

g_dispatch_info.mmap_info->ptz_x_runtime =cat: can't open '/proc/timeout_cnt': No such file or directory
ash: 100: unknown operand
ash: 0: unknown operand
killall: p2p_tnp: no process killed
killall: cloud: no process killed
ash: 1: unknown operand
killall: udhcpc: no process killed
udhcpc: started, v1.27.2
udhcpc: sending discover
udhcpc: sending select for <IP_ADDRESS>
udhcpc: sending select for <IP_ADDRESS>
udhcpc: lease of <IP_ADDRESS> obtained, lease time 864000
13 2

dispatch.c(do_monitor_wifi-1955)[18:41:14.445]:wifi disconnected, now reconnect wifi

dispatch.c(do_monitor_wifi-1965)[18:41:24.050]:wpa connected , now dhcp

dispatch.c(do_monitor_wifi-1967)[18:41:27.679]:wpa connected , now dhcp finish

dispatch.c(check_wifi_connect-1722)[18:41:28.732]:bssid(xx:xx:xx:xx:xx:xx)

dispatch.c(check_wifi_connect-1744)[18:41:28.732]:ip(<IP_ADDRESS>)

dispatch.c(check_wifi_connect-1755)[18:41:28.761]:gw(<IP_ADDRESS>)

dispatch.c(check_wifi_connect-1764)[18:41:29.816]:gwmac(xx:xx:xx:xx:xx:xx)

dispatch.c(check_wifi_connect-1774)[18:41:29.835]:mask(<IP_ADDRESS>)

dispatch.c(check_wifi_connect-1784)[18:41:29.883]:mac(xx:xx:xx:xx:xx:xx)

dispatch.c(check_wifi_connect-1798)[18:41:29.912]:signal_quality(60)
cmd(rm /tmp/sd/log_wifi_connected.tar.gz;rm /tmp/sd/wifi_connected -r;mkdir /tmp/sd/wifi_connected;ps > /tmp/sd/wifi_connected/ps1.txt;cp /home/homever /tmp/sd/wifi_connected;lsmod > /tmp/sd/wifi_connected/lsmod.txt;ls -laSR /home > /tmp/sd/wifi_connected/file.txt;cp /tmp/wpa_supplicant.conf  /tmp/sd/wifi_connected;cp /tmp/log.txt /tmp/sd/wifi_connected;cp /tmp/log_oss.txt /tmp/sd/wifi_connected;df /home > /tmp/sd/wifi_connected/df.txt;df / >> /tmp/sd/wifi_connected/df.txt;tar -cf /tmp/sd/log_wifi_connected.tar.gz /tmp/sd/wifi_connected;mkdir /tmp/sd/log; mv /tmp/sd/log_wifi_connected.tar.gz /tmp/sd/log;rm /tmp/sd/wifi_connected -r &rm: can't remove '/tmp/sd/log_wifi_connected.tar.gz': No such file or directory
rm: can't remove '/tmp/sd/wifi_connected': No such file or directory
cp: can't stat '/tmp/log.txt': No such file or directory
cp: can't stat '/tmp/log_oss.txt': No such file or directory
tar: removing leading '/' from member names
mkdir: can't create directory '/tmp/sd/log': File exists
)

dispatch.c(check_wifi_connect-1816)[18:42:45.479]:signal_quality(60)

dispatch.c(check_wifi_connect-1816)[18:52:47.369]:signal_quality(60)

dispatch.c(p_worker-2289)[19:02:37.551]:write_flash num = 0

dispatch.c(check_wifi_connect-1816)[19:02:50.011]:signal_quality(59)

dispatch.c(do_mq_process-3999)[19:03:37.549]:cat: can't open '/proc/timeout_cnt': No such file or directory
ash: 100: unknown operand
ash: 0: unknown operand
killall: p2p_tnp: no process killed
killall: cloud: no process killed
ash: 1: unknown operand
killall: udhcpc: no process killed
udhcpc: started, v1.27.2
udhcpc: sending discover
udhcpc: sending select for <IP_ADDRESS>
udhcpc: lease of <IP_ADDRESS> obtained, lease time 864000

dispatch.c(do_monitor_wifi-1955)[19:03:40.784]:wifi disconnected, now reconnect wifi

dispatch.c(do_monitor_wifi-1965)[19:03:50.906]:wpa connected , now dhcp

dispatch.c(do_monitor_wifi-1967)[19:03:51.334]:wpa connected , now dhcp finish

dispatch.c(check_wifi_connect-1722)[19:03:52.365]:bssid(xx:xx:xx:xx:xx:xx)

dispatch.c(check_wifi_connect-1744)[19:03:52.365]:ip(<IP_ADDRESS>)

dispatch.c(check_wifi_connect-1755)[19:03:52.376]:gw(<IP_ADDRESS>)

dispatch.c(check_wifi_connect-1764)[19:03:53.453]:gwmac(xx:xx:xx:xx:xx:xx)

dispatch.c(check_wifi_connect-1774)[19:03:53.485]:mask(<IP_ADDRESS>)

dispatch.c(check_wifi_connect-1784)[19:03:53.567]:mac(xx:xx:xx:xx:xx:xx)

dispatch.c(check_wifi_connect-1798)[19:03:53.593]:signal_quality(57)
cmd(rm /tmp/sd/log_wifi_connected.tar.gz;rm /tmp/sd/wifi_connected -r;mkdir /tmp/sd/wifi_connected;ps > /tmp/sd/wifi_connected/ps1.txt;cp /home/homever /tmp/sd/wifi_connected;lsmod > /tmp/sd/wifi_connected/lsmod.txt;ls -laSR /home > /tmp/sd/wifi_connected/file.txt;cp /tmp/wpa_supplicant.conf  /tmp/sd/wifi_connected;cp /tmp/log.txt /tmp/sd/wifi_connected;cp /tmp/log_oss.txt /tmp/sd/wifi_connected;df /home > /tmp/sd/wifi_connected/df.txt;df / >> /tmp/sd/wifi_connected/df.txt;tar -cf /tmp/sd/log_wifi_connected.tar.gz /tmp/sd/wifi_connected;mkdir /tmp/sd/log; mv /tmp/sd/log_wifi_connected.tar.gz /tmp/sd/log;rm /tmp/sd/wifi_connected -r &rm: can't remove '/tmp/sd/log_wifi_connected.tar.gz': No such file or directory
rm: can't remove '/tmp/sd/wifi_connected': No such file or directory
cp: can't stat '/tmp/log.txt': No such file or directory
cp: can't stat '/tmp/log_oss.txt': No such file or directory
tar: removing leading '/' from member names
mkdir: can't create directory '/tmp/sd/log': File exists
)

dispatch.c(check_wifi_connect-1816)[19:12:52.085]:signal_quality(59)

dispatch.c(check_wifi_connect-1816)[19:22:53.854]:signal_quality(59)

dispatch.c(check_wifi_connect-1816)[19:32:55.585]:signal_quality(59)

dispatch.c(check_wifi_connect-1816)[19:42:57.355]:signal_quality(59)

dispatch.c(check_wifi_connect-1816)[19:52:59.936]:signal_quality(59)

dispatch.c(p_worker-2389)[20:02:36.708]:gen new p2p temp password

dispatch.c(p_worker-2289)[20:02:48.085]:write_flash num = 0

dispatch.c(check_wifi_connect-1816)[20:03:02.583]:signal_quality(49)

dispatch.c(check_wifi_connect-1816)[20:13:04.331]:signal_quality(64)

dispatch.c(check_wifi_connect-1816)[20:23:06.328]:signal_quality(59)

dispatch.c(check_wifi_connect-1816)[20:33:08.860]:signal_quality(60)

dispatch.c(check_wifi_connect-1816)[20:43:11.546]:signal_quality(59)

g_dispatch_info.mmap_info->ptz_x_runtime =cat: can't open '/proc/timeout_cnt': No such file or directory
ash: 100: unknown operand
ash: 0: unknown operand
killall: p2p_tnp: no process killed
killall: cloud: no process killed
ash: 1: unknown operand
killall: udhcpc: no process killed
udhcpc: started, v1.27.2
udhcpc: sending discover
udhcpc: sending discover
udhcpc: sending discover
udhcpc: no lease, forking to background
cat: can't open '/proc/timeout_cnt': No such file or directory
ash: 100: unknown operand
ash: 0: unknown operand
killall: p2p_tnp: no process killed
killall: cloud: no process killed
ash: 1: unknown operand
killall: udhcpc: no process killed
udhcpc: started, v1.27.2
udhcpc: sending discover
udhcpc: sending discover
udhcpc: sending discover
udhcpc: no lease, forking to background
13 2

dispatch.c(do_monitor_wifi-1955)[20:46:24.640]:wifi disconnected, now reconnect wifi

dispatch.c(do_monitor_wifi-1965)[20:46:32.876]:wpa connected , now dhcp

dispatch.c(do_monitor_wifi-1967)[20:46:42.251]:wpa connected , now dhcp finish

dispatch.c(do_monitor_wifi-1918)[20:47:38.422]:timeout reset wifi

dispatch.c(do_monitor_wifi-1965)[20:47:40.466]:wpa connected , now dhcp

dispatch.c(do_monitor_wifi-1967)[20:47:49.825]:wpa connected , now dhcp finish

dispatch.c(check_wifi_connect-1722)[20:48:13.692]:bssid(xx:xx:xx:xx:xx:xx)

dispatch.c(check_wifi_connect-1744)[20:48:13.692]:ip(<IP_ADDRESS>)

dispatch.c(check_wifi_connect-1755)[20:48:13.700]:gw(<IP_ADDRESS>)

dispatch.c(check_wifi_connect-1774)[20:48:14.768]:mask(<IP_ADDRESS>)

dispatch.c(check_wifi_connect-1784)[20:48:14.794]:mac(xx:xx:xx:xx:xx:xx)

dispatch.c(check_wifi_connect-1798)[20:48:14.821]:signal_quality(59)
cmd(rm /tmp/sd/log_wifi_connected.tar.gz;rm /tmp/sd/wifi_connected -r;mkdir /tmp/sd/wifi_connected;ps > /tmp/sd/wifi_connected/ps1.txt;cp /home/homever /tmp/sd/wifi_connected;lsmod > /tmp/sd/wifi_connected/lsmod.txt;ls -laSR /home > /tmp/sd/wifi_connected/file.txt;cp /tmp/wpa_supplicant.conf  /tmp/sd/wifi_connected;cp /tmp/log.txt /tmp/sd/wifi_connected;cp /tmp/log_oss.txt /tmp/sd/wifi_connected;df /home > /tmp/sd/wifi_connected/df.txt;df / >> /tmp/sd/wifi_connected/df.txt;tar -cf /tmp/sd/log_wifi_connected.tar.gz /tmp/sd/wifi_connected;mkdir /tmp/sd/log; mv /tmp/sd/log_wifi_connected.tar.gz /tmp/sd/log;rm /tmp/sd/wifi_connected -r &rm: can't remove '/tmp/sd/log_wifi_connected.tar.gz': No such file or directory
rm: can't remove '/tmp/sd/wifi_connected': No such file or directory
cp: can't stat '/tmp/log.txt': No such file or directory
cp: can't stat '/tmp/log_oss.txt': No such file or directory
tar: removing leading '/' from member names
mkdir: can't create directory '/tmp/sd/log': File exists
)

dispatch.c(check_wifi_connect-1816)[20:53:14.300]:signal_quality(58)

The log doesn't show errors related to the wifi disconnection reason.
Suddenly, this log happens:
dispatch.c(do_monitor_wifi-1955)[20:46:24.640]:wifi disconnected, now reconnect wifi
and I'm not able to understand why. I haven't got the sources of this Yi binary.
Could you check if the same error occurs with hack 0.3.1.
In this case I can check if I "moved something" around this scripts...

I think it also happened with 0.3.1 but I´ve just returned back to 0.3.1 both cameras and will report how it works.

So, after going back to 0.3.1, I´m having the same disconnections.
Here´s the output of the dispatch command of both cameras.
dispatch_entrada.log
dispatch_salon.log
As you said, the cameras don´t disconnect after executing the dispatch command, they only recalibrate the PTZ again (and, by the way, after executing it the PTZ controls won´t respond again after restarting the camera).

Sorry for the confusion. The disconnects also happen with version 0.3.1. I've been trying to remember what settings I changed and have done some testing...
After turning off the "Disable Cloud" option (DISABLE_CLOUD=no), I haven't had any disconnects in the last few hours.
The downside is that the RTSP connection doesn't work anymore:

[tcp @ 0x7f70002d90] Connection to tcp://<IP_ADDRESS>:554?timeout=0 failed: Connection refused
<EMAIL_ADDRESS>Connection refused

Also, continuous video recording doesn't work anymore ("Save video when a motion is detected" = disabled to enable "video will be always saved").
However, with ipc_read I can still see that motion and sound are being detected.
This may be because the camera can only access the local network at the moment and is blocked from the Internet.

In the meantime, I’m testing this script. This could reduce the downtime to ~10 secounds:
while true; do if wpa_cli -i wlan0 status | grep -q "wpa_state=INTERFACE_DISABLED"; then wpa_cli -i wlan0 reconnect; fi; sleep 10; done > /dev/null 2>&1 &

@Dotatay
Please, explain me better.
You set DISABLE_CLOUD=no and configured the firewall to block the traffic.
So, the cam is not able to connect to the server.
Is it correct?
If yes, please run a tcpdump in the cam: I need to know which connections the cam is trying.

Yes, for testing purposes, the cloud was active (system.conf: DISABLE_CLOUD=no) and my router/firewall blocked the camera from accessing the internet. Unfortunately, even with this setting, the camera still loses the WIFI connection, but less frequently. Maybe this is just a coincidence?
 Before this, the blocked attempts to connect to '<IP_ADDRESS>.53' was without problems for several hours:
03:19:41.558024 IP cam-yir30gb.fritz.box.43278 > <IP_ADDRESS>.53: 30117+ A? api.eu.xiaoyi.com. (35)
03:19:47.551972 EAPOL key (3) v2, len 95
03:19:47.553010 EAPOL key (3) v1, len 117
03:19:47.577293 EAPOL key (3) v2, len 159
03:19:47.577744 EAPOL key (3) v1, len 95
03:19:47.840173 IP <IP_ADDRESS>.68 > <IP_ADDRESS>.67: BOOTP/DHCP, Request from 54:xx:xx:xx:xx:xx (oui Unknown), length 300
03:19:47.857904 IP 192-168-0-1.fritz.box.67 > cam-yir30gb.fritz.box.68: BOOTP/DHCP, Reply, length 548
03:19:47.867682 IP <IP_ADDRESS>.68 > <IP_ADDRESS>.67: BOOTP/DHCP, Request from 54:xx:xx:xx:xx:xx (oui Unknown), length 308
03:19:48.050286 IP 192-168-0-1.fritz.box.67 > cam-yir30gb.fritz.box.68: BOOTP/DHCP, Reply, length 548
03:19:49.255716 ARP, Request who-has 192-168-0-1.fritz.box (Broadcast) tell cam-yir30gb.fritz.box, length 28
03:19:49.261226 ARP, Reply 192-168-0-1.fritz.box is-at xx:xx:xx:xx:xx:xx (oui Unknown), length 28
03:19:51.615692 ARP, Request who-has 192-168-0-1.fritz.box tell cam-yir30gb.fritz.box, length 28
03:19:51.621069 ARP, Reply 192-168-0-1.fritz.box is-at xx:xx:xx:xx:xx:xx (oui Unknown), length 28
...

07:49:43.809290 IP cam-yir30gb.fritz.box.34689 > <IP_ADDRESS>.53: 12384+ A? api.eu.xiaoyi.com. (35)
07:49:46.328316 EAPOL key (3) v2, len 95
...

23:39:38.386990 IP ec2-52-57-227-127.eu-central-1.compute.amazonaws.com.80 > cam-yir30gb.fritz.box.36290: Flags [.], ack 116, win 453, options [nop,nop,TS val<PHONE_NUMBER> ecr 62131], length 0
23:39:38.695282 EAPOL key (3) v2, len 127
...

I also tried to get information about the disconnects by using wpa_cli. I think a part of the problem is, that the wlan0 interface is temporarily unavailable:
Failed to connect to non-global ctrl_ifname: wlan0

Yesterday I disabled RTSP for testing purposes, but I reactivated the Disable Cloud option. Within 24 hours I had only one disconnection. I also noticed that the output of 'pc_read is now delayed by at least 10-20 seconds.

So, a little more information.
I´ve been closely monitoring both cameras and found something.
Both connected at the same time, doing the same, but suddenly one of them starts sending/receiving a lot more information than the other one.
Shortly after, this camera loses access via http, but the rtsp keeps working. Some minutes later, it loses rtsp too and there´s nothing I can do to comunicate with it.
The AP, however, continues to show the camera conected even though it has been disconnected for about 30 minutes:

I´ve tried connecting them directly to the router and to two different APs. With fixed IP in the camera, fixing it in my DHCP server or leaving the DHCP assign a different one each time. Same result every time...

@elmaswebon
Could you please disable RTSP on your cameras and then reboot them? If this doesn’t reduce the disconnects for you, our issues might be different and I might be in the wrong place.

@elmaswebon Could you please disable RTSP on your cameras and then reboot them? If this doesn’t reduce the disconnects for you, our issues might be different and I might be in the wrong place.

I'm away from home until the weekend and I need to have both cameras sending the stream to my Home Assistant, but as soon as I get back, I'll try it and let you know.

DISABLE_CLOUD=yes
should ensure the same results you obtain with an external firewall.
All known addresses are blacklisted at system level: router command for IP addresses and /etc/hosts for aliases.
Could you try if the behavior is the same?

So, my conclusions so far.

No matter what I change in the settings, the cameras randomly disconnect from the WIFI

I do not see an obvious change in the disconnection time by using one or other configuration options

If I connect the cameras directly to the router's WIFI, once they disconnect from the WIFI, they do not reconnect. If I connect the cameras to a separate AP, the cameras also disconnect, but after a while they reconnect and work normally again

Since I don't have logs, I can't know exactly what is happening, but before the complete disconnection of the WIFI, it seems that the services are falling little by little. That is, at a given moment I have RTSP but no access via HTTP, for example. Or I can have HTTP but not RTSP

In any case, at least having them connected to the AP and returning to normal automatically, it is not a big problem for me, just a minor problem and a partial loss of recordings that it would be nice to be able to solve, although given what I have seen, I think there will be no simple solution.

@elmaswebon
Too bad it doesn't work for you. Perhaps you can get some useful information from this script. Add it as cron oneshot after boot or to startup.sh:
while true; do if ! wpa_cli -i wlan0 status | grep -q "wpa_state=COMPLETED"; then echo -e "$(date): CONNECTION LOST\n\n$(wpa_cli -i wlan0 status)\n\n$(wpa_cli interface)\n\n$(ps)\n-----\n\n" >> /tmp/sd/yi-hack/wlanlog.txt; fi; sleep 1; done &

As soon as the connection is lost wpa_cli status (available interfaces) and all running processes are written to wlanlog.txt.
@roleoroleo
Ok, I will try it and check the camera connection attempts to yi-servers with "DISABLE_CLOUD=yes". Should I create a new issue because it's different from elmaswebon issue?


Enable istio to use external monitoring system

Isito now has its build-in monitoring framework with Prometheus, Grafana etc, it is better to enable the customer have some configuration in istio to enable it can use external monitoring systems.
One solution is that we can update the helm charts by adding parameters to connect to external monitoring frameworks.
/cc @linsun @todkap

@douglas-reid I would also appreciate some help re the question right above.

I'm still not certain on what needs to be done to address this question, so please let me know what is needed.  The prometheus config that Istio uses is here: https://github.com/istio/istio/blob/master/install/kubernetes/helm/subcharts/prometheus/templates/configmap.yaml#L17-L157.
If you want to use your own prometheus, you can copy that config to your prometheus and it should just work.
Other options include configuring prometheus to export to your official prometheus, using the add-on as a temporary store.
If you copy the config to your prometheus, then disabling grafana and prometheus via helm during install would be the right thing to do.

@douglas-reid Thank you for the nice and explanatory reply!

The above link no longer works. The configmap is now at https://github.com/istio/istio/blob/master/install/kubernetes/helm/istio/charts/prometheus/templates/configmap.yaml

The above configmap removed from master branch. You can find it here

Hi
Trying to view istio metrics on an operator installed Prometheus. I saw the examples of mounting certs in Prometheus deployment yaml. I'm using kube-prometheus and added secrets to json file. But looking for a way to mount the certs into Prometheus pods. Will you please guide me?
Thanks

@gitmedur if you are using a 1.6 release, you can use the Istio-supplied resources for prom operator. they don't include cert mounts, but generally the direction is a merged prom port not (currently) protected by mTLS.

@douglas-reid what do you mean with "merged prom port not protected by mTLS"?

I think we should use Prometheus Federation to resolve your question. We are tring this..
https://istio.io/latest/docs/ops/configuration/telemetry/monitoring-multicluster-prometheus/
https://prometheus.io/docs/prometheus/latest/federation/

@douglas-reid what do you mean with "merged prom port not protected by mTLS"?

I believe this is described here: https://docs.google.com/document/d/1TTeN4MFmh4aUYYciR4oDBTtJsxl5-T5Tu3m3mGEdSo8/edit#heading=h.xw1gqgyqs5b


A new forward_distmat method to accelerate distance matrix computing among images.

Summary
Add another forward function forward_distmat to compute the distance matrix with one or two stacks of images.
Rationale
The currentforward method of LPIPS supports computing the distance between two images (A,B), or between one image to a batch of images (As,Bs) or the distance between corresponding pairs in two batches (As,Bs).
Because of this, computing the distance matrix cannot be directly performed using the current forward function
It needs to be computed row by row, for example given a imgtsrs of shape [B,C,H,W]
Dist = LPIPS(net="squeeze", ).cuda()
Dist.requires_grad_(False)

distmat_bin = []
for i in range(imgtsrs.shape[0]):
    dist_in_bin = Dist(imgtsrs.cuda(), imgtsrs[i:i + 1].cuda()).cpu().squeeze()
    distmat_bin.append(dist_in_bin)

distmat_bin = torch.stack(distmat_bin, dim=0)

A simple fix to accelerate this is to move this loop into the forward function. Then it can reuse the features computed for images, so it largely accelerates the speed of computing a large distance matrix among a set of images.
distmat_bin = Dist.forward_distmat(imgtsrs_rf.cuda(), None).cpu().squeeze()

Memory usage.
We choose to compute the matrix row by row, such that the memory footprint shall be still linear in the number of images instead of quadratic.
TODO
It could be extended to compute a few rows in a batch. The batch size needs to be chosen w.r.t. memory.
Currently, it's fast enough for most of my works, but there is space for further optimization.
If there is interest in more efficiency I can help implement more.

Bump this up the pile!

Bump up this thread

+1

Bump up this thread again!

+1


nccl-2.16.5-1-cuda build failure on x86_64-linux as of 383e4b2b

Issue description
Build of nccl-2.16.5-1-cuda failed on x86_64-linux as of 383e4b2b8fcbe949f275a6c6af48e68f936e6a80. This is currently breaking python3Packages.wandb.
error: builder for '/nix/store/wszm6hglhr6an80bg3h5gmhp42y6yqdh-nccl-2.16.5-1-cuda-11.drv' failed with exit code 2;
       last 10 log lines:
       > nvcc error   : 'cicc' core dumped
       > make[2]: *** [/build/source/build/obj/collectives/device/Makefile.rules:710: /build/source/build/obj/collectives/device/all_reduce_prod_f64.o] Error 139
       > make[2]: *** Waiting for unfinished jobs....
       > nvcc error   : 'cicc' died due to signal 11 (Invalid memory reference)
       > nvcc error   : 'cicc' core dumped
       > make[2]: *** [/build/source/build/obj/collectives/device/Makefile.rules:719: /build/source/build/obj/collectives/device/all_reduce_prod_bf16.o] Error 139
       > make[2]: Leaving directory '/build/source/src/collectives/device'
       > make[1]: *** [Makefile:57: /build/source/build/obj/collectives/device/colldevice.a] Error 2
       > make[1]: Leaving directory '/build/source/src'
       > make: *** [Makefile:25: src.build] Error 2
       For full logs, run 'nix log /nix/store/wszm6hglhr6an80bg3h5gmhp42y6yqdh-nccl-2.16.5-1-cuda-11.drv'.
       note: build failure may have been caused by lack of free disk space
error (ignored): error: cannot unlink '/tmp/nix-build-cudatoolkit-11.8.0.drv-0/pkg/builds': Directory not empty
error: 1 dependencies of derivation '/nix/store/5gynmp482w0m7hlzdsdkq78nvawjgfa4-python3.10-tensorflow-gpu-2.11.1.drv' failed to build
error: 1 dependencies of derivation '/nix/store/vk8jzs26zr39rgbsr4q480r7sjqdqgfh-python3.10-wandb-0.15.5.drv' failed to build

full build log
python3Packages.wandb maintainers cc: @samuela
nccl-2.16.5-1-cuda maintainers cc:
Other cc: n/a
Steps to reproduce

Checkout nixpkgs at commit 383e4b2b8fcbe949f275a6c6af48e68f936e6a80
Run nix-build -A nccl-2.16.5-1-cuda

Technical details
 - system: `"x86_64-linux"`
 - host os: `Linux 5.15.0-1042-azure, Ubuntu, 22.04.2 LTS (Jammy Jellyfish), nobuild`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.16.1`
 - nixpkgs: `/nix/store/33vas1nm56qr4dj23frlyv8iip78vxf3-source`

Contents of ~/.config/nixpkgs/config.nix:
{ allowUnfree = true; cudaSupport = true; cudaCapabilities = ["8.0"]; }

Misc.
This issue was automatically generated by nixpkgs-upkeep.

CI workflow that created this issue.
Internal tags: -4933226087931260228<PHONE_NUMBER>923855641

Can't reproduce with
nix build --impure -L nixpkgs/383e4b2b#cudaPackages.nccl

Contents of ~/.config/nixpkgs/config.nix:
{
  allowUnfree = true;
  cudaSupport = true;
  cudaCapabilities = [ "8.0" ];
}

Build log:
https://gist.github.com/ConnorBaker/c4491400dc7cb59bbde0d5090bfcb016
I did see note: build failure may have been caused by lack of free disk space in your log, for what it's worth.
If this is reproducible on your end, please re-open this!


Bug fix for issue 297

Small bug fix to prevent errors when tokens move in scenes without active GM

Thankyou


domready for vue?

when I use jQuery or Zepto, I use $(function(){//domready}) to start my coding. I use vue instead of Jquery or Zepto, How can I write my code with domready event, or just put my code at the end of the </body> ?

You normally don't need such an event, as Vue will manage DOM for you. Anyway, as the repo issue list is strictly for bugs or feature requests, this type of questions better fits our forum or Gitter. Please direct them there ;)


Function calling

@CodiumAI-Agent /review

PR Analysis

🎯 Main theme: Enhancements and bug fixes in the Vocode project
📝 PR summary: This PR introduces several enhancements and bug fixes in the Vocode project. The changes mainly involve the addition of new features and improvements in the synthesizer and transcriber modules, and the introduction of new configurations and parameters. The PR also includes updates to the tests and the addition of new ones.
📌 Type of PR: Enhancement
🧪 Relevant tests added: No
⏱ Estimated effort to review [1-5]: 5, because the PR includes a large number of changes across multiple files, including complex logic and the introduction of new features. It requires a deep understanding of the project and the changes made.
🔒 Security concerns: Yes, because the OpenAI API key is hardcoded in the code. This could lead to potential security risks if the actual key is accidentally committed.

PR Feedback
💡 General suggestions: The PR includes a large number of changes, which makes it difficult to review. It would be better to split these changes into smaller, more manageable PRs. This would make it easier for reviewers to understand the changes and provide more effective feedback. Additionally, it would be helpful to include more detailed explanations of the changes in the commit messages and the PR description.
 🤖 Code feedback:relevant filevocode/streaming/transcriber/deepgram_transcriber.pysuggestion
It seems like the API key for OpenAI is hardcoded as 'EMPTY'. This could be a potential security risk if the actual key is accidentally committed. It would be better to fetch the key from an environment variable or a secure configuration file. [important]
relevant lineself.openai_client = OpenAI(api_key="EMPTY", base_url=getenv("AI_API_BASE"))relevant filevocode/streaming/synthesizer/eleven_labs_synthesizer.pysuggestion
The function convert_to_wav is defined but not used within the class. If this function is not needed, it should be removed to avoid confusion. If it is needed in the future, it should be added at that time. [medium]
relevant linedef convert_to_wav(pcm_data: bytes) -> bytes:relevant filevocode/streaming/synthesizer/azure_synthesizer.pysuggestion
The function create_ssml has a lot of parameters, which can make it difficult to understand and use. Consider using a data class or a dictionary to group related parameters together. This can make the function signature simpler and easier to understand. [medium]
relevant linedef create_ssml(relevant filevocode/streaming/synthesizer/factory.pysuggestion
The create_synthesizer function has a lot of conditional branches, which can make it difficult to understand and maintain. Consider using a dictionary or a strategy pattern to map the synthesizer configurations to the corresponding synthesizer classes. This can make the function simpler and easier to extend in the future. [medium]
relevant linedef create_synthesizer(

 ✨ Usage guide:
Overview:
The review tool scans the PR code changes, and generates a PR review. The tool can be triggered automatically every time a new PR is opened, or can be invoked manually by commenting on any PR.
When commenting, to edit configurations related to the review tool (pr_reviewer section), use the following template:
/review --pr_reviewer.some_config1=... --pr_reviewer.some_config2=...

With a configuration file, use the following template:
[pr_reviewer]
some_config1=...
some_config2=...

  Utilizing extra instructions
The review tool can be configured with extra instructions, which can be used to guide the model to a feedback tailored to the needs of your project.
Be specific, clear, and concise in the instructions. With extra instructions, you are the prompter. Specify the relevant sub-tool, and the relevant aspects of the PR that you want to emphasize.
Examples for extra instructions:
[pr_reviewer] # /review #
extra_instructions="""
In the code feedback section, emphasize the following:
- Does the code logic cover relevant edge cases?
- Is the code logic clear and easy to understand?
- Is the code logic efficient?
...
"""

Use triple quotes to write multi-line instructions. Use bullet points to make the instructions more readable.

  How to enable\disable automation

When you first install PR-Agent app, the default mode for the review tool is:

pr_commands = ["/review", ...]

meaning the review tool will run automatically on every PR, with the default configuration.
Edit this field to enable/disable the tool, or to change the used configurations

  About the 'Code feedback' section
The review tool provides several type of feedbacks, one of them is code suggestions.
If you are interested only in the code suggestions, it is recommended to use the improve feature instead, since it dedicated only to code suggestions, and usually gives better results.
Use the review tool if you want to get a more comprehensive feedback, which includes code suggestions as well.

  Auto-labels
The review tool can auto-generate two specific types of labels for a PR:

a possible security issue label, that detects possible security issues (enable_review_labels_security flag)
a Review effort [1-5]: x label, where x is the estimated effort to review the PR (enable_review_labels_effort flag)

  Extra sub-tools
The review tool provides a collection of possible feedbacks about a PR.
It is recommended to review the possible options, and choose the ones relevant for your use case.
Some of the feature that are disabled by default are quite useful, and should be considered for enabling. For example:
require_score_review, require_soc2_review, enable_review_labels_effort, and more.

  More PR-Agent commands

To invoke the PR-Agent, add a comment using one of the following commands:

/review: Request a review of your Pull Request.
/describe: Update the PR title and description based on the contents of the PR.
/improve [--extended]: Suggest code improvements. Extended mode provides a higher quality feedback.
/ask <QUESTION>: Ask a question about the PR.
/update_changelog: Update the changelog based on the PR's contents.
/add_docs 💎: Generate docstring for new components introduced in the PR.
/generate_labels 💎: Generate labels for the PR based on the PR's contents.
/analyze 💎: Automatically analyzes the PR, and presents changes walkthrough for each component.

See the tools guide for more details.
To list the possible configuration parameters, add a /config comment.

See the review usage page for a comprehensive guide on using this tool.

PR Review

 ⏱ Estimated effort to review [1-5]
4, due to the extensive changes across multiple files, introducing new functionalities, and modifying existing ones. The PR touches on complex areas such as streaming, synthesizing, and transcribing audio, as well as integrating with external services like OpenAI and Twilio. The complexity and breadth of changes require a thorough review to ensure correctness, performance, and adherence to best practices.

 🧪 Relevant tests
No

 🔍 Possible issues

Possible Bug: In vocode/streaming/synthesizer/eleven_labs_synthesizer.py, the experimental_streaming_output_generator function may not correctly handle the case where stream_reader.is_eof() is True but buffer is not empty. This could lead to data loss if the last chunk of data does not trigger the if stream_reader.is_eof(): condition before the loop exits.

Performance Concern: The get_classify_endpointing_silence_duration function in vocode/streaming/transcriber/deepgram_transcriber.py makes a synchronous call to an external API (self.openai_client.chat.completions.create(**parameters)), which could block the event loop and affect the performance of the asynchronous code.

Possible Bug: In vocode/streaming/agent/mistral_agent.py, the respond method checks if self.is_first_response and self.first_response: but then uses self.first_response as if it were the response text, whereas it seems to be an object from which the text needs to be extracted.

Design Concern: The hangup_twilio_call method in vocode/streaming/action/hangup_call.py directly reads environment variables every time a call is hung up. It would be more efficient and cleaner to read these configuration values once during initialization and reuse them.
 🔒 Security concerns
No

 Code feedback:
relevant filevocode/streaming/synthesizer/eleven_labs_synthesizer.py
suggestion

Consider adding a final check outside the loop in experimental_streaming_output_generator to yield any remaining data in buffer if it's not empty. This ensures that all data is processed, even if the last chunk doesn't fill the buffer to the expected condition. [important]

relevant linepass
relevant filevocode/streaming/transcriber/deepgram_transcriber.py
suggestion

Refactor get_classify_endpointing_silence_duration to make the external API call asynchronously. This change will prevent blocking the event loop and improve the overall performance of the application. Use await self.openai_client.chat.completions.create_async(**parameters) if the OpenAI client supports asynchronous operations. [important]

relevant lineresponse = self.openai_client.chat.completions.create(**parameters)
relevant filevocode/streaming/agent/mistral_agent.py
suggestion

Extract the response text correctly in the respond method when using the cached self.first_response. You might need to access a specific attribute of self.first_response to get the actual text response. For example, text = self.first_response.choices[0].message.content if self.first_response is a response object from OpenAI. [important]

relevant linetext = self.first_response
relevant filevocode/streaming/action/hangup_call.py
suggestion

Initialize TWILIO_ACCOUNT_SID and TWILIO_AUTH_TOKEN in the constructor of HangUpCall and reuse them in hangup_twilio_call instead of reading from environment variables each time the method is called. This approach reduces the overhead of accessing environment variables multiple times and centralizes configuration management. [medium]

relevant lineos.getenv("TWILIO_ACCOUNT_SID"), os.getenv("TWILIO_AUTH_TOKEN")

 ✨ Review tool usage guide:
Overview:
The review tool scans the PR code changes, and generates a PR review. The tool can be triggered automatically every time a new PR is opened, or can be invoked manually by commenting on any PR.
When commenting, to edit configurations related to the review tool (pr_reviewer section), use the following template:
/review --pr_reviewer.some_config1=... --pr_reviewer.some_config2=...

With a configuration file, use the following template:
[pr_reviewer]
some_config1=...
some_config2=...

  Utilizing extra instructions
The review tool can be configured with extra instructions, which can be used to guide the model to a feedback tailored to the needs of your project.
Be specific, clear, and concise in the instructions. With extra instructions, you are the prompter. Specify the relevant sub-tool, and the relevant aspects of the PR that you want to emphasize.
Examples for extra instructions:
[pr_reviewer] # /review #
extra_instructions="""
In the 'possible issues' section, emphasize the following:
- Does the code logic cover relevant edge cases?
- Is the code logic clear and easy to understand?
- Is the code logic efficient?
...
"""

Use triple quotes to write multi-line instructions. Use bullet points to make the instructions more readable.

  How to enable\disable automation

When you first install PR-Agent app, the default mode for the review tool is:

pr_commands = ["/review", ...]

meaning the review tool will run automatically on every PR, with the default configuration.
Edit this field to enable/disable the tool, or to change the used configurations

  Auto-labels
The review tool can auto-generate two specific types of labels for a PR:

a possible security issue label, that detects possible security issues (enable_review_labels_security flag)
a Review effort [1-5]: x label, where x is the estimated effort to review the PR (enable_review_labels_effort flag)

  Extra sub-tools
The review tool provides a collection of possible feedbacks about a PR.
It is recommended to review the possible options, and choose the ones relevant for your use case.
Some of the feature that are disabled by default are quite useful, and should be considered for enabling. For example:
require_score_review, require_soc2_ticket, and more.

  Auto-approve PRs
By invoking:
/review auto_approve

The tool will automatically approve the PR, and add a comment with the approval.
To ensure safety, the auto-approval feature is disabled by default. To enable auto-approval, you need to actively set in a pre-defined configuration file the following:
[pr_reviewer]
enable_auto_approval = true

(this specific flag cannot be set with a command line argument, only in the configuration file, committed to the repository)
You can also enable auto-approval only if the PR meets certain requirements, such as that the estimated_review_effort is equal or below a certain threshold, by adjusting the flag:
[pr_reviewer]
maximal_review_effort = 5

  More PR-Agent commands

To invoke the PR-Agent, add a comment using one of the following commands:

/review: Request a review of your Pull Request.
/describe: Update the PR title and description based on the contents of the PR.
/improve [--extended]: Suggest code improvements. Extended mode provides a higher quality feedback.
/ask <QUESTION>: Ask a question about the PR.
/update_changelog: Update the changelog based on the PR's contents.
/add_docs 💎: Generate docstring for new components introduced in the PR.
/generate_labels 💎: Generate labels for the PR based on the PR's contents.
/analyze 💎: Automatically analyzes the PR, and presents changes walkthrough for each component.

See the tools guide for more details.
To list the possible configuration parameters, add a /config comment.

See the review usage page for a comprehensive guide on using this tool.

Hello,
Thank you for this pull request and the impressive work involved. I noticed intriguing features, such as the use of 'qwen' in the get_classify_endpointing_silence_duration function, which showcases the depth of this contribution. However, our review process requires that each pull request not only introduce significant changes but also ensures these changes are functionally cohesive, with each adding a discrete functional entity to our codebase.
Could you please enhance the documentation to include a detailed explanation of each functional change, their purpose, and impact on the project? This granularity will help us in understanding the scope and ensuring that each introduced feature aligns with our project's architectural and functional guidelines.
We appreciate your effort and look forward to revised documentation that meets these criteria. Additionally, to align with our project's organizational standards, we kindly ask that each functional change be submitted as an individual pull request. This approach will facilitate a more focused review process and ensure each feature is thoroughly vetted and documented.
Thank you for your understanding and cooperation in this matter.


In-game whispers are broadcasted to the discord chat bridge

If a player uses the /tell or /w command, the whispered message will be broadcasted over the chat bridge, rather than staying private in the game only.

Which Minecraft version?

Which Minecraft version?

1.19


Transfer of WETH stuck in Wormhole as I rejected transaction on metamask

HI there,
Would appreciate some help. I transferred WETH through the wormhole bridge from Solana to Ethereum. It was successful on the Solana side but I stupidly rejected the transaction on Eth side as gas fees were super high.
It's now stuck somewhere. Is there anyway to get it back to my Phantom wallet please?
this is my transaction:
https://explorer.solana.com/tx/3jJq5NYpb6eWfyMQnrs7aLaGQzxQWihWK77h9xRxsBKNmhsnsGsmyqd7AyU3S2gqj9jSQ7pUSdeYbmgu973QSkqC
Thank you for any help you can provide.

there is no transaction hash on the ether scan as I rejected the transfer.

I have a similar problem with renBTC which is stuck in the wormhole as I tried to move it back from Solana to Eth. Please let me know if you find a solution

If you want to get it unstuck and onto ETH then https://www.interstellar.tk/ should get the metamask prompt up.
But then that costs much gas and ends up not where you want it. I'd also like to know if it can be reverted back to the SOL wallet!

I was just happy to get it in MM, happy to pay the gas

If you want to get it unstuck and onto ETH then https://www.interstellar.tk/ should get the metamask prompt up.
But then that costs much gas and ends up not where you want it. I'd also like to know if it can be reverted back to the SOL wallet!

ok. thanks. will try.

If you want to get it unstuck and onto ETH then https://www.interstellar.tk/ should get the metamask prompt up.
But then that costs much gas and ends up not where you want it. I'd also like to know if it can be reverted back to the SOL wallet!

 I am so scared of all these scammers trying to get into my wallet - not that there is much in it. But it's precious to me...

I was just happy to get it in MM, gas no issue.

Did you use interstellar.tk? and was it successful?
thanks

If you want to get it unstuck and onto ETH then https://www.interstellar.tk/ should get the metamask prompt up.
But then that costs much gas and ends up not where you want it. I'd also like to know if it can be reverted back to the SOL wallet!

 I am so scared of all these scammers trying to get into my wallet - not that there is much in it. But it's precious to me...

It looked to do the right thing but as I say, I didn't really want to be spending all that gas to get it where I didn't want it to go so I haven't completed a test with it myself.
So all I've got to go on that it's legit is other people in the comments saying it is.

If you want to get it unstuck and onto ETH then https://www.interstellar.tk/ should get the metamask prompt up.
But then that costs much gas and ends up not where you want it. I'd also like to know if it can be reverted back to the SOL wallet!

 I am so scared of all these scammers trying to get into my wallet - not that there is much in it. But it's precious to me...

It looked to do the right thing but as I say, I didn't really want to be spending all that gas to get it where I didn't want it to go so I haven't completed a test with it myself.
So all I've got to go on that it's legit is other people in the comments saying it is.

Ok. thanks for your reply. Appreciate the suggestion. I will see whether I've got the stomach to try it out... all these is giving me stress :)

Gas was a bit lower today so dared to test it as the wrapped SRM are useless on solana even if I could undo.
Worked:
https://etherscan.io/tx/0x71e8fd77e480a91d7487597e595b5da6199b874efde87d9824235f3d9856acee
Now I'm back where I started, less gas, plus a lesson!

Gas was a bit lower today so dared to test it as the wrapped SRM are useless on solana even if I could undo.
Worked:
https://etherscan.io/tx/0x71e8fd77e480a91d7487597e595b5da6199b874efde87d9824235f3d9856acee
Now I'm back where I started, less gas, plus a lesson!

wow - congrats. So you just connected to metamask - then put in your transaction has from solana and the transaction appeared for approval on metamask?

Yeah, box appears when you click submit.
That's the beauty of decentralised smart contracts; When the official interface denies you access to a function, you can still access it another way!

I was just happy to get it in MM, gas no issue.

Did you use interstellar.tk? and was it successful?
thanks

yes, itworked

Looks like this is already resolved thanks to the community <3

No it's not. The link does not work.

Try this then:
Manually submit the signed VAA bytes below to the submitVAA method on the Wormhole contract: https://etherscan.io/address/0xf92cd566ea4864356c5491c177a430c222d7e678#writeContract

Digest (for reference only): 43f3cd0f2d6c4dd57a94c57aa607424957b025f270d063bfd7cc0913169fa555
Signed VAA bytes to submit to the contract:

0x01000000010d00736008bd4820313122ae727d6a4016c908a675bfd4a60bdee0b5de121a364d6b32c70350f69c67f2f11ad7ea6d28cea7d4e24e666963cbdf9be37efb8fd8f660000185715e46e5786ab4517b06970716bcdfba482495badbca80e6244fbf2f4b8e621d32fe2c4335c964dee8eed3cf784bb4f656b05223f0d326a6b0841cb5185c9801036ac169a2bb035889bba949019a90161542b9bbce8f9875090e9f85f45440bb7332e678530688f5b4241fab8eeb4f43166fc54878a112292d1bc2275cd81ab7f20004391fdbf170141cf2e5dd5a7e52643f87f223fb2b5bd5dfb2b65c29c083e53cda00e986d24974514894562f690b6a40f54be12afc724d3ffa78044c515d057fea0005357b01c14082afdc7beae206c62909a64aec06d1eaf09bc360c380976c8b4a310ce094f2e31fbaafe0325fa1cd299440e9d664f1fe09f5ddea51df03a9b3d4870006abac263a8e51f7d4a7c683ec5a38d8e94cb5718970af2cf9dbbb503a59fbc5ef39aff4472b132bc4645dfe8412c892de55606c4f343b4549221de71c0c7615050007a963a58af1bca8669d4f0ffd4a8d8e18cb960b285de3b5dcb6b97f6c04f60d22520dd3ba29c025cf38f7cbf24ed048296c39a20b81ad9c377d7130bc9afc0ca1010858bb8f0796b268cc794db8c44ff19c9b0bc3a20524fb300c3fe66830fd4e3cd77013ce53afd46aca87a9a027e2bb600f97a265cf899ca4311c26302a12c5c140000a7fdc8b3b50f1c048e488af1c24a4c2ad7ae3239b11da433b0a45ec2ae4edbcd755e650d011882f15a8a1d2624f1108a281a4d433c440b7c251b2859bbfb8881e010b0e73f646529b657a015f6fe128e45ae513b5e671fc36bbbfc204009e9782218a15a4927734377ac47c29ebeef0093400860214bca13ceb90cb7bd348c6a3a11e010dce43f51864149052cd80095c20758ccc502cb9b56a5d2caa18656d1396a3cfb70c2e7173f3772305ef6aaa9b1df6aeb2431d0e12ce73fcecdc6c5498068fdbc20011481c00b6f8f9ab15df91f712b9dae319efc960c4dd15cf5b7e04901facbf33ac72d72edb7e2d09ca629c22d76176877d974221f8e4707eaa92d4c86f88979e660112de133bb3dcb4c3871ac34c7f24d89d2a1fbec1d10eb56ac0487b144e8ff62161268464e15bb34b7988d5add7827cac26033de53ff728d6f99af0649eada8c8f100613ab83d10000106c00102473c7055121977a8cd250896a509fcc9e6664342bc44d8e6bb19da8238bbb65e000000000000000000000000f433bdbf45ae8396805f5882c9f395b246e62af802000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc209000000000000000000000000000000000000000000000000000000002faf0800

thank you. that worked :)


[Bug]: Theme input settings do not allow types "metaobject" or "metaobject_list"

Please confirm that you have:

[x] Searched existing issues to see if your issue is a duplicate. (If you’ve found a duplicate issue, feel free to add additional information in a comment on it.)
[x] Reproduced the issue in the latest CLI version.

In which of these areas are you experiencing a problem?
Theme
Expected behavior
I should be able to add the input setting type of "metaobject" or "metaobject_list" and the Theme / Schema validator in theme dev would validate it and allow the theme to properly render the input settings in the Theme editor.
Actual behavior
When I add the input setting in my section liquid file using type "metaobject" or "metaobject_list", theme dev cannot validate my input setting type and prints:

Invalid schema: setting with id="faq_metaobject_list" type is invalid

Verbose output
DEBUG Refreshing preview _shopify_essential cookie
DEBUG Proxying HEAD https://mystore.myshopify.com/?preview_theme_id=139015553201&_fd=0&pb=0
DEBUG `-> 302 request_id: 6d62c030-fc60-412a-bca2-c9933404e43e-1725505530
DEBUG Proxying GET https://mystore.myshopify.com/pages/lp/chiropractic-offices?_ab=0&_fd=0&_sc=1&pb=0&preview_theme_id=139015553201&_fd=0&pb=0
DEBUG `-> 302 request_id: 9298587f-762c-4b64-abb0-bd910798222f-1725505531
DEBUG Proxying GET https://mystore.myshopify.com/pages/lp/chiropractic-offices?_ab=0&_fd=0&_sc=1&pb=0&_fd=0&pb=0
DEBUG `-> 200 request_id: 92c1bd99-23e4-46a6-8e50-0834118e50c6-1725505531
DEBUG Renew _shopify_essential cookie by the response
DEBUG Proxying GET https://mystore.myshopify.com/checkouts/internal/preloads.js?locale=en-US&_fd=0&pb=0
DEBUG [HotReload] Connected to SSE stream
DEBUG `-> 200 request_id:
DEBUG Proxying GET https://mystore.myshopify.com/cart.js?r=2.50096004167&_fd=0&pb=0
DEBUG `-> 200 request_id: fce4a8c1-6357-4c29-b79f-67076d84dc01-1725505534
DEBUG Proxying GET https://mystore.myshopify.com/pages/lp/chiropractic-offices?_ab=0&_fd=0&_sc=1&pb=0&_fd=0&pb=0
DEBUG `-> 200 request_id: c12aee9a-5636-4252-bee1-7b52148a69e7-1725505680
DEBUG Renew _shopify_essential cookie by the response
DEBUG Proxying GET https://mystore.myshopify.com/checkouts/internal/preloads.js?locale=en-US&_fd=0&pb=0
DEBUG [HotReload] Connected to SSE stream
DEBUG `-> 200 request_id:
DEBUG Proxying GET https://mystore.myshopify.com/cart.js?r=2.50093676816&_fd=0&pb=0
DEBUG `-> 200 request_id: 6835b03c-fc14-4fa2-af68-0f1ebcbf178f-1725505681
DEBUG [HotReload] Modified sections/collapsible-faqs.liquid
DEBUG update sections/collapsible-faqs.liquid
DEBUG Proxying POST https://mystore.myshopify.com/pages/lp/chiropractic-offices?_ab=0&_fd=0&_sc=1&pb=0&_fd=0&pb=0
DEBUG PUT https://mystore.myshopify.com/admin/api/unstable/themes/139015553201/assets.json with request_id: d5d0a91a-5cde-4a5d-8e8d-6bd721e08b52-1725505701
  • 20:08:22 ERROR  » update sections/collapsible-faqs.liquid:
  Invalid schema: setting with id="faq_metaobject_list" type is invalid
DEBUG `-> 200 request_id: 5f7fe91d-5f33-4436-adad-3d164de82b7f-1725505701
DEBUG Renew _shopify_essential cookie by the response
DEBUG Proxying GET https://mystore.myshopify.com/checkouts/internal/preloads.js?locale=en-US&_fd=0&pb=0
DEBUG [HotReload] Connected to SSE stream
DEBUG Proxying POST https://mystore.myshopify.com/cart.js?r=2.50094045164&_fd=0&pb=0
DEBUG `-> 200 request_id:
DEBUG `-> 200 request_id: abcf042d-6edc-46cb-a073-f5e3c1e6527c-1725505703

Reproduction steps
I have been getting into the metaobject definitions and creating themes for these, so I can template pages and easily populate them in a set of inputs rather than coding up new files each time. Great! I was excited as it fit a need.
Created my metaobjects and then a template for them. Each template and liquid section would then bind it's input values to the values in the metaobject entry.
I have created a sales_landing_page metaobject with 2 dozen fields in it. I also have a faqs metaobject with 2 fields in it (question and answer). Each landing page does not need the same FAQs, but the most relevant ones.
This means I needed a 1:many cardinal relationship in my 2 "database tables", wanting many FAQs on one Landing Page entry.
So I created a new field on sales_landing_page as a metaobject reference, referencing the faqs metaobject.
Where I get blocked is creating a theme input setting allowing me to bind an input setting to the faq metaobject reference field on my sales_landing_page.
Except I was not sure what input setting type to use. The Shopify docs do not show any reference to metaobject or metaobject_list input setting types. HOWEVER, VScode intellisense shows me these two types, so went forward with it.
At first I just put metaobject_list but then the schema validator told me that metaobject_type was required. But I could not find ANY documentation on this either.
Intellisense provides me this link to refer to the metaobject_list input setting type, but this page makes no reference.
https://shopify.dev/docs/themes/architecture/settings/input-settings#metaobject_list

Run shopify theme dev on an existing working theme and load your local env pages that you will work on
In a code editor, open an existing or new liquid section file, add a new input setting with "type": "metaobject" or "type": "metaobject_list" ... Here is mine:

  "settings": [
   ...,
    {
      "type": "metaobject_list",
      "metaobject_type": "faqs",
      "id": "faq_metaobject_list",
      "label": "FAQs metaobject reference"
    },
    ...
   ]

Save the file to allow for hot reloading
See the output in the theme dev terminal where it will show:
Invalid schema: setting with id="faq_metaobject_list" type is invalid

Operating System
Mac OS Sonoma 14.6.1
Shopify CLI version (check your project's package.json if you're not sure)
Shopify CLI; v=3.66.1
Shell
zsh
Node version (run node -v if you're not sure)
No response
What language and version are you using in your application?
No response

I understand now after some time and found some other ways around it.
But here is the "bug": the Shopify Liquid VScode extension pointed me in the direction of this new input type of metaobject and metaobject_list but it doesn't exist, as you've confirmed here.
Perhaps this planned feature or addition has leaked into the Liquid docs on the extension?

Hey @wallfly @rcasimmons , to confirm this is not a bug on the CLI but rather the Liquid VScode extension suggested invalid types, which is what caused this? If so I'll bring this feedback to the team and close this issue?

@wallfly @rcasimmons the original error is because metaobject and metaobject_list code recommendations were shipped before the metaobject and metaobject_list feature was shipped, but they are now both shipped, you can see the docs here https://shopify.dev/docs/storefronts/themes/architecture/settings/input-settings#metaobject

hi, any updates?

Hi! It seems there's a bug specifically in theme app blocks. We're looking into it. Really sorry for the inconvenience.

Having the same issue as @JonidBendo, specifically with a theme app extension. Any updates?

I’m encountering the same issue. It would be helpful to know if there’s an estimated timeline for a fix/workaround.

I'm also experiencing this issue.


Add support for organization

This adds support for setting organization. When API usage is payed by a different account you need to set its organization ID. You can set it via environment or config.
I didn't want to change how prompting for the API key works because this should be the easy way to use sgpt. Most users wont need an organization so this would just confuse them.

I fixed unit tests. However, when running integration tests in get 429 because payment information are not setup in my organization yet.

I managed to run and adjust the tests. Should be fine now.

Hey @AmShaegar13
ShellGPT will be using LiteLLM to manage settings for specific LLM providers.  Using latest sgpt release it is possible to define organization using environment variables: export OPENAI_ORGANIZATION=.... Given that, I'll pass on this, but thanks for the effort! 🍰

@TheR1D Came back here after switching back to the original version of shell_gpt. Sadly, what you say is not true for me. I still get 429 Too Many Requests because my organization is not taken into account. I need to add the following line:
handlers/handler.py:14
 additional_kwargs = {
     "timeout": int(cfg.get("REQUEST_TIMEOUT")),
     "api_key": cfg.get("OPENAI_API_KEY"),
+    "organization": cfg.get("OPENAI_ORGANIZATION"),
     "base_url": None if base_url == "default" else base_url,


Dashboard [DO NOT MERGE]

DO NOT MERGE
This is WIP for now. Implementing the dashboard...
We're waiting to see the designs from @kelliematheson, once we have them and the spotchecks functionality is done, this branch will be revisited.

This is no longer needed as it was implemented already in *evidence-controller branch...
Will delete the branch also.


Confused about where values come from

Getting my feet wet with this package, and I'm confused about where things are coming from. I have a project that looks like this:

When I build this with no GitInfo.txt and no customization, I get:
GitBranch=master;
GitCommit=8860bcb;
GitSha=8860bcb59f1e83db93e6aea90d1e8928bb1e692f;
GitBaseVersion=0.1.0;
GitBaseVersionSource=;
GitBaseVersionMajor=0;
GitBaseVersionMinor=1;
GitBaseVersionPatch=0;
GitCommits=0;
GitTag=v2.1-1-g8860bcb;
GitBaseTag=v2.1;
GitSemVerMajor=0;
GitSemVerMinor=1;
GitSemVerPatch=0;
GitSemVerLabel=;
GitSemVerDashLabel=;
GitSemVerSource=Default

GitInfo sees the tag, so why is it using the default 0.1.0 as the BaseVersion and SemVer?
Shouldn't GitCommits be 1, since I'm 1 commit ahead of the tag?
Thanks for any clarification.

The tag version is not a valid semver, which is why it isn't used. It should be v2.1.0.
A detailed build log would show that, IIRC

Thanks. I did look at a detailed build log, but I must have missed it.


Can't write to firestore

Steps to Reproduce

Set your firestore rule to allow create and deny update
Try to add a record to the collection

Logs
I/flutter (17451): PlatformException(Error performing setData, PERMISSION_DENIED: Missing or insufficient permissions., null)

Rules
match /questions/{question} {
     	allow read, create;
        allow update, delete: if isAdmin();
}

Flutter Code
Map<String, dynamic> question = {
	'name': _name.text,
	'title': _title.text,
	'body': _body.text,
	'created': DateTime.now()
};

Firestore.instance.collection('questions')
.add(question)

Please add the output of flutter doctor

Here:
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, v0.4.4, on Linux, locale en_US.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
[✓] Android Studio (version 3.1)
[!] Connected devices
    ! No devices available

! Doctor found issues in 1 category.

Is this still an issue?

Without additional information, we are unfortunately not sure how to resolve this issue. We are therefore reluctantly going to close this bug for now. Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.


Input names autocomplete gives extra " at the end of the string

Godot version
4.0 beta 10
System information
Windows 11
Issue description
On the text editor when using autocomplete on function arguments that receive Input Map names after autocompleting the function name, the string autocompleted appears with an extra " at the end.
This doesnt happen if you write " and then accept the Input name in the dropdown
Steps to reproduce

On the script editor
Start writing Input.get_vector but when the dropdown appears with the autocomplete suggestion for Input.get_vector press enter to accept it, then press enter again to accept the Input map suggestion
The autocompleted input name should have an extra "

Minimal reproduction project
N/A

Recording of the issue

This is a duplicate of https://github.com/godotengine/godot/issues/48436, but for the built-in editor. I can reproduce this on 4.0.beta8-9-10, but I think there's another open issue for this already.


Syntax and semantic of the range

The Nit range notation and semantic is very old and predate the current days where most modern languages offer a basic range type with a notation for literals.
Maybe some improvement can be done
Syntax

Nit [1..5[ and [1..5]
Ruby 1...5 and 1..5
Groovy 1..<5 and 1..5
Coffeescript [1...5] and [1..5]
Python range(1, 5) (no inclusive range)
Scala (1 until 5)  and (1 to 5)
Swift 1..<5 and 1...5 (yes ... for inclusive range, wtf!?)

Range with steps

Ruby: use a generator 1.step(4,2) or (1...5).step(2)
Python: range(1,5,2)
Scala: (1 until 5 by 2)

Reverse range
What is the behavior of [10..5[ (or equivalent syntax)
Empty range: Nit, Ruby, Python
Reverse range: CoffeeScript
How to iterate in a reverse order?

Ruby: use a generator 10.downto(6)
Python: use a negative step range(10,5,-1)
Scala: use a negative step (10 until 5 by -1)
Swift: use  (10..<5).reverse()

I'm not sure of the intent of this issue. Are we wainting for the TODO parts?

People that know languages can fill the todos.(and add languages)
The intent is about if we need to change how ranges are specified in nit.

I like:
'''
[1..5[  # = 1,2,3,4
[1..5]  # = 1,2,3,4,5
[1..5] step 2  # = 1,3,5
[5..1] step -1 # = 5,4,3,2,1
]5..0] step -2 # = 4,2,0
'''
I didn't bother thinking about the lexical implications.

@egagnon I like the step directive, this can be usefull.
Maybe pass this as an optional argument of the Range?
var r = [1..5, 2] # = 1, 3, 5

Better with named arguments:
var r = [1..5, step=2] # = 1, 3, 5

I don't like step to be located within the range specification, as it breaks the [ and ] semantics:
[1..5, step=2[  # why is the "[" separated from the "5" it excludes?

@egagnon I'm not that chocked by your example. I think it makes sense.

I still think that step outside is clearer and more intuitive.
Just forget about the lexer/parser mess, for a second, and look at it. Don't you find it simple and clean?
You could write:
var r = [0..10[ step 2  # 0,2,4,6,8

But, you can do what you want. I won't fight more about it.

What about step being a method instead of a keyword?
var r = [0..10[.step(2)

The method idea is really neat!

I'd even say it's really Nit !

Joke aside, yup I'm all for the method idea since @privat did not seem keen with the idea of sed'ing the few uses of step in the libs !
.step might be generalized in iterable collections then ? As a selector maybe ? With a positive step for the LTR iterator and a negative one for the RTL iterator (if available, an assert fail otherwise) ?
Maybe via an iterate method with a step as parameter ?
Something like
for i in "String".chars.iterate(1) do printn i # String
for i in "String".chars.iterate(-1) do printn i # gnirtS

Discussion seems closed now


feat(layout): add sidebar

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