For the love of god fix the CSV read bug

Wasting so much time

Which bug in the csv needs to be fixed ?
I don’t notice any bug in the csv
Add details, screenshots to better explain the problem

I’ve already explained it multiple times, either I waste time making this bug my job or actually doing my job. Lose lose situation. Especially when it’s so easily duplicated.

Can you at least link to your explanation?

Here is what I found:

All of which contain a request to share the code and no reply given.

So, @Bruce_Whitehill people are will to help but you have to share the snippet of code.

As a pre-emptive guess for a solution - you can always set the set a gotoIf to skip to the end of the loop if the !csvReadLineNumber = 1

{
  "Command": "store",
  "Target": "!csvReadLineNumber",
  "Value": "current_row",
  "Description": ""
},
{
  "Command": "gotoIf_v2",
  "Target": "${current_row} == 1",
  "Value": "skip_row",
  "Description": ""
},

Used a vpn, make a CSV read, my excel has over 1k. Make the loop, set the loop 1-5, have the loop fail on a captcha or some shit and then try to play loop with any number other than 1. And it will still play 1 as the first line of text even when excluded from the loop.

Can’t explain better than that.

Didn’t happen before, updates over the last year or so broke it.

Unfortunately I am unable to replicate your problem.

Here is my test macro that more-or-less should replicate the scenario of.

If ${!Loop} = 1 fails. Manually restart ${!Loop} != 1. Macro somehow starts at ${!Loop} = 1.

{
  "Name": "test_bench",
  "CreationDate": "2023-6-29",
  "Commands": [
    {
      "Command": "store",
      "Target": "fast",
      "Value": "!replayspeed",
      "Description": ""
    },
    {
      "Command": "comment",
      "Target": "First Loop. Build Array. (LIke csvRead)",
      "Value": "",
      "Description": ""
    },
    {
      "Command": "if_v2",
      "Target": "${!Loop} == 1",
      "Value": "",
      "Description": ""
    },
    {
      "Command": "executeScript_Sandbox",
      "Target": "var arr = []; for(var x = 0; x < 10; x++){arr[x] = []; for(var y = 0; y < 1; y++){arr[x][y] = (x+1)*(y+1);}}; return arr",
      "Value": "array",
      "Description": ""
    },
    {
      "Command": "csvSaveArray",
      "Target": "array",
      "Value": "data_array.csv",
      "Description": ""
    },
    {
      "Command": "end",
      "Target": "",
      "Value": "",
      "Description": ""
    },
    {
      "Command": "comment",
      "Target": "Array built. Csv is read. Read loop. ",
      "Value": "",
      "Description": ""
    },
    {
      "Command": "csvReadArray",
      "Target": "data_array.csv",
      "Value": "myCSV",
      "Description": ""
    },
    {
      "Command": "forEach",
      "Target": "myCSV",
      "Value": "row",
      "Description": ""
    },
    {
      "Command": "echo",
      "Target": "loop: ${!Loop} | row: ${row[0]}",
      "Value": "",
      "Description": ""
    },
    {
      "Command": "if_v2",
      "Target": "${!Loop} == 1",
      "Value": "",
      "Description": ""
    },
    {
      "Command": "comment",
      "Target": "This should not trigger....",
      "Value": "",
      "Description": ""
    },
    {
      "Command": "throwError",
      "Target": "!Loop test error sum sh*t",
      "Value": "",
      "Description": ""
    },
    {
      "Command": "end",
      "Target": "",
      "Value": "",
      "Description": ""
    },
    {
      "Command": "end",
      "Target": "",
      "Value": "",
      "Description": ""
    },
    {
      "Command": "label",
      "Target": "skip_loop",
      "Value": "",
      "Description": ""
    }
  ]
}

You can use conditions in this scenario.
And also for captcha, you can set conditions so that when the captcha appears bot should make a noise and pause. Then solve the captcha and resume the UI Vision.