Repository navigation
[3.0] Lets moderators track another member's IP addresses - #9718
Merged
live627 merged 1 commit intoOct 1, 2026
Merged
Conversation
The IP address page of a member's profile starts from the address the member last used, and read it from User::$loaded. Only the current user is certain to be there; the profile being viewed is Profile::$member. So a moderator could track themselves, but tracking anybody else passed null to IP::ip2range() and ended in a TypeError. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: albertlast <mathiaspapealbert@hotmail.com>
This was referenced Sep 30, 2026
albertlast
added a commit
to albertlast/SMF2.1
that referenced
this pull request
Oct 5, 2026
profile_track_ip pinned a fatal that SimpleMachines#9718 has fixed, so it now records the page. features_basic and profile_theme show the time zone select grouped by country. themes_copy lists the new TimeZoneSelect template and no longer logs an array to string conversion, which SimpleMachines#9720 fixed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: albertlast <mathiaspapealbert@hotmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
On a member's profile, Tracking → IP address starts from the address the member last used.
TrackIP::execute()read that address fromUser::$loaded[$this->memID], where only the current user is certain to be. The member whose profile is open isProfile::$member, which is where$this->memIDcomes from in the first place.So a moderator could track themselves, but tracking any other member passed
nulltoIP::ip2range():and the page was a 500. It now reads the address from
Profile::$member.Tests
tests/Integration/Http/ProfileTrackingTest.phpmakes a member with a known last address, opens their IP tracking page as the administrator (getting past the password prompt when the forum asks for it), and checks the page starts from that address and logs nothing. Without the fix it gets the 500. Run locally on MySQL and PostgreSQL;tests/Integration/Httpis not part of the CI run yet.The snapshot suite in #9712 pins this page as the fatal error it is today (
admin/profile_track_ip), so whichever of the two merges second needs that one snapshot recorded again.Issues References (Fixes|Related|Closes)
None filed; found by the snapshot suite in #9712.
🤖 Generated with Claude Code