···114114 navigationMode: NotificationTapNavigationMode.push,
115115 );
116116 }
117117- // Fallback to actor profile if the payload is missing starter pack context.
118117 }
119118120119 if (isProfileNavigationReason(notification.reason)) {
···351351352352 final sessionDid = _currentSessionDid();
353353 if (sessionDid == null) {
354354- // Test doubles and unauthenticated contexts may not expose session shape.
355354 return;
356355 }
357356
···341341342342 final sessionDid = _currentSessionDid();
343343 if (sessionDid == null) {
344344- // Test doubles and unauthenticated contexts may not expose session shape.
345344 return;
346345 }
347346
+12-11
lib/features/profile/data/profile_repository.dart
···7676 rethrow;
7777 }
78787979- // Cache failures should not downgrade a fresh network response into stale fallback data.
8079 unawaited(_cacheProfileSafely(profile));
81808281 if (_moderationService?.shouldFilterProfileDetailedInView(profile) ?? false) {
···128127 return suggestions.where((p) => !moderationService.shouldFilterProfileInList(p)).toList();
129128 }
130129130130+ /// Likes transport matrix:
131131+ /// - Self liked tab: app.bsky.feed.getActorLikes via viewer-auth context
132132+ /// (PDS-routed, read-after-write behavior for the current account).
133133+ /// - Non-self liked tab: actor repo scan on actor PDS via
134134+ /// com.atproto.repo.listRecords(app.bsky.feed.like), then hydrate subjects
135135+ /// on AppView via app.bsky.feed.getPosts.
136136+ /// Never route non-self repo reads through the viewer PDS.
131137 Future<ProfileActorLikesResult> getActorLikes({required String actor, String? cursor, int limit = 50}) async {
132132- // Likes transport matrix:
133133- // - Self liked tab: app.bsky.feed.getActorLikes via viewer-auth context
134134- // (PDS-routed, read-after-write behavior for the current account).
135135- // - Non-self liked tab: actor repo scan on actor PDS via
136136- // com.atproto.repo.listRecords(app.bsky.feed.like), then hydrate subjects
137137- // on AppView via app.bsky.feed.getPosts.
138138- // Never route non-self repo reads through the viewer PDS.
139138 if (_isCurrentSessionActor(actor)) {
140139 final headers = _appViewContext.appBskyHeadersWithoutProxy(await _moderationService?.headersForRequest());
141140 log.i(
···331330 if (normalizedActor == sessionDid || normalizedActor == sessionHandle) {
332331 return true;
333332 }
334334- } catch (_) {}
333333+ } catch (e) {
334334+ log.d('ProfileRepository: Unable to parse current session actor', error: e);
335335+ }
335336336337 try {
337338 final oauthSession = bluesky.oAuthSession;
···339340 if (normalizedActor == oauthDid) {
340341 return true;
341342 }
342342- } catch (_) {
343343- // Ignore non-standard test doubles/wrappers missing OAuth shape.
343343+ } catch (e) {
344344+ log.d('ProfileRepository: Unable to parse current session actor', error: e);
344345 }
345346 return false;
346347 }