Commit e799d616 authored by Stefy Spora's avatar Stefy Spora

Fix user tag parsing to use user.id instead of tag id

- Update user tag parsing in content.js to extract user IDs from userTag.user.id
- Update user tag parsing in background.js to extract user IDs from userTag.user.id
- Handle user tag objects with structure: {id, isApproved, user: {id, nickname, ...}}
- Extract user IDs from the nested user object instead of the tag id
- Apply fix to all parsing locations: pictures, videos, direct attributes, root level
- Maintain backward compatibility with existing user_tags_ids format
- Add proper null checking for user object existence
- Test updated user tag parsing logic
parent da3bc000
...@@ -412,7 +412,7 @@ function executePrivacyUpdateFromContext(privacyLevel = 'friends_only') { ...@@ -412,7 +412,7 @@ function executePrivacyUpdateFromContext(privacyLevel = 'friends_only') {
caption: picture.rawCaption || picture.caption || '', caption: picture.rawCaption || picture.caption || '',
description: picture.description || picture.rawCaption || picture.caption || '', description: picture.description || picture.rawCaption || picture.caption || '',
tag_names: picture.tags ? picture.tags.map(tag => tag.name || tag).filter(name => name) : (picture.tags_names || []), tag_names: picture.tags ? picture.tags.map(tag => tag.name || tag).filter(name => name) : (picture.tags_names || []),
user_tag_ids: picture.tags ? picture.tags.map(tag => tag.id).filter(id => id) : (picture.user_tags_ids || picture.userTags || []) user_tag_ids: picture.userTags ? picture.userTags.map(userTag => userTag.user && userTag.user.id).filter(id => id) : (picture.user_tags_ids || [])
}; };
console.log('Extracted picture data from story-data:', currentData); console.log('Extracted picture data from story-data:', currentData);
} }
...@@ -424,7 +424,7 @@ function executePrivacyUpdateFromContext(privacyLevel = 'friends_only') { ...@@ -424,7 +424,7 @@ function executePrivacyUpdateFromContext(privacyLevel = 'friends_only') {
caption: '', // Videos don't have caption caption: '', // Videos don't have caption
description: video.description || '', description: video.description || '',
tag_names: video.tags ? video.tags.map(tag => tag.name || tag).filter(name => name) : (video.tags_names || []), tag_names: video.tags ? video.tags.map(tag => tag.name || tag).filter(name => name) : (video.tags_names || []),
user_tag_ids: video.tags ? video.tags.map(tag => tag.id).filter(id => id) : (video.user_tags_ids || video.userTags || []) user_tag_ids: video.userTags ? video.userTags.map(userTag => userTag.user && userTag.user.id).filter(id => id) : (video.user_tags_ids || [])
}; };
console.log('Extracted video data from story-data:', currentData); console.log('Extracted video data from story-data:', currentData);
} }
...@@ -435,7 +435,7 @@ function executePrivacyUpdateFromContext(privacyLevel = 'friends_only') { ...@@ -435,7 +435,7 @@ function executePrivacyUpdateFromContext(privacyLevel = 'friends_only') {
caption: attributes.rawCaption || attributes.caption || '', caption: attributes.rawCaption || attributes.caption || '',
description: attributes.description || attributes.rawCaption || attributes.caption || '', description: attributes.description || attributes.rawCaption || attributes.caption || '',
tag_names: attributes.tags ? attributes.tags.map(tag => tag.name || tag).filter(name => name) : (attributes.tags_names || []), tag_names: attributes.tags ? attributes.tags.map(tag => tag.name || tag).filter(name => name) : (attributes.tags_names || []),
user_tag_ids: attributes.tags ? attributes.tags.map(tag => tag.id).filter(id => id) : (attributes.user_tags_ids || attributes.userTags || []) user_tag_ids: attributes.userTags ? attributes.userTags.map(userTag => userTag.user && userTag.user.id).filter(id => id) : (attributes.user_tags_ids || [])
}; };
console.log('Extracted direct attributes from story-data:', currentData); console.log('Extracted direct attributes from story-data:', currentData);
} }
...@@ -447,7 +447,7 @@ function executePrivacyUpdateFromContext(privacyLevel = 'friends_only') { ...@@ -447,7 +447,7 @@ function executePrivacyUpdateFromContext(privacyLevel = 'friends_only') {
caption: storyData.rawCaption || storyData.caption || '', caption: storyData.rawCaption || storyData.caption || '',
description: storyData.description || storyData.rawCaption || storyData.caption || '', description: storyData.description || storyData.rawCaption || storyData.caption || '',
tag_names: storyData.tags ? storyData.tags.map(tag => tag.name || tag).filter(name => name) : (storyData.tags_names || []), tag_names: storyData.tags ? storyData.tags.map(tag => tag.name || tag).filter(name => name) : (storyData.tags_names || []),
user_tag_ids: storyData.tags ? storyData.tags.map(tag => tag.id).filter(id => id) : (storyData.user_tags_ids || storyData.userTags || []) user_tag_ids: storyData.userTags ? storyData.userTags.map(userTag => userTag.user && userTag.user.id).filter(id => id) : (storyData.user_tags_ids || [])
}; };
console.log('Extracted root level data from story-data:', currentData); console.log('Extracted root level data from story-data:', currentData);
} }
......
...@@ -126,7 +126,7 @@ ...@@ -126,7 +126,7 @@
caption: picture.rawCaption || picture.caption || '', caption: picture.rawCaption || picture.caption || '',
description: picture.description || picture.rawCaption || picture.caption || '', description: picture.description || picture.rawCaption || picture.caption || '',
tag_names: picture.tags ? picture.tags.map(tag => tag.name || tag).filter(name => name) : (picture.tags_names || []), tag_names: picture.tags ? picture.tags.map(tag => tag.name || tag).filter(name => name) : (picture.tags_names || []),
user_tag_ids: picture.tags ? picture.tags.map(tag => tag.id).filter(id => id) : (picture.user_tags_ids || picture.userTags || []) user_tag_ids: picture.userTags ? picture.userTags.map(userTag => userTag.user && userTag.user.id).filter(id => id) : (picture.user_tags_ids || [])
}; };
console.log('Extracted picture data from story-data:', mediaData); console.log('Extracted picture data from story-data:', mediaData);
} }
...@@ -138,7 +138,7 @@ ...@@ -138,7 +138,7 @@
caption: '', // Videos don't have caption caption: '', // Videos don't have caption
description: video.description || '', description: video.description || '',
tag_names: video.tags ? video.tags.map(tag => tag.name || tag).filter(name => name) : (video.tags_names || []), tag_names: video.tags ? video.tags.map(tag => tag.name || tag).filter(name => name) : (video.tags_names || []),
user_tag_ids: video.tags ? video.tags.map(tag => tag.id).filter(id => id) : (video.user_tags_ids || video.userTags || []) user_tag_ids: video.userTags ? video.userTags.map(userTag => userTag.user && userTag.user.id).filter(id => id) : (video.user_tags_ids || [])
}; };
console.log('Extracted video data from story-data:', mediaData); console.log('Extracted video data from story-data:', mediaData);
} }
...@@ -149,7 +149,7 @@ ...@@ -149,7 +149,7 @@
caption: attributes.rawCaption || attributes.caption || '', caption: attributes.rawCaption || attributes.caption || '',
description: attributes.description || attributes.rawCaption || attributes.caption || '', description: attributes.description || attributes.rawCaption || attributes.caption || '',
tag_names: attributes.tags ? attributes.tags.map(tag => tag.name || tag).filter(name => name) : (attributes.tags_names || []), tag_names: attributes.tags ? attributes.tags.map(tag => tag.name || tag).filter(name => name) : (attributes.tags_names || []),
user_tag_ids: attributes.tags ? attributes.tags.map(tag => tag.id).filter(id => id) : (attributes.user_tags_ids || attributes.userTags || []) user_tag_ids: attributes.userTags ? attributes.userTags.map(userTag => userTag.user && userTag.user.id).filter(id => id) : (attributes.user_tags_ids || [])
}; };
console.log('Extracted direct attributes from story-data:', mediaData); console.log('Extracted direct attributes from story-data:', mediaData);
} }
...@@ -161,7 +161,7 @@ ...@@ -161,7 +161,7 @@
caption: storyData.rawCaption || storyData.caption || '', caption: storyData.rawCaption || storyData.caption || '',
description: storyData.description || storyData.rawCaption || storyData.caption || '', description: storyData.description || storyData.rawCaption || storyData.caption || '',
tag_names: storyData.tags ? storyData.tags.map(tag => tag.name || tag).filter(name => name) : (storyData.tags_names || []), tag_names: storyData.tags ? storyData.tags.map(tag => tag.name || tag).filter(name => name) : (storyData.tags_names || []),
user_tag_ids: storyData.tags ? storyData.tags.map(tag => tag.id).filter(id => id) : (storyData.user_tags_ids || storyData.userTags || []) user_tag_ids: storyData.userTags ? storyData.userTags.map(userTag => userTag.user && userTag.user.id).filter(id => id) : (storyData.user_tags_ids || [])
}; };
console.log('Extracted root level data from story-data:', mediaData); console.log('Extracted root level data from story-data:', mediaData);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment