OSDN Git Service

JsonReaderWriterFactoryで発生するIOExceptionを適切にハンドルできていない不具合を修正
authorKimura Youichi <kim.upsilon@bucyou.net>
Mon, 13 Nov 2023 14:02:31 +0000 (23:02 +0900)
committerKimura Youichi <kim.upsilon@bucyou.net>
Mon, 13 Nov 2023 14:04:50 +0000 (23:04 +0900)
Fixes: 5232e94e ("graphqlエンドポイントを使用したリストのタイムライン取得に対応")

CHANGELOG.txt
OpenTween/Api/GraphQL/ListLatestTweetsTimelineRequest.cs
OpenTween/Api/GraphQL/TweetDetailRequest.cs

index a650266..163f896 100644 (file)
@@ -5,6 +5,7 @@
    - タイムライン更新に30秒以上掛かっている場合は完了を待機せず次のタイマーを開始させる
    - タイムライン更新の次回実行が1時間以上先になる場合は異常値としてタイマーをリセットする
  * FIX: 動画のサムネイル表示時に再生可能であることを示すアイコンが表示されない不具合を修正
+ * FIX: リスト更新時に発生したネットワークエラーが適切に処理されない不具合を修正
 
 ==== Ver 3.7.1(2023/07/20)
  * FIX: Cookie使用時に複数回ツイートを投稿するとDelaying?のエラーが表示される不具合を修正
index bee17b4..c3d2678 100644 (file)
@@ -85,12 +85,12 @@ namespace OpenTween.Api.GraphQL
         public async Task<TimelineResponse> Send(IApiConnection apiConnection)
         {
             var param = this.CreateParameters();
-            using var stream = await apiConnection.GetStreamAsync(EndpointUri, param);
-            using var jsonReader = JsonReaderWriterFactory.CreateJsonReader(stream, XmlDictionaryReaderQuotas.Max);
 
             XElement rootElm;
             try
             {
+                using var stream = await apiConnection.GetStreamAsync(EndpointUri, param);
+                using var jsonReader = JsonReaderWriterFactory.CreateJsonReader(stream, XmlDictionaryReaderQuotas.Max);
                 rootElm = XElement.Load(jsonReader);
             }
             catch (IOException ex)
index b89c697..86edb40 100644 (file)
@@ -61,12 +61,12 @@ namespace OpenTween.Api.GraphQL
         public async Task<TimelineTweet[]> Send(IApiConnection apiConnection)
         {
             var param = this.CreateParameters();
-            using var stream = await apiConnection.GetStreamAsync(EndpointUri, param);
-            using var jsonReader = JsonReaderWriterFactory.CreateJsonReader(stream, XmlDictionaryReaderQuotas.Max);
 
             XElement rootElm;
             try
             {
+                using var stream = await apiConnection.GetStreamAsync(EndpointUri, param);
+                using var jsonReader = JsonReaderWriterFactory.CreateJsonReader(stream, XmlDictionaryReaderQuotas.Max);
                 rootElm = XElement.Load(jsonReader);
             }
             catch (IOException ex)