Include template for simple case

Test comment.

Log file
/*---------------------------------------------------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  8
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
Build  : 8-1c9b5879390b
Exec   : pisoPrecNMC
Date   : Nov 28 2022
Time   : 11:12:52
Host   : "2d441f301e03"
PID    : 192
I/O    : uncollated
Case   : /home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster (fileModificationSkew 10)
allowSystemOperations : Allowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create mesh for time = 0

Reading field p

Reading field U

Reading/calculating face flux field phi

Selecting incompressible transport model Newtonian
Selecting turbulence model type RAS
Selecting RAS turbulence model kEpsilon
RAS
{
    turbulence      on;
    model           kEpsilon;
    printCoeffs     on;
    Cmu             0.09;
    C1              1.44;
    C2              1.92;
    C3              0;
    sigmak          1;
    sigmaEps        1.3;
}

Reading field p1

Reading field p2

Reading field p3

Reading field total_Nickel

Reading field total_Manganese

Reading field total_Cobalt

Selecting activity coefficient model: Bromley
Selecting Population Balance Model: constantVelocity
Reading field M0

Reading field M1

Reading field M2

Reading field M3

Selecting growth model for the population balance: powerLaw
Selecting nucleation rate model for the population balance: classicalHeteroHomo
Selecting nucleate size model for the population balance: fixed
Selecting quadrature method for population balance: QMOM
Selecting inversion algorithm for quadrature method: adaptiveWheeler
Creating MRF zone list from MRFProperties
    creating MRF zone: MRF1
No finite volume options present
Courant Number mean: 1.38889e-08 max: 0.00834408
timeActivatedFileUpdate: time vs file list:
    -1	"/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/system/updatingFiles/controlDict.cfd"
    59.99	"/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/system/updatingFiles/controlDict.0"
    60.01	"/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/system/updatingFiles/controlDict.1"
    60.0599	"/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/system/updatingFiles/controlDict.2"
    60.1998	"/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/system/updatingFiles/controlDict.3"
    60.9991	"/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/system/updatingFiles/controlDict.4"
    62.9981	"/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/system/updatingFiles/controlDict.5"
    72.991	"/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/system/updatingFiles/controlDict.6"
    94.981	"/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/system/updatingFiles/controlDict.7"
    144.961	"/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/system/updatingFiles/controlDict.8"
    309.921	"/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/system/updatingFiles/controlDict.9"
    609.881	"/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/system/updatingFiles/controlDict.10"
    1059.84	"/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/system/updatingFiles/controlDict.11"

timeActivatedFileUpdate: copying file
"/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/system/updatingFiles/controlDict.cfd"
to:
"/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/system/controlDict"

timeActivatedFileUpdate: time vs file list:
    -1	"/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/constant/updatingFiles/odeSolver.0"
    60.01	"/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/constant/updatingFiles/odeSolver.1"
    60.0599	"/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/constant/updatingFiles/odeSolver.2"
    60.1998	"/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/constant/updatingFiles/odeSolver.3"
    60.9991	"/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/constant/updatingFiles/odeSolver.4"
    62.9981	"/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/constant/updatingFiles/odeSolver.5"
    72.991	"/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/constant/updatingFiles/odeSolver.6"
    1059.84	"/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/constant/updatingFiles/odeSolver.11"

timeActivatedFileUpdate: copying file
"/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/constant/updatingFiles/odeSolver.0"
to:
"/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/constant/odeSolver"

timeActivatedFileUpdate: time vs file list:
--> FOAM Warning :
    From function bool Foam::functionObjectList::read()
    in file db/functionObjects/functionObjectList/functionObjectList.C at line 871
    Caught FatalError
--> FOAM FATAL ERROR:
File: "/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/constant/updatingFiles/fvSolution.0" not found

    From function virtual bool Foam::functionObjects::timeActivatedFileUpdate::read(const Foam::dictionary&)
    in file timeActivatedFileUpdate/timeActivatedFileUpdate.C at line 120.

timeActivatedFileUpdate: time vs file list:
    -1	"/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/system/updatingFiles/fvSchemes.0"
    10	"/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/system/updatingFiles/fvSchemes.1"
    30	"/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/system/updatingFiles/fvSchemes.2"

timeActivatedFileUpdate: copying file
"/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/system/updatingFiles/fvSchemes.0"
to:
"/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/system/fvSchemes"

surfaceFieldValue outflow:
    total faces  = 200
    total area   = 2.81967e-05

Starting time loop

regIOobject::readIfModified() :
    Re-reading object controlDict from file "/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/system/controlDict"
timeActivatedFileUpdate: time vs file list:
--> FOAM Warning :
    From function bool Foam::functionObjectList::read()
    in file db/functionObjects/functionObjectList/functionObjectList.C at line 871
    Caught FatalError
--> FOAM FATAL ERROR:
File: "/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/constant/updatingFiles/fvSolution.0" not found

    From function virtual bool Foam::functionObjects::timeActivatedFileUpdate::read(const Foam::dictionary&)
    in file timeActivatedFileUpdate/timeActivatedFileUpdate.C at line 120.

regIOobject::readIfModified() :
    Re-reading object fvSchemes from file "/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/system/fvSchemes"
regIOobject::readIfModified() :
    Re-reading object odeSolver from file "/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/constant/odeSolver"
timeActivatedFileUpdate: time vs file list:
--> FOAM Warning :
    From function bool Foam::functionObjectList::read()
    in file db/functionObjects/functionObjectList/functionObjectList.C at line 871
    Caught FatalError
--> FOAM FATAL ERROR:
File: "/home/simdomeuser/simdome/wrappers/simdome_wet_synthesis/examples/simulation-wetSynthCfdPbe-4eff9e4a-83c0-4c16-a51f-526ebc9e53a3/constant/updatingFiles/fvSolution.0" not found

    From function virtual bool Foam::functionObjects::timeActivatedFileUpdate::read(const Foam::dictionary&)
    in file timeActivatedFileUpdate/timeActivatedFileUpdate.C at line 120.

surfaceFieldValue outflow write:
    sum(outlet) of phi = 0

Time = 0.0001

Courant Number mean: 1.38889e-08 max: 0.00834408
deltaT = 0.00012
smoothSolver:  Solving for Ux, Initial residual = 1, Final residual = 4.616e-06, No Iterations 2
smoothSolver:  Solving for Uy, Initial residual = 1, Final residual = 4.47928e-06, No Iterations 2
smoothSolver:  Solving for Uz, Initial residual = 1, Final residual = 1.3131e-05, No Iterations 2
GAMG:  Solving for p, Initial residual = 1, Final residual = 0.00471466, No Iterations 6
GAMG:  Solving for p, Initial residual = 0.126352, Final residual = 0.000866132, No Iterations 4
GAMG:  Solving for p, Initial residual = 0.00891093, Final residual = 5.89035e-05, No Iterations 6
time step continuity errors : sum local = 3.33976e-09, global = 5.11769e-10, cumulative = 5.11769e-10
GAMG:  Solving for p, Initial residual = 0.00341889, Final residual = 2.37223e-05, No Iterations 6
GAMG:  Solving for p, Initial residual = 0.000795013, Final residual = 7.7229e-06, No Iterations 4
GAMG:  Solving for p, Initial residual = 0.000171536, Final residual = 1.51274e-06, No Iterations 6
time step continuity errors : sum local = 8.62812e-11, global = 1.14548e-11, cumulative = 5.23224e-10
smoothSolver:  Solving for epsilon, Initial residual = 0.00171094, Final residual = 3.98587e-08, No Iterations 2
smoothSolver:  Solving for k, Initial residual = 1, Final residual = 2.56725e-05, No Iterations 2
ExecutionTime = 18.67 s  ClockTime = 19 s

Time = 0.00022

Courant Number mean: 0.000734327 max: 0.229648
deltaT = 0.000144
smoothSolver:  Solving for Ux, Initial residual = 0.367602, Final residual = 0.000131809, No Iterations 2
smoothSolver:  Solving for Uy, Initial residual = 0.36694, Final residual = 0.000120492, No Iterations 2
smoothSolver:  Solving for Uz, Initial residual = 0.258011, Final residual = 8.8168e-05, No Iterations 2
GAMG:  Solving for p, Initial residual = 0.536548, Final residual = 0.00208156, No Iterations 6
GAMG:  Solving for p, Initial residual = 0.16342, Final residual = 0.00106159, No Iterations 4
GAMG:  Solving for p, Initial residual = 0.0144001, Final residual = 0.000109589, No Iterations 6
time step continuity errors : sum local = 4.84548e-09, global = -8.87836e-10, cumulative = -3.64612e-10
GAMG:  Solving for p, Initial residual = 0.0460462, Final residual = 0.000257406, No Iterations 5
GAMG:  Solving for p, Initial residual = 0.00648312, Final residual = 3.21697e-05, No Iterations 4
GAMG:  Solving for p, Initial residual = 0.000542388, Final residual = 4.6752e-06, No Iterations 5
time step continuity errors : sum local = 2.03348e-10, global = 6.37879e-11, cumulative = -3.00824e-10
smoothSolver:  Solving for epsilon, Initial residual = 0.00206133, Final residual = 4.96081e-08, No Iterations 2
smoothSolver:  Solving for k, Initial residual = 0.890135, Final residual = 3.56835e-05, No Iterations 2
ExecutionTime = 31.5 s  ClockTime = 32 s

Time = 0.000364

Courant Number mean: 0.000882016 max: 0.275422
deltaT = 0.0001728
smoothSolver:  Solving for Ux, Initial residual = 0.0364693, Final residual = 1.80327e-05, No Iterations 2
smoothSolver:  Solving for Uy, Initial residual = 0.0349955, Final residual = 1.54565e-05, No Iterations 2
smoothSolver:  Solving for Uz, Initial residual = 0.0148751, Final residual = 7.92263e-06, No Iterations 2
GAMG:  Solving for p, Initial residual = 0.298215, Final residual = 0.00184483, No Iterations 3
GAMG:  Solving for p, Initial residual = 0.0228199, Final residual = 0.000164962, No Iterations 4
GAMG:  Solving for p, Initial residual = 0.00208657, Final residual = 1.25211e-05, No Iterations 5
time step continuity errors : sum local = 4.94251e-10, global = -3.15694e-11, cumulative = -3.32394e-10
GAMG:  Solving for p, Initial residual = 0.00838979, Final residual = 3.21236e-05, No Iterations 4
GAMG:  Solving for p, Initial residual = 0.000713226, Final residual = 3.24019e-06, No Iterations 5
GAMG:  Solving for p, Initial residual = 8.04161e-05, Final residual = 3.11283e-07, No Iterations 5
time step continuity errors : sum local = 1.23052e-11, global = -9.42948e-13, cumulative = -3.33337e-10
smoothSolver:  Solving for epsilon, Initial residual = 0.00257214, Final residual = 8.65273e-08, No Iterations 2
smoothSolver:  Solving for k, Initial residual = 0.803467, Final residual = 4.60505e-05, No Iterations 2
ExecutionTime = 43.17 s  ClockTime = 43 s

Time = 0.0005368

Courant Number mean: 0.0010583 max: 0.324589
deltaT = 0.00020736
smoothSolver:  Solving for Ux, Initial residual = 0.0178059, Final residual = 1.11019e-05, No Iterations 2
smoothSolver:  Solving for Uy, Initial residual = 0.0172387, Final residual = 9.73571e-06, No Iterations 2
smoothSolver:  Solving for Uz, Initial residual = 0.00724488, Final residual = 4.49388e-06, No Iterations 2
GAMG:  Solving for p, Initial residual = 0.196719, Final residual = 0.00145314, No Iterations 2
GAMG:  Solving for p, Initial residual = 0.00878398, Final residual = 6.76585e-05, No Iterations 4
GAMG:  Solving for p, Initial residual = 0.000734855, Final residual = 3.67948e-06, No Iterations 5
time step continuity errors : sum local = 1.50494e-10, global = 1.1606e-11, cumulative = -3.21731e-10
GAMG:  Solving for p, Initial residual = 0.00385221, Final residual = 1.70765e-05, No Iterations 3
GAMG:  Solving for p, Initial residual = 0.000214546, Final residual = 7.13783e-07, No Iterations 5
GAMG:  Solving for p, Initial residual = 2.2453e-05, Final residual = 2.22972e-07, No Iterations 4
time step continuity errors : sum local = 9.1334e-12, global = 1.72861e-12, cumulative = -3.20002e-10
smoothSolver:  Solving for epsilon, Initial residual = 0.00321134, Final residual = 1.49529e-07, No Iterations 2
smoothSolver:  Solving for k, Initial residual = 0.73895, Final residual = 5.88985e-05, No Iterations 2
ExecutionTime = 54.33 s  ClockTime = 55 s

Time = 0.00074416

Courant Number mean: 0.00126972 max: 0.381673
deltaT = 0.000248832
smoothSolver:  Solving for Ux, Initial residual = 0.0125996, Final residual = 1.10446e-05, No Iterations 2
smoothSolver:  Solving for Uy, Initial residual = 0.0122399, Final residual = 1.02884e-05, No Iterations 2
smoothSolver:  Solving for Uz, Initial residual = 0.00565142, Final residual = 5.02446e-06, No Iterations 2
GAMG:  Solving for p, Initial residual = 0.15634, Final residual = 0.00091655, No Iterations 2
GAMG:  Solving for p, Initial residual = 0.00473828, Final residual = 3.84661e-05, No Iterations 4
GAMG:  Solving for p, Initial residual = 0.000359396, Final residual = 2.17001e-06, No Iterations 5
time step continuity errors : sum local = 9.67451e-11, global = 4.00904e-12, cumulative = -3.15993e-10
GAMG:  Solving for p, Initial residual = 0.0023618, Final residual = 8.39455e-06, No Iterations 3
GAMG:  Solving for p, Initial residual = 0.000101759, Final residual = 4.89539e-07, No Iterations 5
GAMG:  Solving for p, Initial residual = 9.57791e-06, Final residual = 5.29967e-08, No Iterations 5
time step continuity errors : sum local = 2.36545e-12, global = 1.04665e-13, cumulative = -3.15888e-10
smoothSolver:  Solving for epsilon, Initial residual = 0.00401192, Final residual = 2.57718e-07, No Iterations 2
smoothSolver:  Solving for k, Initial residual = 0.690141, Final residual = 7.55219e-05, No Iterations 2
ExecutionTime = 66.88 s  ClockTime = 67 s

Time = 0.000992992

Courant Number mean: 0.00152343 max: 0.448392
deltaT = 0.000298598
smoothSolver:  Solving for Ux, Initial residual = 0.0102326, Final residual = 1.31695e-05, No Iterations 2
smoothSolver:  Solving for Uy, Initial residual = 0.0100137, Final residual = 1.25466e-05, No Iterations 2
smoothSolver:  Solving for Uz, Initial residual = 0.00513865, Final residual = 6.6212e-06, No Iterations 2
GAMG:  Solving for p, Initial residual = 0.128631, Final residual = 0.000731871, No Iterations 2
GAMG:  Solving for p, Initial residual = 0.00301671, Final residual = 2.62991e-05, No Iterations 4
GAMG:  Solving for p, Initial residual = 0.000225736, Final residual = 1.44485e-06, No Iterations 5
time step continuity errors : sum local = 7.25176e-11, global = 2.70163e-12, cumulative = -3.13187e-10
GAMG:  Solving for p, Initial residual = 0.00173893, Final residual = 5.12922e-06, No Iterations 3
GAMG:  Solving for p, Initial residual = 6.33586e-05, Final residual = 3.09059e-07, No Iterations 5
GAMG:  Solving for p, Initial residual = 5.89536e-06, Final residual = 3.05729e-08, No Iterations 5
time step continuity errors : sum local = 1.53527e-12, global = -4.3394e-14, cumulative = -3.1323e-10
smoothSolver:  Solving for epsilon, Initial residual = 0.00501285, Final residual = 4.42827e-07, No Iterations 2
smoothSolver:  Solving for k, Initial residual = 0.652162, Final residual = 9.70504e-05, No Iterations 2
ExecutionTime = 78.64 s  ClockTime = 79 s

Time = 0.00129159

Courant Number mean: 0.00182791 max: 0.526444
deltaT = 0.000358318
smoothSolver:  Solving for Ux, Initial residual = 0.00937531, Final residual = 1.74727e-05, No Iterations 2


api: warn rather than fail if we've got a cached version.

Rather than failing every time we fail to update (breaking most usage while offline) instead only fail if we cannot obtain the JSON and we don't have a valid local file we can use.
Also tweak the timeout and retry logic and values to make a bit more sense in this context and not be so noisy when offline.
Fixes #14451
Fixes #14455
Fixes #14462
Fixes #14489

Review period skipped due to critical label.


Unable to remap topics

I have a micro-ROS node that is subscribing to a /cmd_vel topic. I am currently launching the node like the following from a python launch file:
        Node(
            package='micro_ros_agent',
            executable='micro_ros_agent',
            name='micro_ros_agent',
            output='screen',
            arguments=['serial', '--dev', '/dev/ttyUSB0'],
            remappings=[
                ('/cmd_vel', '/joy_vel'),
            ]),

The node runs as expected, but it still subscribes to the /cmd_vel topic, and not the /joy_vel topic. I am using ROS2 Humble and the latest micro_ros_agent

Hello, there is not support for topic remapping at micro-ROS Agent level.

Thanks for the update, its a shame, it would be really useful to have topic remapping at the micro-ROS agent level..

Sure, PRs are welcomed, please let us know if you plan to contribute.

@pablogs9 would love to contribute, I need something to work on during my winter break anyway. But I am not entirely sure where to start from, any pointers would be helpful!


Integrated themes for compare end-point and added necessary UTS

@raisachatterjee, Codecov still has negative delta, can we make it positive?


Repeated measures anova for unbalanced design with permutations test

I'm following the Repeated measures ANOVA on source data with spatio-temporal clustering  tutorial with my own data.
The solution to calculate permutations test for between  (visual vs auditory) - within (left vs right) repeated measures anova was to use the stat_fun argument with the mne.stats.f_mway_rm function.
My issue is that mne.stats.f_mway_rm function only support fully balanced designs. Is there a way to support unbalanced designs?
Thank you! :)

@dengemann

No this is unfortunately not easy to do. The current implementation does not support mixed within-between models.

Thank you :) Are you thinking about implementing it? and can you please explain why it is problematic?

Closing as a dup of #4859


feat: add radius tokens (+ semantic aliases)

Is your feature request related to a problem? Please describe.

No
Describe the solution you'd like

New design tokens for border radius have been released on figma : https://www.figma.com/file/zDZIyayUlr1yTWrsi7cFoo/Vitamin---Web-UI-kit-(v0)?node-id=8060%3A18264
-> We need to create radius token in dev for the web components

I didn't see any usage of these radius tokens inside components. It is an omission?
@GaspardMathon Because this repository is public, give only official and public links here. If borders aren't documented on the official design system website, you shouldn't create an issue here.


Support pattern matching on Natural?

Suppose we have
fib : Nat → Nat
fib 0 = 0
fib 1 = 1
fib (suc (suc n)) = fib n + fib (suc n)
{-# COMPILE AGDA2HS fib #-}

Right now, this is translated to
fib :: Natural -> Natural
fib zero = 0
fib (suc zero) = 1
fib (suc (suc n)) = fib n + fib (suc n)

which does not compile ofc. But this could be translated to very similar code which is actually compiling without warnings:
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ViewPatterns #-}

pattern Zero :: Natural
pattern Zero = 0

pattern Suc :: Natural -> Natural
pattern Suc n <- (minusOne -> Just n) where Suc n = n + 1

{-# COMPLETE Zero, Suc #-}

minusOne :: Natural -> Maybe Natural
minusOne n = if n >= 1 then Just (n - 1) else Nothing

fib :: Natural -> Natural
fib Zero = 0
fib (Suc Zero) = 1
fib (Suc (Suc n)) = fib n + fib (Suc n)

I think sth like this could be useful (e.g. inductively constructing trees of a certain height), but maybe it is too ad-hoc/magic?

This might be a nice idea, provided we also give Haskell implementations for the builtin functions on naturals in Agda (see https://github.com/agda/agda/blob/master/src/data/lib/prim/Agda/Builtin/Nat.agda)

The argument against this is that the goal of agda2hs is to write Haskell code in Agda syntax, while this is instead trying to encode an Agda feature into Haskell syntax. So in a sense this is the "wrong" thing to want, since the Natural type of Haskell is very rarely used compared to the Nat type in Agda.

Maybe output the following Haskell code instead? Maybe that would look a little more idiomatic?
fib :: Natural -> Natural
fib 0 = 0
fib 1 = 1
fib n' | n' >= 2 = fib (n' - 2) + fib (1 + (n' - 2))

I.e.,

Matching with a constant natural number is preserved.
Matching with the i-th successor of a variable n results in a guard of n' >= i. And on the RHS, n would become n' - i.
suc x on the RHS becomes 1 + x.

Of course then one could try to be even smarter and turn (1 + (n' - 2)) into (n' - 1) or get rid of the n' >= 2 guard as redundant in the case at hand.
I find naturals just very convenient to work with on the Agda side, when it comes to termination checking or induction proofs.

Oh, boy... I took a look at the agda2hs code and it looks like implementing my proposal would litter all over the code.

compilePats would have to record and return the guards.
compilePats would also have to record and return how deeply each variable x is buried inside a pattern like (suc (suc (... (suc x)))), so that this depth can be subtracted from all occurrences of x on the RHS.
compileTerm would have to know about the depth of each variable that occurs in a pattern, so that it can do the subtractions on the RHS.
compileTerm would now also have to do de-Bruijn bookkeeping whenever it goes under a lambda.

That's a lot of extra stuff these functions would pass in and out. Stuff that would be irrelevant to any of the other use cases these functions cover. Maybe it's not worth the complication.
Which makes me curious about the workaround that you mentioned. But I seem to be missing something.
How would I use an erased Nat argument to help the termination checker? A typical use case would be: match an argument with (suc n) and then recurse with n, which is smaller than (suc n) and thus satisfies the termination checker. But I cannot pattern match with erased arguments, can I?

Perhaps we should first have a good story on how to handle guards in general (see https://github.com/agda/agda2hs/issues/77) and then revisit this issue.
Regarding the use of erased natural numbers: the trick is that the erased number should appear in the type of some other datatype that is not erased, so that in each clause there is only one of zero/suc possible based on the non-erased patterns. How to do it exactly is a bit fiddly though and depends on the function you want to write. A better way might be to use an erased accessibility predicate as it only has a single constructor so you can always match on it even when it's erased.

Yes, agreed. It's probably best to figure out #77 first.
Thank you very much for your suggestions. I tried (and failed - see below), but ended up doing something simpler: use two versions of a function, one that matches with suc, one that doesn't, and trivially prove them equal. I can then prove things about the former, but export the latter to Haskell.
This completely solves the issue for my use cases. I'll look into automating some of this with reflection.
An example based on the factorial function:
module Test where

open import Haskell.Prelude
open import Haskell.Prim using (monusNat)

fac3 : Nat → Nat
fac3 0       = 1
fac3 (suc n) = suc n * fac3 n

{-# TERMINATING #-}
fac3' : Nat → Nat
fac3' 0 = 1
fac3' n = n * fac3' (monusNat n 1)

{-# COMPILE AGDA2HS fac3' #-}

fac3'≡fac3 : ∀ n → fac3' n ≡ fac3 n
fac3'≡fac3 zero = refl
fac3'≡fac3 (suc n) rewrite fac3'≡fac3 n = refl

My other two attempts were dead ends. I'm leaving them here, in case anybody is curious enough and feels inclined to take a look. Like I said, for me, the above works well.
This one looked really good at first, but Agda is smart enough to understand that n actually has to be suc n' in the second clause of fac2', and thus pattern-matches with suc n' instead of just leaving the n there. And so, to my surprise, the Haskell code contained suc n', not n.
data View : Nat → Set where
  vZero : View 0
  vSuc : (n : Nat) → View (suc n)

@0 view : (n : Nat) → View n
view zero    = vZero
view (suc n) = vSuc n

fac2' : (n : Nat) → (@0 v : View n) → Nat
fac2' 0 vZero     = 1
fac2' n (vSuc n') = n * fac2' n' (view n')

{-# COMPILE AGDA2HS fac2' #-}

fac2 : (n : Nat) → Nat
fac2 n = fac2' n (view n)

{-# COMPILE AGDA2HS fac2 #-}

I also tried accessibility. But then I realized that I would need n - 1 < n in the hole at the end of the second clause of fac. And that, in turn, would require knowing that n is actually suc n, i.e., it would require pattern matching with suc n.
LessThan : Nat → Nat → Set
LessThan x y = (x < y) ≡ True

data Acc (x : Nat) : Set where
  acc : (rs : (y : Nat) → LessThan y x → Acc y) → Acc x

fac : (n : Nat) → (@0 a : Acc n) → Nat
fac 0 (acc rs) = 1
fac n (acc rs) = n * fac (monusNat n 1) (rs (monusNat n 1) {!!})

Thanks again for your help! I appreciate it. It was really instructive to explore the latter two options.

FWIW, this almost works:
module Exp where

open import Agda.Builtin.Equality using (_≡_ ; refl)
open import Haskell.Prelude

data Zero? : Nat → Set where
  ≡0 : Zero? 0
  ≢0 : {n : Nat} → ⦃ _ : Num.MinusOK iNumNat n 1 ⦄ → Zero? (n - 1) → Zero? n

instance
  @0 zero? : {n : Nat} → Zero? n
  zero? {zero}  = ≡0
  zero? {suc n} = ≢0 (zero? {n})

fac : (n : Nat) → ⦃ @0 v : Zero? n ⦄ → Nat
fac 0          = 1
fac n ⦃ ≢0 v ⦄ = n * fac (n - 1) ⦃ v ⦄

{-# COMPILE AGDA2HS fac #-}

proof : fac 5 ≡ 120
proof = refl

Here, the only missing piece is that the 0 in the first clause of fac becomes zero in the Haskell code.
Making agda2hs emit 0 instead of zero would allow the above solution for covering basic "count down from n to 0" recursion.
No idea how useful this would be, though. :)

I still don't think this is the right thing to do, so I'm closing this.


Update to MessagePack 2.4 and cleanup

NOTE: This does not add the ability to provide custom formatters or use Setup() builders to configure. IMO better to build off this in stages.

Based on how fast this is (Benches below) I went ahead and added a couple more things to get this closer to 'User Usable'

Configuration of custom FormatterResolvers that may be added via hocon

converters takes an array of FQCNs to IFormatterResolvers, that are applied before the final 'Typeless' Resolver
override-converters takes an array of FQCNs to IFormatterResolvers, that are applied before ALL formatters.

AKA the 'use-at-own-risk' option, as it may break our surrogate handling.

Better config options for LZ4.

Minimum compressed size is still a TODO here, but a great future enhancement to consider!

Better config options around type versioning with safe defaults.
Type filtering security based on Hyperion's type filtering

This was based on my initial PR for type filtering, so it does not allow custom filters. We can add this shortly after.

Benchmarks:
These are all based on the existing SerializationBenchmarks project. I added Hyperion and Messagepack accordingly. Note that IDK what pooling hyperion does (so the name may be a misnomer in that case... Messagepack pools under the hood).

Also worth noting we see a significant penalty when ISurrogate types are involved like IActorRef. Again, still faster than alternatives but a place to possibly try and improve in future.

I went ahead and added slightly more specific type handling for ISurrogate. What this does is avoid Typeless in more cases which significantly helps out in perf at a minor cost in deseiralization memory (which can be elided in a future PR possibly).
After changes here are the numbers, compared to previous numbers we see a 25-33% boost in serializing and 10-15% boost in deserializing when IActorRef is involved.
I should also note, in remote scenarios, IActorRef deserialization -should- be faster; these benchmarks don't use Remoting, and thus do not take advantage of ActorPath/ActorRef caching.

AKA the 'use-at-own-risk' option, as it may break our surrogate handling.

I'd consider using a Setup class to make this statically typed

Benchmark numbers are very impressive. If you can address some of my PR questions we can merge this in, revamp the build system, publish an updated NuGet package, and begin testing this in real Akka.NET applications like WebCrawler.


TextInput doesn't lose focus after dismissing keyboard on some Android devices

Description
Current Behavior
When TextInput is focused and keyboard is shown, pressing hardware back button dismisses the keyboard but doesnt't blur the TextInput. Pressing on the TextInput again doesn't trigger the keyboard.
I noticed it happening on these devices: Mobistart V1 (android v 9), Meizu M3s (android v 5.1), Honor 8 (android v 7).
This behaviour doesn't seem to be dependant on Android version or brand.
Also this behaviour appears in every React Native app.
Expected Behavior
The TextInput should lose focus after hardware back button press.
https://user-images.githubusercontent.com/43006289/161037494-008f1c5c-bc35-4eb4-a633-47dc3211ad80.mp4
Version
0.65.1
Output of npx react-native info
No warnings or errors apper in console.
Steps to reproduce
Basically it happens with any TextInput.
<TextInput />
Snack, code example, screenshot, or link to a repository
No response

Probably related (the issue is closed but still reproduces): https://github.com/facebook/react-native/issues/19366

That solution doens't work for me, because it suggests to make handler for each TextInput in every React Naive project.

Hmm, yeah, that's unfortunate. I'm hoping the link might be helpful for you or anyone else who has time to dig into React Native's internals to find the bug and propose a fix. I'll post here if I manage to do that too. 🙂

Any updates on this?

Any updates on this?

Unfortunately, no

Any updates on this?

Unfortunately, no

I managed to work around by adding a ref to the text input and a keyboard listener to blur the text input when the keyboard hide.
Here is the logic:
  const localInputRef = useRef<TextInput>();

  const keyboardDidHideCallback = () => {
     localInputRef.current.blur?.();
  }

  useEffect(() => {
     const keyboardDidHideSubscription = Keyboard.addListener('keyboardDidHide', keyboardDidHideCallback);

     return () => {
      keyboardDidHideSubscription?.remove();
    };
  }, []);

 <TextInput
            ref={(ref) => {
              localInputRef && (localInputRef.current = ref as any);
            }}
 .....
 </TextInput>

@ghiculescualexandru you did this for every TextInput box?

Only needed it in a single place, however, you can create a component with this behaviour and use it everywhere

this happening in "react-native": "0.71.3"

we also experience same issue on Android, When user press native back button to close keyboard, textinput of react native stays focused.

yep still have this issue. any fix without having to add ref for each input ?

This is still an issue on react native v0.69.6, unsure if fixed in .7

still happening on .7x

Do you still experience this issue?
I have four years of experience maintaining facebook/react-native and I specialize in the Text and TextInput components. I currently have 58 facebook/react-native PRs.
If you still experience this issue, I will prepare a patched release with the fix.
Thanks a lot

Do you still experience this issue?
I have four years of experience maintaining facebook/react-native and I specialize in the Text and TextInput components. I currently have 58 facebook/react-native PRs.
If you still experience this issue, I will prepare a patched release with the fix.
Thanks a lot

I am experiencing the same issue.

Still an issue on 0.72.7

Nothing new on 0.74.3

😢 still broken on 0.75.3

@cipolleschi @cortinico Please fix this.

I just test this in a recent version (0.77.0-rc.3 and 0.76.5) of React Native and it seems to work fine.
I can:

focus on the Text Field, the keyboard appear.
press the back button, the keyboard disappear, the text field remains focused.
tapping on the Text Field again make the keyboard appear again.\

0.77.0-rc.3
0.76.5

I think this has been fixed. Can someone else test this out?


Reformat PDF Blueprint Launchable

Description

Reformat PDF Blueprint Launchable

Checklist

[x] I am familiar with the Contributing Guidelines.
[x] New or existing tests cover these changes.
[x] The documentation is up to date with these changes.

@liveaverage I think I captured all of these requests in https://github.com/NVIDIA/nv-ingest/pull/292 ... can you confirm there and close this PR?

Thank you @jdye64 -- looks great and I'll close this out!


Fix missing column value in LanceDB

Currently, the data once read into LanceDB via arrow conversion is missing the price column. Maybe something is happening during type coercion, causing the column to be ignored? In any case, price is an important variable and needs to be included in the table for downstream filtering purposes, so this needs to be diagnosed.

Addressing this in #27 with more recent versions of LanceDB


Static html for review

closed as the preview link is down now and that was the only purpose of this PR.

closed as the preview link is down now and that was the only purpose of this PR.


Enums cannot be used as a value when imports using the import type declaration.

Bug Report
🕗 Version Information
TypeScript v4.1.3 Node.js v10.23.1 linux/amd64
⏯ REPL Link
https://replit.com/@AnmSaiful/ts-import-type-enum
💻 Code
// ---- enums.ts ----
export enum Sex {

  Male    = "male",
  Female  = "female",

}

// ---- type.ts ----
export * as Enum from "./enums";

// ---- index.ts ----
import type { Enum } from "./type";

function enumTest(): Enum.Sex {

  return Enum.Sex.Male;

}

console.log( enumTest() );

🙁 Actual behavior
It does not allow using Enum from the composed imported type and says:

'Enum' cannot be used as a value because it was imported using 'import type'.

🙂 Expected behavior
It should allow using Enums from the imported type.

import type doesn't generate any code, so you'll get a runtime error when evaluating Enum.Sex because Enum won't refer to anything in the output JavaScript.

@DanielRosenwasser I'm using import type to avoid failing ESLint's no-cycle rule because my type imports result from circular dependency. It is normal because the type definition file uses the class file (for the instance type), and class file uses the type definition file.
I can suppress the ESLint error for that line, but should this be practiced?

Perhaps we should move this to the feature list instead of bug?

import type is meant to be erased away entirely - so unfortunately there's no way to make this functionality work that isn't at odds with design decisions we're already set on. At best, there's the discussion of whether we'd want to make exceptions for const enums, which is awaiting more feedback at https://github.com/microsoft/TypeScript/issues/40344.

Currently, I'm using plain objects along with typeof XYZ[ keyof typeof XYZ] as a workaround. Hopefully TS will solve the enum issue someday.

Currently, I'm using plain objects as const along with typeof Obj[ keyof typeof Obj] as a workaround. Hopefully TS will solve the enum issue soon.

Currently, I'm using plain objects as const along with typeof Obj[ keyof typeof Obj] as a workaround. Hopefully, TS will solve the enum issue soon.


support promptLocation?

Hi,
there is any way to use promptLocation from react native?
thanks

Hi,
I'm not sure what promptLocation means?

Hi @avishayil,
from OneSignal IOS (and Android) API documentation site:
promptLocation
Prompts the user for location permissions to allow geotagging from the OneSignal dashboard. This lets you send notifications based on the device's location.
Example
Objective-C
[self.oneSignal promptLocation];
Note: Requires the follow entries in your .plist file.
NSLocationUsageDescription
NSLocationWhenInUseUsageDescription

OK, I'll add this to the todo list
On Jun 6, 2016 12:27 AM, "Georges Baladi"<EMAIL_ADDRESS>wrote:

Hi @avishayil https://github.com/avishayil,
from OneSignal IOS (and Android) API documentation site:
promptLocation
Prompts the user for location permissions to allow geotagging from the
OneSignal dashboard. This lets you send notifications based on the device's
location.
Example
Objective-C
[self.oneSignal promptLocation];
Note: Requires the follow entries in your .plist file.
NSLocationUsageDescription
NSLocationWhenInUseUsageDescription
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/geektimecoil/react-native-onesignal/issues/35#issuecomment-223838772,
or mute the thread
https://github.com/notifications/unsubscribe/AAyekOHzHP8uVO37445RW__6Yh4Yqr9Oks5qIz8kgaJpZM4IuWON
.

Seems there is some problem, since for some reason the OneSignal framework is not including OneSignalLocation files, and therefore it's impossible to include promptLocation on iOS.
The files themselves are included, but they're not showing on XCode.
@jkasten2 - can you help?

@avishayil If you include CoreLocation and the plist entries it should work. I am not sure I know what you mean by "OneSignalLocation files".

Great. I'll try to do it and update. My mistake about the OneSignalLocation stuff.

@jkasten2 what plastic files are you talking about?

@avishayil
NSLocationUsageDescription
NSLocationWhenInUseUsageDescription

http://matthewfecher.com/app-developement/getting-gps-location-using-core-location-in-ios-8-vs-ios-7/

@jkasten2 Tried doing that, says "No visible interface for promptLocation". My Objective-C is weak.

@avishayil Can you confirm it is being called with an instance of OneSignal? I see it is included in the OneSignal.h in the example project you have.

@jkasten2 it is included there, but doesn't work.
RCT_EXPORT_METHOD(promptLocation) {
    [oneSignal promptLocation];
}

We're currently testing the new version, which apparently solves this issue.


Error in file.exists(bedgraphFile) : invalid 'file' argument

Hello,
I am running the following code in RStudio for CNproScan:
CNproScanCNV("~/Desktop/hjw58/31741_2_222.coverage", "~/Desktop/hjw58/31741_2_222.sorted.map.bam", "~/Desktop/hjw58/Streptococcus_equi_subsp_equi_4047_v1_renamed.fasta", 4)
But I am getting the following error:
Error in file.exists(bedgraphFile) : invalid 'file' argument
I have tried adding the bedgraphFile to the command as below but results in the same error:
CNproScanCNV("~/Desktop/hjw58/31741_2_222.coverage", "~/Desktop/hjw58/31741_2_222.sorted.map.bam", "~/Desktop/hjw58/Streptococcus_equi_subsp_equi_4047_v1_renamed.fasta", "~/Desktop/hjw58/output_genmap.bedgraph", 4)
Any advice you may have would be appreciated!

Hi, yeah I see it. I made some updates and havent updated Readme yet. The
new command looks like:
CNproScanCNV(coveragefile,bamFile,fastaFile,GCnorm=TRUE,MAPnorm=FALSE,bedgraphFile=NULL,cores=4)
Cause that bedgraph is needed for mappability correction. So, you have to define MAPnorm=FALSE so you dont need to define bedgraphFile argument.
Give a motice if it works then.
Cheers,
Robin

Thanks for the edit. Unfortunately I am having the same outcome:
CNproScanCNV("~/Desktop/hjw58/31741_2_222.coverage","~/Desktop/hjw58/31741_2_222.sorted.map.bam","~/Desktop/hjw58/Streptococcus_equi_subsp_equi_4047_v1_renamed.fasta",GCnorm=TRUE,MAPnorm=FALSE,bedgraphFile=NULL,cores =4)
Error in file.exists(bedgraphFile) : invalid 'file' argument

Sorry, I havent tested it properly at the time of those updates. I updated the argument handling and I think it should be working now.
CNproScanCNV("~/Desktop/hjw58/31741_2_222.coverage","~/Desktop/hjw58/31741_2_222.sorted.map.bam","~/Desktop/hjw58/Streptococcus_equi_subsp_equi_4047_v1_renamed.fasta",GCnorm=TRUE,MAPnorm=FALSE,cores =4)
should work

Hi Robin,
Apologies for the delay. I have updated the package my end and tried again but I am getting the following error:
CNproScanCNV("~/Desktop/hjw58/6903_2_11_CNV_test_sorted_coverage","~/Desktop/hjw58/6903_2_11_CNV_test_sorted.bam","~/Desktop/hjw58/6903_2#11.contigs_spades.fasta",GCnorm=TRUE,MAPnorm=FALSE,cores =4)
Error in if (nchar(seq[1]) > 1) stop("sequence is not a vector of chars") :   missing value where TRUE/FALSE needed
Am I using the correct input files? Particularly the coverage file? But also I'm not sure what is happening with this error.
Thanks
Hayley

From: Robin Jugas @.>
Sent: 23 June 2022 21:32
To: robinjugas/CNproScan @.>
Cc: Hayley Joanna Wilson @.>; Author @.>
Subject: Re: [robinjugas/CNproScan] Error in file.exists(bedgraphFile) : invalid 'file' argument (Issue #5)
Sorry, I havent tested it properly at the time of those updates. I updated the argument handling and I think it should be working now.
CNproScanCNV("/Desktop/hjw58/31741_2_222.coverage","/Desktop/hjw58/31741_2_222.sorted.map.bam","~/Desktop/hjw58/Streptococcus_equi_subsp_equi_4047_v1_renamed.fasta",GCnorm=TRUE,MAPnorm=FALSE,cores =4)
should work
—
Reply to this email directly, view it on GitHubhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Frobinjugas%2FCNproScan%2Fissues%2F5%23issuecomment-1164846857&data=05|01|hjw58%40universityofcambridgecloud.onmicrosoft.com|4076dad31960473ebb4b08da55577b66|49a50445bdfa4b79ade3547b4f3986e9|0|0|637916131457962054|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=uiAF8D%2B%2FSYegcdVADPzrSP%2FFpn%2FPPHZSj8ZQ9bN5g%2BI%3D&reserved=0, or unsubscribehttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FATR6G7TWNX63MCVLYPGPLDLVQTCVNANCNFSM5ZUF54CA&data=05|01|hjw58%40universityofcambridgecloud.onmicrosoft.com|4076dad31960473ebb4b08da55577b66|49a50445bdfa4b79ade3547b4f3986e9|0|0|637916131457962054|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=QdNc5ysGW9mHNGomB5zucwA9%2F97Xz%2Ff5646aru1yCX4%3D&reserved=0.
You are receiving this because you authored the thread.Message ID: @.***>

Hi,
No problem. Do you mind if I send via WeTransfer?
Hayley

From: Robin Jugas @.>
Sent: 14 July 2022 12:17
To: robinjugas/CNproScan @.>
Cc: Hayley Joanna Wilson @.>; Author @.>
Subject: Re: [robinjugas/CNproScan] Error in file.exists(bedgraphFile) : invalid 'file' argument (Issue #5)
Hi,
maybe send me the files through G drive or something? I will look at it. I think it can be cause I havent add multi chromosome support so every chromosome should be separately analayzed...
Robin
—
Reply to this email directly, view it on GitHubhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Frobinjugas%2FCNproScan%2Fissues%2F5%23issuecomment-1184322505&data=05|01|hjw58%40universityofcambridgecloud.onmicrosoft.com|6f41dc4120764f31112708da658a923e|49a50445bdfa4b79ade3547b4f3986e9|0|0|637933943068442945|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=Hqw37dpdx6FVpAcCd3OpCSXJXjMGCmFC4F%2BnWUNKeaM%3D&reserved=0, or unsubscribehttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FATR6G7SRFVLT2QZ6VNEKFGDVT7ZODANCNFSM5ZUF54CA&data=05|01|hjw58%40universityofcambridgecloud.onmicrosoft.com|6f41dc4120764f31112708da658a923e|49a50445bdfa4b79ade3547b4f3986e9|0|0|637933943068442945|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=d2d3%2B5V5ysQpptZ1ho19pDxwWietopXbg8Bn2jwSTQw%3D&reserved=0.
You are receiving this because you authored the thread.Message ID: @.***>

What email address shall I use?

From: Robin Jugas @.>
Sent: 14 July 2022 12:31
To: robinjugas/CNproScan @.>
Cc: Hayley Joanna Wilson @.>; Author @.>
Subject: Re: [robinjugas/CNproScan] Error in file.exists(bedgraphFile) : invalid 'file' argument (Issue #5)
Yeah, why not.
—
Reply to this email directly, view it on GitHubhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Frobinjugas%2FCNproScan%2Fissues%2F5%23issuecomment-1184335705&data=05|01|hjw58%40universityofcambridgecloud.onmicrosoft.com|8a2eb8e355f14fc8cb0908da658c88f1|49a50445bdfa4b79ade3547b4f3986e9|0|0|637933951502811334|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=WtWFjlo2mbTmPFtVKW6fEPMAgCI49NbClAj9aqEUCiQ%3D&reserved=0, or unsubscribehttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FATR6G7VLZWHX6GMOFHSXQRLVT73CZANCNFSM5ZUF54CA&data=05|01|hjw58%40universityofcambridgecloud.onmicrosoft.com|8a2eb8e355f14fc8cb0908da658c88f1|49a50445bdfa4b79ade3547b4f3986e9|0|0|637933951502811334|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=XmBwG3BsoQoqdk0lDLK7SZC75Big1Hhg%2FM8B4C46xfQ%3D&reserved=0.
You are receiving this because you authored the thread.Message ID: @.***>

robinjugas at gmail.com

Hi!
So, I think the error is in that the reference fasta contains multiple contigs/sequences. But I don't understand, the coverage file is only for contig/chromosome FM204883, but that is nowhere in the reference fasta.
Is it okay?
However, I propose splitting reference fasta:
./splitMULTIFASTA.sh 6903_2#11.contigs_spades.fasta
and then if you want to, to iteratively use different contigs as references. Although, I dont get it as contigs/chromosomes do not match the coverage 6903_2_11_CNV_test_sorted_coverage  contig.
Something like:
##############################################################################
setwd("/home/rj/4TB/CNproScan_issue_07_2022/")
library("CNproScan")
coverage_file="wetransfer_cnv-files_2022-07-14_1222/6903_2_11_CNV_test_sorted_coverage"
bam_file<-"wetransfer_cnv-files_2022-07-14_1222/6903_2_11_CNV_test_sorted.bam"
ITERATION OVER FILES in SELECTED DIRECTORY
path <- "something "
file.names <- dir(path, pattern =".fasta",recursive = FALSE)
file.names
for(j in 1:length(file.names)) #
{
fasta_file <- file.names[j]
sampleName<-strsplit(file.names[j], "[.]")[[1]][1]
DF[[j]] <- CNproScanCNV(coverage_file,bam_file,fasta_file,GCnorm=TRUE,MAPnorm=FALSE,cores=8)
}
Not sure about handling the output of CNproScanCNV function.
R.

Hi Robin,
Thanks for the reply. I see what has happened - I have used the wrong file for coverage. The file FM204883 is my overall reference file for the collection. I saw 'reference fasta' in the instructions and thought you meant exactly that - a reference rather than all the files created being for the query file. That's my misunderstanding. I'll change it and see if that solves it.
But also just to check - my fasta files are all of a single sequence but are drafts so have multiple contigs. I can concatenate it into one though if the program doesn't take multi-contig files? This may also be part of the issue.
I appreciate you taking the time to help me!
Hayley

From: Robin Jugas @.>
Sent: 15 July 2022 18:09
To: robinjugas/CNproScan @.>
Cc: Hayley Joanna Wilson @.>; Author @.>
Subject: Re: [robinjugas/CNproScan] Error in file.exists(bedgraphFile) : invalid 'file' argument (Issue #5)
Hi!
So, I think the error is in that the reference fasta contains multiple contigs/sequences. But I don't understand, the coverage file is only for contig/chromosome FM204883, but that is nowhere in the reference fasta.
Is it okay?
However, I propose splitting reference fasta:
./splitMULTIFASTA.sh 6903_2#11.contigs_spades.fasta
and then if you want to, to iteratively use different contigs as references. Although, I dont get it as contigs/chromosomes do not match the coverage 6903_2_11_CNV_test_sorted_coverage contig.
Something like:
##############################################################################
setwd("/home/rj/4TB/CNproScan_issue_07_2022/")
library("CNproScan")
coverage_file="wetransfer_cnv-files_2022-07-14_1222/6903_2_11_CNV_test_sorted_coverage"
bam_file<-"wetransfer_cnv-files_2022-07-14_1222/6903_2_11_CNV_test_sorted.bam"
ITERATION OVER FILES in SELECTED DIRECTORY
path <- "something "
file.names <- dir(path, pattern =".fasta",recursive = FALSE)
file.names
for(j in 1:length(file.names)) #
{
fasta_file <- file.names[j]
sampleName<-strsplit(file.names[j], "[.]")[[1]][1]
DF[[j]] <- CNproScanCNV(coverage_file,bam_file,fasta_file,GCnorm=TRUE,MAPnorm=FALSE,cores=8)
}
Not sure about handling the output of CNproScanCNV function.
R.
—
Reply to this email directly, view it on GitHubhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Frobinjugas%2FCNproScan%2Fissues%2F5%23issuecomment-1185738341&data=05|01|hjw58%40universityofcambridgecloud.onmicrosoft.com|a8a58037d50e451c05b308da6684e0a4|49a50445bdfa4b79ade3547b4f3986e9|0|0|637935018129211529|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=vNQxzSUq0R%2FzpV3Her6zxp1hexm8utI2V9QYTOnfTQ4%3D&reserved=0, or unsubscribehttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FATR6G7VEY564GCZ47FN7UGDVUGLNHANCNFSM5ZUF54CA&data=05|01|hjw58%40universityofcambridgecloud.onmicrosoft.com|a8a58037d50e451c05b308da6684e0a4|49a50445bdfa4b79ade3547b4f3986e9|0|0|637935018129211529|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=uKOiXf4OzoL9%2BLhX2MouxAaXC6c0c3ZQPFV0o15wCbM%3D&reserved=0.
You are receiving this because you authored the thread.Message ID: @.***>

Hi, I just finished and tested the multi-contig support.
So you may test it.
Regarding the fasta headers, I made several assumptions in the function.
That number of unique header in FASTA, BAM RNAME and COVERAGE file is the same and that they are the same.
If that is too limiting I will think and update it.
I can imagine that they are no mapped reads to certain chromosome/contig which will create another issue and I will think about it.
Just update the package installation and check it.
Robin

Dear Robin,
Many thanks. I will have a look at this and let you know the outcome
Thanks for your assistance and time
Hayley

From: Robin Jugas @.>
Sent: 09 August 2022 20:19
To: robinjugas/CNproScan @.>
Cc: Hayley Joanna Wilson @.>; Author @.>
Subject: Re: [robinjugas/CNproScan] Error in file.exists(bedgraphFile) : invalid 'file' argument (Issue #5)
Hi, I just finished and tested the multi-contig support.
So you may test it.
Regarding the fasta headers, I made several assumptions in the function.
That number of unique header in FASTA, BAM RNAME and COVERAGE file is the same and that they are the same.
If that is too limiting I will think and update it.
I can imagine that they are no mapped reads to certain chromosome/contig which will create another issue and I will think about it.
Just update the package installation and check it.
Robin
—
Reply to this email directly, view it on GitHubhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Frobinjugas%2FCNproScan%2Fissues%2F5%23issuecomment-1209780907&data=05|01|hjw58%40universityofcambridgecloud.onmicrosoft.com|09611aa14632405aad6708da7a3c1620|49a50445bdfa4b79ade3547b4f3986e9|0|0|637956695729365231|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=2uzYcstDe2%2FPo555jHFoEyWwewT4SPlZlnfuHk0wNr0%3D&reserved=0, or unsubscribehttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FATR6G7SBFLX5SSD3QFCEHU3VYKVMBANCNFSM5ZUF54CA&data=05|01|hjw58%40universityofcambridgecloud.onmicrosoft.com|09611aa14632405aad6708da7a3c1620|49a50445bdfa4b79ade3547b4f3986e9|0|0|637956695729365231|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000|||&sdata=G0AZyETAfF1QxABeR5dg34WsMIjtcD7Ty31QVTthFDg%3D&reserved=0.
You are receiving this because you authored the thread.Message ID: @.***>


Missing Favicon

I'm not sure if this is the right repo for the website, but this is all I could find on that.
Describe the bug
The server responds with a 404 on chrome for the favicon.png.
To Reproduce
Steps to reproduce the behavior:

Go to the home page
Notice there is no favicon

Expected behavior
There should be a favicon
Screenshots

@MrGrigri Thanks! Next update will resolve.


Sponsor/Partner updates

Updates the following information:

Changes my affiliation to AWS
Adds AWS as an institutional partner (by virtue of my being there now). Cal Poly remains as a partner due to Ana.
Adds Schmidt Futures and Quansight as sponsors. Cal Poly and NYU have a grant from Schmidt to fund work on "rich context" for JupyterLab (commenting, data registry, metadata work). Quansight has been making in kind donations of parts of some core contributor's time (Saul, Ian, Grant, maybe others).

Brian - can you help me out by reminding me how to preview these changes?

Click on "Show all checks" and then click on the "Details" of deploy/netlify. However, there is a bug in the asset path in netlify that makes it so the new logos won't show up on that build. I will post a screenshot from my local build once I get that working.

Got it building locally, fixing some bugs.

However, there is a bug in the asset path in netlify that makes it so the new logos won't show up on that build

site.baseurl instead of site.url. I've fixed it for the two logos that were added.

Also schmidt is png not svg. Fixed as well.

@Carreau thanks! I spent the afternoon wrestling with the bootstrap grid system. Somehow, adding just one more partner logo caused our already broken usage of the grid system to actually break. Was painful, but I think we are at least semi-using it correctly now. Here are screenshots:

Further down:

Further down:

...had to rebase on your changes so had to force push...

OK everything is rendering fine now.

This could also likely be easier to manipulate if it was templated as well. I'm also pretty sure the solution is not rows, but to force the min-height/width of each log.
Here is a row-less with fixed width/height crudely done in the inspector:

Happy to merge what you did, but I believe that will just be more technical debt and edge cases.

@ellisonbg I have attempted to show you what I mean in #329. Seem to behave a bit better to me; and feel simpler.

I added a comment on your PR, but will give more details here. The problem is that the current DOM structure doesn't follow the bootstrap grid model in terms of which classes are used where. The basic idea is that columns should be inside rows, which would be inside container. The old version had these classes all mixed together in inconsistent ways. The result is that the layout was failing in odd ways and was very fragile. I agree that we should move towards separating out the data/model into yml data. But that is a separate matter from the work done here.
Can you clarify how this adds more technical debt and edge cases?

The basic idea is that columns should be inside rowS, which would be inside container.
Can you clarify how this adds more technical debt and edge cases?

I do not disagree on this per say but with your interpretation.
Note the emphasis of mine on the rows plural.
It was my understanding that using multiple rows is useful only if you know at all time how many items per rows you have and if this number does not change. You also over-constrain in your understanding and in your implementation with "the sum of columns widths in each row should be 12". Which is definitely not true according to boostrap docs
Bootstrap 3.3 introduction:

If more than 12 columns are placed within a single row, each group of extra columns will, as one unit, wrap onto a new line.

So when you have more than 12 elements depending on your case you might want a single "row" div. I agree that the getbootstrap.com does not show a single example of this, and do always have sum(width)<=12 which I understand can add to your confusion.
In our case we are switching from 2 columns/"row" on xs to 4 column per "row" on md. In this case You should avoid baking into the HTML multiple "row" divs to avoid reflow issues. In our case it is hidden as 2 is a divider of 4. but on a md-5/xs-3 for example this would lead to the following with rows on md:
xxxxx
xxxxx

And this on xs:
xxx
xx
xxx
xx

While it would reflow properly w/o rows.  If we had only one of col-*-3 or col-x*-6 I would agree with you; But as we have both classes I think we are just pushing what we ask of bootstrap into what it is not meant to do.
And the issues are shown on the bootstrap website:

Here is an  the same, but with all columns in a single "row" div modified in inspector:

Funnily enough what we are trying to achieve is done on the bootstrap website w/o grid:

And our fix for items of different hight is not to wrap in multiple rows, but to use column reset.

So to summarize, I think you are over-interpreting the "columns" in "rows", and that your implementation looking almost quite right is a fluke. Hope that clarify my thinking and understanding.

The issue I was seeing initially is that the "auto wrapping" was making some really awkward decisions, essentially trying to wedge two logos in to 1 space in the grid (should have taken a screenshot). I started to read the bootstrap docs and could not understand how our usage was consistent with their spec.
In particular, we were not following these rules:

Rows must be placed within a .container (fixed-width) or .container-fluid (full-width) for proper alignment and padding.
Use rows to create horizontal groups of columns.
Content should be placed within columns, and only columns may be immediate children of rows.

We had non-columns children of rows, rows weren't children of containers, nested columns within columns (which is allowed, but we weren't using it as intended), and multiple levels between the container and the rows. Put another way, I read the spec and being designed for things like this:

...

...

    ...

  ....

Whereas we had something more like:

    ...children that are not columns...

        ...

  ...

In trying to debug the layout problems, it was difficult to follow/debug/understand the boostrap spec, when were weren't following it. Along the way I tried to put fixed numbers of things into rows, and clean up the DOM structure, and it eventually started to work in a manner I could reason about.
What I haven't tried is to go back to a single auto-wrapping row with this newly refactored overall DOM structure. More than willing to give that a go. I should also note that there are still minor ways we aren't following the spec (rows are not direct children of containers), but fixing that would require even more substantial changes. I will try to simplify it a bit though and see how it goes.

OK here is an example of what I was referring to. I have arranged the sponsors into a single row with md and xs classes for desktop and mobile. Here is the collapsed DOM structure:

And the result:

I am sure if I dug into the entire bootstrap model and all our css I could figure out what is going on, but it is hard to want to invest the effort to become an expert in the bootstrap 3.x grid model
Open to further suggestions :-)

...
Fair enough, this is at least moving things forward, and if it appear to not work with a ingle row, I suggest we iterate on the CSS in subsequent PR.

Thanks !


feat: built in progress plugin support profile option

Summary
Based on of original progress plugin, I integrate the original logic to progress_handler, and add a new default_handler to print the profile of progress.In the update_throttled function, I chose 50ms as throttle time, in webpack this time is 500ms, maybe this time should discuss.

Test Plan

@faga295 are you still working on this?

Looks like it works now, but  whether keep succeed_module still confused me


Fix INavigationChildrenProps's onPerPageClick

Not sure if currentPerPage and currentPage are necessary here(I was thinking it could possibly be just newPerPage?) but they are used within NavigationPerPage.

It would be nice to add a test in src/components/navigation/Navigation.spec.tsx to validate that the parameters are correctly sent when the user change the "perPage"

Codecov Report

Merging #831 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #831   +/-   ##
=======================================
  Coverage   99.75%   99.75%
=======================================
  Files         276      276
  Lines        7012     7012
  Branches     1719     1719
=======================================
  Hits         6995     6995
  Misses         17       17

Impacted Files
Coverage Δ

src/components/navigation/Navigation.tsx
100% <ø> (ø)
:arrow_up:

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 e5e4a13...af40a75. Read the comment docs.


github.com/spf13/viper integration

Has any thought been given to integrating kingpin with https://github.com/spf13/viper ? This would allow kingpin to be layered on top of viper configuration loading much like the defacto https://github.com/spf13/cobra cli library does.
I find kingpin far more powerful for my uses than cobra, and want to discuss possible integration patterns. There are bind functions into viper that may be a good starting point:
https://godoc.org/github.com/spf13/viper
func (v *Viper) BindEnv(input ...string) error
func (v *Viper) BindFlagValue(key string, flag FlagValue) error
func (v *Viper) BindFlagValues(flags FlagValueSet) (err error)
func (v *Viper) BindPFlag(key string, flag *pflag.Flag) error
func (v *Viper) BindPFlags(flags *pflag.FlagSet) error

And a FlagValue interface (no native arg support) that could be implemented:
https://godoc.org/github.com/spf13/viper#FlagValue
I would be willing to hack at a poc bridge, but figured I would open this for discussion first.

I've never used viper before, but reading the description I'm not 100% clear on how you see this working. As you know, Kingpin has no concept of changes really (though I guess Action could be construed as such). I guess you could write an adapter layer for Kingpin that somehow triggers action callbacks from viper?

It seems using Actions is the correct answer without writing an adapter package. If you supply an action callback to a arg/flag it only gets called when its supplied thus we can explicitly set the viper value during the action callback.
However it is a MUST to parse kingpin AFTER viper has conducted its loading. Example:
package main

import(
    "gopkg.in/alecthomas/kingpin.v2"
    "github.com/spf13/viper"
)

var (
    clifoo = kingpin.Flag("foo", "The foo").Action(func(pc *kinpin.ParseContext) error {
        v := pc.Elements[0].Value
	viper.Set("foo", *v)
	return nil
    }).String()
)

func main() {
    viper.SetConfigName("config")
    viper.AddConfigPath(".")
    viper.SetDefault("foo", "foo config")

    viper.ReadInConfig()
    kingpin.Parse() // kingpin MUST be parsed after viper, to overwrite any values via actions

    log.Prinln(viper.GetString("foo"))
}

@alecthomas can you confirm this is appropriate usage of Actions? If so please close this issue, the above workaround can serve as the example on how to integrate viper and kingpin

Actually looks like we need a function to extract the arg/flag clause value from parse context to do this right. Updated example:
package main

import(
    "gopkg.in/alecthomas/kingpin.v2"
    "github.com/spf13/viper"
)

var (
    clifoo = kingpin.Flag("foo", "The foo").Action(func(pc *kinpin.ParseContext) error {
        v := lookupKingpinValue("foo", pc)
	viper.Set("foo", *v)
	return nil
    }).String()
)

func main() {
    viper.SetConfigName("config")
    viper.AddConfigPath(".")
    viper.SetDefault("foo", "foo config")

    viper.ReadInConfig()
    kingpin.Parse() // kingpin MUST be parsed after viper, to overwrite any values via actions

    log.Prinln(viper.GetString("foo"))
}

func lookupKingpinValue(name string, pc *kingpin.ParseContext) *string {
	for _, el := range pc.Elements {
		switch el.Clause.(type) {
		case *kingpin.ArgClause:
			if (el.Clause).(*kingpin.ArgClause).Model().Name == name {
				return el.Value
			}
		case *kingpin.FlagClause:
			if (el.Clause).(*kingpin.FlagClause).Model().Name == name {
				return el.Value
			}
		}
	}

	def := ""
	return &def
}

Any ideas on how we can make this simpler?

With Kingpin v3 the Action signature has changed to:
type Action func(app *Application, element *ParseElement, context *ParseContext) error

The triggering flag, command or argument can be obtained from the ParseElement, so you should be able to have something like:
func viperAdapter(app *Application, element *ParseElement, context *ParseContext) error {
  var name string
  switch {
  case element.OneOf.Flag != nil:
    name = element.OneOf.Flag.Name
  case element.OneOf.Arg != nil:
    name = element.OneOf.Arg.Name
  case element.OneOf.Cmd != nil:
    name = element.OneOf.Cmd.Name
  }
  viper.Set(name, *element.Value)
  return nil
}

var flag = kingpin.Flag("foo", "The foo").Action(viperAdapter).String()

In fact, there is an application-level Action() that could be used:
kingpin.CommandLine.Action(viperAdapter)

This will be called for any flag, command or argument, though some care should be taken to sanitise the arguments.
That seems like it should suffice for setting, but what about reading values from viper?

Looks like Kingpin could implement a couple of viper interfaces and basically get all the viper goodness pretty easily... that would also solve several other open issues in Kingpin, namely some envar issues, and configuration file loading. I feel ike FlagValueSet might be the way to go, as it would be less intrusive. Thoughts?

Although that would add a dependency on viper, which I'm not sure about. Hmmm.

Hey @alecthomas, sorry to chime in this old issue but I just found it when looking into kingpin-viper integration and I'm not sure why it was closed. ¿Can you elaborate please?

I don’t want to add a dependency on viper, but otherwise I think most of the integration should be possible with Actions?


Error when running the starter kit script

[Enter feedback here]
Hello, while trying the steps in the Purview tutorial here,  the step .\RunStarterKit.ps1 -  errors out with "You must use multi-factor authentication to access tenant". I didn't know a work around to keep MFA in place but still progress. For the time being i disabled mfa on this account and continued with the tutorial. I think it would be helpful to add instructions to let the users know about this potential problem.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: cd2039cb-fc85-a189-1938-57d102a09b2f
Version Independent ID: 4bc83b4b-afcb-8521-a882-628ce151b093
Content: Tutorial: Scan data with Azure Purview (preview) - Azure Purview
Content Source: articles/purview/tutorial-scan-data.md
Service: purview
Sub-service: purview-data-catalog
GitHub Login: @viseshag
Microsoft Alias: viseshag

@subommu - Thanks for bringing this to our attention.
I'm going to assign this to the document author so they can update the document accordingly.

@subommu - Thank you for bringing this to our attention. I am adding a note in the documentation to alert users to this potential issue.

We are working on a more permanent solution for getting started with Purview in future.

Note is added! Thank you again for your contribution.

#please-close


resolveHost:: ERROR hostByName

Trying to run the gateway on a TTGO T-Beam (even with adjusted pins) I get resolveHost:: ERROR hostByName .
11:24:47.509 -> readConfig:: Starting
11:24:47.544 -> .SSID=	XXXXXXX
11:24:47.544 -> .PASS=	YYYYYYY
11:24:47.544 -> .CH=	0
11:24:47.544 -> .SF=	9
11:24:47.544 -> .FCNT=	0
11:24:47.544 -> .DEBUG=	1
11:24:47.544 -> .PDEBUG=	64
11:24:47.544 -> .CAD=	1
11:24:47.544 -> .HOP=	0
11:24:47.544 -> .NODE=	0
11:24:47.544 -> .BOOTS=	1
11:24:47.544 -> .RESETS=	0
11:24:47.544 -> .WIFIS=	3
11:24:47.544 -> .VIEWS=	0
11:24:47.544 -> .REFR=	0
11:24:47.544 -> .REENTS=	0
11:24:47.544 -> .NTPETIM=	0
11:24:47.544 -> .NTPERR=	0
11:24:47.544 -> .NTPS=	0
11:24:47.544 -> .FILEREC=	0
11:24:47.544 -> .FILENO=	0
11:24:47.544 -> .FILENUM=	0
11:24:47.544 -> .DELAY=	0
11:24:47.544 -> .TRUSTED=	1
11:24:47.544 -> .EXPERT=	0
11:24:47.544 -> .SEEN=	0
11:24:47.544 -> .MONITOR=	0
11:24:47.544 -> readConfig:: Fini
11:24:47.544 ->
11:24:47.544 -> MAC: 24:6f:28:97:91:e0, len=17
11:24:47.654 -> 0:1:3. WiFi connect SSID=XXXXXXX, pass=YYYYYYY
11:24:56.683 -> Host esp32-9791e0 WiFi Connected to XXXXXXX on IP=<IP_ADDRESS>
11:24:57.867 -> Gateway ID: 246F28FFFF9791E0, Listening at SF9 on 868.10 MHz.
11:24:58.155 -> resolveHost:: ERROR hostByName
11:24:58.228 -> abort() was called at PC 0x400dddf6 on core 1
11:24:58.228 ->
11:24:58.228 -> Backtrace: 0x4008f200:0x3ffb1e30 0x4008f431:0x3ffb1e50 0x400dddf6:0x3ffb1e70 0x400ddf5e:0x3ffb1e90 0x400e1706:0x3ffb1f30 0x400ef47f:0x3ffb1fb0 0x4008b915:0x3ffb1fd0
11:24:58.228 ->
11:24:58.228 -> Rebooting...
11:24:58.261 -> ets Jun  8 2016 00:22:57
11:24:58.261 ->
11:24:58.261 -> rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
11:24:58.261 -> configsip: 0, SPIWP:0xee
11:24:58.261 -> clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
11:24:58.261 -> mode:DIO, clock div:1
11:24:58.261 -> load:0x3fff0018,len:4
11:24:58.261 -> load:0x3fff001c,len:1044
11:24:58.261 -> load:0x40078000,len:8896
11:24:58.261 -> load:0x40080400,len:5816
11:24:58.261 -> entry 0x400806ac
11:25:01.628 -> readConfig:: Starting
11:25:01.664 -> .SSID=	XXXXXXX
11:25:01.699 -> .PASS=	YYYYYYY
11:25:01.699 -> .CH=	0
11:25:01.699 -> .SF=	9
11:25:01.699 -> .FCNT=	0
11:25:01.699 -> .DEBUG=	1
11:25:01.699 -> .PDEBUG=	64
11:25:01.699 -> .CAD=	1
11:25:01.699 -> .HOP=	0
11:25:01.699 -> .NODE=	0
11:25:01.699 -> .BOOTS=	2
11:25:01.699 -> .RESETS=	0
11:25:01.699 -> .WIFIS=	4
11:25:01.699 -> .VIEWS=	0
11:25:01.699 -> .REFR=	0
11:25:01.699 -> .REENTS=	0
11:25:01.699 -> .NTPETIM=	0
11:25:01.699 -> .NTPERR=	0
11:25:01.699 -> .NTPS=	0
11:25:01.699 -> .FILEREC=	0
11:25:01.699 -> .FILENO=	0
11:25:01.699 -> .FILENUM=	0
11:25:01.699 -> .DELAY=	0
11:25:01.699 -> .TRUSTED=	1
11:25:01.699 -> .EXPERT=	0
11:25:01.699 -> .SEEN=	0
11:25:01.699 -> .MONITOR=	0
11:25:01.699 -> readConfig:: Fini
11:25:01.699 ->
11:25:01.769 -> WARNING:: readSeen, history file not exists /gwayNum.txt
11:25:02.830 -> readConfig:: Starting
11:25:02.865 -> .SSID=	XXXXXXX
11:25:02.865 -> .PASS=	YYYYYYY
11:25:02.865 -> .CH=	0
11:25:02.865 -> .SF=	9
11:25:02.865 -> .FCNT=	0
11:25:02.865 -> .DEBUG=	1
11:25:02.865 -> .PDEBUG=	64
11:25:02.865 -> .CAD=	1
11:25:02.865 -> .HOP=	0
11:25:02.865 -> .NODE=	0
11:25:02.865 -> .BOOTS=	2
11:25:02.865 -> .RESETS=	0
11:25:02.865 -> .WIFIS=	4
11:25:02.865 -> .VIEWS=	0
11:25:02.865 -> .REFR=	0
11:25:02.865 -> .REENTS=	0
11:25:02.865 -> .NTPETIM=	0
11:25:02.865 -> .NTPERR=	0
11:25:02.865 -> .NTPS=	0
11:25:02.865 -> .FILEREC=	0
11:25:02.865 -> .FILENO=	0
11:25:02.865 -> .FILENUM=	0
11:25:02.865 -> .DELAY=	0
11:25:02.865 -> .TRUSTED=	1
11:25:02.865 -> .EXPERT=	0
11:25:02.865 -> .SEEN=	0
11:25:02.865 -> .MONITOR=	0
11:25:02.865 -> readConfig:: Fini
11:25:02.865 ->
11:25:02.865 -> MAC: 24:6f:28:97:91:e0, len=17
11:25:02.975 -> 0:1:3. WiFi connect SSID=XXXXXXX, pass=YYYYYYY

The same here:
resolveHost:: ERROR hostByName

Oops,
I found two nasty typos in _sensors.ino for local sensors ("define GATEWAYNODE 1"), but that is not your problem apparently.
The code compiles and runs OK for my T-beam, but it does not for yours. So I added some text in the code, please run again.
Did it run OK in earlier versions?
Maarten

Hi Maarten,
thank you, looks much better now:
14:18:05.931 -> readConfig:: Starting
14:18:05.931 -> .SSID=	YYYYYYY
14:18:05.963 -> .PASS=	XXXXX
14:18:05.963 -> .CH=	0
14:18:05.963 -> .SF=	9
14:18:05.963 -> .FCNT=	0
14:18:05.963 -> .DEBUG=	1
14:18:05.963 -> .PDEBUG=	64
14:18:05.963 -> .CAD=	1
14:18:05.963 -> .HOP=	0
14:18:05.963 -> .NODE=	0
14:18:05.963 -> .BOOTS=	185
14:18:05.963 -> .RESETS=	0
14:18:05.963 -> .WIFIS=	189
14:18:05.963 -> .VIEWS=	0
14:18:05.963 -> .REFR=	0
14:18:05.963 -> .REENTS=	0
14:18:05.963 -> .NTPETIM=	17
14:18:05.963 -> .NTPERR=	3
14:18:05.963 -> .NTPS=	9
14:18:05.963 -> .FILEREC=	0
14:18:05.963 -> .FILENO=	0
14:18:05.963 -> .FILENUM=	0
14:18:05.963 -> .DELAY=	0
14:18:05.963 -> .TRUSTED=	1
14:18:05.963 -> .EXPERT=	0
14:18:05.963 -> .SEEN=	0
14:18:05.963 -> .MONITOR=	0
14:18:05.963 -> readConfig:: Fini
14:18:05.963 ->
14:18:06.980 -> readConfig:: Starting
14:18:07.046 -> .SSID=	YYYYYYY
14:18:07.080 -> .PASS=	XXXXX
14:18:07.080 -> .CH=	0
14:18:07.080 -> .SF=	9
14:18:07.080 -> .FCNT=	0
14:18:07.080 -> .DEBUG=	1
14:18:07.080 -> .PDEBUG=	64
14:18:07.080 -> .CAD=	1
14:18:07.080 -> .HOP=	0
14:18:07.080 -> .NODE=	0
14:18:07.080 -> .BOOTS=	185
14:18:07.080 -> .RESETS=	0
14:18:07.080 -> .WIFIS=	189
14:18:07.080 -> .VIEWS=	0
14:18:07.080 -> .REFR=	0
14:18:07.080 -> .REENTS=	0
14:18:07.080 -> .NTPETIM=	17
14:18:07.080 -> .NTPERR=	3
14:18:07.080 -> .NTPS=	9
14:18:07.080 -> .FILEREC=	0
14:18:07.080 -> .FILENO=	0
14:18:07.080 -> .FILENUM=	0
14:18:07.080 -> .DELAY=	0
14:18:07.080 -> .TRUSTED=	1
14:18:07.080 -> .EXPERT=	0
14:18:07.080 -> .SEEN=	0
14:18:07.080 -> .MONITOR=	0
14:18:07.080 -> readConfig:: Fini
14:18:07.080 ->
14:18:07.080 -> MAC: 24:6f:28:97:91:e0, len=17
14:18:07.182 -> 0:1:3. WiFi connect SSID=YYYYYYY, pass=XXXXX
14:18:16.232 -> Host esp32-9791e0 WiFi Connected to YYYYYYY on IP=<IP_ADDRESS>
14:18:17.425 -> Gateway ID: 246F28FFFF9791E0, Listening at SF9 on 868.10 MHz.
14:18:58.670 -> writeGwayCfg: Friday 14:18:58
14:18:58.704 -> WWW Server started on port 80
14:19:02.940 -> OLED_ADDR=0x3C
14:19:02.940 -> --------------------------------------
Whats currently not working is:
WIFIMANAGER=1
trying to compile I get
Used: C:\Users\xx\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.4\libraries\WiFi
C:\Users\xx\Documents\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFiType.h:26:19: fatal error: queue.h: No such file or directory
Not used: C:\Users\xx\Documents\Arduino\libraries\ESP8266WiFi
compilation terminated.
OLED is currently not working, though I adapted
#elif _PIN_OUT==5								// TTGO (onboard version used, also for DIY)
#define OLED_SCL 22								// GPIO15 /
#define OLED_SDA 21								// GPIO4 /
#define OLED_RST 16								// Reset pin (Some OLED displays do not have it)
With "adjusted Pins" I meant: I have a more recent T-Beam and I tried to adapt the pins according to
https://github.com/lyusupov/SoftRF/blob/master/software/firmware/source/SoftRF/Platform_ESP32.h

I am also not sure if GPS  is working, with the code in this repository https://github.com/lyusupov/SoftRF  it was working.

On Heltec LoRa 32 (v2)
resolveHost:: ERROR hostByName=your.extra.server

It's working now with Version 6.1..5 i; Remove optional second server

Please read the documentation. The second server is optional, and your.extra.server of in configNode.h as a placeholder. It is NOT a real name.
So if you do not have this server,  do not define it at all ....
Therefore in my latest version of the gateway I did not define it to avoid confusion.
Maarten
Maarten

AXP code can be found here https://github.com/lyusupov/SoftRF/blob/master/software/firmware/source/SoftRF/Platform_ESP32.cpp

Hi,
I will not look into other implementations that much.
The T-Beam works for me, but I have put a wire across pin 33 and pin 22(SCL) in order to get DIO1 connected. How did you do that?
Next you have to figure out how to get OLED working.
Maarten

Hi Maarten,
no, haven´t done that. For SoftRF it worked out of the box and according to https://www.bjoerns-techblog.de/2018/10/ttgo-t-beam-kompakter-knochen-zum-mappen/ it should be no longer necessary. But I can give it a try.
Wolfgang

I read the picture wrong I guess. But pin 33 should be connected to Lora-IO2 as far as I can see.  You have to have DIO1 connected in order to get CAD working.
That means that SDA and SCL should be free for I2C devices like OLED. I cannot see what's wrong with OLED as I do not have that device connected. But with the SDA and SCL devices connected it should work

Hi Maarten,
finally...LED is working, the secret is the initialization of the AXP192:
#include <axp20x.h>

AXP20X_Class pmu;
void AXP192_power(bool on) {
  if (on) {
    pmu.setPowerOutPut(AXP192_LDO2, AXP202_ON);  // Lora on T-Beam V1.0
    pmu.setPowerOutPut(AXP192_LDO3, AXP202_ON);  // Gps on T-Beam V1.0
    pmu.setPowerOutPut(AXP192_DCDC1, AXP202_ON); // OLED on T-Beam v1.0
    // pmu.setChgLEDMode(AXP20X_LED_LOW_LEVEL);
    pmu.setChgLEDMode(AXP20X_LED_BLINK_1HZ);
  } else {
    pmu.setChgLEDMode(AXP20X_LED_OFF);
    pmu.setPowerOutPut(AXP192_DCDC1, AXP202_OFF);
    pmu.setPowerOutPut(AXP192_LDO3, AXP202_OFF);
    pmu.setPowerOutPut(AXP192_LDO2, AXP202_OFF);
  }
}
void AXP192_init() {
    Wire.begin(21, 22);
    if (pmu.begin(Wire, AXP192_SLAVE_ADDRESS))  {
      Serial.println("AXP192 PMU initialization failed");
    }
    else {
Serial.println("Initialzation...");
      // configure AXP192
      pmu.setDCDC1Voltage(3500);              // for external OLED display
      pmu.setTimeOutShutdown(false);          // no automatic shutdown
      pmu.setTSmode(AXP_TS_PIN_MODE_DISABLE); // TS pin mode off to save power

      // switch ADCs on
      pmu.adc1Enable(AXP202_BATT_VOL_ADC1, true);
      pmu.adc1Enable(AXP202_BATT_CUR_ADC1, true);
      pmu.adc1Enable(AXP202_VBUS_VOL_ADC1, true);
      pmu.adc1Enable(AXP202_VBUS_CUR_ADC1, true);

      // switch power rails on
      AXP192_power(true);

      Serial.println("AXP192 PMU initialized");
    }
}

followed by
AXP192_init();
AXP192_power(true);

in the init section.

Hi Maarten, just FYI:

Pins
T_BEAM(AXP192)
T_BEAM_V07

LORA_SCK
5
5

LORA_MISO
19
19

LORA_MOSI
27
27

LORA_SS
18
18

LORA_DI0
26
26

LORA_RST
23
23

GPS_RX_PIN
34
12

GPS_TX_PIN
12
15

I2C_SDA
21
21

I2C_SCL
22
22

PMU_IRQ
35
N/A

USER BUTTON
38
39

GPS_PPS
37
N/A

Modules
T_BEAM_V10
T_BEAM_V07

GPS
LDO3
No support

LORA
LDO2
No support

OLED
DCDC1
No support

Best
Wolfgang

Status update?

Hi Maarten,
now I am able to connect

What´s currently missing in the current code is the initialization via the AXP192 module and the compile problem for the WIFIMANAGER.
Shall I separate this from the message?
Best
Wolfgang

Please separate these issues!
Thanks for the feedback.
Maarten


Issues under WSL2

Issues
Thank you very much for your work. I have attempted to run K3S and CUDA workloads under WSL2. Based on this issue and the files provided by your repository, I have conducted testing and I feel that it is almost successful.
The current issue is that the nvidia device plugin pod can execute nvidia smi, but the logs indicate that the graphics card cannot be recognized.
I suspect it may be due to the unavailability of NVCC. Do you have any ideas?
System：Win11 23H2
Runtime：Docker Desktop 4.28.0 (139021)
nvidia-device-plugin log
$ kubectl logs nvidia-device-plugin-daemonset-vvpkz -n kube-system
I0414 10:00:33.522494       1 main.go:154] Starting FS watcher.
I0414 10:00:33.522555       1 main.go:161] Starting OS watcher.
I0414 10:00:33.522912       1 main.go:176] Starting Plugins.
I0414 10:00:33.522931       1 main.go:234] Loading configuration.
I0414 10:00:33.522979       1 main.go:242] Updating config with default resource matching patterns.
I0414 10:00:33.523113       1 main.go:253]
Running with config:
{
  "version": "v1",
  "flags": {
    "migStrategy": "none",
    "failOnInitError": true,
    "nvidiaDriverRoot": "/",
    "gdsEnabled": false,
    "mofedEnabled": false,
    "plugin": {
      "passDeviceSpecs": true,
      "deviceListStrategy": [
        "envvar"
      ],
      "deviceIDStrategy": "uuid",
      "cdiAnnotationPrefix": "cdi.k8s.io/",
      "nvidiaCTKPath": "/usr/bin/nvidia-ctk",
      "containerDriverRoot": "/driver-root"
    }
  },
  "resources": {
    "gpus": [
      {
        "pattern": "*",
        "name": "nvidia.com/gpu"
      }
    ]
  },
  "sharing": {
    "timeSlicing": {}
  }
}
I0414 10:00:33.523131       1 main.go:256] Retreiving plugins.
I0414 10:00:33.524465       1 factory.go:107] Detected NVML platform: found NVML library
I0414 10:00:33.524495       1 factory.go:107] Detected non-Tegra platform: /sys/devices/soc0/family file not found
I0414 10:00:33.541706       1 main.go:287] No devices found. Waiting indefinitely.

nvidia-device-plugin  pod run nvidia-smi / nvcc
root@nvidia-device-plugin-daemonset-t68w2:/# nvidia-smi
Sun Apr 14 10:25:52 2024
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 550.73.01              Driver Version: 552.12         CUDA Version: 12.4     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 2080 Ti     On  |   00000000:01:00.0 Off |                  N/A |
| 31%   28C    P8             16W /  250W |    1515MiB /  22528MiB |      5%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI        PID   Type   Process name                              GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|  No running processes found                                                             |
+-----------------------------------------------------------------------------------------+
root@nvidia-device-plugin-daemonset-t68w2:/#
root@nvidia-device-plugin-daemonset-t68w2:/# nvcc -V
bash: nvcc: command not found
root@nvidia-device-plugin-daemonset-t68w2:/#

cuda-vector-add  pod describe
$ kubectl describe pod cuda-vector-add
Name:             cuda-vector-add
Namespace:        default
Priority:         0
Service Account:  default
Node:             <none>
Labels:           <none>
Annotations:      <none>
Status:           Pending
IP:
IPs:              <none>
Containers:
  cuda-vector-add:
    Image:      tingweiwu/cuda-vector-add:v0.1
    Port:       <none>
    Host Port:  <none>
    Limits:
      nvidia.com/gpu:  1
    Requests:
      nvidia.com/gpu:  1
    Environment:       <none>
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-fljnc (ro)
Conditions:
  Type           Status
  PodScheduled   False
Volumes:
  kube-api-access-fljnc:
    Type:                    Projected (a volume that contains injected data from multiple sources)
    TokenExpirationSeconds:  3607
    ConfigMapName:           kube-root-ca.crt
    ConfigMapOptional:       <nil>
    DownwardAPI:             true
QoS Class:                   BestEffort
Node-Selectors:              <none>
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
  Type     Reason            Age                  From               Message
  ----     ------            ----                 ----               -------
  Warning  FailedScheduling  16m                  default-scheduler  0/1 nodes are available: 1 Insufficient nvidia.com/gpu. preemption: 0/1 nodes are available: 1 No preemption victims found for incoming pod..
  Warning  FailedScheduling  6m19s (x2 over 11m)  default-scheduler  0/1 nodes are available: 1 Insufficient nvidia.com/gpu. preemption: 0/1 nodes are available: 1 No preemption victims found for incoming pod..

YOu may be able to do a PR with some of the modifications found here to make it work? I don't have a WSL machine to test these on (just Linux), so let me know if they work and contribute back if you can :)

After using k8s-device-plugin:0.15.0-rc.2, K3D on WLS2 can run CUDA load normally. Perhaps a mirror using k8s-device-plugin: rc version can be provided, which would be helpful for users who cannot run Docker build
https://github.com/NVIDIA/k8s-device-plugin/issues/646

@qingfengfenga that's great to know! Read through the closed issue you linked and it seems promising. I'll merge this into main.
When it comes to building the image, I'll create a release candidate one in this repository, but feel free to build it for yourself locally or for your own GHCR registry. Please let me know if the pushed image or your own locally built one isn't working.
Thank you for looking into this! :smile:


ARROW-1644/1599:  Excludes list inside structs fields from schema inference.

Due to this pyarrow bug, we cannot use some fields in our datasets.
However, since these fields are not always mandatory for the use case to be implemented and since data duplication would be too costly, we can afford to ignore it directly when loading the parquet file.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: selitvin:x: Rémy SaissyRémy Saissy seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Sorry, was away for awhile. Will follow up on your PRs today.


[v1.9.x] Port #20903 from master.

Description
Update Jinja2 version in doc builder environment.

Closing as it is already merged https://github.com/apache/incubator-mxnet/pull/20920


lv_ddlist: fix original selected option not restoring on escape

Very simple fix. Drop down list was not restoring the original selected option when escape key was pressed. This would result in the drop down list showing an option selected (whatever happened to be highlighted when escape was pressed) that didn't actual match what was selected.

Thank you!


[BUG] - Problem with app 3.6.1 LOS 21 unreliable, auto tunnel stops connection

Running LOS21 without Gapps on Fairphone 3+ with 3.6.1. Since 3.6.0 massive problems. Auto Tunnel swtops working, even it connects after leaving the home Wifi. I lost lot of calls to my asterisk @ home because my linphone lost connection over wireguard. Looks like it stops the tunnel, even auto tunnel and the correct tunnel is shown as on. Linphone says no connection. But you do not see it if phone is in your jacket. :-( . A Fix would definitely be cool :-)
Any idea what it can be?
Thank you for this cool peace of software. Really love it.

Hey! Can you share some of the auto tunnel settings you have enabled? Do you happen to have wildcards enabled? This should be disabled if you are not using it as it requires extra configuraiton.
Any sharing of your settings and a specific use case/issue that I can try t reproduce would be helpful for me to try and get to the bottom of this. Thanks!

Enclosed the screenshot of the mobile.

sorry, first has not worked

I'm still struggling to understand exactly what is going wrong. Can you describe a very clear scenario of what is going wrong?
It sounds like you're saying when the app is backgrounded that auto tunnel stops working after a while and is no longer correctly toggling the tunnel when you are changing between mobile data and wifi? Is this correct?

Thank you for picking up this issue. Yes, correct. E.g. I leave home WIFI, and auto tunneling connects to the VPN.  Starting with this change, my sip client and other stuff is running through VPN. Easer also switches Owntracks into move mode.
Meanwhile i check every 30 min if I am still connected in the form of opening Linphone and check if it shows connected. If it is orange i open wgtunnel, stop tunnel and auto tunneling and restart auto tunneling. Then it reconnects to the vpn and works again.  I only become aware of this one because I got calls on mobile, that calling the asterisk server with my sip client extension said unreachable.
And yes, battery exception, background mode all is set.
I have not checked the "use kernel module" even I am rooted because I do not fully understand what this does.

same issue, seems like the service does not keep alive. But I had similar issues with Automate Wireguard workflows since I am on android 15 with my Pixel 9. Triple checked every Battery Optimization setting. Should not be an issue.

I installed and run Kaffee while  driving  so display does not lock itself. What I saw - but that is only from a non developer view - that at least in these 2 situations - does not say these are all -  this can happen:
A)  When I enter my car in the garden the home WLAN  is very poor, so the mobile switches WLAN-LTE-WLAN-LTE sometimes
B) I have 2 areas where the mobile switches fro, LTE to HSDPA or worse and later, when leaving the are it switches back to LTE
In both cases this - not always - happened. Is it possible that wgtunnel does not see the connectivity change and still hangs on an old connection, not more valid and working? For me this looked like that way and resetting things , which more or less builds up a new connection made things working again.
Unsure if this helps, but I thought I post it for your info.

So I think this is a race condition issue and that is why we see the irregularity. I've added in protections against this which also allowed for the increased speed auto-tunneling. Please give it a try and see if it improves this issue: https://github.com/zaneschepke/wgtunnel/releases/tag/nightly

Thank you! Will install it and let it run this week.

I had to go back to 3.6.1. The nightly version has not detected the move to mobile reliable and so there was no tunnel when leaving home wifi.

Hello! I believe these issues should be fixed in the latest nightly if anyone is able to confirm.

I will try tomorrow and test it the next days. Thank you!

Just saw 3.6.2 is out. I assume i better move to this one for testing?

3.6.2 worked fine since yesterday, even through this bad connection zones. Thank you for your work.

Great to hear! 3.6.3 is basically the same as 3.6.2, with a couple of crash fixes. I'm glad the logic changes have improved the reliability. I'll mark this as closed for now, but please let me know if you experience issues and we can reopen.


LAB_04L02_Package_AVD_applications_ADDS

Module: 04
Lab/Demo: 02
Exercise: 01
Task: 05
Step: 03
Description of issue
The lab instructs students to open the compressed file, copy its content and paste it into the C:\AllFiles\Labs\04 folder.
However, when you open the compressed file, the contents are a single folder. Task 7, Step 8 has students select c:\allfiles\labs\04\xmlnotepad.msi - however, if they follow the instructions, this will not exist in this location.
The instructions in Task 5, Step 3 should be changed to ensure students copy the contents from within the folder found in the compressed file.

updated


config file for user variables

norch endpoint url and port
categories (fields)

sorting
amount (limit)

buckets (on fields)

sorting
amount (limit)

number of search results returned: pageSize
field to set teaser on

Will just be a more structured variant of the data model function:
https://github.com/eklem/norch-vuejs-app/issues/27


feat: add json support

Description
Closes #28
This PR also makes some internal code changes that don't impact functionality. These changes include:

Improves folder structure. Code is better organized (subjective).
Decouples argument validation for each command.
Code testability. Private methods provided by validator mixin are now testable.

Changes made by this PR set the stage for calVer support.
Type of Change

[x] ✨ New feature (non-breaking change which adds functionality)
[ ] 🛠 Bug fix (non-breaking change which fixes an issue)
[ ] ❌ Breaking change (fix or feature that would cause existing functionality to change)
[x] 🧹 Code refactor
[ ] ✅ Build configuration change
[x] 📝 Documentation
[ ] 🗑 Chore

Looks good! Great job! 😅👍🏼


Fix for Click 8.0.1

Multiple options need an list as default value.

Can you please post a new PyPI release for this fix?

@Kazyini released v1.0.2


Show Docstrings for completion items

Neovim:

VSCode:

Related #469
Close #469

I like this in general! But, I worry about perf. Does this mean that the cmt is processed for every file module that can be found? If so, it's important to test the cases where we complete and get tons of file modules back. Like when completing for "nothing" at the top level for example.
Could you bench this somehow? Preferably in a larger project. We could for example consider doing the lookups for only the first X file modules, and do them lazily as needed.

@aspeddro could we check the perf here somehow?

I'll check this week

I changed it to draft bc the implementation is wrong


As a developer, I want to use a faster field implementation, in wasm

Use implementation based on https://github.com/o1-labs/proof-systems/pull/2638
That PR contains a bug, I will debug the code to use it in our webnode

Currently replacing our field implementation with the optimized one

Faster field was merged: https://github.com/openmina/openmina/pull/939
But webnode is failing to produce proof, I will debug that

But webnode is failing to produce proof, I will debug that

It wasn't related to our new field implementation


Link to example is missing from README

The link to the example in the README is missing:
https://github.com/maplibre/maplibre-rs/blob/f479d01bf699f43289ed3f16a1db5e0241517954/README.md?plain=1#L30

I'll fix this today. I'll also adjust the naming throughout the project.

I added the new and correct link.