Is it safe to use Eventing and Node SDK with Sync Gateway on the same bucket?

I’m running Couchbase Server Enterprise 7.6.2 and Sync Gateway 3.1. I have Eventing functions and Node SDK upsert() operations writing to the same bucket that Sync Gateway monitors. This setup generally works, but occasionally, some documents end up with meta.xattrs = {} (empty object) instead of the expected _sync in xattrs, causing them to not sync to clients.

Is it safe to use Eventing and the Node SDK to update a bucket while Sync Gateway is listening to it? Or should I always use the Sync Gateway POST API for updates to ensure proper synchronization?

Thanks in advance for any insights.

As per Eventing — Server Compatibility | Couchbase Docs the minimum requirements are Sync Gateway 3.2 and Couchbase Server 7.6.3