Repeater Issue

Wow! I think the issue is connected to server/browser. The problem is – OK, what follows is technical, take it for what it is – that you want to populate the repeater using the results of a query filtered by the time/date. What happens is that the server has one time (depending on where it is located), and the browser has another time (local for the user). When in Preview mode, it always renders based on the local (browser) time/date. But Live is another ball game. A Live site attempts to improve performance by performing some of the rendering of the site on the server and then sending to the browser where it’s finished. To prevent a conflict, and to ensure that you are presenting data based on the user’s local time/date, you need to check where the rendering is occuring.

Use the following code on your home page:

import wixWindow from 'wix-window';

$w.onReady(function () {

   if (wixWindow.rendering.env === 'browser' || wixWindow.viewMode === 'Preview') {
      var nd = new Date();
      wixData.query("FCC-EVENTS")
            .gt("eventStartDt", nd)
            .limit(3)
            .ascending("eventStartDt")
            .find()
            .then((results) => {
                $w("#repeater1").data = [];
                $w("#repeater1").data = results.items;
            });
   }

... the rest of your code in the onReady() function ...
}

The test for wixWindow.rendering.env === ‘browser’ ensures that when in a Live site, it only uses browser rendering. See the wixWindow.rendering.env API for more information.

The test for wixWindow.viewMode === ‘Preview’ allows you to continue running and testing your site in the Editor. See the wixWindow.viewMode API for more information.

Well, I hope I finally figured this out. I know this solved a similar problem on one of my projects, and I suspect it will solve your problem. What prompted me to think of this was that you stated the FCC-EVENTS page works OK - and it doesn’t use the time/date, at least, not the “current” time/date.