瀏覽代碼

Fix title appearance refresh validation for codec-free deletes

Millie 1 周之前
父節點
當前提交
8c7efa6658
共有 1 個文件被更改,包括 3 次插入1 次删除
  1. 3 1
      Sunrise/src/server/bap/encrypted/push/queuez/queuez_banner_push.cpp

+ 3 - 1
Sunrise/src/server/bap/encrypted/push/queuez/queuez_banner_push.cpp

@@ -73,8 +73,10 @@ void report_fail(const char* stage, const char* reason) noexcept {
         || prepared.family.type != queuez::kBannerFamilyType
         || prepared.family.rootSoid != refresh.after.family4RootSoid
         || prepared.family.version != refresh.after.family0Version || prepared.family.flags != 0
+        // The replacement begins with upstream's codec-free delete, not a raw upsert.
+        // Rejecting that marker drops the entire appearance refresh (including titles).
         || (replacement
-            && prepared.family.objects.front().encoding != middleware::queuez::Encoding::raw)
+            && prepared.family.objects.front().encoding != middleware::queuez::Encoding::none)
         || prepared.family.objects[characterIndex].id
                != middleware::datagen::kBannerCharacterObjectId
         || prepared.family.objects[characterIndex].version != refresh.characterSoid