File tree 1 file changed +9
-3
lines changed
1 file changed +9
-3
lines changed Original file line number Diff line number Diff line change 9
9
selectClaimForUri ,
10
10
} from 'redux/selectors/claims' ;
11
11
import { swapKeyAndValue } from 'util/swap-json' ;
12
- import { getChannelFromClaim } from 'util/claim' ;
12
+ import { getChannelFromClaim , isChannelClaim } from 'util/claim' ;
13
13
14
14
// Returns the entire subscriptions state
15
15
const selectState = ( state ) => state . subscriptions || { } ;
@@ -114,12 +114,18 @@ export const makeSelectChannelInSubscriptions = (uri) =>
114
114
createSelector ( selectSubscriptions , ( subscriptions ) => subscriptions . some ( ( sub ) => sub . uri === uri ) ) ;
115
115
116
116
export const selectIsSubscribedForUri = createCachedSelector (
117
+ ( state , uri ) => uri ,
117
118
selectClaimForUri ,
118
119
selectSubscriptions ,
119
- ( claim , subscriptions ) => {
120
+ ( uri , claim , subscriptions ) => {
120
121
const channelClaim = getChannelFromClaim ( claim ) ;
121
122
if ( channelClaim ) {
122
- const uri = channelClaim . permanent_url ;
123
+ const permanentUrl = channelClaim . permanent_url ;
124
+ return subscriptions . some ( ( sub ) => isURIEqual ( sub . uri , permanentUrl ) ) ;
125
+ }
126
+
127
+ // If it failed, it could be an abandoned channel. Try parseURI:
128
+ if ( isChannelClaim ( claim , uri ) ) {
123
129
return subscriptions . some ( ( sub ) => isURIEqual ( sub . uri , uri ) ) ;
124
130
}
125
131
return false ;
You can’t perform that action at this time.
0 commit comments