Close Menu

    Subscribe to Updates

    Get the latest creative news from FooBar about art, design and business.

    What's Hot

    Sephora Brings Beauty Leaders Together at The Business of Beauty Global Forum 2026

    July 3, 2026

    ICC chairman Jay Shah lauds KKR owner Shah Rukh Khan following the unveiling of the LA2028 cricket venue

    July 3, 2026

    This Ear-Based Device Could Save Patients from Brain Bleed Complications

    July 3, 2026
    Facebook X (Twitter) Instagram
    Select Language
    Facebook X (Twitter) Instagram
    NEWS ON CLICK
    Subscribe
    Friday, July 3
    • Home
      • United States
      • Canada
      • Spain
      • Mexico
    • Top Countries
      • Canada
      • Mexico
      • Spain
      • United States
    • Politics
    • Business
    • Entertainment
    • Fashion
    • Health
    • Science
    • Sports
    • Travel
    NEWS ON CLICK
    Home»Top Countries»United States»The FBI is directing hundreds of analysts to its probe of Georgia’s 2020 presidential election
    United States

    The FBI is directing hundreds of analysts to its probe of Georgia’s 2020 presidential election

    News DeskBy News DeskJuly 2, 2026No Comments7 Mins Read
    Share Facebook Twitter Pinterest Copy Link LinkedIn Tumblr Email VKontakte Telegram
    The FBI is directing hundreds of analysts to its probe of Georgia’s 2020 presidential election
    Share
    Facebook Twitter Pinterest Email Copy Link

    ‘
    );
    }

    function setButtonState(button, state) {
    const hint = button.parentElement && button.parentElement.querySelector(‘[data-author-follow-hint]’);
    const followLabel = button.dataset.followLabel || ‘Follow’;
    const followingLabel = button.dataset.followingLabel || ‘Following’;
    const signinLabel = button.dataset.signinLabel || ‘Sign in to follow’;
    const loadingLabel = button.dataset.loadingLabel || ‘Saving…’;
    const pendingAuthLabel = button.dataset.pendingAuthLabel || ‘Loading…’;
    button.classList.remove(‘is-following’, ‘is-loading’, ‘is-auth-required’);

    if (state === ‘loading’) {
    button.classList.add(‘is-loading’);
    button.disabled = true;
    button.textContent = loadingLabel;
    if (hint) {
    hint.textContent=”Updating your followed authors…”;
    }
    return;
    }

    if (state === ‘pending-auth’) {
    button.classList.add(‘is-loading’);
    button.disabled = true;
    button.textContent = pendingAuthLabel;
    if (hint) {
    hint.textContent=”Checking your sign-in status…”;
    }
    return;
    }

    button.disabled = false;

    if (state === ‘following’) {
    button.classList.add(‘is-following’);
    button.textContent = followingLabel;
    if (hint) {
    hint.textContent = followingLabel === ‘Unfollow’
    ? ‘Remove this writer from your followed list.’
    : ‘Click again to unfollow.’;
    }
    return;
    }

    if (state === ‘signin’) {
    button.classList.add(‘is-auth-required’);
    button.textContent = signinLabel;
    if (hint) {
    hint.textContent=”Sign in to follow writers and manage your list.”;
    }
    return;
    }

    button.textContent = followLabel;
    if (hint) {
    hint.textContent=”Click to follow.”;
    }
    }

    function renderWidgets(scope) {
    const root = scope || document;
    root.querySelectorAll(‘[data-author-follow-widget]’).forEach(function (widget) {
    const button = widget.querySelector(‘[data-author-follow-button]’);
    if (!button) {
    return;
    }

    const staffId = widget.dataset.staffId;
    const hasToken = !!getBearerToken();

    if (!isPianoIdentityReady() && !hasToken) {
    setButtonState(button, ‘pending-auth’);
    return;
    }

    if (!hasToken) {
    setButtonState(button, ‘signin’);
    return;
    }

    if (followedAuthorsMap.has(String(staffId))) {
    setButtonState(button, ‘following’);
    } else {
    setButtonState(button, ‘follow’);
    }
    });
    }

    function renderManageList(container) {
    if (!container) {
    return;
    }

    const hasToken = !!getBearerToken();

    if (!isPianoIdentityReady() && !hasToken) {
    container.innerHTML = (
    ‘

    Checking your account status…

    ‘
    );
    return;
    }

    if (!hasToken) {
    container.innerHTML = (
    ‘

    Sign in to load the authors you follow. ‘ +
    ‘Sign in

    ‘
    );
    return;
    }

    const followedAuthors = Array.from(followedAuthorsMap.values());
    if (!followedAuthors.length) {
    container.innerHTML = (
    ‘

    You are not following any authors yet. ‘ +
    ‘Use the follow buttons on stories or staff pages to build your list.

    ‘
    );
    return;
    }

    container.innerHTML = followedAuthors
    .map(function (author) {
    return (
    ‘

    ‘ +
    ” +
    ‘

    ‘ +
    ‘‘ +
    ‘Remove this writer from your followed list.‘ +
    ‘

    ‘ +
    ‘

    ‘
    );
    })
    .join(”);

    bindEvents(container);
    renderWidgets(container);
    }

    async function refresh(scope, options) {
    const forceFetch = !!(options && options.force);

    if (!hasFollowWidgets(scope)) {
    return;
    }

    // Wipe the cached map BEFORE the first render so a user-switch can’t
    // momentarily display the previous user’s “Following” state.
    discardCacheIfTokenChanged();

    renderWidgets(scope);

    const manageContainer = document.querySelector(‘[data-author-follow-manage-list]’);
    const managePreferencesContainer = document.querySelector(‘[data-author-follow-manage-preferences]’);
    const hasToken = !!getBearerToken();

    if (!isPianoIdentityReady() && !hasToken) {
    renderWidgets(scope);
    renderManagePreferences(managePreferencesContainer);
    renderManageList(manageContainer);
    return;
    }

    if (!hasToken) {
    renderManagePreferences(managePreferencesContainer);
    renderManageList(manageContainer);
    return;
    }

    try {
    await loadFollowedAuthors(forceFetch);
    renderWidgets(scope);
    renderManagePreferences(managePreferencesContainer);
    renderManageList(manageContainer);
    } catch (error) {
    console.warn(‘Unable to load followed authors.’, error);
    if (error && error.code === ‘AUTH_REQUIRED’) {
    renderWidgets(scope);
    renderManagePreferences(managePreferencesContainer);
    renderManageList(manageContainer);
    }
    }
    }

    function startLoginPoll() {
    if (loginPoll) {
    clearInterval(loginPoll);
    }

    let attempts = 0;
    loginPoll = setInterval(function () {
    attempts += 1;
    if (getBearerToken() || isLoggedIn() || attempts > 25) {
    clearInterval(loginPoll);
    loginPoll = null;
    refresh(document, { force: true });
    }
    }, 1000);
    }

    function stopPianoReadyPoll() {
    if (pianoReadyPoll) {
    clearInterval(pianoReadyPoll);
    pianoReadyPoll = null;
    }
    }

    function startPianoReadyPoll() {
    stopPianoReadyPoll();

    let attempts = 0;
    pianoReadyPoll = setInterval(function () {
    attempts += 1;
    if (isPianoIdentityReady() || getBearerToken() || attempts > 40) {
    stopPianoReadyPoll();
    // Non-forced: if bindPianoInitRefresh already fetched, the TTL
    // dedupes this call. If it lost the race, this call wins.
    refresh(document);
    }
    }, 500);
    }

    function bindPianoInitRefresh() {
    if (pianoInitBound) {
    return;
    }

    pianoInitBound = whenPianoReady(function () {
    // The Piano init callback is the canonical “identity is ready” signal;
    // cancel the fallback poll so it can’t issue a redundant second fetch.
    stopPianoReadyPoll();
    refresh(document, { force: true });
    });
    }

    async function handleWidgetClick(widget, button) {
    const staffId = widget.dataset.staffId;

    if (!getBearerToken()) {
    setButtonState(button, isPianoIdentityReady() ? ‘signin’ : ‘pending-auth’);
    if (typeof window.showPianoLogin === ‘function’) {
    window.showPianoLogin();
    startLoginPoll();
    }
    return;
    }

    // If the identity changed since the cache was last filled, drop the stale
    // map before the follow/unfollow decision below — otherwise the click
    // could issue the wrong action against the previous user’s state.
    discardCacheIfTokenChanged();

    setButtonState(button, ‘loading’);

    try {
    if (followedAuthorsMap.has(String(staffId))) {
    await apiRequest(apiBaseUrl + “https://www.washingtontimes.com/” + staffId, { method: ‘DELETE’ });
    followedAuthorsMap.delete(String(staffId));
    removePushlyFollowedAuthorId(staffId);
    } else {
    const author = await apiRequest(apiBaseUrl + “https://www.washingtontimes.com/” + staffId, {
    method: ‘PUT’,
    body: JSON.stringify({
    push_enabled: followDeliveryPreferences.push_enabled,
    email_fallback_enabled: followDeliveryPreferences.email_fallback_enabled,
    }),
    });
    followedAuthorsMap.set(String(staffId), author);
    appendPushlyFollowedAuthorId(staffId);
    }

    saveStoredFollowDeliveryPreferences(
    deriveFollowDeliveryPreferences(Array.from(followedAuthorsMap.values())),
    );
    syncPushlyFollowedAuthorsProfile();
    renderManagePreferences(document.querySelector(‘[data-author-follow-manage-preferences]’));
    renderWidgets(document);
    renderManageList(document.querySelector(‘[data-author-follow-manage-list]’));
    } catch (error) {
    console.warn(‘Unable to update followed author.’, error);
    if (error && error.code === ‘AUTH_REQUIRED’) {
    setButtonState(button, ‘signin’);
    }
    renderWidgets(document);
    }
    }

    function bindEvents(scope) {
    const root = scope || document;
    root.querySelectorAll(‘[data-author-follow-widget]’).forEach(function (widget) {
    if (widget.dataset.followWidgetBound === ‘true’) {
    return;
    }
    widget.dataset.followWidgetBound = ‘true’;

    const button = widget.querySelector(‘[data-author-follow-button]’);
    if (!button) {
    return;
    }

    button.addEventListener(‘click’, function () {
    handleWidgetClick(widget, button);
    });
    });

    root.querySelectorAll(‘[data-author-follow-manage-preferences]’).forEach(function (container) {
    if (container.dataset.followGlobalPreferencesBound === ‘true’) {
    return;
    }
    container.dataset.followGlobalPreferencesBound = ‘true’;

    async function handlePreferenceChange() {
    const pushInput = container.querySelector(‘[data-author-follow-global-pref=”push”]’);
    const emailInput = container.querySelector(‘[data-author-follow-global-pref=”email”]’);
    if (!pushInput || !emailInput) {
    return;
    }

    const previousPreferences = {
    push_enabled: followDeliveryPreferences.push_enabled,
    email_fallback_enabled: followDeliveryPreferences.email_fallback_enabled,
    };
    const payload = {
    push_enabled: !!pushInput.checked,
    email_fallback_enabled: !!emailInput.checked,
    };
    // Drop a stale map if the identity changed before iterating — we
    // don’t want to issue follow updates against the previous user’s
    // authors with the current user’s bearer token.
    discardCacheIfTokenChanged();
    const followedAuthors = Array.from(followedAuthorsMap.values());

    saveStoredFollowDeliveryPreferences(payload);
    managePreferencesPending = true;
    pushInput.disabled = true;
    emailInput.disabled = true;

    try {
    await Promise.all(
    followedAuthors.map(function (author) {
    return updateFollowPreferences(author.id, payload);
    }),
    );
    renderManagePreferences(container);
    renderWidgets(document);
    renderManageList(document.querySelector(‘[data-author-follow-manage-list]’));
    } catch (error) {
    console.warn(‘Unable to update author follow preferences.’, error);
    saveStoredFollowDeliveryPreferences(previousPreferences);
    pushInput.checked = previousPreferences.push_enabled;
    emailInput.checked = previousPreferences.email_fallback_enabled;
    } finally {
    managePreferencesPending = false;
    pushInput.disabled = false;
    emailInput.disabled = false;
    }
    }

    container.addEventListener(‘change’, function (event) {
    const target = event.target;
    if (!target || !target.matches(‘[data-author-follow-global-pref]’)) {
    return;
    }
    handlePreferenceChange();
    });
    });
    }

    function init(scope) {
    const root = scope || document;
    if (!hasFollowWidgets(root)) {
    return;
    }
    bindEvents(root);
    renderWidgets(root);
    bindPianoInitRefresh();
    startPianoReadyPoll();
    refresh(root);
    }

    window.WTAuthorFollow = {
    init: init,
    refresh: refresh,
    };

    document.addEventListener(‘DOMContentLoaded’, function () {
    init(document);
    });

    window.addEventListener(‘focus’, function () {
    if (hasFollowWidgets(document)) {
    refresh(document);
    }
    });
    document.addEventListener(‘visibilitychange’, function () {
    if (!document.hidden && hasFollowWidgets(document)) {
    refresh(document);
    }
    });
    } else {
    window.WTAuthorFollow.init(document);
    }
    })();


    FILE – Georgia general election 2020 ballots are loaded by the FBI onto trucks at the Fulton County Election HUB, Jan. 28, 2026, in Union City, Ga., near Atlanta. (AP Photo/Mike Stewart, File)


    FILE – Georgia general election 2020 …

    more >

    By Kate Brumback

    –

    Associated Press
    –

    Thursday, July 2, 2026


    ATLANTA — The FBI has asked its field offices across the country to dedicate more than 200 staffers to its investigation of the 2020 election in Georgia’s Fulton County.

    A memo obtained Thursday by The Associated Press calls for the FBI to “surge” 260 investigative analysts and staff operations specialists to the effort, which it described as a “priority investigation.”

    It said each of them is to conduct a check of an estimated 708 records by July 17. While the memo does not describe the investigation, people familiar with the matter who insisted on anonymity to discuss internal decision-making confirmed the request was to help with the Georgia 2020 election investigation.

    FBI agents in January seized hundreds of boxes containing ballots and other documents related to the 2020 election in Georgia’s most populous county, which is heavily Democratic and includes most of the city of Atlanta. A Fulton County spokesperson declined to comment citing a pending investigation. The contents of the memo were first reported by MS NOW.

    President Donald Trump and his allies have made false claims that widespread election fraud cost him the 2020 election. Georgia’s votes in the 2020 presidential race were counted three times, including once by hand, and each count affirmed Democrat Joe Biden’s win.

    The Justice Department has previously said it is investigating “irregularities that occurred during the 2020 presidential election in the County.”

    ___

    Associated Press writers Alanna Durkin Richer and Eric Tucker in Washington contributed to this report.

    Copyright © 2026 The Washington Times, LLC.

    Latest Video

    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email Telegram Copy Link
    News Desk
    • Website

    News Desk is the dedicated editorial force behind News On Click. Comprised of experienced journalists, writers, and editors, our team is united by a shared passion for delivering high-quality, credible news to a global audience.

    Related Posts

    United States

    125 passengers and crew hit with highly contagious stomach virus on cruise from San Francisco

    July 2, 2026
    United States

    Carney, Marcos deepen Canada-Philippines ties as Ottawa looks beyond U.S. trade

    July 2, 2026
    United States

    Video in case against Pooh Shiesty shows him pressing for record label release, prosecutors say

    July 2, 2026
    United States

    A grand jury indicts Louisiana’s attorney general in a fight over changes to the local courts

    July 2, 2026
    United States

    Nevada transgender suspect accused of mass-shooting threats arraigned on 35 felony counts

    July 2, 2026
    United States

    Massachusetts bill would let people sue ICE agents over rights violations

    July 2, 2026
    Add A Comment
    Leave A Reply Cancel Reply

    Don't Miss

    Sephora Brings Beauty Leaders Together at The Business of Beauty Global Forum 2026

    BoF StudioJuly 3, 20260

    Founders and executives from brands including Rare Beauty, ILIA Beauty, Summer Fridays, Merit Beauty and…

    ICC chairman Jay Shah lauds KKR owner Shah Rukh Khan following the unveiling of the LA2028 cricket venue

    July 3, 2026

    This Ear-Based Device Could Save Patients from Brain Bleed Complications

    July 3, 2026

    Dustin Harris Opts Out Of White Sox Deal

    July 3, 2026
    Tech news by Newsonclick.com
    Top Posts

    For These Brands, Resisting the DTC Playbook Paid Off

    June 3, 2026

    Barack Obama’s New Essay Says Bootstraps Alone Cannot Hold a Nation Together

    June 3, 2026

    Grant McCray, Christian Koss Suffer Broken Wrists

    June 3, 2026

    BCCI appoints new spin-bowling coach ahead of India’s one-off Test against Afghanistan

    June 3, 2026
    Stay In Touch
    • Facebook
    • Twitter
    • Pinterest
    • Instagram
    • YouTube
    • Vimeo

    Subscribe to Updates

    Get the latest creative news from SmartMag about art & design.

    Editors Picks

    Sephora Brings Beauty Leaders Together at The Business of Beauty Global Forum 2026

    July 3, 2026

    ICC chairman Jay Shah lauds KKR owner Shah Rukh Khan following the unveiling of the LA2028 cricket venue

    July 3, 2026

    This Ear-Based Device Could Save Patients from Brain Bleed Complications

    July 3, 2026

    Dustin Harris Opts Out Of White Sox Deal

    July 3, 2026
    About Us

    NewsOnClick.com is your reliable source for timely and accurate news. We are committed to delivering unbiased reporting across politics, sports, entertainment, technology, and more. Our mission is to keep you informed with credible, fact-checked content you can trust.

    We're social. Connect with us:

    Facebook X (Twitter) Instagram Pinterest YouTube
    Latest Posts

    Sephora Brings Beauty Leaders Together at The Business of Beauty Global Forum 2026

    July 3, 2026

    ICC chairman Jay Shah lauds KKR owner Shah Rukh Khan following the unveiling of the LA2028 cricket venue

    July 3, 2026

    This Ear-Based Device Could Save Patients from Brain Bleed Complications

    July 3, 2026

    Subscribe to Updates

    Get the latest creative news from FooBar about art, design and business.

    Facebook X (Twitter) Instagram Pinterest
    • About Us
    • Editorial Policy
    • Privacy Policy
    • Terms and Conditions
    • Disclaimer
    • Advertise
    • Contact Us
    © 2026 Newsonclick.com || Designed & Powered by ❤️ Trustmomentum.com.

    Type above and press Enter to search. Press Esc to cancel.