From 0acf46630b5edc799a3727919954e1eede3dc7c5 Mon Sep 17 00:00:00 2001 From: miteruzo Date: Mon, 15 Dec 2025 00:52:22 +0900 Subject: [PATCH 1/4] #181 --- backend/lib/tasks/sync_nico.rake | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/backend/lib/tasks/sync_nico.rake b/backend/lib/tasks/sync_nico.rake index 00e309f..3d3166e 100644 --- a/backend/lib/tasks/sync_nico.rake +++ b/backend/lib/tasks/sync_nico.rake @@ -27,7 +27,9 @@ namespace :nico do end end - PostTag.where(post_id: post.id, tag_id: to_remove.to_a).kept.find_each(&:discard!) + PostTag.where(post_id: post.id, tag_id: to_remove.to_a).kept.find_each do |pt| + pt.discard_by!(nil) + end end mysql_user = ENV['MYSQL_USER'] @@ -57,12 +59,14 @@ namespace :nico do end post.save! post.resized_thumbnail! + sync_post_tags!(post, [Tag.tagme.id]) end kept_tags = post.tags.reload kept_non_nico_ids = kept_tags.where.not(category: 'nico').pluck(:id).to_set desired_nico_ids = [] + desired_non_nico_ids = [] datum['tags'].each do |raw| name = "nico:#{ raw }" tag = Tag.find_or_initialize_by(name:) do |t| @@ -70,17 +74,17 @@ namespace :nico do end tag.save! if tag.new_record? desired_nico_ids << tag.id - desired_nico_ids.concat(tag.linked_tags.pluck(:id)) + unless tag.in?(kept_tags) + desired_non_nico_ids << tag.linked_tags.pluck(:id) + desired_nico_ids.concat(tag.linked_tags.pluck(:id)) + end end desired_nico_ids.uniq! - desired_extra_ids = [] - desired_extra_ids << Tag.tagme.id if kept_tags.size < 10 - desired_extra_ids << Tag.bot.id - desired_extra_ids.compact! - desired_extra_ids.uniq! - - desired_all_ids = kept_non_nico_ids.to_a + desired_nico_ids + desired_extra_ids + desired_all_ids = kept_non_nico_ids.to_a + desired_nico_ids + if kept_non_nico_ids.to_set != desired_non_nico_ids.to_set + desired_all_ids << Tag.bot.id + end desired_all_ids.uniq! sync_post_tags!(post, desired_all_ids) -- 2.34.1 From ac0e7b649db7bbeef616ccec593ccc18e32910a0 Mon Sep 17 00:00:00 2001 From: miteruzo Date: Mon, 15 Dec 2025 00:58:22 +0900 Subject: [PATCH 2/4] #181 --- backend/lib/tasks/sync_nico.rake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/lib/tasks/sync_nico.rake b/backend/lib/tasks/sync_nico.rake index 3d3166e..b90797e 100644 --- a/backend/lib/tasks/sync_nico.rake +++ b/backend/lib/tasks/sync_nico.rake @@ -75,7 +75,7 @@ namespace :nico do tag.save! if tag.new_record? desired_nico_ids << tag.id unless tag.in?(kept_tags) - desired_non_nico_ids << tag.linked_tags.pluck(:id) + desired_non_nico_ids.concat(tag.linked_tags.pluck(:id)) desired_nico_ids.concat(tag.linked_tags.pluck(:id)) end end -- 2.34.1 From bc70f9df24716bdcdd2a67adb42c975c6633eb58 Mon Sep 17 00:00:00 2001 From: miteruzo Date: Mon, 15 Dec 2025 01:04:35 +0900 Subject: [PATCH 3/4] #181 --- backend/lib/tasks/sync_nico.rake | 2 ++ 1 file changed, 2 insertions(+) diff --git a/backend/lib/tasks/sync_nico.rake b/backend/lib/tasks/sync_nico.rake index b90797e..57fa826 100644 --- a/backend/lib/tasks/sync_nico.rake +++ b/backend/lib/tasks/sync_nico.rake @@ -82,6 +82,8 @@ namespace :nico do desired_nico_ids.uniq! desired_all_ids = kept_non_nico_ids.to_a + desired_nico_ids + desired_non_nico_ids.concat(kept_non_nico_ids) + desired_non_nico_ids.uniq! if kept_non_nico_ids.to_set != desired_non_nico_ids.to_set desired_all_ids << Tag.bot.id end -- 2.34.1 From 81cb866a1520613232b45cf5d73c5237fabf99ac Mon Sep 17 00:00:00 2001 From: miteruzo Date: Mon, 15 Dec 2025 01:10:39 +0900 Subject: [PATCH 4/4] =?UTF-8?q?#181=20=E3=83=90=E3=82=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/lib/tasks/sync_nico.rake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/lib/tasks/sync_nico.rake b/backend/lib/tasks/sync_nico.rake index 57fa826..d20150c 100644 --- a/backend/lib/tasks/sync_nico.rake +++ b/backend/lib/tasks/sync_nico.rake @@ -82,7 +82,7 @@ namespace :nico do desired_nico_ids.uniq! desired_all_ids = kept_non_nico_ids.to_a + desired_nico_ids - desired_non_nico_ids.concat(kept_non_nico_ids) + desired_non_nico_ids.concat(kept_non_nico_ids.to_a) desired_non_nico_ids.uniq! if kept_non_nico_ids.to_set != desired_non_nico_ids.to_set desired_all_ids << Tag.bot.id -- 2.34.1