Recently I received the error while working on a WordPress Site.

Message: file origin does not match viewer's

Solution. Both the website and the PDF have to be served over the same protocol, in my case, SSL.

I upgraded the website to use SSL. The PDF.JS plugin and the file must be served from the https URL. I updated the page with the embedded plugin and served the file over SSL to match the application.

private fun createTimerNotification(application: Application, body: String): Notification {
    return NotificationCompat.Builder(application, FOREGROUND_TIMER_NOTIFICATION_CHANNEL_ID)
        .setContentTitle("Title")
        .setContentText(body)
        .setColor(AccentPurple.toArgb())
        .setColorized(true)
        .setStyle(NotificationCompat.DecoratedCustomViewStyle())
        .setPriority(NotificationCompat.PRIORITY_MIN)
        .setWhen(0)
        .setSmallIcon(R.drawable.ic_launcher_foreground)
        .setOngoing(true)
        .build()
}

When WordPress goes to update, it creates a lock in the database so that multiple users and processes do not attempt to edit the system in parallel. However, there are cases when this lock is created, but the update never occurs. If this happens and the lock is not released, you will be blocked from retrying until you manually clean up the lock.

The lock is created in the database in the wp_options table. You need to find the option with the option name core_updater.lock and delete the row. Then you can return to the site and run the update again.