| [8035]
|
johnjamesjacoby
|
Tools: Avoid no-op mirror deployments.
Run scheduled mirror validation in a credential-free job and enter the protected environment only when validated refs need synchronization. Preserve explicit dry-run behavior and exact revalidation before loading the deploy key, while preventing unchanged schedules from creating deployment notifications.
In trunk, for 2.7.
|
| [8034]
|
johnjamesjacoby
|
Tests: Normalize randomized Gravatar hosts.
Normalize legacy numbered Gravatar hosts through the get_avatar_url filter during PHPUnit tests. This keeps repeated helper and output calls comparable across supported WordPress versions without changing production output.
In branches/2.6, for 2.6.21.
|
| [8033]
|
johnjamesjacoby
|
Tests: Normalize randomized Gravatar hosts.
Normalize legacy numbered Gravatar hosts through the get_avatar_url filter during PHPUnit tests. This keeps repeated helper and output calls comparable across supported WordPress versions without changing production output.
In trunk, for 2.7.
|
| [8032]
|
johnjamesjacoby
|
Docs: Record the logout-link revision.
Add the canonical Subversion revision to the 2.7.0 annotations for the logout-link classes parameter so the revision audit can verify its history.
In trunk, for 2.7.
|
| [8031]
|
johnjamesjacoby
|
Tools: Add verified GitHub mirror synchronization.
Add a fail-closed validator and scheduled workflow that independently compare native Git objects with canonical Subversion before updating GitHub. Support verified fast-forward branch updates, canonical branch creation, immutable tag creation, and exact ref deletion only after a recorded canonical directory deletion.
Document the security model, credential and ruleset requirements, initial backfill procedure, and standing authorization boundaries. Add focused coverage for identity resolution, history and tree validation, ref classification, manifest replay, dry-run behavior, and atomic push safeguards.
In trunk, for 2.7.
|
| [8030]
|
johnjamesjacoby
|
Build: Tag bbPress 2.6.20.
|
| [8029]
|
johnjamesjacoby
|
Release: Record bbPress 2.6.20 on trunk.
Move the shipped maintenance changes from Unreleased into the dated 2.6.20 notes while leaving 2.7-only work in progress. Update the stable tag and upgrade notice without changing trunk's development or database versions.
In trunk, for 2.7.
|
| [8028]
|
johnjamesjacoby
|
Release: Prepare bbPress 2.6.20.
Update the version metadata and stable tag, record the curated 2.6.20 changelog and upgrade notice, and retain the existing WordPress, PHP, and database compatibility boundaries.
In branches/2.6, for 2.6.20.
|
| [8027]
|
johnjamesjacoby
|
BuddyPress: Scope group topic routes to requested topics.
Use non-singular post-name query arguments when resolving BuddyPress group topic routes and titles so an absent or invalid slug remains part of each lookup. This prevents missing, cross-forum, and non-public topic routes from reusing the first visible topic in the group forum.
Add coverage for empty and missing slugs while preserving the existing group-topic visibility coverage.
In branches/2.6, for 2.6.20.
Fixes #3743.
|
| [8026]
|
johnjamesjacoby
|
BuddyPress: Scope group topic routes to requested topics.
Use non-singular post-name query arguments when resolving BuddyPress group topic routes and titles so an absent or invalid slug remains part of each lookup. This prevents missing, cross-forum, and non-public topic routes from reusing the first visible topic in the group forum.
Add coverage for empty and missing slugs while preserving the existing group-topic visibility coverage.
In trunk, for 2.7.
Fixes #3743.
|
| [8025]
|
johnjamesjacoby
|
BuddyPress: Preserve profile engagement targets.
Set the displayed member query context before dispatching BuddyPress profile favorite and subscription actions. Use the dedicated displayed-user resolver when those handlers run on profile views so a privileged control cannot modify the logged-in user's engagement instead.
Add cross-profile regression coverage for favorite and subscription removal, update the changelog, and record the missing canonical revision for the BuddyPress 15 SQL-clauses filter.
In branches/2.6, for 2.6.20.
Fixes #3742.
|
| [8024]
|
johnjamesjacoby
|
BuddyPress: Preserve profile engagement targets.
Set the displayed member query context before dispatching BuddyPress profile favorite and subscription actions. Use the dedicated displayed-user resolver when those handlers run on profile views so a privileged control cannot modify the logged-in user's engagement instead.
Add cross-profile regression coverage for favorite and subscription removal, update the changelog, and record the missing canonical revision for the BuddyPress 15 SQL-clauses filter.
In trunk, for 2.7.
Fixes #3742.
See #3741.
|
| [8023]
|
johnjamesjacoby
|
BuddyPress: Use the current activity SQL filter.
Register the SQL-clauses filter on BuddyPress 15 and newer, adapting its WHERE conditions through the existing forum visibility logic. Continue using the legacy where-conditions filter on earlier BuddyPress releases.
Add regression coverage for version-appropriate filter registration while preserving restricted and password-protected activity handling.
In branches/2.6, for 2.6.20.
Fixes #3741.
|
| [8022]
|
johnjamesjacoby
|
BuddyPress: Use the current activity SQL filter.
Register the SQL-clauses filter on BuddyPress 15 and newer, adapting its WHERE conditions through the existing forum visibility logic. Continue using the legacy where-conditions filter on earlier BuddyPress releases.
Add regression coverage for version-appropriate filter registration while preserving restricted and password-protected activity handling.
In trunk, for 2.7.
Fixes #3741.
|
| [8021]
|
johnjamesjacoby
|
Moderation: Preserve forms after validation errors.
Treat the action query argument independently of request method so topic merge, topic split, and reply move pages remain selected when their forms POST and validation returns an error. Preserve sanitization, strict matching, legacy actions, and POST-action request gating.
Add regression coverage for current and legacy actions during GET and POST requests.
In branches/2.6, for 2.6.20.
Fixes #3740.
|
| [8020]
|
johnjamesjacoby
|
Moderation: Preserve forms after validation errors.
Treat the action query argument independently of request method so topic merge, topic split, and reply move pages remain selected when their forms POST and validation returns an error. Preserve sanitization, strict matching, legacy actions, and POST-action request gating.
Add regression coverage for current and legacy actions during GET and POST requests.
In trunk, for 2.7.
Fixes #3740.
|
| [8019]
|
johnjamesjacoby
|
Tests: Cover unregistered view shortcodes.
Add shortcode-level regression coverage proving a registered topic view renders its selected topic while an unregistered view does not fall back to the unrestricted topic query.
In branches/2.6, for 2.6.20.
Props bor0.
From https://github.com/bbpress/bbPress/pull/44.
See #3718.
|
| [8018]
|
johnjamesjacoby
|
Tests: Cover unregistered view shortcodes.
Add shortcode-level regression coverage proving a registered topic view renders its selected topic while an unregistered view does not fall back to the unrestricted topic query.
In trunk, for 2.7.
Props bor0.
See #3718.
From https://github.com/bbpress/bbPress/pull/44.
|
| [8017]
|
johnjamesjacoby
|
Forums: Preserve restricted content lifecycle.
Use an unfiltered structural child lookup for forum and topic lifecycle operations so restricted descendants are counted and transitioned consistently regardless of the current user. Apply it to trash, spam, permanent deletion, hidden-topic counts, and subforum discovery.
Keep retained attachments private when their bbPress parent is permanently deleted, reject REST reads beneath missing or unrecognized forum ancestors, and require both forum-attribute and deletion permissions for XML-RPC trash transitions.
Add regression coverage for restricted forum cascades, attachment retention, structural counts, REST access, and XML-RPC capabilities.
In branches/2.6, for 2.6.20.
|
| [8016]
|
johnjamesjacoby
|
Forums: Preserve restricted content lifecycle.
Use an unfiltered structural child lookup for forum and topic lifecycle operations so restricted descendants are counted and transitioned consistently regardless of the current user. Apply it to trash, spam, permanent deletion, hidden-topic counts, and subforum discovery.
Keep retained attachments private when their bbPress parent is permanently deleted, reject REST reads beneath missing or unrecognized forum ancestors, and require both forum-attribute and deletion permissions for XML-RPC trash transitions.
Add regression coverage for restricted forum cascades, attachment retention, structural counts, REST access, and XML-RPC capabilities.
In trunk, for 2.7.
|
| [8015]
|
johnjamesjacoby
|
Tests: Restore reply query state after visibility tests.
Reset the main query after each reply visibility test so its post type does not leak into later pagination and feed URL assertions.
In branches/2.6, for 2.6.20.
|
| [8014]
|
johnjamesjacoby
|
Tests: Restore reply query state after visibility tests.
Reset the main query after each reply visibility test so its post type does not leak into later pagination and feed URL assertions.
In trunk, for 2.7.
|
| [8013]
|
johnjamesjacoby
|
Replies: Enforce parent topic visibility.
Exclude replies whose parent topics are not public from generic public WordPress main queries. Preserve explicit bbPress search, feed, profile, and view-all behavior, and reject direct reply requests when the reply or its parent topic is not readable.
Register the reply visibility filter globally so query counts match visible results, and limit reply-loop index hints to the outer query to avoid colliding with the parent-topic subquery.
Add regression coverage for anonymous listings, mixed post types, privileged view-all access, direct reply requests, and the existing reply-loop query rewrite.
In branches/2.6, for 2.6.20.
|
| [8012]
|
johnjamesjacoby
|
Replies: Enforce parent topic visibility.
Exclude replies whose parent topics are not public from generic public WordPress main queries. Preserve explicit bbPress search, feed, profile, and view-all behavior, and reject direct reply requests when the reply or its parent topic is not readable.
Register the reply visibility filter globally so query counts match visible results, and limit reply-loop index hints to the outer query to avoid colliding with the parent-topic subquery.
Add regression coverage for anonymous listings, mixed post types, privileged view-all access, direct reply requests, and the existing reply-loop query rewrite.
In trunk, for 2.7.
|
| [8011]
|
johnjamesjacoby
|
Attachments: Centralize visibility handling.
Move attachment parent resolution and visibility checks into common/attachments.php. Apply the shared policy to front-end requests, canonical redirects, oEmbed responses, and REST attachment reads while preserving stricter oEmbed password behavior.
Normalize numeric attachment query variables and retained query objects so canonical redirects cannot bypass the parent visibility checks.
In branches/2.6, for 2.6.20.
|
| [8010]
|
johnjamesjacoby
|
Attachments: Centralize visibility handling.
Move attachment parent resolution and visibility checks into common/attachments.php. Apply the shared policy to front-end requests, canonical redirects, oEmbed responses, and REST attachment reads while preserving stricter oEmbed password behavior.
Normalize numeric attachment query variables and retained query objects so canonical redirects cannot bypass the parent visibility checks.
In trunk, for 2.7.
|
| [8009]
|
johnjamesjacoby
|
Engagements: Validate strategy values.
Prevent malformed stored and filtered values from causing startup failures. Reject the empty base implementation while preserving existing third-party strategy classes, and fall back to the meta strategy when validation fails.
In branches/2.6, for 2.6.20.
Fixes #3739.
|
| [8008]
|
johnjamesjacoby
|
Engagements: Validate strategy values.
Prevent malformed stored and filtered values from causing startup failures. Reject the empty base implementation while preserving existing third-party strategy classes, and fall back to the meta strategy when validation fails.
In trunk, for 2.7.
See #3739.
|
| [8007]
|
johnjamesjacoby
|
Tests: Cover request action helpers.
Add direct coverage for POST and GET action sanitization, strict matching, request-method gating, malformed values, and global-state cleanup.
In trunk, for 2.7.
See #3706.
|
| [8006]
|
johnjamesjacoby
|
Tests: Group core hook assertions by behavior.
Replace exhaustive action registration coverage with focused assertions for meaningful action and filter contracts. Group related hooks by behavior and verify priorities and accepted arguments without mirroring the source files or tracking fluctuating registration counts.
In trunk, for 2.7.
See #3706.
|
| [8005]
|
johnjamesjacoby
|
Tests: Cover core action registrations.
Add data-driven coverage for every action in core/actions.php, including callbacks, priorities, and accepted argument counts. Guard the provider against source drift and name each data set for useful failures.
In trunk, for 2.7.
See #3706.
|
| [8004]
|
johnjamesjacoby
|
Rewrite Rules: Pass rewrite objects to component callbacks.
Wrap the WordPress rewrite object in the argument array required by do_action_ref_array(). This allows component-specific rewrite callbacks to run without PHP errors and preserves the documented reference semantics.
Add regression coverage for the component-specific rewrite action.
In branches/2.6, for 2.6.20.
Fixes #3738.
|
| [8003]
|
johnjamesjacoby
|
Rewrite Rules: Pass rewrite objects to component callbacks.
Wrap the WordPress rewrite object in the argument array required by do_action_ref_array(). This allows component-specific rewrite callbacks to run without PHP errors and preserves the documented reference semantics.
Add regression coverage for the component-specific rewrite action.
In trunk, for 2.7.
See #3738.
|
| [8002]
|
johnjamesjacoby
|
Embeds: Protect attachment metadata.
Resolve attachments to their bbPress parent before applying the existing oEmbed visibility checks. This prevents attachment titles and author details from being exposed when the parent forum, topic, reply, or forum ancestor is private, hidden, or password protected.
Add regression coverage for attachments across direct and inherited forum visibility.
In branches/2.6, for 2.6.20.
|
| [8001]
|
johnjamesjacoby
|
Embeds: Protect attachment metadata.
Resolve attachments to their bbPress parent before applying the existing oEmbed visibility checks. This prevents attachment titles and author details from being exposed when the parent forum, topic, reply, or forum ancestor is private, hidden, or password protected.
Add regression coverage for attachments across direct and inherited forum visibility.
In trunk, for 2.7.
|
| [8000]
|
johnjamesjacoby
|
Build/Test Tools: Ignore PHPUnit result caches.
Running alot of tests leaves a `.phpunit.result.cache` file in the repository root. Ignore the generated cache so it does not appear as an untracked file.
In trunk, for 2.7.
|
| [7999]
|
johnjamesjacoby
|
Tests: Cover lifecycle action wrappers.
Add data-driven coverage for bbPress lifecycle hooks, argument forwarding, and the deprecated rewrite-rule wrapper. Isolate each hook from registered callbacks and restore its original state after every assertion.
In trunk, for 2.7.
See #3706.
|
| [7998]
|
johnjamesjacoby
|
Tests: Improve environment compatibility.
Avoid the deprecated E_STRICT constant, use the supported storage engine setting on current MySQL and MariaDB versions, and declare test properties before assignment.
In branches/2.6, for 2.6.20.
See #3706.
|
| [7997]
|
johnjamesjacoby
|
Tests: Avoid deprecated reflection calls.
Call setAccessible() only on PHP versions that still require it. Reflection can access non-public members directly on PHP 8.1 and later, and PHP 8.5 deprecates the redundant call.
In branches/2.6, for 2.6.20.
See #3706.
|
| [7996]
|
johnjamesjacoby
|
Tests: Avoid deprecated reflection calls.
Call setAccessible() only on PHP versions that still require it. Reflection can access non-public members directly on PHP 8.1 and later, and PHP 8.5 deprecates the redundant call.
In trunk, for 2.7.
See #3706.
|
| [7995]
|
johnjamesjacoby
|
Tests: Cover block registration.
Add direct coverage for registered metadata and shortcode mappings, hook setup, category filtering, render failures and callback forwarding, view data, and unknown localization keys. Correct malformed block coverage annotations.
In trunk, for 2.7.
See #3706.
|
| [7994]
|
johnjamesjacoby
|
Tests: Cover query-backed widgets.
Add direct coverage for Forum parent queries, Topic ordering and optional output, and Reply ordering and output variants. Verify empty result handling and original query arguments.
In trunk, for 2.7.
See #3706.
|
| [7993]
|
johnjamesjacoby
|
Tests: Cover simple widget output.
Add direct coverage for logged-out Login widget links, Views early returns and output, Search availability and template dispatch, and Statistics template dispatch.
In trunk, for 2.7.
See #3706.
|
| [7992]
|
johnjamesjacoby
|
Tests: Cover widget settings.
Add direct coverage for widget registration, option and settings filters, defaults, overrides, sanitized updates, and configuration forms.
In trunk, for 2.7.
See #3706.
|
| [7991]
|
johnjamesjacoby
|
Engagements: Correct cleanup return values.
Return true after the taxonomy strategy removes an object's relationships, matching the documented boolean contract. Count only successful legacy user-option removals so partial failures are reported instead of being masked.
Add regression coverage for successful taxonomy cleanup and partial legacy cleanup failures.
Merges [7988] to the 2.6 branch.
In branches/2.6, for 2.6.20.
Fixes #3736.
|
| [7990]
|
johnjamesjacoby
|
Engagements: Normalize object IDs.
Normalize object IDs before strict legacy user-option lookups. This preserves numeric-string compatibility and prevents missed removals or redundant add attempts.
Add regression coverage for numeric-string removal.
Merges [7989] to the 2.6 branch.
In branches/2.6, for 2.6.20.
Fixes #3737.
|
| [7989]
|
johnjamesjacoby
|
Engagements: Normalize object IDs.
Normalize object IDs before strict legacy user-option lookups. This preserves numeric-string compatibility and prevents missed removals or redundant add attempts.
Add regression coverage for numeric-string removal.
In trunk, for 2.7.
See #3737.
|
| [7988]
|
johnjamesjacoby
|
Engagements: Correct cleanup return values.
Return true after the taxonomy strategy removes an object's relationships, matching the documented boolean contract. Count only successful legacy user-option removals so partial failures are reported instead of being masked.
Add regression coverage for successful taxonomy cleanup and partial legacy cleanup failures.
In trunk, for 2.7.
See #3736.
|
| [7987]
|
johnjamesjacoby
|
Tests: Update moderation link action values.
Align the existing topic and reply link assertions with the collision-resistant action values introduced in [7985]. Legacy action compatibility remains covered by the moderation routing tests.
In trunk, for 2.7.
See #3365.
|
| [7986]
|
johnjamesjacoby
|
Moderation: Keep action values consistent.
Use the POST handler action names in topic merge, topic split, and reply move links so WordPress does not reject mismatched public query variables. Continue recognizing the legacy short GET values for backward compatibility, including BuddyPress group routes.
Merges [7985] to the 2.6 branch.
In branches/2.6, for 2.6.20.
Props konnektiv, robin-w.
Fixes #3365.
|
| [7985]
|
johnjamesjacoby
|
Moderation: Keep action values consistent.
Use the POST handler action names in topic merge, topic split, and reply move links so WordPress does not reject mismatched public query variables. Continue recognizing the legacy short GET values for backward compatibility, including BuddyPress group routes.
In trunk, for 2.7.
Props konnektiv, robin-w.
See #3365.
|
| [7984]
|
johnjamesjacoby
|
Subscriptions: Separate legacy forum subscriptions.
Pass the subscription query context through the legacy user-option key mapper so forum queries read `_bbp_forum_subscriptions` instead of the topic-subscription option. This keeps forum and topic subscription queries isolated for sites using the pre-2.6 user strategy.
Add regression coverage for separate forum and topic subscription options.
Merges [7982] to the 2.6 branch.
In branches/2.6, for 2.6.20.
Props Dermes.
Fixes #3401.
|
| [7983]
|
johnjamesjacoby
|
BuddyPress: Update activity after topic and reply edits.
Remove transient post type revision-support checks from BuddyPress activity updates. Front-end edits temporarily disable that support to avoid duplicate WordPress revisions, so the callbacks returned before updating existing activity. Preserve the global bbPress revision setting and add regression coverage for topics and replies.
Merges [7981] to the 2.6 branch.
In branches/2.6, for 2.6.20.
Props michael8888, r-a-y.
Fixes #3328.
|
| [7982]
|
johnjamesjacoby
|
Subscriptions: Separate legacy forum subscriptions.
Pass the subscription query context through the legacy user-option key mapper so forum queries read `_bbp_forum_subscriptions` instead of the topic-subscription option. This keeps forum and topic subscription queries isolated for sites using the pre-2.6 user strategy.
Add regression coverage for separate forum and topic subscription options.
In trunk, for 2.7.
Props Dermes.
Fixes #3401.
|
| [7981]
|
johnjamesjacoby
|
BuddyPress: Update activity after topic and reply edits.
Remove transient post type revision-support checks from BuddyPress activity updates. Front-end edits temporarily disable that support to avoid duplicate WordPress revisions, so the callbacks returned before updating existing activity. Preserve the global bbPress revision setting and add regression coverage for topics and replies.
In trunk, for 2.7.
Props michael8888, r-a-y.
Fixes #3328.
|
| [7980]
|
johnjamesjacoby
|
AJAX: Use WordPress termination handlers.
Replace direct die() calls in the administration suggestion callbacks and common AJAX response helper with wp_die(). This preserves the existing response bodies while allowing custom AJAX death handlers to run.
Add regression coverage for the suggestion and JSON responses.
Merges [7979] to the 2.6 branch.
In branches/2.6, for 2.6.20.
Props immeet94.
Fixes #3363.
|
| [7979]
|
johnjamesjacoby
|
AJAX: Use WordPress termination handlers.
Replace direct die() calls in the administration suggestion callbacks and common AJAX response helper with wp_die(). This preserves the existing response bodies while allowing custom AJAX death handlers to run.
Add regression coverage for the suggestion and JSON responses.
In trunk, for 2.7.
Props immeet94.
See #3363.
|
| [7978]
|
johnjamesjacoby
|
Forums/Replies: Share title validation.
Introduce bbp_validate_forum_title() and bbp_validate_reply_title(), and use them for new and edited forums and replies while preserving existing filters, error codes, optional reply titles, and accumulated bbPress errors.
Merges [7977] to the 2.6 branch.
In branches/2.6, for 2.6.20.
Fixes #3682.
|
| [7977]
|
johnjamesjacoby
|
Forums/Replies: Share title validation.
Introduce bbp_validate_forum_title() and bbp_validate_reply_title(), and use them for new and edited forums and replies while preserving existing filters, error codes, optional reply titles, and accumulated bbPress errors.
In trunk, for 2.7.
See #3682.
|
| [7976]
|
johnjamesjacoby
|
Tests: Avoid legacy KSES script expectations.
WordPress 7.2's HTML API-backed KSES parser removes disallowed script elements together with their contents, while earlier versions preserve the contents as text. Use an ordinary disallowed element for exact sanitization and slashing assertions, and verify script markup separately so the test covers both supported behaviors.
In trunk, for 2.7.
See #3706.
|
| [7975]
|
johnjamesjacoby
|
Widgets: Keep Login widget logout links readable.
Render the Login widget logout control as a normal link so theme widget-link styles do not conflict with generic button colors. Allow callers to choose logout-link classes while preserving the existing helper defaults and filter behavior.
In trunk, for 2.7.
Props jeherve.
Fixes #3322.
|
| [7974]
|
johnjamesjacoby
|
API - Moderation: Add forum link controls.
Add a forum-specific link threshold and toggle for topic and reply moderation. Inherit the WordPress Discussion limit until a forum value is saved, preserving existing behavior while allowing forums to use a different threshold.
In trunk, for 2.7.
Props r-a-y, codejp3.
Fixes #3352.
|
| [7973]
|
johnjamesjacoby
|
Topics/Replies: Support custom post date formats.
Add an optional date format parameter to the topic and reply post-date template functions. Preserve the configured WordPress date format as the default, document the humanized-output behavior, and pass the effective format through the existing filters.
Merges [7972] to the 2.6 branch.
In branches/2.6, for 2.6.20.
Props Palagrin.
Fixes #3427.
|
| [7972]
|
johnjamesjacoby
|
Topics/Replies: Support custom post date formats.
Add an optional date format parameter to the topic and reply post-date template functions. Preserve the configured WordPress date format as the default, document the humanized-output behavior, and pass the effective format through the existing filters.
In trunk, for 2.7.
Props Palagrin.
See #3427.
|
| [7971]
|
johnjamesjacoby
|
Tools: Add a subforum count repair.
Add a repair tool that rebuilds each forum's direct subforum metadata through the existing count helper, including public, private, hidden, and zero-child forums.
In trunk, for 2.7.
Fixes #3332.
|
| [7970]
|
johnjamesjacoby
|
Forums/Topics: Allow descriptions to be disabled.
Add early filters to the single-forum and single-topic description getters so extensions can skip topic, reply, voice, freshness, and author calculations when these descriptions are not needed. Preserve each existing output filter by passing an empty default through it when generation is disabled.
In trunk, for 2.7.
Props naxoc.
Fixes #3488, #3489.
|
| [7969]
|
johnjamesjacoby
|
API - Shortcodes: Isolate form notices and nonces.
Introduce POST action and template notice context helpers so validation failures render only beside the submitted form. Require forum, topic, and reply form helpers to match the submitted action before checking nonces, and include the reply ID when verifying failed reply edits.
This preserves legacy notice output for templates and request actions without a context.
Merges [7968] to the 2.6 branch.
In branches/2.6, for 2.6.20.
Props sirlouen.
Fixes #3618.
|
| [7968]
|
johnjamesjacoby
|
API - Shortcodes: Isolate form notices and nonces.
Introduce POST action and template notice context helpers so validation failures render only beside the submitted form. Require forum, topic, and reply form helpers to match the submitted action before checking nonces, and include the reply ID when verifying failed reply edits.
This preserves legacy notice output for templates and request actions without a context.
In trunk, for 2.7.
Props sirlouen.
Fixes #3618.
|
| [7967]
|
johnjamesjacoby
|
Common: Use current request for logout redirects.
Merges [7966] to the 2.6 branch.
In branches/2.6, for 2.6.20.
Props dd32.
Fixes #3498.
|
| [7966]
|
johnjamesjacoby
|
Common: Use current request for logout redirects.
Default logout links currently prefer the referrer, which can send users to an unrelated previous page. Build the default redirect from the current request instead, and use the forum root when request data is unavailable.
In trunk, for 2.7.
Props dd32.
See #3498.
|
| [7965]
|
johnjamesjacoby
|
Topics: Share topic title validation.
Introduce bbp_validate_topic_title() and use it for new topics, topic edits, splits, and reply moves while preserving each handler's sanitization filters, error codes, and accumulated bbPress errors.
Merges [7964] to the 2.6 branch.
See #3682.
|
| [7964]
|
johnjamesjacoby
|
Topics: Share topic title validation.
Introduce bbp_validate_topic_title() and use it for new topics, topic edits, splits, and reply moves while preserving each handler's sanitization filters, error codes, and accumulated bbPress errors.
In trunk, for 2.7.
See #3682.
|
| [7963]
|
johnjamesjacoby
|
Forums: Keep closed content editable.
Treat closed topics and forums as closed to new content without freezing existing edits. Keep closed topics publicly readable, preserve normal edit locks and capabilities across theme compatibility, REST, XML-RPC, and custom integrations, and keep other closed forums unavailable as move destinations.
Merges [7962] to the 2.6 branch.
In branches/2.6, for 2.6.20.
See #3680.
|
| [7962]
|
johnjamesjacoby
|
Forums: Keep closed content editable.
Treat closed topics and forums as closed to new content without freezing existing edits. Keep closed topics publicly readable, preserve normal edit locks and capabilities across theme compatibility, REST, XML-RPC, and custom integrations, and keep other closed forums unavailable as move destinations.
In trunk, for 2.7.
Fixes #3680.
|
| [7961]
|
johnjamesjacoby
|
Widgets: Use the default parent for all forums.
Use the WordPress default empty post_parent value when the Recent Topics widget is configured for any forum. This preserves the unrestricted query while allowing multilingual plugins to recognize and filter it for the current language.
Merges [7960] to the 2.6 branch.
In branches/2.6, for 2.6.20.
Props diegootgs.
Fixes #3600.
|
| [7960]
|
johnjamesjacoby
|
Widgets: Use the default parent for all forums.
Use the WordPress default empty post_parent value when the Recent Topics widget is configured for any forum. This preserves the unrestricted query while allowing multilingual plugins to recognize and filter it for the current language.
In trunk, for 2.7.
Props diegootgs.
See #3600.
|
| [7959]
|
johnjamesjacoby
|
Engagements: Complete term relationship cleanup.
Avoid warnings when a term-backed user relationship does not exist, and remove all terms only from the requested engagement taxonomy. Preserve other relationship keys and make repeated cleanup safe.
In branches/2.6, for 2.6.20.
Fixes #3735.
|
| [7958]
|
johnjamesjacoby
|
Engagements: Complete term relationship cleanup.
Avoid warnings when a term-backed user relationship does not exist, and remove all terms only from the requested engagement taxonomy. Preserve other relationship keys and make repeated cleanup safe.
In trunk, for 2.7.
See #3735.
|
| [7957]
|
johnjamesjacoby
|
Docs: Correct global variable annotations.
Remove @global tags for values retrieved through accessors or not used by the documented function, add missing annotations for directly accessed globals, and complete the remaining types and descriptions.
In trunk, for 2.7.
Props upadalavipul, viralsampat.
Fixes #3556.
|
| [7956]
|
johnjamesjacoby
|
Tests: Cover capability definitions.
Add direct coverage for forum, topic, reply, and topic-tag capability mappings, including filter input and array normalization.
In trunk, for 2.7.
See #3706.
|
| [7955]
|
johnjamesjacoby
|
Tests: Cover search pagination bases.
Add direct coverage for ugly and pretty permalink structures, singular shortcode pages, trailing-slash behavior, and the pagination-base filter.
In trunk, for 2.7.
See #3706.
|
| [7954]
|
johnjamesjacoby
|
Tests: Cover common formatting helpers.
Add direct coverage for KSES sanitization, code encoding and reversal, link and mention callbacks, nonnegative counts, and UTF-8 display names.
In trunk, for 2.7.
See #3706.
|
| [7953]
|
johnjamesjacoby
|
Administration: Distinguish Credits menu label.
Keep the shared "Welcome to bbPress" page title for the About and Credits screens, while labeling the Credits dashboard menu entry separately. This preserves the tabbed presentation and avoids duplicate labels when the registered pages are exposed.
Merges [7951] to the 2.6 branch.
Props zaerl.
See #3480.
|
| [7952]
|
johnjamesjacoby
|
Tests: Complete common template helper coverage.
Add direct coverage for tab indexes, the body-class script, allowed tags, notices, logout links, edit-form fields and nonce actions, breadcrumbs, title formatting, and protected and private title hints.
In trunk, for 2.7.
See #3706.
|
| [7951]
|
johnjamesjacoby
|
Administration: Distinguish Credits menu label.
Keep the shared "Welcome to bbPress" page title for the About and Credits screens, while labeling the Credits dashboard menu entry separately. This preserves the tabbed presentation and avoids duplicate labels when the registered pages are exposed.
In trunk, for 2.7.
Props zaerl.
Fixes #3480.
|
| [7950]
|
johnjamesjacoby
|
API: Normalize topic-view identifiers.
Convert integer view IDs to strings and reject other non-string values before filters and lookups. This prevents malformed query values from causing PHP errors and preserves registered numeric view links.
In branches/2.6, for 2.6.20.
Fixes #3734.
|
| [7949]
|
johnjamesjacoby
|
API: Normalize topic-view identifiers.
Convert integer view IDs to strings and reject other non-string values before filters and lookups. This prevents malformed query values from causing PHP errors and preserves registered numeric view links.
Update view-helper documentation and expand coverage for ID resolution, titles, URLs, filters, output escaping, and permalink modes.
In trunk, for 2.7.
See #3706.
See #3734.
|
| [7948]
|
johnjamesjacoby
|
Users: Require lost password form input.
Require a username or email address before submitting the default lost password form. This matches WordPress Core and prevents blank submissions from silently returning to the form.
Merges [7944] to the 2.6 branch.
Props alejandroescobar89.
See #3479.
|
| [7947]
|
johnjamesjacoby
|
API: Return false for unregistered view titles.
Guard the view registry before reading its title. This prevents undefined array key warnings and preserves the documented false return value for unknown views.
In branches/2.6, for 2.6.20.
Fixes #3733.
|
| [7946]
|
johnjamesjacoby
|
API: Return false for unregistered view titles.
Guard the view registry before reading its title. This prevents undefined array key warnings and preserves the documented false return value for unknown views.
In trunk, for 2.7.
See #3733.
|
| [7945]
|
johnjamesjacoby
|
Tests: Remove invalid FluxBB table assertion.
The PHPUnit harness creates converter fixtures as temporary tables, which MySQL omits from SHOW TABLES. Rely on the subsequent conversion and content/count assertions to verify fixture availability and converter behavior.
In branches/2.6, for 2.6.20.
See #3370.
|
| [7944]
|
johnjamesjacoby
|
Users: Require lost password form input.
Require a username or email address before submitting the default lost password form. This matches WordPress Core and prevents blank submissions from silently returning to the form.
In trunk, for 2.7.
Props alejandroescobar89.
Fixes #3479.
|
| [7943]
|
johnjamesjacoby
|
Tests: Cover dropdown and editor helpers.
Add regression coverage for dropdown rendering and disabled choices, fallback and WordPress editor output, editor hook cleanup, and TinyMCE and Quicktags configuration.
In trunk, for 2.7.
See #3706.
|
| [7942]
|
johnjamesjacoby
|
Tests: Cover common template form helpers.
Add regression coverage for body-class filter context, bbPress request detection, login and redirect form URLs, request value sanitization, and tabindex attributes.
In trunk, for 2.7.
See #3706.
|
| [7941]
|
johnjamesjacoby
|
Tests: Remove invalid FluxBB table assertion.
The PHPUnit harness creates converter fixtures as temporary tables, which MySQL omits from SHOW TABLES. Rely on the subsequent conversion and content/count assertions to verify fixture availability and converter behavior.
In trunk, for 2.7.
See #3370.
|
| [7940]
|
johnjamesjacoby
|
API: Apply the topic merge state filter.
Set the detected merge state before applying the bbp_is_topic_merge filter, matching the neighboring split and move predicates. This lets integrations override detected merge requests through the documented filter.
In branches/2.6, for 2.6.20.
Fixes #3732.
|
| [7939]
|
johnjamesjacoby
|
API: Apply the topic merge state filter.
Set the detected merge state before applying the bbp_is_topic_merge filter, matching the neighboring split and move predicates. This lets integrations override detected merge requests through the documented filter.
In trunk, for 2.7.
See #3732.
|
| [7938]
|
johnjamesjacoby
|
Importers: Correct FluxBB reply imports.
Exclude topic starters from FluxBB reply imports and translate the source forum and topic counts according to FluxBB's storage model. This prevents duplicate replies and preserves accurate imported counts.
Merges [7937] to the 2.6 branch.
Props fraph24.
See #3370.
|
| [7937]
|
johnjamesjacoby
|
Importers: Correct FluxBB reply imports.
Exclude topic starters from FluxBB reply imports and translate the source forum and topic counts according to FluxBB's storage model. This prevents duplicate replies and preserves accurate imported counts.
In trunk, for 2.7.
Props fraph24.
Fixes #3370.
|
| [7936]
|
johnjamesjacoby
|
Theme Compatibility: Restore specific body classes.
Add specific classes for topic merging and splitting, reply moving, current-user profile editing, and forum search results while preserving the existing general classes.
In branches/2.6, for 2.6.20.
Fixes #3731.
|