BP Dev-Chat summary: January 4, 2023

Last 11.0.0 final release tasks

Before releasing 11.0.0 on January 5, we had another look to #8783. This is still a mysterious issue we haven’t manage to reproduce yet (Displaying The Opt-outs Administration page is not generating an error for us on multisite). We also decided @im4th would package the release & draft the announcement post & @dcavins would take care of the release changelog.

Focus on the BP Messages component

Specific needs about this component BP REST API endpoint were brought to @espellcaste‘s attention (see #8696). It made him think about this component more broadly. So far BP Messages is fetching all messages belonging to a thread and he thinks we can improve this behavior and performance using pagination. He shared the roadmap we all agreed on about it:

  • Remove the default behavior of loading all messages;
  • Set reasonable default for page and per_page ;
  • Update the BP Theme to support pagination (currently, it loads all messages);
  • Cache with bp_core_get_incremented_cache – The same approach used in the Activity component;
  • Apply the same suggestions to the recipients’ query.

How do you see BuddyPress at the end of 2023?

That’s the question we took a few minutes to try to reply to.

  • @espellcaste‘s priority is mostly dev-focused: a developer reference site, BP GraphQL Extension, PHPCS/PHPDoc Improvements, VSCode BP Extension,
  • @dcavins would like to see a simple “private site” option land in BP, he believes another big possibility is to make core BP template pieces “insertable” using the WP Site Editor.
  • @im4th‘s predictions are: “To me, at the end of 2023, BuddyPress Activities will use the Blocks API, the Post Form will be a block based one and we’ll have a brand new Block Templates based theme”.

We’ve also discussed about:

  • the opportunity to move the Site Wide Notices feature outside of the BP Messages one,
  • splitting optional components into plugins,
  • community media,
  • the ActivityPub protocol to make BuddyPress a bridge between WordPress sites.
  • the need to organize all the feedbacks we got from last year to take wise decisions.

Open floor

@espellcaste has a conflict of meeting, so he won’t be able to attend future meetings. @im4th & @dcavins are flexible about the meeting day and time (as long as it’s after 19:30 UTC for @im4th), let’s find asap a new day to “biweekly” meet!

Next Dev-Chat

It will happen on January 18 at 19:30 UTC in #BuddyPress. If you have specific points or ideas you want to discuss about, don’t hesitate to share them in comments.

#11-0-0, #dev-chat, #summary, #the-future

BuddyPress 11.0.0-RC1 is ready for your tests

Thanks in advance for your help 😍

👋

#11-0-0, #release, #release-candidate

BP Dev-Chat summary: december 7, 2022

11.0.0: we’ll package another beta!

That’s the important decision we made during our meeting a few minutes ago. We prefer to delay 11.0.0 final release to early next year.

Why?

In 11.0.0 we’re making an important change about the way BuddyPress is loading deprecated code. Everything is fine with it when you use one of the BP bundled template packs (BP Nouveau or BP Legacy). Using a template pack to dynamically inject BuddyPress content into one of the templates of your active WordPress theme’s (most likely the page.php one) is the plugin’s default behavior since version 1.7. But we forgot there was still some BP Default old classic theme fans around 😱.

Since version 1.9, The BP Default theme is “hidden behind a filter” for new BuddyPress installs. In other words, you need to add some custom code to bring it back. That’s why we haven’t thought about it so far. Fortunately we were alerted into our Slack channel about issues when this theme was still used and active on the WordPress site (this can be the case if you regularly updated BuddyPress since version <= 1.8).

We’ve been working on it and we think we’ve fixed BP Default issues. Releasing a third beta version instead of directly making the release candidate available seems a wise move. Thanks in advance for your understanding.

11.0.0 updated schedule

  • Beta3: December 8, 2022
  • RC: December 1st, December 15, 2022
  • Release: January 5, 2023.

Next Dev-Chat

It will happen on December 21 at 19:30 UTC in #BuddyPress. If you have specific points or ideas you want to discuss about, don’t hesitate to share them in comments.

#11-0-0, #dev-chat, #summary

BP Dev-Chat summary : November 23, 2022

11.0.0-beta updates

  • Only one ticket was raised about our usage of an outdated version of moment.js (see #8766). We’ve fixed the ticket deprecating this outdated version and using the one already bundled into WordPress since its 5.0 version.
  • @espellcaste asked whether the ticket about $this usage into function doc-blocks (see #8611) were still in 11.0’s roadmap. It was as it’s now fixed 🤝.
  • @espellcaste also raised @im4th‘s attention about the fact it was not possible for a user to delete their own account using the BP REST API (see #8758). The ticket has since been fixed ✅.
  • A bit after the development meeting @dcavins confirmed he would post developer notes on this site about #4184 (Activity loop arguments change) & #4075 (xProfile groups loop arguments change).
  • @im4th informed he was about to release a second 11.0-beta. It has been released 2 days after the development meeting. If you haven’t tested it yet, please do so!

11.0.0 schedule reminder

  • RC: December 1st, 2022 👈 sorry we’re late! It will probably be released after December 7th dev-chat.
  • Release: December 14, 2022.

Open floor

@espellcaste is working on a VS Code extension for BuddyPress development and a repository was created to document available BuddyPress hooks.

Next Dev-Chat

It will happen this Wedneday on December 7 at 19:30 UTC in #BuddyPress. If you have specific points or ideas you want to discuss about, don’t hesitate to share them in comments.

#11-0-0, #dev-chat, #summary

Time to test BuddyPress 11.0.0-beta2!

Hi!

11.0.0-beta2 is now available, please test it 🙏

BuddyPress 11.0.0-beta2

#11-0-0, #beta, #release

BP 11: Fetch Activities for or Excluding a Group of Users

Coming soon in 11.0, we’ve made it possible to fetch activity items for a specific group of users, or to fetch activity items excluding a group of users. The new parameters are user_id__in and user_id__not_in, following a familiar WordPress naming convention.

<?php 
// A couple of users are so cool I would like to do something
// featuring just their updates 
$activity_args = array(
	'user_id__in' => array( 3, 7 ),
);

$activity_items = bp_activity_get( $activity_args );

foreach ( $activity_items as $activity ) {
	// Do soemthing interesting with these activities...
}
?>

Or to find activities, excluding updates from users with the ID 3 and 7, simply use the other new option.

<?php 
// I'd like to block updates from a couple of annoying users. 😮
$activity_args = array(
	'user_id__not_in' => array( 3, 7 ),
);

$activity_items = bp_activity_get( $activity_args );

foreach ( $activity_items as $activity ) {
	// Do soemthing interesting with these activities...
}
?>

This change is simple but powerful! For instance, you could create custom interest activity streams, or build a mute feature to let your members take a break from other, too-chatty users!. 🙂

.webp support is arriving in BuddyPress 11.0.0

If your site is using a WordPress version that is upper than 5.8, you’ll see BuddyPress 11.0.0 is bringing support for .webp image files when you need to upload a profile image or a cover image.

You can read the full story of this change from this ticket #8643. You’ll discover we do read reviews of the plugin and we do listen to users suggestions and needs 🤗

#11-0-0, #cover-image, #profile-image

BuddyPress will soon only load its JavaScript and Style assets into the community area of your site

For quite a long time, BuddyPress users has regularly requested us to improve how the plugin’s JavaScript and Style assets are loaded into the front-end of their WordPress site.

How come BP JavaScript and CSS files are loaded everywhere on my site?

A BuddyPress user probably wishing it wasn’t the case!

That’s the question I’m often asked about BuddyPress, maybe you wondered about it too 😁. We’re not sure there’s a specific reason explaining this fact. As it was necessary before we introduced the BP Theme Compat API (see the 1.7 version announcement post) to use a BuddyPress compatible theme like the one we bundle by default (BP Default), I think we kept the way this theme was loading these assets into the first Template Pack (BP Legacy) we added to BuddyPress.

Let’s only load what we need when we need it… progressively!

In version 11.0.0 we are taking a first step towards restricting JavaScript and Style assets loading to BuddyPress pages only (or what I also call the community area of your WordPress site). To take no risks with potential BP plugins or themes needing these assets, we will carry on loading these everywhere on your site in 11.0.0. BUT if you want to avoid this, you now have an easy way to only have these loaded into the community area of your site. Simply put a bp-custom.php file in place (or use the one you already put in place) and add the following code into it:

add_filter( 'bp_enqueue_assets_in_bp_pages_only', '__return_true' );

If using the above filter, you notice something is going wrong with your website due to the use of a specific BP plugin or theme, report it here and we’ll then have another development cycle to fix things before we completely restrict these assets to BuddyPress generated pages in a second step & in version 12.0.0.

To read more about the story of this change, you can have a look at this ticket #8679.

#11-0-0, #developer-documentation

BP Dev-Chat summary : November 2, 2022

11.0.0 last tickets to fix

  • #8590: Cache improvements. @dcavins have checked the rest of the buddyboss PR for potential complementary improvements and found out we had previously covered these on our own.
  • #8693: Site Members Invitations & configs using signups only. @dcavins has fixed the issue 💪👏.
  • #7614: Make sure the group members count routine is more accurate. We’ve talked about the edge case when an administrator adds a not yet active user to a group. We came to the conclusion we should sync counts when not active users finally log in for the first time. @dcavins has shared an interesting patch about it on the ticket. @im4th also shared a PR exploring a different strategy: taking in account not yet active users when the current user is the administrator. Please share your opinion about what you think is best on the ticket 🙏.
  • #8746: companion stylesheet for Twenty Twenty-Three. @im4th & @dcavins shared between themselves the work to achieve. During the week-end @im4th updated the PR and committed it to SVN trunk so that this can be done easily. He figured out most of issues were related to CSS color variables that were not used in TT3 compared to TT2. Doing a replacement of these seems to address most issues. Another look to it would be greatly appreciated 😍.
  • @espellcaste should commit the two tickets about the xProfile loop & the Messages BP REST API endpoint soon.
  • @im4th thinks the ticket about stopping using `$this` into `@param` docblocks can wait after the 11.0.0-beta1 version is released.

11.0.0 schedule reminder

  • First beta: November 8, 2022.
  • RC: December 1st, 2022.
  • Release: December 14, 2022.

10.5.0 & 10.6.0 Maintenance releases

Both versions have been released before WordPress 6.1. @im4th explained why he urgently took the decision to package 10.6.0 shortly after 10.5.0: replies into our support forums showed we needed to improve how we deal with Block only based Themes as the strategy used in 10.5.0 introduced a regression with Themes using block templates, although they are regular themes.

BP Attachments 1.0.0?

There’s still some work to achieve to be ready to package a very first version of this new BuddyPress Add-on:

  • Public Media directory,
  • Attaching media to Activity (when not using the BP Activity Block editor, as this part is already handled thanks to BP Attachments blocks).
  • Attaching media to Private Messages.
  • Including first private sharing options (with friends or group members).

@im4th hopes he’ll be able to publish a first version to the WP.org repository in early December so that it happens slightly before the 11.0.0 BuddyPress release.

Next Dev-Chat

It will happen this week on November 9 at 19:30 UTC in #BuddyPress. If you have specific points or ideas you want to discuss about, don’t hesitate to share them in comments.

#10-0-0, #11-0-0, #dev-chat, #summary

BP Dev-Chat Agenda November 09, 2022

Hi!

Our next development meeting will happen on November 09 at 19:30 UTC (today) and of course in #BuddyPress. Here’s our agenda:

  • First design progress about the next Standalone BuddyPress Theme with @vibethemes.
  • 11.0.0-beta1: beta testing has begun, let’s document some important changes.

If you have specific/additional points you need to discuss about, please share them into the comments area of this post.

👋

#11-0-0, #agenda, #dev-chat