btrack doesn't work on multiple movies.

Description:
Hi!
The bayesian tracker cannot find images to track while segmenting multiple movies (past the first one).
Cheers,
Max
Way to reproduce:

Enter the segmentation module;
Set up segmentation for multiple movies (cellpose custom model);
Choose bayesian tracker as a tracker, specify channel;
Check the terminal.

(Optional) Link to data to reproduce error:
No response
Terminal output:
Initializing Segmentation module v1.2.4rc60...
Loading data...
Downloading cellpose_custom (if needed)...

Processing Y:/Max/EXPs/EXP12/1-17\Position_1\Images

-------------------------------------------------------
The folder Y:/Max/EXPs/EXP12/1-17\Position_1\Images
 does not contain the file BF_aligned.npz. Segmenting .tif data.
-------------------------------------------------------

Processing Y:/Max/EXPs/EXP12/1-17\Position_2\Images

Processing Y:/Max/EXPs/EXP12/1-17\Position_3\Images

Processing Y:/Max/EXPs/EXP12/1-17\Position_4\Images

Processing Y:/Max/EXPs/EXP12/1-17\Position_5\Images

Processing Y:/Max/EXPs/EXP12/1-17\Position_6\Images

Processing Y:/Max/EXPs/EXP12/1-17\Position_7\Images

Processing Y:/Max/EXPs/EXP12/1-17\Position_8\Images

Processing Y:/Max/EXPs/EXP12/1-17\Position_9\Images

Processing Y:/Max/EXPs/EXP12/1-17\Position_10\Images

Processing Y:/Max/EXPs/EXP12/1-17\Position_11\Images

Processing Y:/Max/EXPs/EXP12/1-17\Position_12\Images

Processing Y:/Max/EXPs/EXP12/1-17\Position_13\Images

Processing Y:/Max/EXPs/EXP12/1-17\Position_14\Images

Processing Y:/Max/EXPs/EXP12/1-17\Position_15\Images

Processing Y:/Max/EXPs/EXP12/1-17\Position_16\Images

Processing Y:/Max/EXPs/EXP12/1-17\Position_17\Images
Importing cellpose_custom...
-----------------------------------------
Loading Position_1\Images\exp12_xy01_s01_BF.tif...
-----------------------------------------
Segmentation file exp12_xy01_s01_segm_1.npz...
-----------------------------------------
Image shape = (65, 782, 373)
-----------------------------------------
Segmenting with cellpose_custom...
-----------------------------------------
Saving NON-tracked masks of Position_1\Images\exp12_xy01_s01_BF.tif...
[INFO][2023/01/27 12:29:02 PM] Localizing objects from segmentation...
[INFO][2023/01/27 12:29:02 PM] Found intensity_image data
[INFO][2023/01/27 12:29:02 PM] Calculating weighted centroids using intensity_image
[INFO][2023/01/27 12:29:02 PM] Objects are of type: <class 'dict'>
[INFO][2023/01/27 12:29:02 PM] ...Found 1376 objects in 65 frames.
-----------------------------------------
Running BayesianTracker...
[INFO][2023/01/27 12:29:02 PM] Loaded btrack: C:\Users\myermolaie\Miniconda3\envs\acdc\lib\site-packages\btrack\libs\libtracker.DLL
[INFO][2023/01/27 12:29:02 PM] btrack (v0.5.0) library imported
[INFO][2023/01/27 12:29:02 PM] Starting BayesianTracker session
[INFO][2023/01/27 12:29:02 PM] Loading configuration file: C:\Users\myermolaie\Miniconda3\envs\acdc\lib\site-packages\cellacdc\trackers\BayesianTracker\model\cell_config.json
[INFO][2023/01/27 12:29:02 PM] Setting features -> ['area', 'equivalent_diameter']
[INFO][2023/01/27 12:29:02 PM] Objects are of type: <class 'list'>
[INFO][2023/01/27 12:29:02 PM] Setting volume -> ((0, 373), (0, 782), (-100000.0, 100000.0))
[INFO][2023/01/27 12:29:02 PM] Starting tracking...
[INFO][2023/01/27 12:29:02 PM] Update using: ['MOTION']
[INFO][2023/01/27 12:29:02 PM] Tracking objects in frames 0 to 65 (of 65)...
[INFO][2023/01/27 12:29:02 PM]  - Timing (Bayesian updates: 0.00ms, Linking: 0.00ms)
[INFO][2023/01/27 12:29:02 PM]  - Probabilities (Link: 1.00000, Lost: 0.76703)
[INFO][2023/01/27 12:29:02 PM] SUCCESS.
[INFO][2023/01/27 12:29:02 PM]  - Found 176 tracks in 65 frames (in 0.0s)
[INFO][2023/01/27 12:29:02 PM]  - Inserted 115 dummy objects to fill tracking gaps
[INFO][2023/01/27 12:29:02 PM] Loading hypothesis model: cell_hypothesis
[INFO][2023/01/27 12:29:02 PM] Calculating hypotheses (relax: True)...
[INFO][2023/01/27 12:29:02 PM] Setting up constraints matrix for global optimisation...
[INFO][2023/01/27 12:29:02 PM] Using GLPK options: {'tm_lim': 60000}...
[INFO][2023/01/27 12:29:02 PM] Optimizing...
GLPK Integer Optimizer 5.0
704 rows, 752 columns, 1246 non-zeros
752 integer variables, all of which are binary
Preprocessing...
352 rows, 752 columns, 1246 non-zeros
752 integer variables, all of which are binary
Scaling...
 A: min|aij| =  1.000e+00  max|aij| =  1.000e+00  ratio =  1.000e+00
Problem data seem to be well scaled
Constructing initial basis...
Size of triangular part is 352
Solving LP relaxation...
GLPK Simplex Optimizer 5.0
352 rows, 752 columns, 1246 non-zeros
*     0: obj =   1.454005787e+03 inf =   0.000e+00 (287)
*   180: obj =   5.798615821e+02 inf =   0.000e+00 (0)
OPTIMAL LP SOLUTION FOUND
Integer optimization begins...
Long-step dual simplex will be used
+   180: mip =     not found yet >=              -inf        (1; 0)
+   185: >>>>>   5.816734809e+02 >=   5.814786706e+02 < 0.1% (5; 0)
+   186: mip =   5.816734809e+02 >=     tree is empty   0.0% (0; 9)
INTEGER OPTIMAL SOLUTION FOUND
[INFO][2023/01/27 12:29:02 PM] Optimization complete. (Solution: optimal)
[INFO][2023/01/27 12:29:02 PM]  - Fates.FALSE_POSITIVE: 24 (of 176)
[INFO][2023/01/27 12:29:02 PM]  - Fates.LINK: 32 (of 130)
[INFO][2023/01/27 12:29:02 PM]  - Fates.DIVIDE: 24 (of 94)
[INFO][2023/01/27 12:29:02 PM]  - Fates.INITIALIZE_BORDER: 15 (of 24)
[INFO][2023/01/27 12:29:02 PM]  - Fates.INITIALIZE_FRONT: 6 (of 13)
[INFO][2023/01/27 12:29:02 PM]  - Fates.INITIALIZE_LAZY: 51 (of 139)
[INFO][2023/01/27 12:29:02 PM]  - Fates.TERMINATE_BORDER: 3 (of 11)
[INFO][2023/01/27 12:29:02 PM]  - Fates.TERMINATE_BACK: 87 (of 107)
[INFO][2023/01/27 12:29:02 PM]  - Fates.TERMINATE_LAZY: 6 (of 58)
[INFO][2023/01/27 12:29:02 PM]  - TOTAL: 752 hypotheses
[INFO][2023/01/27 12:29:02 PM] Completed optimization with 144 tracks
[INFO][2023/01/27 12:29:02 PM] Opening HDF file: Y:/Max/EXPs/EXP12/1-17\Position_1\Images\exp12_xy01_s01_btrack_tracks.h5...
[INFO][2023/01/27 12:29:02 PM] Writing objects/obj_type_1
[INFO][2023/01/27 12:29:02 PM] Writing labels/obj_type_1
[INFO][2023/01/27 12:29:02 PM] Loading objects/obj_type_1 (1376, 5) (1376 filtered: None)
[INFO][2023/01/27 12:29:02 PM] Writing properties/obj_type_1/area (1376,)
[INFO][2023/01/27 12:29:02 PM] Writing properties/obj_type_1/equivalent_diameter (1376,)
[INFO][2023/01/27 12:29:02 PM] Writing tracks/obj_type_1
[INFO][2023/01/27 12:29:02 PM] Writing dummies/obj_type_1
[INFO][2023/01/27 12:29:02 PM] Writing LBEP/obj_type_1
[INFO][2023/01/27 12:29:02 PM] Writing fates/obj_type_1
[INFO][2023/01/27 12:29:02 PM] Closing HDF file: Y:/Max/EXPs/EXP12/1-17\Position_1\Images\exp12_xy01_s01_btrack_tracks.h5
[INFO][2023/01/27 12:29:02 PM] Ending BayesianTracker session
-----------------------------------------
Applying BayesianTracker tracks...
100%|███████████████████████████████████████████████████████████████| 65/65 [00:02<00:00, 29.99it/s]
-----------------------------------------
Saving Position_1\Images\exp12_xy01_s01_BF.tif...
-----------------------------------------
Position_1\Images\exp12_xy01_s01_BF.tif segmented!
-----------------------------------------
Loading Position_2\Images\exp12_xy02_s02_BF_aligned.npz...
-----------------------------------------
Segmentation file exp12_xy02_s02_segm_1.npz...
-----------------------------------------
Image shape = (65, 245, 604)
-----------------------------------------
Segmenting with cellpose_custom...
-----------------------------------------
Saving NON-tracked masks of Position_2\Images\exp12_xy02_s02_BF_aligned.npz...
Traceback (most recent call last):
  File "C:\Users\myermolaie\Miniconda3\envs\acdc\lib\site-packages\cellacdc\segm.py", line 383, in run
    tracked_stack = self.tracker.track(
TypeError: track() missing 1 required positional argument: 'image'

Version information:
>>> import sys; print(sys.version)
3.9.15 (main, Nov 24 2022, 14:39:17) [MSC v.1916 64 bit (AMD64)]
>>> import platform; print(platform.platform())
Windows-10-10.0.19045-SP0
>>> import cellacdc; print(f'Cell-ACDC version: {cellacdc.__version__}')
Cell-ACDC version: 1.2.4rc60

Wow, I would have never expected that, thanks for spotting it! I will fix it soon

Hi Max, I just released v1.2.4rc61 with a fix for this issue.
To update, activate the acdc environment and run the command pip install --upgrade cellacdc.
Let me know if it works, thanks!
Cheers,
Francesco

Hi Max,
I just released v1.2.4rc62 because we found a bug when computing numerical features of more than two channels. If you need to do that make sure you update to the latest version first. Thanks!
Cheers,
Francesco


Delete multiple objects using lakeFS API

Having to delete a large number of objects requires multiple calls to the server.
Currently alternatives will be to use the client side implementation using lakectl recursive delete or the S3 gateway delete-objects request.
Our open API is missing the use-case of deleting a large set of specific objects.
The API should enable the same functionality as the s3 delete-objects.
When all objects are delete it will return 204 No Content to indicate that all objects where deleted.
In case there is an error 200 OK will be return with a list of responses where the caller can identify which object failed to delete.
The operation is not atomic and in case of any error all objects that were deleted will not be restored as part of the request.

for reference, the documentation of S3's bulk delete API: DeleteObjects.
A few notes about it:

it always returns a successful response. Errors, if any exist in the response body, so it must be parsed.
it supports a "quiet" mode, in which successful deletions are not returned in the response body - only errors are returned.
the default mode is "verbose" in which all keys are returned, regardless of their success/error status
just like deleting a single object, a successful deletion does not indicate the object existed at the time of deletion.

It would also be nice to add support for query option called “failFast” that will cause the request to return immediately when one of the object deletions were failed.


[ONNX] Convolution operation.

Please merge after #1377 is merged.

Have some problems with generating correct model for testing convolution with bias. Don't know why the code below generates model with no outputs, even though the graph contains output as you may see in the script console output.
import onnx
from onnx.helper import make_node, make_graph, make_tensor_value_info, make_model
from string import ascii_uppercase
import numpy as np

def get_node_model(op_type, output_shapes, *input_data,  opset=1,
      num_outputs=1, **node_attributes):
   node_inputs = [np.array(data) for data in input_data]
   num_inputs = len(node_inputs)
   node_input_names = [ascii_uppercase[idx] for idx in range(num_inputs)]
   node_output_names = [ascii_uppercase[num_inputs + idx] for idx in range(num_outputs)]

   print('inputs: ' + str([str(n) for n in node_input_names]))
   print('outputs: ' + str([str(n) for n in node_output_names]))
   onnx_node = make_node(op_type, node_input_names, node_output_names, **node_attributes)
   print('onnx_node: ' + str(onnx_node))
   input_tensors = [make_tensor_value_info(name, onnx.TensorProto.FLOAT, value.shape)
                       for name, value in zip(onnx_node.input, node_inputs)]
   output_tensors = [make_tensor_value_info(name, onnx.TensorProto.FLOAT, shape)
                        for name, shape in zip(onnx_node.output, output_shapes)]

   print('output_tensors: ' + str([str(n) for n in output_tensors]))
   graph = make_graph([onnx_node], 'compute_graph', input_tensors, output_tensors)
   print('graph: ' + str(graph))
   model = make_model(graph, producer_name='ONNXNgraphImporter')
   model.opset_import[0].version = opset
   return model

x = np.array([[[[0., 1., 2., 3., 4.],  # (1, 1, 7, 5) input tensor
                [5., 6., 7., 8., 9.],
                [10., 11., 12., 13., 14.],
                [15., 16., 17., 18., 19.],
                [20., 21., 22., 23., 24.],
                [25., 26., 27., 28., 29.],
                [30., 31., 32., 33., 34.]]]]).astype(np.float32)

W = np.array([[[[1., 1., 1.],  # (1, 1, 3, 3) tensor for convolution weights
                [1., 1., 1.],
                [1., 1., 1.]]]]).astype(np.float32)

b = np.array([2]).astype(np.float32)

model = get_node_model('Conv', [(1,1,4,3)], x, W, b, kernel_shape=[3,3],
                        pads=[1,1,1,1], strides=[2,2])
onnx.save_model(model, 'conv_with_strides_padding_bias.onnx')

@arogowie-intel I don't know why you had a problem with your script. I ran the same code and got an ONNX model with proper inputs and outputs. Added fixed model.

I'm gettting compilation errors and warnings when trying to compile current version:
[  4%] Building CXX object src/ngraph/frontend/onnx_import/CMakeFiles/onnx_import.dir/op/conv.cpp.o
In file included from ngraph/src/ngraph/frontend/onnx_import/op/conv.cpp:21:
In file included from ngraph/src/ngraph/frontend/onnx_import/op/conv.hpp:19:
ngraph/src/ngraph/frontend/onnx_import/exceptions.hpp:32:44: error: invalid
      operands to binary expression ('const std::string' (aka 'const basic_string<char, char_traits<char>,
      allocator<char> >') and 'const char *')
                    : ngraph_error{op_name + " node (" + name + "): " + message}
                                   ~~~~~~~ ^ ~~~~~~~~~
/Library/Developer/CommandLineTools/usr/include/c++/v1/iterator:765:1: note: candidate template ignored: could not
      match 'reverse_iterator<type-parameter-0-0>' against 'char const[8]'
operator+(typename reverse_iterator<_Iter>::difference_type __n, const reverse_iterator<_Iter>& __x)
^
/Library/Developer/CommandLineTools/usr/include/c++/v1/iterator:1184:1: note: candidate template ignored: could not
      match 'move_iterator<type-parameter-0-0>' against 'char const[8]'
operator+(typename move_iterator<_Iter>::difference_type __n, const move_iterator<_Iter>& __x)
^
/Library/Developer/CommandLineTools/usr/include/c++/v1/iterator:1597:1: note: candidate template ignored: could not
      match '__wrap_iter<type-parameter-0-0>' against 'const char *'
operator+(typename __wrap_iter<_Iter>::difference_type __n,
^
In file included from ngraph/src/ngraph/frontend/onnx_import/op/conv.cpp:21:
In file included from ngraph/src/ngraph/frontend/onnx_import/op/conv.hpp:19:
ngraph/src/ngraph/frontend/onnx_import/exceptions.hpp:44:48: error: invalid
      operands to binary expression ('const std::string' (aka 'const basic_string<char, char_traits<char>,
      allocator<char> >') and 'const char *')
                        : ngraph_error{op_name + " node (" + name + "): " + message}
                                       ~~~~~~~ ^ ~~~~~~~~~
/Library/Developer/CommandLineTools/usr/include/c++/v1/iterator:765:1: note: candidate template ignored: could not
      match 'reverse_iterator<type-parameter-0-0>' against 'char const[8]'
operator+(typename reverse_iterator<_Iter>::difference_type __n, const reverse_iterator<_Iter>& __x)
^
/Library/Developer/CommandLineTools/usr/include/c++/v1/iterator:1184:1: note: candidate template ignored: could not
      match 'move_iterator<type-parameter-0-0>' against 'char const[8]'
operator+(typename move_iterator<_Iter>::difference_type __n, const move_iterator<_Iter>& __x)
^
/Library/Developer/CommandLineTools/usr/include/c++/v1/iterator:1597:1: note: candidate template ignored: could not
      match '__wrap_iter<type-parameter-0-0>' against 'const char *'
operator+(typename __wrap_iter<_Iter>::difference_type __n,
^
In file included from ngraph/src/ngraph/frontend/onnx_import/op/conv.cpp:21:
In file included from ngraph/src/ngraph/frontend/onnx_import/op/conv.hpp:20:
In file included from ngraph/src/ngraph/frontend/onnx_import/node.hpp:25:
In file included from ngraph/cmake-build-debug/src/ngraph/frontend/onnx_import/onnx.pb.h:9:
ngraph/cmake-build-debug/protobuf/src/src/google/protobuf/stubs/common.h:215:29: warning:
      dynamic exception specifications are deprecated [-Wdeprecated-dynamic-exception-spec]
  virtual ~FatalException() throw();
                            ^~~~~~~
ngraph/cmake-build-debug/protobuf/src/src/google/protobuf/stubs/common.h:215:29: note:
      use 'noexcept' instead
  virtual ~FatalException() throw();
                            ^~~~~~~
                            noexcept
ngraph/cmake-build-debug/protobuf/src/src/google/protobuf/stubs/common.h:217:36: warning:
      dynamic exception specifications are deprecated [-Wdeprecated-dynamic-exception-spec]
  virtual const char* what() const throw();
                                   ^~~~~~~
ngraph/cmake-build-debug/protobuf/src/src/google/protobuf/stubs/common.h:217:36: note:
      use 'noexcept' instead
  virtual const char* what() const throw();
                                   ^~~~~~~
                                   noexcept
In file included from ngraph/src/ngraph/frontend/onnx_import/op/conv.cpp:21:
In file included from ngraph/src/ngraph/frontend/onnx_import/op/conv.hpp:20:
In file included from ngraph/src/ngraph/frontend/onnx_import/node.hpp:25:
In file included from ngraph/cmake-build-debug/src/ngraph/frontend/onnx_import/onnx.pb.h:25:
In file included from ngraph/cmake-build-debug/protobuf/src/src/google/protobuf/generated_message_table_driven.h:35:
ngraph/cmake-build-debug/protobuf/src/src/google/protobuf/map_entry_lite.h:357:35: warning:
      declaration shadows a local variable [-Wshadow]
          typename Map::size_type size = map_->size();
                                  ^
ngraph/cmake-build-debug/protobuf/src/src/google/protobuf/map_entry_lite.h:352:13: note:
      previous declaration is here
        int size;
            ^
In file included from ngraph/src/ngraph/frontend/onnx_import/op/conv.cpp:21:
In file included from ngraph/src/ngraph/frontend/onnx_import/op/conv.hpp:21:
ngraph/src/ngraph/frontend/onnx_import/util/broadcasting.hpp:37:23: warning:
      parameter 'axis' not found in the function declaration [-Wdocumentation]
             * @param axis         The axis along which we want to replicate elements. The starting
                      ^~~~
ngraph/src/ngraph/frontend/onnx_import/util/broadcasting.hpp:37:23: note: did you
      mean 'start_match_axis'?
             * @param axis         The axis along which we want to replicate elements. The starting
                      ^~~~
                      start_match_axis
ngraph/src/ngraph/frontend/onnx_import/util/broadcasting.hpp:68:23: warning: no
      newline at end of file [-Wnewline-eof]
} // namespace  ngraph
                      ^
In file included from ngraph/src/ngraph/frontend/onnx_import/op/conv.cpp:21:
In file included from ngraph/src/ngraph/frontend/onnx_import/op/conv.hpp:22:
ngraph/src/ngraph/frontend/onnx_import/util/conv_pool.hpp:53:37: warning: implicit
      conversion increases floating-point precision: 'float' to 'double' [-Wdouble-promotion]
                            return (static_cast<float>(dim) - 1.) / 2.;
                                    ^~~~~~~~~~~~~~~~~~~~~~~ ~
ngraph/src/ngraph/frontend/onnx_import/util/conv_pool.hpp:111:78: warning: use of
      old-style cast [-Wold-style-cast]
                    "strides", std::vector<std::size_t>(kernel_shape.size(), (std::size_t)1))};
                                                                             ^            ~
ngraph/src/ngraph/frontend/onnx_import/util/conv_pool.hpp:136:80: warning: use of
      old-style cast [-Wold-style-cast]
                    "dilations", std::vector<std::size_t>(kernel_shape.size(), (std::size_t)1))};
                                                                               ^            ~
ngraph/src/ngraph/frontend/onnx_import/util/conv_pool.hpp:171:74: warning: use of
      old-style cast [-Wold-style-cast]
                    pads = std::vector<std::size_t>(kernel_shape.size(), (std::size_t)0);
                                                                         ^            ~

This PR has grown too large. We’ll need to split it into smaller pieces.

@postrational are you saying don't merge this? If so, please make it a changes requested.

This code was merged as a series of smaller PRs.


ELM-1312 Add internal bucket for transfering landing bucket data

Is it worth adding the functionality for moving objects between the buckets as part of the sme PR? Remind me how you were planning to do that again (have you got a diagram you can show me)?

Is it worth adding the functionality for moving objects between the buckets as part of the sme PR? Remind me how you were planning to do that again (have you got a diagram you can show me)?

Yeah, I've written that code, just atomic committing!

@pricemg Terraform plan evalaution detected changes to resources that require approval from a member of @ministryofjustice/modernisation-platform

Note that I'm going to merge this now and open a new PR to complete the work as don't want to keep bothering MP team for continued approvals.


How to disable console output of any required step ?

Hello community,
I have a sample scenario file:

{
  "scenarioName": "Disable Console Output Demo",
  "steps": [
    {
      "name": "Step with Console Output",
      "url": "/api/resource",
      "method": "GET",
      "request": {
        "headers": {
          "Authorization": "Bearer your_token"
        }
      },
      "assertions": {
        "status": 200
      }
    },
    {
      "name": "Step without Console Output",
      "url": "/api/other_resource",
      "method": "POST",
      "request": {
        "data": {
          "key": "value"
        }
      },
      "assertions": {
        "status": 201
      },
      "print": false  // Set the "print" attribute to false to disable console output
    }
  ]
}

I would like to hide the output from displaying on the console. How can I achieve this?

AC1:
Things such as Credentials(e.g. passwords,passcodes, secrets), authentication tokens for REST APIs and various other credentials to connect to services such as secret etc should not be printed to both console and logs.
Implementation:

Mask these fields in the output e.g. "masked". Then displaying/printing to the console/log is fine.
Provide mechanism which allows a field to be displayed as masked in the output

e.g.
Usual way:
"Authorization": "Basic ${$.get_credentials.response.authentication_token}"
Masked way:
"Authorization": "Basic $MASKED:${$.get_credentials.response.authentication_token}"

Output:
"Authorization": "Basic ***masked***"

e.g.
"Authorization": "Basic ${$.get_credentials.response.authentication_token}"
"Authorization": "$MASKED:Basic ${$.get_credentials.response.authentication_token}"

Output:
"Authorization": "***masked***"

e.g.
"secrets": "${SYSTEM.PROPERTY:secrets}"
"secrets": "$MASKED:${SYSTEM.PROPERTY:secrets}"

Output:
"secrets": "***masked***"

e.g.
"secrets": "secret123"
"secrets": "$MASKED:secret123"

Output:
"secrets": "***masked***"

AC2:
So the output of the first step should be hidden in the console(and log files), but the response should still be accessed by the successive steps
e.g.
to authenticate again the test-stpe needs these tokens in situations like SSO and non-SSO infra.

IMPLEMENTATION GUIDANCE
Follow the $CONTAINS.STRING: implementation for implementing $MASKED:

@sudhindra95 , can you please fill the "TODO - 1) " and "TODO - 2) " sections above when you get chance?

@authorjapps

I am storing credentials related to Cassandra, authentication tokens for REST APIs and various other credentials to connect to services in a secret.properties file which will be sent through command line as -Dsecrets=/path/to/secrets/file and the values stored in it will be output in Zerocode which will be used by some other step while connecting to services/databases.
For example:
{ "scenarioName": "My sample scenario", "steps": [  {    "name": "get_credentials",    "url": "com.demo.GetCredentials",    "method": "fetchSecrets",    "request": {      "secrets": "${SYSTEM.PROPERTY:secrets}"    },    "assertions":{      "result": "$NOT.NULL"    }  }, {    "name": "get_solr_data",    "url": "${$.get_credentials.response.solr_url}/query",    "method": "GET",    "request": {      "headers": {        "Authorization": "Basic ${$.get_credentials.response.authentication_token}"      },      "queryParams":{        "q": "*:*",        "q.op": "OR",        "fq": "user_id:123"      }    },    "assertions": {      "status": 200,      "body": {        "response.docs[0].user_id": "123"      }    }  } ] }
In this first step, the credentials read from the secrets file will be displayed in the Zerocode console (current feature which needs to be hidden).
The credentials read from the previous(authentication token) will be used to connect to REST API (Solr in my case).

As the credentials are secrets of a team/org, they should not be displayed in the console which can be seen by others and accessed. So the output of the first step should be hidden in the console but the response should still be accessed by the successive steps.

Hello, I have now updated the ACs. Please have a look and then, can you please confirm if you're happy and it will solve your problem?

Hi @nirmalchandra ,While the implementation of accessing secrets via $MASKED appears promising, there is uncertainty regarding how to effectively display the masked value when outputting it.
Specifically, in https://github.com/authorjapps/zerocode/issues/603#issuecomment-1848848872, the get_credentials step retrieves data from the secrets file passed through command line parameters (-Dsecrets) and displays it on the console for the 'get_solr_data' step to access the authentication token. The challenge lies in masking this outputted data to ensure secure handling for subsequent steps, allowing access using $MASKED:Basic ${$.get_credentials.response.authentication_token}

Hi @nirmalchandra ,While the implementation of accessing secrets via $MASKED appears promising, there is uncertainty regarding how to effectively display the masked value when outputting it. Specifically, in #603 (comment), the get_credentials step retrieves data from the secrets file passed through command line parameters (-Dsecrets) and displays it on the console for the 'get_solr_data' step to access the authentication token. The challenge lies in masking this outputted data to ensure secure handling for subsequent steps, allowing access using $MASKED:Basic ${$.get_credentials.response.authentication_token}

Got you. You're right in thinking the next usage of the secret field in subsequent steps.
Then, in the following situation:
>> to ensure secure handling for subsequent steps
"$MASKED:" should be used again imo, otherwise the logger will print the content in plaintext.
I think the framework should provide the masking as well as plaintext ability of any field(secret fields in this case).
It's the developer/tester, who should use it as per their requirements.

Also there is another suggestion to solve this:
Solution-2

When a field is marked as$MASKED, then print the content as "masked" from then onwards including where it is referenced in the subsequent steps.

But this might be challenging to implement it in terms of identifying whether that field was marked as "MASKED" earlier.
Hence, until the Solution-2 is analysed thoroughly, it'll be better to implement the basic "$MASKED" solution which might at least unblock you.
Only caveat here is you need to use this "$MASKED" in every steps where this "secret" is reused/referenced.
Let me know your thoughts anyways if you see any other problems or sideeffects.

Please let me know when this feature will be released

@sudhindra95  anyone working on this

@sudhindra95 anyone working on this

@sudhindra95,
As the requirements looking fine now,
Someone needs to work on this, as it's open for collaboration!

Hello, This is my first time contributing to this project, is this a good issue to start with?

Hello, This is my first time contributing to this project, is this a good issue to start with?

@DohaRamadan. Thanks for your interest.
This particular one may be a slight tidious one to start with.
But you can still help us in adding few unit tests and few integration tests to cover the feature and make sure there are no CI failures after that(or fix it if there may any).
If you're ok, I will try to push the initial framework code by next week(work in progress ⚠ and still trying to figure out the solution).
Is this fine with you?

Hello, This is my first time contributing to this project, is this a good issue to start with?

@DohaRamadan. Thanks for your interest. This particular one may be a slight tidious one to start with. But you can still help us in adding few unit tests and few integration tests to cover the feature and make sure there are no CI failures after that(or fix it if there may any).
If you're ok, I will try to push the initial framework code by next week(work in progress ⚠ and still trying to figure out the solution).
Is this fine with you?

Yeah sounds great!
Can you suggest an issue that would be good for first-time-contributors?

Hello, This is my first time contributing to this project, is this a good issue to start with?

@DohaRamadan. Thanks for your interest. This particular one may be a slight tidious one to start with. But you can still help us in adding few unit tests and few integration tests to cover the feature and make sure there are no CI failures after that(or fix it if there may any).
If you're ok, I will try to push the initial framework code by next week(work in progress ⚠ and still trying to figure out the solution).
Is this fine with you?

Yeah sounds great! Can you suggest an issue that would be good for first-time-contributors?

Ok. You can now use this PR : https://github.com/authorjapps/zerocode/pull/618

Fixed.
The following are sample test scenarios and their run logs.
These can be used for Documentation purpose.
{
    "scenarioName": "Masked Secret path as step param - Reusable Secret or Bearer token",
    "steps": [
        {
            "name": "get_balance_via_secret_token",
            "url": "/home/accounts/123/balance",
            "operation": "GET",
            "request": {
                "headers": {
                    "Authorization": "Bearer ${MASKED:token1002003004}",
                    "request-bank-name": "${MASKED:HSBC}",
                    "secretCode": "${MASKED:Amazing}"
                }

            },
            "assertions": {
                "status": 200,
                "body" : {
                    "balance" : 3900,
                    "name" : "${$.get_balance_via_secret_token.request.headers.request-bank-name}",
                    "current" : true
                }
            }
        },
        {
            "name": "find_match",
            "url": "/api/v1/search/persons",
            "method": "GET",
            "request": {
                "queryParams": {
                    "lang": "${$.get_balance_via_secret_token.request.headers.secretCode}",
                    "city": "${MASKED:Lon}"
                }
            },
            "verify": {
                "status": 200,
                "body": {
                    "exactMatches": true,
                    "name": "Mr Bean",
                    "lang": "${$.get_balance_via_secret_token.request.headers.secretCode}",
                    "city": "${$.find_match.request.queryParams.city}"
                }
            }
        }

    ]
}

Run log or Console logs:
-----------------------------------------------------------------------------------

Scenario:
+++++++++

Masked Secret path as step param - Reusable Secret or Bearer token
-----------------------------------------------------------------------------------

--------- TEST-STEP-CORRELATION-ID: 204cadc1-5d2a-435f-b67d-935f2392b1e2 ---------
*requestTimeStamp:2024-02-07T20:32:49.296
step:get_balance_via_secret_token
id:None
url:http://localhost:9998/home/accounts/123/balance
method:GET
request:
{
  "headers" : {
    "Authorization" : "Bearer ***masked***",
    "request-bank-name" : "***masked***",
    "secretCode" : "***masked***"
  }
}
--------- TEST-STEP-CORRELATION-ID: 204cadc1-5d2a-435f-b67d-935f2392b1e2 ---------
Response:
{
  "status" : 200,
  "headers" : {
    "Date" : [ "Wed, 07 Feb 2024 20:32:49 GMT" ],
    "Last-Modified" : [ "Wed, 07 Feb 2024 20:32:49 GMT" ],
    "Transfer-Encoding" : [ "chunked" ],
    "Content-Type" : [ "application/json" ],
    "Connection" : [ "keep-alive" ]
  },
  "body" : {
    "balance" : 3900,
    "name" : "HSBC",
    "current" : true
  }
}
*responseTimeStamp:2024-02-07T20:32:49.302
*Response delay:6.0 milli-secs
---------> Expected Response: <----------
{
  "status" : 200,
  "body" : {
    "balance" : 3900,
    "name" : "***masked***",
    "current" : true
  }
}

-done-

--------- TEST-STEP-CORRELATION-ID: 2e04e240-abcb-44c4-86da-d9155d5a71c6 ---------
*requestTimeStamp:2024-02-07T20:32:49.304
step:find_match
id:None
url:http://localhost:9998/api/v1/search/persons
method:GET
request:
{
  "queryParams" : {
    "lang" : "***masked***",
    "city" : "***masked***"
  }
}
--------- TEST-STEP-CORRELATION-ID: 2e04e240-abcb-44c4-86da-d9155d5a71c6 ---------
Response:
{
  "status" : 200,
  "headers" : {
    "Date" : [ "Wed, 07 Feb 2024 20:32:49 GMT" ],
    "Last-Modified" : [ "Wed, 07 Feb 2024 20:32:49 GMT" ],
    "Transfer-Encoding" : [ "chunked" ],
    "Content-Type" : [ "application/json" ],
    "Connection" : [ "keep-alive" ]
  },
  "body" : {
    "exactMatches" : true,
    "name" : "Mr Bean",
    "lang" : "Amazing",
    "city" : "Lon"
  }
}
*responseTimeStamp:2024-02-07T20:32:49.308
*Response delay:4.0 milli-secs
---------> Expected Response: <----------
{
  "status" : 200,
  "body" : {
    "exactMatches" : true,
    "name" : "Mr Bean",
    "lang" : "***masked***",
    "city" : "***masked***"
  }
}

-done-

Pending:

Update the Documentation(docs) with how to use this feature
To update docs, here are the collaboration guidelines(easy steps)

Available in 1.3.36 and higher versions when released.
Pending:
* Update the Documentation(docs) with how to use this feature

* To update docs, here are the [collaboration guidelines(easy steps)](https://github.com/authorjapps/zerocode/tree/master?tab=readme-ov-file#documentation)

Basic Doc added.
https://github.com/authorjapps/zerocode-tdd-docs/pulls

Doc link in here:
https://zerocode-tdd-docs.pages.dev/
--> Look for "MASK" or "secret"

Thank you. I hope the secrets will be read by the step when passed as "${MASKED:${SYSTEM.PROPERTY:secrets}}", where secrets refers to data passed in command line arguments as -Dsecrets=<secrets/tokens>

Thank you @authorjapps . I hope the secrets will be read by the step when passed as "${MASKED:${SYSTEM.PROPERTY:secrets}}", where secrets refers to data passed in command line arguments as -Dsecrets=<secrets/tokens>

@sudhindra95 , understood.
Best way to check is to add a scenario with your above use case and test.
How?
Ans: Fork from current 'master' and run your scenario locally at your laptop or desktop.
And/Or
Share the runnable scenario here, I can try to execute and check.
Hope it helps.


highliting isn't semantic aware.

As you can see from screenshots pycharm nows that len is bultin function and hightlights it, but if I define variable named len for some evil reason (and I sometimes do it with dict) it knows that it's the variable and not the function call, so it doesn't highlight it, unlike your highlighter.

Thank you for the report! AFAIK PyCharm parse Python code and uses AST to represent code internally. So it's possible to do language aware code highlighting, automatic refactoring, type guessing, etc. However syntax highlighting in Vim just uses regex based pattern matching so it's impossible or really expensive to do language aware syntax highlighting. So it won't be fixed unfortunately.
PS. If you really like language aware syntax highlighting in PyCharm I think they also have Vim mode/plugin.


cron with persisted data is not running

I have the following cron line for my plugin
*/1 * * * *
but no entries ever show up in the Github PR Polling log. I've added triggers of "Commit Changed" and "Pull request opened/closed" but still nothing shows up in the log and no builds occur.

Please enable logging in jenkins configuration.

Thanks @KostyaSha I didn't see the field to specify the Github repo.

But it was written in documentation :) Maybe i need add pictures...

Seems I missed that part :-). Thanks again @KostyaSha now I am wondering why the context is not set to what I have in that Advanced field under the Github Project. Is that a Github Plugin problem? You mentioned in the docs that you use their facilities to do some work


UI refinements in Pending Changes

Adds patternfly-react to utilize some of the components in the Pending Changes modal, like Alert and Popover.
Adds popover with additional info about the changes from a previous session.
Hides the changes from current session if there are only changes from a previous session.

@jgiardino, I merged #197. This PR will have code conflict with master. Could you please fix the conflict? Thanks.

@jgiardino, the new commit failed on eslint test ONLY. Could you please take a look at this issue if you have time. Thanks.
/home/travis/build/weldr/welder-web/components/Modal/PendingChanges.js
  123:27  error  Expected indentation of 24 space characters but found 26  react/jsx-indent
  133:21  error  Expected indentation of 22 space characters but found 20  react/jsx-indent

Thanks for catching that, @henrywang!

Codecov Report

Merging #199 into master will decrease coverage by 0.06%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #199      +/-   ##
==========================================
- Coverage    43.4%   43.33%   -0.07%
==========================================
  Files          70       70
  Lines        2341     2340       -1
  Branches      319      319
==========================================
- Hits         1016     1014       -2
- Misses       1112     1113       +1
  Partials      213      213

Impacted Files
Coverage Δ

components/Modal/PendingChanges.js
59.25% <100%> (ø)
:arrow_up:

pages/blueprintEdit/index.js
52.86% <0%> (-0.44%)
:arrow_down:

core/actions/inputs.js
100% <0%> (ø)
:arrow_up:

core/reducers/inputs.js
81.81% <0%> (+6.81%)
: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 fc7fb25...e2f4925. Read the comment docs.


Update the required role assignment.

We now have the new role assignment available, which removes the need to also assign contributor.

@anzaman
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off

#sign-off


ADFS Update

Minor note ADFS  should be AD FS - note the space.
Can that be updated please.

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

ID: efd1a047-ff5f-48bd-1a9a-87024d3cbe70
Version Independent ID: 23ae844e-35df-0d4f-50d5-021a5ba9bdf9
Content: Enable conditional access support in the OneDrive sync app - OneDrive
Content Source: OneDrive/enable-conditional-access.md
Service: one-drive
GitHub Login: @adeejoseph
Microsoft Alias: adjoseph

Hi @r-milne, great catch! Thanks so much for making us aware of this. I've updated the article, just waiting for the changes to be reviewed and merged. This issue will close automatically when the merge occurs. Have a great week!


"Null check operator used on a null value" was thrown during a scheduler callback

Getting this sometimes, I think when I have scrolled the container that contains the slide into view and then scroll it out, but I can't reproduce it consistently.
The following _CastError was thrown during a scheduler callback:
Null check operator used on a null value

When the exception was thrown, this was the stack:
#0      SlideActionState.initState.<anonymous closure> (package:slide_to_act/slide_to_act.dart:387:39)
#1      SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1144:15)
#2      SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1090:9)
#3      SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:998:5)
#7      _invoke (dart:ui/hooks.dart:161:10)

Which comes from:
      final RenderBox containerBox =
          _containerKey.currentContext!.findRenderObject() as RenderBox;

I have some issue((
were you able to fix it?

I think we're using https://pub.dev/packages/slide_to_confirm at the moment.


Knative not available yet in 1.16. Fixes in istio testing

Respective knative bug https://github.com/knative/serving/issues/5599


Home page rework

This is a benchmark review for experiment review_of_reviews.
Run ID: 2024-04-04T10-31-25/v1.16.0-59-g9e14b02ef-dirty/98538d.
This pull request was cloned from https://github.com/fairdataihub/fairdataihub.org/pull/615. (Note: the URL is not a link to avoid triggering a notification on the original pull request.)


use otelhttp tracing middleware

This PR uses the upstream middleware to add more details like status code, user agent, span kinsd etc to the proxy trace spans.

:boom: Acceptance test localApiTests-apiSpaces-ocis failed. Further test are cancelled...


Yup

(You can replace all of this text with your description.)
Before creating your pull request, please check your content against these quality criteria:

Did you consider search engine optimization (SEO) when you chose the title in the metadata section and the H1 heading (i.e. the displayed title that starts with a single #)?
For new articles, did you add it to the table of contents?
Did you update the "ms.date" metadata for new or significantly updated articles?
Are technical terms and concepts introduced and explained, and are acronyms spelled out on first mention?
Should this page be linked to from other pages or Microsoft web sites?

For more information about creating content for docs.microsoft.com, see the contributor guide at https://docs.microsoft.com/contribute/.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: Torfun sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

@Yup - Thank you for your contribution. Would you take a moment to sign the CLA? After the CLA is signed, someone will review your changes. Thanks!
Also, could you clarify why you are attempting to merge to repo_sync_working_branch instead of to master?
cc @gewarren

@ktoliver I think you meant to tag @Torfun instead of @yup.

I'm not sure what's going on here but these changes were already  merged into master so I'm closing this.


Added interpolation for TsDataframe

Currently interpolation was implemented only for Tsd, but it can be very useful for TsDataframe as well and I do not see why not to extend it, so I did that. If you think this might be useful to merge & not something that is already happening somewhere else, let me know and I can write a test function.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

1 of 17 (5.88%)  changed or added relevant lines in 1 file are covered.
1342 unchanged lines in 13 files lost coverage.
Overall coverage decreased (-59.5%) to 23.845%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

pynapple/core/time_series.py
1
17
5.88%

Files with Coverage Reduction
New Missed Lines
%

pynapple/io/misc.py
13
27.65%

pynapple/core/time_index.py
15
56.45%

pynapple/io/interface_npz.py
29
23.0%

pynapple/io/folder.py
30
36.21%

pynapple/process/randomize.py
58
12.84%

pynapple/process/decoding.py
64
4.72%

pynapple/process/correlograms.py
70
5.95%

pynapple/core/interval_set.py
76
33.19%

pynapple/process/perievent.py
84
6.09%

pynapple/io/interface_nwb.py
122
8.33%

Totals

Change from base Build<PHONE_NUMBER>:
-59.5%

Covered Lines:
675

Relevant Lines:
2377

💛  - Coveralls

Yes it would be nice but I would move the function to _AbstractTsd and make it generic for Tsd, TsdTensor and TsdFrame then.

Should be good to go now! Copied tests from existing material for Tsd.

Hey Luigi, I can't merge your branch. Could you update your fork to the latest commits?

Thanks


Fixed NULL error in entity_ident gate.

Fixed an error when no entity was given and as a bonus, it is now conforming with the [wiremod/wire] (https://github.com/wiremod/wire) label format.

Could also erase line 119 if that variable isn't used

Of course. Missed that one.

Ok looks fine to me - gonna leave it here until tomorrow in case someone else wants to look at it. There's no rush


Feature Request: Timestamps available from the Audit Log view

Rancher Versions:
Server: 1.2
As of 1.2 I cannot find a way to do this - the Audit Log view does not provide sufficient granularity in my opinion. By its vary nature an Audit Log needs timestamps - I need to know more than that this API call was made "3 hours ago", I need to know exactly when it happened. What was the time difference between this deactivate and this remove call?
An option to display the actual timestamp in at least UTC is essential - and in my opinion should be the default.

This will be resolved by the 2.0 release. Hovering over the time ago will reveal the utc timestamp.

Version - master 8/9
Verified fixed


problems  in train.py

Load weights model_data/yolo_weights.h5.
Freeze the first 249 layers of total 252 layers.
Traceback (most recent call last):
File "train.py", line 166, in
_main()
File "train.py", line 33, in _main
train(model, annotation_path, input_shape, anchors, len(class_names), log_dir=log_dir)
File "train.py", line 48, in train
with open(annotation_path) as f:
FileNotFoundError: [Errno 2] No such file or directory: 'train.txt'
i can't found train.txt
how to solve it? thanks!

train.txt is your annotation file which defines your dataset. You need to generate it first.

thanks you !!!
I used the voc2007 dataset to train, generated 3 txt files, and then ran Yolo.py with my trained weight file, which showed errors.
ValueError: Dimension 0 in both shapes must be equal, but are 1 and 75. Shapes.
I think, what is not changed in the Yolo file?

thanks you !!!
I used the voc2007 dataset to train, generated 3 txt files, and then ran Yolo.py with my trained weight file, which showed errors.
ValueError: Dimension 0 in both shapes must be equal, but are 1 and 75. Shapes are [1,1,1024,255] and [75,1024,1,1]. for 'Assign_360' (op: 'Assign') with input shapes: [1,1,1024,255], [75,1024,1,1].

thank you !!!
Is there any difference between the two sentences？
python convert.py yolov3.cfg yolov3.weights model_data/yolo.h5
python convert.py -w yolov3.cfg yolov3.weights model_data/yolo_weights.h5
They are all using the yolo3.cfg

One is Keras model file, and another Kerea weights file.

Thank you very much!!!!!!
Only loss is displayed on tensorboard. Do you have the code of accuracy evaluation such as MAP and recalll?

Hi, do you know what is 'freeze'? When I train my model , it shows me 'Freeze the first 249 layers of total 252 layers'. But in the train.py (from lane 55), it said 'Unfreeze and continue training, to fine-tune'. I'm wondering how can I do this.
Thank you so much. @qqwweee

@xm1112 no.
@franklu323 'freeze' means not updating the weights.

Before it can be run, again run time, prompt no keras, how to solve?

How to get yolo anchors text file


Rename pypi package from xontrib-jupyter-shell to xontrib-jupyter

Hi @jnoortheen! Could you please rename pypi package from xontrib-jupyter-shell to xontrib-jupyter to make the name consistent.

repo https://github.com/xonsh/xontrib-jupyter
install xpip install xontrib-jupyter  - instead of xontrib-jupyter-shell
load xontrib load jupyter

For community
⬇  Please click the 👍 reaction instead of leaving a +1 or 👍  comment

@anki-code done! please update the readme and awesome-xontribs page


user12986714: Watch (?:enrolls?|buys?|appl(?:y|ies))\W*+(?:now|fast|immediately)

user12986714 requests the watch of the watch_keyword (?:enrolls?|buys?|appl(?:y|ies))\W*+(?:now|fast|immediately). See the MS search here and the Stack Exchange search in text, in URLs, and in code.

(?:enrolls?|buys?|appl(?:y|ies))\W*+(?:now|fast|immediately) has been seen in 453 true positives, 179 false positives, and 8 NAAs.

Too many results on SE (2500+)


added playDrum project

hey @irshadmd, i have added a drum project using simple HTML,CSS and JS

files missing


Fixes wasm_log typos

The README and example both have incorrect wasm_log references.
Otherwise works perfectly, thanks so much for forking and maintaining! :ok_hand:

Sorry, been caught up in exams 😅
Good thing you noticed and thanks for fixing. Guess I was a little distracted when replacing.


added a new quiz section Sql #176

reference issue #176

Great job expanding the project!
Thanks for the contribution 👍


⚠ Bofrost.at has degraded performance

In 043c402, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1812 ms

Resolved: Bofrost.at performance has improved in e4503ce after 6 minutes.


DSL extension, fixes several issues in separating goals

I never actually want to "Start a review" I always want tto "Submitt single comment" but that is not the default


Shapeless exercises not compiling

Seems like something is wrong with the imports fix that now some exercises are not compiling.
https://www.scala-exercises.org/shapeless/polymorphic_function_values
Compilation error: compilation error not found: object poly

Should be working now, @raulraja can you confirm?

I have checked, it's working properly in prod.


Backchannel logout support

Awaiting code review.

I think I heard you mentioning also this body.

Chris

On Tue, 17 Jan 2017 at 18:04 Pieter Ennes <Pieter Ennes<EMAIL_ADDRESS>> wrote:
@skion commented on this pull request.

In lib/omniauth/strategies/oidc/back_channel_logout_request.rbhttps://github.com/AuthentiqID/omniauth-authentiq/pull/3:

   def call(options = {})

     @options = options

     begin

       # for

       # sign_out_callback.call(*back_channel_logout_request)

       # to actually happen

       # a proc must be set in the devise.rb initializer of the rails app

       result = sign_out_callback.call(*back_channel_logout_request)

     rescue

       return backchannel_logout_response(400, ['Bad request']).finish

     else

       if result

         result = backchannel_logout_response(200, ['OK'])

       else

         result = backchannel_logout_response(501, ['Not implemented'])

Yes, same status code, different response body I meant.

You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/AuthentiqID/omniauth-authentiq/pull/3, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAw_jHERnBarbL2Mgpz0OVse9-s17OhVks5rTOZHgaJpZM4LlzuN.


Enabled top_level_code.swift and fixed issue with prologue.swift

top_level_code.swift was disabled because of rdar://73761019 and cloned into rdar://78319083, this bug has been fixed with commit ID 1813652b0398345c4b4407d5fd5ffb749830fdd4 https://github.com/apple/llvm-project/commit/1813652b0398345c4b4407d5fd5ffb749830fdd4
prologue.swift is checking for a prologue_end on a line 0 .loc which is what this commit was fixed, so it had to be updated to reflect the changes to llvm, where no line 0 .locs will ever have a prologue_end

Build failed
Swift Test OS X Platform
Git Sha - 0acf7df90ba4f9d3302b146d571bcdb208d9a669


[BUG]: Stopped working again and it isn't about the font

In raising this issue I confirm that

[X] I have fully completed the issue template
[X] I have searched open and closed issues for duplicates
[X] I have read the Contribution Guidelines
[X] I have read the Code of Conduct
[X] I have read the Documentation

Describe the bug
From some update ago streamdeck-linux-gui stopped working.
Steps to reproduce the behavior
streamdeck
Traceback (most recent call last):
  File "/usr/bin/streamdeck", line 5, in <module>
    from streamdeck_ui.gui import start
  File "/usr/lib/python3.12/site-packages/streamdeck_ui/gui.py", line 30, in <module>
    from streamdeck_ui.api import StreamDeckServer
  File "/usr/lib/python3.12/site-packages/streamdeck_ui/api.py", line 11, in <module>
    from StreamDeck.Devices import StreamDeck
ModuleNotFoundError: No module named 'StreamDeck'

streamdeckc
Traceback (most recent call last):
  File "/usr/bin/streamdeckc", line 5, in <module>
    from streamdeck_ui.cli.server import execute
  File "/usr/lib/python3.12/site-packages/streamdeck_ui/cli/server.py", line 9, in <module>
    from streamdeck_ui.api import StreamDeckServer
  File "/usr/lib/python3.12/site-packages/streamdeck_ui/api.py", line 11, in <module>
    from StreamDeck.Devices import StreamDeck
ModuleNotFoundError: No module named 'StreamDeck'

Expected behavior
Should open the GUI.
Screenshots
No response
System Information
Arch
Kernel 6.8.8
Plasma 6.0.4
Stream Deck Version
MK.2 (I guess - it's the one with 15 buttons)

Hello, you have to clean-build both streamdeck-ui as well as python-elgato-streamdeck which should then solves the problem.

It worked like a charm! THANKS!


Build project failed

Hi,
I got some errors as below picture when try to build your project:

Seem the project on your Github missing a Makefile?
Please let me know what is wrong ?
Thanks !

Seem the project on your Github missing a Makefile?

The "make" build system was deprecated in v4.0 in favor of idf.py (cmake).

Hi @nopnop2002 !
Thank for your information !
It's work now !
rm main/idf_component.yml
idf.py set-target esp32
idf.py menuconfig
idf.py build


{{first}} helper does not recognize array

Using the provided example of {{first "['a', 'b', 'c', 'd', 'e']" 2}} returns ['. Seems like its being interpreted as a string instead of an array.
Here is the code I am using based on the gulp example. Its possible I am missing something or Handlebars just does not like an inline array.
var $ = require('jquery');
var helpers = require('handlebars-helpers')({
  handlebars: Handlebars
});
$(function() {
      render();

  function render() {
    var tmpl = "<h2>{{first \"['a', 'b', 'c', 'd', 'e']\" 2}}</h2>";
    var fn = Handlebars.compile(tmpl);
    $('#content').html(fn);
  }
});

@bc-NikitaPuzanenko thanks for the issue. Handlebars does not support inline arrays, so you should pass in an array variable.
The example in the docs needs to be updated here to match the other array helper examples. I'll close this when the docs are updated.

Fixed the docs for these https://github.com/helpers/handlebars-helpers/commit/9a70c0be1e83c619bf0143eeda8c52eb2bf60d55


udisks: 2.8.1 -> 2.8.2

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/udisks/versions.
meta.description for udisks is: '"A daemon, tools and libraries to access and manipulate disks, storage devices and technologies"'.
Release on GitHub
Compare changes on GitHub

Checks done (click to expand)

built on NixOS
/nix/store/wbbm820ykp1k6bkvsqg2djmnkqx325xa-udisks-2.8.2/bin/udisksctl passed the binary check.
Warning: no invocation of /nix/store/wbbm820ykp1k6bkvsqg2djmnkqx325xa-udisks-2.8.2/bin/umount.udisks2 had a zero exit code or showed the expected version
1 of 2 passed binary check by having a zero exit code.
0 of 2 passed binary check by having the new version present in output.
found 2.8.2 with grep in /nix/store/wbbm820ykp1k6bkvsqg2djmnkqx325xa-udisks-2.8.2
directory tree listing: https://gist.github.com/7c08a0305a0238b7539e45af7b940ea4
du listing: https://gist.github.com/10d54559dc97d3a6cadef6df069e5ba3

Rebuild report (if merged into master) (click to expand)

65 total rebuild path(s)
25 package rebuild(s)
25 x86_64-linux rebuild(s)
21 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
19 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
atom
atom-beta
cantata
clementine
clementineUnfree
far2l
gnome2.gvfs
gnome3.gnome-disk-utility
gnome3.gvfs
gvfs
hal-flash
psensor
rabbitvcs
rapid-photo-downloader
spaceFM
tests.nixos-functions.nixos-test
tests.nixos-functions.nixosTest-test
udiskie
udisks
udisks2
usermount
xfce.gigolo
xfce.gvfs
xfce4-12.gigolo
xfce4-12.gvfs

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/wbbm820ykp1k6bkvsqg2djmnkqx325xa-udisks-2.8.2 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A udisks https://github.com/r-ryantm/nixpkgs/archive/b49b6e037525451c1ae0fb9ca0e8597fa6a49c02.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/wbbm820ykp1k6bkvsqg2djmnkqx325xa-udisks-2.8.2
ls -la /nix/store/wbbm820ykp1k6bkvsqg2djmnkqx325xa-udisks-2.8.2/bin

Please replace intltool with gettext and drop the gnome-common (and gnome arg), see:
https://github.com/storaged-project/udisks/blob/master/NEWS
https://github.com/storaged-project/udisks/pull/632/files

I was just doing that when I saw your comment, will push to here in a bit :)

261d51278bf8044c816d2b35729529c169d157f2 FWIW, seems to work :).

I'm having trouble seeing how you committed this, it doesn't seem to be in master, but GitHub somehow shows it is? But I can't check it out locally, how??

Haha, it's on my "fork" (staging area for my PR's, mostly), sorry for the confusion.  It sure could be a bit clearer in the UI...

I see, btw (if you didn't know already) you can just add a commit to this PR, it's what I usually do to fix up @r-ryantm's auto-updates

Haha I knew but never tried before.  Added commit! ^_^


Update new Exchange admin center location in mya-disable-insights.md

Closes https://github.com/MicrosoftDocs/Viva/issues/430.
Closes https://github.com/MicrosoftDocs/Viva/issues/478.

@madehmer
PR has been copyedited and is ready for final review, could you please check and merge? Thanks!

@dariomws
if you can share a screenshot of the changed menu item, here or via email, and then @ mention me, I can approve and merge this PR.
Thanks!

@tiburd, sure:

Screenshot of the new Exchange Admin Center.

@dariomws
Thank you! I added a couple edits based on the screenshot.


💡 [REQUEST] -

[x] I am from GSSoC23.
[x] I would like to be assigned this task.

Section
Description

Concise Description
As resources are increaing so i want to implement a search functionality.

Solution Proposed
I will add code which just matches the letter not the full keyword and shows wanted results.

Additional Context
NaN

Code of Conduct
By submitting this issue, you agree to follow our Code of Conduct.

[x] I follow the Contributing Guidelines of this project.
[x] I have checked the current issues for duplicate problems.
[x] I have read the readme of this repository.

Hey @bhartik021, can I work over this issue?
Have successfully implemented this for the blogs section, click on the link to check :
PR https://github.com/ZeroOctave/resource-gallery/pull/265

@Astrodevil

Hey @Akanksha-202  I have opened this issue  and want to work on it.
Plz open or find any other issue .

Hey @Deepanshu0703 , It has already been 2 months since you opened the issue and it wasn't assigned and also you didn't comment anything the last time I requested to be assigned for this! So I thought you're inactive for this issue.
You may take the issue 👍🏻

No I am not
I want to be assigned


Xdebug seems to be disabled in PHP 7.3 and 7.4 on Ubuntu 18.04 version 20210302.0

Description
Xdebug seems to be disabled in PHP 7.3 and 7.4 on Ubuntu 18.04 version 20210302.0 (php -i | grep -i xdebug is not found and the coverage xml is not generated by PHPUnit).
It seems to be enabled in PHP 8.0 (php -i | grep -i xdebug is found and the coverage xml is generated by PHPUnit).
It seems to have been enabled in PHP 7.3, 7.4, and 8.0 on version Ubuntu 18.04 version 20210219.1 (The coverage xml is generated by PHPUnit. I have not checked php -i | grep -i xdebug).
Area for Triage:
PHP
Question, Bug, or Feature?:
Question
Virtual environments affected

[ ] Ubuntu 16.04
[x] Ubuntu 18.04
[ ] Ubuntu 20.04
[ ] macOS 10.15
[ ] macOS 11.0
[ ] Windows Server 2016 R2
[ ] Windows Server 2019

Image version
20210302.0
Expected behavior
Xdebug is enabled in PHP 7.3, 7.4, and 8.0.
Actual behavior
Xdebug is disabled in PHP 7.3, 7.4.
Repro steps

Version 20210302.0: https://github.com/ngmy/php-typed-array/actions/runs/627561956
Version 20210219.1: https://github.com/ngmy/php-typed-array/actions/runs/616429869

Hello @ngmy,
As far as I see, a fix for the issue was added in the scope of https://github.com/actions/virtual-environments/pull/2834 .
So, the issue should be fixed after the next image rollout.
I'll keep you informed.

This is also broken for us on PHP 7.2 and started to fail all builds on March 3rd.
What's your release cycle so I can take it back to our team?

@Darleev
Thank you.
Version 20210309.1 came to me and fixed the issue.


V3.6.4 loosing WiFi Connection after few hours

Describe the bug
After  updating from v3.6.3 to v3.6.4 the device disconnected from WiFi after about 2 hours.
Upload your config
'{"version":"v3.6.4","serialnr":6972,"mode":"SMART","mode_id":3,"car_connected":true,"wifi":{"status":"WL_CONNECTED","ssid":"Imaginous","rssi":-53,"bssid":"xx:xx:xx:xx:xx:xx"},"evse":{"temp":31,"temp_max":55,"connected":true,"access":true,"mode":1,"loadbl":0,"pwm":102,"solar_stop_timer":0,"state":"Connected to EV","state_id":1,"error":"None","error_id":0,"rfid":"Not Installed"},"settings":{"charge_current":60,"override_current":0,"current_min":6,"current_max":26,"current_main":33,"current_max_circuit":32,"current_max_sum_mains":600,"max_sum_mains_time":0,"solar_max_import":0,"solar_start_current":8,"solar_stop_time":30,"enable_C2":"Always Off","mains_meter":"API","starttime":0,"stoptime":0,"repeat":0},"mqtt":{"host":"mqtt.imaginous.nl","port":1883,"topic_prefix":"SmartEVSE","username":"mqtt","password_set":true,"status":"Connected"},"home_battery":{"current":0,"last_update":0},"ev_meter":{"description":"Disabled","address":12,"import_active_power":0,"total_kwh":0,"charged_kwh":0,"currents":{"TOTAL":0,"L1":0,"L2":0,"L3":0},"import_active_energy":0,"export_active_energy":0},"mains_meter":{"import_active_energy":0,"export_active_energy":0},"phase_currents":{"TOTAL":51,"L1":51,"L2":0,"L3":0,"last_data_update":1720178257,"original_data":{"TOTAL":51,"L1":51,"L2":0,"L3":0}},"backlight":{"timer":0,"status":"OFF"}} '
Bssid masked with xx
To Reproduce
Car is connected, but not charging.
I send the mainsdata via the API.
After a few hours the SmartEVSE disappeared from the WiFi network.
Display states no Wifi connection.
Disabling and re-enabling WiFi on the display immediately reconnects to WiFi.
Expected behavior
Staying connected.
Screenshots

Thx for your report, very disturbing, so high prio.
Your wifi signal seems very strong (-53), but still, could you check if this might by caused by interfering wifi stations?
Nevertheless it should reconnect automatically....

If I turn off my 2.4Ghz signal, and turn it on again, it reconnects automatically.... so its a mystery to me whats going on here....

Nothing has changed in the WiFi department.
Other devices stay connected.
I rebooted the accespoint... (Asus RT-AX86S)... the SmartEVSE doesn't reconnect.
Other devices do.

Ok I just had the same experience on my production unit, not on my test bench though ?!?
I pulled back the release, again thx for the report.

d2de94b97.zip
Ik ben momenteel deze versie aan het testen, misschien kun je mee testen ?

I just tested the router reboot again with v3.6.3, it also has the same behavior.
V3.6.2 does reconnect fine.
So the regression occurred in v3.6.3.
I assume there was a short interference on my WiFi after which SmartEVSE didn't reconnect.

d2de94b97.zip
Im currently testing this version, perhaps you can test in parallel?

This version also doesn't reconnect. Upto v3.6.2 it seems to work.

So v3.6.5 is not out yet, which version are you reporting on ?

v3.6.2 keeps reconnecting without a problem

So v3.6.5 is not out yet, which version are you reporting on ?

Version v3.6.3 / v3.6.4 and the link you gave for parallel testing v3.6.5 all don't reconnect.
They connect after a power cycle, one router reboot and after a second router reboot they don't reconnect.
Version 3.6.2 keeps reconnecting.

It seems to be dependent on your LAN setup; on my test bench all versions reconnect fine, on my production unit, that is connected via a repeater, it doesn't. AP = Fritzbox.
What is your network layout + AP brand?

I have an Asus RT-AX86S (with Merlin firmware) configured as access point.
Use OPNsense as firewall.
SmartEVSE is configured via a static DHCP lease.
As said earlier, v3.6.2 doesn't have a problem reconnecting.

v3.6.2 is not reconnecting here either; Im starting to suspect my repeater has problems....

..... and now v3.6.3 and v3.6.4 are reconnecting reliably ..... hard to debug if there is no sound reproduction scenario.....
I noticed that the reconnection time can differ from 20s to 2 minutes; @Imaginous can you confirm that v3.6.4 will reconnect if you give it 2 minutes time?

Waited for 5 minutes with v3.6.4, no reconnect.
With v3.6.2 it's 2 seconds.

Ok thx. Still cant find a pattern here...

Maybe just poll every X time if WiFi is unconnected and restart the WiFi bit.
I don't know what the difference is between v3.6.2 and v3.6.3?

Is the static lease configured static on your AP, or was it configured static on the SmartEVSE?
Do you have the same behaviour if you let it have a dynamic ip address?

It's static on rhe OPNsense router, coupled to the MAC address.
If I remove the static address it still goes wrong.
Even the access point doesn't see the MAC address.
It seems the SmartEVSE isn't trying to connect.
I wonder what happens in the WiFi disable routine. Since it always reconnects after disabling / enabling.

v3.6.4a.zip
v3.6.4c.zip
v3.6.4b.zip
Since you seem to be the only one that can reliably reproduce the reconnect bug, could you please test these 3 versions; do they reconnect in your setup and if so, how long does it take them?

SmartEVSE reconnect test:
A - about 5 seconds to reconnect (feels a bit faster then B)
B - about 5 seconds to reconnect
C - 7:51 - 7:57 no reconnect after 6 minutes

Does the outcome make sense to you?
Version C doesn't reconnect, version A feels faster than B. I'm running on A at the moment.
Even after multiple access point reboots it keeps reconnecting fast.

@Imaginous this makes perfect sense, 4a has this code;

4b had instead of reconnect() a WiFi.begin() in it, which is basically what is done after a Wifi Disable/Enable. A reconnect() has less work then a begin() , so it makes sense 4a is slightly faster then 4b.
Ok lets run 4a for a few hours, could you report say at the end of the day if you are still stable, so I can get v3.6.5 out with this change in it?

By the way, this code was in there up till v3.6.1, and was removed in v3.6.2 . So it didn't make sense v3.6.2 was working for you ....

I will keep you posted.
Thanks for the swift support.

It's still working, car is charging at the moment.

@Imaginous The 4a version gives some troubles with usb-serial flashed firmware, somehow ...
v3.6.4d.zip
Could you test this version for us?

@Imaginous Ok I'm getting a report that 3.6.4d is not working well at my fellow developer's LAN, this one works fine at both our infrastructures, how about yours?
v3.6.4e.zip
(hopefully this is the one, sorry to bother you....)

@Imaginous Ok I'm getting a report that 3.6.4d is not working well at my fellow developer's LAN, this one works fine at both our infrastructures, how about yours?
v3.6.4e.zip
(hopefully this is the one, sorry to bother you....)
Sorry for the late reply, just got home.

Tested the E variant, works fine here. Tested 2 reconnects both worked fine and connected within 5 seconds.
Car is now charging, this also works fine.

Ok thx for your help, going to release it first thing in the morning!

I'm still experiencing problems with my WiFi connection with the latest release. the problems started a few releases ago.

Did you try the 3.6.4e version in this thread?

No not yet.
I just installed it to test it.

Ok; please be precise in your descriptions.

I tried the 3.6.4e version. WiFi stayed connected much longer than 3.6.5 did. It stayed disconnected for over an hour. Had to powercycle to get connection again.
WiFi coverage is pretty bad in my garage.
I installed 3.6.1 now. I will check if it stays connected with this version.

Usually you dont need to powercycle, disabling and re-enabling wifi should work too.

No disconnects or WiFi issues since yesterday after installing 3.6.1. When I block my EVSE in my access point and enable it again it reconnects right away.
Today I tested with v3.6.2. When I block the connection and enable it again the EVSE does not reconnect anymore (waited over 5 minutes) and I have to toggle the wifi on the device to get it connected again.

That issue is known in v3.6.2, v3.6.3 and v3.6.4 .
V3.6.4e and v3.6.5 are basically the same as to the reconnect mechanism...

Tried v3.6.5 again and it won't reconnect. Conclusion for my situation is that v3.6.1 was the last version that was stable.
My AP's are UniFi U6 Pro.

Only try a and b ....

turnofsetautoreconnectonmanualreconnect.zip
What does this one do?

This one does not reconnect.
My procedure to test is:

load web interface
Unifi: block device
refresh web interface -> nothing happens
Unifi: unblock device
refresh web interface

This cycle is done within a few seconds.
Could it be that the connection is available again within the reconnect loop and that it then somewhere gets stuck in the loop?

And I don't know if this is influencing anything, I'm using smart mode and I'm getting the data for the currents from home assistant and if the connection is lost it's giving the serial connection error because it's not updated anymore.

Yes that is true but the device is also showing as offline in my Unifi network manager until I manually switch off/on WiFi on the EVSE.

Yes lets introduce another variable, the network manager ?!?!
Ping is reliable, third party software we dont know how it reacts.
Also with ping you can see intermittent connections and packet loss..
But if you know better  how to debug, be my guest...

Also you should monitor at least 60 seconds to see if a wifi reconnect happens....

It is not an extra variable it is where I manage my WiFi accesspoint to block and unblock to test.
But no problem I will use ping to detect that it is not available.
I waited at least 5 minutes for a reconnect.

Ok great! What does this one do:
conditionalcallofmgr_poll.zip

After installing this one connection to WiFi did not come back up. Tried to switch off and on on the EVSE but still no luck.
ESPTouch mode nothing was discovered.
Had to power cycle to get WiFi to connect. Then I tried a reboot through the web interface.
WiFi did not connect. Had to power cycle again to get a connection.

Ok running out of inspiration right now, back tomorrow!

While not exactly the same, i think my setup might be similar.
I use three UAP AC Lite's throughout the house/garage, these are controlled by a Unifi Gateway Ultra.
When i block a SmartEVSE from the gateway's web interface, and then unblock, it will reconnect immediately.
As there are a ton of settings related to WiFi in the Gateway, maybe some of them are not correctly configured?
Anyway here are my (auto) settings (switched to manual to make them visible):

Hi guys,
I am following the wi-fi reconnect problem and I must say that 3.6.2 -
3.6.5 and todays bugfix release behave the same for me to. I have a Cisco
AP and I am ready to help. If you want me to test any new builds, you are
welcome.
BR,
Michal

@sonar98 could you post your settings?

Having problems with 4a might be Unify specific:
https://www.reddit.com/r/esp32/comments/xmxumq/esp32_unifi/

Nobody in this thread using hidden ssid, right?

My SSID is visible and I'm using WPA2-personal with AES.

Ok guys, I am currently testing this version, which has the workaround from v3.6.5 removed but also a delay that might be disturbing stuff. Reconnecting fine here, hope it does the same for you:
noworkaroundnodelay.zip

This new version reconnects fine here.

While not exactly the same, i think my setup might be similar. I use three UAP AC Lite's throughout the house/garage, these are controlled by a Unifi Gateway Ultra. When i block a SmartEVSE from the gateway's web interface, and then unblock, it will reconnect immediately.
As there are a ton of settings related to WiFi in the Gateway, maybe some of them are not correctly configured? Anyway here are my (auto) settings (switched to manual to make them visible):

My settings are default as well.

Ok guys, I am currently testing this version, which has the workaround from v3.6.5 removed but also a delay that might be disturbing stuff. Reconnecting fine here, hope it does the same for you: noworkaroundnodelay.zip

This version does not reconnect with my setup. I had to reconnect manually (waited over 5 minutes) to get it working again.

"But at what version is the reconnect mechanism now?"
As stated, workaround from v3.6.5 which reverts it to 3.6.4, but also a delay removed which might be the root cause of the disconnect / no reconnect troubles...

Probably the delay was the culprit, since I had problems with the original 3.6.4.
This version works fine, same testing method.

@sonar98 lets see what @mstegen reports, since his setup is similar to yours...
By the way, I understand you have multiple AP's, do they all have the same SSID at 2.4Ghz or different ones?

Working Ok. Reconnected immediately with my Unifi AP's.
So strange that it does not work for @sonar98

@mif11k can you test the noworkaroundnodelay.zip too please?

@sonar98 lets see what @mstegen reports, since his setup is similar to yours... By the way, I understand you have multiple AP's, do they all have the same SSID at 2.4Ghz or different ones?

All my AP's have the same SSID broadcasting.

My setup:
2 APs with the same SSID broadcasting in 2.4 the IOT network. Flashed the noworkaroundnodelay.zip, disconnected the client by sending the deassotiate packet. It is 8 minutes and the SmartEVSE is still disconnected. The only way to connect again is to powercycle the module.
Is the wireless driver searching for the SSID when disconnected?
M

13. 7. 2024 v 12:01, dingo35 @.***>:
@mif11k https://github.com/mif11k can you test the noworkaroundnodelay.zip too please?
—
Reply to this email directly, view it on GitHub https://github.com/dingo35/SmartEVSE-3.5/issues/93#issuecomment-2226842839, or unsubscribe https://github.com/notifications/unsubscribe-auth/AY5GJNEB2WMUEMYKHQ6S7UDZMD3GNAVCNFSM6AAAAABKNAZRW2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMRWHA2DEOBTHE.
You are receiving this because you were mentioned.

Working Ok. Reconnected immediately with my Unifi AP's. So strange that it does not work for @sonar98 There is only one SSID for both 2.4Ghz and 5Ghz. I do not have the 6Ghz band that sonar98 has.

I don't gave 6Ghz.
How do you block the evse? do you use the reconnect button?
Did some testing when using the reconnect button it only misses one ping and it works again but if I use block -> Unblock it won't reconnect automatically.

My setup: 2 APs with the same SSID broadcasting in 2.4 the IOT network. Flashed the noworkaroundnodelay.zip, disconnected the client by sending the deassotiate packet. It is 8 minutes and the SmartEVSE is still disconnected. The only way to connect again is to powercycle the module. Is the wireless driver searching for the SSID when disconnected? M
…
13. 7. 2024 v 12:01, dingo35 @.***>: @mif11k https://github.com/mif11k can you test the noworkaroundnodelay.zip too please? — Reply to this email directly, view it on GitHub <#93 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AY5GJNEB2WMUEMYKHQ6S7UDZMD3GNAVCNFSM6AAAAABKNAZRW2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMRWHA2DEOBTHE. You are receiving this because you were mentioned.

I just restart the WiFi service on my router, I don't send any  disassociate command to the SmartEVSE.
Maybe that makes it react differently?

Just for my understanding, to free up flash memory the Wifimanager was removed starting from version 3.6.2 and up?

When a client loses it’s connection it should go to the search mode regardless if the AP disappears or the clients deassotiates due weak signal or being kicked out. Can we get the driver to start searching the stored SSID again?

13. 7. 2024 v 12:22, Michel @.***>:
My setup: 2 APs with the same SSID broadcasting in 2.4 the IOT network. Flashed the noworkaroundnodelay.zip, disconnected the client by sending the deassotiate packet. It is 8 minutes and the SmartEVSE is still disconnected. The only way to connect again is to powercycle the module. Is the wireless driver searching for the SSID when disconnected? M
… x-msg://77/#
13. 7. 2024 v 12:01, dingo35 @.***>: @mif11k https://github.com/mif11k https://github.com/mif11k can you test the noworkaroundnodelay.zip too please? — Reply to this email directly, view it on GitHub <#93 (comment) https://github.com/dingo35/SmartEVSE-3.5/issues/93#issuecomment-2226842839>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AY5GJNEB2WMUEMYKHQ6S7UDZMD3GNAVCNFSM6AAAAABKNAZRW2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMRWHA2DEOBTHE. You are receiving this because you were mentioned.
I just restart the WiFi service on my router, I don't send any disassociate command to the SmartEVSE.
Maybe that makes it react differently?
—
Reply to this email directly, view it on GitHub https://github.com/dingo35/SmartEVSE-3.5/issues/93#issuecomment-2226848083, or unsubscribe https://github.com/notifications/unsubscribe-auth/AY5GJNF3DS7WO3D2YKGJTVLZMD5U5AVCNFSM6AAAAABKNAZRW2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMRWHA2DQMBYGM.
You are receiving this because you were mentioned.

Working Ok. Reconnected immediately with my Unifi AP's. So strange that it does not work for @sonar98 There is only one SSID for both 2.4Ghz and 5Ghz. I do not have the 6Ghz band that sonar98 has.

I don't gave 6Ghz. How do you block the evse? do you use the reconnect button? Did some testing when using the reconnect button it only misses one ping and it works again but if I use block -> Unblock it won't reconnect automatically.

Oh yes, i see your AP has WiFi 6 (802.11ax), mine does not have that.
I used the Block, and then Unblock buttons.
The moment i press the Unblock button, the SmartEVSE immediately shows the IP address again.

@dingo35 The noworkaroundnodelay.zip does not reconnect after poor SNR either. 3.6.1 does this perfectly.
M

13. 7. 2024 v 12:01, dingo35 @.***>:
@mif11k https://github.com/mif11k can you test the noworkaroundnodelay.zip too please?
—
Reply to this email directly, view it on GitHub https://github.com/dingo35/SmartEVSE-3.5/issues/93#issuecomment-2226842839, or unsubscribe https://github.com/notifications/unsubscribe-auth/AY5GJNEB2WMUEMYKHQ6S7UDZMD3GNAVCNFSM6AAAAABKNAZRW2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMRWHA2DEOBTHE.
You are receiving this because you were mentioned.

The best way to test reconnect is to unplug and replug your AP; that way you are sure that the rudest kind of interruption is handled correctly. It is also the fastest way to become unpopular with your family members....
Ok I built in a watchdog that basically disables and re-enables the wifi, just like we would do with the buttons. And with a gentle interruption it doesnt get triggered because setAutoReconnect does the work, and with a rude interruption it doesn't seem to get triggered; I suspect there is no DISCONNECT event triggered, and that is why the reconnect doesnt work.
Away from keyboard, thx for testing everybody, I'm confident tomorrow I can get a reliable test setup which should lead to a stable solution.

If someone is bored this afternoon, this is an intermediate result (not the end version yet!):
a0c1f1f99b.zip

After the update it did not reconnect by itself.
With this version it only connects after a power cycle.
Tried disabling and enabling WiFi on the evse but did not connect.
After powercycle it connects without a problem.
When blocking WiFi on the AP it does not reconnect until a power cycle of the Evse.

Ok guys, after a lot of testing and searching, tracing the changes from v3.6.1 to v3.6.5, trying to get a low SNR on my test bench, etc., I found the following:
-setAutoreconnect(true) actually does nothing since this is the default
-the recommended reconnection method by ESP-IDF docs is to  reconnect() when a STA_DISCONNECT is detected; this was actually the code for a long time, found by trial and error, in the serkri-ages. In v3.6... series this was still implemented that way, but a delay() was added for mongoose; that doesnt seem necessary anymore, and even prevents problems (see Imaginouses test result).
So this version is the best I can do currently:
reconnect_acc_to_docs.zip
Please test thoroughly!!

AND, when testing:
-please make a distinction between device not pingable and webserver not responding
-report if you have special circumstances, e.g. low SNR ....

Addition, for the technically interested:
setAutoReconnect just triggers disconnect() and begin; , which is almost the same as disabling and enabling wifi via the LCD screen, that does disconnect(true) and begin, which means it switches OFF the wifi transceiver.
So I built a watchdog, that after missing connection calls disconnect(true) and begin(); but it didn't solve @mif11k and @sonar98 's low SNR problem. So that went out the door....

Addition, for the technically interested: setAutoReconnect just triggers disconnect() and begin; , which is almost the same as disabling and enabling wifi via the LCD screen, that does disconnect(true) and begin, which means it switches OFF the wifi transceiver.
So I built a watchdog, that after missing connection calls disconnect(true) and begin(); but it didn't solve @mif11k and @sonar98 's low SNR problem. So that went out the door....

I added an extra AP in my garage so low SNR is not the problem anymore. I'm at work right now but I will test tonight. I will also test what happens if I disable the extra AP.

Congrats, this release works! After kicking SmartEVSE from Wi-Fi by dissociating, it reconnects within 4s. Good work Dingo!!
M

16. 7. 2024 v 11:40, dingo35 @.***>:
Ok guys, after a lot of testing and searching, tracing the changes from v3.6.1 to v3.6.5, trying to get a low SNR on my test bench, etc., I found the following:
-setAutoreconnect(true) actually does nothing since this is the default
-the recommended reconnection method by ESP-IDF docs is to reconnect() when a STA_DISCONNECT is detected; this was actually the code for a long time, found by trial and error, in the serkri-ages. In v3.6... series this was still implemented that way, but a delay() was added for mongoose; that doesnt seem necessary anymore, and even prevents problems (see Imaginouses test result).
So this version is the best I can do currently:
reconnect_acc_to_docs.zip https://github.com/user-attachments/files/16246629/reconnect_acc_to_docs.zip
Please test thoroughly!!
—
Reply to this email directly, view it on GitHub https://github.com/dingo35/SmartEVSE-3.5/issues/93#issuecomment-2230461175, or unsubscribe https://github.com/notifications/unsubscribe-auth/AY5GJNCWV7MQ33EINEIB4YTZMTS7VAVCNFSM6AAAAABKNAZRW2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMZQGQ3DCMJXGU.
You are receiving this because you were mentioned.

I confirm, that this release is stable also with worse RSSI, from my point of view it behaves all good.
M

16. 7. 2024 v 11:53, dingo35 @.***>:
So I built a watchdog, that after missing connection calls disconnect(true) and begin(); but it didn't solve @mif11k https://github.com/mif11k and @sonar98 https://github.com/sonar98 's low SNR problem.

Ok thx guys, still awaiting @mstegen and @sonar98 (he s testing this evening).....🤞

Yes this version works fine. Tried reconnect, block/unblock, with and without my extra AP in the garage.
Within a few seconds connection is restored.
Great work :muscle:

All OK here! Thanks dingo35 for hopefully solving this issue for good.

Thx all, fix in 66d760865


Custom event

Provides CLI options for:

output resolution: 30 meters or 90 meters (the latter is default and the standardized GUNW resolution)
dense offset layers: azimuth and range offset estimates as separate layers
unfiltered coherence layer

If the output resolution is changed to 30 meters or any of the latter two layers are requested, then the initial token on product name is change from S1-GUNW to S1-GUNW-CUSTOM.

@gracebato
This is the first pass of a custom disasters product at 30 meters resolution for a coseismic IFG in Iraq. Might be useful to apply it to another earthquake or volcano. Here is the command used to generate the product:
isce2_topsapp --reference-scenes S1B_IW_SLC__1SDV_20171117T145926_20171117T145953_008323_00EBAB_AFB8 \
              --secondary-scenes S1A_IW_SLC__1SDV_20171111T150004_20171111T150032_019219_0208AF_EE89 \
              --output-resolution 30 \
              --unfiltered-coherence True \
              --dense-offsets True \
              --estimate-ionosphere-delay True \
              > topsapp_img.out 2> topsapp_img.err

The GUNW can be downloaded here: S1-GUNW-CUSTOM-A-R-072-tops-20171117_20171111-145939-00043E_00034N-PP-428e-v2_0_6.nc. Note the 30 meter resolution and additional layers increases the file size to 1.2 GB (!!!).
For the pixel offset layers, take a look in case you want some basic post-processing (nodata/smoothing/etc). Right now the plugin is taking the ISCE2 outputs directly and sticking them into the GUNW. I do not think we should multiply by the pixel resolution because that can be done very easily for any analysis later and it will be hard for users to track down the exact resolution we are using in case they want to do some other kind of feature tracking using this product.
Thanks for your feedback.
And to get a sense of the layout of layers, here is a screenshot from panoply.

@jhkennedy - this PR (once merged) will provide the last CLI options for the hyp3 api to be filled in (as discussed in the meta issue). Also, providing the output resolution will make this plugin adaptable for on-demand processing (may want to restrict the resolution to 50 or 60 meters because the product size is large).

I think we will also want to be able to manually set a bbox as it will greatly reduce computational overhead and operational accounting to ensure we can specify precisely the AOI we will want.

some basic post-processing (nodata/smoothing/etc).
That would be post-processing, and not part of the default workflow...
All the new layers should follow past conventions for meta-data.

Also I find it more useful if  the range and azimuth offset should be in units of meters. Is that currently the case?
Is there meta-data at interim that captures the scaling parameter to convert pixel to m units?

I do not think we should multiply by the pixel resolution because that can be done very easily for any analysis later
The multi-looking up to ~30m for phase is what is ok to geo-code them to a near 30m sampling. Putting the dense-offsets higher than the processing level does not make sense.  There is a search and averaging window involved. Hence, be considered on the large data problem added by "over-selling resolution". Community needs to become aware on the difference between resolution and posting.

Added

Provides CLI options for:

output resolution: 30 meters or 90 meters (the latter is default and the standardized GUNW resolution)
unfiltered coherence layer (True/False)
Goldstein filtering power - power that phase is raised to in patch FFT - default .5
Wrapped Phase
Dense offsets layers (still in pixel units)

Codifies and documents (in readme) what is meant by standard GUNW with respect to exposed parameters including:

90 m resolution
.5 value in the Goldstein filter for InSAR phase
No ESD or dense offsets
Additional layers: ionosophere, SET, and unfiltered coherence.
uses pydantic to record relevant topsapp parameters for "standard" GUNW

Records parameters in the product including the CLI command to regenerate said product
If parameters are not standard uses prefix S1-GUNW_CUSTOM-...
Pydantic dependency for parameter accounting

Changed

The CLI now requires frame_id (use frame_id = -1 for old API and what is now considered a "non"-standard product)

Here is a sample of new global attributes (i.e. global metadata) for provenance:
  // global attributes:
  :product_type = "UNW GEO IFG";
  :Conventions = "CF-1.6";
  :title = "ARIA standard product UNW GEO IFG";
  :author = "David Bekaert, Grace Bato, Marin Govorcin, Andrew Johnston, Joe Kennedy, Charlie Marshak, Simran Sangha and ARIA-JPL";
  :institution = "Jet Propulsion Laboratory";
  :references = "https://aria.jpl.nasa.gov/";
  :ogr_geometry_field = "productBoundingBox";
  :ogr_layer_name = "productBoundingBox";
  :ogr_layer_type = "POLYGON";
  :source = "Contains modified Copernicus Sentinel data processed by ESA and ARIA NASA/JPL using the DockerizedTopsApp HyP3 plugin version 0.2.6.dev77+g484709f";
  :reference_scenes = "S1A_IW_SLC__1SDV_20220212T222803_20220212T222830_041886_04FCA3_2B3E", "S1A_IW_SLC__1SDV_20220212T222828_20220212T222855_041886_04FCA3_A3E2";
  :secondary_scenes = "S1A_IW_SLC__1SDV_20220131T222803_20220131T222830_041711_04F690_8F5F", "S1A_IW_SLC__1SDV_20220131T222828_20220131T222855_041711_04F690_28D7";
  :frame_id = 25502L; // long
  :estimate_ionosphere_delay = "TRUE";
  :compute_solid_earth_tide = "TRUE";
  :output_resolution = 90L; // long
  :unfiltered_coherence = "TRUE";
  :goldstein_filter_power = 0.5; // double
  :dense_offsets = "FALSE";
  :wrapped_phase_layer = "FALSE";
  :esd_coherence_threshold = -1.0; // double
  :command_line_string = "isce2_topsapp ++gunw_slc --secondary-scenes S1A_IW_SLC__1SDV_20220131T222803_20220131T222830_041711_04F690_8F5F S1A_IW_SLC__1SDV_20220131T222828_20220131T222855_041711_04F690_28D7 --reference-scenes S1A_IW_SLC__1SDV_20220212T222803_20220212T222830_041886_04FCA3_2B3E S1A_IW_SLC__1SDV_20220212T222828_20220212T222855_041886_04FCA3_A3E2 --frame-id 25502";
  :mean_perpendicularBaseline = -130.12419f; // float
  :mean_parallelBaseline = 79.829f; // float
  :mean_coherence = 0.4382714f; // float
  :version = "1c";

Here are some sample products.
A standard product link: https://gunw-development-testing.s3.us-west-2.amazonaws.com/custom-events/S1-GUNW-A-R-164-tops-20220212_20220131-222829-00071W_00047N-PP-3d6c-v3_0_0.nc
Generated by this command:
isce2_topsapp ++gunw_slc --secondary-scenes S1A_IW_SLC__1SDV_20220131T222803_20220131T222830_041711_04F690_8F5F S1A_IW_SLC__1SDV_20220131T222828_20220131T222855_041711_04F690_28D7 --reference-scenes S1A_IW_SLC__1SDV_20220212T222803_20220212T222830_041886_04FCA3_2B3E S1A_IW_SLC__1SDV_20220212T222828_20220212T222855_041886_04FCA3_A3E2 --frame-id 25502

A "custom" GUNW link:
https://gunw-development-testing.s3.us-west-2.amazonaws.com/custom-events/S1-GUNW_CUSTOM-A-R-164-tops-20220212_20220131-222829-00071W_00047N-PP-3d6c-v3_0_0.nc
Generated with this command:
isce2_topsapp ++gunw_slc --secondary-scenes S1A_IW_SLC__1SDV_20220131T222803_20220131T222830_041711_04F690_8F5F S1A_IW_SLC__1SDV_20220131T222828_20220131T222855_041711_04F690_28D7 --reference-scenes S1A_IW_SLC__1SDV_20220212T222803_20220212T222830_041886_04FCA3_2B3E S1A_IW_SLC__1SDV_20220212T222828_20220212T222855_041886_04FCA3_A3E2 --frame-id 25502 --goldstein-filter-power 0.0 --output-resolution 30 --dense-offsets True

Here is some "standardization" documentation too: https://github.com/ACCESS-Cloud-Based-InSAR/DockerizedTopsApp/blob/custom-event/README.md#what-makes-an-aria-s1-gunw-product-standard

@bato - please take a look at the sample product - note it has dense offsets at 30 meters and goldstein filter turned off.

Per @dbekaert request, the new metadata at the top level is:
// global attributes:
  :product_type = "UNW GEO IFG";
  :Conventions = "CF-1.6";
  :title = "ARIA standard product UNW GEO IFG";
  :version = "1";
  :author = "David Bekaert, Grace Bato, Marin Govorcin, Andrew Johnston, Joe Kennedy, Charlie Marshak, Simran Sangha and ARIA-JPL";
  :institution = "Jet Propulsion Laboratory";
  :references = "https://aria.jpl.nasa.gov/";
  :ogr_geometry_field = "productBoundingBox";
  :ogr_layer_name = "productBoundingBox";
  :ogr_layer_type = "POLYGON";
  :source = "Contains modified Copernicus Sentinel data processed by ESA and ARIA NASA/JPL using the DockerizedTopsApp HyP3 plugin version 0.2.6.dev77+g484709f";
  :aria_frame_id = 25502L; // long
  :topsapp_command_line_string = "isce2_topsapp ++gunw_slc --secondary-scenes S1A_IW_SLC__1SDV_20220131T222803_20220131T222830_041711_04F690_8F5F S1A_IW_SLC__1SDV_20220131T222828_20220131T222855_041711_04F690_28D7 --reference-scenes S1A_IW_SLC__1SDV_20220212T222803_20220212T222830_041886_04FCA3_2B3E S1A_IW_SLC__1SDV_20220212T222828_20220212T222855_041886_04FCA3_A3E2 --frame-id 25502 --goldstein-filter-power 0.0 --output-resolution 30 --dense-offsets True";
  :isce2_topsapp_version = "0.2.6.dev77+g484709f";
  :mean_perpendicularBaseline = -130.12419f; // float
  :mean_parallelBaseline = 79.829f; // float
  :mean_coherence = 0.29765356f; // float
  :product_geometry_wkt = "POLYGON ((-67.56389051312044 47.852140949747735, -67.47945065650076 47.48175879127325, -67.99492534034955 47.429567703811465, -68.52987513855085 47.37275123696082, -68.55727989287345 47.48198524930101, -69.09896846019329 47.421616017501826, -69.70919700836623 47.35015226169008, -69.78111489146 47.613618796674885, -70.29087990731554 47.55199732126649, -70.87876693003453 47.47767780134041, -71.1335260373605 48.33245909620376, -71.17732771160051 48.497691935550456, -71.32807577094489 48.9934664193567, -70.72357418792893 49.073063410471164, -70.1620736681961 49.14396169772953, -70.08244510661609 48.861110698101, -69.49265888652626 48.93246094155771, -68.89930636351852 49.001024725991755, -68.87209673148254 48.89524681271839, -68.35882950083834 48.952510206796376, -67.82862731394724 49.00911898266449, -67.78063949294818 48.80414813817185, -67.7838829742832 48.803513684598364, -67.56389051312044 47.852140949747735))";

The really long wkt string can be read as:
import xarray as xr
import shapely

with xr.open_dataset(netcdf_path) as ds:
    wkt_str = ds.attrs['product_geometry_wkt']
    geo = shapely.wkt.loads(wkt_str)

Which takes ~20 ms -- not sure what the equivalent would be. Please confirm this is what is wanted @mgovorcin.
I still saved all the parameters as attributes in the science/grids group.

I had to fix a bug in which filter_strength in the xml was repeated (see below). This is now fixed. Will have to re-generate products to demonstrate successful end-to-end run.

@mgovorcin
Questions:

It appears that https://github.com/ACCESS-Cloud-Based-InSAR/DockerizedTopsApp/blob/dev/isce2_topsapp/templates/topsapp_iono_template.xml is not being used in ionosphere processing. May I delete it?
It appears the ionosphere processing is using the topsapp.xml generated from the original processing. Will the Goldstein filter strength impact the ionosphere processing?
(from above) - is the WKT global attribute still desired?

@mgovorcin
Questions:
1. It appears that https://github.com/ACCESS-Cloud-Based-InSAR/DockerizedTopsApp/blob/dev/isce2_topsapp/templates/topsapp_iono_template.xml is not being used in ionosphere processing. May I delete it?

2. It appears the ionosphere processing is using the [topsapp.xml](https://github.com/ACCESS-Cloud-Based-InSAR/DockerizedTopsApp/blob/dev/isce2_topsapp/iono_proc.py#L38) generated from the original processing. Will the Goldstein filter strength impact the ionosphere processing?

3. (from above) - is the WKT global attribute still desired?

Hi @cmarshak

Yes you can delete it as it is not in use anymore. Ionosphere is done by calling topsApp module with not need for additional template.
Filtering is coming after corregistration step, so should not affect ionosphere estimation
I would keep it there, as see a potential later. At the moment ariaTools uses same shapely.wkt.loads , however requires opening and reading NETCDF:$FILE_PATH:productBoundingBox with osgeo.ogr which adds couple of ms. If it is in metadata, all the needed information can be get with gdal.Info.

How I see it, if these metadata info are added to accompanying GUNW json metadata file, most of the ARIAtools spatio-temporal analysis could be done just by using/downloading metadata files, once the GUNW that fall within AOI and fulfill spatio-temporal connectivity requirement are selected, only those files can be then download from VERTEX. which can save some time on the downloading and later on extraction.

In regards to 3, you can get the approximate spatial extent of the GUNW from asf_search without even opening any netcdf. I am unfamiliar with the json file except in the s3 bucket we generate, but that doesn't get publicly distributed (does it?).
If you want additional metadata in CMR e.g. mean coherence, etc. that will be a bigger ask and requires coordination with ASF. It was a decent amount of work to get the temporal baseline and frame id there.

Here are some sample products.
A standard product link: https://gunw-development-testing.s3.us-west-2.amazonaws.com/custom-events/S1-GUNW-A-R-164-tops-20220212_20220131-222829-00071W_00047N-PP-3d6c-v3_0_0.nc
Generated by this command:
isce2_topsapp ++gunw_slc --secondary-scenes S1A_IW_SLC__1SDV_20220131T222803_20220131T222830_041711_04F690_8F5F S1A_IW_SLC__1SDV_20220131T222828_20220131T222855_041711_04F690_28D7 --reference-scenes S1A_IW_SLC__1SDV_20220212T222803_20220212T222830_041886_04FCA3_2B3E S1A_IW_SLC__1SDV_20220212T222828_20220212T222855_041886_04FCA3_A3E2 --frame-id 25502

A "custom" GUNW link: https://gunw-development-testing.s3.us-west-2.amazonaws.com/custom-events/S1-GUNW_CUSTOM-A-R-164-tops-20220212_20220131-222829-00071W_00047N-PP-3d6c-v3_0_0.nc
Generated with this command:
isce2_topsapp ++gunw_slc --secondary-scenes S1A_IW_SLC__1SDV_20220131T222803_20220131T222830_041711_04F690_8F5F S1A_IW_SLC__1SDV_20220131T222828_20220131T222855_041711_04F690_28D7 --reference-scenes S1A_IW_SLC__1SDV_20220212T222803_20220212T222830_041886_04FCA3_2B3E S1A_IW_SLC__1SDV_20220212T222828_20220212T222855_041886_04FCA3_A3E2 --frame-id 25502 --goldstein-filter-power 0.0 --output-resolution 30 --dense-offsets True

These links should be updated with the latest fixes.
One thing to note at 30m and with Goldstein filter set to 0, the connected components are much different. Unsure as to why this is expected. It yields browse PNGs that are very different even though the area is the same.
The standard 90 m product:

The custom 30 m product with Goldstein power set to 0: