From d07d2b3fbae216f7312abe242b534cded6ef0f74 Mon Sep 17 00:00:00 2001 From: HolgerHatGarKeineNode <123783602+HolgerHatGarKeineNode@users.noreply.github.com> Date: Wed, 17 Jun 2026 10:02:14 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=92=20Fix=20conditional=20checks=20in?= =?UTF-8?q?=20Livewire=20`Profile`=20to=20prevent=20null=20errors=20for=20?= =?UTF-8?q?users=20without=20association=20records?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Updated Blade conditionals to verify `$currentPleb` exists before accessing its properties. - Added test case to ensure `Profile` renders correctly for logged-in pubkeys without associated pleb records. --- resources/views/livewire/association/profile.blade.php | 4 ++-- tests/Feature/Livewire/Association/ProfileTest.php | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/resources/views/livewire/association/profile.blade.php b/resources/views/livewire/association/profile.blade.php index 02bc110..2cf6d67 100644 --- a/resources/views/livewire/association/profile.blade.php +++ b/resources/views/livewire/association/profile.blade.php @@ -1191,7 +1191,7 @@ new class extends Component { - @if($currentPubkey && $currentPleb->association_status->value < 2) + @if($currentPubkey && $currentPleb && $currentPleb->association_status->value < 2)
@endif - @if($currentPubkey && !$currentPleb->application_for && $currentPleb->association_status->value < 2) + @if($currentPubkey && $currentPleb && !$currentPleb->application_for && $currentPleb->association_status->value < 2)
diff --git a/tests/Feature/Livewire/Association/ProfileTest.php b/tests/Feature/Livewire/Association/ProfileTest.php index d74d10c..44a1107 100644 --- a/tests/Feature/Livewire/Association/ProfileTest.php +++ b/tests/Feature/Livewire/Association/ProfileTest.php @@ -60,6 +60,15 @@ it('clears state on nostr logout', function () { ->assertSet('currentPleb', null); }); +it('renders without error for a logged-in pubkey that has no pleb record', function () { + NostrAuth::login(str_repeat('a', 64)); + + Livewire::test('association.profile') + ->assertSet('currentPubkey', str_repeat('a', 64)) + ->assertSet('currentPleb', null) + ->assertStatus(200); +}); + it('can save email address', function () { $pleb = EinundzwanzigPleb::factory()->create();