The outer catch at releases.ts:79 silently swallowed all errors when loading widget secrets, including the case where the widget_secret table didn't exist (migration not applied). This caused tokens to silently become undefined, leading to unauthenticated API calls and rate limit errors. Now logs a warning with the itemId and error so the issue is diagnosable in server logs instead of failing silently.