CUNY Graduate Center - Project Tracking System: Issueshttps://redmine.gc.cuny.edu/https://redmine.gc.cuny.edu/favicon.ico2024-03-13T23:27:17ZCUNY Graduate Center - Project Tracking System
Redmine CUNY Academic Commons - Bug #19975 (Resolved): Deleted and spammed sites are still able to create...https://redmine.gc.cuny.edu/issues/199752024-03-13T23:27:17ZRaymond Hoh
<p>When I was looking into <a class="issue tracker-1 status-1 priority-4 priority-default" title="Bug: Expected Group Forum Functionality (New)" href="https://redmine.gc.cuny.edu/issues/19971">#19971</a> to trim down the Cavalvade scheduled tasks, I noticed that deleted sites such as <code>admissions.commons.gc.cuny.edu</code> or sites marked as spam are still able to create and trigger scheduled tasks.</p>
<p>We should prevent scheduled tasks from being created for deleted / spammed sites.</p> CUNY Academic Commons - Bug #19944 (New): Dealing with BuddyPress 12.x upgrade, pt. 2https://redmine.gc.cuny.edu/issues/199442024-03-11T22:29:12ZRaymond Hoh
<p>Follow-up to <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Dealing with BuddyPress 12.x upgrade (Resolved)" href="https://redmine.gc.cuny.edu/issues/19493">#19493</a>. Just wanted to make sure my comments in <a class="external" href="https://redmine.gc.cuny.edu/issues/19493#note-10">https://redmine.gc.cuny.edu/issues/19493#note-10</a> are brought forward to a future release:</p>
<blockquote>
<p>For more pronounced changes, I created a new branch -- <a href="https://github.com/cuny-academic-commons/cac/compare/bp12...bp12-part2" class="external">bp12-part2</a> -- that namely switches out all BuddyPress 12 deprecated function calls. We can roll that out in a later maintenance release.</p>
<p>I've been testing <code>bp12-part2</code> with BP Classic <em>deactivated</em> and with <code>BP_IGNORE_DEPRECATED</code> set to <code>true</code> and these are some issues I encountered:</p>
<ul>
<li>BP Event Organiser needs some minor adjustments to account for group subnav registration: <a class="external" href="https://github.com/cuny-academic-commons/bp-event-organiser/compare/1.2.x...bp12#diff-b0397cc71e95a79af968e8dadb7b8e525085f462c5a88ac11c8bdb86ecd7173d">https://github.com/cuny-academic-commons/bp-event-organiser/compare/1.2.x...bp12#diff-b0397cc71e95a79af968e8dadb7b8e525085f462c5a88ac11c8bdb86ecd7173d</a></li>
<li>bbPress does <a href="https://github.com/bbpress/bbPress/blob/4178cbf665674c128c928fabdc0322badacad06b/src/includes/extend/buddypress/groups.php#L140-L157" class="external">some conditional checks</a> that needs to be delayed to the <code>'bp_parse_query'</code> hook. This fixes an issue with the bbPress stylesheet not loading on group forum pages I mentioned above in <a href="https://redmine.gc.cuny.edu/issues/19493#note-4" class="external">comment 4</a> amongst other permission-related cap overrides for the current user.</li>
<li>I need Git permissions to the <code>tapor-client</code> repo so I can push changes and pin a new version for our <code>cac</code> repo.</li>
</ul>
<p>About the bbPress load order issue:</p>
<blockquote>
<p>Furthermore, when running bp-classic, I had to do some additional work to ensure that bbPress's BP compatibility layer is loaded in time, and is loaded only once. Like the approach above, it's pretty hacky (requiring a static variable to prevent double-loading) but it basically works. Here's the full patch: <a class="external" href="https://github.com/openlab-at-city-tech/openlab/commit/27f2a68354550295d85f0f3c5aaafc55004268f0">https://github.com/openlab-at-city-tech/openlab/commit/27f2a68354550295d85f0f3c5aaafc55004268f0</a></p>
</blockquote>
<p>I tackled this a little differently in my bbPress commit. See <a class="external" href="https://github.com/cuny-academic-commons/cac/commit/e2145f2462d3d2cbe2f16de914e7875c48b6e1cc#diff-0f345898d2c7666be77acc95ec88e90e98a407644a4ce5431b3fb96d06749039">https://github.com/cuny-academic-commons/cac/commit/e2145f2462d3d2cbe2f16de914e7875c48b6e1cc#diff-0f345898d2c7666be77acc95ec88e90e98a407644a4ce5431b3fb96d06749039</a> and the constructor and includes() portion of <a class="external" href="https://github.com/cuny-academic-commons/cac/commit/e2145f2462d3d2cbe2f16de914e7875c48b6e1cc#diff-a8d1ad6e40805411d0e557ee641e9d47c6cc3d0f17ef107f22ac729255439a5a">https://github.com/cuny-academic-commons/cac/commit/e2145f2462d3d2cbe2f16de914e7875c48b6e1cc#diff-a8d1ad6e40805411d0e557ee641e9d47c6cc3d0f17ef107f22ac729255439a5a</a> . I think the constructor changes might fix your double load order issue. Can you do some tests and see if this works for you, Boone?</p>
</blockquote>
<p>This doesn't need to go in tomorrow's 2.3.4 release. Let's put this in 2.3.5 or later.</p> CUNY Academic Commons - Bug #19928 (New): Forum Topic by Email Statshttps://redmine.gc.cuny.edu/issues/199282024-03-08T17:41:09ZRaymond Hoh
<p>Matt wanted to know the number of topics created by email vs. total number of topics.</p>
<p>Here are the stats:</p>
<p>2024 - 192/515 (so far)<br />2023 - 964/3260<br />2022 - 1058/3272<br />2021 - 1333/4010<br />2020 - 1284/4225<br />2019 - 801/2604<br />2018 - 405/2868<br />2017 - 104/1540<br />2016 - 116/1430<br />2015 - 65/1414<br />2014 - 12/1305</p> CUNY Academic Commons - Bug #19775 (Resolved): Check member status when using REST API for privat...https://redmine.gc.cuny.edu/issues/197752024-02-19T18:56:44ZRaymond Hoh
<p>We allow sites to alter their site privacy with the "More Privacy Options" plugin.</p>
<p>The MPO plugin currently does member status checks for users on the frontend to determine if a user is able to access a private site, however member status checks are not done when accessing the WP REST API. So it would be possible for someone to access private content if the user was savvy enough with the WP REST API to query for post content, etc.</p>
<p>This was brought up in a CBOX OpenLab support thread: <a class="external" href="https://cboxopenlab.org/groups/the-hub/forum/topic/question-about-the-more-privacy-options-plugin/#post-696">https://cboxopenlab.org/groups/the-hub/forum/topic/question-about-the-more-privacy-options-plugin/#post-696</a></p>
<p>Fix forthcoming.</p> CUNY Academic Commons - Bug #19436 (Resolved): Doc nav displays twice on a group doc pagehttps://redmine.gc.cuny.edu/issues/194362023-12-19T03:00:06ZRaymond Hoh
<p>Came across a bug while looking into <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: Audit usage of custom en_CAC locale (Resolved)" href="https://redmine.gc.cuny.edu/issues/19415">#19415</a> where the doc nav was displaying directly below the main navigation, but before the main group interface. Here's an example doc on production with this problem: <a class="external" href="https://commons.gc.cuny.edu/groups/bikecuny/docs/bike-shops/">https://commons.gc.cuny.edu/groups/bikecuny/docs/bike-shops/</a> .</p>
<p>Bug is due to using <code>bp_buffer_template_part()</code> without setting the <code>$echo</code> parameter to <code>false</code> in BuddyPress Docs: <a class="external" href="https://github.com/buddypress/buddypress/blob/39bba862906314d48eeea11ffc127fc8b8fff8c0/src/bp-core/bp-core-template-loader.php#L401">https://github.com/buddypress/buddypress/blob/39bba862906314d48eeea11ffc127fc8b8fff8c0/src/bp-core/bp-core-template-loader.php#L401</a></p>
<p>I've opened a PR for BP Docs here: <a class="external" href="https://github.com/boonebgorges/buddypress-docs/pull/740">https://github.com/boonebgorges/buddypress-docs/pull/740</a>.</p>
<p>Boone, can you review when you have the chance?</p> CUNY Academic Commons - Bug #19415 (Resolved): Audit usage of custom en_CAC localehttps://redmine.gc.cuny.edu/issues/194152023-12-15T00:11:56ZRaymond Hoh
<p>In our codebase, we use a custom <code>en_CAC</code> locale to load these strings:<br />1. WordPress - <a class="external" href="https://github.com/cuny-academic-commons/cac/blob/12e3001973274946faa69cd37360a2d7fce35f04/wp-content/plugins/bp-custom.php#L492-L509">https://github.com/cuny-academic-commons/cac/blob/12e3001973274946faa69cd37360a2d7fce35f04/wp-content/plugins/bp-custom.php#L492-L509</a><br />2. BuddyPress - <a class="external" href="https://github.com/cuny-academic-commons/cac/blob/12e3001973274946faa69cd37360a2d7fce35f04/wp-content/plugins/bp-custom.php#L172-L176">https://github.com/cuny-academic-commons/cac/blob/12e3001973274946faa69cd37360a2d7fce35f04/wp-content/plugins/bp-custom.php#L172-L176</a><br />3. BP plugins - <a class="external" href="https://github.com/cuny-academic-commons/cac/blob/12e3001973274946faa69cd37360a2d7fce35f04/wp-content/plugins/bp-custom.php#L1837C4-L1865">https://github.com/cuny-academic-commons/cac/blob/12e3001973274946faa69cd37360a2d7fce35f04/wp-content/plugins/bp-custom.php#L1837C4-L1865</a></p>
<p>For point 1, <code>en_CAC</code> is not a valid locale and can cause issues when using certain javascript libraries like <a href="https://shoelace.style/getting-started/localization" class="external">Shoelace</a> that attempts to load a locale file for <code>CAC</code>. Also, most of the strings in our custom WordPress localization file are no longer being used. I would recommend removing the <code>update_option( 'WPLANG', 'en-CAC' )</code> approach and doing string overrides using the <code>'gettext_default'</code> filter on a page-by-page basis. It looks like the only string we would need to override is the one for <code>/wp-admin/ms-delete-site.php</code>: <a class="external" href="https://github.com/cuny-academic-commons/cac/blob/12e3001973274946faa69cd37360a2d7fce35f04/wp-content/languages/en_CAC.po#L34-L38">https://github.com/cuny-academic-commons/cac/blob/12e3001973274946faa69cd37360a2d7fce35f04/wp-content/languages/en_CAC.po#L34-L38</a> .</p>
<p>Points 2 and 3 are not as important to address, but it looks like we only made a few changes overall: <a class="external" href="https://github.com/cuny-academic-commons/cac/commits/master/wp-content/languages">https://github.com/cuny-academic-commons/cac/commits/master/wp-content/languages</a> . I think we need to audit this list to determine whether most of our string overrides are even necessary nowadays.</p> CUNY Academic Commons - Bug #19214 (Resolved): Group creation is causing a fatal errorhttps://redmine.gc.cuny.edu/issues/192142023-11-07T02:18:55ZRaymond Hoh
<p>While looking into <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: bp-nelo doesn't have 404 template (Resolved)" href="https://redmine.gc.cuny.edu/issues/19202">#19202</a>, I found that group creation is broken. On the group creation page, if you click on the "Create Group and Continue" button, you will get a fatal error.</p>
<p><strong>tl;dr:</strong> The bug is with the <code>cac-group-library</code> plugin and how it attempts to modify a group's navigation to remove some nav menu items. The bug only came about once we made our bp-nelo theme its own theme in CAC 2.2.0.</p>
<p>Boone, here's the rundown:<br />1. Before CAC 2.2.0, bp-nelo was a child theme of bp-default. When loading a BuddyPress template, all code execution stops after the template is loaded: <a class="external" href="https://github.com/buddypress/buddypress/blob/7a2458117e98f4861f9a9b85806b712770fb5919/src/bp-core/bp-core-catchuri.php#L511-L512">https://github.com/buddypress/buddypress/blob/7a2458117e98f4861f9a9b85806b712770fb5919/src/bp-core/bp-core-catchuri.php#L511-L512</a></p>
<p>2. In CAC 2.2.0, bp-nelo is its own theme so BuddyPress's theme compat layer kicks in. However, BP theme compat doesn't halt code execution after a template is loaded: <a class="external" href="https://github.com/buddypress/buddypress/blob/7a2458117e98f4861f9a9b85806b712770fb5919/src/bp-core/bp-core-catchuri.php#L527-L532">https://github.com/buddypress/buddypress/blob/7a2458117e98f4861f9a9b85806b712770fb5919/src/bp-core/bp-core-catchuri.php#L527-L532</a>.</p>
<p>3. This led to the following on the group creation page:<br />i. When a BuddyPress group is created, it sets the <code>buddypress()->groups->current_group</code> property to the new group's details: <a class="external" href="https://github.com/buddypress/buddypress/blob/7a2458117e98f4861f9a9b85806b712770fb5919/src/bp-groups/actions/create.php#L60-L62">https://github.com/buddypress/buddypress/blob/7a2458117e98f4861f9a9b85806b712770fb5919/src/bp-groups/actions/create.php#L60-L62</a> . This code runs on <code>'bp_actions'</code> at priority 10.</p>
<p>ii. The <code>'cac-group-library'</code> plugin attemps to alter a group's nav menu and it does a check for <code>bp_is_group()</code> to determine if we're on a single group page: <a class="external" href="https://github.com/cuny-academic-commons/cac-group-library/blob/b9d15c3f512e065d56ade216e7eb509b873a5248/src/Nav.php#L64-L70">https://github.com/cuny-academic-commons/cac-group-library/blob/b9d15c3f512e065d56ade216e7eb509b873a5248/src/Nav.php#L64-L70</a>. This code runs on <code>'bp_actions'</code> at priority 200. When this code runs at priority 200, <code>bp_is_group()</code> is returning <code>true</code> due to 3)i: <a class="external" href="https://github.com/buddypress/buddypress/blob/7a2458117e98f4861f9a9b85806b712770fb5919/src/bp-core/bp-core-template.php#L2737-L2739">https://github.com/buddypress/buddypress/blob/7a2458117e98f4861f9a9b85806b712770fb5919/src/bp-core/bp-core-template.php#L2737-L2739</a> .</p>
<p>iii. Due to <code>bp_is_group()</code> returning true, the <code>cac-group-library</code> plugin attempts to access <a href="https://github.com/cuny-academic-commons/cac-group-library/blob/b9d15c3f512e065d56ade216e7eb509b873a5248/src/Nav.php#L74-L76" class="external">some group nav class methods</a> that <a href="https://github.com/buddypress/buddypress/blob/7a2458117e98f4861f9a9b85806b712770fb5919/src/bp-groups/classes/class-bp-groups-component.php#L307-L308" class="external">only exist on a single group page</a> . This causes the fatal error.</p>
<hr />
<p>I've patched up the <code>cac-group-library</code> nav removal code to run on <code>'bp_actions'</code> at priority 9 to sidestep the <code>bp_is_group()</code> problem and will create a ticket over on BuddyPress Trac to let devs know how <code>bp_is_group()</code> can potentially be true on the group creation page.</p> CUNY Academic Commons - Bug #19204 (Resolved): Github 'cac' repo access rightshttps://redmine.gc.cuny.edu/issues/192042023-11-03T18:51:46ZRaymond Hoh
<p>I'm about to push a fix for <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: New AI Assistant? (Resolved)" href="https://redmine.gc.cuny.edu/issues/19192">#19192</a>, but it seems like my access to <code>cuny-academic-commons/cac/</code> Github repo has been removed.</p>
<p>Boone, can you check my permission access to the <code>cac</code> Github repo?</p> CUNY Academic Commons - Bug #19166 (Resolved): "Author" option is missing in Quick Edithttps://redmine.gc.cuny.edu/issues/191662023-10-31T22:43:27ZRaymond Hoh
<p>As reported in <a href="https://redmine.gc.cuny.edu/issues/19114#note-5" class="external">#19114</a>, the "Author" dropdown menu does not show up when clicking on the "Quick Edit" link in the WP admin dashboard.</p>
<p>Steps to reproduce:<br />1. Navigate to the "Posts" or "Pages" admin dashboard page<br />2. In the table, hover over a post or page to edit and click on the "Quick Edit" link<br />3. The "Author" option is missing</p>
<p>It appears that WordPress put a restriction in place to omit the "Author" dropdown if the entire network's user count is greater than 10,000: <a class="external" href="https://github.com/WordPress/WordPress/blob/798991a0ff4684363c11bb7c2598dcef203b85e1/wp-admin/includes/class-wp-posts-list-table.php#L1722-L1759">https://github.com/WordPress/WordPress/blob/798991a0ff4684363c11bb7c2598dcef203b85e1/wp-admin/includes/class-wp-posts-list-table.php#L1722-L1759</a>. The user count on the Commons exceeds 10,000, so the Author dropdown option is omitted.</p>
<p>We can bypass this restriction with the following snippet:</p>
<pre>
add_action( 'admin_enqueue_scripts', function( $hook_suffix ) {
// Bail if not on a post type's dashboard page.
if ( 'edit.php' !== $hook_suffix ) {
return;
}
// Bypass user count check.
add_filter( 'wp_is_large_user_count', '__return_false' );
} );
</pre>
<p>However, I want to know why WordPress put in this restriction in the first place. Boone / Jeremy, is this because the <code>get_users()</code> DB query on <code>'wp_usermeta'</code> is taxing when there is a large user database? Wouldn't it make more sense for the restriction to count the site's users with <code>count_users()</code> rather than the entire network's user base with <code>wp_is_large_user_count()</code>?</p> CUNY Academic Commons - Bug #18622 (Resolved): Unread forum reply notification URL links to the w...https://redmine.gc.cuny.edu/issues/186222023-08-17T23:18:53ZRaymond Hoh
<p>While working on the new notifications page (<a class="issue tracker-2 status-5 priority-4 priority-default closed child" title="Feature: Account Settings Tab (Resolved)" href="https://redmine.gc.cuny.edu/issues/17769">#17769</a>). I encountered a bug with unread forum replies.</p>
<p>In <a class="issue tracker-2 status-5 priority-4 priority-default closed" title="Feature: Forum design improvements (Resolved)" href="https://redmine.gc.cuny.edu/issues/14018">#14018</a>, we implemented an unread forum post feature utilizing the existing BuddyPress notification system. Clicking on the notification link would take you to the first unread post in a forum thread. However, this link doesn't work correctly in bbPress v2.6.7 as v2.6.7 changed how their notification action is saved from<br /><code>'bbp_new_reply'</code> to <code>'bbp_new_reply_{TOPIC_ID}</code>. (See <a class="external" href="https://github.com/bbpress/bbPress/commit/6278a1053d69d1df684b66296147b3b67f4c9966">https://github.com/bbpress/bbPress/commit/6278a1053d69d1df684b66296147b3b67f4c9966</a> .) As a result, the link would take you to the wrong post in the thread.</p>
<p>Some adjustments need to be made to fix this. Fix forthcoming.</p> CUNY Academic Commons - Bug #18496 (New): PHP 8+ Compatibilityhttps://redmine.gc.cuny.edu/issues/184962023-07-21T22:45:40ZRaymond Hoh
<p>We're currently running PHP 7.4 in our PHPCS set up and on the GC server, but some of us are using PHP 8+ in our development environments. (For example, <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: bp-email-type doesn't properly deal with 'to' arrays (Resolved)" href="https://redmine.gc.cuny.edu/issues/16948">#16948</a>.)</p>
<p>This will be a catch-all ticket to address deprecated notices, fatal errors and the like.</p>
<p>Also, just to note that PHP 7.4 reached end-of-life back in November 2022. Upgrading to PHP 8.2 is probably good to think about when we decide to move hosts. PHP 8.2 is supported until December 2025, while PHP 8.0 will reach end-of-life in November 2023.</p> CUNY Academic Commons - Bug #18495 (Resolved): bp-nelo Accessibility Fixeshttps://redmine.gc.cuny.edu/issues/184952023-07-20T23:06:53ZRaymond Hoh
<p>Previously we did a few accessibility fixes for the homepage in <a class="issue tracker-1 status-5 priority-4 priority-default closed" title="Bug: Homepage accessibility enhancements (Resolved)" href="https://redmine.gc.cuny.edu/issues/15127">#15127</a>. I'm going to do another accessibility audit across our main directory and registration pages using the WAVE acessibility tool: <a class="external" href="https://wave.webaim.org/">https://wave.webaim.org/</a></p>
<p>We have a few things to fix up.</p> CUNY Academic Commons - Bug #18235 (Hold): Lots of failed Cavalcade tasks as of 2023-05-13https://redmine.gc.cuny.edu/issues/182352023-05-16T16:22:18ZRaymond Hoh
<p>Was just checking the failed Cavalcade tasks log and noticed something peculiar. As of 2023-05-13 17:33:05 GMT and on, we've had a consistent stream of failed tasks.</p>
<p>Run the following MySQL query to view all results:</p>
<pre>
select * from wp_cavalcade_jobs where timestamp > '2023-05-13 17:32:00' and status = 'failed' order by id desc;
</pre>
<p>As the time of posting, the total number of failed jobs since about three days ago is greater than 15,000. Usually, the number is only a couple failed tasks a day.</p>
<p>I haven't done any further investigation yet, but just wanted to post this issue for now.</p> CUNY Academic Commons - Bug #17712 (New): Event Directory issueshttps://redmine.gc.cuny.edu/issues/177122023-02-22T22:05:04ZRaymond Hoh
<p>Just salvaging a few things brought up by Laurie and Colin in a recently-deleted ticket.</p>
<hr />
<p>Laurie wrote:</p>
<blockquote>
<p>I created a text event in a private group but my "all upcoming" events tab reads zero "0" , see screenshot. Shouldn't the # counts described the following:</p>
<p>"all upcoming" = # of public + events you created in private groups on the commons</p>
<p>"My upcoming" = # of events in private and public groups you are a part of, and events you created</p>
</blockquote>
<hr />
<p>Confirmed about the "All Upcoming" count not including private events that the user authored. Will look into this.</p>
<hr />
<p>Colin wrote:</p>
<blockquote>
<p>Speaking of... there are no upcoming or visible events on the /events/ page, so anything we can do to encourage more event creation (including publishing more ourselves) would help to make that top level page more vibrant.</p>
</blockquote>
<hr />
<p>Maybe we can add a message when there are no upcoming events.</p>
<p>For logged-in users:</p>
<blockquote>
<p>There are no upcoming events. Feel free to [add your upcoming event to the calendar](LINK). You can also view prior events [here](LINK TO PREVIOUS MONTH'S EVENTS).</p>
</blockquote>
<p>For logged-out users:</p>
<blockquote>
<p>There are no public, upcoming events. You can view prior events [here](LINK TO PREVIOUS MONTH's EVENTS).</p>
</blockquote> CUNY Academic Commons - Bug #17587 (New): Recurring event issueshttps://redmine.gc.cuny.edu/issues/175872023-01-31T07:16:53ZRaymond Hoh
<p>I came across a few bugs while testing events:</p>
<ul>
<li>Dates for recurring events are not displayed correctly in list view. The first event date is shown instead of the actual recurring event's date.</li>
<li>Recurring date info is missing on single event pages. For a point of reference, a recurring event page looks like this in Event Organiser: <a class="external" href="http://demo.wp-event-organiser.com/events/event/fortnightly-event/">http://demo.wp-event-organiser.com/events/event/fortnightly-event/</a>. Do we want to port over the <code>"This event is running from X until Y. It is next occurring on Z"</code> line or the "Upcoming Dates" section? (Also, venue map is missing on our single event page as well.)</li>
</ul>
<p>Will add a fix for the former, but could use some feedback on the latter.</p>