Skip to content

Commit e90935d

Browse files
committed
Merge branch 'develop' into release
2 parents 1381ef1 + a27c0ca commit e90935d

File tree

13 files changed

+54
-27
lines changed

13 files changed

+54
-27
lines changed

CHANGELOG.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
更新履歴
22

3+
==== Ver 3.15.1(2024/06/15)
4+
* FIX: Cookie使用時に「Listの発言取得に公式RTを含める」の設定が適用されない不具合を修正
5+
* FIX: Twitterアカウントでの画像を添付したツイートの投稿がエラーになる不具合を修正
6+
* FIX: 設定画面を閉じた直後に取得されるツイートが全て両思い表示になる不具合を修正
7+
38
==== Ver 3.15.0(2024/06/14)
49
* NEW: Misskeyでのノート投稿時のファイル添付に対応しました
510
- 追加で必要な権限があるため、前バージョンから使用している Misskey アカウントは再度追加し直す必要があります

OpenTween.Tests/Api/GraphQL/CreateTweetRequestTest.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
using Moq;
2424
using OpenTween.Connection;
2525
using OpenTween.Models;
26+
using OpenTween.SocialProtocol.Twitter;
2627
using Xunit;
2728

2829
namespace OpenTween.Api.GraphQL
@@ -104,7 +105,7 @@ public async Task Send_MediaTest()
104105
var request = new CreateTweetRequest
105106
{
106107
TweetText = "tetete",
107-
MediaIds = new[] { "11111", "22222" },
108+
MediaIds = new TwitterMediaId[] { new("11111"), new("22222") },
108109
};
109110
await request.Send(mock.Object);
110111
mock.VerifyAll();

OpenTween/Api/GraphQL/CreateTweetRequest.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
using OpenTween.Api.DataModel;
3131
using OpenTween.Connection;
3232
using OpenTween.Models;
33+
using OpenTween.SocialProtocol.Twitter;
3334

3435
namespace OpenTween.Api.GraphQL
3536
{
@@ -43,7 +44,7 @@ public class CreateTweetRequest
4344

4445
public TwitterUserId[] ExcludeReplyUserIds { get; set; } = Array.Empty<TwitterUserId>();
4546

46-
public string[] MediaIds { get; set; } = Array.Empty<string>();
47+
public TwitterMediaId[] MediaIds { get; set; } = Array.Empty<TwitterMediaId>();
4748

4849
public string? AttachmentUrl { get; set; }
4950

@@ -112,7 +113,7 @@ public string CreateRequestBody()
112113
? new(
113114
MediaEntities: this.MediaIds
114115
.Select(x => new VariableMediaEntity(
115-
MediaId: x,
116+
MediaId: x.Id,
116117
TaggedUsers: Array.Empty<string>()
117118
))
118119
.ToArray(),

OpenTween/Properties/AssemblyInfo.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
// 次の GUID は、このプロジェクトが COM に公開される場合の、typelib の ID です
2323
[assembly: Guid("2d0ae0ba-adac-49a2-9b10-26fd69e695bf")]
2424

25-
[assembly: AssemblyVersion("3.15.0.0")]
25+
[assembly: AssemblyVersion("3.15.1.0")]
2626

2727
[assembly: InternalsVisibleTo("OpenTween.Tests")]
2828
[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")] // for Moq

OpenTween/Properties/Resources.Designer.cs

Lines changed: 7 additions & 6 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

OpenTween/SocialProtocol/Misskey/MisskeyAccount.cs

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ ISocialProtocolClient ISocialAccount.Client
4242

4343
public bool IsDisposed { get; private set; }
4444

45-
public MisskeyAccountState AccountState { get; private set; } = new();
45+
public MisskeyAccountState AccountState { get; } = new();
4646

4747
ISocialAccountState ISocialAccount.AccountState
4848
=> this.AccountState;
@@ -71,14 +71,10 @@ public void Initialize(UserAccount accountSettings, SettingCommon settingCommon)
7171
{
7272
Debug.Assert(accountSettings.UniqueKey == this.UniqueKey.Id, "UniqueKey must be same as current value.");
7373

74-
var serverUri = new Uri($"https://{accountSettings.ServerHostname}/");
75-
this.AccountState = new(serverUri, new(accountSettings.UserId), accountSettings.Username)
76-
{
77-
AuthorizedScopes = accountSettings.Scopes,
78-
HasUnrecoverableError = false,
79-
};
74+
this.AccountState.UpdateFromSettings(accountSettings);
75+
this.AccountState.HasUnrecoverableError = false;
8076

81-
var apiBaseUri = new Uri(serverUri, "/api/");
77+
var apiBaseUri = new Uri(this.AccountState.ServerUri, "/api/");
8278

8379
var newConnection = new MisskeyApiConnection(apiBaseUri, accountSettings.TokenSecret, this.AccountState);
8480
(this.connection, var oldConnection) = (newConnection, this.connection);

OpenTween/SocialProtocol/Misskey/MisskeyAccountState.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,14 @@ public MisskeyAccountState(Uri serverUri, MisskeyUserId userId, string userName)
6868
this.UserName = userName;
6969
}
7070

71+
public void UpdateFromSettings(UserAccount accountSettings)
72+
{
73+
this.ServerUri = new($"https://{accountSettings.ServerHostname}/");
74+
this.UserId = new(accountSettings.UserId);
75+
this.UserName = accountSettings.Username;
76+
this.AuthorizedScopes = accountSettings.Scopes;
77+
}
78+
7179
/// <summary>ユーザー情報を更新します</summary>
7280
public void UpdateFromUser(MisskeyUser self)
7381
{

OpenTween/SocialProtocol/Twitter/TimelineResponseFilter.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ public class TimelineResponseFilter
3939

4040
public bool IsHomeTimeline { get; set; }
4141

42+
public bool IncludeRts { get; set; } = true;
43+
4244
public TimelineResponseFilter(TwitterAccountState accountState)
4345
{
4446
this.accountState = accountState;
@@ -56,6 +58,9 @@ public PostClass[] Run(PostClass[] posts)
5658
filteredPosts = this.FilterMutedUserPosts(filteredPosts);
5759
}
5860

61+
if (!this.IncludeRts)
62+
filteredPosts = this.FilterRetweets(filteredPosts);
63+
5964
return filteredPosts.ToArray();
6065
}
6166

@@ -85,5 +90,8 @@ private bool IsMutedPost(PostClass post)
8590

8691
return false;
8792
}
93+
94+
private IEnumerable<PostClass> FilterRetweets(IEnumerable<PostClass> posts)
95+
=> posts.Where(x => x.RetweetedId == null);
8896
}
8997
}

OpenTween/SocialProtocol/Twitter/TwitterAccount.cs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public string AccountType
4141

4242
public bool IsDisposed { get; private set; }
4343

44-
public TwitterAccountState AccountState { get; private set; } = new();
44+
public TwitterAccountState AccountState { get; } = new();
4545

4646
ISocialAccountState ISocialAccount.AccountState
4747
=> this.AccountState;
@@ -72,12 +72,9 @@ public void Initialize(UserAccount accountSettings, SettingCommon settingCommon)
7272
Debug.Assert(accountSettings.UniqueKey == this.UniqueKey.Id, "UniqueKey must be same as current value.");
7373

7474
var credential = accountSettings.GetTwitterCredential();
75-
var userId = new TwitterUserId(accountSettings.UserId);
7675

77-
this.AccountState = new TwitterAccountState(userId, accountSettings.Username)
78-
{
79-
HasUnrecoverableError = credential is TwitterCredentialNone,
80-
};
76+
this.AccountState.UpdateFromSettings(accountSettings);
77+
this.AccountState.HasUnrecoverableError = credential is TwitterCredentialNone;
8178

8279
var newConnection = new TwitterApiConnection(credential, this.AccountState);
8380
(this.apiConnection, var oldConnection) = (newConnection, this.apiConnection);

OpenTween/SocialProtocol/Twitter/TwitterAccountState.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,12 @@ public TwitterAccountState(TwitterUserId userId, string userName)
7373
this.UserName = userName;
7474
}
7575

76+
public void UpdateFromSettings(UserAccount accountSettings)
77+
{
78+
this.UserId = new(accountSettings.UserId);
79+
this.UserName = accountSettings.Username;
80+
}
81+
7682
/// <summary>ユーザー情報を更新します</summary>
7783
public void UpdateFromUser(TwitterUser self)
7884
{

0 commit comments

Comments
 (0)