Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion browser-extension/src/background.js
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
}

if (request.message == 'addRateLaterBulk') {
addRateLaterBulk(request.videoIds).then(sendResponse).catch(sendResponse);
addRateLaterBulk(request.videoIds).then(sendResponse);
return true;
}

Expand Down
2 changes: 1 addition & 1 deletion browser-extension/src/browserAction/menu.js
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ function openOptionsPage() {
}

function rateLaterHistory() {
browser.tabs.create({
chrome.tabs.create({
url: 'https://www.youtube.com/feed/history',
});
}
Expand Down
16 changes: 10 additions & 6 deletions browser-extension/src/rateLaterHistory.js
Original file line number Diff line number Diff line change
Expand Up @@ -178,10 +178,11 @@ const addRateLaterBulk = async (videoIds) =>
videoIds,
},
(response) => {
if (response === undefined)
reject(new Error('addRateLaterBulk failed'));
else if (response instanceof Error) reject(response);
else resolve(response);
if (response.success) {
resolve(response.body);
} else {
reject(response);
}
}
);
});
Expand Down Expand Up @@ -258,7 +259,7 @@ const addVideoIdsToRateLater = async (videoIds) => {
} catch (e) {
console.error(e);
chunk.forEach((videoId) => failedSet.add(videoId));
if (e?.message === 'http429') {
if (e?.status === 429) {
tooManyRequests = true;
break;
}
Expand Down Expand Up @@ -427,7 +428,10 @@ const addRateLaterHistoryButton = () => {
const menuContents = document.querySelector(
'ytd-browse-feed-actions-renderer #contents'
);
menuContents.prepend(button);
if (menuContents) {
// The menu may not be found yet when the History page is the entry page.
menuContents.prepend(button);
}
};

onYoutubeReady(() => {
Expand Down
17 changes: 7 additions & 10 deletions browser-extension/src/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -90,22 +90,19 @@ export const addRateLater = async (video_id) => {
};

export const addRateLaterBulk = async (videoIds) => {
const ratingStatusReponse = await fetchTournesolApi(
const rateLaterBulkResponse = await fetchTournesolApi(
'users/me/rate_later/videos/_bulk_create',
{
method: 'POST',
data: videoIds.map((videoId) => ({ entity: { uid: 'yt:' + videoId } })),
}
);
if (!ratingStatusReponse?.ok) {
if (ratingStatusReponse?.status === 429) {
throw new Error('http429');
} else {
throw new Error('addRateLaterBulk request failed');
}
}

return await ratingStatusReponse.json();
const responseJson = await rateLaterBulkResponse.json();
return {
success: rateLaterBulkResponse.ok,
status: rateLaterBulkResponse.status,
body: responseJson,
};
};

/**
Expand Down