Skip to content

Commit ceb1434

Browse files
authored
Merge pull request #1071 from kmycode/kb-draft-19.10-lts
Release: 19.10-lts
2 parents 59d6acb + 077e6fb commit ceb1434

File tree

9 files changed

+48
-14
lines changed

9 files changed

+48
-14
lines changed

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,14 @@
22

33
All notable changes to this project will be documented in this file.
44

5+
## [4.4.9] - 2025-11-20
6+
7+
### Fixed
8+
9+
- Fix `tootctl upgrade storage-schema` failing with `ArgumentError` (#36914 by @shugo)
10+
- Fix old previously-undiscovered posts being treated as new when receiving an `Update` (#36848 by @ClearlyClaire)
11+
- Fix filters not being applied to quotes in detailed view (#36843 by @ClearlyClaire)
12+
513
## [4.4.8] - 2025-10-21
614

715
### Security

app/javascript/mastodon/features/status/components/detailed_status.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -460,6 +460,7 @@ export const DetailedStatus: React.FC<{
460460
<QuotedStatus
461461
quote={status.get('quote')}
462462
parentQuotePostId={status.get('id')}
463+
contextType='thread'
463464
/>
464465
)}
465466
</>

app/lib/activitypub/activity/update.rb

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
# frozen_string_literal: true
22

33
class ActivityPub::Activity::Update < ActivityPub::Activity
4+
# Updates to unknown objects older than that are ignored
5+
OBJECT_AGE_THRESHOLD = 1.day
6+
47
def perform
58
@account.schedule_refresh_if_stale!
69

@@ -28,6 +31,9 @@ def update_status
2831

2932
@status = Status.find_by(uri: object_uri, account_id: @account.id)
3033

34+
# Ignore updates for old unknown objects, since those are updates we are not interested in
35+
return if @status.nil? && object_too_old?
36+
3137
# We may be getting `Create` and `Update` out of order
3238
@status ||= ActivityPub::Activity::Create.new(@json, @account, **@options).perform
3339

@@ -45,4 +51,10 @@ def forward_for_conversation
4551

4652
ActivityPub::ForwardConversationWorker.perform_async(Oj.dump(@json), @status.id, true)
4753
end
54+
55+
def object_too_old?
56+
@object['published'].present? && @object['published'].to_datetime < OBJECT_AGE_THRESHOLD.ago
57+
rescue Date::Error
58+
false
59+
end
4860
end

docker-compose.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ services:
5959
web:
6060
# You can uncomment the following line if you want to not use the prebuilt image, for example if you have local code changes
6161
build: .
62-
image: kmyblue:19.9-lts
62+
image: kmyblue:19.10-lts
6363
restart: always
6464
env_file: .env.production
6565
command: bundle exec puma -C config/puma.rb
@@ -83,7 +83,7 @@ services:
8383
build:
8484
dockerfile: ./streaming/Dockerfile
8585
context: .
86-
image: kmyblue-streaming:19.9-lts
86+
image: kmyblue-streaming:19.10-lts
8787
restart: always
8888
env_file: .env.production
8989
command: node ./streaming/index.js
@@ -101,7 +101,7 @@ services:
101101

102102
sidekiq:
103103
build: .
104-
image: kmyblue:19.9-lts
104+
image: kmyblue:19.10-lts
105105
restart: always
106106
env_file: .env.production
107107
command: bundle exec sidekiq

lib/mastodon/cli/upgrade.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,12 +123,12 @@ def upgrade_storage_filesystem(progress, attachment, style)
123123
progress.log("Moving #{previous_path} to #{upgraded_path}") if options[:verbose]
124124

125125
begin
126-
move_previous_to_upgraded
126+
move_previous_to_upgraded(previous_path, upgraded_path)
127127
rescue => e
128128
progress.log(pastel.red("Error processing #{previous_path}: #{e}"))
129129
success = false
130130

131-
remove_directory
131+
remove_directory(upgraded_path)
132132
end
133133
end
134134

lib/mastodon/version.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ def kmyblue_major
1313
end
1414

1515
def kmyblue_minor
16-
9
16+
10
1717
end
1818

1919
def kmyblue_flag
@@ -31,7 +31,7 @@ def minor
3131
end
3232

3333
def patch
34-
8
34+
9
3535
end
3636

3737
def default_prerelease

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@
8080
"http-link-header": "^1.1.1",
8181
"immutable": "^4.3.0",
8282
"intl-messageformat": "^10.7.16",
83-
"js-yaml": "^4.1.0",
83+
"js-yaml": "^4.1.1",
8484
"lande": "^1.0.10",
8585
"lodash": "^4.17.21",
8686
"marky": "^1.2.5",

spec/lib/activitypub/activity_spec.rb

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@
3434
}
3535
end
3636

37+
let(:publication_date) { 1.hour.ago.utc }
38+
3739
let(:create_json) do
3840
{
3941
'@context': [
@@ -52,7 +54,7 @@
5254
'https://www.w3.org/ns/activitystreams#Public',
5355
],
5456
content: 'foo',
55-
published: '2025-05-24T11:03:10Z',
57+
published: publication_date.iso8601,
5658
quote: ActivityPub::TagManager.instance.uri_for(quoted_status),
5759
},
5860
}.deep_stringify_keys
@@ -77,7 +79,7 @@
7779
'https://www.w3.org/ns/activitystreams#Public',
7880
],
7981
content: 'foo',
80-
published: '2025-05-24T11:03:10Z',
82+
published: publication_date.iso8601,
8183
quote: ActivityPub::TagManager.instance.uri_for(quoted_status),
8284
quoteAuthorization: approval_uri,
8385
},

yarn.lock

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2747,7 +2747,7 @@ __metadata:
27472747
husky: "npm:^9.0.11"
27482748
immutable: "npm:^4.3.0"
27492749
intl-messageformat: "npm:^10.7.16"
2750-
js-yaml: "npm:^4.1.0"
2750+
js-yaml: "npm:^4.1.1"
27512751
lande: "npm:^1.0.10"
27522752
lint-staged: "npm:^16.0.0"
27532753
lodash: "npm:^4.17.21"
@@ -8135,8 +8135,8 @@ __metadata:
81358135
linkType: hard
81368136

81378137
"glob@npm:^10.0.0, glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.4.1":
8138-
version: 10.4.5
8139-
resolution: "glob@npm:10.4.5"
8138+
version: 10.5.0
8139+
resolution: "glob@npm:10.5.0"
81408140
dependencies:
81418141
foreground-child: "npm:^3.1.0"
81428142
jackspeak: "npm:^3.1.2"
@@ -8146,7 +8146,7 @@ __metadata:
81468146
path-scurry: "npm:^1.11.1"
81478147
bin:
81488148
glob: dist/esm/bin.mjs
8149-
checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e
8149+
checksum: 10c0/100705eddbde6323e7b35e1d1ac28bcb58322095bd8e63a7d0bef1a2cdafe0d0f7922a981b2b48369a4f8c1b077be5c171804534c3509dfe950dde15fbe6d828
81508150
languageName: node
81518151
linkType: hard
81528152

@@ -9146,6 +9146,17 @@ __metadata:
91469146
languageName: node
91479147
linkType: hard
91489148

9149+
"js-yaml@npm:^4.1.1":
9150+
version: 4.1.1
9151+
resolution: "js-yaml@npm:4.1.1"
9152+
dependencies:
9153+
argparse: "npm:^2.0.1"
9154+
bin:
9155+
js-yaml: bin/js-yaml.js
9156+
checksum: 10c0/561c7d7088c40a9bb53cc75becbfb1df6ae49b34b5e6e5a81744b14ae8667ec564ad2527709d1a6e7d5e5fa6d483aa0f373a50ad98d42fde368ec4a190d4fae7
9157+
languageName: node
9158+
linkType: hard
9159+
91499160
"jsdoc-type-pratt-parser@npm:~4.1.0":
91509161
version: 4.1.0
91519162
resolution: "jsdoc-type-pratt-parser@npm:4.1.0"

0 commit comments

Comments
 (0)