Sessions That Don't Drop You, and a Monthly Reset That Works

Long sessions stay signed in, the free-tier quota resets each month the way it should, and the “user joined” toast stops stacking up.

Chat that outlives its token. Two related fixes kept long sessions alive. The chat socket now keeps its access token fresh so a conversation no longer dies after roughly six hours, and on the backend an expired access token can be refreshed within the 30-day window instead of forcing a full re-login. Together they mean an open tab — or a returning user — stays signed in the way you'd expect, rather than silently losing the connection mid-conversation.

A monthly reset that actually resets. Free-tier users' monthly token allowance now resets lazily when their billing window rolls over, so the usage meter starts each period fresh instead of staying pinned at last month's total.

A calmer join toast. The “user joined” notification was de-duplicated into a single toast that auto-fades after five seconds and carries an icon, instead of stacking up a separate banner for every join event.

Why it matters

Nothing erodes trust faster than getting logged out for no reason or seeing a usage meter that never clears. These are the reliability fixes that make GroupGPT feel dependable in everyday use — the session holds, the quota behaves, and the UI stays quiet.