LWT UPDATE returns [applied]=true but row sometimes does not change when executed immediately after INSERT

Installation details
#ScyllaDB version: 2025.4.5-0
#Cluster size:
os windows scylla on docker image scylladb/scylla:latest

Issue

When performing an INSERT followed immediately by an UPDATE using IF conditions (LWT), the update sometimes returns:

[applied]: true

However, the row data does not reflect the update. The data remains identical to the initial INSERT.

If a small delay is added between INSERT and UPDATE, the issue does not occur.

If LWT is removed from the UPDATE, the issue also does not occur.

my schema:

CREATE TABLE IF NOT EXISTS temp_file (
        id text,
        user_id text,
        topic_id text,
        files list<frozen<file_item>>,
        owner text,
        version bigint,
        updated_at timestamp,
        created_at timestamp,
        PRIMARY KEY ((user_id, topic_id))
);

this is my code

this.scylla.execute(
      `INSERT INTO temp_file JSON ? IF NOT EXISTS;`,
      [JSON.stringify(this.preInsert(data))],
      {
        prepare: true
      },
    )

// some logic 

this.scylla.execute(
      `UPDATE temp_file SET files = ?, updated_at = ?, version = ? WHERE user_id = ? AND topic_id = ? IF owner = ? AND version = ?;`,
      [
        [
          {
            folder: 'images',
            type: 'image',
            variants: [
                        {
                          url: 'https://dl.example.ir/images/g-QLT-640.webp',
                          size: 0,
                          is_original: false,
                          content_type: 'image/webp'
                        }
                      ]
          }
        ],
        2026-04-17T10:06:11.130Z,
        Long { low: 1, high: 0, unsigned: false },
        '1',
        'MigLnFKX9VhlcBWf1',
        '1',
        Long { low: 0, high: 0, unsigned: false }
     ],
      {
        prepare: true
      },
    )

the response which is the same with correct one but data in db didn’t change:

ResultSet {
    info: {
      queriedHost: '127.0.0.1:9042',
      triedHosts: { '127.0.0.1:9042': null },
      speculativeExecutions: 0,
      achievedConsistency: 1,
      traceId: undefined,
      warnings: undefined,
      customPayload: undefined,
      isSchemaInAgreement: true
    },
    rows: [
      Row {
        '[applied]': true,
        owner: '1',
        version: Long { low: 0, high: 0, unsigned: false }
      }
    ],
    rowLength: 1,
    columns: [
      { name: '[applied]', type: { code: 4, type: null } },
      { name: 'owner', type: { code: 13, type: null } },
      { name: 'version', type: { code: 2, type: null } }
    ],
    pageState: null,
    nextPage: undefined,
    nextPageAsync: undefined
  }

Beside i have test different consistency and serial consistency it seems make no diffrence.

Well it was my code bug.
Sorry for the mistake.

in my args i use something like this

version ? 'version = ?' : ‘‘

which sometimes consider 0 as false and sometimes not while in my log its correct but in execute make wrong value which is weird

I just give up at this point:)