1
0
forked from mirror/misskey
Commit Graph

825 Commits

Author SHA1 Message Date
tamaina
02d7ffd305 fix(server): 単純にrenoteできないのを修正 2023-02-26 11:10:24 +00:00
syuilo
a78a839841 refactor 2023-02-26 18:57:24 +09:00
xianon
67ca7ee4ec
ホームタイムラインの読み込みでクエリタイムアウトになるのを修正する (#10106) 2023-02-26 18:54:52 +09:00
syuilo
cc149e2f46 fix(server): エラーのスタックトレースは返さないように
Fix #10064
2023-02-26 17:12:15 +09:00
daima3629
1bdde6bd5c
[Fix] fixed an typo in error message (#10102) 2023-02-26 14:14:57 +09:00
tamaina
18dbcfa0b0
test(server): add validation test of api:notes/create (#10090)
* fix(server): notes/createのバリデーションが効いていない
Fix #10079

Co-Authored-By: mei23 <m@m544.net>

* anyOf内にバリデーションを書いても最初の一つしかチェックされない

* ✌️

* wip

* wip

* ✌️

* RequiredProp

* Revert "RequiredProp"

This reverts commit 7469390011.

* add api:notes/create

* fix lint

* text

* ✌️

* improve readability

---------

Co-authored-by: mei23 <m@m544.net>
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-02-26 11:28:05 +09:00
Kagami Sascha Rosylight
b468330ed9
Merge branch 'develop' into mkusername-empty 2023-02-25 20:04:48 +01:00
syuilo
ea04778649 feat: in-channel featured note
Resolve #9938
2023-02-25 18:26:35 +09:00
tamaina
8b30c0c0cd
fix(client): Android ChromeでPWAとしてインストールできない問題を修正 (#10069)
* fix(client): Android ChromeでPWAとしてインストールできない問題を修正

* 順番関係ある?
2023-02-25 05:22:09 +09:00
xianon
0ec5327474
未知のユーザーが deleteActor されたら処理をスキップする (#10067) 2023-02-25 04:27:37 +09:00
tamaina
e4336f5b76
fix(server): notes/createで、fileIdsと見つかったファイルの数が異なる場合はエラーにする (#9911)
* fix(server): notes/createで、fileIdsと見つかったファイルの数が異なる場合はエラーにする

* NO_SUCH_FILE
2023-02-24 16:32:01 +09:00
Kagami Sascha Rosylight
d1d3b48e51
test(backend): restore ap-request tests (#9997)
Co-authored-by: tamaina <tamaina@hotmail.co.jp>
2023-02-24 16:10:48 +09:00
tamaina
becc4d2e54
fix: i/notificationsで古い通知タイプを許容するなど、古い通知タイプの清算 (#10042)
* wip

* fix

* create migration

* oops

* fix front const

* changelog

* fix type

* fix

* wip

* Revert "wip"

This reverts commit 6cdb3600e2.

* enumのこす

* fix

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-02-23 20:46:14 +09:00
Shogo Sensui
2189acdde1
enhance: make pwa icon maskable (#10033) 2023-02-23 15:59:21 +09:00
syuilo
5b3a07ee9e Revert "Allow configuring the listen host (#9924)"
This reverts commit 3dfe3aa9a4.
2023-02-22 18:00:35 +09:00
ledlamp
3dfe3aa9a4
Allow configuring the listen host (#9924) 2023-02-22 17:51:40 +09:00
potpro
bd13ea3d2c
MFMのDOM ParserをJSDOMからhappy-domに変更する (#10016)
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-02-22 17:32:45 +09:00
syuilo
84e2ee220b fix(server): tweak admin/show-user api
Fix #9883
2023-02-22 17:17:36 +09:00
syuilo
5ec07ede7c fix types 2023-02-22 14:58:41 +09:00
syuilo
72d4ad4c45 fix type 2023-02-22 14:53:36 +09:00
dojineko
a6fb6150a3
chore: add tiny definition for redis-lock (#9971)
* add tiny definition for redis-lock

* Update packages/backend/src/@types/redis-lock.d.ts

Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>

* fix type name

* add @typescript-eslint/naming-convention

* define taskToPerform type

* chore: use default settings for `@typescript-eslint/naming-convention`

* set `format:none` to typeParameter (default)

* ignore lines to be treated as exceptions

* chore: fix naming

---------

Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-02-22 14:51:34 +09:00
tamaina
b9ee14fe5b
fix: MkUserSelectDialog/search-by-username-and-hostでローカルユーザーを絞って検索できない問題を修正 (#9943)
* fix: MkUserSelectDialog/search-by-username-and-hostでローカルユーザーを絞って検索できない問題を修正
Fix #9627

* update CHANGELOG.md

* clean up

* search-by-username-and-host大改造
2023-02-22 14:47:51 +09:00
syuilo
870f7608be enhance: exploreで公開ロール一覧とそのメンバーを閲覧できるように 2023-02-22 14:43:18 +09:00
syuilo
b161f38710 fix(server): improve security of admin/drive/show-file 2023-02-21 14:47:11 +09:00
xianon
b055f516c0
削除済みのユーザーが deleteActor される時の動作を修正する (#9980) 2023-02-20 17:08:05 +09:00
tamaina
980bf1306e
🎨 2FA設定のデザイン向上 / セキュリティキーの名前を変更できるように (#9985)
* wip

* fix

* wip

* wip

* ✌️

* rename key

* 🎨

* update CHANGELOG.md

* パスワードレスログインの判断はサーバーで

* 日本語

* 日本語

* 日本語

* 日本語

* ✌️

* fix

* refactor

* トークン→確認コード

* fix password-less / qr click

* use otpauth

* 日本語

* autocomplete

* パスワードレス設定は外に出す

* 🎨

* 🎨

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-02-20 16:40:24 +09:00
noonworks
ea92254b73
refactor: 型エラー修正 / Fix type errors backend (#9983)
* refactor: fix type errors in backend

* revert some changes

* なるべくJS挙動を変えない方法に修正

* Update packages/backend/src/server/api/ApiCallService.ts

Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>

* コンフリクトするファイルを削除

---------

Co-authored-by: Acid Chicken (硫酸鶏) <root@acid-chicken.com>
2023-02-20 08:13:37 +09:00
syuilo
7ce0f79f7f chore(server): tweak notes/featured api 2023-02-19 17:50:14 +09:00
Kagami Sascha Rosylight
cf2b1c1e00 Merge branch 'develop' into mkusername-empty 2023-02-19 09:26:27 +01:00
Kagami Sascha Rosylight
194d656bb4 fix: normalize empty value of name into an absent value 2023-02-17 09:06:48 +01:00
syuilo
0f546b47d1 refactor: fix types 2023-02-17 15:39:10 +09:00
syuilo
60df819c60 refactor: fix types 2023-02-17 15:36:36 +09:00
syuilo
0e1b5d6f14 refactor: fix types 2023-02-17 15:15:36 +09:00
syuilo
bde22208fe refactor: fix types 2023-02-17 15:06:52 +09:00
tamaina
e8c5307f66
perf(client): ウェルカムページを最適化 (#9960)
* perf(client): ウェルカムページの最適化

* remove max
2023-02-17 12:38:30 +09:00
Kagami Sascha Rosylight
8f9ce23e52
style(backend): fix all eslint errors (#9967) 2023-02-17 10:56:59 +09:00
Kagami Sascha Rosylight
63df2c851e
refactor: remove all unused imports (#9951)
Co-authored-by: tamaina <tamaina@hotmail.co.jp>
2023-02-16 23:09:41 +09:00
tamaina
4db787c4ee
fix(server): マイグレーションad1676438468213が通らないのを修正 (#9963)
* fix(server): マイグレーションad1676438468213が通らないのを修正
Fix #9962

* fix
2023-02-16 22:08:45 +09:00
tamaina
839a626716
fix(server): dropGroupマイグレーションが通るように (#9961) 2023-02-16 22:07:34 +09:00
syuilo
e24b0ceb80 startAt -> startsAt 2023-02-15 14:31:59 +09:00
nenohi
71c42bef9b
広告開始時期の設定 (#9944)
* 広告開始時期の設定

* 過去のものも表示するように
2023-02-15 14:29:40 +09:00
syuilo
8caf288ac1
drop group (#9942)
* drop group

* Update operations.ts
2023-02-15 13:37:18 +09:00
syuilo
8f2049bcd2
drop messaging (#9919)
* drop messaging (from backend)

* wip
2023-02-15 13:06:06 +09:00
tamaina
4e68126c06
enhance(server): URLプレビュー(summaly)はプロキシを通すように (#9905)
* enhance(server): URLプレビュー(summaly)はプロキシを通すように

* update summaly

* update summaly

* 型エラーバスター

* basic.html

* Delete basic.html

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-02-14 14:17:07 +09:00
Neko7sora
7436a58ea1
改行コードをLFに統一 (#9926)
* chore: update gitattribute editorconfig

* Normalize all the line endings
2023-02-14 13:13:34 +09:00
tamaina
b7b8fd4b59 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2023-02-14 04:09:03 +00:00
tamaina
55d4d3418e fix(server): HttpRequestService.sendでは常にUser-Agentを含むように
Fix #9817 (maybe)
2023-02-14 04:08:56 +00:00
syuilo
e8d4f3eac3 refactor: fix types 2023-02-13 16:19:29 +09:00
syuilo
1b21bad202 refactor 2023-02-13 15:50:22 +09:00
syuilo
f34f9f6ea5 refactor: fix types 2023-02-13 15:28:07 +09:00
syuilo
a71682f6f0 refactor: fix types 2023-02-12 20:06:10 +09:00
syuilo
5d3d5cd59c refactor: fix types 2023-02-12 18:54:38 +09:00
syuilo
451bc0b444 refactor: fix types 2023-02-12 18:47:30 +09:00
Kagami Sascha Rosylight
9965bc8f94
Fix moduleNameMapper to not resolve .wasm.js to .wasm (#9894)
* Fix moduleNameMapper to not resolve `.wasm.js` to `.js`

Fixes #9767

Undici [tries to import `./llhttp/llhttp.wasm.js`](e155c6db5c/lib/client.js (L342)) which is currently broken by the (hacky) module name mapper.

* longer timeout value

* 30s

* 50s

* 60s to be safe

* Revert "60s to be safe"

This reverts commit f3e0f57962.

* 2cc98226ca revert?

* revert

* remove timeout

* detectOpenHandles

* Really solved?

* Revert "detectOpenHandles"

This reverts commit 29214bdff8.

* Add `coveragePathIgnorePatterns`

* Revert "Add `coveragePathIgnorePatterns`"

This reverts commit fcf8c6806b.

* Import jsonld dynamically

* remove import

* add comment

---------

Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
2023-02-12 17:18:31 +09:00
syuilo
b55d26387b improve error handling 2023-02-12 10:36:43 +09:00
syuilo
9ddf62d8b7 enhance: レートリミットを0%にできるように 2023-02-12 10:26:27 +09:00
tamaina
ee03ab8d2c
enhance(server): videoThumbnailGenerator config (#9845)
* enhance(server): videoThumbnailGenerator config

* ✌️

* fix

* 相対url

* サムネイルのproxyRemoteFilesは直接プロキシを指定する

* メディアプロキシ
2023-02-12 09:13:47 +09:00
momoirodouhu
f28aea9e30
add cors header to ActivityPubServerService.ts (#9888)
* add cors header to ActivityPubServerService.ts

* Update CHANGELOG.md
2023-02-12 08:22:42 +09:00
RyotaK
ef860a8f84
CLIページにおいてAPIリクエスト時にContent-Typeヘッダを付与するように変更 (#9887) 2023-02-12 08:21:13 +09:00
syuilo
9351fb9617 コンディショナルロールもバッジとして表示可能に 2023-02-11 09:03:43 +09:00
tamaina
19035c676c /proxyでemoji, avatarなどの命令がありかつ画像でないなら404を返すように 2023-02-09 12:39:24 +00:00
syuilo
0b269e79fd i/notificationsのレートリミットを緩和 2023-02-09 18:11:11 +09:00
tamaina
6e61a36d05 i/notificationsのレートリミットを緩和
SubwayTooterのバグ対策でレートリミットを設定していたが、通常の使い方でも引っかかることもあるため緩和
2023-02-09 08:32:42 +00:00
tamaina
f80bf1fb1c perf: renderBaseでCache-Controlを300秒から30秒に 2023-02-09 08:19:12 +00:00
tamaina
deed25a2ff Fix #9842 2023-02-09 08:00:45 +00:00
tamaina
a486716520 perf: renderBaseでCache-Controlを15秒から300秒に 2023-02-09 07:49:39 +00:00
syuilo
76faec2115 refactor: fix types 2023-02-09 11:46:08 +09:00
syuilo
33c4e57994 refactor: fix types 2023-02-09 11:42:55 +09:00
syuilo
bc23496998 refactor: fix types 2023-02-09 11:31:40 +09:00
syuilo
d35ad95c18 refactor: fix types 2023-02-09 11:03:40 +09:00
syuilo
5facd11592 refactor: fix types 2023-02-09 11:02:37 +09:00
syuilo
e1e885d6b2 refactor: fix types 2023-02-09 10:55:15 +09:00
syuilo
5b6695114f refactor: fix types 2023-02-09 10:50:53 +09:00
syuilo
71dd7f89e9 clean up 2023-02-09 10:47:03 +09:00
syuilo
21331e53fe refactor: fix types 2023-02-09 10:46:01 +09:00
syuilo
73f06e591a revert: 650187deaf 2023-02-08 20:07:19 +09:00
syuilo
0da0cc80b9 fix(server): validate url from ap to improve security 2023-02-08 17:50:23 +09:00
syuilo
650187deaf perf(client): do not render custom emojis in user names
#9778
2023-02-08 17:48:02 +09:00
tamaina
54f789bd55 fix(server): DriveFileEntityService.getPublicUrl調整
- 外部MediaProxyではビデオのサムネイルを生成できないので外部に投げない
- thumbnailUrlが存在しない場合、画像の場合はプロキシで圧縮させる
2023-02-07 14:24:15 +00:00
syuilo
5ac9d13516 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2023-02-07 19:59:00 +09:00
syuilo
2be1a39d13 fix(server): validate urls from ap to improve security 2023-02-07 19:58:58 +09:00
Masaya Suzuki
f3c5edc852
fix: postgre -> postgres (#9814) 2023-02-07 19:50:38 +09:00
syuilo
1139632f95 fix(server): 自分のノートをお気に入りに登録しても実績解除される問題を修正 2023-02-05 14:30:07 +09:00
syuilo
0d7256678e fix(server): validate filename and emoji name to improve security 2023-02-05 14:25:37 +09:00
MeiMei
505ecf6c1f
Deny UNIX domain socket (#9802)
* Deny UNIX domain socket

* got v12ならこれが使える?
2023-02-05 13:51:59 +09:00
syuilo
6a3039f7b7 feat: ロールにアイコンを設定してユーザー名の横に表示できるように
Resolve #9761
2023-02-05 10:37:03 +09:00
tamaina
faed3b438e fix(server): clean up file in FileServer 2023-02-04 13:46:19 +00:00
syuilo
4ad0345f20 fix(server): cannot follow user 2023-02-04 19:19:30 +09:00
syuilo
ee74df6823 fix(server): improve security 2023-02-04 18:21:07 +09:00
syuilo
38f9d1e764 fix(client): validate urls to improve security 2023-02-04 14:20:07 +09:00
tamaina
2dfed75402
perf(server): improvement of external mediaProxy (#9787)
* perf(server): improvement of external mediaProxy

* add a comment

* ✌️

* /filesでsharpの処理を行わずリダイレクトする

* fix

* thumbnail => static

* Fix #9788

* add avatar mode

* add url

* fix

* static.webp

* remove encodeURIComponent from media proxy path

* remove existance check
2023-02-04 13:38:51 +09:00
syuilo
0c12e80106 perf(server): cache blocking 2023-02-04 12:40:40 +09:00
syuilo
b7522f69e7 fix typo 2023-02-04 10:02:03 +09:00
syuilo
1d39f785f1 perf: use replaceAll instead of regex 2023-02-03 17:44:25 +09:00
syuilo
825551d64f drop syslog
Close #9774
2023-02-03 15:08:36 +09:00
syuilo
562b02310f drop twitter/github/discord integrations
Close #9775
2023-02-03 15:01:31 +09:00
syuilo
c559a9843f drop hashtag chart 2023-02-03 14:10:14 +09:00
syuilo
4610d8dfe3 refactor: fix type 2023-02-01 20:15:11 +09:00
syuilo
fa296efdf6 refactor: fix type 2023-02-01 20:13:22 +09:00
syuilo
d9d98f84bf refactor: fix type 2023-02-01 20:12:42 +09:00
tamaina
7c3143b8e5
enhance(backend): enhance SchemaType handling of anyOf (#9762)
* enhance(backend): enhance anyOf handling

* clean up
2023-02-01 20:04:01 +09:00
syuilo
387fcd5c5d refactor: fix type 2023-02-01 17:29:28 +09:00
syuilo
ebc6437977 refactor: tweak variable name 2023-02-01 16:24:50 +09:00
Nya Candy
00d28826b9
fix(try): ld signature normalizer (#9758) 2023-01-31 19:37:39 +09:00
syuilo
d37a734379 fix(server): fix aggregation of retention 2023-01-27 11:10:37 +09:00
syuilo
7cb13cf839 proxyRemoteFilesがfalseならリモートカスタム絵文字は直リンにする 2023-01-26 18:44:43 +09:00
hayabusa
b21064ffa4
リアクション履歴が公開なら、ログインしていなくても表示できるように (#9728) 2023-01-26 16:10:32 +09:00
tamaina
4735ae6451
refactor: /proxyをFileServerServiceに統合し、/proxyのurlで/filesが指定されていた場合は直接ファイルを解決するようにする (#9709)
* wip?

* clean up

* Implement? HttpFetchService

* ✌️

* remove node-fetch

* fix

* refactor

* fix

* gateway timeout

* UndiciFetcherクラスを追加 (仮コミット, ビルドもstartもさせていない)

* fix

* add logger and fix url preview

* fix ip check

* enhance logger and error handling

* fix

* fix

* clean up

* Use custom fetcher for ApRequest / ApResolver

* bypassProxyはproxyBypassHostsに判断を委譲するように

* set maxRedirections (default 3, ApRequest/ApResolver: 0)

* fix

* wip????

* wip

* ✌️

* set .node-version

* clean up

* refactor

* clean up

* refactor

* refactor detectRequestType

* rename detectResponseType

* ✌️

* fix

* wip

* clean up

* no got

* remove got

* wip

* ✌️

* fix

* clean up

* remove unnnecessary const

* good cleanup

* no stream

* Revert "no stream"

This reverts commit 636f9192fc.

* fix

* cache-control: max-age=300 to error

* refactor cleanup
2023-01-26 16:06:29 +09:00
syuilo
452bd6db25 tweak custom emoji handling
Close #9721
2023-01-26 15:48:12 +09:00
syuilo
f5d6b84381 chore: check emoji host 2023-01-26 14:29:28 +09:00
syuilo
d87bb807c3 tweak error screen 2023-01-26 11:39:21 +09:00
syuilo
7131eb1827 fix(server): turnstile-failed: missing-input-secret
Fix #9726
2023-01-26 11:31:43 +09:00
tamaina
605b0f27e4 Merge branch 'develop' into emoji-re 2023-01-25 14:22:26 +00:00
syuilo
5ffa106cc1 サードパーティからも自身のロールを確認できるように
Close #9700
2023-01-25 19:34:10 +09:00
syuilo
3ba5541a66 Update ApResolverService.ts 2023-01-25 12:36:39 +09:00
syuilo
945c50db1f Update ApRequestService.ts 2023-01-25 12:31:03 +09:00
syuilo
d4fb201d05 fix(server): node-fetchおよびgotを使う以前の実装に戻す
see #9710
2023-01-25 12:00:04 +09:00
syuilo
2a2e8d0cf6 refactor(server): fix type errors 2023-01-25 11:23:57 +09:00
syuilo
520ed8cb4d refactor(server): fix type errors 2023-01-25 11:18:16 +09:00
syuilo
8cab16c824 fix(server): /api/signin always returns 429 when request header x-forwarded-for contains client port
Fix #9408
2023-01-24 17:51:09 +09:00
tamaina
6589e8a390
Fix #9710 ? (#9712)
* wip

* update pnpm-lock

* use our own DevNull

* fix

* deliverJobConcurrencyをmacSocketsで割ってソケット数にする
2023-01-24 15:54:14 +09:00
syuilo
b62894ff56 use minified css 2023-01-24 15:02:16 +09:00
tamaina
9fd1b35d95 fix TypeError: Cannot read properties of undefined (reading 'getLogger') 2023-01-24 01:34:14 +00:00
syuilo
869854eae7 コミット漏れ 2023-01-24 08:32:17 +09:00
syuilo
238f923b41 refactor(server): httpRequestServiceのUndiciFetcher依存をなるべくカプセル化 2023-01-24 08:31:02 +09:00
syuilo
7b73dd2d62 enhance(server): onlyServer / onlyQueue オプションを復活 2023-01-23 20:07:48 +09:00
tamaina
0cffe60abc 1時間に 2023-01-22 17:14:05 +00:00
tamaina
d347f0a087 wip 2023-01-22 16:07:17 +00:00
tamaina
0b2f945bb6 wip 2023-01-22 15:13:03 +00:00
tamaina
2f6c45e118 wip 2023-01-22 14:53:24 +00:00
tamaina
a8b19f4aa8 Merge branch 'develop' into emoji-re 2023-01-22 12:07:38 +00:00
syuilo
b906ff3fed add an achievement 2023-01-22 20:30:56 +09:00
syuilo
42f3d9188b add a secret achievement 2023-01-22 20:22:38 +09:00
syuilo
7a6534f30b カスタム絵文字のURLが空文字列になる場合があるのを修正 2023-01-22 17:29:31 +09:00
syuilo
19c93151ce tweak boot.js 2023-01-22 17:18:48 +09:00
syuilo
bd8b624bae tweak bootstrap of client 2023-01-22 17:04:51 +09:00
syuilo
26ae2dfc0f add achievement 2023-01-22 08:00:42 +09:00
syuilo
3e112da486 ローカルのカスタム絵文字については直接オリジナルURLにリクエストするように 2023-01-21 20:40:09 +09:00
syuilo
8631740ca4 fix(server): twitterと連携するときに autwh is not a function になるのを修正
Fix #9658
2023-01-21 17:01:02 +09:00
syuilo
2b377a3dc5 add some achievements 2023-01-21 16:06:49 +09:00
syuilo
9d367882fb add some achievements 2023-01-21 15:30:29 +09:00
syuilo
7e89e70934
enhance(server): separate job queue process (#9662)
* enhance(server): separate job queue process

* add commands for build with swc
2023-01-21 14:09:01 +09:00
syuilo
0b4a7e8166 enhance(server): set Cache-Control header for some routes 2023-01-21 13:20:09 +09:00
syuilo
65cd605b73
Achievements (#9665)
* wip

* Update ja-JP.yml

* wip

* wip

* Update MkAchievements.vue

* wip

* 🎨

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip
2023-01-21 13:14:55 +09:00
syuilo
afc0be6790 enhance: playのscriptの文字数制限を緩和 2023-01-19 09:06:11 +09:00
tamaina
79212bbd37 refactor(server): notify url when fetch error 2023-01-17 17:12:41 +00:00
syuilo
fe4fbafcf0 存在しないカスタム絵文字をテキストで表示するように
Resolve #9516
2023-01-17 15:58:12 +09:00
Kainoa Kanter
84b8ffb7d0
enhance(client): Force error screen (#8947) 2023-01-17 03:26:41 +09:00
Mary
3feaf39294
ApRequestService: don't generate our own Host header (#9378) 2023-01-17 02:21:15 +09:00
tamaina
21e4c3dfe9 wip 2023-01-16 09:39:58 +00:00