Access denied when trying to start globally installed as a normal user

Brief description of your issue
Cannot run syncthing under normal user when installed with --scope machine
Steps to reproduce
As admin: winget install syncthing.syncthing --scope machine
As normal user I run command: syncthing
Expected behavior
syncthing must start under normal user.
Actual behavior
Access is denied.
Environment
C:\Program Files\WinGet\Packages>icacls Syncthing.Syncthing_Microsoft.Winget.Source_8wekyb3d8bbwe
Syncthing.Syncthing_Microsoft.Winget.Source_8wekyb3d8bbwe NT SERVICE\TrustedInstaller:(I)(F)
                                                          NT SERVICE\TrustedInstaller:(I)(CI)(IO)(F)
                                                          NT AUTHORITY\SYSTEM:(I)(F)
                                                          NT AUTHORITY\SYSTEM:(I)(OI)(CI)(IO)(F)
                                                          BUILTIN\Administrators:(I)(F)
                                                          BUILTIN\Administrators:(I)(OI)(CI)(IO)(F)
                                                          BUILTIN\Users:(I)(RX)
                                                          BUILTIN\Users:(I)(OI)(CI)(IO)(GR,GE)
                                                          CREATOR OWNER:(I)(OI)(CI)(IO)(F)
                                                          APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(I)(RX)
                                                          APPLICATION PACKAGE AUTHORITY\ALL APPLICATION PACKAGES:(I)(OI)(CI)(IO)(GR,GE)
                                                          APPLICATION PACKAGE AUTHORITY\ALL RESTRICTED APPLICATION PACKAGES:(I)(RX)
                                                          APPLICATION PACKAGE AUTHORITY\ALL RESTRICTED APPLICATION PACKAGES:(I)(OI)(CI)(IO)(GR,GE)

Successfully processed 1 files; Failed processing 0 files
-----------------------------------------------------------------------------------------------------------------------
C:\Program Files\WinGet\Packages\Syncthing.Syncthing_Microsoft.Winget.Source_8wekyb3d8bbwe>icacls Syncthing.Syncthing_Microsoft.Winget.Source_8wekyb3d8bbwe

C:\Program Files\WinGet\Packages\Syncthing.Syncthing_Microsoft.Winget.Source_8wekyb3d8bbwe>icacls syncthing-windows-amd64-v1.27.2
syncthing-windows-amd64-v1.27.2 GD07\Administrator:(I)(F)
                                GD07\Administrator:(I)(OI)(CI)(IO)(F)
                                BUILTIN\Administrators:(I)(F)
                                BUILTIN\Administrators:(I)(OI)(CI)(IO)(F)
                                NT AUTHORITY\SYSTEM:(I)(F)
                                NT AUTHORITY\SYSTEM:(I)(OI)(CI)(IO)(F)

Successfully processed 1 files; Failed processing 0 files
-----------------------------------------------------------------------------------------------------------------------

Windows Package Manager v1.6.3482
Copyright (c) Microsoft Corporation. All rights reserved.

Windows: Windows.Desktop v10.0.19045.3930
System Architecture: X64
Package: Microsoft.DesktopAppInstaller v1.21.3482.0

Winget Directories
-----------------------------------------------------------------------------------------------------------------------
Logs                               %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\Diag…
User Settings                      %LOCALAPPDATA%\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState\sett…
Portable Links Directory (User)    %LOCALAPPDATA%\Microsoft\WinGet\Links
Portable Links Directory (Machine) C:\Program Files\WinGet\Links
Portable Package Root (User)       %LOCALAPPDATA%\Microsoft\WinGet\Packages
Portable Package Root              C:\Program Files\WinGet\Packages
Portable Package Root (x86)        C:\Program Files (x86)\WinGet\Packages
Installer Downloads                %USERPROFILE%\Downloads

Links
---------------------------------------------------------------------------
Privacy Statement   https://aka.ms/winget-privacy
License Agreement   https://aka.ms/winget-license
Third Party Notices https://aka.ms/winget-3rdPartyNotice
Homepage            https://aka.ms/winget
Windows Store Terms https://www.microsoft.com/en-us/storedocs/terms-of-sale

Admin Setting                             State
--------------------------------------------------
LocalManifestFiles                        Disabled
BypassCertificatePinningForMicrosoftStore Disabled
InstallerHashOverride                     Disabled
LocalArchiveMalwareScanOverride           Disabled

This should be moved to winget-pkgs.


Build problem

Hi,
I am trying to build the g3sinks repo.
I have all Requirements installed and the cmake was successful.
The errors are attached.
build_error.txt

I only took a quick look at this. From the first error it seems that your compiler cannot find the std library "filesystem". Please make sure you are C++17 compatible. Maybe do a hello world example for your self to verify this?

If you want to use versions of g3sinks that support older versions of c++ then please look at the made releases and choose one accordingly

Thanks, I'll take a look at it.

Hi,
I checked out to c++11 master on g3sinks + g3log repos and I still can't build the project.
First, at the build stages it sais to cd to logrotate folder, but it doesn't exist.
I tried to create the build directory in the g3sinks folder and the CMAKE command outputed the next result:
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/usr/local/ -DBOOST_ROOT=/usr -DBUILD_TEST=ON ..
CMake Warning (dev) at CMakeLists.txt:139:
Syntax Warning in cmake code at column 27
Argument not separated from preceding token by whitespace.
This warning is for project developers.  Use -Wno-dev to suppress it.
CMake Warning (dev) at CMakeLists.txt:139:
Syntax Warning in cmake code at column 173
Argument not separated from preceding token by whitespace.
This warning is for project developers.  Use -Wno-dev to suppress it.
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
nix: Extracting git software version
Software Version: 2.1.0-223
CMAKE_INSTALL_PREFIX: /usr/local
Install rpath location: /usr/local
-- Configuring done
-- Generating done
-- Build files have been written to: /home/nvidia/workspace/cobra/3rdParty/g3sinks/build/googletest-download
Scanning dependencies of target googletest
[ 11%] Creating directories for 'googletest'
[ 22%] Performing download step (download, verify and extract) for 'googletest'
-- Downloading...
dst='/home/nvidia/workspace/cobra/3rdParty/g3sinks/build/googletest-download/googletest-prefix/src/master.zip'
timeout='none'
-- Using src='https://github.com/google/googletest/archive/master.zip'
-- Downloading... done
-- extracting...
src='/home/nvidia/workspace/cobra/3rdParty/g3sinks/build/googletest-download/googletest-prefix/src/master.zip'
dst='/home/nvidia/workspace/cobra/3rdParty/g3sinks/build/googletest-src'
-- extracting... [tar xfz]
-- extracting... [analysis]
-- extracting... [rename]
-- extracting... [clean up]
-- extracting... done
[ 33%] No patch step for 'googletest'
[ 44%] No update step for 'googletest'
[ 55%] No configure step for 'googletest'
[ 66%] No build step for 'googletest'
[ 77%] No install step for 'googletest'
[ 88%] No test step for 'googletest'
[100%] Completed 'googletest'
[100%] Built target googletest
-- Found PythonInterp: /usr/bin/python (found version "2.7.17")
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
g3log library: /usr/local/lib/libg3logger.so
g3log include should be: /usr/local//include
CMake Warning at /usr/share/cmake-3.10/Modules/FindBoost.cmake:801 (message):
New Boost version may have incorrect or missing dependencies and imported
targets
Call Stack (most recent call first):
/usr/share/cmake-3.10/Modules/FindBoost.cmake:907 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.10/Modules/FindBoost.cmake:1558 (_Boost_MISSING_DEPENDENCIES)
sink_logrotate/CMakeLists.txt:7 (find_package)
CMake Warning at /usr/share/cmake-3.10/Modules/FindBoost.cmake:801 (message):
New Boost version may have incorrect or missing dependencies and imported
targets
Call Stack (most recent call first):
/usr/share/cmake-3.10/Modules/FindBoost.cmake:907 (_Boost_COMPONENT_DEPENDENCIES)
/usr/share/cmake-3.10/Modules/FindBoost.cmake:1558 (_Boost_MISSING_DEPENDENCIES)
sink_logrotate/CMakeLists.txt:7 (find_package)
-- Boost version: 1.69.0
-- Found the following Boost libraries:
--   filesystem
--   system
boost [filesystem, system] found: 1
-- Found ZLIB: /usr/lib/aarch64-linux-gnu/libz.so (found version "1.2.11")
zlib found: TRUE
target_link_libraries:
g3log: /usr/local/lib/libg3logger.so,
boost: /usr/lib/libboost_filesystem.a;/usr/lib/libboost_system.a,
zlib: /usr/lib/aarch64-linux-gnu/libz.so
-- Looking for syslog.h
-- Looking for syslog.h - found
-- syslog.h is found. Building g3syslog
-- Looking for C++ include TraceLoggingProvider.h
-- Looking for C++ include TraceLoggingProvider.h - not found
CMake Warning at sink_snippets/CMakeLists.txt:17 (message):
Could not find TraceLoggingProvider.  g3logTracelogging [sink,
test,example] will not be built
--
=====================CLEAN IT ============================
Please use 'make clean-cmake' before next cmake generation.
It is a good idea to purge your build directory of CMake
generated cache files
--
========== OPTIONS ============
-- CHOICE_BUILD_DEBUG=OFF
-- CHOICE_BUILD_EXAMPLES=ON
-- CHOICE_BUILD_STATIC=OFF
-- CHOICE_BUILD_TESTS=ON
-- CHOICE_SINK_LOGROTATE=ON
-- CHOICE_SINK_SNIPPETS=ON
-- CHOICE_SINK_SYSLOG=ON
-- ===============================
======== INSTALLATION =========
  CMake build and install example from: g3sinks/build directory

        OSX/Linux:
            cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/usr/local -DCMAKE_INSTALL_PREFIX=/usr/local ..
            cmake --build . --config Release
            make install

        Windows:
            # regardless of your VS version make sure to specify the 64 or 32 bit - it should be the same target platform for g3log of course
            cmake -G VisualStudio142015Win64" -DCMAKE_BUILD_TYPE=Release -CDHOICE_BUILD_STATIC=ON -DCMAKE_PREFIX_PATH="c:\Local" -DCMAKE_INSTALL_PREFIX="c:\Local ..
            # to just build it and run tests
            cmake --build . --config Release
            # Unfortunately locating the DLL is a pain on Windows.
            # Make sure the PATH to g3log and boost, zlib, etc are set.
            # In the example above the dlls for g3log and zlib exists in c:\Local\bin
            set PATH=c:\Local\bin;%PATH%
            cmake test -V
            # to build and install it
            cmake --build . --target INSTALL --config Release

  create installation package
          All platforms: cpack -C Release
          OSX/Linux: make package

  install after "make package"
          OSX:   sh g3sinks-2.1.0-Darwin.sh
          Linux: sudo dpkg -i g3sinks-***Linux.deb
          Windows:

  Remove options:
          OSX:
          Linux: sudo dpkg -r g3sinks
          Windows:

  View installation targets:
        OSX: tar -ztvf g3sinks-2.1.0-Darwin.tar.gz
        Linux: sudo dpkg --contents g3sinks-***Linux.deb
        Windows:

  Run tests:
          ctest
          ctest -V

          # OSX/Linux For ctest with color set 'GTEST_COLOR=1'
          GTEST_COLOR=1 ctest -V
          make test

  Run examples:
         cmake examples

===============================
-- ===== Installation locations =====
-- ==================================
-- Headers: /usr/local/include/g3sinks
-- Library installation directory: /usr/local/lib
-- Configuring done
CMake Error at sink_logrotate/CMakeLists.txt:28 (add_library):
Target "g3logrotate" links to target "Boost::filesystem" but the target was
not found.  Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
CMake Error at sink_logrotate/CMakeLists.txt:28 (add_library):
Target "g3logrotate" links to target "Boost::system" but the target was not
found.  Perhaps a find_package() call is missing for an IMPORTED target, or
an ALIAS target is missing?
CMake Error at sink_logrotate/CMakeLists.txt:28 (add_library):
Target "g3logrotate" links to target "Boost::filesystem" but the target was
not found.  Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
CMake Error at sink_logrotate/CMakeLists.txt:28 (add_library):
Target "g3logrotate" links to target "Boost::system" but the target was not
found.  Perhaps a find_package() call is missing for an IMPORTED target, or
an ALIAS target is missing?
-- Generating done
CMake Warning:
Manually-specified variables were not used by the project:
BUILD_TEST

-- Build files have been written to: /home/nvidia/workspace/cobra/3rdParty/g3sinks/build
It seems that all dependecies are met but I still got errors on the build:
Scanning dependencies of target g3syslog
Scanning dependencies of target gtest
Scanning dependencies of target g3logrotate
[ 12%] Building CXX object sink_logrotate/CMakeFiles/g3logrotate.dir/src/LogRotateWithFilter.cpp.o
[ 12%] Building CXX object sink_syslog/CMakeFiles/g3syslog.dir/src/syslogsink.cpp.o
[ 12%] Building CXX object sink_logrotate/CMakeFiles/g3logrotate.dir/src/LogRotate.cpp.o
[ 16%] Building CXX object sink_logrotate/CMakeFiles/g3logrotate.dir/src/LogRotateUtility.cpp.o
[ 20%] Building CXX object googletest-build/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o
[ 25%] Linking CXX shared library libg3syslog.so
[ 25%] Built target g3syslog
[ 29%] Linking CXX shared library libg3logrotate.so
/usr/bin/ld: cannot find -lBoost::filesystem
/usr/bin/ld: cannot find -lBoost::system
collect2: error: ld returned 1 exit status
sink_logrotate/CMakeFiles/g3logrotate.dir/build.make:148: recipe for target 'sink_logrotate/libg3logrotate.so.2.1.0-223' failed
make[2]: *** [sink_logrotate/libg3logrotate.so.2.1.0-223] Error 1
CMakeFiles/Makefile2:1202: recipe for target 'sink_logrotate/CMakeFiles/g3logrotate.dir/all' failed
make[1]: *** [sink_logrotate/CMakeFiles/g3logrotate.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
^Cgoogletest-build/googletest/CMakeFiles/gtest.dir/build.make:62: recipe for target 'googletest-build/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o' failed
make[2]: *** [googletest-build/googletest/CMakeFiles/gtest.dir/src/gtest-all.cc.o] Interrupt
CMakeFiles/Makefile2:1152: recipe for target 'googletest-build/googletest/CMakeFiles/gtest.dir/all' failed
make[1]: *** [googletest-build/googletest/CMakeFiles/gtest.dir/all] Interrupt
Makefile:162: recipe for target 'all' failed

Ok thx, I'll try to overcome the Boost linking problems.
What do you mean when you say " latest c++11 release" branch?
Haven't seen one.

https://github.com/KjellKod/g3log/releases
and
https://github.com/KjellKod/g3sinks/releases
You can read in the description for each release what they contain
On Tue, Sep 6, 2022 at 4:43 AM Nir Rafman @.***> wrote:

Ok thx, I'll try to overcome the Boost linking problems.
What do you mean when you say " latest c++11 release" branch?
Haven't seen one.
—
Reply to this email directly, view it on GitHub
https://github.com/KjellKod/g3sinks/issues/130#issuecomment-1237980243,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACQ7XTJLCNPEVKBPMS6JMTV44N5FANCNFSM6AAAAAAQELYFUI
.
You are receiving this because you commented.Message ID:
@.***>

--

Kjell Hedstrom
Vice President of Engineering
m : +1.617.378.1915
o : +1.831.200.3313
e : @.***
w : www.ganaz.com https://linkedin.com/company/ganaz/

Thank you very much for the support.
Actually, when checked out to the release branches, it all compiled!


Pull Request: new feature - save MKDE raster & shape files

Saving MKDE raster & shape files now working (issue #29 )

i've updated the dev branch with more fixes so closing this PR and going to start another one...

looks like original PR can still be used and will include the new commits 👍


update several deps (#10763)

What problem does this PR solve?
What's Changed:
Cherry pick #10763.
Check List
Tests

Manual test (add detailed scripts or steps below)

Release note
None

/merge


doc: enhance example by showing usage of "scale"

Thank you so much with this great tool!
Digital power meters measure in factions of Watts but relevant for invoicing are kWh.
Therefore the "scale" parameter is provided in configuration but unfortunately the current examples don't show its usage.
I guess adding "scale" would apply to Example 2: SCPM-S6 Power Meter.
but because I can't test it, providing a tested PR is not feasible for me.
Could you please take care of this proposal?

Hi, thanks for your interest in this tool.
You are right that we provide "scale" parameter in Modpoll config file, the main purpose is to conform with vendor's Modbus protocol, as we know, some device vendors will apply a "scale" or "gain" on to their raw output so that they could use integer number to output float values.
For example, HUAWEI_SUN2000_245KTL28KTL_MODBUS_Interface defines the PV voltages like below,

there is a "gain" (same as "scale") value 10 applied to each PV voltage output, meaning if you got raw data 2405, the actual output is 2405/10 = 240.5 (V).
And this is what Modpoll tool actually do via the config file defined,

See Huawei smart logger example for details,
https://github.com/gavinying/modpoll/tree/master/contrib/huawei/sun2000
Although it is not limited to use "scale" for your purpose, but the design principle is to output data according to vendor's specs and leave the data processing stage to the other user preferred programs/tools.
Hope that clarifies.


Replace repulsion restraint with ZBL reference

Do you have a preferred way of implementing this? I like the idea of allowing for a general "reference potential" that is subtracted before the fit, which might be ZBL, the one-body E0s, or some combination. But might also be a better way.

The possibility is already implemented. Just need to supply a convenient interface for it. I don't have a strong view on this yet.

Sure, I was asking about the interface and your opinion - fine if you don't have a strong view. I saw a change somewhere recently that moved in the direction of E0s as the only reference and away from the more generic approach. Wasn't sure if that was purposeful or just convenient in the moment.

For now at least. Over time we can think about how to improve on this.

I've now translated the repulsion restraint (#262). Still want to add the ZBL option so we can compare the two.

addressed by #263  -  I'm not 100% happy with the tests, but I think it now needs to be tried on real systems before raising issues with the implementatin.


The categories field shows a list of all categories. On a hierarchical taxonomy, I was to show only the parent categories

Greetings,
Problem Description
I have a df_menu_item_taxonomy taxonomy which is hierarchical (can contain nested categories)
For a divi module field of type categories I want to only show the parent (parent = 0) categories. Currently it shows all the categories including nested categories.
$fields['include_categories'] = [     'label'            => esc_html__('Include from only these categories', 'et_builder'),     'type'             => 'categories',     'renderer_options' => [         'use_terms' => true,         'term_name' => 'df_menu_item_taxonomy',     ],     'tab_slug'         => 'general',     'toggle_slug'      => 'data', ];
The renderer_options array should be capable of take further arguments like (parent=0) so that we can have the desired effect
Steps To Reproduce

Create a post type and a taxonomy which is hierarchical https://gist.github.com/ketanshah79/7f2908a4349b0734b47fa60df4c1f2b3
Create a category say "Wine" and a nested category say "Red Wine"
Create few custom post type entries and assign them both the above categories.
Create a divi module and add the following field
$fields['include_categories'] = [  'label'            => esc_html__('Include from only these categories', 'et_builder'),  'type'             => 'categories',  'renderer_options' => [      'use_terms' => true,      'term_name' => 'df_menu_item_taxonomy',  ],  'tab_slug'         => 'general',  'toggle_slug'      => 'data', ];
On the frontend visual builder add the created divi module.
The categories checkbox list will have "Wine" and "Red Wine"

I want to show only the parent categories "Wine"
Screenshot and/or gif
Sample screenshots attached.
Nested category screenshot

Divi module field with nested categories item

Having the same issue. Kindly help!
@ketanshah79 Did you find any solution?
I'm stuck at this. Is there any work around for this?
As multiple_checkboxes don't support dynamic options and custom controls are not yet supported in Divi! Referring #40


[Vue warn]: Avoid mutating a prop directly since the value will be overwritten...

Overview of the problem
Buefy version: [0.4.0]
Vuejs version: [2.3.3]
OS/Browser: Mac - Sierra / Chrome
Description
Message:
vue.esm.js?65d7:434 [Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated: "value"
Found in BInput
This warn message is being triggered by the Dialog component.
Here's a gif of the warning triggering
Steps to reproduce
Include components and type into dialog.
Expected behavior
Actual behavior

I actually have seem it before but couldn't reproduce, will take a look again on it, thanks.

I saw this too this morning, in <IP_ADDRESS> and 0.4.3. OSX Sierra, Chrome.
Had a sniff around the component but couldn't see anything obvious.
In addition, the dialogue prompt does not show the help text on submit with an empty input.

😕

It's probably only throwing this error on OSX, I can't reproduce by any means :/

What makes it more odd, is that as the example on the documentation page works perfectly.. :man_shrugging:

I have the same issue with the prompt component
I'm using Windows 10, so not just limited to OSX
Here is a gif if it in action
http://i.imgur.com/mGCOTNG.gifv

@AmazeCPK could you share the prompt code? I'm gonna test on another project, the one in the docs is not triggering the warn.

@rafaelpimpa I've included just the prompt code, as well as the entire component in this gist: https://gist.github.com/anonymous/951fb4e1b8a7165d65e02e593c6a60b6

Couldn't yet see the warning in action, but I see your code has a small error @AmazeCPK , should be 'inputMaxlength' and 'inputPlaceholder':
prompt() {
  this.$dialog.prompt({
    message: 'New Category',
    inputMaxlength: 40,
    inputPlaceholder: 'Please enter category title...',
    onConfirm: cat => this.addCategory(cat)
  })
}

@rafaelpimpa Thank you. I have updated my code to reflect yours, and it seems I am still receiving the same error on each keystroke as before.
I can upload my project to github if it would help.

That would be great actually.

@rafaelpimpa Here you go:
https://github.com/AmazeCPK/c-bravo-photo/blob/master/application/src/components/Admin/Dashboard/Images/New_Image.vue

@AmazeCPK returning 404

@rafaelpimpa updated to public repo

Ok I've found the root of the warning message, you can remove the repo if you want, thanks!

👏

Thanks!

Unfortunately couldn't find another way than using native <input>.
What was causing is that the Dialog is created on runtime outside of the main Vue instance, so the custom components doesn't work correctly with the compiled js files.


Again Missing features

This client is mostly useless, I think??  There is NO support for adding signature tabs or any other tab except text tabs.  Am I missing something?

Matt, there is support for adding many different type of tabs. The full list includes:
        tabs.checkboxTabs = null;
        tabs.companyTabs = null;
        tabs.dateSignedTabs = null;
        tabs.emailTabs = null;
        tabs.fullNameTabs = null;
        tabs.initialHereTabs = null;
        tabs.signerAttachmentTabs = null;
        tabs.signHereTabs = null;
        tabs.textTabs = null;
        tabs.titleTabs = null;

(this is a code snippet that I just copy/pasted, but you get the idea)

Ya but there is no way with the c# API to add the tabs.  AddTabs only adds textTabs.

        TabCollection tabs = new TabCollection();

        List<Tab> signHereTabs = new List<Tab>();

        var tab = new Tab();

        tab.xPosition = int.Parse(textBox7.Text);
        tab.yPosition = int.Parse(textBox8.Text);
        tab.tabLabel = textBox9.Text;
        tab.pageNumber = 1;
        tab.documentId = 1;
        tab.tabId = "1";
        tab.recipientId = "1";
        signHereTabs.Add(tab);

        tabs.signHereTabs = signHereTabs;

        if (myEnvelope.AddTabs(tabs))

this example is part of a winform demo code and it adds a signature tab. Similarly you can add all other tab types

Again, look at AddTabs code.  It only enumerates the textTabs List

it works, I can assure you. What you are seeing is that we only add tabLabel for textTabs list which are the only onnes that need it but we serialize the entire Tabs object and all tab types are added. I have working demo here on my box.

K.  just looked weird when I looked at it quick.  My bad!

ok, please do let me know if something doesn't work right (and it's ok if it's looking weird, I agree looks are important too). I'm closing this for now. thanks!


Support for Mutual TLS when using RabbitMQ

Feature
There is limited SSL/TLS support currently when connecting via RabbitMQ, see Support amqps. However, there are two limitations to the current approach,

It hard codes to use a TrustManager that will accept any incoming server certificate and so isn't really appropriate for production environments
It hard codes to an empty Key Store. This means that Mutual TLS cannot be supported

However, the com.rabbitmq.client.ConnectionFactory provides an alternate approach that would allow the SSLContext to be created within zipkin-server. This SSLContext could be configured to 'real' Trust & Key Stores, allowing Mutual TLS.
If we have optional properties that can point to the location of trust & key store files and corresponding passwords, then when present, a SSLContext could be built. If these properties were not defined or an error occured on loading then the collector can default to the existing behaviour
Rationale
When integrating with RabbitMQ, this feature has the advantage of removing the potential securiity risk of using a TrustManager that accepts any certificate for RabbitMQ, while providing support for Mutual TLS.
It would be a non-breaking change
Example Scenario
In environments where RabbitMQ is the primary messaging/communication system and Mutual TLS is mandated, it allows zipkin to be used
Prior Art

Links to prior art
More links

I think this is a continuation of #1827 as that issue wasn't closed. This needs analysis still. There are other transports and storage that can leverage alternate keystore etc, so best to use a coherent approach to this.


reliable pod scheduling on multi-node cluster

The current approach is:

when asked to create a volume, merely do a space check and pretend that the volume has been created
when asked to make the volume available on a node, create it there

This approach can fail in various ways:

single-node cluster: the first pod using the volume might get started at a time when other pods have already used up all available NVDIMM space (because the check for available space and actual allocation are separate)
multi-node cluster: the first pod using the volume might get scheduled to a node with insufficient NVDIMM space instead of the node with enough free space
multi-node cluster: after stopping the pod and restarting it (think database server update!) or after starting another app using the same PV, the new pod might get scheduled to a node that doesn't have the PV

Did recent csi-1.0 update cover concerns in this issue so that we can close it?

Did recent csi-1.0 update cover concerns in this issue so that we can close it?

Not fully covered, the csi-1.0 move make sure that:

schedule the application(s) which claims the provisioned volume on right node(s) where the volume created
In late binding mode, create the volume on Kubernetes selected node.

The major part still missing is "Kubernetes considering the node storage capacity while selecting the node for scheduling application in case of late binding".

Amarnath Valluri<EMAIL_ADDRESS>writes:

The major part still missing is "Kubernetes considering the node
storage capacity while selecting the node for scheduling application
in case of late binding".

@avalluri: can you try out what happens when Kubernetes selects a node
which then doesn't have the necessary capacity?
If I remember and understand
https://github.com/kubernetes-csi/external-provisioner/issues/221
correctly, the driver will then get an AccessibleTopology.Requisite with
multiple entries, i.e. multiple nodes. If the first entry doesn't have
enough capacity, it will respond by making the volume available on some
other node, right?
I expect pod startup to fail in this case because the pod has already
been scheduled onto a node on which the volume then cannot be mounted.
I think the driver's behavior is covered by the "if x<n, then the SP
SHALL choose x unique topologies from the list of requisite topologies"
case.
That we end up with an unschedulable pod is then a problem that needs to
be handled by Kubernetes and/or external-provisioner.

If I remember and understand kubernetes-csi/external-provisioner#221 correctly, the driver will then get an AccessibleTopology.Requisite with multiple entries, i.e. multiple nodes. If the first entry doesn't have enough capacity, it will respond by making the volume available on some other node, right?

Yes, the driver has no information if a node is  selected by Kuberentes or random selection of external-provisioner, so we just find and allocate the volume on a free node in the order of AccessibleTopology.{Preferred,Requisite}.

I think the driver's behavior is covered by the "if x<n, then the SP SHALL choose x unique topologies from the list of requisite topologies" case.

Yes, right.

That we end up with an unschedulable pod is then a problem that needs to be handled by Kubernetes and/or external-provisioner.

As of my knowledge external-provisoner do not handle this case.

@avalluri: can you try out what happens when Kubernetes selects a node which then doesn't have the necessary capacity?

As of my observation Pod scheduling fails, I will try again and confirm.

Amarnath Valluri<EMAIL_ADDRESS>writes:

@avalluri: can you try out what happens when Kubernetes selects a node which then doesn't have the necessary capacity?

As of my observation Pod scheduling fails, I will try again and
confirm.

While you do that, capture logs that show exactly what the topology in
the cluster is (CSINodeInfo) and what the sequence of events is (pod
scheduled, external-provisioner starts, gRPC calls and their
parameters). That then needs to go into
https://github.com/kubernetes-csi/external-provisioner/issues/221 to
show that something is amiss.

@pohly I mimic the case of delayed PV binding where Pod scheduled on a node(host-2), but the volume created on different node/topology(host-3). As we expected scheduling failed, because of the volume locked to different topology/node which cannot be attached to Pods's node/topology :
$ kubectl describe pod my-csi-app
Events:
  Type     Reason              Age                From                     Message
  ----     ------              ----               ----                     -------
  Normal   Scheduled           62s                default-scheduler        Successfully assigned default/my-csi-app to host-2
  Warning  FailedAttachVolume  30s (x7 over 62s)  attachdetach-controller  AttachVolume.Attach failed for volume "pvc-bc6f6cb9-4721-11e9-a367-deadbeef0100" : rpc error: code = FailedPrecondition desc = Volume cannot be published on requested node host-2

Application Pod info:
$ kubectl get po -o wide
NAME                    READY   STATUS              RESTARTS   AGE     IP            NODE     NOMINATED NODE   READINESS GATES
my-csi-app              0/1     ContainerCreating   0          56s     <none>        host-2   <none>           <none>

create pv topology:
$ kubectl get pv -o json | jq '.items[] | .name, .spec.nodeAffinity'
"pvc-bc6f6cb9-4721-11e9-a367-deadbeef0100"
{
  "required": {
    "nodeSelectorTerms": [
      {
        "matchExpressions": [
          {
            "key": "pmem-csi.intel.com/node",
            "operator": "In",
            "values": [
              "host-3"
            ]
          }
        ]
      }
    ]
  }
}

But the question here is what is the expected behavior of a CSI driver in this case,
a) if it should fail to create volume if there is no space on selected node, or
b) it just create the volume irrespective of node selection ?
If (a) then we need to negotiate this with external-provisioner, if not, then no change needed. But either case Kubernetes fails to schedule the Pod.

The right solution in my opinion would be, to make the Kubernetes aware of storage capacity and consider that while scheduling the Pod.

Will be fixed in 0.7.0 through:

scheduler extensions
rescheduling of pods with late-binding volumes (a feature in external-provision 1.6.0, brought in by PR #627)

Resolved: scheduler extensions are merged and sidecars were updated.


⚠ Samsung has degraded performance

In c2ea0dd, Samsung (https://samsung.com) experienced degraded performance:

HTTP code: 200
Response time: 2531 ms

Resolved: Samsung performance has improved in 2ad74d0.


Support auto-scaling an existed deployment after a cooldown period

Proposal
It seems that only the scaleTarget be scaled up by the KEDA could be applied with the cooldown period, but I have two cases might be violate this design:
case 1: I want to create a deployment with initial replica 1 and a scale object with min replica 0, but the result is when the replica pod created then it would be scaled down immediately controlled by the KEDA.
case 2: I have some deployments already running for a while, but I want to create a scale object on the fly to manage it for the scaling to zero ability. as same as case 1, after the scale object created the target deployment would be scaled to zero.
After dig into the KEDA code, it says clearly that:
// LastActiveTime can be nil if the ScaleTarget was scaled outside of KEDA.
// In this case we will ignore the cooldown period and scale it down
so, the scale to zero is applied immediately but it's not really wait for a cooldown period just after scale object created.
Use-Case
No response
Is this a feature you are interested in implementing yourself?
No
Anything else?
No response

Hello,
Thanks for reporting! This issue can't be managed in the Add-on side as it's KEDA who is doing that. There is an issue in KEDA side: https://github.com/kedacore/keda/issues/5008.
Let's move the conversation to there. Your use case makes sense totally but nothing can be done here


[RTBF] "ERROR:  An extractor error has occurred." using "--cookies-from-browser" or --cookies

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I remove or skip any mandatory* field

Checklist

[X] I'm reporting a bug unrelated to a specific site
[X] I've verified that I'm running yt-dlp version 2022.08.14 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue

Provide a description that is worded well enough to be understood
[Note: existing issue  #4671 is still open but I was advised to open a new issue.]
Since updating to 2022.08.14, I cannot download videos from RTBF with the option "--cookies-from-browser". I can indeed download videos using -u username -p password.
Not sure if this helps, but I have saved two dumps here:
https://gist.github.com/Ottaviocr/057f03cf1145a521f39b16c5ab826430
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
$ yt-dlp -vU
[debug] Command-line config: ['-vU']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.08.14 [5593720] (zip)
[debug] Python 3.9.2 (CPython 64bit) - Linux-5.18.0-0.bpo.1-amd64-x86_64-with-glibc2.33 (glibc 2.33)
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 5.0-static (setts), ffprobe 5.0-static
[debug] Optional libraries: Cryptodome-3.9.7, brotli-1.0.9, certifi-2020.06.20, mutagen-1.45.1, sqlite3-2.6.0, websockets-10.3
[debug] Proxy map: {}
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2022.08.14, Current version: 2022.08.14
yt-dlp is up to date (2022.08.14)

$ yt-dlp --cookies-from-browser firefox https://www.rtbf.be/auvio/detail_jt-19h30?id=2929547 -v
[debug] Command-line config: ['--cookies-from-browser', 'firefox', 'https://www.rtbf.be/auvio/detail_jt-19h30?id=2929547', '-v']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.08.14 [5593720] (zip)
[debug] Python 3.9.2 (CPython 64bit) - Linux-5.18.0-0.bpo.1-amd64-x86_64-with-glibc2.33 (glibc 2.33)
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 5.0-static (setts), ffprobe 5.0-static
[debug] Optional libraries: Cryptodome-3.9.7, brotli-1.0.9, certifi-2020.06.20, mutagen-1.45.1, sqlite3-2.6.0, websockets-10.3
[Cookies] Extracting cookies from firefox
[debug] Extracting cookies from: "/home/oc/.mozilla/firefox/i0z6z7rn.default/cookies.sqlite"
[Cookies] Extracted 289 cookies from firefox
[debug] Proxy map: {}
[debug] [RTBF] Extracting URL: https://www.rtbf.be/auvio/detail_jt-19h30?id=2929547
[RTBF] 2929547: Downloading webpage
[RTBF] 2929547: Downloading JSON metadata
ERROR: 2929547: An extractor error has occurred. (caused by KeyError('id_token')); please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
  File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 666, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/yt-dlp/yt_dlp/extractor/redbee.py", line 345, in _real_extract
    fmts, subs = self._get_formats_and_subtitles(url, media_id)
  File "/usr/local/bin/yt-dlp/yt_dlp/extractor/redbee.py", line 254, in _get_formats_and_subtitles
    session_jwt = self._download_json(
KeyError: 'id_token'

Can you try using my latest branch? https://github.com/elyse0/yt-dlp/tree/rtbf-stream
This is a link to download the source code: https://github.com/elyse0/yt-dlp/archive/refs/heads/rtbf-stream.zip

elyse0, I compiled your version. I have a binary in ~/test/yt-dlp-rtbf-stream/yt-dlp

$ test/yt-dlp-rtbf-stream/yt-dlp --cookies-from-browser firefox  https://www.rtbf.be/auvio/detail_jt-13h?id=2929608 -v
	[debug] Command-line config: ['--cookies-from-browser', 'firefox', 'https://www.rtbf.be/auvio/detail_jt-13h?id=2929608', '-v']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.08.08 [3157158f7] (zip)
[debug] Plugins: ['SamplePluginIE', 'SamplePluginPP']
[debug] Python 3.9.2 (CPython 64bit) - Linux-5.18.0-0.bpo.1-amd64-x86_64-with-glibc2.33 (glibc 2.33)
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 5.0-static (setts), ffprobe 5.0-static
[debug] Optional libraries: Cryptodome-3.9.7, brotli-1.0.9, certifi-2020.06.20, mutagen-1.45.1, sqlite3-2.6.0, websockets-10.3
[Cookies] Extracting cookies from firefox
[debug] Extracting cookies from: "/home/oc/.mozilla/firefox/i0z6z7rn.default/cookies.sqlite"
[Cookies] Extracted 288 cookies from firefox
[debug] Proxy map: {}
[debug] [RTBF] Extracting URL: https://www.rtbf.be/auvio/detail_jt-13h?id=2929608
[RTBF] 2929608: Downloading webpage
[RTBF] 2929608: Downloading JSON metadata
ERROR: 2929608: An extractor error has occurred. (caused by KeyError('id_token')); please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
  File "/home/oc/test/yt-dlp-rtbf-stream/yt-dlp/yt_dlp/extractor/common.py", line 666, in extract
    ie_result = self._real_extract(url)
  File "/home/oc/test/yt-dlp-rtbf-stream/yt-dlp/yt_dlp/extractor/redbee.py", line 364, in _real_extract
    fmts, subs = self._get_formats_and_subtitles(url, f'live_{media_id}' if is_live else media_id)
  File "/home/oc/test/yt-dlp-rtbf-stream/yt-dlp/yt_dlp/extractor/redbee.py", line 258, in _get_formats_and_subtitles
    session_jwt = self._download_json(
KeyError: 'id_token'

Unless I've done something wrong, I get the same error.

I have edited the title to reflect that even the "-cookies" switch fails when using the "Cookies.txt" Firefox extension:

 $ yt-dlp -U
Latest version: 2022.08.14, Current version: 2022.08.14
yt-dlp is up to date (2022.08.14)
 $ yt-dlp --cookies cookies.txt  https://www.rtbf.be/auvio/detail_jt-13h?id=2929608 -v
[debug] Command-line config: ['--cookies', 'cookies.txt', 'https://www.rtbf.be/auvio/detail_jt-13h?id=2929608', '-v']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.08.14 [5593720] (zip)
[debug] Python 3.9.2 (CPython 64bit) - Linux-5.18.0-0.bpo.1-amd64-x86_64-with-glibc2.33 (glibc 2.33)
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 5.0-static (setts), ffprobe 5.0-static
[debug] Optional libraries: Cryptodome-3.9.7, brotli-1.0.9, certifi-2020.06.20, mutagen-1.45.1, sqlite3-2.6.0, websockets-10.3
[debug] Proxy map: {}
[debug] [RTBF] Extracting URL: https://www.rtbf.be/auvio/detail_jt-13h?id=2929608
[RTBF] 2929608: Downloading webpage
[RTBF] 2929608: Downloading JSON metadata
ERROR: 2929608: An extractor error has occurred. (caused by KeyError('id_token')); please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
  File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 666, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/yt-dlp/yt_dlp/extractor/redbee.py", line 345, in _real_extract
    fmts, subs = self._get_formats_and_subtitles(url, media_id)
  File "/usr/local/bin/yt-dlp/yt_dlp/extractor/redbee.py", line 254, in _get_formats_and_subtitles
    session_jwt = self._download_json(
KeyError: 'id_token

I can post the content of cookies.txt if necessary.

Mmmm weird 🤔
Have you tried cleaning your firefox cookies and logging again?

Are these session cookies? It is impossible for yt-dlp to load session cookies from browser directly

Mmmm weird 🤔
Have you tried cleaning your firefox cookies and logging again?

elyse0 your build works exactly the same as the master build, as referenced above.

Are these session cookies? It is impossible for yt-dlp to load session cookies from browser directly

I'm buffled because I definitely used to use "--cookies-from-browser firefox" for RTBF videos with previous builds, on condition that they were not DRM videos, in which case it obviously didn't work. But the JT 13H is not DRM protected.

pukkandan, here's an old build:
$ ./yt-dlp_linux-2<IP_ADDRESS> --version
2<IP_ADDRESS>

And an old episode of "Le grand Cactus" using "--cookies-from-browser"

$ ./yt-dlp_linux-2<IP_ADDRESS> --cookies-from-browser firefox   https://www.rtbf.be/auvio/detail_le-grand-cactus?id=2735244
[Cookies] Extracting cookies from firefox
[Cookies] Extracted 292 cookies from firefox
[RTBF] 2735244: Downloading webpage
[RTBF] 2735244: Downloading m3u8 information
[RTBF] 2735244: Downloading MPD manifest
[info] 2735244: Downloading 1 format(s): hls-4233
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 796
[download] Destination: Le Grand Cactus [2735244].mp4
[download]   0.1% of ~3.13GiB at    1.14MiB/s ETA 16:37 (frag 1/796)

In that case, this appears to be some regression in 2a5e5477bcb70d62de20556924a405857d071e09

While I don't rule out the possibility of a regression, I just want to point out that you're testing different videos
Le grand cactus is an "old"  video that uses the old api (Freecaster), it doesn't need cookies and still works on the lastest version 2022.08.19
[debug] Command-line config: ['https://www.rtbf.be/auvio/detail_le-grand-cactus?id=2735244', '-vU']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.08.19 [48c88e088]
[debug] Lazy loading extractors is disabled
[debug] Python 3.8.10 (CPython 64bit) - Linux-5.4.0-124-generic-x86_64-with-glibc2.29 (glibc 2.31)
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg n5.0.1-8-g11eff7739a-20220712 (setts), ffprobe n5.0.1-8-g11eff7739a-20220712, rtmpdump 2.4
[debug] Optional libraries: Cryptodome-3.15.0, brotli-1.0.9, certifi-2022.06.15, mutagen-1.45.1, secretstorage-2.3.1, sqlite3-2.6.0, websockets-10.3
[debug] Proxy map: {}
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2022.08.19, Current version: 2022.08.19
yt-dlp is up to date (2022.08.19)
[debug] [RTBF] Extracting URL: https://www.rtbf.be/auvio/detail_le-grand-cactus?id=2735244
[RTBF] 2735244: Downloading webpage
[RTBF] 2735244: Downloading m3u8 information
[RTBF] 2735244: Downloading MPD manifest
[debug] Sort order given by extractor: res, proto
[debug] Formats sorted by: hasvid, ie_pref, res, proto, lang, quality, fps, hdr:12(7), vcodec:vp9.2(10), channels, acodec, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, source, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] 2735244: Downloading 1 format(s): hls-4233
[debug] Invoking hlsnative downloader on "https://rtbf-vod.fl.freecaster.net/vod/rtbf/geo/open/j/jlilD8L3vl/jlilD8L3vl-audio_fra=127000-video=3866000.m3u8"
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 796
[download] Destination: La 100e ! Avec les grands personnages de l'Histoire, Kiki Lantino, et Frank Michaël [2735244].mp4
[download]   0.8% of ~3.07GiB at   16.40KiB/s ETA 16:51

The JT 13H on the other hand is new and needs to use Redbee
[debug] Command-line config: ['https://www.rtbf.be/auvio/detail_jt-13h?id=2930255', '-vU', '--cookies-from-browser', 'firefox']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.08.19 [48c88e088]
[debug] Lazy loading extractors is disabled
[debug] Python 3.8.10 (CPython 64bit) - Linux-5.4.0-124-generic-x86_64-with-glibc2.29 (glibc 2.31)
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg n5.0.1-8-g11eff7739a-20220712 (setts), ffprobe n5.0.1-8-g11eff7739a-20220712, rtmpdump 2.4
[debug] Optional libraries: Cryptodome-3.15.0, brotli-1.0.9, certifi-2022.06.15, mutagen-1.45.1, secretstorage-2.3.1, sqlite3-2.6.0, websockets-10.3
[Cookies] Extracting cookies from firefox
[debug] Extracting cookies from: "/home/amish/.mozilla/firefox/ckczlffq.default-release/cookies.sqlite"
[Cookies] Extracted 442 cookies from firefox
[debug] Proxy map: {}
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2022.08.19, Current version: 2022.08.19
yt-dlp is up to date (2022.08.19)
[debug] [RTBF] Extracting URL: https://www.rtbf.be/auvio/detail_jt-13h?id=2930255
[RTBF] 2930255: Downloading webpage
[RTBF] 2930255: Downloading JSON metadata
[RTBF] 2930255: Downloading JSON metadata
[RTBF] 2930255: Downloading JSON metadata
[RTBF] 2930255: Downloading MPD manifest
[RTBF] 2930255: Downloading m3u8 information
[RTBF] 2930255: Downloading ISM manifest
[debug] Sort order given by extractor: res, proto
[debug] Formats sorted by: hasvid, ie_pref, res, proto, lang, quality, fps, hdr:12(7), vcodec:vp9.2(10), channels, acodec, filesize, fs_approx, tbr, vbr, abr, asr, vext, aext, hasaud, source, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] 2930255: Downloading 1 format(s): 5642+130
[debug] Invoking hlsnative downloader on "https://C9851Ec-az-westeurope.fsly.cdn.ebsd.ericsson.net/rtbf/auvio/assets/2930255_6BA97Bb/materials/LN9ou9ekAY_6BA97Bb/vod-idx.ism/vod-idx-video=5200000.m3u8"
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 319
[download] Destination: 19.08.2022 [2930255].f5642.mp4
[download]   1.3% of ~1.15GiB at    2.97MiB/s ETA 06:29 (frag 4/319)

https://github.com/ytdl-org/youtube-dl/issues/31114#issuecomment-1220299096

@Ottaviocr If you want, I could look into this if you can send me your credentials. This is my email<EMAIL_ADDRESS>And by the way, what distro are you using?

My apologies. I have used the wrong example. Try this:

$ yt-dlp https://www.rtbf.be/auvio/detail_crimes-et-indices?id=2929840
[RTBF] 2929840: Downloading webpage
ERROR: [RTBF] 2929840: This video is only available for registered users. Use --cookies, --cookies-from-browser, --username and --password, or --netrc (rtbf) to provide account credentials

 ## This is current binary

 $ yt-dlp https://www.rtbf.be/auvio/detail_crimes-et-indices?id=2929840 --cookies-from-browser firefox -v
[debug] Command-line config: ['https://www.rtbf.be/auvio/detail_crimes-et-indices?id=2929840', '--cookies-from-browser', 'firefox', '-v']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.08.19 [48c88e0] (zip)
[debug] Python 3.9.2 (CPython 64bit) - Linux-5.18.0-0.bpo.1-amd64-x86_64-with-glibc2.33 (glibc 2.33)
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 5.0-static (setts), ffprobe 5.0-static
[debug] Optional libraries: Cryptodome-3.9.7, brotli-1.0.9, certifi-2020.06.20, mutagen-1.45.1, sqlite3-2.6.0, websockets-10.3
[Cookies] Extracting cookies from firefox
[debug] Extracting cookies from: "/home/oc/.mozilla/firefox/i0z6z7rn.default/cookies.sqlite"
[Cookies] Extracted 293 cookies from firefox
[debug] Proxy map: {}
[debug] [RTBF] Extracting URL: https://www.rtbf.be/auvio/detail_crimes-et-indices?id=2929840
[RTBF] 2929840: Downloading webpage
[RTBF] 2929840: Downloading JSON metadata
ERROR: 2929840: An extractor error has occurred. (caused by KeyError('id_token')); please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
  File "/usr/local/bin/yt-dlp/yt_dlp/extractor/common.py", line 666, in extract
    ie_result = self._real_extract(url)
  File "/usr/local/bin/yt-dlp/yt_dlp/extractor/redbee.py", line 364, in _real_extract
    fmts, subs = self._get_formats_and_subtitles(url, f'live_{media_id}' if is_live else media_id)
  File "/usr/local/bin/yt-dlp/yt_dlp/extractor/redbee.py", line 258, in _get_formats_and_subtitles
    session_jwt = self._download_json(
KeyError: 'id_token'

## This is an old  binary

 $ ~/test/yt-dlp_linux-2<IP_ADDRESS>  https://www.rtbf.be/auvio/detail_crimes-et-indices?id=2929840 --cookies-from-browser firefox -v
[debug] Command-line config: ['https://www.rtbf.be/auvio/detail_crimes-et-indices?id=2929840', '--cookies-from-browser', 'firefox', '-v']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2<IP_ADDRESS> [a86e01e] (linux_exe)
[debug] Python version 3.10.5 (CPython 64bit) - Linux-5.18.0-0.bpo.1-amd64-x86_64-with-glibc2.33
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 5.0-static (setts), ffprobe 5.0-static
[debug] Optional libraries: Cryptodome-3.14.1, brotli-1.0.9, certifi-2022.06.15, mutagen-1.45.1, secretstorage-3.3.2, sqlite3-2.6.0, websockets-10.3
[Cookies] Extracting cookies from firefox
[debug] Extracting cookies from: "/home/oc/.mozilla/firefox/i0z6z7rn.default/cookies.sqlite"
[Cookies] Extracted 293 cookies from firefox
[debug] Proxy map: {}
[debug] [RTBF] Extracting URL: https://www.rtbf.be/auvio/detail_crimes-et-indices?id=2929840
[RTBF] 2929840: Downloading webpage
ERROR: [RTBF] 2929840: No video formats found!; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
Traceback (most recent call last):
  File "yt_dlp/YoutubeDL.py", line 1427, in wrapper
  File "yt_dlp/YoutubeDL.py", line 1511, in __extract_info
  File "yt_dlp/YoutubeDL.py", line 1568, in process_ie_result
  File "yt_dlp/YoutubeDL.py", line 2448, in process_video_result
  File "yt_dlp/YoutubeDL.py", line 1000, in raise_no_formats
yt_dlp.utils.ExtractorError: [RTBF] 2929840: No video formats found!; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U

</pre.

@Ottaviocr If you want, I could look into this if you can send me your credentials.

Check your inbox.

When is this going to show up in master? My latest binary is still at 2022.08.19.
$ yt-dlp -vU
[debug] Command-line config: ['-vU']
[debug] Encodings: locale UTF-8, fs utf-8, pref UTF-8, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.08.19 [48c88e0] (zip)
[debug] Python 3.9.2 (CPython 64bit) - Linux-5.18.0-0.bpo.1-amd64-x86_64-with-glibc2.33 (glibc 2.33)
[debug] Checking exe version: ffmpeg -bsfs
[debug] Checking exe version: ffprobe -bsfs
[debug] exe versions: ffmpeg 5.0-static (setts), ffprobe 5.0-static
[debug] Optional libraries: Cryptodome-3.9.7, brotli-1.0.9, certifi-2020.06.20, mutagen-1.45.1, sqlite3-2.6.0, websockets-10.3
[debug] Proxy map: {}
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version: 2022.08.19, Current version: 2022.08.19
yt-dlp is up to date (2022.08.19)

Latest update to 2022.09.01 fixes it. Thanks.

pukkandan I'm buffled because I definitely used to use "--cookies-from-browser firefox" for RTBF videos with previous builds, on condition that they were not DRM videos, in which case it obviously didn't work. But the JT 13H is not DRM protected.

@Ottaviocr JT 13h seems DRM protected now :-/


Ubuntu: remove PPA, use native packages

Fix #108

Test on 16.04, 18.04, 20.04

The uninstall function is affected too.
https://github.com/angristan/wireguard-install/blob/2363b36735c2992476bb60f3f7253fd2d17a216b/wireguard-install.sh#L345-L349

Good catch thanks


rustc: 1.25.0 -> 1.26.1

Warning: I probably did this completely incorrectly. Please check extra carefully.
One test fails when trying to build this locally, but it looks unrelated.

Yup, that's the error I got. Test code I can't really see how NixOS would affect this however... Lemme google around

Maybe we could disable hardening flags for the tests?

hardeningDisable=all

I'm not entirely sure how to disable hardening for only tests... but hopefully I did it correctly now.

@Mic92 should this go to staging?

@xeji I would say yes, but staging is in a pretty bad spot right now.
I'll try to take a look at the darwin failure tomorrow.

I should also run a test build on aarch64 before we merge. I also would like to see the tcp test we have disabled to be disabled again to avoid random hydra build failures.

wrong button

The x86 tests on macOS fail in this example: https://github.com/rust-lang-nursery/stdsimd/blob/master/coresimd/x86/mod.rs#L36

I have re-patched the tests on darwin now :)
As for the error, I'm really not sure. According to your stack trace the commands didn't leave any sort of error in STDIN/STDOUT...

@LnL7 probably take a look at the macOS error later.

Any progress on this?

I somebody able to compile this snippet on macOS?
    /// # #![feature(stdsimd, mmx_target_feature)]
    /// # #![cfg_attr(not(dox), no_std)]
    /// # #[cfg(not(dox))]
    /// # extern crate std as real_std;
    /// # #[cfg(not(dox))]
    /// # #[macro_use]
    /// # extern crate stdsimd as std;
    /// #[cfg(target_arch = "x86")]
    /// use std::arch::x86::*;
    /// #[cfg(target_arch = "x86_64")]
    /// use std::arch::x86_64::*;
    ///
    /// # fn main() {
    /// # #[target_feature(enable = "mmx")]
    /// # unsafe fn foo() {
    /// let all_bytes_zero = _mm_setzero_si64();
    /// let all_bytes_one = _mm_set1_pi8(1);
    /// let two_i32 = _mm_set_pi32(1, 2);
    /// # }
    /// # if is_x86_feature_detected!("mmx") { unsafe { foo() } }
/// # }

Exactly the same snippet but formatted:
#![feature(stdsimd, mmx_target_feature)]
#![cfg_attr(not(dox), no_std)]

#[cfg(not(dox))]
extern crate std as real_std;

#[cfg(not(dox))]
#[macro_use]
extern crate stdsimd as std;

#[cfg(target_arch = "x86")]    use std::arch::x86::*;
#[cfg(target_arch = "x86_64")] use std::arch::x86_64::*;

fn main() {
    #[target_feature(enable = "mmx")]
    unsafe fn foo() {
        let all_bytes_zero = _mm_setzero_si64();
        let all_bytes_one = _mm_set1_pi8(1);
        let two_i32 = _mm_set_pi32(1, 2);
    }

    if is_x86_feature_detected!("mmx") {
        unsafe { foo() }
    }
}

@LnL7 should we disable this failing test case on darwin?

I'll upgrade this to rustc 1.26.1 tomorrow

@Mic92 Sorry for putting this off. Maybe this is relevant, I've seen darwin builds do i686 stuff before https://github.com/rust-lang/rust/issues/50988.

tests were disabled on darwin in https://github.com/NixOS/nixpkgs/commit/332b9dedc87b364a652c80aca675cd5282268519

Deleted all test patches

@Mic92 That snippet fails like this, I'm going to assume it's fine to disable the doctest.
error[E0463]: can't find crate for `std`
 --> foo.rs:7:1
  |
7 | extern crate stdsimd as std;
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ can't find crate

error: aborting due to previous error

@LnL7 did you had stdsimd in your Cargo.toml in this case?

I started my x86_64 test build again...

@Mic92 That fails like this, but also isn't using the version from the compiler.
14 | / #![feature(const_fn, link_llvm_intrinsics, platform_intrinsics, repr_simd,
15 | |            simd_ffi, target_feature, cfg_target_feature, i128_type, asm,
16 | |            const_atomic_usize_new, stmt_expr_attributes, core_intrinsics,
17 | |            crate_in_paths)]
   | |___________________________^

Nice, thanks for taking care of this!

Sorry for the delay, I'm running another build with my last changes. I will merge if that didn't break anything.

The x86_64 build went successfully (before you applied the patch, but disabling test should not change anything). I will start the arm64 build now.

the bootstrap tarball on aarch64 currently comes without rust-docs installed.
This is a known upstream issue: https://github.com/rust-lang/rust/issues/49462
I will try to disable rust-docs for the meantime.
unpacking sources
unpacking source archive /nix/store/fs08qminsi7ipkcjgpvfrvi7g3s27q73-rust-1.26.0-aarch64-unknown-linux-gnu.tar.gz
source root is rust-1.26.0-aarch64-unknown-linux-gnu
setting SOURCE_DATE_EPOCH to timestamp<PHONE_NUMBER> of file rust-1.26.0-aarch64-unknown-linux-gnu/version
patching sources
patching script interpreter paths in .
./install.sh: interpreter directive changed from "/bin/bash" to "/nix/store/9rv2bzx7jz6wjbaxij5qq580qvzksj4i-bash-4.4-p19/bin/bash"
./rustc/bin/rust-lldb: interpreter directive changed from "/bin/sh" to "/nix/store/9rv2bzx7jz6wjbaxij5qq580qvzksj4i-bash-4.4-p19/bin/sh"
./rustc/bin/rust-gdb: interpreter directive changed from "/bin/sh" to "/nix/store/9rv2bzx7jz6wjbaxij5qq580qvzksj4i-bash-4.4-p19/bin/sh"
updateAutotoolsGnuConfigScriptsPhase
configuring
no configure script, doing nothing
building
no Makefile, doing nothing
installing
install: error: unknown component: rust-docs
builder for '/nix/store/8xggc19aqp363scx8jrbq9hvy6gxm46d-rustc-bootstrap-1.26.0.drv' failed with exit code 1
cannot build derivation '/nix/store/zrccpaafc578109r1bxbplbssynq3384-cargo-1.26.1.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/5y07wm6s1xlrzs978k5kgk6lxv1j84r0-rustc-1.26.1.drv': 1 dependencies couldn't be built
cannot build derivation '/nix/store/1nvs4asig6i16m9x892w14ig8gypq8kb-ripgrep-0.8.1.drv': 1 dependencies couldn't be built
error: build of '/nix/store/1nvs4asig6i16m9x892w14ig8gypq8kb-ripgrep-0.8.1.drv' failed

Probably we can disable rust-docs for all targets, if it is not needed for bootstrapping.

The following fixed the rust build on aarch64:
diff --git a/pkgs/development/compilers/rust/binaryBuild.nix b/pkgs/development/compilers/rust/binaryBuild.nix
index 1904c12dfdc..849917c4a0c 100644
--- a/pkgs/development/compilers/rust/binaryBuild.nix
+++ b/pkgs/development/compilers/rust/binaryBuild.nix
@@ -14,7 +14,7 @@ let
   installComponents
     = "rustc,rust-std-${platform}"
-    + (optionalString bootstrapping ",rust-docs,cargo")
+    + (optionalString bootstrapping ",cargo")
     ;
 in

Oh right, that makes sense, I saw some issue with rustup some time ago that was because of broken rust docs for certain platforms or something. Might be something similar here!

I also started yet another build for both x86_64 and arm64 linux.

I already tested x86

rustc failed on x86_64-linux on Hydra (https://hydra.nixos.org/build/75678845):
thread '<unnamed>' panicked at 'output doesn't contain `RUN_TEST_NEW_ENV2=456`
…
test process::tests::test_inherit_env ... FAILED
…
test result: FAILED. 767 passed; 1 failed; 2 ignored; 0 measured; 0 filtered out

@Mic92 had noted that rustc 1.25 was failing at the same test test_inherit_env (https://hydra.nixos.org/build/74824788).

https://github.com/Mic92/nixpkgs/commit/54ef19a333cf58171a4e133737c05def3db10c95 will disable it.

now also pushed to master: https://github.com/NixOS/nixpkgs/commit/47529594e4dbc02ab31d30df608bff0cc991b869

It looks like this Rust bug: https://github.com/rust-lang/rust/pull/42795. I have reported that it was not fixed: https://github.com/rust-lang/rust/pull/42795#issuecomment-395741623

@Mic92 btw. we should probably also send rust to staging next time, the rebuild count is getting pretty large now.


🐛 BUG: not work with @mui/material ( @material-ui v5 )

Quick checklist

[X] I am using the latest version of Snowpack and all plugins.

What package manager are you using?
yarn
What operating system are you using?
macOS, Linux
Describe the bug
a strange error when snowpack dev whith @mui/material (or @material-ui/core v5)
my app.tsx like:
import { h } from 'preact';
import './App.css';
// import { useState, useEffect } from 'preact/hooks';
// import logo from './logo.svg';
// import { makeStyles } from '@mui/styles';
// import { ThemeProvider } from '@mui/material/styles';
import { Button } from '@mui/material';

function App() {
  return (
    <Button>Hello !</Button>
  )
}

i got error message
The requested module<EMAIL_ADDRESS>does not provide an export named 'SliderMark'
check this file
node_modules/.cache/snowpack/build/@mui/material<EMAIL_ADDRESS>MUI components export from '@mui/core/ModalUnstyled'  😱
export {  SliderMark,  SliderMarkLabel,  SliderRail, ................ } from '@mui/core/ModalUnstyled';

is that a esbuild bug ?
i can fix it with
import Button from '@mui/material/Button';

Steps to reproduce

npx create-snowpack-app using template app-template-preact-typescript
yarn add @mui/material @emotion/react @emotion/styled
add @mui component to App.tsx import { Typography } from "@mui/material"
yarn start
error: The requested module<EMAIL_ADDRESS>does not provide an export named 'SliderMark'

Link to minimal reproducible example (optional)
No response

I also still have this problem? Why it's not working??
Uncaught SyntaxError: The requested module<EMAIL_ADDRESS>does not provide an export named 'SliderMark'

I also still have this problem? Why it's not working??
Uncaught SyntaxError: The requested module<EMAIL_ADDRESS>does not provide an export named 'SliderMark'

I think this is caused by "circular references"
i can fix it now ↓
edit<EMAIL_ADDRESS>// import ModalUnstyled, { modalUnstyledClasses } from '@mui/core/ModalUnstyled';
import { ModalUnstyled, modalUnstyledClasses } from '@mui/core';

and<EMAIL_ADDRESS>// export * from '@mui/core/ModalUnstyled';
export { ModalUnstyled, ModalManager, modalUnstyledClasses, getModalUtilityClass } from '@mui/core';

and clean cache
rm -rf node_modules/.cache

I can confirm @TongChia worked for me on 3.8.8.

Simple way to solve the problem :
in my code ↓
// import Modal from '@mui/material/Modal';
import Modal from '@mui/material/Modal/Modal';   // skip index  😄

snowpack version 3.8.8
reference:
https://github.com/TongChia/Caddy-Proxy-Manager/blob/fafdca9a2ece008de4ea01f947867ae34d08ee6b/src/components/MyDialog.tsx#L2

I had a similar issue here with Snowpack 3.8.8 the error I was getting was:
Error: Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: object.
Check the render method of `ForwardRef(Modal)`.

But as it was showing up when importing Select, I just replaced
import Select from '@mui/material/Select' with import Select from '@mui/material/Select/Select'
Not an ideal solution and I noticed a bit of visual degradation using the component that way, but one can always manually tweak a few styles or include missing classes directly.


No Glossary support?

I have sent https://github.com/bounoable/deepl/pull/4 which adds support for managing glossaries. Please let me know if that code works for your use-case (it works in my testing so far).


scio 0.5.6

@danielnorberg @honnix can I have Circle CI on this PR?

Strange. It seems @danielnorberg did something to fix circleci already. No idea why there is none for this PR.

We still have a users on 0.5.5. I believe users can use 0.5.6 without this change.

Right. This PR might not be very important.
But internally on the scio monorepo there isn't support for scio 0.5.5 anymore, only 0.5.6. I think it is desirable to align all these repos on scio 0.5.6 (desirable, not urgent, not sure if important yet).


Strip background colours when we reset foreground

The IRC message \x03,03test represents resetting foreground colour, following by setting a background colour. This currently wasn't correctly stripped in ZNC's StripControls.
I've also added test coverage for the rest of StripControls.

Coverage increased (+0.1%) to 39.964% when pulling cc674b28e80da9f04624fe29b4b23f0fd9b04629 on kylef:kylef/strip-resetfg-bg into ddec5c27bacb934bf720fd9c0db89cc3fdcb2e29 on znc:master.

:+1:


Dataset hours, minutes & seconds

I wanted to say this library looks great and almost perfect for my needs.
The only thing I need is the ability to post events that are hours/minutes/seconds long. I was wondering if it was possible to do this, as I see you can set interval? I'm thinking something like this:
"data": [
["2016-01-01 12:00:00", 1, "2016-01-01 13:00:00"],
["2016-01-01 14:22:51", 1, "2016-01-01 16:14:12"],
["2016-01-01 08:30:00", 1, "2016-01-01 09:00:00"]
]
Thanks and again great job!

Hi @piemasters, I am glad that you like the library and you are interested in using it. Thanks!
I think that being able to use times and not only dates would be a great addition. I will look into this and keep you updated here.

Hey @piemasters, I just implemented the feature you requested. Check out the example at https://github.com/flrs/visavail/blob/master/examples/example_dates_and_times.htm.

This is perfect thank you so much! :)


Update testing-library related npm package names in README

A minor name change, jest-dom has also been moved to @testing-library.

@iansu @amyrlam

Thanks!


Add process guide

A new guide for the @effection/process package

Can we add a link in this guide to the @effection/process package / API?

This does seem like a good idea. Although, our API docs, while publishing are not well filled out. Still, incomplete information is better than none.

Merging this now as is. Let's fill out the section on streams once we have made the necessary improvements to them.


imposed master branch

@Gazler Where deemed suitable, I added a line system "git branch -m master" and lightly edited the description of the tasks in levels 2 up and including 55.  As a result, the locally build rubygem and its locally installed executable works regardless that my ~/.gitconfig includes an entry of
[init]
	defaultBranch = main

Can you please have a look on this?  To ease the revision by a second party, edits to each level are intentionally retained in its own commit.

Level 28/push however is somewhat odd.  Because I can run
$ git pull
hint: You have divergent branches and need to specify how to reconcile them.
hint: You can do so by running one of the following commands sometime before
hint: your next pull:
hint:
hint:   git config pull.rebase false  # merge
hint:   git config pull.rebase true   # rebase
hint:   git config pull.ff only       # fast-forward only
hint:
hint: You can replace "git config" with "git config --global" to set a default
hint: preference for all repositories. You can also pass --rebase, --no-rebase,
hint: or --ff-only on the command line to override the configured default per
hint: invocation.
$ git config pull.rebase true
$ git pull
Successfully rebased and updated refs/heads/master.
$ git push
Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 4 threads
Compressing objects: 100% (6/6), done.
Writing objects: 100% (6/6), 600 bytes | 600.00 KiB/s, done.
Total 6 (delta 2), reused 0 (delta 0), pack-reused 0
To /tmp/d20240421-13523-hc2e0e/.git
   177f11e..934c868  master -> master
$
$ githug
********************************************************************************
*                                    Githug                                    *
********************************************************************************
Congratulations, you have solved the level!

though the commits just prior to the push likely are not in the sequence the initial design of this question aims for.  I would accept if I'm wrong on this point.

I'm not yet comfortable to test the quizz of level 50 / stage_lines; however, because this is a git technique so far not used.  It is a bit beyond resolving merge conflicts I usually resolve with git mergetool.

This looks good. I was initially curious as to why this wasn't in repo.init or init_from_level but it looks like it doesn't always apply at the start of the level setup.
By the way, for the stage_lines level, you want to use git add -p :)

«Hunk editing» is a thing I'm not yet confident in; thus the particular note to have the corresponding quiz be checked by someone who is.
One incentive for me to see githug working regardless of the entry of ~.gitignore file is that is serves like a test pad to memorize git.  A bit like Anki flash cards, but with the advantage that one can issue other commands prior/after «the real command» the quiz is after to monitor the state and change of the git repository.  This is more than «only» check e.g., if one knows the equivalent of for instance English «blue» as French «bleu» while learning a natural language.
Eventually, the slight modification by the lines of git branch -m master would allow to mark a couple of issues filed as resolved, and submit a new version to rubygems (including an explicit entry about the MIT license of the project, as suggested in PR #346).
grit which currently is used as interface between Ruby and grit is stated as no longer maintained (ref).  A transition to libgit2/rugged (entry on rubygems) hence might be a next leap to consider for the over next version of githug i.e., 0.7.0.  An increased visibility of githug in general as well as attracting help for this transition could be achieved for instance if it were packaged for Debian.  As I did this for syntax checker markdownlint (relevant thread), were you be comfortable if a) I would do this after your release of githug 0.6.0 to rubygems while indicating b) you as the upstream-contact to Debian?

I haven't forgotten about this btw. It looks good, I just need to confirm about the push level. I think it should be fine just looking at the code and tests, but need to double check.

The work wasn't done in a single session (there are a few commits to adjust
the same .rb file again a couple of days later once again, too).  Backed by
this experience, I easily understand the review will take some time.

Thanks so much for this <3


If the value is not number ChangeContext returns value as NaN

I am binding time (ex: "08:00") as value. It works perfectly in the view. But when I am trying to get the selected values using onUserChangeEnd() . value return as null
Returns This
ChangeContext {pointerType: 1, value: NaN, highValue: NaN} @piotrdz

It's my bad there are enough examples to this great component. I was able to figure it out while going through the examples.

Only numeric values are supported as inputs, but I'm glad you found a solution that works for you.


[3.x] Add more tests and expose interface for singleton

What's in this PR?
Add more tests and expose the interface for the client of singleton to use.

Oh, I didn't added test for this folder before.

But do you know it says that we don't have tests covered? Since we are adding tests for the interface in this PR?

But do you know it says that we don't have tests covered? Since we are adding tests for the interface in this PR?

Suspend one. Well, I wouldn't worried about it.


Local-scoped components

Hello! First of all, thanks so much for building this project. I've always wanted to have this kind of template in Ruby/Rails, and it's amazing to see this library implementing it.
I'm currently evaluating using it in a personal project, but one feature that I couldn't find in Rbexy and that I think is very interesting is the ability to define local-scoped components, just like React allows you to define multiple function components in a file, and like Phoenix LiveView also allows doing with functional components.
Sometimes, a component, or a view, is made of smaller subcomponents that are not supposed to be global throughout the application. Global components promote reusability, but lots of times a component is not meant to be reusable. The issues I think we have with everything being global by default are:

We need to be more careful to avoid name clashes, and sometimes create very specific namespaces

Too many files for defining a component, and lots of indirection and jumping around

Global components promote reusability and sometimes making something reusable/abstracted too soon results in a complex component that addresses too many use cases (by receiving different options). Early abstractions are often bad.

Allowing multiple components to be defined in a single file and making them locally scoped would help address those points. I think this would require allowing the template to be defined inside the ruby file itself, which also has some challenges around code highlighting.
What do you think of the idea? Is this something that was already considered in the development of Rbexy?

@guisehn Hey! This is a great idea. I think this is more-or-less already doable in a couple of different ways, but perhaps could have some syntactic sugar added to make it a little nicer to do so:
Option 1: namespaced component classes
class RootComponent < Rbexy::Component
  class SubComponent < Rbexy::Component
  end
end

Templates would be root_component.rbx and root_component/sub_component.rbx
Technically SubComponent is still globally available as <RootComponent.Sub /> but I think the naming being within the RootComponent namespace makes the intention clear.
Option 2: manually render sub-templates
class RootComponent < Rbexy::Component
  def sub
    Rbexy.evaluate("
Some sub-template here
", self)
  end
end

And in root_component.rbx template:

Root component

  {sub}

You could use a heredoc for longer templates:
class RootComponent < Rbexy::Component
  def sub
    Rbexy.evaluate(<<-RBX, self)

Some more complicated template here

    RBX
  end
end

I haven't tested any of this but I think it's all possible. Curious to hear your thoughts.


YAML::SerializableError to distinguish deserialization failures from invalid YAML

There is JSON::SerializableError:
require "json"
require "yaml"

struct Foo
  include JSON::Serializable
  include YAML::Serializable

  @x : Int32
end

begin
  Foo.from_json("{")
rescue ex
  p ex # => #<JSON::ParseException:Unexpected token: <EOF> at line 1, column 2>
end

begin
  Foo.from_json("{}")
rescue ex
  p ex # => #<JSON::SerializableError:Missing JSON attribute: x
       #      parsing Foo at line 1, column 1>
end

but not YAML::SerializableError:
begin
  Foo.from_yaml("{")
rescue ex
  p ex # => #<YAML::ParseException:did not find expected node content at line 2, column 1, while parsing a flow node at line 2, column 1>
end

begin
  Foo.from_yaml("{}")
rescue ex
  p ex # => #<YAML::ParseException:Missing YAML attribute: x at line 1, column 1>
end

It is useful to distinguish the two modes of failure, because SerializableError means the document is still valid and can be passed to JSON.parse / YAML.parse without errors, only that a given type fails to deserialize it.
Related: #11639

I'm wondering whether it might more sense to have a generic SerializationError instead of individual error classes for every serialization type.
Unless there are error properties specific to the serialization format, there really shouldn't be much difference between serialization errors. In that case you could still inherit a specific subclass of SerializationError.
It's a bit complicate though that JSON::SerializableError inherits from JSON::ParseException. I don't think that is a good hierarchy.  Semantic and syntactic errors should be separate.

It's a bit complicate though that JSON::SerializableError inherits from JSON::ParseException. I don't think that is a good hierarchy. Semantic and syntactic errors should be separate.

I was thinking the same, regardless of whether we want to introduce generic SerializationError these should be kept separate.

Also, there's already an implementation proposal at  #9274

Going one step further, syntax errors should also be distinct from what is now called JSON::ParseException when a client calls a method like JSON::PullParser#read_string; that in itself does not imply a syntax error, because the current token could be just another scalar. (I don't know about the YAML equivalent because YAML::PullParser is not directly used in deserialization methods.)


link to galaxy page from readme

Fixes: https://github.com/operator-framework/operator-sdk-ansible-util/issues/3

/lgtm


Screen design for lightcrafter projector

There's a picture available of a screen design for the TI lightcrafter projector; is there an accompanying PDF of the design that can be released?

Hi,
While I have not yet redesigned the backprojection to use the lightcrafter by default, I have designed some adaptor pieces that can be attached to the existing design to reposition the mirrors to the appropriate positions and angles for the Ti lightcrafter 2010. These pieces can be lasercut from the same 1/4 inch acylic that is used for the rest of the back projection assembly. We've tested it and it looks good to us. I will upload these designs with some instructions within the next day or so.

Hi,
While I have not yet redesigned the backprojection to use the lightcrafter by default, I have designed some adaptor pieces that can be attached to the existing design to reposition the mirrors to the appropriate positions and angles for the Ti lightcrafter 2010. These pieces can be lasercut from the same 1/4 inch acylic that is used for the rest of the back projection assembly. We've tested it and it looks good to us. I will upload these designs with some instructions within the next day or so.

Thank you! And just to clarify, is this for the TI DLP 3010 as recommended in the instructions or the TI lightcrafter 2010? The latter also appears to potentially not be available for purchase through TI.

I'm afraid this is for the 2010, not the 3010 (athough that has been used successfully by another group). I'm not sure what the throw and elevation is on the 3010

I'm sorry to see that TI might be discontinuing the 2010. I will look into this and see if there is a suitable replacement and ask about the lifecycle of the other lightcrafter EVMs.  For now I will not upload the 2010 designs, as I would rather arrive at a more sustainable long-term solution. email me if you'd like them anyway.

 We'd still appreciate the 2010 design and I'm
curious whether the Italian group who used the DLP3010 might have sent a
design? If so we might try to implement their approach.
Sincerely,
-Anish
On Thu, Jul 29, 2021 at 1:54 PM Noah Pettit @.***>
wrote:

I'm sorry to see that TI might be discontinuing the 2010. I will look into
this and see if there is a suitable replacement and ask about the lifecycle
of the other lightcrafter EVMs. For now I will not upload the 2010 designs,
as I would rather arrive at a more sustainable long-term solution. email me
if you'd like them anyway.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/HarveyLab/mouseVR/issues/7#issuecomment-889449628,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ANAU5VYDQS34AYYYCO3ZYDLT2G5Y5ANCNFSM5BG54RXA
.


Put a timer for quizzes

Currently there are no time-limit for the quizzes listed. Adding a time limit would be a great feature.

Take time duration while adding a new quiz.
Timer should be running in header of the exam dashboard.
Alert when last 2 mins are left.

Hey @vinitshahdeo. I would like to work on this issue as part of hacktoberfest. Could you assign this to me?

I would like to work on this please assign this to me @vinitshahdeo

created pull request with a swift timer solution based on user session.
Please see PR #3


pkgs/os-specific: stdenv.lib -> lib

Motivation for this change
Pending merge of #109455
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

this shouldn't be causing any rebuilds...

this shouldn't be causing any rebuilds...

@jonringer The reason why might be because of whitespace changes.

@jonringer The reason why might be because of whitespace changes.

ah that makes sense, and it's unfortunate.
If saw rebuilds: 0, then it makes it easier to merge as there's almost no risk in breaking something.... and the linting gate can just be bypassed.

ah that makes sense, and it's unfortunate.
If saw rebuilds: 0, then it makes it easier to merge as there's almost no risk in breaking something.... and the linting gate can just be bypassed.

@jonringer The reason why might be because of whitespace changes.

Seems there is a whitespace change here: https://github.com/NixOS/nixpkgs/pull/109490/files#diff-0e2f4255d92df895a1e001d696295864233cb319f2aa78aa10654efef9ef1663L33-R33

@jonringer The reason why might be because of whitespace changes.

Seems there is a whitespace change here: https://github.com/NixOS/nixpkgs/pull/109490/files#diff-0e2f4255d92df895a1e001d696295864233cb319f2aa78aa10654efef9ef1663L33-R33

@prusnak but that whitespace change is in the longDescription which shouldn't affect the hash.

@prusnak but that whitespace change is in the longDescription which shouldn't affect the hash.

OK, TIL. There is another whitespaces change in pkgs/os-specific/darwin/apple-source-releases/text_cmds/default.nix in patchPhase. Maybe that explains why there is no rebuild on linux, but there is on darwin.

OK, TIL. There is another whitespaces change in pkgs/os-specific/darwin/apple-source-releases/text_cmds/default.nix in patchPhase. Maybe that explains why there is no rebuild on linux, but there is on darwin.

@prusnak Thanks, that made rebuilds go to 0.
@SuperSandro2000 pending one last ofborg CI check.

@prusnak Thanks, that made rebuilds go to 0.
@SuperSandro2000 pending one last ofborg CI check.


Differences vs pytest?

"The API mirrors @pytest... as much as possible"
What are the main differences in this and pytests parameterize? Do we lose/gain any functionality?

I think you'll find it's basically the same. I don't really have the time to write a comparison section, but I'd be open to a PR with one. Maybe an LLM fed with both documentation pages can produce a reasonable comparison?


Calculator for checking whether vector are parallel or not

Proposal
I would like to add a Calculator for checking whether vector are parallel or not  under vector section.
Please assign this issue to me.
(A clear and concise description of what the proposal is.)

i like to work on it


[WFLY-12558] See if allowing reconnect attempts solves the intermitte…

…nt setup problem with TCPSyslogAuditLogTestCase
https://issues.jboss.org/browse/WFLY-12558
See if letting the test setup be more patient about connecting solves this problem.

retest this please


Simplify tests

Closes #61

Codecov Report

Merging #65 (6c3938c) into main (a34ecd7) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main       #65   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           66        66
  Lines         4309      4309
=========================================
  Hits          4309      4309

Continue to review full report at Codecov.

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


[feature](txn insert) txn insert support insert into select

Proposed changes
Transaction insert support:
begin;
insert into t1 select ...;
insert into t2 select ...;
commit;

Limit:

Now we only support insert into different tables.
insert into select and insert into values can be used at one transaction.

Will support in later pr.
Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall

run buildall

run buildall

run p0


Performance report must indicate levee

We need to figure out a way to demonstrate to the user that the threshold is based on a levee. I think this can take place within the model as a new threshold type. I'd actually do two: with and without fragility. @codymccoy if I add threshold types in the threshold type enum and handle it appropriately in the model, is there anything you'll need to do?

Sounds good. I think this is the enum you are talking about:

This is the threshold type and the 7 references to it at the bottom:

Maybe some of those references would need to be updated to use the new enum?
"a way to demonstrate to the user" - Not sure what that looks like.

I’ll take a look this weekend. Thanks @codymccoy


Right click on a Grids' Context Menu opens Browser's Context menu

Navigate to Hoist React Toolbox -> 'Grids > Standard' panel
Select and Right Click on a row
Grids Specific Context Menu list is displayed
Right Click on a control from the dropdown list
Browser's default context menu is displayed

Can you take a look at this one Brendan.  Definitely a bit annoying....

See #1081

@haynesjm42, @amcclain for your review.  As I mentioned in the PR, happy to close this one.

I am of the opinion that this is an ag-grid bug, if anything. Would vote for closing.

ag-Grid Bug.  If we had a clean way to fix it for them, we would, but this does not seem worth it.


[PG-16] Result-relation RTE has no permissions info associated. How to change that?

We are trying to upgrade AGE to Postgres version 16. One of the main problems that we are facing is that the code was reworked to update the permission checking and now some of the queries return ERROR: invalid perminfoindex <rte->perminfoindex> in RTE with relid <rte->relid>. This occurs due to one of the RTEs having perminfoindex = 0 and the relid containing a value.
When we do a simple MATCH query to find all nodes with the v label:
SELECT * FROM cypher('cypher_set', $$
MATCH (n:v)
RETURN n
$$) AS (node agtype);

inside the add_rtes_to_flat_rtable() function, it goes inside a loop where we can see the stored RTEs in root->parse->rtable:
// I've simplified what every RTE shows.

root->parse->rtable
[
    (rtekind = RTE_SUBQUERY, relid =     0, perminfoindex = 0),
    (rtekind = RTE_SUBQUERY, relid =     0, perminfoindex = 0),
    (rtekind = RTE_SUBQUERY, relid =     0, perminfoindex = 0),
    (rtekind = RTE_RELATION, relid = 16991, perminfoindex = 1)
]

But executing the query with a simple SET clause:
SELECT * FROM cypher('cypher_set', $$
MATCH (n)
SET n.i = 3
$$) AS (a agtype);

One of the RTEs of the RTE_RELATION type and relid with a not null value has perminfoindex = 0
root->parse->rtable
[
    (rtekind = RTE_SUBQUERY, relid =     0, perminfoindex = 0),
    (rtekind = RTE_RELATION, relid = 16971, perminfoindex = 1),
    (rtekind = RTE_RELATION, relid = 16971, perminfoindex = 1),
    (rtekind = RTE_RELATION, relid = 16991, perminfoindex = 0)
]

The relid = 16991 is related to the child vertex label and the relid = 16971 related to the parent vertex label:
SELECT to_regclass('cypher_set._ag_label_vertex')::oid;
 to_regclass
-------------
       16971

SELECT to_regclass('cypher_set.v')::oid;
 to_regclass
-------------
       16991

Here is the back-trace of when the error occurs:
 3905                  elog(ERROR, "invalid perminfoindex %u in RTE with relid %u",
 (gdb) bt
 #0  getRTEPermissionInfo (rteperminfos=0x138a500, rte=0x138a6b0) at parse_relation.c:3905
 #1  0x0000000000676e29 in GetResultRTEPermissionInfo (relinfo=relinfo@entry=0x13b8f50, estate=estate@entry=0x138ce48)
     at execUtils.c:1412
 #2  0x0000000000677c30 in ExecGetUpdatedCols (relinfo=relinfo@entry=0x13b8f50, estate=estate@entry=0x138ce48)
     at execUtils.c:1321
 #3  0x0000000000677cd7 in ExecGetAllUpdatedCols (relinfo=relinfo@entry=0x13b8f50, estate=estate@entry=0x138ce48)
     at execUtils.c:1362
 #4  0x000000000066b9bf in ExecUpdateLockMode (estate=estate@entry=0x138ce48, relinfo=relinfo@entry=0x13b8f50) at execMain.c:2385
 #5  0x00007f197fb19a8d in update_entity_tuple (resultRelInfo=<optimized out>, resultRelInfo@entry=0x13b8f50,
     elemTupleSlot=elemTupleSlot@entry=0x13b9730, estate=estate@entry=0x138ce48, old_tuple=0x13bae80)
     at src/backend/executor/cypher_set.c:120
 #6  0x00007f197fb1a2ff in process_update_list (node=node@entry=0x138d0c8) at src/backend/executor/cypher_set.c:595
 #7  0x00007f197fb1a348 in process_all_tuples (node=node@entry=0x138d0c8) at src/backend/executor/cypher_set.c:212
 #8  0x00007f197fb1a455 in exec_cypher_set (node=0x138d0c8) at src/backend/executor/cypher_set.c:641

I have sent a few emails to pgsql-hackers about this, with the first email stating this issue.
I have received help from Tom Lane and Amit Langote, both pointed out that the result-relation RTE has no permissions info associated and that, when the p_rtable member of cpstate->pstate has any RTE_RELATION entries whilst p_rteperminfos being NIL, it is a bug (but from what I've checked, in the SET query it has a RTE_SUBQUERY).
Furthermore, Amit wrote in his latest response that he was suspecting more of a problem in the code that generates a ResultRelInfo pointing at the wrong RTE via its ri_RangeTableIndex. That code should perhaps set the ri_RangeTableIndex to 0 if it doesn't know the actual existing RTE corresponding to that result relation. If we set it to some non-0 value, the RTE that it points to should satisfy invariants such as having the corresponding RTEPermissionInfopresent in the rteperminfos list if necessary.
I've seen that there are some functions in AGE's code that deal with the ResultRelInfo struct, such as: transform_merge_cypher_node(), transform_merge_cypher_edge(), transform_create_cypher_new_node(), transform_create_cypher_existing_node(), and transform_create_cypher_edge(). However, when executing the SET query it doesn't trigger any of these functions that deal with ResultRelInfo.
If anyone with more experience with AGE's source code knows where this is done and how to change the ResultRelInfo in this case, I would be deeply grateful for any kind of help or advice.

I think I might have found a clue for this, sorta. In the GetResultRTEPermissionInfo function, the Index rti variable is storing 0, but actually it needs to get the the root parent's RTE to fetch the RTEPermissionInfo.
       if (relinfo->ri_RootResultRelInfo)
	{
		/*
		 * For inheritance child result relations (a partition routing target
		 * of an INSERT or a child UPDATE target), this returns the root
		 * parent's RTE to fetch the RTEPermissionInfo because that's the only
		 * one that has one assigned.
		 */
		rti = relinfo->ri_RootResultRelInfo->ri_RangeTableIndex;
	}

The relinfo contains:
{type = T_ResultRelInfo, ri_RangeTableIndex = 5, ri_RelationDesc = 0x7f44e3308cc8, ri_NumIndices = 0, ri_IndexRelationDescs = 0x0, ri_IndexRelationInfo = 0x0, ri_RowIdAttNo = 0,
  ri_extraUpdatedCols = 0x0, ri_projectNew = 0x0, ri_newTupleSlot = 0x0, ri_oldTupleSlot = 0x0, ri_projectNewInfoValid = false, ri_TrigDesc = 0x0, ri_TrigFunctions = 0x0,
  ri_TrigWhenExprs = 0x0, ri_TrigInstrument = 0x0, ri_ReturningSlot = 0x0, ri_TrigOldSlot = 0x0, ri_TrigNewSlot = 0x0, ri_FdwRoutine = 0x0, ri_FdwState = 0x0,
  ri_usesFdwDirectModify = false, ri_NumSlots = 0, ri_NumSlotsInitialized = 0, ri_BatchSize = 0, ri_Slots = 0x0, ri_PlanSlots = 0x0, ri_WithCheckOptions = 0x0,
  ri_WithCheckOptionExprs = 0x0, ri_ConstraintExprs = 0x0, ri_GeneratedExprsI = 0x0, ri_GeneratedExprsU = 0x0, ri_NumGeneratedNeededI = 0, ri_NumGeneratedNeededU = 0,
  ri_returningList = 0x0, ri_projectReturning = 0x0, ri_onConflictArbiterIndexes = 0x0, ri_onConflict = 0x0, ri_matchedMergeAction = 0x0, ri_notMatchedMergeAction = 0x0,
  ri_PartitionCheckExpr = 0x0, ri_ChildToRootMap = 0x0, ri_ChildToRootMapValid = false, ri_RootToChildMap = 0x0, ri_RootToChildMapValid = false, ri_RootResultRelInfo = 0x0,
  ri_PartitionTupleSlot = 0x0, ri_CopyMultiInsertBuffer = 0x0, ri_ancestorResultRels = 0x0}

And since relinfo->ri_RootResultRelInfo = 0x0, the rti will have no value and Postgres will interpret that the ResultRelInfo must've been created only for filtering triggers and the relation is not being inserted into (which is not the case). Therefore, this variable must contain a value somehow.

PostgreSQL defines the following for the ResultRelInfo struct's ri_RootResultRelInfo member:
       /*
	 * Information needed by tuple routing target relations
	 *
	 * RootResultRelInfo gives the target relation mentioned in the query, if
	 * it's a partitioned table. It is not set if the target relation
	 * mentioned in the query is an inherited table, nor when tuple routing is
	 * not needed.
	 *
	 * PartitionTupleSlot is non-NULL if RootToChild conversion is needed and
	 * the relation is a partition.
	 */
	struct ResultRelInfo *ri_RootResultRelInfo;
	TupleTableSlot *ri_PartitionTupleSlot;

We need the RootResultRelInfo member with some value, but postgres states that it is not to be set if the target relation mentioned in the query is an inherited table...
With further inspection, we can see that AGE initializes resultRelInfo with create_entity_result_rel_info(). This function then calls InitResultRelInfo(), which has a special comment there for the ri_RootResultRelInfo member:
	/*
	 * Only ExecInitPartitionInfo() and ExecInitPartitionDispatchInfo() pass
	 * non-NULL partition_root_rri.  For child relations that are part of the
	 * initial query rather than being dynamically added by tuple routing,
	 * this field is filled in ExecInitModifyTable().
	 */
	resultRelInfo->ri_RootResultRelInfo = partition_root_rri;

Maybe we should use ExecInitModifyTable()? Because the relation that we want to modify is the child relation from _ag_label_vertex. I just don't quite yet know how to use it, and I haven't found anywhere in the code that uses the  ModifyTableState struct, which is the return type of the function.

This issue has been fixed with this PR on another in-development branch. But now another error comes up ERROR: bad buffer ID: 0.

@MatheusFarias03 Is this still an issue?

No it's not, it was fixed and the PG16 project solved this


[Wallet] Show a message on the verification screen to encourage not closing the app

Description
Just a message to encourage people to keep the app open during the verification process.
Other changes
Created a component that can alternate between two pieces of text.
Could add animation or fade in and out but want to get this in before tomorrow first.
Tested
Manually.
Related issues

Short term solution until we can land #5142

Backwards compatibility
Yes.

@jeanregisser Verified with Test flight build v1.4.0 (28) and Android play store (internal build) v1.4.0<PHONE_NUMBER>) and found the following :

"Confirming..." & "Please Keep the app open" message is shown when user is verifying phone number screen.

Please let us know if we need to verify anything else ?
Thanks!