ADVERTISEMENT

Crowd at UPI-led Indignation Rally in Manila grows to 5,000

Published Jul 19, 2026 04:06 pm
Program ongoing at the UPI-led Indignation Rally in Liwasang Bonifacio as the crowd swells Sunday evening. (Photo taken by Diann Calucin/MANILA BULLETIN)
Program ongoing at the UPI-led Indignation Rally in Liwasang Bonifacio as the crowd swells Sunday evening. (Photo taken by Diann Calucin/MANILA BULLETIN)


The UPI-led Indignation Rally in Liwasang Bonifacio drew a surge of supporters Sunday evening, July 19, swelling to around 5,000 by 7 p.m. 

From just 1,000 attendees at 4 p.m., the crowd steadily increased as more supporters arrived.

Organized by the United People’s Initiative (UPI), the rally carried the theme “One People, One Voice, One Philippines,” with participants calling for accountability and stronger public participation in governance.

The gathering drew a cross-section of attendees, including teenagers, working adults, and senior citizens.

Among those present was Former Congressman Kiko Barzaga, who delivered a brief speech during the program.

Some supporters arrived hours early.

Justin, 28, from Rizal, said he reached the venue at 3 p.m. and had also joined the earlier mobilization at Liwasang Bonifacio on July 12, which organizers said sparked the continuing protest actions.

The rally remained generally peaceful but contributed to heavy traffic in parts of Manila, with travel time from Recto to Lawton stretching up to an hour, compounded by the influx of churchgoers in Quiapo.

Supporters of the United Peoples Initiative (UPI) gather during the People’s Indignation Rally carrying the theme “One People, One Voice, One Philippines” on Sunday, July 19, calling for unity and greater public participation on national issues. (Photo taken by John Louie Abrina/MANILA BULLETIN)
Supporters of the United Peoples Initiative (UPI) gather during the People’s Indignation Rally carrying the theme “One People, One Voice, One Philippines” on Sunday, July 19, calling for unity and greater public participation on national issues. (Photo taken by John Louie Abrina/MANILA BULLETIN)

The rally remained generally peaceful, with authorities closely monitoring the situation to ensure order and safety.

Meanwhile, several roads in Manila were closed as a security measure for the gathering, particularly those leading to and around Malacañang Palace.

Affected roads included Recto Avenue from Canor Reyes Street to Legarda, McGregor Street from Figueroa to San Rafael, Ayala Bridge, the eastbound lane of Ayala Boulevard from Mercedino Street, and parts of Magallanes Drive from Jones Bridge to MacArthur Bridge.

Police and security barriers were deployed in key areas, while a stage and LED screen were set up at Liwasang Bonifacio for the program. The anti-corruption protest stretched into the evening and wrapped up at 9 p.m.

Organizers said another rally is planned next Sunday as part of their continuing mobilization.

Related Tags

METRONEWS Manila rallies
ADVERTISEMENT
.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1561_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ static_articles_1562_widget.title }}

.most-popular .layout-ratio{ padding-bottom: 79.13%; } @media (min-width: 768px) and (max-width: 1024px) { .widget-title { font-size: 15px !important; } }

{{ articles_filter_1563_widget.title }}

{{ articles_filter_1564_widget.title }}

.mb-article-details { position: relative; } .mb-article-details .article-body-preview, .mb-article-details .article-body-summary{ font-size: 17px; line-height: 30px; font-family: "Libre Caslon Text", serif; color: #000; } .mb-article-details .article-body-preview iframe , .mb-article-details .article-body-summary iframe{ width: 100%; margin: auto; } .read-more-background { background: linear-gradient(180deg, color(display-p3 1.000 1.000 1.000 / 0) 13.75%, color(display-p3 1.000 1.000 1.000 / 0.8) 30.79%, color(display-p3 1.000 1.000 1.000) 72.5%); position: absolute; height: 200px; width: 100%; bottom: 0; display: flex; justify-content: center; align-items: center; padding: 0; } .read-more-background a{ color: #000; } .read-more-btn { padding: 17px 45px; font-family: Inter; font-weight: 700; font-size: 18px; line-height: 16px; text-align: center; vertical-align: middle; border: 1px solid black; background-color: white; } .hidden { display: none; }
function initializeAllSwipers() { // Get all hidden inputs with cms_article_id document.querySelectorAll('[id^="cms_article_id_"]').forEach(function (input) { const cmsArticleId = input.value; const articleSelector = '#article-' + cmsArticleId + ' .body_images'; const swiperElement = document.querySelector(articleSelector); if (swiperElement && !swiperElement.classList.contains('swiper-initialized')) { new Swiper(articleSelector, { loop: true, pagination: false, navigation: { nextEl: '#article-' + cmsArticleId + ' .swiper-button-next', prevEl: '#article-' + cmsArticleId + ' .swiper-button-prev', }, }); } }); } setTimeout(initializeAllSwipers, 3000); const intersectionObserver = new IntersectionObserver( (entries) => { entries.forEach((entry) => { if (entry.isIntersecting) { const newUrl = entry.target.getAttribute("data-url"); if (newUrl) { history.pushState(null, null, newUrl); let article = entry.target; // Extract metadata const author = article.querySelector('.author-section').textContent.replace('By', '').trim(); const section = article.querySelector('.section-info ').textContent.replace(' ', ' '); const title = article.querySelector('.article-title h1').textContent; // Parse URL for Chartbeat path format const parsedUrl = new URL(newUrl, window.location.origin); const cleanUrl = parsedUrl.host + parsedUrl.pathname; // Update Chartbeat configuration if (typeof window._sf_async_config !== 'undefined') { window._sf_async_config.path = cleanUrl; window._sf_async_config.sections = section; window._sf_async_config.authors = author; } // Track virtual page view with Chartbeat if (typeof pSUPERFLY !== 'undefined' && typeof pSUPERFLY.virtualPage === 'function') { try { pSUPERFLY.virtualPage({ path: cleanUrl, title: title, sections: section, authors: author }); } catch (error) { console.error('ping error', error); } } // Optional: Update document title if (title && title !== document.title) { document.title = title; } } } }); }, { threshold: 0.1 } ); function showArticleBody(button) { const article = button.closest("article"); const summary = article.querySelector(".article-body-summary"); const body = article.querySelector(".article-body-preview"); const readMoreSection = article.querySelector(".read-more-background"); // Hide summary and read-more section summary.style.display = "none"; readMoreSection.style.display = "none"; // Show the full article body body.classList.remove("hidden"); } document.addEventListener("DOMContentLoaded", () => { let loadCount = 0; // Track how many times articles are loaded const offset = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; // Offset values const currentUrl = window.location.pathname.substring(1); let isLoading = false; // Prevent multiple calls if (!currentUrl) { console.log("Current URL is invalid."); return; } const sentinel = document.getElementById("load-more-sentinel"); if (!sentinel) { console.log("Sentinel element not found."); return; } function isSentinelVisible() { const rect = sentinel.getBoundingClientRect(); return ( rect.top < window.innerHeight && rect.bottom >= 0 ); } function onScroll() { if (isLoading) return; if (isSentinelVisible()) { if (loadCount >= offset.length) { console.log("Maximum load attempts reached."); window.removeEventListener("scroll", onScroll); return; } isLoading = true; const currentOffset = offset[loadCount]; window.loadMoreItems().then(() => { let article = document.querySelector('#widget_1690 > div:nth-last-of-type(2) article'); intersectionObserver.observe(article) loadCount++; }).catch(error => { console.error("Error loading more items:", error); }).finally(() => { isLoading = false; }); } } window.addEventListener("scroll", onScroll); });

Sign up by email to receive news.