• Pauses the user's playback

    Returns Promise<void>

    Error if the request fails

    export async function pause(): Promise<void> {
    await ensureValidToken();

    try {
    await retryApiCall(async () => {
    await spotifyAxios.put(
    `${API_BASE_URL}/me/player/pause`,
    {},
    {
    headers: {
    Authorization: `Bearer ${getAccessToken()}`,
    },
    },
    );
    });
    } catch (error: unknown) {
    const err = error as Error & AxiosErrorResponse;

    // Ignore 403/404 errors which usually mean no active device
    if (
    err.response &&
    (err.response.status === 403 || err.response.status === 404)
    ) {
    return;
    }

    saveLog(`Failed to pause playback: ${err.message}`, "ERROR");
    throw new Error(`Failed to pause playback: ${err.message}`);
    }
    }