Close Menu
    Facebook X (Twitter) Instagram
    • Home
    • Contact Us
    • About Us
    • Privacy Policy
    • Terms Of Service
    • Advertisement
    Sunday, July 5
    Facebook X (Twitter) Instagram Pinterest Vimeo
    ABS Africa TV
    • Breaking News
    • Trending
    • Africa News
    • World News
    • Features
    • Technology
    • Sports
    • Politics
    • More
      • Culture
      • Lifestyle
      • Travel
      • Business
      • Environment
      • Legal
      • Health
      • Cameroon
      • Ambazonia
      • AfroSingles
      • Environ/Climate
      • Editorial
      • The Leak Magazine
    • Donate
    Subscription
    ABS Africa TV
    Home»Environment»COP29 climate agenda clouded by trade tensions ahead of summit
    Environment

    COP29 climate agenda clouded by trade tensions ahead of summit

    Markel ZillaBy Markel ZillaJuly 5, 2026No Comments9 Mins Read
    Facebook Twitter Pinterest LinkedIn Tumblr Email
    Share
    Facebook Twitter LinkedIn Pinterest Email
    Post Views: 7

    COP29 climate agenda clouded by trade tensions ahead of summit

    COP29 climate agenda clouded by trade tensions ahead of summit

    Read this story aloud

    Listen to the clean text version of this article

    Ready
    3 min listen
    Audio reading is not supported on this browser.

    The COP29 talks begin on November 11, 2024, in Baku, Azerbaijan

    China has put trade talks onto the proposed agenda for the COP29 summit, a UN document showed, raising the prospect that the issue could disrupt the start of global climate talks.
    The draft agenda for this year’s climate summit, published on Friday, includes a Chinese proposal, previously reported by Reuters, for talks on carbon border taxes and other “restrictive trade measures” that Beijing says hurt developing countries.
    Delegates at the conference must adopt the summit agenda by consensus as their first task when the COP29 talks begin on November 11, 2024, in Baku, Azerbaijan.

    More To Read

    • A Super El Niño is coming: Five hard‑won lessons the world can learn from Africa
    • Slum residents urged to adopt ‘localised solutions’ to mitigate climate change effects
    • How the cocoa price crash is crushing West African farmers
    • Nearly 60 people killed in Ivory Coast floods since May
    • EU, IOM launch regional programme to tackle climate displacement, response
    • Uganda arrests Danish wildlife journalist Klaus Thymann amid press freedom concerns

    But some diplomats said the European Union is likely to oppose the Chinese proposal, which Beijing submitted on behalf of the BASIC group that also includes Brazil, India and South Africa.
    Failure to approve the agenda could delay the start of negotiations – cutting into the time left for the main task of approving potentially hundreds of billions of dollars in new funding to address climate change.
    “We will speak about it, relentlessly,” South Africa’s Environment Minister Dion George told Reuters.

    Latest Stories

    • Taita Taveta County unveils cooperative fund to boost rural access to credit
    • Lilian Odira targets personal best and Diamond League final after dream victory in Eugene
    • Karua, Matiang’i demand arrest and resignation of PS Fikirini over Cecil Ouma shooting
    • A Super El Niño is coming: Five hard‑won lessons the world can learn from Africa

    Carbon border policy
    BASIC countries have been strong critics of the EU carbon border policy, which from 2026 will impose fees on imports of high-carbon goods, including steel and cement.
    “We are displeased about it and we don’t think it’s good for our economy,” George said, adding that South Africa and China are having “intense conversations” with the EU.
    EU Climate Commissioner Wopke Hoekstra said he took countries’ concerns seriously. But he dismissed Beijing’s opposition to the EU carbon border levy.
    “Given all the interactions we’ve had, and knowing the Chinese for always being very well-prepared and knowing the exact workings of the system, I don’t find that a very credible strategy to pursue,” Hoekstra told Reuters in a joint interview with other media outlets.
    The EU says its carbon border levy is not a trade measure, but rather a climate policy to prevent European industries from being undercut by cheap imports from countries with lax environmental rules.
    The EU has previously said trade disputes should be addressed at the World Trade Organisation.
    One European climate negotiator expressed concern that the BASIC proposal was intended to prevent discussions at COP29 on cutting CO2 emissions and finance from moving forward.
    A fight over the agenda at a round of UN climate negotiations in 2023 was not resolved for more than a week, killing off progress at the talks.

    Other Topics To Read

    Top Stories Today

    • Karua, Matiang’i demand arrest of PS Fikirini over Cecil Ouma shooting
    • Taita Taveta to launch cooperative fund to boost rural credit access
    • World Champion Lilian Odira beats Keely Hodgkinson in Eugene thriller
    • Coast leaders rally support for 10-point agenda, reject divisive politics
    • A Super El Niño is coming: Five lessons Africa can teach the world
    • Faith Kipyegon reveals hamstring injury after rare defeat in Eugene

    `;
    }

    return “;
    }

    function commentActionsMarkup(comment, canComment) {
    const likeLabel = comment.liked_by_me ? ‘Liked’ : ‘Like’;
    const likeCount = Number(comment.like_count || 0) > 0
    ? “
    : ”;

    const likeButton = canComment && comment.status === ‘approved’
    ? “
    : “;

    const replyButton = canComment && comment.status === ‘approved’
    ? “
    : ”;

    return `

    `;
    }

    function commentMarkup(comment, canComment, isReply = false) {
    const pendingBadge = comment.status && comment.status !== ‘approved’
    ? “
    : ”;

    const edited = comment.is_edited
    ? “
    : ”;

    const repliesHtml = Array.isArray(comment.replies) && comment.replies.length
    ? `

    `
    : “;

    return `

    `;
    }

    function replyFormMarkup(commentId) {
    return `

    `;
    }

    function setNotice(widget, message, type = ‘info’) {
    const notice = widget.querySelector(‘[data-role=”notice”]’);
    if (!notice) return;

    if (!message) {
    notice.hidden = true;
    notice.textContent = ”;
    notice.classList.remove(‘is-error’);
    return;
    }

    notice.hidden = false;
    notice.textContent = message;
    notice.classList.toggle(‘is-error’, type === ‘error’);
    }

    function setCount(widget, total) {
    const count = widget.querySelector(‘[data-role=”count”]’);
    if (!count) return;

    const num = Number(total || 0);
    count.textContent = num === 1 ? ‘1 comment’ : `${num} comments`;
    }

    function openReplyBox(widget, commentId) {
    widget.querySelectorAll(‘[data-role=”reply-box”]’).forEach(box => {
    box.hidden = true;
    box.innerHTML = ”;
    });

    const targetItem = widget.querySelector(`.ev-comments__item[data-comment-id=”${commentId}”]`);
    if (!targetItem) return;

    const replyBox = targetItem.querySelector(‘[data-role=”reply-box”]’);
    if (!replyBox) return;

    replyBox.hidden = false;
    replyBox.innerHTML = replyFormMarkup(commentId);

    const textarea = replyBox.querySelector(‘textarea’);
    if (textarea) textarea.focus();
    }

    function closeReplyBox(container) {
    if (!container) return;
    container.hidden = true;
    container.innerHTML = ”;
    }

    async function initCommentsWidget(widget) {
    const state = {
    articleId: Number(widget.dataset.articleId),
    loadUrl: widget.dataset.loadUrl,
    storeUrl: widget.dataset.storeUrl,
    commentsBaseUrl: widget.dataset.commentsBaseUrl,
    canComment: widget.dataset.canComment === ‘1’,
    page: 1,
    perPage: 10,
    sort: ‘newest’,
    total: 0,
    hasMore: false,
    busy: false
    };

    const list = widget.querySelector(‘[data-role=”list”]’);
    const loading = widget.querySelector(‘[data-role=”loading”]’);
    const empty = widget.querySelector(‘[data-role=”empty”]’);
    const loadMoreBtn = widget.querySelector(‘[data-role=”load-more”]’);
    const sortSelect = widget.querySelector(‘[data-role=”sort”]’);
    const composerForm = widget.querySelector(‘[data-role=”composer-form”]’);

    async function loadComments(reset = true) {
    if (state.busy) return;

    state.busy = true;
    setNotice(widget, ”);
    loading.hidden = false;

    if (reset) {
    state.page = 1;
    list.innerHTML = ”;
    empty.hidden = true;
    }

    try {
    const url = new URL(state.loadUrl, window.location.origin);
    url.searchParams.set(‘page’, state.page);
    url.searchParams.set(‘per_page’, state.perPage);
    url.searchParams.set(‘sort’, state.sort);

    const response = await requestJson(url.toString(), {
    method: ‘GET’,
    headers: {
    ‘Accept’: ‘application/json’,
    ‘X-Requested-With’: ‘XMLHttpRequest’
    }
    });

    const items = Array.isArray(response.data) ? response.data : [];
    const meta = response.meta || {};

    state.total = Number(meta.total || 0);
    state.hasMore = !!meta.has_more;

    setCount(widget, state.total);

    if (reset) {
    list.innerHTML = ”;
    }

    if (!items.length && reset) {
    empty.hidden = false;
    } else {
    empty.hidden = true;
    list.insertAdjacentHTML(
    ‘beforeend’,
    items.map(item => commentMarkup(item, state.canComment, false)).join(”)
    );
    }

    loadMoreBtn.hidden = !state.hasMore;
    } catch (error) {
    if (!list.children.length) {
    empty.hidden = false;
    empty.textContent = ‘Unable to load comments right now.’;
    }
    setNotice(widget, error.message || ‘Unable to load comments.’, ‘error’);
    } finally {
    loading.hidden = true;
    state.busy = false;
    }
    }

    async function submitTopLevelComment(form) {
    const textarea = form.querySelector(‘textarea[name=”content”]’);
    const button = form.querySelector(‘[data-role=”submit-comment”]’);

    if (!textarea) return;

    const content = textarea.value.trim();
    if (!content) return;

    const originalText = button ? button.textContent : ”;

    try {
    if (button) {
    button.disabled = true;
    button.textContent = ‘Posting…’;
    }

    const response = await requestJson(state.storeUrl, {
    method: ‘POST’,
    headers: buildJsonHeaders(),
    body: JSON.stringify({
    article_id: state.articleId,
    content: content,
    source_url: window.location.href
    })
    });

    textarea.value = ”;

    if (response?.data) {
    list.insertAdjacentHTML(
    ‘afterbegin’,
    commentMarkup(response.data, state.canComment, false)
    );
    empty.hidden = true;

    if ((response.data.status || ”) === ‘approved’) {
    state.total += 1;
    setCount(widget, state.total);
    }
    }

    setNotice(widget, response.message || ‘Comment posted successfully.’);
    } catch (error) {
    setNotice(widget, error.message || ‘Unable to post comment.’, ‘error’);
    } finally {
    if (button) {
    button.disabled = false;
    button.textContent = originalText || ‘Post comment’;
    }
    }
    }

    async function submitReply(form) {
    const commentId = Number(form.dataset.commentId || 0);
    const textarea = form.querySelector(‘textarea[name=”content”]’);
    const button = form.querySelector(‘.ev-comments__reply-submit’);

    if (!commentId || !textarea) return;

    const content = textarea.value.trim();
    if (!content) return;

    const originalText = button ? button.textContent : ”;

    try {
    if (button) {
    button.disabled = true;
    button.textContent = ‘Posting…’;
    }

    const response = await requestJson(`${state.commentsBaseUrl}/${commentId}/reply`, {
    method: ‘POST’,
    headers: buildJsonHeaders(),
    body: JSON.stringify({
    article_id: state.articleId,
    content: content,
    source_url: window.location.href
    })
    });

    if (response?.data) {
    const parentItem = widget.querySelector(`.ev-comments__item[data-comment-id=”${commentId}”]`);
    if (parentItem) {
    const repliesWrap = parentItem.querySelector(‘.ev-comments__replies’);
    if (repliesWrap) {
    repliesWrap.insertAdjacentHTML(
    ‘beforeend’,
    commentMarkup(response.data, state.canComment, true)
    );
    }
    }
    }

    closeReplyBox(form.closest(‘[data-role=”reply-box”]’));
    setNotice(widget, response.message || ‘Reply posted successfully.’);
    } catch (error) {
    setNotice(widget, error.message || ‘Unable to post reply.’, ‘error’);
    } finally {
    if (button) {
    button.disabled = false;
    button.textContent = originalText || ‘Post reply’;
    }
    }
    }

    async function toggleLike(button) {
    const commentId = Number(button.dataset.commentId || 0);
    if (!commentId) return;

    const originalHtml = button.innerHTML;

    try {
    button.disabled = true;
    button.innerHTML = ‘Working…’;

    const response = await requestJson(`${state.commentsBaseUrl}/${commentId}/like`, {
    method: ‘POST’,
    headers: buildJsonHeaders(),
    body: JSON.stringify({})
    });

    const liked = !!response?.data?.liked;
    const likeCount = Number(response?.data?.like_count || 0);

    button.classList.toggle(‘is-liked’, liked);
    button.innerHTML = `${liked ? ‘Liked’ : ‘Like’} ${likeCount > 0 ? “ : ”}`;
    } catch (error) {
    button.innerHTML = originalHtml;
    setNotice(widget, error.message || ‘Unable to update like.’, ‘error’);
    } finally {
    button.disabled = false;
    }
    }

    if (composerForm) {
    composerForm.addEventListener(‘submit’, function (e) {
    e.preventDefault();
    submitTopLevelComment(composerForm);
    });
    }

    if (sortSelect) {
    sortSelect.addEventListener(‘change’, function () {
    state.sort = this.value || ‘newest’;
    loadComments(true);
    });
    }

    if (loadMoreBtn) {
    loadMoreBtn.addEventListener(‘click’, function () {
    if (state.busy || !state.hasMore) return;
    state.page += 1;
    loadComments(false);
    });
    }

    widget.addEventListener(‘click’, function (e) {
    const likeBtn = e.target.closest(‘[data-action=”toggle-like”]’);
    if (likeBtn) {
    e.preventDefault();
    toggleLike(likeBtn);
    return;
    }

    const replyBtn = e.target.closest(‘[data-action=”toggle-reply”]’);
    if (replyBtn) {
    e.preventDefault();
    openReplyBox(widget, Number(replyBtn.dataset.commentId || 0));
    return;
    }

    const cancelReplyBtn = e.target.closest(‘[data-action=”cancel-reply”]’);
    if (cancelReplyBtn) {
    e.preventDefault();
    closeReplyBox(cancelReplyBtn.closest(‘[data-role=”reply-box”]’));
    }
    });

    widget.addEventListener(‘submit’, function (e) {
    const replyForm = e.target.closest(‘.ev-comments__reply-form’);
    if (replyForm) {
    e.preventDefault();
    submitReply(replyForm);
    }
    });

    loadComments(true);
    }

    document.addEventListener(‘DOMContentLoaded’, function () {
    document.querySelectorAll(‘.ev-comments’).forEach(initCommentsWidget);
    });
    })();

    Trending

    Eight arrested in Marsabit over Sh1.2 million SIM swap fraud
    Eight arrested in Marsabit over Sh1.2 million SIM swap fraudNorthern Kenya
    |Bashir Mbuthia
    |1 day ago
    Faith Kipyegon reveals hamstring injury after rare defeat as focus shifts to second half of season
    Faith Kipyegon reveals hamstring injury after rare defeat as focus shifts to second half of seasonAthletics
    |Erick Kariuki
    |3 hours ago
    Somali Embassy hosts Kenya leaders, diplomats for 66th Independence Day celebrations
    Somali Embassy hosts Kenya leaders, diplomats for 66th Independence Day celebrationsSomalia
    |Abdirahman Khalif
    |7 hours ago
    Six killed as matatu, trailer collide head-on along Nakuru-Eldoret highway
    Six killed as matatu, trailer collide head-on along Nakuru-Eldoret highwayNews
    |Rachael Mutabasi
    |1 day ago
    Court declares Ruaraka School land public, rules Sh1.5 billion payout illegalNews
    |Carolyne Kubwa
    |1 day ago
    Mbappé fires France past Paraguay into World Cup quarter-finals
    Mbappé fires France past Paraguay into World Cup quarter-finalsSports
    |Erick Kariuki
    |12 hours ago
    Taita Taveta County unveils cooperative fund to boost rural access to credit
    Taita Taveta County unveils cooperative fund to boost rural access to creditCoast
    |Farhiya Hussein
    |18 minutes ago
    Lilian Odira targets personal best and Diamond League final after dream victory in Eugene
    Lilian Odira targets personal best and Diamond League final after dream victory in EugeneAthletics
    |Erick Kariuki
    |1 hour ago
    Pakistan to host next round of US-Iran talks on July 11
    Pakistan to host next round of US-Iran talks on July 11Middle-East
    |XINHUA
    |7 hours ago
    Kenyans urged to join Saba Saba march to honour victims of alleged abductions, killings
    Kenyans urged to join Saba Saba march to honour victims of alleged abductions, killingsNews
    |Lucy Mumbi
    |10 hours ago

    agenda Climate clouded COP29 Trade
    Share. Facebook Twitter Pinterest LinkedIn Tumblr Email
    Markel Zilla
    • Website

    Related Posts

    Use of Local Languages Remains Crucial in Climate Change Communication

    July 5, 2026

    Refugees decry lack of adequate climate funding in most vulnerable regions

    July 5, 2026

    IGAD unveils youth-led climate coalition to strengthen resilience in Eastern Africa

    July 5, 2026
    Leave A Reply Cancel Reply

    Search
    Latest Post

    TPS Eastern Africa grows its hospitality footprint as investors track regional travel demand

    July 5, 2026

    Use of Local Languages Remains Crucial in Climate Change Communication

    July 5, 2026

    Former finance minister highlights economic concerns of martyred Leader

    July 5, 2026

    Cholera, measles, food shortages put 200,000 at risk in Sudan’s North Kordofan: Medics

    July 5, 2026

    FG condemns killing of two Nigerians in South Africa

    July 5, 2026

    Subscribe to Updates

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

    • Facebook
    • Twitter
    • Pinterest
    • Instagram
    • YouTube
    • TikTok
    ABS TV and ABS Network News is a leading Pan-African 24/7 broadcasting network delivering nonstop news, talk shows, lifestyle programs, and digital media content worldwide through Satellite, Streaming Platforms, and Roku TV.
     
    Based in the United States, we connect Africa to the world while empowering creators, journalists, and brands through innovative media and broadcasting services.
    Facebook X (Twitter) Pinterest WhatsApp Instagram

    Our Picks

    TPS Eastern Africa grows its hospitality footprint as investors track regional travel demand

    Use of Local Languages Remains Crucial in Climate Change Communication

    Former finance minister highlights economic concerns of martyred Leader

    Most Popular

    Cholera, measles, food shortages put 200,000 at risk in Sudan’s North Kordofan: Medics

    FG condemns killing of two Nigerians in South Africa

    Team Paiya – Au chaud Ft. Gaz Mawete

    © 2026 Copyright. All Rights Reserved by ABSAFRICATV
    • Privacy Policy
    • Terms of Services

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

    We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.