Compare commits

..

3312 commits
v0.0.0 ... dev

Author SHA1 Message Date
zima
776991c682 update readme with arm notice + description of barkey 2025-11-17 16:39:42 -07:00
zima
7edc20d20e remove arm builds 2025-11-17 16:38:47 -07:00
zima
2fbcba1b3b Fix typo 2: electric boogaloo 2025-11-17 23:59:02 +01:00
zima
699604ad55 Fix typo in woodpecker config 2025-11-17 23:56:36 +01:00
zima
a514d01157 Merge pull request 'Update to Sharkey 2025.4.4' (#81) from upstream-2025.4.4 into dev
Reviewed-on: https://codeberg.org/yeentown/barkey/pulls/81
2025-11-17 23:48:27 +01:00
zima
0aafcdd1b9 Merge tag '2025.4.4' into upstream-2025.4.4 2025-11-17 15:07:56 -07:00
dakkar
a2bc6603c2 merge: For 2025.4.4 (!1199)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1199

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-07-31 21:53:33 +00:00
dakkar
ce3531ed96 merge: Improve URL validation *FOR STABLE* (!1191)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1191

Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-07-28 19:28:01 +00:00
Hazelnoot
db15ac0fbb fix DI error in HttpRequestService.ts 2025-07-27 19:39:20 +01:00
Hazelnoot
25622b536c resolve domain names when checking for private URLs 2025-07-27 19:39:20 +01:00
Hazelnoot
3c59a7ae01 allow HTTP connections to private IPs 2025-07-27 19:39:20 +01:00
Hazelnoot
af967fe6be refactor actor validation to reduce code duplication 2025-07-27 19:39:20 +01:00
Hazelnoot
2f67882f82 merge: Fix Postgres / TypeORM errors *FOR STABLE* (!1192)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1192

Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-07-27 18:02:25 +00:00
Hazelnoot
b39439f9fb merge: Fix factor scaling in rate limit *FOR STABLE* (!1194)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1194

Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-07-27 18:02:12 +00:00
Hazelnoot
823fdf2745 merge: Fix link verification for actors without a url field *FOR STABLE* (!1193)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1193

Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-07-27 18:01:58 +00:00
Hazelnoot
9b866613d7 merge: Fix extremely poor performance of users/report-abuse endpoint *FOR STABLE* (!1195)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1195

Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-07-27 18:01:55 +00:00
dakkar
8994a95f13 bump release version 2025-07-27 18:50:22 +01:00
Hazelnoot
ec11092e8d fix cherry-pick error: restore CacheService.findOptionalUserById 2025-07-27 18:09:42 +01:00
Hazelnoot
84ca3621d8 fix users/report-abuse endpoint being really slow 2025-07-27 18:08:38 +01:00
Hazelnoot
9ac58e6107 scale rate limit dripRate with factor 2025-07-27 18:05:35 +01:00
Hazelnoot
2c8c422cb6 include profile URI for link verification 2025-07-27 18:03:35 +01:00
Hazelnoot
ea9335bcc8 fix more freeze / unfreeze errors caused by TypeORM bugs 2025-07-27 18:01:11 +01:00
Hazelnoot
73f2ee4fb3 fix user suspension / unsuspension not updating caches 2025-07-27 18:01:11 +01:00
Hazelnoot
f937f2d3c6 fix error in UserSuspendService.freezeAll and UserSuspendService.unFreezeAll caused by TypeORM bug 2025-07-27 18:01:11 +01:00
Hazelnoot
3dde7f25a6 move CaptchaError to a separate file to avoid circular import errors 2025-07-27 17:57:30 +01:00
Hazelnoot
dc19b18112 add comment about validation in verify-field-link.ts 2025-07-27 17:57:30 +01:00
Hazelnoot
e8c7134123 remove unused console logging fallbacks 2025-07-27 17:57:30 +01:00
Hazelnoot
bf455c2f7a use logger instead of console for uncaughtException debug lines 2025-07-27 17:57:30 +01:00
Hazelnoot
283facdd31 add workarounds for node-fetch crashes 2025-07-27 17:57:30 +01:00
Hazelnoot
d36b94c8cf fix URL errors from incorrect validation in validateActor 2025-07-27 17:57:30 +01:00
Hazelnoot
d3f672657e re-use parsed URI in validateActor 2025-07-27 17:57:30 +01:00
Hazelnoot
df0331ea04 verify URLs in DownloadService 2025-07-27 17:57:30 +01:00
Hazelnoot
3849e8c15a use shared URL verification in verifyLinkFields 2025-07-27 17:57:30 +01:00
Hazelnoot
982223ad38 validate all URLs before fetch 2025-07-27 17:57:26 +01:00
Hazelnoot
51ad31b5a4 merge: disable outgoing mastodon quotes *FOR STABLE* (!1169)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1169

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-07-27 15:30:10 +00:00
dakkar
b5034f673c merge: mark grouped notifs by oldest id - sort-of fix 1139 (!1152)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1152

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-07-27 14:42:29 +00:00
Hazelnoot
4d64f9e5eb merge: recalculate size&hash after web-optimising videos (!1150)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1150

Approved-by: Charlotte <timo.herngreen@gmail.com>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-07-26 22:50:08 +00:00
dakkar
215f095a3f sort notifications by creation time
so groups are sorted newest first according to the displayed time
2025-07-25 21:46:01 +01:00
Hazelnoot
38616ab246 disable outgoing mastodon quotes 2025-07-16 10:58:05 +01:00
zima
d22f67f061 Merge pull request 'Remove like button from SkNoteSub (fixes #77)' (#78) from 77-remove-like-button-from-threads into dev
Reviewed-on: https://codeberg.org/yeentown/barkey/pulls/78
2025-07-04 03:00:38 +02:00
zima
410de0f19c chore(notes): remove like button from subnotes 2025-07-03 17:32:15 -07:00
zima
6c3a873574 Merge pull request 'upstream-2025.4.3' (#74) from upstream-2025.4.3 into dev
Reviewed-on: https://codeberg.org/yeentown/barkey/pulls/74
2025-07-03 21:51:42 +02:00
dakkar
c927c30567 mark grouped notifs by oldest id - sort-of fix 1139
Misskey's code does the same, but our groups behave differently enough
that this may be not the best choice

for example, let's say we have:

- notifications 1-5 for reaction to note A
- notifications 6-8 for reaction to note B
- notifications 9-12 for reaction to note A
- notification 13-19 for non-groupable events
- notification 20 for reaction to note A

and that events happened one every minute (so the last notification is
from 20 minutes ago)

client requests the most recent 10 notifications; we fetch
notifications 1-10, and reply:

- grouped id 6 for reactions 6-8 to note B
- grouped id 10 for reactions 1-5, 9-10 to note A

then the client requests 10 more notifications, untilId=10; we fetch
notifications 11-20, and reply:

- non-grouped notifications 13-19
- grouped id 20 for reactions 11,12,20 to note A

because we sort by id, and also the `createdAt` marks the _newest_
event in each group, the client will then show:

  6 reactions to note B, 6 minutes ago
  4 reactions to note A, 1 minute ago
  notifications 13-19, 13 minutes to 19 minutes ago
  3 reactions to note A, 11 minutes ago

I don't know how to make this work better ☹
2025-07-03 14:16:20 +01:00
zima
91ad5649d3 chore(ci): wishful thinking, adding arm64 to buildx steps 2025-07-03 11:31:39 +02:00
zima
05d16efeef Merge pull request 'Enable Woodpecker CI integration' (#75) from woodpecker into dev
Reviewed-on: https://codeberg.org/yeentown/barkey/pulls/75
2025-07-03 11:12:29 +02:00
zima
fc33d289a0 chore(readme): lazy add ci badge 2025-07-02 23:08:14 -07:00
zima
59067a0e16 fix(ci): event trigger for dev 2025-07-02 23:06:31 -07:00
zima
8e9c880e29 chore(ci): enable automated dev image push, and add release image gen 2025-07-02 23:04:16 -07:00
zima
3e56bfa38d fix(ci): debugging ci; reducing to one platform target 2025-07-02 22:54:08 -07:00
zima
31c64f0b50 fix(ci): define registry maybe thatll work 2025-07-02 22:26:51 -07:00
zima
eba0aa9f2a fix(ci): reintroduce secrets (idk wtf im doin) 2025-07-02 22:25:26 -07:00
zima
691a925275 fix(ci): remove secrets from config (plugin not privileged) 2025-07-02 22:17:06 -07:00
zima
6ea0abbc19 chore(ci): add manual build and deploy step 2025-07-02 22:15:02 -07:00
zima
900bf8dd3c chore(ci): service name may need to match accessed hostname to work 2025-07-02 21:36:49 -07:00
zima
5075d8feec fix(ci): bad documentation!!! 2025-07-02 21:33:06 -07:00
zima
43a3b0e9bd feat(ci): update experimental workflow with proposed test flow 2025-07-02 21:31:31 -07:00
zima
74fb111dae chore(woodpecker): use manual trigger 2025-07-02 21:19:07 -07:00
zima
cf21ec6418 feat: add experimental workflow for woodpecker 2025-07-02 21:16:15 -07:00
zima
03d2ec78ae chore(crying): appeasing the linter 2025-07-02 14:15:27 -07:00
zima
0a90fc0941 chore(preferences): update default boost visibility selector setting 2025-07-02 14:07:35 -07:00
zima
bb89792f15 chore(preferences): fix font size option and restore barkey defaults 2025-07-02 13:54:06 -07:00
zima
12a49cdda5 Merge tag '2025.4.3' into upstream-2025.4.3 2025-07-02 13:02:51 -07:00
zima
34b4e6fabc fix(locales): correct punctuation in locale strings 2025-07-02 12:31:09 -07:00
dakkar
76c0b646b1 recalculate size&hash after web-optimising videos 2025-07-02 16:43:24 +01:00
zima
7e593ed96c Merge pull request 'Add boost menu to note context menu (closes #63)' (#66) from 63-context-menu-renote into dev
Reviewed-on: https://codeberg.org/yeentown/barkey/pulls/66
2025-07-02 03:20:27 +02:00
zima
7570a5ca3e Merge pull request 'Add sudo insults on failed login (closes #64)' (#67) from 64-offensive-login into dev
Reviewed-on: https://codeberg.org/yeentown/barkey/pulls/67
Reviewed-by: zima <zima@noreply.codeberg.org>
2025-07-02 03:12:04 +02:00
zima
407f97a47c chore(dev): separate dev env port from CI so that url is set correctly 2025-07-01 18:11:15 -07:00
Julia
a77c32b17d merge: prepare release 2025.4.3 (!1125)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1125

Approved-by: Marie <github@yuugi.dev>
Approved-by: Julia <julia@insertdomain.name>
2025-06-19 21:35:18 +00:00
dakkar
91361fcd03 Merge branch 'develop' into release/2025.4.3 2025-06-19 16:55:14 +01:00
dakkar
169c06d4ca merge: fix(backend): Send Abuse Reports To Set Maintainer E-Mail (!1127)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1127

Closes #1069

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-06-19 15:54:55 +00:00
dakkar
f16ab386f3 Merge branch 'develop' into release/2025.4.3 2025-06-19 16:21:45 +01:00
dakkar
15d98d508b merge: update package list for docker (!1130)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1130

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-06-19 13:08:41 +00:00
Marie
32575daf96 update package list for docker 2025-06-19 08:26:00 +00:00
dakkar
ed63f9a345 merge: Add librsvg and imagemagick to docker image (possibly resolves #1102) (!1128)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1128

Closes #1102

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-06-18 20:17:38 +00:00
Hazelnoot
306f3344d0 add librsvg and imagemagick to docker image 2025-06-18 15:53:11 -04:00
Hazelnoot
1fb20a3b0f merge: Fix boosts showing as quote (!1126)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1126

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-18 19:47:57 +00:00
Lilly Schramm
ab5c247f09 refactor(backend): Remove Useless Variable 2025-06-18 20:30:40 +02:00
Lilly Schramm
372e141bcf refactor(backend): Resolve Nested Conditionals 2025-06-18 20:25:32 +02:00
Lilly Schramm
789deeabac fix(backend): Send Abuse Reports To Set Maintainer E-Mail 2025-06-18 20:08:06 +02:00
Hazelnoot
969fdc037c don't publish null updated property 2025-06-18 12:54:22 -04:00
Hazelnoot
72a512a59d fix tests 2025-06-18 10:46:49 -04:00
Hazelnoot
54d99c9e8c fold renderUpNote into renderNote 2025-06-18 10:38:16 -04:00
Hazelnoot
82b90d02ae don't allow boosts to be fetched as a note over AP 2025-06-18 10:37:30 -04:00
Hazelnoot
1aeaee7f7c filter boosts out of pinned notes when federating 2025-06-18 10:37:11 -04:00
Hazelnoot
6a8bc6741e support boosts and edits in renderNoteOrRenoteActivity 2025-06-18 10:36:18 -04:00
Hazelnoot
b97e505709 fix usage of appearNote in frontend components 2025-06-18 10:35:38 -04:00
dakkar
c2c62df675 set version for release 2025.4.3 2025-06-16 14:57:15 +01:00
Hazelnoot
c35da729fc merge: Check privacy settings in charts/user/following (resolves #1107) (!1124)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1124

Closes #1107

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-14 19:49:26 +00:00
Hazelnoot
7a25ff3d65 check privacy settings in charts/user/following 2025-06-14 14:14:02 -04:00
Marie
db4f6d50a4 merge: group notifications regardless of when they happened - fix #633 (!1123)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1123

Closes #633

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-06-14 18:07:07 +00:00
dakkar
b0275f86fe annotate types 2025-06-14 18:38:18 +01:00
Hazelnoot
f6964f6e27 merge: Show signup reason in user admin screen (resolves #1090) (!1114)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1114

Closes #1090

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-14 17:30:17 +00:00
Hazelnoot
e80187b8f1 merge: Don't unfollow suspended users (!1122)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1122

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-14 17:28:19 +00:00
Marie
ec5ea3cf17 merge: fix some regressions due to recent merges (!1112)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1112

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-06-14 17:26:43 +00:00
Hazelnoot
93885530c8 merge: Don't convert empty HTML elements to MFM (resolves #982) (!1116)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1116

Closes #982

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-14 17:13:16 +00:00
Marie
c54d0ace90 merge: Auto-select the first page of reactions on the note "reactions" tab (resolves #448) (!1121)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1121

Closes #448

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-14 16:18:58 +00:00
Marie
f58badade8 merge: Hide admin secrets from the mod log (resolves #44) (!1120)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1120

Closes #44

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-14 16:16:58 +00:00
Marie
057d661544 merge: Fix broken CSS in instance-info (!1118)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1118

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-14 16:16:54 +00:00
Marie
b5198b4a66 merge: Fix "reply" indicator showing on a separate line in Misskey note styles (resolves #1100) (!1117)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1117

Closes #1100

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-14 16:16:53 +00:00
dakkar
96263dd93d merge: Set X-Robots-Tag to disable indexing API endpoints (resolves #756) (!1119)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1119

Closes #756

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-14 16:09:40 +00:00
dakkar
c882a4294d group notifications regardless of when they happened - fix #633 2025-06-14 17:02:00 +01:00
dakkar
9b9918cce9 remove unused variables 2025-06-14 13:47:54 +01:00
dakkar
a9a7e4b9d0 merge: Throw S3 errors to prevent silent failures (resolves #697) (!1115)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1115

Closes #697

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-06-14 09:54:50 +00:00
Hazelnoot
9fc63dc950 don't unfollow anyone when suspending a user 2025-06-14 01:06:56 -04:00
Hazelnoot
0a1e10e18b auto-select the first page of reactions on the note "reactions" pgae 2025-06-14 00:36:34 -04:00
Hazelnoot
6da1165e29 hide admin secrets from the mod log 2025-06-14 00:24:32 -04:00
Hazelnoot
a5f5de46da fix conversion of empty links to mfm URL 2025-06-13 23:23:35 -04:00
Hazelnoot
b44abe0eaa set X-Robots-Tag to disable indexing API endpoints 2025-06-13 23:18:06 -04:00
Hazelnoot
57fb95753e fix broken CSS in instance-info caused by leftover code 2025-06-13 22:31:17 -04:00
Hazelnoot
69cf9a011a copy changes to MkSubNoteContent and welcome.timeline.note 2025-06-13 22:13:31 -04:00
Hazelnoot
0b7cd5bb0f copy changes to MkNote and EmNoteDetailed 2025-06-13 22:11:03 -04:00
Hazelnoot
a9063409f2 remove "RN:" link from NoteDetailed for consistency with other Note components 2025-06-13 22:04:00 -04:00
Hazelnoot
03662f3466 place "reply" indicator on same line as note body 2025-06-13 22:03:20 -04:00
Hazelnoot
8d628aa50b avoid duplicating all the childNodes.length checks 2025-06-13 21:08:20 -04:00
Hazelnoot
b3548cde5b fix TS errors 2025-06-13 21:03:12 -04:00
Hazelnoot
a524a9cea8 skip empty elements in MfmService.fromHtml 2025-06-13 20:43:46 -04:00
Hazelnoot
8080422c82 throw S3 errors to prevent silent failures 2025-06-13 20:37:37 -04:00
Hazelnoot
aa40b8ca0d show signup reason in user admin screen 2025-06-13 20:01:06 -04:00
dakkar
01872419c3 fix UserEntityService packMany hints
* there's no need to pre-load follow requests for many users, since
  at most we'll pack them for only 1 user (the one requesting the
	data)

* similarly, it makes sense to preload security keys for many users
  if we're serving a moderator's request, but if not, we need at most 1
  user's keys (the requesting user's), and we can let `.pack()` fetch
  those

* we always need to preload relations when serving a detailed
  request, not only when the set of users to pack does not include the
  requesting user
2025-06-13 10:20:32 +01:00
dakkar
87f6895ca9 avoid pushing to timelines of remote users 2025-06-13 10:20:30 +01:00
dakkar
99bf315351 merge: Fix uncaught exception hooks and add more shutdown logging. (!1111)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1111

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-06-13 07:14:28 +00:00
Hazelnoot
4b11fd2523 merge: Consolidate duplicate HTML/XML parser libraries (!1083)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1083

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-06-13 07:13:19 +00:00
Marie
f341e2be5c merge: Make defederation rocket use theme colors. (!1109)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1109

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-06-13 04:38:15 +00:00
Hazelnoot
3ce5471414 add additional process exit loggers 2025-06-12 21:37:28 -04:00
Hazelnoot
0a56ce92ca use uncaughtExceptionMonitor instead uncaughtException 2025-06-12 21:36:46 -04:00
Hazelnoot
f8d4236a15 downgrade htmlparser2 to match cheerio 2025-06-12 21:18:52 -04:00
Hazelnoot
d59ebe9992 correct MFM import in new/modified components 2025-06-12 21:11:17 -04:00
Hazelnoot
31dafb046e regenerate lockfile to fix merge conflicts 2025-06-12 21:11:17 -04:00
Hazelnoot
67d859f0d8 fix indents in megalodon files 2025-06-12 21:11:17 -04:00
Hazelnoot
b8dd7f4a95 update to summaly 5.2.2 2025-06-12 21:11:17 -04:00
Hazelnoot
b0b707e907 regen pnpm-lock.yaml 2025-06-12 21:11:16 -04:00
Hazelnoot
3198f34d4b fix TS errors in megalodon 2025-06-12 21:11:16 -04:00
Hazelnoot
6b77c8b12b correctly separate production / development dependencies 2025-06-12 21:11:16 -04:00
Hazelnoot
5b6099deb0 pin katex version 2025-06-12 21:11:16 -04:00
Hazelnoot
ce248e48b3 use pnpm package alias for @transfem-org/summaly 2025-06-12 21:11:16 -04:00
Hazelnoot
7eca06d672 use pnpm package alias for @transfem-org/sfm-js 2025-06-12 21:11:16 -04:00
Hazelnoot
0a97672011 align megalodon tsconfig with the rest of the project 2025-06-12 21:11:16 -04:00
Hazelnoot
a348d7aa09 remove unused script from megalodon 2025-06-12 21:11:16 -04:00
Hazelnoot
1a964cb6c0 pcleanup dependencies:
* Consolidate multiple different HTML/XML/RSS libraries to use the Cheerio stack
* Remove unused deps
* Move dev dependencies to correct section
* Pin versions where missing
2025-06-12 21:11:16 -04:00
piuvas
3e9a2c36f1
make defederation rocket use theme colors. 2025-06-12 20:46:52 -03:00
Hazelnoot
20370e5e75 merge: Emit log messages with correct level (!1097)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1097

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-12 19:06:43 +00:00
Hazelnoot
ae7767cd73 merge: Implement basic support for fep-e232 and fep-044f quotes (resolves #1097 and #1098) (!1098)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1098

Closes #1097 and #1098

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-12 16:45:07 +00:00
Hazelnoot
55551a5a8a merge: Avoid more N+1 queries in NoteEntityService and UserEntityService (!1099)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1099

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-12 15:42:39 +00:00
Hazelnoot
791487c4df merge: Enforce DM visibility in generateVisibilityQuery (!1108)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1108

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-11 21:15:30 +00:00
Hazelnoot
8f5212e453 enforce DM visibility in notes/mentions 2025-06-10 20:07:01 -04:00
Hazelnoot
27c27529f6 enforce DM visibility in generateVisibilityQuery 2025-06-10 19:52:47 -04:00
Hazelnoot
8cf6f32869 merge: Fix admin-user / instance-info styling and broken controls (!1106)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1106

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-06-10 06:40:46 +00:00
Hazelnoot
a0692ab91f merge: Fix hard-muted notes leaving extra lines on the screen (!1107)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1107

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-06-09 19:39:29 +00:00
Hazelnoot
841288aced merge: Don't prepend "RE:" if the CW already has it (!1104)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1104

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-09 19:25:56 +00:00
Hazelnoot
23e723099a merge: Add missing comma to NoteEntityService.ts (!1105)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1105

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-09 19:25:29 +00:00
Hazelnoot
442062db8d fix hard-muted notes leaving extra lines on the screen 2025-06-09 13:31:25 -04:00
Hazelnoot
30679935ce fix admin-user not working inside the reports ui 2025-06-09 13:19:54 -04:00
Hazelnoot
cd92518b59 increase width of admin-user and instance-admin screens to prevent scrolling the tab bar 2025-06-09 13:03:39 -04:00
Hazelnoot
1fe91cdab7 fix _spacer CSS on FireFox 2025-06-09 13:03:15 -04:00
Hazelnoot
c200ed3666 fix relations in MastodonDataService.ts 2025-06-09 12:48:32 -04:00
Hazelnoot
646ffa7b62 fix missing @bindThis in CacheService 2025-06-09 11:45:20 -04:00
Hazelnoot
ed766e98e1 fix mixed-up userFollowingsCache / userFollowersCache 2025-06-09 11:37:51 -04:00
Hazelnoot
51572b7314 fix refactoring mistake in CacheService.ts 2025-06-09 11:26:21 -04:00
Hazelnoot
caa6dee656 add missing comma to NoteEntityService.ts 2025-06-09 11:11:11 -04:00
Hazelnoot
424e163c6f fix type errors with JsonLdService and remove unused factory pattern 2025-06-09 11:03:51 -04:00
Hazelnoot
d0ae76214c output log messages with correct level 2025-06-09 11:03:48 -04:00
Hazelnoot
cbb1ed3eed accept fep-e232 "tag" quotes in objects 2025-06-09 11:03:17 -04:00
Hazelnoot
aefd94c0b0 render fep-e232 "tag" quotes in notes 2025-06-09 11:03:02 -04:00
Hazelnoot
b2c72da96c pull out ILink interface 2025-06-09 11:03:02 -04:00
Hazelnoot
15baf78ad7 accept fep-044f "quote" in objects 2025-06-09 11:03:02 -04:00
Hazelnoot
5a99e74ee3 render fep-044f "quote" in notes 2025-06-09 11:03:02 -04:00
Hazelnoot
2aaed4764c add fep-044f "quote" to context and model 2025-06-09 11:03:02 -04:00
Hazelnoot
e7feca8784 document cache implementations 2025-06-09 11:02:53 -04:00
Hazelnoot
fa68751a19 normalize userFollowingsCache / userFollowersCache and add hibernatedUserCache to reduce the number of cache-clears and allow use of caching in many more places 2025-06-09 11:02:51 -04:00
Hazelnoot
372714c9b6 implement userFollowersCache 2025-06-09 11:02:36 -04:00
Hazelnoot
853b548a43 re-type userFollowingsCache to match the others 2025-06-09 11:02:36 -04:00
Hazelnoot
0c84d73294 move QuantumKVCache to a separate file 2025-06-09 11:02:36 -04:00
Hazelnoot
633b64e5c3 disable caches in unit tests 2025-06-09 11:02:36 -04:00
Hazelnoot
2e486f02ff implement no-op caches for testing 2025-06-09 11:02:36 -04:00
Hazelnoot
1d06ac4824 fix reversed isBlocking / isBlocked in UserEntityService.getRelation 2025-06-09 11:02:36 -04:00
Hazelnoot
20cc736457 fix single-user relation calculations 2025-06-09 11:02:36 -04:00
Hazelnoot
223cdc9ea9 fix note/user accumulation in NoteEntityService.packMany, improving performance and avoiding extra sub-packs and fetches 2025-06-09 11:02:36 -04:00
Hazelnoot
c9884a74fc populate userProfile in more places 2025-06-09 11:02:36 -04:00
Hazelnoot
bd8cd8c4e4 use more bulk hints in NoteEntityService / UserEntityService, and run the packMany queries in parallel 2025-06-09 11:02:36 -04:00
Hazelnoot
5e7d0e9acc fix typo in QueryService.generateBlockQueryForUsers 2025-06-09 11:02:36 -04:00
Hazelnoot
68b84b28dd implement CacheService.getUsers and CacheService.getUserProfiles 2025-06-09 11:02:36 -04:00
Hazelnoot
3d13860ec8 update quantum caches when a user is deleted 2025-06-09 11:02:36 -04:00
Hazelnoot
9853a4f3bd use addMany instead of setMany when populating quantum caches from DB 2025-06-09 11:02:36 -04:00
Hazelnoot
b7624666d6 implement QuantumKVCache.add and QuantumKVCache.addMany 2025-06-09 11:02:36 -04:00
Hazelnoot
bf1156426e add CacheService.getUserFollowings and CacheService.getUserBlockers 2025-06-09 11:02:36 -04:00
Hazelnoot
207abaff88 implement QuantumKVCache.setMany and QuantumKVCache.seleteMany 2025-06-09 11:02:36 -04:00
Hazelnoot
46a6612dc0 convert many RedisKVCaches to QuantumKVCache or MemoryKVCache 2025-06-09 11:02:36 -04:00
Hazelnoot
1f2742ddd7 add ignoreRemote filter to InternalEventService 2025-06-09 11:02:36 -04:00
Hazelnoot
f446d77cb5 implement QuantumKVCache 2025-06-09 11:02:36 -04:00
Hazelnoot
aa7cadbb6c implement InternalEventService 2025-06-09 11:02:36 -04:00
Hazelnoot
448c5413a3 don't prepend "RE:" is the CW already has it 2025-06-09 11:00:29 -04:00
Hazelnoot
00c0bdbc94 merge: Reduce log spam (!1004)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1004

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-09 10:53:59 +00:00
Hazelnoot
df55ec2200 merge: Fix inverted condition in resolveLocal (!1103)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1103

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-09 10:51:38 +00:00
Hazelnoot
141a92cf0c fix inverted condition in resolveLocal 2025-06-08 19:57:01 -04:00
Hazelnoot
cb8ae13685 merge: Fix regressions and missing parts of recent work (!1102)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1102

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-08 17:42:29 +00:00
Hazelnoot
3d804c560d use SKUrlPreviewGroup in more places 2025-06-07 20:54:21 -04:00
Hazelnoot
e3668be8f4 fix race conditions and bugs in pref-migrate.ts 2025-06-07 20:25:18 -04:00
Hazelnoot
4085c8a4f1 integrate localStorage options into preference system 2025-06-07 20:24:44 -04:00
Hazelnoot
16858cf2f7 fix response type of i/registry/get endpoint 2025-06-07 20:22:40 -04:00
Hazelnoot
735cd12654 fix array length check in i/update attributionDomains parameter 2025-06-07 18:59:02 -04:00
Hazelnoot
36b85d62c2 check that detected AP object is actually a note before recording it in UrlPreviewService 2025-06-07 18:50:28 -04:00
Hazelnoot
73eeabc118 add ActivityPub representation to admin-user.vue 2025-06-07 18:49:37 -04:00
Marie
3f8dcbf4bb merge: Update file th-TH.yml (!1101)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1101

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-06-07 18:49:25 +00:00
Ahri Enby
f4f893dacf Update file th-TH.yml 2025-06-07 15:14:18 +01:00
Hazelnoot
c71f816be2 fix TS errors about user, info, and init 2025-06-07 00:39:30 -04:00
Hazelnoot
c21209152c add missing awaits in admin-user.vue 2025-06-07 00:31:13 -04:00
Hazelnoot
f3b3609950 harden Resolver.parseLocal against local URls to remote content 2025-06-06 23:36:16 -04:00
Hazelnoot
4b751bf28a fix admin-user AP fetch 2025-06-06 23:35:48 -04:00
Hazelnoot
d0cf1cc15f remove IDX_instance_host_filters as it slowed down queries more than it helped 2025-06-06 23:35:25 -04:00
Hazelnoot
b1307a050c fix merge error 2025-06-06 22:20:17 -04:00
Hazelnoot
d3d201d0cf reduce log spam from ApiCallService 2025-06-06 22:20:17 -04:00
Hazelnoot
22653efdc4 reduce log spam from QueueProcessorService 2025-06-06 22:20:17 -04:00
Hazelnoot
3e9ca84347 record user ID in API error logger, matching sentry 2025-06-06 22:20:17 -04:00
Hazelnoot
d23d7f1e0b don't record potentially sensitive data in API logs 2025-06-06 22:20:17 -04:00
Hazelnoot
2cba0ada3c more use of identifiable errors, improvements to inner error rendering, and more heuristics for is-retryable-error 2025-06-06 22:20:17 -04:00
Hazelnoot
c8797451e3 render error cause in render-inline-error.ts 2025-06-06 22:20:17 -04:00
Hazelnoot
4540614f7b add more details to IdentifiableErrors 2025-06-06 22:20:17 -04:00
Hazelnoot
687de6f2f0 don't print massive HTTP errors in drive service 2025-06-06 22:20:17 -04:00
Hazelnoot
6627e8a9b8 add more details to StatusErrors 2025-06-06 22:20:17 -04:00
Hazelnoot
e9eaafae41 normalize use of .info (INFO) instead of .succ (DONE) logging 2025-06-06 22:20:17 -04:00
Hazelnoot
8e30744bb9 reduce log spam from import/export processes 2025-06-06 22:20:17 -04:00
Hazelnoot
12acad0654 reduce log spam from AggregateRetentionProcessorService 2025-06-06 22:20:17 -04:00
Hazelnoot
7acd37fda0 reduce log spam from CheckModeratorsActivityProcessorService 2025-06-06 22:20:16 -04:00
Hazelnoot
6d6e1dc0c0 reduce log spam from DownloadService 2025-06-06 22:20:16 -04:00
Hazelnoot
2854e15301 reduce log spam from DriveService 2025-06-06 22:20:16 -04:00
Hazelnoot
53fbe87ff2 reduce log spam from ApDbResolverService.refetchPublicKeyForApId 2025-06-06 22:20:16 -04:00
Hazelnoot
2863f343f8 reduce log spam from FileInfoService 2025-06-06 22:20:16 -04:00
Hazelnoot
14440c7041 reduce log spam from SkNoteTranslation 2025-06-06 22:20:16 -04:00
Hazelnoot
a3c56529fa remove debug logger printing entire AP object to console 2025-06-06 22:20:16 -04:00
Hazelnoot
87dc73d700 reduce frontend log spam from debug messages 2025-06-06 22:20:16 -04:00
Hazelnoot
f42f9ee0b5 reduce log spam from FetchInstanceMetadataService.ts 2025-06-06 22:20:16 -04:00
Hazelnoot
bcd9f1247e minimize logs from node-fetch FetchErrors 2025-06-06 22:20:16 -04:00
Hazelnoot
75b85eb165 record details of recursive proxy rejections 2025-06-06 22:20:16 -04:00
Hazelnoot
a78ca52bf6 log source URL when failing resolution for a response with missing AP ID 2025-06-06 22:20:16 -04:00
Hazelnoot
291faeb00f clarify logs and reduce spam from RemoteUserResolveService.ts 2025-06-06 22:20:16 -04:00
Hazelnoot
fac3e8df5b avoid "unhandled rejection" errors from updatePerson 2025-06-06 22:20:16 -04:00
Hazelnoot
72e95b66a2 suppress large error messages from Got 2025-06-06 22:20:16 -04:00
Hazelnoot
ce08bd1b42 reduce, clarify, and normalize more error messages 2025-06-06 22:20:16 -04:00
Hazelnoot
b2c5029c3e render condensed errors when fetching following/followers/featured/outbox/emojis/banner/header/avatar 2025-06-06 22:20:12 -04:00
Hazelnoot
fd41332a85 do not retry SyntaxErrors 2025-06-06 22:19:50 -04:00
Hazelnoot
7a2abb1bf5 fix lint errors in ApPersonService.ts 2025-06-06 22:19:50 -04:00
Hazelnoot
61d0aeba2e add renderInlineError to serialize errors in a consistent way 2025-06-06 22:19:50 -04:00
Hazelnoot
3808502f86 improve retryable error detection in ApPersonService.ts 2025-06-06 22:19:49 -04:00
Hazelnoot
41dfe7e329 remove duplicate error checking blocks from ApInboxService.ts 2025-06-06 22:19:49 -04:00
Hazelnoot
f2033ecdc6 recognize FetchError as retryable 2025-06-06 22:19:49 -04:00
Hazelnoot
a10885ae95 recognize more retryable errors when resolving actor for signature verification 2025-06-06 22:19:49 -04:00
Hazelnoot
1c48d3eef9 ensure that permanent errors always terminate the inbox job 2025-06-06 22:19:49 -04:00
Hazelnoot
d53ff4097a improve "condensed line" error logging in QueueProcessorService.ts 2025-06-06 22:19:49 -04:00
Hazelnoot
82b7768ab2 fix error logs and response in drive/files/create.ts 2025-06-06 22:19:49 -04:00
Hazelnoot
f644972760 emit IdentifiableErrors from validator.ts 2025-06-06 22:19:49 -04:00
Marie
24b0d7a376 merge: Fix performance regression in URL previews (resoles #1091) (!1096)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1096

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-06 20:09:28 +00:00
Hazelnoot
3bf0a737c8 match attributionDomains entity to database schema 2025-06-06 13:17:20 -04:00
Hazelnoot
5f51f7878e create IDX_note_url over note.url 2025-06-06 13:03:25 -04:00
Hazelnoot
20a2505543 merge: Additional performance fixes (!1095)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1095

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-06 06:36:07 +00:00
Hazelnoot
c6874c4983 merge: Allow note footer bar to shrink responsively and scroll on overflow (resolves #1057) (!1094)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1094

Closes #1057

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-05 11:55:18 +00:00
Hazelnoot
f88253b95f merge: Report admin UX improvements (!1060)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1060

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-06-05 08:00:32 +00:00
Hazelnoot
05d7aa0b91 additional fixes and cleanup to all note endpoints 2025-06-05 02:34:57 -04:00
Hazelnoot
65983d0030 fix performance regression in mentions endpoint 2025-06-05 00:35:38 -04:00
Hazelnoot
232894cd86 fix performance regression in home timeline 2025-06-05 00:35:22 -04:00
Hazelnoot
c76a5467f6 use index when checking visibleUserIds and mentions in generateVisibilityQuery 2025-06-05 00:30:58 -04:00
Hazelnoot
9dc74f6f33 add threadId to IDX_note_for_timelines 2025-06-05 00:30:27 -04:00
Hazelnoot
25174e837a allow note toolbar to scroll
https://developer.mozilla.org/en-US/docs/Web/CSS/overflow#accessibility
2025-06-04 19:09:03 -04:00
Hazelnoot
4d024d1165 use responsive gaps between note toolbar items 2025-06-04 19:07:57 -04:00
Hazelnoot
dc35731589 merge: Add option to keep CWs with "RE:" prefix (!1093)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1093

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-04 19:48:00 +00:00
Hazelnoot
5561dc2778 merge: Fix performance regression in notes/mentions endpoint (!1092)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1092

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-04 19:47:47 +00:00
Hazelnoot
2c449ce85c clarify option wording 2025-06-04 14:21:47 -04:00
Hazelnoot
3bf1cb1545 add option to keep CWs with "RE:" prefix 2025-06-04 14:20:06 -04:00
Hazelnoot
bae4c07bb3 support link attributions in SkUrlPreviewGroup 2025-06-04 11:15:42 -04:00
Hazelnoot
b811a8f0ab use correct code style for dynamic classes in PageWithHeader.vue 2025-06-04 10:48:25 -04:00
Hazelnoot
d86530a069 remove unused fields from WebhookTestService.ts 2025-06-04 10:48:24 -04:00
Hazelnoot
876ec968bd consider duplicate previews where one URL can't be resolved, but another URL resolves to a local copy of the same note 2025-06-04 10:48:24 -04:00
Hazelnoot
2536768133 check for note in initial de-duplication pass 2025-06-04 10:48:24 -04:00
Hazelnoot
919b97131b factor out getNoteUrls function 2025-06-04 10:48:24 -04:00
Hazelnoot
7a10d9b43f add withHint to instance-info.vue 2025-06-04 10:48:24 -04:00
Hazelnoot
5389e5e301 reduce empty space around report user / instance 2025-06-04 10:48:24 -04:00
Hazelnoot
1bd6f15868 add "spacer" option to PageWithHeader 2025-06-04 10:48:24 -04:00
Hazelnoot
6a75dd1a63 remove vertical size limit on report sections 2025-06-04 10:48:24 -04:00
Hazelnoot
69ed5611cf re-implement preview groups as SkUrlPreviewGroup 2025-06-04 10:48:21 -04:00
Hazelnoot
a91c0de9b5 cache alternate URLs in UrlPreviewService 2025-06-04 10:47:19 -04:00
Hazelnoot
865b198ab3 redirect to exclude hash from preview URL 2025-06-04 10:47:19 -04:00
Hazelnoot
f601cff5c5 check input URL scheme before continuing 2025-06-04 10:47:19 -04:00
Hazelnoot
f4107b1c2b check if previews are disabled before anything else 2025-06-04 10:47:19 -04:00
Hazelnoot
b1876bf06e remove report -> profile relations to avoid TypeORM bug https://github.com/typeorm/typeorm/issues/10469 2025-06-04 10:47:19 -04:00
Hazelnoot
16891f8224 fix relation typo in abuse-user-reports 2025-06-04 10:47:19 -04:00
Hazelnoot
067c5d4500 pass index through SkDateSeparatedList.vue 2025-06-04 10:47:19 -04:00
Hazelnoot
838ac6daa9 fix unit tests 2025-06-04 10:47:19 -04:00
Hazelnoot
ee3cd216f7 fix TS errors in ReversiService 2025-06-04 10:47:19 -04:00
Hazelnoot
f17e464188 fix WebhookTestService again 2025-06-04 10:47:15 -04:00
Hazelnoot
82ec78ef73 improvements to MkAbuseReport:
* Improved styling for user/instance IDs
* Show target instance as a section
* Load reports and sections faster
* Rename "moderation note" to "staff notes" for clarity
* Preview reported notes directly
2025-06-04 10:47:06 -04:00
Hazelnoot
ffa0f06ea0 allow callers to pass in hint objects to admin-user and instance-info 2025-06-04 10:46:50 -04:00
Hazelnoot
645e27fc9e add date separation to report UI 2025-06-04 10:46:50 -04:00
Hazelnoot
4da3f29728 implement SkDateSeparatedList 2025-06-04 10:46:50 -04:00
Hazelnoot
c18edd106b implement de-duplication for MkUrlPreview 2025-06-04 10:46:48 -04:00
Hazelnoot
b05ccbc3ac add relations from abuse_user_report->user_profile to speed up admin/abuse-user-reports endpoint 2025-06-04 10:45:21 -04:00
Hazelnoot
23302fe7d8 add relation from user->user_profile to speed up UserEntityService.pack and packMany 2025-06-04 10:45:18 -04:00
Hazelnoot
71f60d519b add targetInstance to abuse report schema 2025-06-04 10:45:05 -04:00
Hazelnoot
cfbf2c9c8e pack users with "me" context in AbuseUserReportEntityService 2025-06-04 10:45:05 -04:00
Hazelnoot
36d7126992 implement InstanceEntityService.fetchInstancesByHost 2025-06-04 10:45:05 -04:00
Hazelnoot
6fe335f843 fix performance drop in notes/mentions endpoint 2025-06-04 10:40:07 -04:00
Hazelnoot
dae544b353 merge: Rework queries and add indexes to improve timeline performance (!1091)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1091

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-04 12:40:13 +00:00
Hazelnoot
52c9a94614 merge: Fix error caused by activity type confusion (!1090)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1090

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-04 12:38:20 +00:00
dakkar
e9a038b244 merge: Link attributions (!1048)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1048

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-06-04 12:35:20 +00:00
dakkar
1ba4ca95af merge: Add delay and retry to Page's embedded note loading (!1072)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1072

Closes #853

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-06-04 08:04:26 +00:00
Outvi V
909239bbe5 chore: add per comments 2025-06-04 09:23:15 +08:00
Hazelnoot
97f8e054ce restore join to note.channel in channel/timeline.ts 2025-06-03 20:20:57 -04:00
piuvas
f0a3b595ff
remove unused import. 2025-06-03 20:54:22 -03:00
Hazelnoot
e138495371 verify type of activity.actor before processing activity 2025-06-03 19:43:04 -04:00
Hazelnoot
d203e086f1 harden getApId and getNullableApId against type confusion 2025-06-03 19:42:43 -04:00
Hazelnoot
fb61668866 create note/instance statistics 2025-06-03 19:15:19 -04:00
Hazelnoot
d34c4df031 create IDX_instance_host_filters 2025-06-03 19:08:20 -04:00
Hazelnoot
99e3d45062 create IDX_note_for_timelines 2025-06-03 19:05:24 -04:00
Hazelnoot
8802fbb34d fix query plans with IDX_instance_host_key 2025-06-03 18:47:02 -04:00
Hazelnoot
9d45041bd8 replace index on note.userHost 2025-06-03 18:43:42 -04:00
Hazelnoot
5236d30ec5 copy changes to list channel 2025-06-03 18:00:06 -04:00
Hazelnoot
5bd49d4aab fix user-list channel auth 2025-06-03 17:59:46 -04:00
Hazelnoot
00a9233229 copy changes to role channel 2025-06-03 17:59:25 -04:00
Hazelnoot
2e5792f213 copy changes to bubble channel 2025-06-03 17:58:57 -04:00
Hazelnoot
0866e87ce6 fix null check in local/global/list channels 2025-06-03 17:48:49 -04:00
Hazelnoot
5035287571 copy changes to global channel 2025-06-03 17:46:49 -04:00
Hazelnoot
4484396660 copy changes to hybrid channel 2025-06-03 17:43:18 -04:00
Hazelnoot
a9d4112bef copy changes to local channel 2025-06-03 17:40:21 -04:00
Hazelnoot
0751600c43 remove duplicate checks from home channel 2025-06-03 17:40:14 -04:00
Hazelnoot
ebee663410 copy changes to main channel 2025-06-03 17:33:12 -04:00
Hazelnoot
324217d102 handle silenced notes in Channel.isNoteMutedOrBlocked 2025-06-03 17:32:42 -04:00
Hazelnoot
333b117a2b fix antenna channel 2025-06-03 17:21:11 -04:00
Hazelnoot
6c58171c41 copy changes to home channel 2025-06-03 17:12:16 -04:00
Hazelnoot
472c7b7f34 add instance.isSilenced to PackedUserLite 2025-06-03 17:11:51 -04:00
Hazelnoot
96d186589a add Channel.isNoteVisibleToMe utility function 2025-06-03 17:11:28 -04:00
Hazelnoot
eebdc2957d copy changes to antenna channel 2025-06-03 17:05:28 -04:00
Hazelnoot
8f466e8ac5 copy changes to notes/following.ts 2025-06-03 15:56:20 -04:00
Hazelnoot
b6b44758d1 copy changes to roles/notes.ts 2025-06-03 15:52:31 -04:00
Hazelnoot
6b8766616c copy changes to channels/timeline.ts 2025-06-03 15:50:19 -04:00
Hazelnoot
285a4748c3 copy changes to user-list-timeline.ts 2025-06-03 15:47:55 -04:00
Hazelnoot
6896bcea9d copy changes to mentions.ts 2025-06-03 15:44:50 -04:00
Hazelnoot
023924fe9a copy changes to antennas/notes.ts 2025-06-03 15:36:56 -04:00
Hazelnoot
66572d16a8 copy changes to timeline.ts 2025-06-03 15:32:27 -04:00
Hazelnoot
ef3b5541f8 copy changes to hybrid-timeline.ts 2025-06-03 15:29:42 -04:00
Hazelnoot
c3ba139655 copy changes to local-timeline.ts 2025-06-03 15:21:42 -04:00
Hazelnoot
4b58752a16 copy changes to global-timeline.ts 2025-06-03 15:17:55 -04:00
Hazelnoot
a7069c51b2 sync up bubble timeline endpoint and stream 2025-06-03 15:16:25 -04:00
Hazelnoot
d2c2a82b76 avoid unnecessary set construction in channel.ts 2025-06-03 15:15:28 -04:00
Hazelnoot
38d4ac91ef fix bubble timeline query performance 2025-06-03 15:15:04 -04:00
Hazelnoot
a392865203 replace renotes check with generateExcludedRenotesQueryForNotes in bubble-timeline.ts 2025-06-03 15:14:37 -04:00
Hazelnoot
2258e439af replace silenced users check with generateSilencedUserQueryForNotes in bubble-timeline.ts 2025-06-03 15:14:22 -04:00
Hazelnoot
15ebb0ef85 more QueryService fixes 2025-06-03 15:12:59 -04:00
piuvas
d8ac2e347d
improve type validation of attributionDomains. 2025-06-03 12:45:42 -03:00
piuvas
fe91db1219
validate type of attributionDomains. 2025-06-03 12:24:42 -03:00
piuvas
1120ad19ae
merge develop and fix conflicts. 2025-06-03 10:56:10 -03:00
Hazelnoot
7ab5ce1537 replace generateBlockedHostQueryForNote allowSilenced parameter with generateSilencedUserQueryForNotes 2025-06-02 23:48:12 -04:00
Hazelnoot
0b9c0a6bc7 fix andWhere/orWhere in QueryService.ts 2025-06-02 22:51:10 -04:00
piuvas
77f0ba0ddf
check for whitespace in instance mutes. 2025-06-02 22:50:18 -03:00
piuvas
c6e702c070
check for whitespace in attribution domains. 2025-06-02 22:50:09 -03:00
Hazelnoot
51d9b1c8c5 fetch followings asynchronously in bubble-timeline.ts 2025-06-02 17:34:35 -04:00
Hazelnoot
7f0a705612 use generateMatchingHostQuery in bubble-timeline.ts 2025-06-02 17:34:07 -04:00
Hazelnoot
c49341e7be match if(me) formatting of other endpoints in bubble-timeline.ts 2025-06-02 17:32:26 -04:00
Hazelnoot
005b23947e reduce calls to generateMutedUserRenotesQueryForNotes in bubble-timeline.ts 2025-06-02 17:32:06 -04:00
Hazelnoot
0ccbb8f3cf fix hasPoll check in bubble-timeline.ts 2025-06-02 17:31:09 -04:00
Hazelnoot
d4ea917869 remove incorrect requireSigninToViewContents check in bubble-timeline.ts 2025-06-02 17:30:34 -04:00
Hazelnoot
022c49f45f fix query slowdown caused by unnecessary userHost IS NOT NULL condition in bubble-timeline.ts 2025-06-02 17:28:48 -04:00
Hazelnoot
0a59276457 remove unnecessary call to generateVisibilityQuery in bubble-timeline.ts 2025-06-02 17:28:10 -04:00
Hazelnoot
9ebb254ce5 avoid unnecessary nextTick callbacks in bubble-timeline.ts 2025-06-02 17:27:33 -04:00
Hazelnoot
0e16a56086 remove unused DI from bubble-timeline.ts 2025-06-02 17:26:58 -04:00
Hazelnoot
0783999974 add copyright header to bubble-timeline.ts 2025-06-02 17:22:41 -04:00
Hazelnoot
cbefbd2a33 refactor QueryService to use EXISTS instead of IN for most queries 2025-06-02 16:58:54 -04:00
Hazelnoot
825f219368 improve query/parameter logging 2025-06-02 15:25:53 -04:00
Marie
a7ba809df4 merge: allow fragments in AP ID URLs - fixes polls (!1076)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1076

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-06-02 18:49:23 +00:00
Outvi V
66e9e25dda chore: lint 2025-06-03 00:41:17 +08:00
Outvi V
fd22f5770d feat(page-editor.el.note): also add delayed load 2025-06-03 00:33:41 +08:00
Outvi V
b83123003e feat(page-editor.el.note): make it retry on throttle 2025-06-03 00:27:53 +08:00
Hazelnoot
7bb4f9c9cc merge: Sync local storage to properties to preference profile (resolves #1075) (!1081)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1081

Closes #1075

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-02 15:44:00 +00:00
Hazelnoot
d6156c5913 merge: Reduce overhead and DB error spam when a user changes their reaction (!1082)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1082

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-02 15:41:00 +00:00
Outvi V
fc47460ae2 chore: simplify the call 2025-06-02 09:23:15 +08:00
Hazelnoot
3907355a48 replace upsert with insert+fetch and delete+insert 2025-06-01 19:56:42 -04:00
Hazelnoot
826d6ef2b4 merge: Increase indent in logs (!1064)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1064

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-06-01 21:01:37 +00:00
Hazelnoot
39fcdcae25 merge: Allow unauthenticated (logged-out) users to translate notes (!1055)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1055

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-01 20:52:19 +00:00
Hazelnoot
89a32041aa merge: Overhaul trending polls (!1022)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1022

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-01 20:52:12 +00:00
Hazelnoot
a5d49c8bbf merge: Use secureResolve for Actor collections (resolves #1087) (!1087)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1087

Closes #1087

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-01 20:39:40 +00:00
Hazelnoot
f06ca9f7ee merge: Fix bubble timeline logic (!1088)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1088

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-01 19:35:25 +00:00
Hazelnoot
cea594053f merge: Fix logic error in generateBlockedHostQueryForNote (!1085)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1085

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-01 19:35:20 +00:00
Hazelnoot
a50a11fb4c remove duplicate isBlocked check from generateBlockedHostQueryForNote 2025-06-01 15:25:54 -04:00
Hazelnoot
b956f1edd4 merge: Fix logic error in bubble timeline when withRenotes is false (!1086)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1086

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-01 19:23:10 +00:00
Hazelnoot
7f976c443b use secureResolve for Actor collections 2025-06-01 15:13:13 -04:00
Hazelnoot
bce38c295f sync up logic between notes/bubble-timeline.ts and channels/bubble-timeline.ts 2025-06-01 15:02:57 -04:00
Hazelnoot
b7abc5b3b4 fix withRenotes check in generateMutedUserRenotesQueryForNotes 2025-06-01 14:42:44 -04:00
Hazelnoot
baf785bdc1 fix withRenotes check in bubble-timeline.ts 2025-06-01 14:42:44 -04:00
Hazelnoot
008df49d49 merge: Fix bad merge in UtilityService.ts (!1084)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1084

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-01 18:40:11 +00:00
Hazelnoot
ac8fad2422 fix logic error in generateBlockedHostQueryForNote that would allow blocked instances if allowSilenced was set to false 2025-06-01 14:34:58 -04:00
Hazelnoot
15c45633e5 fix bad merge in UtilityService.ts 2025-06-01 14:19:39 -04:00
Hazelnoot
8894578b2a merge: Instance admin UX improvements (!1059)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1059

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-01 17:59:16 +00:00
Hazelnoot
561d44cd23 fix lint error in admin-user.vue 2025-06-01 13:45:02 -04:00
Hazelnoot
37be5b1e37 merge: Increase default "max file size" role policy (resolves #1083) (!1078)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1078

Closes #1083

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-06-01 17:37:38 +00:00
Marie
4d8efa9be4 add spdx header 2025-06-01 17:35:53 +00:00
Hazelnoot
4c99406aa2 merge: Resolve AP collection items (prerequisite for future work) (!1067)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1067

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-01 17:34:24 +00:00
Hazelnoot
2db4da48ed reduce default maxFileSize to 25MB 2025-06-01 13:29:26 -04:00
Hazelnoot
e1504cfb88 merge: Persisted instance blocks (!1068)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1068

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-01 17:25:52 +00:00
Marie
1022ee32c8 merge: fix DeepLX (!1077)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1077

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-06-01 17:25:30 +00:00
Hazelnoot
09e939fe40 merge: Add "unixtime" to the MFM cheatsheet (resolves #1086) (!1080)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1080

Closes #1086

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-01 17:24:26 +00:00
Hazelnoot
84b7f58f70 merge: Fixes to discord preview rendering (!1075)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1075

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-01 17:20:02 +00:00
Hazelnoot
cf341d7ce7 merge: Fix spacing between notes and ads in the timeline (resolves #1084) (!1079)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1079

Closes #1084

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-06-01 17:19:07 +00:00
Hazelnoot
c6aaf721cd use yes/no buttons for reloadAsk 2025-06-01 13:16:13 -04:00
Hazelnoot
3d3846ec85 synchronize localStorage properties to preference profile 2025-06-01 13:16:12 -04:00
Hazelnoot
f5195008a5 add "unixtime" to the MFM cheatsheet 2025-06-01 12:09:49 -04:00
Hazelnoot
e6baf8d02f fix spacing between notes and ads in the timeline 2025-06-01 11:58:48 -04:00
Hazelnoot
8cfa19ce33 increase default "max file size" role policy to 100MB, matching "drive capacity" which was the original limit. 2025-06-01 11:39:37 -04:00
dakkar
b13781632f fix DeepLX
`??` binds tighter than `? :`, so that expression was parsed as:

```ts
( deeplFreeInstance ?? this.serverSettings.deeplIsPro )
   ? 'https://api.deepl.com/v2/translate'
	 : 'https://api-free.deepl.com/v2/translate'
```

which ended up calling the non-free DeepL instead of the local DeepLX
2025-06-01 14:44:49 +01:00
dakkar
034bfc02bd allow fragments in AP ID URLs - fixes polls
our own `renderVote` generates IDs like
`${this.config.url}/users/${user.id}#votes/${vote.id}/activity`

also `renderUpdate` generates
`${this.config.url}/users/${user.id}#updates/${new Date().getTime()}`

so we can't reject IDs with fragments
2025-06-01 14:06:04 +01:00
Outvi V
d0641eaf20 chore: lint 2025-06-01 13:30:24 +08:00
Outvi V
3f77cca7af chore: lint 2025-06-01 13:20:19 +08:00
Outvi V
e8f2180279 fix: simplify the code 2025-06-01 13:07:57 +08:00
Hazelnoot
89586bf790 correctly render reblogs and quotes-with-CW for discord previews 2025-06-01 00:26:21 -04:00
Hazelnoot
a5857d2724 allow passing user/note into convertStatus for performance 2025-06-01 00:25:53 -04:00
Hazelnoot
efd378f963 return typed relations from MastodonDataService note fetchers 2025-06-01 00:25:39 -04:00
Outvi V
3889457d50 chore: lint 2025-06-01 06:55:31 +08:00
Hazelnoot
c1af8dfb7f merge: Factor out TransitionGroup dynamic switching into a dedicated component (!1053)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1053

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-31 22:46:12 +00:00
Outvi V
de7f7984cd chore: move retryOnThrottled to frontend-shared 2025-06-01 06:30:28 +08:00
Marie
7ab4d375ed merge: Restore instance banner (!1073)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1073

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-31 19:41:28 +00:00
Marie
6fcc6ba17c fix indenting 2025-05-31 19:35:02 +00:00
Hazelnoot
c41a4a6860 merge: Add configuration option for the "query is slow" warning (!1061)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1061

Approved-by: Marie <github@yuugi.dev>
Approved-by: Julia <julia@insertdomain.name>
2025-05-31 16:48:30 +00:00
Marie
b9ada1eea7 merge: Add back in missing tossface option (!1074)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1074

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Julia <julia@insertdomain.name>
2025-05-31 16:27:47 +00:00
Marie
0c49f9daf1 Add back in tossface 2025-05-31 14:50:53 +00:00
Outvi V
e36ea27517 fix(page.note): throw (not return) on all attempts throttled 2025-05-31 22:50:21 +08:00
piuvas
44f9be3efb
fix indentation. 2025-05-31 09:46:43 -03:00
piuvas
dcb62a3fcc
Update navbar.vue 2025-05-30 23:18:37 -03:00
Outvi V
5e6c6fccc4 chore: lint 2025-05-31 10:09:46 +08:00
Outvi V
85bc401e47 feat(page.note): add delay and retry to embedded note loading 2025-05-31 09:59:29 +08:00
piuvas
b0b2a321f8
improve instanceMute setting. 2025-05-30 20:06:47 -03:00
piuvas
dc53a1edf0
generate types. 2025-05-30 20:06:24 -03:00
piuvas
a5e7a6b68b
improve attributionDomain settings. 2025-05-30 20:06:16 -03:00
dakkar
993bd03134 merge: Block remote interactions with local-only posts (resolves #972) (!1070)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1070

Closes #972

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-30 20:45:55 +00:00
Hazelnoot
693cdde327 upsert reactions to avoid error+retry overhead 2025-05-30 15:37:27 -04:00
dakkar
bba8e9fc79 merge: Add web optimization for video files during processing (!1054)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1054

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-05-30 19:24:05 +00:00
Hazelnoot
dbc82c1efe catch errors from fetchInstance() to resolve test errors 2025-05-30 15:03:19 -04:00
Hazelnoot
f6b71d28a0 revert changes to MkImgWithBlurhash to fix CSS issue 2025-05-30 14:55:59 -04:00
PrivateGER
f0207211d9
Import fs module with new syntax 2025-05-30 20:41:51 +02:00
Hazelnoot
9c4e3934d1 exclude local notes from bubble timeline 2025-05-30 14:39:37 -04:00
Marie
9637e1b82b merge: apply more styles to our icons - fixes #1081 (!1069)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1069

Closes #1081

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-05-30 17:55:25 +00:00
Hazelnoot
b0a5efb357 block remote interactions with local-only posts 2025-05-30 13:10:46 -04:00
Hazelnoot
5818a89ba0 fix circular reference between i.ts, instance.ts, and misskeyApi.ts 2025-05-30 13:04:38 -04:00
dakkar
5c680d65c7 replace more icons
in a few places icon classes are constructed from string constants,
and those not always include the `ti` prefix

also updated the `grep` in `CONTRIBUTING.md` to catch those kind of
constants.
2025-05-30 17:44:35 +01:00
dakkar
0c768524d2 apply more styles to our icons - fixes #1081
the way we replace icons, the `ti` class gets removed, so those styles
were not applied; we always add a `ph-lg` class, so we select on that
one

I've left the `ti` selectors to hopefully make future merge conflicts
clearer
2025-05-30 17:43:15 +01:00
Hazelnoot
c13beacb3a change default value of canUseTranslator to false 2025-05-30 12:35:31 -04:00
Hazelnoot
50ba3c0f46 fix missing ".value" in SkNoteDetailed.vue 2025-05-30 12:35:31 -04:00
Hazelnoot
50a64f97df allow unauthenticated (logged-out) users to translate notes 2025-05-30 12:35:31 -04:00
Hazelnoot
b219ca29c5 comment new property 2025-05-30 12:29:07 -04:00
Hazelnoot
4637d4eb3f clarify query truncation message 2025-05-30 12:28:01 -04:00
Hazelnoot
dd1969c800 suppress messages from TypeORM migration and schema loading in production 2025-05-30 12:28:01 -04:00
Hazelnoot
3fecde29b5 fix TypeORM logger implementation 2025-05-30 12:28:01 -04:00
Hazelnoot
8e660d2aaf don't highlight queries in production 2025-05-30 12:28:01 -04:00
Hazelnoot
04160af3ae fix TypeORM logging to native console instead of NestJS logger 2025-05-30 12:28:01 -04:00
Hazelnoot
b057d3be0d add slowQueryThreshold setting to configure slow query warning 2025-05-30 12:27:59 -04:00
Hazelnoot
eeb175ab2b increase logging indent, since some logger contexts are really long 2025-05-30 12:26:33 -04:00
Marie
d1ddc6f722 merge: Resolve "Show Muted Words doesn't work" - fixes #1079 (!1057)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1057

Closes #1079

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-05-30 16:26:28 +00:00
Marie
5d8a8bba2a merge: Log config file paths at startup (!1066)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1066

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-30 16:25:28 +00:00
Marie
544d169884 merge: Increase chart rate limits (!1065)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1065

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-30 16:25:01 +00:00
Marie
48f3910036 merge: Add MK_HIDE_WORKER_ID to exclude worker ID from logs (!1063)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1063

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-30 16:24:33 +00:00
Marie
4a55692f7a merge: Disable TypeORM's Redis cache by default (!1062)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1062

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-30 16:23:53 +00:00
PrivateGER
31f4325e86
make logger property readonly 2025-05-30 18:01:36 +02:00
PrivateGER
8948369a1b
import fs dep at file level 2025-05-30 18:00:12 +02:00
Hazelnoot
1cd0ed3256 add MK_HIDE_WORKER_ID to exclude worker ID from logs 2025-05-30 09:38:33 -04:00
Hazelnoot
43d975896a use standard logger class in config.ts 2025-05-30 09:15:40 -04:00
Hazelnoot
47a81ba235 clarify error when configs fail to load 2025-05-30 09:09:15 -04:00
Hazelnoot
1a414f1cfb log configuration file paths when loading 2025-05-30 09:06:50 -04:00
Hazelnoot
7d79c77842 disable TypeORM query cache by default 2025-05-30 08:01:01 -04:00
Hazelnoot
79ff245aa4 merge: Fix the AddMissingIndexes1747938628395 migration (!1056)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1056

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-05-30 11:48:57 +00:00
Hazelnoot
53ec45482d use more robust fixup in 1748128176881-add_instance_foreign_keys.js 2025-05-30 07:46:23 -04:00
Hazelnoot
b748f9768e merge: bring back custom search engine url box - fixes #1078 (!1058)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1058

Closes #1078

Approved-by: Marie <github@yuugi.dev>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-05-30 11:31:51 +00:00
dakkar
988ce94b97 bring back custom search engine url box - fixes #1078
we had accidentally removed the MkInput
2025-05-30 11:29:49 +01:00
dakkar
d142e10fbd fix folders in mute/block 2025-05-30 11:06:39 +01:00
dakkar
2d396843ea don't really need to reload 2025-05-30 11:05:21 +01:00
dakkar
9d20848b3f fix guard for "show soft-muted words" 2025-05-30 11:04:53 +01:00
Hazelnoot
92bbcd3255 fix saving moderation note 2025-05-29 23:55:40 -04:00
Hazelnoot
f799835ec7 fix Z-fighting in report UI caused by sticky header 2025-05-29 23:13:33 -04:00
Hazelnoot
5924e27859 all MkFolder to not have a sticky header 2025-05-29 23:13:15 -04:00
Hazelnoot
b3022e853e fix refresh / dialog promises in admin-user.vue 2025-05-29 23:04:17 -04:00
Hazelnoot
30f0e5002c refresh instance info after applying moderation rules, and make sure that API calls show a dialog while running 2025-05-29 23:03:24 -04:00
Hazelnoot
5b8764d6df allow os.promiseDialog to accept a callback 2025-05-29 22:41:59 -04:00
Hazelnoot
fadf39d8e7 re-order instance-info tabs to match admin-user 2025-05-29 22:21:59 -04:00
Hazelnoot
979c7628b1 disable status badge strip in admin-user and instance-info 2025-05-29 22:20:21 -04:00
Hazelnoot
f303cb1171 implement SkBadgeStrip 2025-05-29 22:19:51 -04:00
Hazelnoot
756096e498 re-order moderation toggles to match admin-user 2025-05-29 21:16:58 -04:00
Hazelnoot
db7e0d9353 add missing oneline flag to delivery status 2025-05-29 21:14:42 -04:00
Hazelnoot
586c9974a4 add icons to buttons 2025-05-29 21:13:51 -04:00
Hazelnoot
d86920d2f6 match gap size to admin-user 2025-05-29 21:12:13 -04:00
Hazelnoot
43495fbd0d move all buttons to a group 2025-05-29 21:11:13 -04:00
Hazelnoot
b082797c69 improve styling of Description section 2025-05-29 21:08:19 -04:00
Hazelnoot
9595997b93 move well-known resources to a collapsible section 2025-05-29 21:05:33 -04:00
Hazelnoot
23f0748e60 move instance description into a section with divider 2025-05-29 18:27:23 -04:00
Hazelnoot
afbe3a95c0 translate "Refresh metadata" and use same icon as user controls 2025-05-29 18:13:25 -04:00
Hazelnoot
529014e7f2 move moderation note into collapsible section 2025-05-29 18:12:57 -04:00
Hazelnoot
f2c346d085 consolidate details into collapsible "details" section 2025-05-29 18:10:11 -04:00
Hazelnoot
6e58a320ca add missing translations 2025-05-29 17:45:18 -04:00
Hazelnoot
83a2f90842 use instance host as placeholder for name 2025-05-29 17:45:11 -04:00
Hazelnoot
5575c797a4 don't render instance icon if it doesn't have one 2025-05-29 17:36:09 -04:00
Hazelnoot
2c2dff72e4 remove duplicate horizontal swipe 2025-05-29 17:33:46 -04:00
Hazelnoot
548000bb98 fix the AddMissingIndexes1747938628395 migration
- Delete duplicate list memberships
- Drop indexes if they already exist
2025-05-29 17:20:11 -04:00
PrivateGER
7ce8d0de44
Add error handling for video optimization in DriveService 2025-05-29 21:20:46 +02:00
PrivateGER
4ab3abaa14
Move supported MIME types into file-level const 2025-05-29 21:18:02 +02:00
PrivateGER
0bf006b7d7
Fix formatting and import spacing in VideoProcessingService 2025-05-29 20:40:15 +02:00
PrivateGER
7cba9c11d4
Add web optimization for video files during processing 2025-05-29 20:29:42 +02:00
Hazelnoot
eed4f7855c fix :animate condition in MkImgWithBlurhash 2025-05-29 13:13:14 -04:00
Hazelnoot
18a6f47082 use SkTransitionGroup in all locations that hardcode use of TransitionGroup 2025-05-29 12:43:12 -04:00
Hazelnoot
2f91c66ba2 fix use of :key on "more" slot in MkReactionsViewer 2025-05-29 12:42:58 -04:00
Hazelnoot
7a003dec73 use SkTransitionGroup for all dynamic TransitionGroup components 2025-05-29 12:41:36 -04:00
Hazelnoot
197d9db8e6 implement SkTransitionGroup to dynamically switch between TransitionGroup or a native element based on the user's animation preference 2025-05-29 12:39:37 -04:00
Hazelnoot
0912a8bb10 fix tests 2025-05-28 21:31:41 -04:00
Hazelnoot
4738b14d1c fix TypeORM error from MetaService.fetch 2025-05-28 21:31:40 -04:00
Hazelnoot
070084889f re-analyze all tables affected by new indexes 2025-05-28 21:31:40 -04:00
Hazelnoot
12c2bbc7de add npm scripts to create or generate a migration 2025-05-28 21:31:40 -04:00
Hazelnoot
9e282b1d10 fix arrays in migration add_instance_block_columns 2025-05-28 21:31:40 -04:00
Hazelnoot
ab96402c2a add backend npm script to roll back a migration 2025-05-28 21:31:40 -04:00
Hazelnoot
35dfde838b add function diffArraysSimple for more efficient change detection 2025-05-28 21:31:40 -04:00
Hazelnoot
8a2ed3bc86 minor optimization to diff-arrays 2025-05-28 21:31:40 -04:00
Hazelnoot
6b3ddc6768 add TS caches to gitignore 2025-05-28 21:31:40 -04:00
Hazelnoot
788e59f046 fix type errors caused by new User, Note, and Instance fields 2025-05-28 21:31:40 -04:00
Hazelnoot
7385f30903 clear federatedInstanceCache when meta host lists change 2025-05-28 21:31:40 -04:00
Hazelnoot
3e7ab07b3c avoid race conditions in meta / instance insert 2025-05-28 21:31:40 -04:00
Hazelnoot
c0ead9cf11 remove broken HTTP users before running add_instance_foreign_keys migration 2025-05-28 21:31:40 -04:00
Hazelnoot
08834f1722 register instances before creating a user 2025-05-28 21:31:40 -04:00
Hazelnoot
139f458c0b fix following feed performance and bugs 2025-05-28 21:31:40 -04:00
Hazelnoot
7064150144 use instance block columns instead of checking meta columns 2025-05-28 21:31:40 -04:00
Hazelnoot
fad82000f0 fix lint error in MetaService 2025-05-28 21:31:40 -04:00
Hazelnoot
abac2f785a fix QueryService.generateMutedUserRenotesQueryForNotes to properly exclude quotes 2025-05-28 21:31:40 -04:00
Hazelnoot
51128028f4 add foreign keys to following where instance is referenced 2025-05-28 21:31:40 -04:00
Hazelnoot
59099a2b2a add foreign keys to note/user where instance is referenced 2025-05-28 21:31:40 -04:00
Hazelnoot
f3eca0b5cf populate block fields when registering a new instance 2025-05-28 21:31:40 -04:00
Hazelnoot
b422d5bc9d add utility service overloads for quickly checking hosts against meta values 2025-05-28 21:31:40 -04:00
Hazelnoot
305250d073 persist changes to meta host lists to instance table 2025-05-28 21:31:40 -04:00
Hazelnoot
373c60b521 add diff-arrays utility for efficient array diffs 2025-05-28 21:31:40 -04:00
Hazelnoot
45e5749cca add instance properties for persisted block data 2025-05-28 21:31:39 -04:00
Hazelnoot
566f92ab73 add IDX_instance_host_key 2025-05-28 21:31:39 -04:00
Hazelnoot
5af5414fdf enable TypeScript incremental mode to speed up IDEs 2025-05-28 21:31:39 -04:00
Julia
6d4860bb78 merge: Merge stable into develop (!1052)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1052
2025-05-29 00:47:04 +00:00
Julia Johannesen
f2b07594d6
Bump develop version 2025-05-28 20:38:31 -04:00
Julia
6b554c178b merge: release 2025.4.2 (!1051)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1051

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
Approved-by: Julia <julia@insertdomain.name>
2025-05-29 00:07:38 +00:00
piuvas
eb88920f41
requested changes. 2025-05-28 19:55:40 -03:00
dakkar
071db96938 bump version for release 2025-05-28 22:12:27 +01:00
Marie
c9591cf47f merge: fix having double scrollbars (!1035)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1035

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-05-28 21:08:49 +00:00
dakkar
90d53fe150 merge: Update vi th translations (!1046)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1046

Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-05-28 21:06:44 +00:00
Marie
6dad98f3ce merge: improve search for some of our settings (!1050)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1050

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-05-28 18:47:25 +00:00
dakkar
8b9e789895 improve search for some of our settings
* each `SearchMarker` can have at most 1 `SearchLabel` inside
* `SearcMarker`+`MkFolder` need some attributes to play together
2025-05-28 13:54:11 +01:00
piuvas
ee93b5d480
fix ellipsis. 2025-05-27 18:45:41 -03:00
piuvas
708083b8cc
linting on instante mute setting. 2025-05-27 17:12:22 -03:00
piuvas
56db26f236
some requested changes to linkAttribution. 2025-05-27 17:12:02 -03:00
piuvas
4234a68b3e
fix lowecasing of muted instances. 2025-05-27 14:13:32 -03:00
Hazelnoot
dd95d4a2d6 merge: Avoid use of <template> as a child of <TransitionGroup> (resolves #1059) (!1049)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1049

Closes #1059

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-27 17:12:45 +00:00
Hazelnoot
93d51b8fc1 merge: Fix translate button (!1047)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1047

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-27 17:12:23 +00:00
piuvas
79c4c79386
fix lint and typecheck. 2025-05-27 14:08:00 -03:00
piuvas
b7b7488729
port solution to instance mutelist. 2025-05-27 13:53:34 -03:00
piuvas
752d6a77f6
improve attributionDomains setting. 2025-05-27 13:51:32 -03:00
piuvas
5545ddf9dd
requested changes. 2025-05-27 13:25:06 -03:00
piuvas
3884f2fa6a
fix generated migration. 2025-05-27 08:09:42 -03:00
Ahri Enby
47d73f3c3d Update th-TH.yml 2025-05-27 11:28:23 +01:00
piuvas
604c6dbc66
add missing semicolons. 2025-05-27 00:14:41 -03:00
piuvas
228f24b5d6
align attribution instead of float. 2025-05-27 00:04:40 -03:00
piuvas
ddfc051e93
linting fixes. 2025-05-27 00:04:17 -03:00
piuvas
2ce8b45a7f
improve settings. 2025-05-26 23:57:57 -03:00
Hazelnoot
13d7326506 fix type errors 2025-05-26 22:55:10 -04:00
piuvas
6874a318ea
small fixes. 2025-05-26 23:34:31 -03:00
Hazelnoot
eb760e63bc fix lint errors 2025-05-26 22:21:36 -04:00
piuvas
ca32c231d0
initial link attributions work. 2025-05-26 22:44:29 -03:00
Marie
2ce8a9b9a7 merge: handle "follow" notifs from deleted user (!1032)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1032

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-05-26 18:34:11 +00:00
Hazelnoot
a3f9ff68fa resolve collection items in parallel 2025-05-26 13:08:05 -04:00
Hazelnoot
3da3ce9a40 pass limit from ap/get to resolveCollectionItems 2025-05-26 12:50:01 -04:00
Ahri Enby
06fa54b0c6 Update th-TH.yml 2025-05-26 16:59:35 +01:00
Ahri Enby
e94dac4ce5 Update th-TH.yml 2025-05-26 16:59:35 +01:00
Ahri Enby
ea7f5e5910 Update th-TH.yml 2025-05-26 16:59:35 +01:00
Ahri Enby
a7f4033041 Update vi-VN.yml 2025-05-26 16:59:35 +01:00
Hazelnoot
1ab5ceb65a fix ID checks in resolveCollectionItems 2025-05-26 11:34:46 -04:00
Hazelnoot
facedd3646 allow anonymous objects in secureResolve 2025-05-26 11:33:53 -04:00
Hazelnoot
02787f75ef add JSDocs to resolveCollectionItems 2025-05-26 11:23:07 -04:00
Hazelnoot
e689c04764 add options expandCollectionItems and allowAnonymous to ap/get endpoint 2025-05-26 11:17:20 -04:00
Hazelnoot
bdccb203ea resolve collection items in ApInboxService 2025-05-26 11:17:01 -04:00
Hazelnoot
5f0bb5dcd7 implement resolver.resolveCollectionItems 2025-05-26 11:16:48 -04:00
Hazelnoot
b506dd564b support fetching anonymous AP objects 2025-05-26 11:15:59 -04:00
Hazelnoot
17a56cb374 merge: add mediaDirectory config option to configure location of uploaded media (!1045)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1045

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-05-26 14:26:44 +00:00
Hazelnoot
5ce95e7f0b merge: make configuration file directory configurable with MISSKEY_CONFIG_DIR environment variable (!1044)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1044

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-05-26 14:26:32 +00:00
Ruby Iris Juric
4291a3d648
add mediaDirectory config option to configure location of uploaded media 2025-05-26 22:52:00 +10:00
Ruby Iris Juric
259eab513e
make configuration file directory configurable with MISSKEY_CONFIG_DIR environment variable 2025-05-26 13:39:19 +10:00
Hazelnoot
1cc9afc555 avoid use of <template> as a child of <TransitionGroup> 2025-05-25 18:52:44 -04:00
Hazelnoot
4ed1ea8f89 increase chart rate limits to max=200 and rate=5/s 2025-05-25 18:49:42 -04:00
Hazelnoot
f8e7e08809 fix clip / translate button styling in MkNoteSub / SkNoteSub 2025-05-25 18:49:22 -04:00
Hazelnoot
cc17e1b5ab fix Sub note toolbar not stopping click on mobile 2025-05-25 18:49:22 -04:00
Hazelnoot
5412ae27a6 add clip and translate buttons to MkNoteSub / SkNoteSub 2025-05-25 18:49:22 -04:00
Hazelnoot
b5357ac90d disable "translate" button after translating 2025-05-25 18:49:22 -04:00
Hazelnoot
2c8c650216 fix "translate" and "clip" buttons opening the note on mobile 2025-05-25 18:49:22 -04:00
Marie
9e8e08eb57 merge: Enforce HTTPS for all federation (!1042)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1042

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-25 21:07:52 +00:00
dakkar
28aa62f988 handle EntityNotFoundError on all calls to *.pack() 2025-05-25 12:42:59 +01:00
dakkar
9c89c91ded handle "follow" notifs from deleted user
the backend should not send these, but still, let's not explode
2025-05-25 12:35:13 +01:00
Hazelnoot
7f5e43530f enforce HTTPS for all federation 2025-05-25 00:04:27 -04:00
Hazelnoot
b6a71d2362 merge: make DynamicNote less dynamic - helps with #1059 (!1041)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1041

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-05-24 21:08:38 +00:00
Marie
e59a3ad693 merge: Synchronize database entities and code models (!1040)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1040

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-23 23:33:08 +00:00
Hazelnoot
460442f75d check permission in frontend before display trending polls 2025-05-23 10:22:26 -04:00
Hazelnoot
31e00a0906 fix policy check for unspecified "local" property in polls/recommendation endpoint 2025-05-23 10:22:17 -04:00
Hazelnoot
ee4dc27800 rename pollsOnLocal.host to pollsOnLocal.name 2025-05-23 10:22:17 -04:00
Hazelnoot
63950fea31 catch polls that are expiring exactly in the current instant 2025-05-23 10:22:17 -04:00
Hazelnoot
f01dc57ec9 only show polls from explorable users 2025-05-23 10:22:17 -04:00
Hazelnoot
3c949f0b81 overhaul trending polls
* Split into local, global, and completed sections
* Don't require credential, but check for local/global timeline perms
* Fix rate limit
* Return polls where the current user has already voted
* Return non-public polls if the user has permission to view them
* Apply user/instance blocks
* Fetch polls + notes + users in a single step to speed up pack
2025-05-23 10:22:13 -04:00
Marie
b05b4ec74d merge: Cleanup admin user UI (!1012)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1012

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-23 11:21:29 +00:00
Hazelnoot
639556201a merge: Add warning banner about word mute limitations (resolves #784) (!1017)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1017

Closes #784

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-05-23 11:14:15 +00:00
Hazelnoot
0ae8d85c3f fix TS errors from defaultLike 2025-05-22 16:20:49 -04:00
Hazelnoot
c510cfa312 make meta.defaultLike non-nullable 2025-05-22 16:08:26 -04:00
Hazelnoot
418aea1eef synchronize database entities and code models 2025-05-22 14:34:04 -04:00
dakkar
5a961119a7 ask to reload when changing noteDesign
since it's not longer super-dynamic
2025-05-21 18:32:43 +01:00
dakkar
7c61b57939 make sure that the DynamicNote component is *not* computed
my current hypothesis to explain #1059:

- we have a timeline, with some notes
- a new note arrives on the websocket
- we replace the items in the pagination inside the timeline
- vue starts re-rendering the notes, using the `:key` values to know
  which ones to leave there and which ones to move / add / delete
- since DynamicNote is `computed`, every time vue needs to instantiate
  it, it does an `await`
- so if another note is waiting in the websocket buffer, it gets
  processed *while vue is rendering*
- processing the new note cause the `items` map (and the array
  computed from it) to be replaced
- at this point vue may well get a new iterator from the start of the
  new list of items, after it had already decided that the first few
  notes did not need to be changed
- which manifests as new notes appearing in the middle of the
  timeline!
- and after enough new notes have arrived, all the old notes are out
  of the items map, so their elements have all been deleted, and
  "normality" is restored

this makes sense in my head, let's see if this change actually fixes
the problem
2025-05-21 18:27:39 +01:00
dakkar
d7ee652eb8 bump VueJS again
People have reported that #1059 happens even with the older version,
so there's no reason to not upgrade
2025-05-21 18:26:49 +01:00
Hazelnoot
1e434c8f4c merge: Skip preview for recursive links (!1039)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1039

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-21 16:43:59 +00:00
Hazelnoot
2b2afdd53a look at renoteId / replyId in case the renote / reply was not packed 2025-05-21 08:33:41 -04:00
Hazelnoot
aaba16c91b exclude reply OP from preview 2025-05-21 08:31:14 -04:00
Hazelnoot
28551c8103 use config.url instead of "https://${config.host}" 2025-05-21 08:27:23 -04:00
Hazelnoot
e74fde8b31 optimize extractUrlFromMfm 2025-05-20 22:33:14 -04:00
Hazelnoot
dc1adcc491 skip resolving preview when a link is known to be recursive 2025-05-20 21:37:25 -04:00
Hazelnoot
38d4a7fd56 don't recursively render note previews 2025-05-20 21:21:42 -04:00
Hazelnoot
6c77be64b6 merge: Fix "fetch linked note" button for AP previews (!1037)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1037

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-20 22:03:53 +00:00
Marie
48d4841656 merge: Fix surious translation errors (!1034)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1034

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-20 19:02:26 +00:00
Marie
c107c47b89 merge: downgrade vue, may help with #1059 (!1038)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1038

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-05-20 19:02:09 +00:00
dakkar
121898e5b1 downgrade vue, may help with #1059 2025-05-20 15:50:06 +01:00
Hazelnoot
e167ddd72d fix unknownUrl value 2025-05-19 18:50:13 -04:00
Hazelnoot
be1326372b add missing import file extension 2025-05-19 18:27:20 -04:00
Hazelnoot
3a3f8770d9 factor our cache logic into a separate method 2025-05-19 18:18:55 -04:00
Hazelnoot
3936807184 remove preview ActivityPub flag if we encounter a permanent (non-retryable) error while fetching the note 2025-05-19 18:11:25 -04:00
Hazelnoot
34a6816636 fix error schema for FileServerService rate limit 2025-05-19 17:59:49 -04:00
Hazelnoot
bede498798 add rate limit for URL preview 2025-05-19 17:58:35 -04:00
Hazelnoot
f8c53466ef make sure that the "fetch linked note" button actually remembers that the note is fetched 2025-05-19 10:57:42 -04:00
dakkar
10a94b49a4 merge: fix MK_CONFIG_MEILISEARCH_APIKEY not correctly setting config (!1036)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1036

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-05-19 12:38:44 +00:00
Ruby Iris Juric
e57616830d
fix MK_CONFIG_MEILISEARCH_APIKEY not correctly setting config 2025-05-19 14:48:22 +10:00
Marie
793ef45bea fix having double scrollbars 2025-05-18 19:18:29 +00:00
Hazelnoot
c412f5d69a extract common translation UI into SkNoteTranslation.vue 2025-05-18 14:51:22 -04:00
Hazelnoot
cbb0f5a964 fix type errors in note translation source 2025-05-18 14:03:40 -04:00
Hazelnoot
10a2f32947 fix spurious "translation failed" errors in MkNoteSub 2025-05-18 14:01:47 -04:00
Marie
1801cbd278 merge: set transparent background for naked containers - fix 1063 (!1033)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1033

Closes #1063

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-05-17 19:53:48 +00:00
Marie
e7d525abbe merge: Add option to put Translate button in the note toolbar (!1030)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1030

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-17 19:53:15 +00:00
Marie
bacb46da53 merge: bump vue (!1031)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1031

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-05-17 19:51:32 +00:00
dakkar
d9f5c108b0 set transparent background for naked containers - fix 1063
`MkContainer` gained a background for its `.content` element, but that
needs to be overridden by the `naked` option (used for transparent
widgets)
2025-05-17 13:26:16 +01:00
dakkar
0142463e1d bump vue 2025-05-17 12:45:26 +01:00
Hazelnoot
2fdec0ce29 add option to put Translate button in the note toolbar 2025-05-16 20:00:48 -04:00
Hazelnoot
ce8bcf5707 clarify IP tip message 2025-05-16 17:40:10 -04:00
Hazelnoot
2788855111 update locales index.d.ts 2025-05-16 17:40:10 -04:00
Hazelnoot
8c346eebc3 allow staff to assign roles to remote users 2025-05-16 17:40:10 -04:00
Hazelnoot
76a229620d allow staff to un-assign conditional roles that have been erroneously assigned (such as by changing a role type) 2025-05-16 17:40:10 -04:00
Hazelnoot
812602ed19 fix expand/collapse icons for roles 2025-05-16 17:40:10 -04:00
Hazelnoot
1fcca626ca fix error when expanding conditional role 2025-05-16 17:40:10 -04:00
Hazelnoot
b9109e5bb3 fix prop type for MKRolePreview 2025-05-16 17:40:10 -04:00
Hazelnoot
20e9c02431 add missing "inline" tag to reset password button 2025-05-16 17:40:10 -04:00
Hazelnoot
d47d7c1b7d remove extra <template> tag from ips block 2025-05-16 17:40:10 -04:00
Hazelnoot
1ac8ceb8a6 collapse moderation note if empty 2025-05-16 17:40:10 -04:00
Hazelnoot
d717df938b cleanup admin user UI
* hide inaccessible controls
* hide irrelevant controls
* remove duplicate components
* collapse details behind sections
* group all buttons
* apply semantic "warning" styles to buttons
* add follow stats
* translate untranslated strings
* group related controls
* resolve some lint errors
2025-05-16 17:40:06 -04:00
Hazelnoot
228e522081 add "followStats" property to admin/show-user response 2025-05-16 17:39:43 -04:00
Hazelnoot
2da1590e8a add "accent" styling to MkButton 2025-05-16 17:39:43 -04:00
Hazelnoot
fd339717c7 respect animation prefs in MkNumber 2025-05-16 17:39:43 -04:00
Hazelnoot
a3dc2e8562 add new role conditions for local/remote followers/followees 2025-05-16 17:39:43 -04:00
Marie
f869bdfc4e merge: await reverseConcat (!1029)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1029

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-05-15 17:55:38 +00:00
dakkar
323ad31605 await reverseConcat
before d7784ea4ff
`moreFetching.value=false` happened after the `nextTick` inside
`reverseConcat` had completed, but after that commit, it happens
immediately (as part of the try/finally)

this _probably_ doesn't matter, but let's avoid changes we didn't
intend
2025-05-15 15:11:18 +01:00
Hazelnoot
a2a38c78db merge: Experimental improvements to Delete Account process (maybe resolves #1035) (!1021)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1021

Closes #1035

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-15 13:00:47 +00:00
Hazelnoot
33029e3b58 merge: Add "can trend" role policy (resolves #1050, #1051, and #1052) (!1010)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1010

Closes #1050, #1051, and #1052

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-15 08:40:19 +00:00
Hazelnoot
10622ceec7 replace andWhere with where 2025-05-14 23:26:22 -04:00
Hazelnoot
b7b30bde5d use /users endpoint for explore exclusively (restore original behavior) 2025-05-14 23:25:40 -04:00
Hazelnoot
bb8609d0f0 rename popularUsersLocal.host to popularUsersLocal.name 2025-05-14 23:25:22 -04:00
Hazelnoot
dee2e19b63 don't trend notes from non-explorable or non-trendable users 2025-05-14 23:24:51 -04:00
Hazelnoot
0b8c101d71 check ps.trending before hiding non-explorable users from /users endpoint 2025-05-14 23:24:51 -04:00
Hazelnoot
b4bce57fcb update user activity on Renote, Un-Renote, Note Edit, React, and Un-React 2025-05-14 23:24:51 -04:00
Hazelnoot
b22b5577b4 also delete AP logs for cascading notes 2025-05-14 23:24:51 -04:00
Hazelnoot
7cb7ed6fc9 decrement quote count correctly 2025-05-14 23:24:51 -04:00
Hazelnoot
36e1ad0f56 fix lint and TS errors in explore.users.vue 2025-05-14 23:24:51 -04:00
Hazelnoot
60373cb24f fix references to userOrId 2025-05-14 23:24:51 -04:00
Hazelnoot
57d32ea900 enforce "can trend" role policy in trending user page 2025-05-14 23:24:51 -04:00
Hazelnoot
81910cf725 add new featured tab for "users popular locally" 2025-05-14 23:24:48 -04:00
Hazelnoot
2e4ec0dd9e add role policy to allow note trending 2025-05-14 23:24:24 -04:00
Hazelnoot
c47a6937e5 clarify word mute warning 2025-05-14 23:18:48 -04:00
Hazelnoot
535d316839 add warning banner about word mute limitations 2025-05-14 23:18:14 -04:00
Marie
1a9f8f782a merge: Allow port ranges in allowedPrivateIps (!1025)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1025

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-14 18:40:19 +00:00
Marie
1bed360444 merge: Fix "show muted word" setting (!1016)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1016

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-14 18:37:11 +00:00
Marie
7b0ee41c77 merge: Cache note translations in Redis (!1027)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1027

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-14 18:36:53 +00:00
Hazelnoot
c8d3ee5500 merge: Allow custom timeouts for translation API requests (!1026)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1026

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-14 18:36:30 +00:00
Hazelnoot
8348a36f24 cleanup, simplify, and merge duplicate word mute implementations 2025-05-13 22:58:24 -04:00
Hazelnoot
9a792c32c2 improve wording of translation timeout caption 2025-05-13 22:33:09 -04:00
Hazelnoot
e7db6e5569 remove use of watch in external-services.vue 2025-05-13 22:32:49 -04:00
Hazelnoot
dc79244f5b fix parsing bare IPs 2025-05-13 22:28:19 -04:00
Hazelnoot
b888ff931d fix unit tests for HttpRequestService.ts 2025-05-13 22:27:18 -04:00
Hazelnoot
e914be3694 fix "network" property in allowedPrivateNetworks 2025-05-13 22:24:48 -04:00
Hazelnoot
ebd4ccdd55 enforce port restrictions against requests that happen to be missing the port 2025-05-13 22:22:40 -04:00
Hazelnoot
4ddb16aa9a rename "mask" to "prefixLength" for clarity 2025-05-13 22:21:03 -04:00
Hazelnoot
5116586d79 improve YAML syntax for defining allowed IPs 2025-05-13 22:19:24 -04:00
Hazelnoot
b52db71e18 factor out shared word mute logic 2025-05-12 23:28:55 -04:00
Hazelnoot
f62249635f add manual save button to translation timeout field 2025-05-12 21:56:59 -04:00
Hazelnoot
e7ee2cc398 add configurable timeout for note translations 2025-05-12 21:48:21 -04:00
Hazelnoot
1a3c6f25a2 simplify access to showSoftWordMutedWord 2025-05-12 21:46:03 -04:00
Hazelnoot
5cb0129c49 show muted words in following feed 2025-05-12 21:46:03 -04:00
Hazelnoot
05e5be8218 show muted words in NoteDetailed / NoteSub components 2025-05-12 21:46:03 -04:00
Hazelnoot
7cd1d9ad93 return actual muted word from check-word-mute.ts 2025-05-12 21:46:03 -04:00
Hazelnoot
fb63167d85 allow private IP ranges to specify allowed ports 2025-05-12 21:44:45 -04:00
Hazelnoot
7b54a3ca48 allow user to be deleted if profile is missing 2025-05-12 21:38:11 -04:00
Hazelnoot
0a7ef89a17 delete user registry items 2025-05-12 21:38:11 -04:00
Hazelnoot
fdf67f6fc7 don't sent account deletion notice until after it actually completes 2025-05-12 21:38:11 -04:00
Hazelnoot
7cf293de94 add more manual steps to process account deletion in smaller chunks 2025-05-12 21:38:11 -04:00
Hazelnoot
a8a8c41a9b allow caller to pass in existing reaction hint to ReactionService.delete 2025-05-12 21:38:11 -04:00
Hazelnoot
fe5def9de0 await delete account in queue in case of errors 2025-05-12 21:38:11 -04:00
Hazelnoot
077096d04e use deliverMany to reduce overhead of account deletion queue 2025-05-12 21:38:11 -04:00
Hazelnoot
7ad772116b delete user reactions before notes 2025-05-12 21:38:10 -04:00
Hazelnoot
4e8993bad7 add debug logging for translation endpoint 2025-05-12 21:35:06 -04:00
Hazelnoot
7cf766d44c fix infinite spinner when translation request fails 2025-05-12 21:35:06 -04:00
Hazelnoot
871a4d3fb1 cache and re-use note translations 2025-05-12 21:35:06 -04:00
Hazelnoot
7db48ffa8d add redis cache for note translations
* Partitioned by target language
* Invalidated if the note is edited
2025-05-12 21:35:06 -04:00
Hazelnoot
03b1960e63 set common default values for RedisKVCache callbacks 2025-05-12 21:35:06 -04:00
Hazelnoot
61aaa586fe add hasText type guard for notes 2025-05-12 21:35:06 -04:00
Hazelnoot
00cfeca3d7 merge: Add "is from local bubble instance" role condition (!1011)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1011

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-12 20:08:56 +00:00
Hazelnoot
90e4ea765a merge: Always show bubble controls (!1023)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1023

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-12 18:52:54 +00:00
Hazelnoot
7c5e0ce4ab add hint about bubble timeline roles 2025-05-12 14:01:30 -04:00
Hazelnoot
33e0b13916 remove unused bubbleTimelineEnabled variable 2025-05-12 13:58:08 -04:00
Hazelnoot
022337c1e7 translate bubble timeline controls 2025-05-12 13:57:37 -04:00
Hazelnoot
05884cb83d always show bubble timeline controls 2025-05-12 13:57:20 -04:00
Hazelnoot
03d6655f92 fix wording of "User is from a bubble instance" 2025-05-12 13:31:48 -04:00
Hazelnoot
655290f8a4 add "is from local bubble instance" role condition 2025-05-12 13:31:16 -04:00
Hazelnoot
cace4153e4 merge: Make muted post placeholders look clickable (resolves #502) (!1019)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1019

Closes #502

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-12 10:37:09 +00:00
Hazelnoot
f8b2e272f1 merge: Fix word mute character calculation (resolves #861) (!1018)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1018

Closes #861

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-12 10:36:17 +00:00
Hazelnoot
835e76152e merge: Add pattern checker for word mutes (resolves #1003) (!1020)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1020

Closes #1003

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-12 10:33:25 +00:00
Hazelnoot
c0c41af5f9 merge: Fix hidden hashtags showing on the explore / trending page (!1014)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1014

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-12 10:33:09 +00:00
Marie
4430c12e0e merge: Fix unique constraint error when processing a flurry of note pinning activities (!1024)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1024

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-12 10:30:44 +00:00
Hazelnoot
1eb57201b4 merge: Fix circular dependency in following feed (!1013)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1013

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-05-12 09:38:43 +00:00
Hazelnoot
0f68914610 merge: Add new role conditions for local/remote followers/followees (!1002)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1002

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-05-12 09:37:17 +00:00
Hazelnoot
d3a9995d0a use transaction to avoid unique constraint error when processing duplicate Add/Remove pinned note activities 2025-05-11 06:02:52 -04:00
dakkar
ed2d82f9c9 merge: fix migration setting note sound to 1 if not changed from default (!1015)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1015

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-05-11 07:02:09 +00:00
Hazelnoot
c6ef944fc6 rename SkWordMuteTest to SkPatternTest 2025-05-10 22:49:23 -04:00
Hazelnoot
f6796a99ec add SkWordMuteTest to moderation control panel 2025-05-10 22:48:50 -04:00
Hazelnoot
32e2a07d66 extract SkWordMuteTest 2025-05-10 22:39:13 -04:00
Hazelnoot
b4bc58ae4c move parseMutes to a utility file 2025-05-10 22:36:49 -04:00
Hazelnoot
32b860c352 add UI for testing word mutes 2025-05-10 22:32:19 -04:00
Hazelnoot
9dbdb97bb5 allow checkWordMute to accept raw strings 2025-05-10 22:32:06 -04:00
Hazelnoot
f402fd3313 user appearNote in NoteSub mute placeholders 2025-05-10 21:53:05 -04:00
Hazelnoot
0e4b7c91f1 remove invisible user link from "muted note" placeholder 2025-05-10 21:52:40 -04:00
Hazelnoot
0a0f3c3387 add "clickable" styling for muted note placeholder 2025-05-10 21:50:18 -04:00
Hazelnoot
0cdb8e5b80 raise default character limit for word mutes 2025-05-10 21:44:25 -04:00
Hazelnoot
a46887d05f fix calculation of word mute 2025-05-10 21:44:10 -04:00
Marie
4866ceb66d fix migration setting sound to 5 if not changed from default 2025-05-10 22:57:19 +00:00
Hazelnoot
42d4fc9d97 refactor following feed to avoid circular dependency 2025-05-10 18:40:06 -04:00
Marie
4dc82cad62 merge: put back buttons "show/hide replies-to-others from all" (!1009)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1009

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-05-10 18:50:30 +00:00
Hazelnoot
da769846eb reset default value for new followers role conditions 2025-05-10 14:44:29 -04:00
Hazelnoot
7f3dc6066d add warning for role conditions that are dependent on remote data 2025-05-10 14:44:27 -04:00
Hazelnoot
40a73bfcbe add new role conditions for local/remote followers/followees 2025-05-10 14:44:17 -04:00
Hazelnoot
9f5c279478 don't show hidden hashtags on the trending page 2025-05-10 14:42:05 -04:00
dakkar
b1093011fb put back buttons "show/hide replies-to-others from all" 2025-05-10 19:37:05 +01:00
dakkar
a31089d054 merge: Remove moved setting that was left after merge (!1006)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1006

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-05-10 18:34:00 +00:00
Hazelnoot
8e66328899 merge: Add "is from a specific instance" role condition (!1008)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1008

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-10 18:22:35 +00:00
Hazelnoot
56a8ff4f50 add isFromInstance role condition 2025-05-09 21:03:05 -04:00
Hazelnoot
b8558fd8db merge: Properly announce Accept-Ranges on Drive files (!1007)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1007

Approved-by: Marie <github@yuugi.dev>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-05-09 22:37:14 +00:00
JeDaYoshi
f2998e05dc
properly announce Accept-Ranges on drive files 2025-05-09 21:59:41 +00:00
HellhoundSoftware
fc94e14f68
Add offensive login (#64) 2025-05-09 16:53:12 -04:00
HellhoundSoftware
0937779bc2
Appease linter 2025-05-09 16:43:41 -04:00
HellhoundSoftware
7f64a27268
Add boost menu to note context menu (#63) 2025-05-09 16:42:14 -04:00
Marie
6a60a0ff3c remove moved setting 2025-05-09 20:20:27 +00:00
Hazelnoot
59af115f72 merge: Pass token in Authorization header instead of body (!1003)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1003

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-09 18:32:46 +00:00
Marie
963bd1f69f merge: add missing option for serverDisconnectedBehavior (!1001)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1001

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-05-09 18:30:04 +00:00
Marie
11bb099504 merge: enforce username uniqueness for local instance (!1005)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1005

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Julia <julia@insertdomain.name>
Approved-by: Marie <github@yuugi.dev>
2025-05-09 18:20:52 +00:00
dakkar
7b987d3745 enforce username uniqueness for local instance 2025-05-09 19:06:43 +01:00
Hazelnoot
2d48387f49 pass token in Authorization header instead of i property 2025-05-09 10:56:21 -04:00
Hazelnoot
2acf7fa46d merge: fix "click to open", "number of replies", "oneko" (!1000)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/1000

Approved-by: Marie <github@yuugi.dev>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-05-09 12:37:37 +00:00
Marie
8627d85c58 add missing option for serverDisconnectedBehavior 2025-05-09 11:03:12 +00:00
Marie
3f2a29d4e1 merge: Sharkey logo source doc improvements (!999)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/999

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-09 09:28:53 +00:00
Hazelnoot
5101a5662b merge: Autofill reply mentions based on the replies property instead of MFM text (resolves #1045) (!981)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/981

Closes #1045

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-09 09:28:11 +00:00
Marie
093f67ae55 merge: Check for truncated uploads in Mastodon API (!998)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/998

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-05-09 09:27:42 +00:00
Marie
10d354eb97 merge: Warn users about polls losing their votes when edited (!996)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/996

Closes #1028

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-05-09 09:27:26 +00:00
Marie
45ecb08a42 merge: Merge the two File fixes from 2024.5.0 (!997)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/997

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-05-09 09:27:17 +00:00
dakkar
6c4bf6d33d fix oneko 2025-05-09 09:46:27 +01:00
dakkar
51a07fc6e4 fix "number of replies" 2025-05-09 09:30:45 +01:00
dakkar
9d5e477c9d fix "click to open" 2025-05-09 09:26:02 +01:00
Ruben
d5253eb2a3
licence should be it's own header 2025-05-09 02:39:49 -05:00
Ruben
951cef82a7
expand inkscape instructions 2025-05-09 02:38:20 -05:00
Ruben
1adf7ffe31
update sharkey logo documentation 2025-05-09 02:32:17 -05:00
Hazelnoot
164c85067f remove extra space in NoteCreateService.ts 2025-05-08 22:43:02 -04:00
Hazelnoot
7bfe16cbb0 check for stream truncation in saveToTempFile 2025-05-08 16:43:52 -04:00
Hazelnoot
e75e4f11a2 match saveToTempFile return type with other create-temp function 2025-05-08 16:42:16 -04:00
Hazelnoot
1fe39ed432 re-fetch notes after create/edit to ensure they have all fields populated 2025-05-08 16:34:40 -04:00
Hazelnoot
58d2c4af6b use targetNotes to reduce duplicate code 2025-05-08 16:20:29 -04:00
Hazelnoot
5e2cc8eb85 avoid error when editing notes without any mentions 2025-05-08 16:20:29 -04:00
Hazelnoot
d06e1e3080 don't insert mentions for the current user 2025-05-08 16:20:29 -04:00
Hazelnoot
df0d8045d5 fix duplicate mentions and spurious "user is not mentioned" warnings when replying to a DM thread including a user with a capitalized username 2025-05-08 16:20:29 -04:00
Hazelnoot
a4c7f3affd when replying to a note, auto-fill mentions based on the backend data instead of parsing the OP text 2025-05-08 16:20:29 -04:00
Hazelnoot
6c9dcb84ab resolve mentioned user handles on the backend 2025-05-08 16:20:29 -04:00
Marie
b218251b94 added cleanup to more sections 2025-05-08 19:46:42 +00:00
おさむのひと
e40f3917f3
refactor: ファイルアップロード時のテストを追加 (#15928)
* refactor: ファイルアップロード時のテストを追加

* なぜかsemverが消えてた
2025-05-08 20:03:53 +02:00
おさむのひと
b91a67d74e
Revert "fix: 添付ファイルのあるリクエストを受けたときの初動を改善 (#15896)" (#15927)
* Revert "fix: 添付ファイルのあるリクエストを受けたときの初動を改善 (#15896)"

This reverts commit 7e8cc4d7c0.

* fix CHANGELOG.md
2025-05-08 20:02:13 +02:00
Marie
d244158db6 remove question mark in title 2025-05-08 17:51:31 +00:00
Marie
b753b2ea3a
add poll edit warning 2025-05-08 19:47:18 +02:00
Hazelnoot
17a9b08f54 merge: merge the two post-form menus (!995)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/995

Approved-by: Marie <github@yuugi.dev>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-05-08 17:07:15 +00:00
Marie
c5f5c6fef0 merge: Replace JSDOM with cheerio (!973)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/973

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-08 16:09:36 +00:00
Marie
aa9d834a39 merge: Improve inline quote detection and link previews (resolves #1047 and #1044) (!985)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/985

Closes #1047 and #1044

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-08 16:09:15 +00:00
Marie
849ce6abed merge: add scheduleNotePost queue to dashboard (!994)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/994

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-05-08 16:08:27 +00:00
Hazelnoot
b8ff441474 merge: Fix Mastodon API requests with multipart/form-data encoding (resolves #1024, #839, #699, #574, and #486) (!987)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/987

Closes #1024, #839, #699, #574, and #486

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-08 15:58:48 +00:00
dakkar
2de4b093ff merge the two post-form menus 2025-05-08 16:57:37 +01:00
dakkar
42f3976b16 add scheduleNotePost queue to dashboard 2025-05-08 16:43:52 +01:00
Hazelnoot
c43ac87df2 separate type imports for Cheerio 2025-05-08 11:31:36 -04:00
Hazelnoot
261a7e3ab3 fix type errors 2025-05-08 11:29:57 -04:00
Hazelnoot
231ef297b5 replace JSDOM with cheerio 2025-05-08 11:29:57 -04:00
Hazelnoot
a40cc82538 fix oauth data 2025-05-08 11:23:20 -04:00
Hazelnoot
b2ea03383c implement '/v1/apps/verify_credentials' 2025-05-08 11:23:20 -04:00
Hazelnoot
5ec9be0b8c fix "cannot use 'in' operator" error 2025-05-08 11:23:20 -04:00
Hazelnoot
5815d2f537 fix user-agent / authorization passing in megalodon 2025-05-08 11:23:20 -04:00
Hazelnoot
22bba7fe6d fix media upload error caused by extraneous array brackets 2025-05-08 11:23:20 -04:00
Hazelnoot
347edb107b copy stack to AxiosError causes 2025-05-08 11:23:20 -04:00
Hazelnoot
38b1e1225c use isAxiosError to improve type detection 2025-05-08 11:23:20 -04:00
Hazelnoot
fefe2f6db8 more improvements to Mastodon error logging 2025-05-08 11:23:20 -04:00
Hazelnoot
34e0d73a60 differentiate between "error" and "exception" in mastodon API 2025-05-08 11:23:20 -04:00
Hazelnoot
2c5fb36e7f add missing "return reply" calls to async fastify routes
Required, according to docs: https://fastify.dev/docs/latest/Reference/Routes/#async-await
2025-05-08 11:23:20 -04:00
Hazelnoot
9db39d449f more fixes to Mastodon logging 2025-05-08 11:23:20 -04:00
Hazelnoot
b6f4fda80d handle AxiosErrors without a response 2025-05-08 11:23:20 -04:00
Hazelnoot
282ef9e673 split exception logging from error logging to simplify and improve mastodon errors 2025-05-08 11:23:20 -04:00
Hazelnoot
f7ca7a2cc0 minor refactor to ServerUtilityService.addMultipartFormDataContentType 2025-05-08 11:23:20 -04:00
Hazelnoot
3b44e11799 improvements to Mastodon error conversion 2025-05-08 11:23:20 -04:00
Hazelnoot
6757c227a9 check type of field values 2025-05-08 11:23:20 -04:00
Hazelnoot
cbe88122b9 fix hook targets 2025-05-08 11:23:20 -04:00
Hazelnoot
89cab66898 fix multipart/form-data decoding 2025-05-08 11:23:20 -04:00
Hazelnoot
c0f24eaf5d correctly parse response errors for logging 2025-05-08 11:23:20 -04:00
Hazelnoot
2aa3cf2731 debug-log mastodon error responses 2025-05-08 11:23:20 -04:00
Hazelnoot
d9d0adbc6f fix indent of logging.verbose option 2025-05-08 11:23:20 -04:00
Hazelnoot
e9ae78c0b7 enable debug logging for Mastodon API 2025-05-08 11:23:20 -04:00
Hazelnoot
fd5a3eb3f8 add logging.verbose option to enable debug logging in production. (same function as MK_VERBOSE environment variable) 2025-05-08 11:23:20 -04:00
Hazelnoot
7db03f61b1 store OAuth "website" in POST /api/v1/apps 2025-05-08 11:23:20 -04:00
Hazelnoot
7cd181df71 improve type checks in POST /api/v1/apps endpoint 2025-05-08 11:23:20 -04:00
Hazelnoot
317f5602fe temporary: add recursive error handler to MastodonApiServerService.ts 2025-05-08 11:23:20 -04:00
Hazelnoot
cd4fbc851b improve compatibility with multipart/form-data mastodon API requests 2025-05-08 11:23:20 -04:00
Hazelnoot
207915856a fix return type of fetchSummary and fetchSummaryFromProxy 2025-05-08 11:06:25 -04:00
Hazelnoot
1ac9625eea add same-authority check between fetched note and summary url 2025-05-08 11:05:15 -04:00
Hazelnoot
633718ffe9 avoid fetching notes twice in UrlPreviewService 2025-05-08 11:05:15 -04:00
Hazelnoot
70d75f1d57 check summary.haveNoteLocally after setting summary.activityPub to improve support for Akkoma 2025-05-08 11:05:15 -04:00
Hazelnoot
c05aa7a281 softer URL preview validation: remove unsupported URLs instead of rejecting the whole preview 2025-05-08 11:05:15 -04:00
Hazelnoot
d6c2140821 validate more URLs in UrlPreviewService.ts 2025-05-08 11:05:14 -04:00
Hazelnoot
23267a3a96 await cache update to avoid hammering redis in UrlPreviewService.ts 2025-05-08 11:05:14 -04:00
Hazelnoot
a1fcf554fa reduce caching for failed previews 2025-05-08 11:05:14 -04:00
Hazelnoot
c23b1c3be7 reduce log spam from UrlPreviewService.ts 2025-05-08 11:05:14 -04:00
Hazelnoot
163be8d4a4 match preview cache duration for HTTP and Redis 2025-05-08 11:05:14 -04:00
Hazelnoot
387efac23f add version specifier to URL preview cache 2025-05-08 11:05:14 -04:00
Hazelnoot
80819f03e7 don't proxy local URLs 2025-05-08 11:05:14 -04:00
Hazelnoot
05201f71cc allow summaly previews to redirect 2025-05-08 11:05:14 -04:00
Hazelnoot
1d2a4c6f56 infer ActivityPub links from signed GET 2025-05-08 11:05:14 -04:00
Hazelnoot
ab65f4b8b2 infer ActivityPub links from local DB 2025-05-08 11:05:14 -04:00
Hazelnoot
2fb56bc4ea fix eslint warning in UrlPreviewService.ts 2025-05-08 11:05:14 -04:00
Hazelnoot
129dfa9649 extract LocalSummalyResult type 2025-05-08 11:05:14 -04:00
Hazelnoot
938e094a1a set summary.haveNoteLocally before caching summary 2025-05-08 11:05:14 -04:00
Hazelnoot
1a19301c90 merge: Add missing paused state (!992)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/992

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-05-08 14:05:52 +00:00
Hazelnoot
3fc2cc125b merge: when creating a note as a side-effect, make it silent - fixes #986 (!932)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/932

Closes #986

Approved-by: Marie <github@yuugi.dev>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-05-08 14:05:16 +00:00
Hazelnoot
abffbf9468 merge: bump version to be a -rc (!993)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/993

Approved-by: Marie <github@yuugi.dev>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-05-08 12:37:39 +00:00
dakkar
1a94437ac0 bump version to be a -rc 2025-05-08 11:37:06 +01:00
Marie
8708d247ba merge: Update vi-VN.yml (!968)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/968

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-05-08 10:34:52 +00:00
Marie
519d18ef89 remove upstream duplicates 2025-05-08 10:10:21 +00:00
dakkar
294398dc46 remove unused _lang_ key 2025-05-08 11:03:00 +01:00
dakkar
ba3b6324ea fix indentation 2025-05-08 10:58:09 +01:00
dakkar
b9b710e63f revert locales/, fix _lang_ 2025-05-08 10:52:54 +01:00
Ahri Enby
e977bb0849 Update vi-VN.yml 2025-05-08 10:50:45 +01:00
Ahri Enby
1753eb7ea8 Update vi-VN.yml 2025-05-08 10:50:45 +01:00
Ahri Enby
ef1f0c430b Update vi-VN.yml 2025-05-08 10:50:45 +01:00
Ahri Enby
84530d5eda Update vi-VN.yml 2025-05-08 10:50:45 +01:00
Ahri Enby
8227ed0818 Update vi-VN.yml 2025-05-08 10:50:45 +01:00
Ahri Enby
bf9ebd4c71 Update vi-VN.yml 2025-05-08 10:50:45 +01:00
Ahri Enby
892acb32c0 Update vi-VN.yml 2025-05-08 10:50:45 +01:00
Ahri Enby
3a4170e6f3 Update vi-VN.yml 2025-05-08 10:50:45 +01:00
Ahri Enby
5c1ce0e38d Update vi-VN.yml 2025-05-08 10:50:45 +01:00
Ahri Enby
75379fc8a7 Update vi-VN.yml 2025-05-08 10:50:45 +01:00
Ahri Enby
bf1e260cf8 Update vi-VN.yml 2025-05-08 10:50:45 +01:00
Ahri Enby
e7298569d7 Update vi-VN.yml 2025-05-08 10:50:37 +01:00
Marie
8635365b8f
add missing state to types 2025-05-08 11:46:21 +02:00
Marie
239bfd3b62
add missing state
ref: https://github.com/misskey-dev/misskey/issues/15992
2025-05-08 11:45:36 +02:00
Marie
60b284e043 merge: Update th-TH.yml (!969)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/969

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-08 09:24:24 +00:00
Marie
ac291ee587 Fix YAML indent issue and add newline at end of file 2025-05-08 09:23:39 +00:00
Marie
a72610c8d6 merge: Reorder relay activities to avoid delivery race condition (resolves #989) (!986)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/986

Closes #989

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-08 09:17:07 +00:00
Marie
d9a4268711 merge: Respect "enable favicon notification dot" setting (resolves #1048) (!988)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/988

Closes #1048

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-05-08 09:16:16 +00:00
Marie
0d6b52ab3a merge: Fix polls not rendering properly in Schedule List (!990)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/990

Closes #1049

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-05-08 09:16:09 +00:00
Marie
29f6777a07 merge: reverts the check in usingBunnyCdn back and some lint fixes caused by other commits (!989)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/989

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-05-08 09:14:55 +00:00
Marie
d66d6e992b merge: Fix missing icon, Fix import of all notes being outside all notes folder (!991)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/991

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-05-08 08:42:37 +00:00
Marie
ffbfe741e3
Fix missing icon, Fix import of all notes being outside all notes folder 2025-05-08 01:40:40 +02:00
Marie
cfad5999b2
Fix polls not rendering properly in Schedule List 2025-05-08 01:26:56 +02:00
Marie
a3454543f5 Fix frontend lint issue caused by adding reset 2025-05-07 19:20:37 +00:00
Marie
0195810b6a revert back to old check 2025-05-07 19:10:34 +00:00
Hazelnoot
6ec295b461 check notification dot preference from prefer instead of store (resolves #1048) 2025-05-07 13:30:34 -04:00
Hazelnoot
b66a486036 merge: Show all files for Drive Cleaner (!982)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/982

Closes #1033

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-05-07 17:14:41 +00:00
Hazelnoot
6a06bd9361 merge: add logo text source and instructions (!983)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/983

Approved-by: Marie <github@yuugi.dev>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-05-07 17:12:46 +00:00
Hazelnoot
c302a5c2d7 reorder relay activities to avoid delivery race condition 2025-05-07 12:40:01 -04:00
Hazelnoot
d39a56c1b7 merge: Merge upstream 2025.4.1 (!955)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/955

Closes #638, #1037, #734, and #766

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-05-07 16:33:18 +00:00
dakkar
9e271b6fda add logo text source and instructions 2025-05-07 17:02:25 +01:00
Marie
4eab54d2ca merge: Add BunnyCDN Edge Storage support (!952)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/952

Closes #1020

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-05-07 08:49:50 +00:00
Marie
6b6dd372cb
up 2025-05-07 10:48:09 +02:00
Marie
f1b0ff8f5f
isNotUserHome > isUserHome 2025-05-07 10:46:17 +02:00
Marie
da54742291
add boolean to ignore folderId sorting, show all files on drive cleaner 2025-05-07 09:06:50 +02:00
Marie
7f2ff3ddcc
fix const name 2025-05-07 08:26:07 +02:00
Marie
e77b6cf24d
fix background tomfoolery for mobile users 2025-05-07 08:22:35 +02:00
Marie
1795ac50b5
fix background image tomfoolery on desktop 2025-05-07 01:02:35 +02:00
Ahri Enby
2bf1c4c27c Update th-TH.yml 2025-05-06 16:20:40 +00:00
Hazelnoot
95cd19b049 Merge branch 'develop' into merge/2025-03-24 2025-05-06 11:20:46 -04:00
Marie
216ab3aea7 merge: remove http/https protocol in uri on masto api (!980)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/980

Closes #1046

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-05-06 08:33:19 +00:00
Marie
893f964def merge: check signatures with and without query - fix #1036 (!966)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/966

Closes #1036

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-05-05 23:23:30 +00:00
Marie
142b3b552e update comment 2025-05-05 23:04:43 +00:00
Marie
621f2e2ee4
upd: add logger, check hostname, add catch 2025-05-06 01:02:27 +02:00
Ahri Enby
0d9a5ce9fd Remove duplicate 2025-05-05 22:36:18 +00:00
Ahri Enby
e24f659285 Update th-TH.yml 2025-05-05 22:35:16 +00:00
Hazelnoot
3a7e50932c Merge branch 'develop' into merge/2025-03-24
# Conflicts:
#	packages/frontend/src/pages/welcome.entrance.a.vue
2025-05-05 16:48:13 -04:00
Hazelnoot
a9e2b452a8 merge: "Powered by" changes colors based on accent, Scrolling timeline now hides when local timelines are disabled by default (!978)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/978

Closes #1043 and #1041

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-05-05 18:56:07 +00:00
Marie
cb3f5f598d Update instance.ts 2025-05-05 17:33:27 +00:00
Marie
e2be44fb99 change regex to include a zero-length match 2025-05-05 13:03:39 +00:00
Marie
581cc2b513 remove http/https protocol 2025-05-05 13:00:31 +00:00
dakkar
75b022cef9 merge: Protect featured timeline endpoint (!979)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/979

Approved-by: Marie <github@yuugi.dev>
2025-05-04 18:04:46 +00:00
Hazelnoot
76597d1a4c check role assignments in featured timeline 2025-05-04 08:55:57 -04:00
Hazelnoot
f6eb3148f3 use bucket rate limit for featured timeline 2025-05-04 08:55:26 -04:00
Hazelnoot
2294c22e35 fix scrolling in following feed on mobile 2025-05-04 08:47:38 -04:00
Hazelnoot
e87afe5804 fix more type errors because TS can't make up its mind 2025-05-03 22:21:38 -04:00
Hazelnoot
ff8b22ce60 apply optimized domain block pattern to silence and bubble checks 2025-05-03 21:54:25 -04:00
Hazelnoot
f4dafd709c check suspended users/hosts in following feed 2025-05-03 21:43:53 -04:00
Marie
d7a54dbe7f instance > meta 2025-05-03 23:07:14 +00:00
Marie
a2efaa157f Hide scrolling timeline when local timelines are disabled for guests (resolves #1043) 2025-05-03 23:03:15 +00:00
Marie
47afda6d8c Change "Powered by" color based on fgOnAccent (resolves #1041) 2025-05-03 22:58:10 +00:00
Marie
01d8159bc9 fix padding/margin on tabs as --margin no longer exists 2025-05-03 22:46:12 +00:00
Marie
a7fa4100be fix background transparency on notes 2025-05-03 22:39:49 +00:00
Marie
69448c0204 fix incorrect file extension for error image 2025-05-03 11:49:24 +00:00
dakkar
d41372f948 (manually) revert bc422fe36f
the fix for #1037 was wrong (it would collapse a boosted quote if the
quoted note was from the current user), and not
necessary (`appearNote.value.userId` _is_ the author of the boosted
note, no need to look inside `note.renote` at all)

so… I'm not sure why I even raised the issue 😕
2025-05-03 08:47:29 +01:00
dakkar
ae5b5e77cc fix "collapse renotes of my own notes" 2025-05-02 20:05:56 +01:00
Marie
c74e472041 merge: nicer SQL checks for blocked hosts (!977)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/977

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-05-02 18:54:54 +00:00
dakkar
203cd7ad31 put widgets drawer back on the right hand side 2025-05-02 19:44:14 +01:00
dakkar
75ecbd22e3 use correct source for notficationClickable 2025-05-02 19:30:18 +01:00
dakkar
3f611fe234 honour blocked hosts in global-timeline 2025-05-02 15:57:56 +01:00
dakkar
31d93c8052 nicer SQL checks for blocked hosts
instead of passing a (possibly gigantic) array from JS, we get
PostgreSQL to look at the value in the `meta` table directly

tested the `federation/instances` endpoint, and the `QueryService`
methods; I have not tested the charts
2025-05-02 15:57:56 +01:00
Hazelnoot
54b5c930cb enforce maxFileSize for remote users 2025-05-02 08:37:42 -04:00
Hazelnoot
805ec98ec0 update description of "enable proxy account" toggle 2025-05-02 08:32:39 -04:00
Marie
d3a07a8c1c merge: save draft early when doing "delete&edit" - fixes #638 (!975)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/975

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-05-01 23:06:34 +00:00
Marie
f2f3ae0112 merge: collapse renotes of notes created by the logged-in user - fix #1037 (!974)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/974

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-05-01 23:04:45 +00:00
Marie
d84509b7c3 merge: allow clearing a role's color - fixes #734 (!976)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/976

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-05-01 23:02:13 +00:00
Hazelnoot
3199c309e2 make bubble timeline visibility checks match local timeline 2025-05-01 12:14:45 -04:00
Hazelnoot
2d4741603d Merge remote-tracking branch 'origin/merge/2025-03-24' into merge/2025-03-24 2025-05-01 12:07:45 -04:00
Hazelnoot
8dce293dff add setting to disable proxy account (resolves #766) 2025-05-01 12:07:38 -04:00
dakkar
bd72de2805 allow clearing a role's color - fixes #734 2025-05-01 14:23:51 +01:00
dakkar
07ff6a890b save draft early when doing "delete&edit" - fixes #638
when the posting form gets shown, the original note is already gone,
and without this change, the note only exists in local variables

now, we save the draft as soon as the form is shown, so clicking on
the "post" (or reply, or quote) button will get you a form with the
draft data
2025-05-01 13:49:12 +01:00
dakkar
bc422fe36f collapse renotes of my notes - fix #1037 2025-05-01 13:15:21 +01:00
dakkar
121f555fca fix renoter avatar in SkNote 2025-05-01 13:12:05 +01:00
dakkar
4f26621f6e honour "logo" in titlebar
I'm not completely sure this is a good idea…
2025-05-01 11:53:36 +01:00
dakkar
bf80b3d07f fix reactions viewer styling in SkNote* 2025-05-01 11:48:10 +01:00
dakkar
46d1af5c56 fix note display style in timelines 2025-05-01 11:45:09 +01:00
zima
38c4be869d Update CI workflow to use node:jod container 2025-04-30 21:08:05 -07:00
HellhoundSoftware
39a9fb6d91
Merge branch 'upstream-2025.2.3' into dev 2025-04-30 22:07:54 -04:00
HellhoundSoftware
7a87a07532
get rid of Sass deprecation warning 2025-04-30 21:41:28 -04:00
HellhoundSoftware
3f110c26f8
Merge tag '2025.2.3' into upstream-2025.2.3 2025-04-30 21:31:59 -04:00
dakkar
ec404fd3ce remove leftover debug line 2025-04-30 20:30:52 +01:00
Hazelnoot
b124c39ed2 Merge branch 'develop' into merge/2025-03-24 2025-04-30 11:28:43 -04:00
Hazelnoot
da7dbd02f4 merge: Added extra connection option and comment for statement_timeout - fix #1042 (!972)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/972

Closes #1042

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-04-30 15:18:56 +00:00
Hazelnoot
d18885eefc fix type errors in e2e tests 2025-04-30 11:13:54 -04:00
Hazelnoot
6e4e4fdc33 fix type errors in mastodon API 2025-04-30 11:13:46 -04:00
Hazelnoot
4ea1b6aa4d fix type errors in SponsorsService.ts 2025-04-30 11:13:38 -04:00
Hazelnoot
e7aeb4cdb9 fix type error in timeline.vue 2025-04-30 09:54:14 -04:00
Hazelnoot
5ef25058c4 Merge tag '2025.4.1' into merge/2025-03-24
# Conflicts:
#	package.json
2025-04-30 09:46:30 -04:00
github-actions[bot]
979cfc1bcd Release: 2025.4.1 2025-04-30 09:01:43 +00:00
Ahri Enby
3be73d1c28 Update th-TH.yml 2025-04-30 02:20:15 +00:00
github-actions[bot]
2bd4faafbc Bump version to 2025.4.1-rc.0 2025-04-30 00:15:24 +00:00
Hazelnoot
a363576c36 update package-lock.yaml 2025-04-29 16:22:49 -04:00
Hazelnoot
dc087d4477 update @nestjs/platform-express to match other nestjs versions 2025-04-29 16:18:37 -04:00
Hazelnoot
a0f3ac8af3 fix megalodon user agent 2025-04-29 16:18:20 -04:00
Hazelnoot
25c96c1688 update broken SWC release (https://github.com/swc-project/swc/issues/10413) 2025-04-29 16:14:10 -04:00
Hazelnoot
dc9106dfb3 remove outdated packages from megalodon 2025-04-29 16:07:56 -04:00
Hazelnoot
9c301fa5aa Merge branch 'misskey-develop' into merge/2025-03-24
# Conflicts:
#	.github/workflows/api-misskey-js.yml
#	.github/workflows/changelog-check.yml
#	.github/workflows/check-misskey-js-autogen.yml
#	.github/workflows/get-api-diff.yml
#	.github/workflows/lint.yml
#	.github/workflows/locale.yml
#	.github/workflows/on-release-created.yml
#	.github/workflows/storybook.yml
#	.github/workflows/test-backend.yml
#	.github/workflows/test-federation.yml
#	.github/workflows/test-frontend.yml
#	.github/workflows/test-misskey-js.yml
#	.github/workflows/test-production.yml
#	.github/workflows/validate-api-json.yml
#	package.json
#	packages/backend/package.json
#	packages/backend/src/server/api/ApiCallService.ts
#	packages/backend/src/server/api/endpoints/drive/files/create.ts
#	packages/frontend-shared/js/url.ts
#	packages/frontend/package.json
#	packages/frontend/src/components/MkFileCaptionEditWindow.vue
#	packages/frontend/src/components/MkInfo.vue
#	packages/frontend/src/components/MkLink.vue
#	packages/frontend/src/components/MkNote.vue
#	packages/frontend/src/components/MkNotes.vue
#	packages/frontend/src/components/MkPageWindow.vue
#	packages/frontend/src/components/MkReactionsViewer.vue
#	packages/frontend/src/components/MkTimeline.vue
#	packages/frontend/src/components/MkUrlPreview.vue
#	packages/frontend/src/components/MkUserPopup.vue
#	packages/frontend/src/components/global/MkPageHeader.vue
#	packages/frontend/src/components/global/MkUrl.vue
#	packages/frontend/src/components/global/PageWithHeader.vue
#	packages/frontend/src/pages/about-misskey.vue
#	packages/frontend/src/pages/announcements.vue
#	packages/frontend/src/pages/antenna-timeline.vue
#	packages/frontend/src/pages/channel.vue
#	packages/frontend/src/pages/instance-info.vue
#	packages/frontend/src/pages/note.vue
#	packages/frontend/src/pages/page.vue
#	packages/frontend/src/pages/role.vue
#	packages/frontend/src/pages/tag.vue
#	packages/frontend/src/pages/timeline.vue
#	packages/frontend/src/pages/user-list-timeline.vue
#	packages/frontend/src/pages/user/followers.vue
#	packages/frontend/src/pages/user/following.vue
#	packages/frontend/src/pages/user/home.vue
#	packages/frontend/src/pages/user/index.vue
#	packages/frontend/src/ui/deck.vue
#	packages/misskey-js/generator/package.json
#	pnpm-lock.yaml
#	scripts/changelog-checker/package-lock.json
#	scripts/changelog-checker/package.json
2025-04-29 15:54:11 -04:00
Lilith
f0278dcf89 #1042 - Added extra connection option and comment for statement_timeout 2025-04-29 18:39:45 +00:00
Ahri Enby
2b8140d5a3 Update th-TH.yml 2025-04-29 13:51:54 +00:00
zyoshoka
81739b1f82
chore: follow up on fixing Chromatic CI diff strategy (#15912) 2025-04-29 21:22:01 +09:00
Ahri Enby
127331f18b Update th-TH.yml 2025-04-29 10:57:53 +00:00
Julia
583df3ec63
Merge commit from fork
none of our endpoints will ever contain `..` (they might, maybe, at
some point, contain `.`, as in `something/get.html`?), so every
`Mk:api()` call to an endpoint that contains `..` can't work: let's
reject it outright

Co-authored-by: dakkar <dakkar@thenautilus.net>
2025-04-29 18:06:39 +09:00
github-actions[bot]
2cd3fbf1a3 Bump version to 2025.4.1-beta.9 2025-04-29 08:58:11 +00:00
Ahri Enby
82609b4ed1 Update th-TH.yml 2025-04-29 07:01:36 +00:00
かっこかり
f8b0863b8e
fix(frontend): fix lint (#15906)
* fix(frontend): attempt to fix lint

* fix lint
2025-04-29 15:54:57 +09:00
zyoshoka
41f09fa272
Update CHANGELOG.md 2025-04-29 13:17:01 +09:00
syuilo
813b57bbab fix style 2025-04-29 11:20:43 +09:00
syuilo
d6ae4c980b feat(frontend): タイトルバーを表示できるように 2025-04-29 09:43:15 +09:00
github-actions[bot]
2e91cd6d45 Bump version to 2025.4.1-beta.8 2025-04-28 23:26:26 +00:00
syuilo
4408d070df
Update CHANGELOG.md 2025-04-29 08:20:48 +09:00
Julia
d10fdfe973
Merge commit from fork
* SP-2025-03.1 always wrap icon&thumbnail URLs

if they're not HTTP URLs, the frontend won't be able to display them
anyway (`<img src="mailto:…">` or '<div stile="background-image:
url(nntp:…)">` aren't going to work!), so let's always run them through the
media proxy, which will fail harder (fetching a `javascript:` URL
won't do anything in the backend, might do something in the frontend)
and will always protect the client's address in cases like `gemini:`
where the browser could try to fetch

* SP-2025-03.2 use object binding for more styles

interpolating a random (remote-controlled!) string into a `style`
attribute is a bad idea; using VueJS object binding, we should get
proper quoting and therefore safe parse failures instead of CSS
injections / XSS

* SP-2025-03.3 slightly more robust "self" URL handling

parse URLs instead of treating them as strings; this is still not
perfect, but the `URL` class only handles full URLs, not relative
ones, so there's so way to ask it "give me a URL object that
represents this resource relative to this base URL"

notice that passing very weird URLs to `MkUrl` and `MkUrlPreview` will
break the frontend (in dev mode) because there's an untrapped `new
URL(…)` that may explode; production builds seem to safely ignore the
error, though

---------

Co-authored-by: dakkar <dakkar@thenautilus.net>
2025-04-29 08:15:54 +09:00
syuilo
7407d51df8
New Crowdin updates (#15897)
* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Chinese Simplified)
2025-04-29 08:15:29 +09:00
おさむのひと
7e8cc4d7c0
fix: 添付ファイルのあるリクエストを受けたときの初動を改善 (#15896)
* wip

* ロールポリシーの値も参照するように

* エンドポイントのテストを追加

* fix review

* add spdx

* fix CHANGELOG.md

* fix test

* regenerate

* add log

* Revert "add log"

This reverts commit 4b2bf59a609b85ca0bfcc9b71438db782f11983d.

* add log

* fix

* Revert "add log"

This reverts commit c5a73d57da0f30ec5215e08a8b4d78785cce48d1.
2025-04-29 08:15:09 +09:00
dakkar
0d41e71ec4 align docker_example.yml with example.yml
bits I've left different:

* hostname for db, redis, meili (so they match the values in the
  example compose file)

* listen address / socket (because changing them will confuse docker)

* no mention of the pidfile (because it's completely useless in
  docker)
2025-04-28 19:32:52 +01:00
Ahri Enby
ec29f61e33 Update th-TH.yml 2025-04-28 17:03:20 +00:00
dakkar
4981e5ba36 Merge branch 'develop' into merge/2025-03-24 2025-04-28 15:31:28 +01:00
Ahri Enby
74f265983a Update th-TH.yml 2025-04-28 14:24:36 +00:00
syuilo
e5fcb5b53f enhance(frontend): disable router view transition
Fix #15723
2025-04-28 21:25:47 +09:00
zyoshoka
aaa31c9d64
fix(backend): correct response schema of chat endpoints (#15904) 2025-04-28 18:58:08 +09:00
zyoshoka
c3b9a5346f
chore(ci): change the Test step to terminate with error in the federation test (#15903)
* chore(ci): change the Test step to terminate with error in the federation test

* chore(ci): always stop servers in the federation test
2025-04-28 18:31:13 +09:00
Ahri Enby
182e80cdfd Revert to English name per request 2025-04-28 05:40:20 +00:00
github-actions[bot]
01230f6990 Bump version to 2025.4.1-beta.7 2025-04-28 04:08:47 +00:00
renovate[bot]
b09bf25e14
chore(deps): update actions/setup-node action to v4.4.0 (#15901)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-28 13:03:36 +09:00
zyoshoka
7041a3de2a
chore: fix Chromatic CI diff strategy (#15902) 2025-04-28 12:57:47 +09:00
syuilo
cf07e1e4b9 perf(frontend): improve timeline performance 2025-04-28 12:53:58 +09:00
renovate[bot]
e8eb4e1965
fix(deps): update [frontend] update dependencies (#15809)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-28 11:41:23 +09:00
かっこかり
b5268fa240
fix(test): fix federation test (#15900) 2025-04-28 11:24:26 +09:00
renovate[bot]
359af232fc
fix(deps): update [root] update dependencies (#15691)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-28 11:24:18 +09:00
Ahri Enby
09c7df927e Update th-TH.yml 2025-04-28 01:56:55 +00:00
Ahri Enby
8aef93e158 Fix missing quotes 2025-04-28 01:49:10 +00:00
github-actions[bot]
5d71a5bc23 Bump version to 2025.4.1-beta.6 2025-04-28 01:17:27 +00:00
かっこかり
6acb743e5e
deps: update pnpm to v10.10.0 (#15899)
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-04-28 10:12:04 +09:00
syuilo
4054f1a0c4 🎨 2025-04-28 10:07:23 +09:00
Ahri Enby
51747bb62f Update th-TH.yml 2025-04-28 00:57:54 +00:00
syuilo
76bd33f4c8 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-04-28 09:46:43 +09:00
syuilo
c99f4dc4ce enhance(frontend): add drive tip 2025-04-28 09:46:41 +09:00
renovate[bot]
0c06e5bef5
chore(deps): update [misskey-js] update dependencies (#15791)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-28 09:35:37 +09:00
renovate[bot]
d9ff6011e3
chore(deps): update [tools] update dependencies (#15810)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-28 09:31:34 +09:00
renovate[bot]
b94ff3590b
fix(deps): update [backend] update dependencies (#15811)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-28 09:29:52 +09:00
syuilo
7c23e53034 refactor 2025-04-28 09:28:23 +09:00
syuilo
e0fd1c8f48 tweak custom-emojis-manager 2025-04-28 08:49:37 +09:00
syuilo
8718d1c271
Update CHANGELOG.md 2025-04-28 07:21:52 +09:00
anatawa12
ec92bf47f1
Exclude blocked instance note from most timelines (#15792)
* Exclude blocked instance note from most timelines

* Exclude blocked instance note from FTT timelines

* Exclude blocked instance note from featured

* fix type
2025-04-28 07:21:00 +09:00
Ahri Enby
81baeec784 Update th-TH.yml 2025-04-27 22:06:36 +00:00
Julia
baa75768ec merge: Merge stable into develop (!971)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/971
2025-04-27 21:26:13 +00:00
Ahri Enby
6090d83125 Update th-TH.yml 2025-04-27 20:25:39 +00:00
Julia Johannesen
ac905118cc
Merge branch 'stable' into merge-stable-into-develop 2025-04-27 16:19:44 -04:00
Julia
ae0ca28ae4 merge: Security fixes (!970)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/970
2025-04-27 20:06:59 +00:00
Julia Johannesen
b25f869a7a
Fix linter issue
ESLint my beloathed
2025-04-27 15:42:19 -04:00
Julia Johannesen
68d09f0e06
Use published summaly 2025-04-27 15:31:37 -04:00
Julia Johannesen
db9c8d8786
Update version 2025-04-27 13:33:09 -04:00
Julia Johannesen
35df3944c1
Update summaly 2025-04-27 13:31:27 -04:00
Julia Johannesen
0bb4e57b0c
Security fixes
Co-Authored-By: dakkar <dakkar@thenautilus.net>
2025-04-27 13:05:09 -04:00
syuilo
7581331713 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-04-27 21:29:36 +09:00
syuilo
2fbb2e9a9f Update CHANGELOG.md 2025-04-27 21:29:15 +09:00
github-actions[bot]
7bc536c948 Bump version to 2025.4.1-beta.5 2025-04-27 12:27:19 +00:00
syuilo
3f08e41818 🎨 2025-04-27 21:14:59 +09:00
syuilo
04b7dd0948 fix(frontend): tweak spacer style 2025-04-27 20:51:57 +09:00
syuilo
ddb41ba821 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-04-27 20:42:43 +09:00
syuilo
ee49c42410 fix lint 2025-04-27 20:42:41 +09:00
github-actions[bot]
8670ddaffd Bump version to 2025.4.1-beta.4 2025-04-27 11:08:50 +00:00
syuilo
d9bff2cd15
New Crowdin updates (#15849)
* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Vietnamese)
2025-04-27 20:04:42 +09:00
syuilo
cb2948bf94 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-04-27 20:04:15 +09:00
syuilo
83893ce52f fix syntax errors 2025-04-27 20:04:13 +09:00
github-actions[bot]
0083386882 Bump version to 2025.4.1-beta.3 2025-04-27 10:58:53 +00:00
syuilo
03e5502d63 add todo 2025-04-27 19:57:19 +09:00
syuilo
0a1ff77f23 perf(frontend): use css-native implementation for spacer rather than vue component 2025-04-27 19:55:56 +09:00
syuilo
c4f13a0472 Update CHANGELOG.md 2025-04-27 17:50:08 +09:00
github-actions[bot]
5e294f4c65 Bump version to 2025.4.1-beta.2 2025-04-27 08:44:59 +00:00
syuilo
0f9dff0521 enhance(frontend): improve usability 2025-04-27 17:43:30 +09:00
syuilo
14d3439a42 enhance(frontend): タイムラインをスワイプで切り替えられるように
Resolve #15722
2025-04-27 17:38:48 +09:00
syuilo
889295d621 fix(frontend): スワイプが効かないなど、不具合の元になるmarginをgapに置き換え 2025-04-27 17:29:17 +09:00
syuilo
5b5756d4eb Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-04-27 17:16:54 +09:00
syuilo
e24a2362fd refactor(frontend): PageWithHeaderにMkSwiperを持たせるように 2025-04-27 17:16:51 +09:00
github-actions[bot]
2e03c0f425 Bump version to 2025.4.1-beta.1 2025-04-27 05:59:23 +00:00
syuilo
66187174d4 🎨 2025-04-27 13:41:41 +09:00
syuilo
73b86d9276 enhance(frontend): improve new emojis manager 2025-04-27 13:31:07 +09:00
zyoshoka
d91a4e3dec
fix(ci): change Chromatic build to be triggered when frontend package.json is edited instead of lockfile (#15793)
* fix(ci): correct invalid condition for skipping Chromatic build

* fix: change to be triggered when frontend `package.json` is edited instead of lockfile

* chore: disable automatic rebase of frontend Renovate PRs
2025-04-27 10:49:23 +09:00
かっこかり
6a69e4180b
fix(frontend): PageWithHeaderからPageHeaderに全Propsが伝わっていなかった問題を修正 (#15858) 2025-04-27 10:46:55 +09:00
syuilo
3b3bb36c49 enhance(frontend): 通知ページをスワイプで切り替えられるように 2025-04-27 10:14:41 +09:00
syuilo
69cfd34545 Update CHANGELOG.md 2025-04-27 10:01:44 +09:00
syuilo
9481b5a6e8 feat: アップロード可能な最大ファイルサイズをロールごとに設定可能に 2025-04-27 09:35:44 +09:00
github-actions[bot]
effc84b9cc Bump version to 2025.4.1-beta.0 2025-04-27 00:22:13 +00:00
なっかあ
de073d6d69
Fix #15876 絵文字がアニメーションしない問題を修正 (#15881) 2025-04-27 09:16:41 +09:00
syuilo
5042a0aa8f fix(frontend): タイムラインでノートが重複して表示されることがあるのを修正
Fix #15870
Close #15874
2025-04-27 09:16:17 +09:00
Ahri Enby
acdd1c4c91 Update th-TH.yml 2025-04-25 12:02:25 +00:00
Hazelnoot
335603f073 fix null checks for background in UserEntityService.ts 2025-04-24 15:07:26 -04:00
Hazelnoot
6c2d5cb841 Merge remote-tracking branch 'origin/merge/2025-03-24' into merge/2025-03-24 2025-04-24 15:03:35 -04:00
Hazelnoot
d8c6014b20 preserve scroll position in following feed 2025-04-24 15:02:43 -04:00
Marie
e6888131b7 baseQueueOptions > baseWorkerOptions 2025-04-24 18:57:32 +00:00
Hazelnoot
cdf9921f2c fix build errors in ApRendererService.ts 2025-04-24 14:55:18 -04:00
Hazelnoot
a4dd19fdd4 merge upstream again 2025-04-24 14:23:45 -04:00
Hazelnoot
ac894986f9 Merge branch 'develop' into merge/2025-03-24
# Conflicts:
#	CONTRIBUTING.md
#	packages/backend/src/core/activitypub/models/ApPersonService.ts
2025-04-24 13:07:41 -04:00
饺子w (Yumechi)
7a41cfe28b
enhance(backend): DB note (userId) インデクス -> (userId, id) 複合インデクスにする (#15879)
* enhance(backend): use composite index for ordering notes by user

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* fixup! enhance(backend): use composite index for ordering notes by user

---------

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
2025-04-23 14:29:42 +09:00
Marie
1612f2462f merge: fix/revert some defaults back to sharkey defaults (!967)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/967
2025-04-22 23:09:08 +00:00
Marie
8e6e2c47e3 fix/revert some defaults back to sharkey defaults 2025-04-22 23:01:03 +00:00
dakkar
92a4cf2dff merge: Fix typo in contributing. (!965)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/965

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-04-21 16:25:14 +00:00
dakkar
fda71c4147 make toPuny work better in testing 2025-04-21 16:44:13 +01:00
dakkar
58c0ac6c89 check signatures with and without query - fix #1036
@Oneric explained:

> Spec says query params must be included in the signature; Mastodon
> being Mastodon used to always exclude it though and for
> compatibility everyone followed this. At some point GtS decided to
> follow spec instead which caused interop issues, but succeeded in
> getting Mastodon (and others like *oma) to accept incoming requests
> with (and also still without) query params though outgoing requests
> remaing query-param-free. Some still only accept query-param-less
> requests though and GtS uses a retry mechanism to resend any request
> failing with 401 with an query-parama-less signature once. (Also
> see:
> https://docs.gotosocial.org/en/latest/federation/http_signatures/ )
>
> So for incoming requests both versions need to be checked. For
> outgoing requests, unless you want to jump through retry hoops like
> GtS, omitting query-params is the safer bet for now (presumably this
> will only change if Mastodon ever decides to send out requests
> signed with query params)
2025-04-21 16:44:13 +01:00
piuvas
58ef95e962
fix typo in contributing. 2025-04-21 09:32:53 -03:00
Marie
57a310a146 merge: Verify links in remote accounts. (!964)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/964

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-04-21 11:22:12 +00:00
piuvas
6df82f4eef
remove redundant sql query. 2025-04-20 23:21:50 -03:00
piuvas
06fb6fbeca
requested changes. 2025-04-20 23:20:59 -03:00
Marie
17e07393a4 merge: fix: Sharkey's logo is missing (!961)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/961

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-04-20 23:10:44 +00:00
piuvas
8609426e71
remove fortnite. 2025-04-20 14:21:44 -03:00
piuvas
46fa99fc28
requested changes to verifyFieldLinks
Co-authored-by: dakkar <dakkar@thenautilus.net>
2025-04-20 12:34:00 -03:00
piuvas
20482888b0
add merge guide for verifyLink. 2025-04-20 10:44:40 -03:00
Zlendy
90f67bf51a
fix: Sharkey's logo is missing 2025-04-20 13:19:28 +02:00
piuvas
1d9876d3fa
make link detection slightly more performant. 2025-04-19 23:20:21 -03:00
piuvas
8a60c7df02
verify links in remote profiles. 2025-04-19 23:10:27 -03:00
piuvas
6a77512737
refactor link verification. 2025-04-19 23:04:48 -03:00
renovate[bot]
0a604285a0
fix(deps): update dependency fastify to v5.3.2 [security] (#15866)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-19 21:07:10 +09:00
syuilo
c99723b59e fix html 2025-04-19 21:01:51 +09:00
syuilo
96bb36f77e 🎨 2025-04-19 14:42:54 +09:00
syuilo
388ef3de08 🎨 2025-04-19 14:42:09 +09:00
syuilo
ff85eff209 🎨 2025-04-19 14:32:19 +09:00
github-actions[bot]
a0b9f456e7 Bump version to 2025.4.1-alpha.2 2025-04-19 05:10:26 +00:00
syuilo
7b38806413
feat: Job queue inspector (#15856)
* wip

* wip

* Update job-queue.vue

* wip

* wip

* Update job-queue.vue

* wip

* Update job-queue.vue

* wip

* Update QueueService.ts

* Update QueueService.ts

* Update QueueService.ts

* Update job-queue.vue

* wip

* wip

* wip

* Update job-queue.vue

* wip

* Update MkTl.vue

* wip

* Update index.vue

* wip

* wip

* Update MkTl.vue

* 🎨

* jobs search

* wip

* Update job-queue.vue

* wip

* wip

* Update job-queue.vue

* Update job-queue.vue

* Update job-queue.vue

* Update job-queue.vue

* wip

* Update job-queue.job.vue

* wip

* wip

* wip

* Update MkCode.vue

* wip

* Update job-queue.job.vue

* wip

* Update job-queue.job.vue

* Update misskey-js.api.md

* Update CHANGELOG.md

* Update job-queue.job.vue
2025-04-19 14:00:38 +09:00
zyoshoka
978ab2f848
fix(storybook): implement missing stories (#15862) 2025-04-18 18:56:46 +09:00
syuilo
74d9cc4e38 🎨 2025-04-18 17:11:35 +09:00
syuilo
7a29aed17c enhance(frontend): improve usability 2025-04-17 20:25:59 +09:00
syuilo
fd61ac5221 refactor(frontend): refactor styles 2025-04-17 20:23:27 +09:00
かっこかり
96de18b096
fix(deps): update vite to v6.3.1 (#15857) 2025-04-17 02:57:53 +00:00
syuilo
eda2f587a3 enhance: コントロールパネルでジョブキューをクリアできるように 2025-04-16 16:47:03 +09:00
github-actions[bot]
f2aeafaddb Bump version to 2025.4.1-alpha.1 2025-04-16 02:27:40 +00:00
anatawa12
5a9f54a07a
Complete unicode emoji after last colon (#13384)
* chore: add types on MkAutocomplete

* feat: complete `:emoji:` to unicode emoji

* chore: do not use fuzzy match for emojiComplete

* docs(changelog): Unicode絵文字をslugから入力する際に`🆗`のように最後の`:`を入力したあとにUnicode絵文字に変換できるように

* docs(changelog): update changelog insertion position

* chore: improve indent

---------

Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-04-16 11:25:21 +09:00
anatawa12
0257d54add
fix: ノートの直後のノートを表示する機能で表示が逆順になっていた問題を修正 (#15841)
* fix: 特定のノート直前のノートを表示する機能で表示が逆順になっていた問題を修正

* docs(changelog): ノートの直後のノートを表示する機能で表示が逆順になっていた問題を修正

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-04-16 11:16:14 +09:00
syuilo
d18bb1dda0 add todo 2025-04-16 11:06:37 +09:00
syuilo
81c24ddcc5 Update CHANGELOG.md 2025-04-16 11:00:38 +09:00
syuilo
17e7340933 enhance(frontend): テーマでページヘッダーの色を変更できるように 2025-04-16 10:59:05 +09:00
syuilo
29f475b17a 🎨 2025-04-16 10:42:25 +09:00
syuilo
6d90e09a58 enhance(frontend): タイムライン以外でもスクロール位置の保持を試みるように 2025-04-16 10:35:05 +09:00
syuilo
35d4b43c95 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-04-16 10:15:20 +09:00
syuilo
ef477ce1b5 🎨 2025-04-16 10:15:18 +09:00
anatawa12
4bd23c4c8c
feat: migrate antenna on account move (#15843)
* feat: migrate antenna on account move

* docs(changelog): アカウントの移行時にアンテナのフィルターのユーザが更新されない問題を修正

* refactor: move to AntennaService
2025-04-16 09:49:27 +09:00
syuilo
46a5aa9ede Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-04-16 09:25:17 +09:00
syuilo
75267f87d5 refactor(frontend): アカウント情報はstore管理に 2025-04-16 09:25:13 +09:00
anatawa12
c5f1ce60fa
fix(sw): type error in sw (#15844) 2025-04-16 07:51:41 +09:00
anatawa12
86774ad753
fix: improve flaky federation test (#15845) 2025-04-16 07:51:21 +09:00
Marie
f24be3674a merge: fix: friendlycaptcha always failing (!963)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/963

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-04-15 20:40:06 +00:00
Marie
28ad2ae534 fix: friendlycaptcha always failing 2025-04-15 20:13:16 +00:00
Hazelnoot
91504b772f remove duplicate background CSS from MkContainer.vue 2025-04-15 09:37:20 -04:00
syuilo
de19d9a4d4 refactor(frontend): MkHorizontalSwipe -> MkSwiper 2025-04-15 20:48:25 +09:00
syuilo
165830d6c8 コミット忘れ 2025-04-15 20:34:00 +09:00
syuilo
ee29f31324 fix(frontend): make keep scroll pos of timeline 2025-04-15 20:33:04 +09:00
かっこかり
25f0810cfa fix(frontend): keyval-storeの値が削除できずに処理が止まる問題を修正 (#15803)
* fix(frontend): keyval-storeの値が削除できずに処理が止まる問題を修正

* Update Changelog

* implement abortcontroller

* fix lint
2025-04-15 11:27:40 +01:00
dakkar
679ab04fb4 re-add "sign out" option to navbar profile menu 2025-04-15 11:22:22 +01:00
github-actions[bot]
f5a89c2533 Bump version to 2025.4.1-alpha.0 2025-04-15 09:32:12 +00:00
syuilo
45d65ffbba
New Crowdin updates (#15786)
* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)
2025-04-15 18:29:22 +09:00
syuilo
fc6037af46 enhance(backend): push notification for chat message
Resolve #15831
2025-04-15 18:27:45 +09:00
Marie
4f64803ef2 merge: make MOTD html unescaped. (requires discussion?) (!759)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/759

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-04-15 07:45:51 +00:00
Kisaragi
fff2783c1b
docs: バックアップとログアウトの設定クリアについて書き方を変える (#15808)
1. 「新しいクライアントからログインしたとき」がすでにログインしたことのあるクライアントだとバックアップが必要ないと読めるので「新しい」を外す
2. ログアウトしてから設定データをブラウザから削除したあとで復元できるのはバックアップをとっているときのみであることを強調

cc 1312fe34c1
2025-04-15 16:15:56 +09:00
anatawa12
b2e3e65896
fix: use ftt for outbox (#15819)
* fix: use ftt for outbox

* chore: check for enableFanoutTimeline

* lint: fix lint
2025-04-15 16:15:27 +09:00
anatawa12
f454e820bd
feat: render quote note with quote-inline class for ap compatibility (#15818) 2025-04-15 16:14:52 +09:00
anatawa12
d5fe6e36ae
fix: avatarId が null のときにも avatarUrl が non null 担ってることがある問題 (#15833) 2025-04-15 16:10:17 +09:00
anatawa12
6bd45a27b1
fix: フォルダを開いた状態でメニューからアップロードしてもルートフォルダにアップロードされる問題 (#15836)
* fix: フォルダを開いた状態でメニューからアップロードしてもルートフォルダにアップロードされる問題

* docs(changelog): Fix: フォルダを開いた状態でメニューからアップロードしてもルートフォルダにアップロードされる問題を修正 #15836
2025-04-15 16:09:04 +09:00
syuilo
525b6a7677 feat(frontend): chat widget 2025-04-15 15:37:29 +09:00
syuilo
7c0806f208 feat(frontend): chat column
Resolve #15830
2025-04-15 15:36:53 +09:00
dakkar
ab572a6ed6 specal-case cloudGets for empty request/response
as the comment says, frontend boot calls `cloudGets` with an empty
`needs`, and upstream's code returns an empty object without calling
the API (because the call `i/registry/get` for each element in
`needs`), but we have to special-case it
2025-04-14 17:29:06 +01:00
dakkar
31249a571f fix imports in following-feed 2025-04-14 17:08:03 +01:00
dakkar
fc8f06f764 regen locales/index.d.ts 2025-04-14 16:05:37 +01:00
dakkar
ee79061384 move "request data export" from "other" to "accont data" 2025-04-14 16:05:21 +01:00
dakkar
4d76243662 move cw settings into preferences / "posting form" 2025-04-14 15:56:04 +01:00
dakkar
65683de740 make boost settings folder auto-open when searched for 2025-04-14 15:55:44 +01:00
dakkar
9fac251c43 add search label for "ticker on replies" 2025-04-14 15:55:32 +01:00
dakkar
7a2bf22a0a add search label for "default like" 2025-04-14 15:55:20 +01:00
dakkar
eeabaf2a9a remove duplicate "remember note visibility" section
it's already in `settings/preferences.vue`
2025-04-14 15:17:07 +01:00
dakkar
80032cdd1d remove enableCondensedLine setting
nothing uses it anymore
2025-04-14 15:11:35 +01:00
dakkar
bdaccb21eb remove translations that have been upstreamed 2025-04-14 15:08:32 +01:00
dakkar
d3baf735e6 allow / in objectStoragePrefix 2025-04-14 14:56:02 +01:00
Hazelnoot
c866c16ed3 remove duplicate button in MkDrive.vue 2025-04-13 19:59:16 -04:00
Hazelnoot
5f3837b6ca fix indentation in CONTRIBUTING.md 2025-04-13 19:58:46 -04:00
Hazelnoot
596a2e4553 remove unused imports from vite.config.ts 2025-04-13 19:58:12 -04:00
Hazelnoot
d1682ee7cc relax rate limit on /users endpoint 2025-04-13 19:56:43 -04:00
Hazelnoot
2d04c76260 make username matching consistent between lookup.ts and search.user.vue 2025-04-13 19:55:20 -04:00
Hazelnoot
423fdded14 remove "view source" banner 2025-04-13 19:54:26 -04:00
Hazelnoot
36af13e170 add title to following-column.vue 2025-04-13 19:52:52 -04:00
Hazelnoot
f43fde46fa use get-all to fetch frontend preferences 2025-04-13 19:51:06 -04:00
Hazelnoot
a043333b3c move "test notification dot" button under SearchMarker 2025-04-13 19:33:12 -04:00
Hazelnoot
ffa92d222c swap search blocks to reduce merge effort 2025-04-13 19:30:57 -04:00
Hazelnoot
7b4089b8e4 pass displayBackButton from PageWithHeader to MkPageHeader 2025-04-13 19:29:50 -04:00
Hazelnoot
d647daae0e factor out SkLazy 2025-04-13 19:27:44 -04:00
Hazelnoot
7e9e018b09 plan animated MFM when requested 2025-04-13 19:22:32 -04:00
Hazelnoot
8957cd9f3e Make NoteEdit entity match the database schema 2025-04-13 19:19:49 -04:00
Hazelnoot
353728929e restore poll and myReaction for packed notes 2025-04-13 19:05:16 -04:00
Hazelnoot
bfcb877bc4 map sentryForFrontend config from env variables 2025-04-13 19:04:57 -04:00
Hazelnoot
4ae96e48db remove unnecessary comment 2025-04-13 18:51:00 -04:00
Hazelnoot
a28b80a0dd Merge remote-tracking branch 'origin/merge/2025-03-24-dakkar' into merge/2025-03-24 2025-04-13 13:08:00 -04:00
Hazelnoot
91fb75dece Merge branch 'develop' into merge/2025-03-24 2025-04-13 13:07:24 -04:00
Hazelnoot
7132696285 Merge tag '2025.4.0' into merge/2025-03-24
# Conflicts:
#	.github/workflows/storybook.yml
#	locales/index.d.ts
#	package.json
#	packages/backend/src/models/json-schema/role.ts
#	packages/frontend/src/components/MkPageWindow.vue
#	packages/frontend/src/pages/admin/roles.editor.vue
#	packages/frontend/src/pages/admin/roles.vue
#	packages/frontend/src/pages/settings/preferences.vue
#	packages/frontend/src/pages/settings/privacy.vue
#	packages/frontend/src/pages/timeline.vue
#	packages/frontend/src/pref-migrate.ts
#	packages/frontend/src/ui/_common_/common.vue
#	packages/frontend/src/ui/deck.vue
#	packages/frontend/src/ui/universal.vue
#	packages/misskey-js/src/autogen/types.ts
2025-04-13 13:07:09 -04:00
おさむのひと
0d4feed6d3
enhance(backend): フォローしているユーザーならフォロワー限定投稿のノートでもアンテナで検知できるように (#15264)
* フォローしているユーザーなら鍵ノートでもアンテナにひっかかるように

Co-authored-by: kozakura913 <98575220+kozakura913@users.noreply.github.com>
Co-authored-by: mai <74494945+chan-mai@users.noreply.github.com>

* Eliminate build errors by resolving conflicts

* 低コストな判定文を前にもってきて重い判定文に入る可能性を少しでも下げる

* fix CHANGELOG.md

* fix CHANGELOG.md

* fix diff

* removed comment

* fix CHANGELOG.md

---------

Co-authored-by: kozakura913 <98575220+kozakura913@users.noreply.github.com>
Co-authored-by: mai <74494945+chan-mai@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-04-13 20:48:18 +09:00
おさむのひと
1f0621b085
レプリケーション設定時におけるinsertOne()の挙動を調整 (#15109)
* returningを含むクエリをmasterで動かす

* wip

* wip

* fix CHANGELOG.md

* 調整

* fix

* fix import
2025-04-13 20:44:44 +09:00
anatawa12
4c473eb76d
fix: resolve with non-lowercased acct is broken (#15813)
* fix: resolve with non-lowercased acct is broken

* docs(changelog): Fix: 大文字を含むユーザの URL で紹介された場合に 404 エラーを返す問題
2025-04-13 18:34:33 +09:00
かっこかり
f7195d54d0
fix(frontend): 自動バックアップが設定されていない環境では設定が消滅する旨の警告を出すように (#15802)
* fix(frontend): 自動バックアップが設定されていない環境ではローカルの設定を削除しないように

* Update Changelog

* fix lint

* fix: 警告を出すだけのみにする

* fix

* apply suggestion
2025-04-13 16:59:01 +09:00
かっこかり
8edf1bc208
fix(backend): サーバー名の変更をシステムアカウントの名前に反映するように (#15806)
* fix(backend): サーバー名の変更をシステムアカウントの名前に反映するように

* Update Changelog
2025-04-13 16:21:18 +09:00
かっこかり
dd5dd6184a
fix(frontend): keyval-storeの値が削除できずに処理が止まる問題を修正 (#15803)
* fix(frontend): keyval-storeの値が削除できずに処理が止まる問題を修正

* Update Changelog

* implement abortcontroller

* fix lint
2025-04-13 15:48:43 +09:00
dakkar
ebc1001e3f put clickToOpen and collapseFiles back 2025-04-12 13:47:39 +01:00
dakkar
f9c61b452e fix where of our settings, should fix migrations 2025-04-12 13:47:24 +01:00
dakkar
be76469d4f put autoloadConversation back
it got lost in the merge
2025-04-12 13:29:24 +01:00
dakkar
dbb04c6c0a fix type in MkEmojiPicker 2025-04-12 11:54:56 +01:00
dakkar
3ff3484dba update SkOldNoteWindow
* fix nyaize
* make MkPoll and plugins the same as `[MS]kNote`
2025-04-12 11:54:14 +01:00
dakkar
c4d886933e fix the models of some of our prefs 2025-04-12 11:23:03 +01:00
dakkar
e1745ea23c sort our store/prefs, migrate all of them
also fix `cornerRadius`
2025-04-12 11:21:11 +01:00
dakkar
e33d8deeee mark Sharkey's old prefs 2025-04-12 10:52:22 +01:00
renovate[bot]
81bf139e3e
fix(deps): update dependency @nestjs/common to v11.0.16 [security] (#15800)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-12 16:04:20 +09:00
Marie
7faef0d11e merge: feat: Allow injection of raw HTML strings inside <head> (!959)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/959

Closes #1029

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-04-12 00:11:55 +00:00
Zlendy
cf260762f4
docs: Add usage example of "customHtml.head" to ".config/example.yml" 2025-04-11 22:56:33 +02:00
Zlendy
ce26d8d3cb
feat: Allow injection of raw HTML strings inside <head> 2025-04-11 22:56:26 +02:00
Marie
965ba1ef76 merge: Fix SPDX-Header in two files (!958)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/958

Closes #1027

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-04-11 10:45:42 +00:00
Marie
e2507b9e0a Update 2 files
- /packages/frontend/src/scripts/chiptune2.ts
- /packages/frontend/src/components/SkModPlayer.vue
2025-04-11 08:17:49 +00:00
renovate[bot]
a0e9895764
fix(deps): update [backend] update dependencies (#15690)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-10 19:50:25 +09:00
かっこかり
413324a278
refactor(frontend): frontendの検索インデックス作成のスタンドアロンコマンド実装を完全に削除 (#15790)
This reverts commit e594fb0037.
2025-04-10 18:48:40 +09:00
renovate[bot]
e2b68aabae
fix(deps): update [frontend] update dependencies (#15736)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-10 18:26:01 +09:00
github-actions[bot]
0aaeb6d136 [skip ci] Update CHANGELOG.md (prepend template) 2025-04-09 02:17:33 +00:00
github-actions[bot]
fb277501a0 Release: 2025.4.0 2025-04-09 02:17:29 +00:00
syuilo
718138509f Update CHANGELOG.md 2025-04-09 10:56:57 +09:00
github-actions[bot]
a1ef38a606 Bump version to 2025.4.0-rc.5 2025-04-08 23:21:42 +00:00
zyoshoka
4a8b7ef23e
fix(ci): correct condition for skipping Chromatic build (#15783) 2025-04-09 08:10:17 +09:00
anatawa12
1f17161dfb
feat: show file name for warning / errors of [create-search-index] (#15785) 2025-04-09 08:10:04 +09:00
syuilo
2488708934
New Crowdin updates (#15781)
* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)
2025-04-09 08:09:43 +09:00
anatawa12
628a0c71a9
fix: direct does not work in nested route (#15784) 2025-04-09 08:09:08 +09:00
syuilo
b40f5b9021 fix typo 2025-04-09 08:08:28 +09:00
syuilo
0f79db6a4d refactor 2025-04-09 08:05:27 +09:00
syuilo
910e097480 add missing SearchMarker 2025-04-09 08:04:00 +09:00
syuilo
a8acbd6e68 refactor 2025-04-09 08:01:10 +09:00
syuilo
c19f51a2ab resolve promise
https://github.com/misskey-dev/misskey/pull/15735#discussion_r2033387035
2025-04-09 07:56:20 +09:00
syuilo
1cf370882e add missing SearchMarker 2025-04-09 07:51:24 +09:00
syuilo
58cb7cf179 update i18n 2025-04-08 20:58:56 +09:00
syuilo
a51192bac5 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-04-08 20:50:41 +09:00
syuilo
c500e4392a hideNotesInSensitiveChannel -> excludeNotesInSensitiveChannel 2025-04-08 20:50:38 +09:00
syuilo
799226412f
Update CHANGELOG.md
Co-authored-by: anatawa12 <anatawa12@icloud.com>
2025-04-08 20:44:15 +09:00
syuilo
0d18c0169f
New Crowdin updates (#15776)
* New translations ja-jp.yml (German)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)
2025-04-08 18:18:02 +09:00
syuilo
863fb5dd7f Update CHANGELOG.md 2025-04-08 15:20:36 +09:00
syuilo
177943b06a Update CHANGELOG.md 2025-04-08 15:19:33 +09:00
syuilo
2aa7630466 🎨 2025-04-08 15:10:51 +09:00
syuilo
c96f345f01 fix(frontend): fix control panel style 2025-04-08 10:56:52 +09:00
syuilo
baf04a1e25 fix(frontend): Fix #15764 2025-04-08 10:38:04 +09:00
syuilo
40097d4aac clean up 2025-04-08 10:37:44 +09:00
github-actions[bot]
01cd398799 Bump version to 2025.4.0-rc.4 2025-04-07 23:44:45 +00:00
syuilo
3d206d2a0f enhance(frontend): 設定検索時に対象が含まれるMkFolderを自動で開いておくように 2025-04-08 08:43:56 +09:00
syuilo
e8758bf77d Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-04-08 08:31:54 +09:00
syuilo
278629046a 🎨 2025-04-08 08:31:52 +09:00
syuilo
3374a587a1 refactor 2025-04-08 08:28:17 +09:00
syuilo
ce721a8066
New Crowdin updates (#15773)
* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)
2025-04-08 08:19:44 +09:00
syuilo
547d6361b7 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-04-08 08:18:51 +09:00
syuilo
f765b374c7 refactor 2025-04-08 08:18:48 +09:00
dakkar
ffbf33bcb3 further settings search fixes 2025-04-07 17:38:40 +01:00
dakkar
13bf4b919b label the cat 2025-04-07 17:32:42 +01:00
dakkar
42aedca5d7 add some missing preferences to the definitions 2025-04-07 17:31:25 +01:00
dakkar
be3366d6db add MkPreferenceContainer for our settings 2025-04-07 17:12:47 +01:00
dakkar
c5aee8c92b improve search for "default with replies" 2025-04-07 16:56:49 +01:00
dakkar
09b8bda990 maybe improve/fix privacy settings search
a bunch of label/markers/keywords had gone missing

plus I've added those for our settings
2025-04-07 16:56:49 +01:00
github-actions[bot]
b0c0d1b294 Bump version to 2025.4.0-rc.3 2025-04-07 10:49:27 +00:00
syuilo
7f1cd614db Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-04-07 19:45:31 +09:00
syuilo
33e6ebb2ee enhance(frontend): improve and refactor mobile nav footer 2025-04-07 19:45:28 +09:00
syuilo
65b4458474 fix(frontend): fix drawer menu style 2025-04-07 19:31:15 +09:00
かっこかり
9d3f3264fd
enhance: チャットの閲覧を無効化できるように (#15765)
* enhance: チャットの閲覧を無効化できるように

* fix

* fix

* fix

* readonlyの説明を追加

* enhance: チャットが無効な場合はチャット関連の設定も隠すように

* fix

* refactor: ChatServiceからApiに関するドメイン知識を排除
2025-04-07 19:09:11 +09:00
syuilo
6c27ab12eb
Update CHANGELOG.md 2025-04-07 17:30:44 +09:00
github-actions[bot]
1ca8d227df Bump version to 2025.4.0-rc.2 2025-04-07 08:17:46 +00:00
syuilo
154b89f07a 🎨 2025-04-07 17:16:08 +09:00
syuilo
3a8d015194 enhance(frontend): improve search index 2025-04-07 17:03:43 +09:00
syuilo
fa52922331 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-04-07 16:39:08 +09:00
syuilo
5b0f594f15 fix(backend): 非ログインでタイムラインのストリームに接続した際、表示にログイン必須のノートが流れる場合がある問題を修正 2025-04-07 16:39:03 +09:00
syuilo
297d5e3001
New Crowdin updates (#15761)
* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)
2025-04-07 16:31:28 +09:00
anatawa12
85a7b10fcd
refactor serach index generator code (#15772)
* refactor: flatten search index

* chore: use Function() to simplify parsing attribute

* chore: remove comment handling

* chore: simplify processing SearchLabel and SearchKeyword element

* chore: use SearchLabel in mutedUsers

* chore: small improvements

* chore: remove a fallback path and simplify the entire code

* fix: result path is not correct

* chore: inline function
2025-04-07 14:35:32 +09:00
syuilo
2349a5d20e 🎨
Fix #15753
2025-04-07 10:29:51 +09:00
syuilo
6ef5c8bb92 enhance(frontend): improve migration of old settings 2025-04-07 10:21:49 +09:00
zyoshoka
1ede45c8fb
fix(ci): fix Chromatic CI not being skipped for dependency update branches (#15766) 2025-04-07 09:55:18 +09:00
Marie
337b352425 merge: display announcement text as mfm block (!957)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/957

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-04-06 18:17:32 +00:00
dakkar
3f1a2c6cc5 display announcement text as mfm block
the `announcements.vue` page already does that
2025-04-06 16:24:49 +01:00
Marie
3522af186d merge: add deleteThisAccountConfirm locale (!956)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/956

Closes #1025

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-04-06 10:57:56 +00:00
Marie
2b510dc2da
upd: add deleteThisAccountConfirm 2025-04-06 00:16:36 +02:00
Hazelnoot
6095b3305c remove docs for regenerate-search-index, as it's now a vite plugin 2025-04-05 12:24:54 -04:00
Hazelnoot
7e7350eab5 Merge branch 'misskey-develop' into merge/2025-03-24
# Conflicts:
#	.github/workflows/storybook.yml
#	package.json
#	packages/frontend/src/utility/autogen/settings-search-index.ts
#	pnpm-lock.yaml
2025-04-05 12:24:00 -04:00
syuilo
f9a3db2ac3 refactor(frontend): refactor styles 2025-04-05 19:49:29 +09:00
syuilo
1626e8038b Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-04-05 19:45:14 +09:00
syuilo
f71843a7d3 refactor(frontend): refactor divider of panel style 2025-04-05 19:45:11 +09:00
zyoshoka
91416527c2
fix(ci): quote branches-ignore pattern in Storybook workflow (#15762) 2025-04-05 19:32:48 +09:00
anatawa12
e24d799c0a
chore: set ignorePatchFailures to false (#15763) 2025-04-05 19:32:35 +09:00
github-actions[bot]
d54153f24e Bump version to 2025.4.0-rc.1 2025-04-05 01:28:52 +00:00
syuilo
bc60411f91
New Crowdin updates (#15752)
* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (English)
2025-04-05 10:27:43 +09:00
syuilo
db48b320f5 enhance(frontend): 設定移行時にナビゲーションバーにチャットを追加するように
チャットがどこにあるか分かりにくいという意見が多いため
2025-04-05 09:32:57 +09:00
anatawa12
22f874c81d
fix: chromatic failure (#15757) 2025-04-05 08:46:48 +09:00
anatawa12
5949bb6c7f
fix: unnecesary HMR when we opened setting page (#15756)
* refactor: add MarkerIdAssigner instead of processVueFile and remove transformedCodeCache object

* chore: add minimatch, a glob matcher

* chore: expose MarkerIdAssigner from plugin

* Revert "chore: expose MarkerIdAssigner from plugin"

This reverts commit 88c6d820f8635c35f1c15b4aac0987075d7cf8aa.

* chore: add plugin to generate virtual module

* chore: parse inlining earlier

* chore: use virtual module in search

* chore: use remove old generation

* chore: fix type errors

* chore: add patch to workaround vitejs/vite#19792

* chore: improve filtering files to process

* chore: rename plugin

* docs: add comment for plugin ordering

* fix: unnecessary log

* fix: spdx license header
2025-04-05 08:46:17 +09:00
Hazelnoot
3eeb53ff63 Merge branch 'misskey-develop' into merge/2025-03-24
# Conflicts:
#	package.json
#	packages/backend/src/core/AccountMoveService.ts
#	packages/frontend/src/components/MkDateSeparatedList.vue
#	packages/misskey-js/etc/misskey-js.api.md
#	pnpm-lock.yaml
2025-04-03 22:06:37 -04:00
Hazelnoot
967f31daa7 refactor bubble-timeline.ts to match global-timeline.ts and local-timeline.ts 2025-04-03 22:02:32 -04:00
syuilo
ea9d85a0cc
New Crowdin updates (#15740)
* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Korean (Gyeongsang))

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Traditional)
2025-04-03 21:29:45 +09:00
github-actions[bot]
96b21484db Bump version to 2025.4.0-rc.0 2025-04-03 10:28:38 +00:00
anatawa12
cab82452ec
Copy role on move (#15745)
* feat(backend): copyOnMoveAccount

* feat(endpoints): copyOnMoveAccount

* feat(frontend): copyOnMoveAccount

* docs(changelog): アカウントのマイグレーション時に古いアカウントからロールをコピーできるようになりました。

* fix: spdx header for migration

* Update locales/ja-JP.yml

* copyOnMoveAccount -> preserveAssignmentOnMoveAccount

* fix: check for preserveAssignmentOnMoveAccount

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-04-03 19:22:49 +09:00
syuilo
440a4a4d8b refactor(frontend): refactor MkDateSeparatedList 2025-04-03 15:42:25 +09:00
syuilo
4be9b25185 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-04-03 15:34:15 +09:00
syuilo
8b7cba1ede 🎨 2025-04-03 15:34:13 +09:00
github-actions[bot]
1188ec458d Bump version to 2025.4.0-beta.2 2025-04-03 06:32:20 +00:00
かっこかり
e07bb1dcbc
fix: チャット周りの修正 (#15741)
* fix(misskey-js): チャットのChannel型定義を追加

* fix(backend); canChatで塞いでいない書き込み系のAPIを塞ぐ

* fix(frontend): チャット周りのフロントエンド型修正

* lint fix

* fix broken lockfile

* fix

* refactor

* wip

* wip

* wip

* clean up

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-04-03 15:28:10 +09:00
syuilo
7cecaa5c54 perf(frontend): avoid main thread scroll repaint 2025-04-03 14:32:42 +09:00
syuilo
1779a23e25 🎨 2025-04-03 13:31:13 +09:00
zyoshoka
d7365eb126
fix(storybook): update obsolete method for preferences (#15750) 2025-04-03 12:54:08 +09:00
Hazelnoot
5ee7049fad fix lint error in e2e/antennas.ts 2025-04-02 22:38:37 -04:00
syuilo
455be80b4f fix(backend): 非ログインでタイムラインのストリームに接続した際、表示にログイン必須のノートが流れる場合がある問題を修正 2025-04-03 11:32:55 +09:00
Hazelnoot
db58f4dda7 fix type error in NotificationService.ts 2025-04-02 22:31:53 -04:00
Hazelnoot
5e941385db Merge branch 'misskey-develop' into merge/2025-03-24 2025-04-02 22:29:37 -04:00
Hazelnoot
dab9b518e4 merge from misskey-develop 2025-04-02 22:29:14 -04:00
Hazelnoot
676c78c71e fix vue warning about render functions 2025-04-02 22:16:39 -04:00
syuilo
1a3866c4f6 fix(backend/chat): 自分が作ったチャットルームに他人がメッセージを送ったときに未読にならない
Fix #15748
2025-04-03 11:15:16 +09:00
Hazelnoot
36ba07ae9b assign name to MkMfm component 2025-04-02 22:13:46 -04:00
Hazelnoot
662153dee7 fix vue error from disableNotes in home.vue 2025-04-02 22:00:55 -04:00
Hazelnoot
39470fb0f8 Revert "optimize MFM rendering and fix Vue warning"
This reverts commit 5239d59f44.
2025-04-02 21:55:16 -04:00
Hazelnoot
7c49b633a6 fix vue errors from dynamic note components 2025-04-02 21:55:08 -04:00
Hazelnoot
a7179928bc fix type errors involving use-note-capture.vue 2025-04-02 21:47:11 -04:00
Hazelnoot
1eb8ca1cfd fix type error in MkTimeline.vue 2025-04-02 21:46:59 -04:00
Hazelnoot
44a82cb57a fix imports in common.ts 2025-04-02 21:46:46 -04:00
Hazelnoot
022a9c7676 fix vue errors in overview.stats.vue 2025-04-02 21:27:23 -04:00
Hazelnoot
d7784ea4ff improve debugging stack traces in MkPagination.vue 2025-04-02 21:27:05 -04:00
Hazelnoot
b5a3066a06 fix vue error from missing import in preferences.vue 2025-04-02 21:10:41 -04:00
Hazelnoot
379f43568a fix imports 2025-04-02 21:04:41 -04:00
Hazelnoot
74a4a5ae48 add missing v-else to MkNotes.vue 2025-04-02 21:04:32 -04:00
Hazelnoot
297666ac82 remove unused parameter from get-note-versions-menu.ts 2025-04-02 21:04:17 -04:00
Hazelnoot
7f577bd0a9 fix Vue warning from MkCustomEmoji.vue 2025-04-02 21:02:20 -04:00
Hazelnoot
5239d59f44 optimize MFM rendering and fix Vue warning 2025-04-02 14:37:45 -04:00
Hazelnoot
774f3c5d3a fix Vue errors from WidgetFederation.vue 2025-04-02 14:37:26 -04:00
Hazelnoot
65792d9b75 fix oneko setting 2025-04-02 14:24:11 -04:00
Hazelnoot
811d8a87ef fix import errors in MkNotification.vue 2025-04-02 14:18:00 -04:00
Hazelnoot
344b51f447 fix weird directory errors when running pnpm under certain versions of powershell core on windows 2025-04-02 11:02:57 -04:00
Hazelnoot
74d301dcf1 fix frontend lint errors 2025-04-02 10:59:23 -04:00
Hazelnoot
33b9f998da exclude storybook components from restricted globals rule 2025-04-02 10:42:04 -04:00
Hazelnoot
f9c1535147 fix backend lint errors 2025-04-02 10:35:11 -04:00
Hazelnoot
9dffb13be7 fix test errors in MfmService.ts 2025-04-02 09:47:49 -04:00
Hazelnoot
2eae1797cb fix lint errors in SkRemoteFollowersWarning.vue and MkInfo.vue 2025-04-02 09:36:18 -04:00
Hazelnoot
1840aad741 replace ti-caret-down icon 2025-04-02 09:33:10 -04:00
syuilo
d07552424c 🎨 2025-04-02 19:48:32 +09:00
syuilo
e4ceab5f6c Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-04-02 19:16:18 +09:00
syuilo
e1dc1e5111 🎨 2025-04-02 19:16:16 +09:00
syuilo
3a16af4b4b
Update CHANGELOG.md 2025-04-02 16:01:48 +09:00
Nanashi.
98eadd7093
feat: アンテナでセンシティブなチャンネルからのノートを除外できるように (#15346)
* feat(db): マイグレーションを追加

* feat(backend): カラムの定義を追加

* wip

* feat: フラグを設定出来るように

* feat: /notesエンドポイントを対応

* feat: websocketを対応

* test: テストを追加

* docs: CHANGELOGを更新

* docs: CHANGELOGの追加場所を修正

* chore: api.jsonを更新

* docs(CHANGELOG): General欄に移動

* docs: フォーマットを揃える

* chore: クエリを削除

* revert: 英訳を消す

* chore: note.channelを追加するところを変える

* docs: CHANGELOGを更新する

* docs(CHANGELOG): 2025.3.2に移動

* chore: changelogを下に移動

* ci: CI再実行用の空コミット

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-04-02 16:01:24 +09:00
zyoshoka
0bf49818c4
enhance: implement sentryForFrontend (#15433)
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-04-02 15:44:04 +09:00
syuilo
d0a98f6e6c fix(frontend): Fix #15744 2025-04-02 13:04:03 +09:00
anatawa12
102578712b
fix: iPadでdeck uiでマウスホイールでスクロールできない (#15244)
* fix: ipadでdeck uiでスクロールできない

* docs(changelog): iPadOSでdeck uiをマウスカーソルによってスクロールできない問題を修正

* chore: remove pointermove listener

* lint: use window.document

* chore: use passive pointerdown event
2025-04-02 10:48:57 +09:00
github-actions[bot]
2e0c80bc21 Bump version to 2025.4.0-beta.1 2025-04-02 01:47:33 +00:00
Hazelnoot
fa12f4c9b0 fix type error in check-word-mute.ts 2025-04-01 21:39:57 -04:00
Hazelnoot
c9186236f9 replace new icons 2025-04-01 21:38:40 -04:00
Hazelnoot
35649b03c7 fix type errors in SkFollowingRecentNotes.vue and SkUserRecentNotes.vue 2025-04-01 21:38:26 -04:00
syuilo
d44fd87b69
Update CHANGELOG.md 2025-04-02 10:37:48 +09:00
anatawa12
55d835ad51
Fix: 通知のページネーションで2つ以上読み込めなくなることがある問題 (#15277)
* fix: notifications-groupedのinclude/exclude typesに:groupedを指定できてしまう問題

* refactor: 通知の取得処理を Notification Service に移動

* feat: add function to parse additional part of id

* fix: 通知のページネーションが正しく動かない問題

Redisにのページネーションで使用する時間及びidとRedis上のものが混同されていたので、Misskeyが生成するものに寄せました。

* pnpm run build-misskey-js-with-types

* chore: XADDをretryするように

* fix: notifications-groupedでxrevrangeしているのを消し忘れていた
2025-04-02 10:37:16 +09:00
syuilo
3ec5bf114b 🎨 2025-04-02 10:25:53 +09:00
Hazelnoot
a4a53e03db fix type errors in WidgetSearch.vue 2025-04-01 21:10:16 -04:00
syuilo
a5f9eba974 enhance(frontend): インストールしたテーマをデバイス間で同期できるように 2025-04-02 10:09:25 +09:00
Hazelnoot
6b2ef370b0 fix type errors in approvals.vue 2025-04-01 21:08:04 -04:00
Hazelnoot
65ddf9ba8a fix imports in recent-notes.vue 2025-04-01 21:06:45 -04:00
Hazelnoot
dbcfbad196 fix $i imports 2025-04-01 21:03:45 -04:00
Hazelnoot
c6e775302b fix import errors in following-feed.vue 2025-04-01 21:02:14 -04:00
Hazelnoot
7fe17de5cf fix import of sfm-js 2025-04-01 20:56:58 -04:00
Hazelnoot
6ac37b4d6c lint and type fixes 2025-04-01 20:47:04 -04:00
Hazelnoot
54071efaea fix typo in check_connect.js 2025-04-01 16:07:36 -04:00
Hazelnoot
dcc6e68c08 docs: add instructions to update chart/files/default.yml 2025-04-01 16:04:48 -04:00
Hazelnoot
5b6262da66 update chart/files/default.yml 2025-04-01 16:04:35 -04:00
Hazelnoot
fb4dc62b7b fix lint errors in store.ts 2025-04-01 16:01:53 -04:00
Hazelnoot
77ae3e188b fix lint errors in theme.ts 2025-04-01 16:01:41 -04:00
Hazelnoot
4bdbbecc77 fix following feed save 2025-04-01 15:43:04 -04:00
Hazelnoot
4d42107acb docs: add instructions to regenerate assets and search index 2025-04-01 15:40:29 -04:00
Hazelnoot
491c5afa63 regenerate settings search index 2025-04-01 15:40:12 -04:00
Hazelnoot
906bbb4baa correct references to removed _ghost class 2025-04-01 15:22:04 -04:00
Hazelnoot
3b9de1c4bb fix type errors in auth.vue 2025-04-01 15:21:42 -04:00
Hazelnoot
126d2119a3 fix type errors in SkNoteDetailed.vue 2025-04-01 14:41:04 -04:00
Hazelnoot
ffe0ecb4c5 fix import order in MkPostForm 2025-04-01 14:28:45 -04:00
Hazelnoot
d8b692fd3b fix lint error in MkPageHeader 2025-04-01 12:50:03 -04:00
Hazelnoot
8b5768f848 add DynamicNoteSimple.vue 2025-04-01 12:49:53 -04:00
Hazelnoot
61019158ce add DynamicNoteDetailed.vue 2025-04-01 12:49:30 -04:00
Hazelnoot
d272d6f224 fix software name in boot.embed.js, boot.js, and error.js 2025-04-01 12:30:35 -04:00
Hazelnoot
d39e4babd1 fix development link in error.pug 2025-04-01 12:29:08 -04:00
Hazelnoot
2e2ae21a09 remove no-op Connection.cachedNotes and Connection.cacheNote 2025-04-01 12:28:16 -04:00
Hazelnoot
3455223fec replace email validation regex with a simpler alternative 2025-04-01 12:20:49 -04:00
Hazelnoot
ddbf5f354c improve result message in ApPersonService.updatePerson 2025-04-01 12:10:17 -04:00
Hazelnoot
1c5df0e8e2 add TODO reminder to ApRendererService.ts 2025-04-01 12:10:03 -04:00
Hazelnoot
02fa8f03e5 docs: add instructions to update toMastoApiHtml 2025-04-01 12:09:54 -04:00
Hazelnoot
3034c94c24 copy changes from toHtml to toMastoApiHtml 2025-04-01 12:09:43 -04:00
Hazelnoot
067d56ba03 docs: add instructions for updating ci.yml 2025-04-01 11:54:08 -04:00
Hazelnoot
6aab189ad1 copy changes to ci.yml 2025-04-01 11:53:56 -04:00
Hazelnoot
6ad9d20b02 docs: add instructions for updating DynamicNote 2025-04-01 11:50:41 -04:00
Hazelnoot
67cecda7fb fix store in warning-external-website.ts 2025-04-01 11:44:00 -04:00
Hazelnoot
de279a86b2 fix store in privacy.vue 2025-04-01 11:43:05 -04:00
Hazelnoot
8a43465a7b fix store in DynamicNote.vue 2025-04-01 11:38:48 -04:00
Hazelnoot
bf32cf85b8 fix errors in timeline.vue 2025-04-01 11:37:27 -04:00
Hazelnoot
66f4976c5e copy changes to SkNoteSub.vue 2025-04-01 11:34:30 -04:00
Hazelnoot
7549f24702 fix errors in MkNoteSub.vue 2025-04-01 11:34:19 -04:00
Hazelnoot
3482570169 copy changes to SkNoteSimple.vue 2025-04-01 11:30:12 -04:00
Hazelnoot
d44ccdda59 copy changes to SkNoteHeader.vue 2025-04-01 11:28:53 -04:00
Hazelnoot
577facfb2e copy changes to SkNoteDetailed.vue 2025-04-01 11:22:41 -04:00
Hazelnoot
b22e7aa2e9 fix import order in MkNoteDetailed.vue 2025-04-01 11:22:33 -04:00
Hazelnoot
927198f3be docs: enumerate Mk/Sk note components to sync 2025-04-01 11:14:47 -04:00
Hazelnoot
6f0a8fd9dd copy changes from MkNote to SkNote 2025-04-01 11:11:01 -04:00
Hazelnoot
cdfc446cc7 fix store error in MkNote.vue 2025-04-01 11:10:54 -04:00
Hazelnoot
6ad0669a51 reformat upstream merge instructions 2025-04-01 10:56:08 -04:00
Hazelnoot
fffa6c97fe copy changes to notes/edit.ts 2025-04-01 10:55:56 -04:00
Hazelnoot
e37c2611f7 fix missing import in UserEntityService.ts 2025-04-01 10:31:45 -04:00
Hazelnoot
ea0371de34 copy changes to NoteEditService.ts 2025-04-01 10:29:58 -04:00
Hazelnoot
0e3f2a90cf copy changes to ApNoteService.updateNote 2025-04-01 10:17:29 -04:00
Hazelnoot
383633873d fix backend type errors 2025-04-01 10:12:59 -04:00
Hazelnoot
7ff15816d1 Merge branch 'misskey-develop' into merge/2025-03-24
# Conflicts:
#	.github/workflows/api-misskey-js.yml
#	.github/workflows/changelog-check.yml
#	.github/workflows/check-misskey-js-autogen.yml
#	.github/workflows/get-api-diff.yml
#	.github/workflows/lint.yml
#	.github/workflows/locale.yml
#	.github/workflows/on-release-created.yml
#	.github/workflows/storybook.yml
#	.github/workflows/test-backend.yml
#	.github/workflows/test-federation.yml
#	.github/workflows/test-frontend.yml
#	.github/workflows/test-misskey-js.yml
#	.github/workflows/test-production.yml
#	.github/workflows/validate-api-json.yml
#	locales/index.d.ts
#	package.json
#	packages/misskey-js/generator/package.json
#	packages/misskey-js/package.json
#	pnpm-lock.yaml
#	scripts/changelog-checker/package-lock.json
#	scripts/changelog-checker/package.json
2025-04-01 09:59:46 -04:00
github-actions[bot]
bd8162c2bd Bump version to 2025.4.0-beta.0 2025-04-01 08:19:26 +00:00
かっこかり
4f206eea9f
refactor(frontend): intl-stringの処理のパフォーマンス向上 (#15737)
* refactor(frontend): intl-stringの処理のパフォーマンス向上

* ✌️
2025-04-01 17:15:22 +09:00
syuilo
f4f9832f8b 🎨 2025-04-01 17:13:58 +09:00
syuilo
70133a88f2 🎨 2025-04-01 16:52:59 +09:00
renovate[bot]
20bc80728c
chore(deps): update [misskey-js] update dependencies (#15692)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-01 16:20:52 +09:00
renovate[bot]
1d9810627e
chore(deps): update [tools] update dependencies (#15689)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-01 15:51:46 +09:00
renovate[bot]
eb5061db29
chore(deps): update [github actions] update dependencies (#15688)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-01 15:49:36 +09:00
renovate[bot]
b0c3ec3267
fix(deps): update dependency vite to v6.2.4 [security] (#15733)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-04-01 15:48:48 +09:00
syuilo
3a6de462bb
Update CHANGELOG.md 2025-04-01 14:04:46 +09:00
github-actions[bot]
b0cdf2feff Bump version to 2025.4.0-alpha.0 2025-04-01 04:52:38 +00:00
github-actions[bot]
4e1e8ff238 Bump version to 2025.3.2-beta.21 2025-04-01 04:33:36 +00:00
syuilo
d04acf04a6
New Crowdin updates (#15725)
* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (German)
2025-04-01 13:29:28 +09:00
syuilo
165c7993e6 fix(frontend): fix PageWithAnimBg style 2025-04-01 13:28:13 +09:00
syuilo
500a5615f0 enhance(frontend): 壁紙をデッキ設定の一部に 2025-04-01 13:18:49 +09:00
Hazelnoot
2983092c06 Merge branch 'misskey-develop' into merge/2025-03-24 2025-03-31 16:07:55 -04:00
Hazelnoot
e7632c83dc Merge branch 'develop' into merge/2025-03-24
# Conflicts:
#	packages/backend/src/server/api/StreamingApiServerService.ts
#	packages/backend/src/server/api/stream/Connection.ts
2025-03-31 15:02:52 -04:00
Hazelnoot
c371af34e8 copy sharkey settings into new frontend preferences model 2025-03-31 14:53:02 -04:00
Hazelnoot
59ce4d6c28 regenerate misskey-js 2025-03-31 14:30:29 -04:00
Hazelnoot
08b8d50124 fix type errors from notes/versions endpoint 2025-03-31 14:30:18 -04:00
Hazelnoot
000b1f4fe2 fix type errors from SponsorsService 2025-03-31 14:29:48 -04:00
Hazelnoot
ebbf167f57 synchronize eslint versions to fix build error 2025-03-31 10:13:23 -04:00
Hazelnoot
b0e908e6c6 fix type errors from os.apiWithDialog 2025-03-31 09:48:23 -04:00
Hazelnoot
42d887819d regenerate package-lock.yaml 2025-03-31 09:31:40 -04:00
syuilo
5aca91251a fix missing import 2025-03-31 20:48:16 +09:00
syuilo
1c683c3fcc fix(frontend): インストールしたテーマがテーマ一覧にすぐ反映されない 2025-03-31 20:36:49 +09:00
syuilo
08072e294b 🎨 2025-03-31 20:17:48 +09:00
github-actions[bot]
f637d0dff9 Bump version to 2025.3.2-beta.20 2025-03-31 08:34:36 +00:00
かっこかり
15a5bb17e3
fix(frontend): チャットのデザイン調整 (#15708)
* fix(frontend): チャットのデザイン調整

* remove unused locales

* 🎨

* Update XMessage.vue

* Update XMessage.vue

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-03-31 17:33:00 +09:00
syuilo
888e04ce82 fix(frontend): tweak deck onboarding 2025-03-31 16:40:44 +09:00
github-actions[bot]
3a028abea5 Bump version to 2025.3.2-beta.19 2025-03-31 04:26:53 +00:00
syuilo
ff59089ad9 🎨 2025-03-31 13:24:20 +09:00
syuilo
93214862b1 🎨 2025-03-31 13:18:50 +09:00
syuilo
ea722b8360 🎨 2025-03-31 13:00:34 +09:00
syuilo
49f1f7194d 🎨 2025-03-31 11:13:02 +09:00
syuilo
8baf54e629 fix(frontend): fix ad rendering of timeline 2025-03-31 11:01:32 +09:00
syuilo
393f893a2c 🎨 2025-03-30 20:51:27 +09:00
syuilo
87a7238976 enhance(frontend): デッキのオプションを追加 2025-03-30 20:44:00 +09:00
Marie
865a9c4906 merge: Prevent streaming API denial-of-service (resolves #1019) (!951)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/951

Closes #1019

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-03-30 10:40:56 +00:00
dakkar
3a6bba3306 merge: Remove visibility of DMs for non-recipient users (!912)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/912

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-03-30 09:20:54 +00:00
syuilo
e0d8702839 perf(frontend): tweak MkRange 2025-03-30 18:13:39 +09:00
syuilo
6e929ece6f fix(frontend): suppress inject warn 2025-03-30 18:13:08 +09:00
Hazelnoot
1bf6cdc17f restore login rate-limit checks 2025-03-30 02:15:51 -04:00
Hazelnoot
a2062c6469 Revert "revert 7bfada9792: enhance: remove bull-board support"
This reverts commit d41d77fcd7.
2025-03-30 02:14:03 -04:00
Hazelnoot
f13f4ac972 show correct source repository link in visitor.vue 2025-03-30 02:10:30 -04:00
Hazelnoot
b6b0a54101 restore following column type 2025-03-30 02:08:28 -04:00
Hazelnoot
ea2a3be70f Merge branch 'develop' into merge/2025-03-24
# Conflicts:
#	packages/backend/src/core/activitypub/models/ApPersonService.ts
2025-03-30 01:58:43 -04:00
Hazelnoot
4ae26e6e18 Merge branch 'misskey-develop' into merge/2025-03-24 2025-03-30 01:58:17 -04:00
syuilo
303b62aff3
New Crowdin updates (#15721)
* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)
2025-03-30 14:34:32 +09:00
syuilo
45b8423429 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-03-30 14:34:14 +09:00
syuilo
0655c8a29b clean up 2025-03-30 14:33:52 +09:00
syuilo
17f3113b92 🎨 2025-03-30 14:30:04 +09:00
syuilo
4f4cb6738c fix(frontend): drop classic ui 2025-03-30 14:25:56 +09:00
github-actions[bot]
591175b42e Bump version to 2025.3.2-beta.18 2025-03-30 02:54:21 +00:00
syuilo
c03f9bff0a 🎨 2025-03-30 11:52:51 +09:00
syuilo
88c743aa33 chore(frontend): remove unused style 2025-03-30 11:45:41 +09:00
syuilo
c06d0b9b42 enhance(frontend): organize settings page 2025-03-30 11:27:35 +09:00
syuilo
4af49e8385 enhance(frontend): organize settings page 2025-03-30 11:16:38 +09:00
syuilo
aeda34e5e7 fix(frontend): 広告が無い場合の表示を修正 2025-03-30 09:11:59 +09:00
syuilo
7d842c1a95 fix(frontend): avoid naming confliction of MkAd 2025-03-30 09:07:15 +09:00
syuilo
93fc2456b3 refactor(frontend): refactor base styles 2025-03-30 08:59:18 +09:00
syuilo
a420a95fae perf(frontend): アニメーション無効時のパフォーマンスを向上 2025-03-30 08:49:14 +09:00
renovate[bot]
2618585a25
fix(deps): update dependency vite to v6.2.3 [security] (#15710)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-30 08:39:40 +09:00
syuilo
61846a04b2
Update CHANGELOG.md 2025-03-29 23:07:46 +09:00
Hazelnoot
922a7ba1d4 track the number of concurrent requests to redis, and bypass if the request is guaranteed to reject 2025-03-29 09:47:05 -04:00
Hazelnoot
47ea8527fd fix wsmessage rate limit definition 2025-03-29 09:44:38 -04:00
syuilo
cce88c904b
Update CHANGELOG.md 2025-03-29 22:16:22 +09:00
syuilo
d866ab12e9
perf(frontend): reduce stacking context in deck 2025-03-29 22:00:01 +09:00
github-actions[bot]
df75715d29 Bump version to 2025.3.2-beta.17 2025-03-29 12:23:35 +00:00
syuilo
02da241ec9 Revert "(test)"
This reverts commit eb4062cf63.
2025-03-29 21:16:25 +09:00
syuilo
eb4062cf63 (test) 2025-03-29 21:02:31 +09:00
syuilo
d9012740a1 enhance(frontend): アイコンのスクロール追従を無効化してパフォーマンス向上できるように 2025-03-29 20:56:59 +09:00
syuilo
1b776a7e7e perf(frontend): reduce stack contexts 2025-03-29 20:02:51 +09:00
syuilo
e0b7c56458 Revert "test"
This reverts commit 2787158a04.
2025-03-29 19:23:30 +09:00
syuilo
2787158a04 test 2025-03-29 18:41:52 +09:00
syuilo
2bbc0878e7 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-03-29 18:03:34 +09:00
syuilo
fb1542429f 🎨 2025-03-29 18:03:31 +09:00
github-actions[bot]
05b23eda59 Bump version to 2025.3.2-beta.16 2025-03-29 09:01:05 +00:00
syuilo
ddd6d72dd7
New Crowdin updates (#15716)
* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Italian)
2025-03-29 17:59:40 +09:00
syuilo
25db8c2fa9 🎨 2025-03-29 17:59:09 +09:00
syuilo
2ad7b010e4 🎨 2025-03-29 17:57:03 +09:00
syuilo
7c06ffc422 refactor 2025-03-29 17:28:20 +09:00
syuilo
df3ed93f84 clean up 2025-03-29 17:15:47 +09:00
syuilo
b030e33856 perf(frontend): improve performance of timeline page 2025-03-29 17:15:31 +09:00
syuilo
7fd3adedee fix tests 2025-03-29 17:00:01 +09:00
syuilo
ae59578115 refactor 2025-03-29 16:55:12 +09:00
syuilo
609a37742c clean up 2025-03-29 16:11:15 +09:00
syuilo
d9d796b204 lint fixes 2025-03-29 16:09:27 +09:00
syuilo
6c2c3f08be refactor(frontend): use symbol for di 2025-03-29 16:04:01 +09:00
syuilo
e5e4390494 fix(frontend): suppress inject warn 2025-03-29 16:01:51 +09:00
syuilo
5a09e7a8b4 lint 2025-03-29 15:57:34 +09:00
syuilo
88e6bd1533 Update eslint.config.js 2025-03-29 15:55:22 +09:00
syuilo
7d8c98767a lint 2025-03-29 15:53:44 +09:00
syuilo
490222fb78 perf(frontend): avoid needless AsyncComponentWrapper 2025-03-29 15:33:19 +09:00
syuilo
1af4081090 enhance(frontend): disable horizontal swipe for timeline/notifications to improve ux 2025-03-29 15:00:29 +09:00
syuilo
33e76f9dfc Revert "🎨"
This reverts commit 3451c9a0de.
2025-03-29 13:55:05 +09:00
syuilo
8dd8f636dc 🎨 2025-03-29 13:52:15 +09:00
syuilo
3451c9a0de 🎨 2025-03-29 13:39:44 +09:00
syuilo
fc88410c0d refactor(frontend): tweak MkNotes and MkNotifications 2025-03-29 13:34:53 +09:00
syuilo
3682c0069c Revert "test"
This reverts commit 2b42e8f171.
2025-03-29 12:27:13 +09:00
syuilo
2b42e8f171 test 2025-03-29 11:18:49 +09:00
Marie
381ea14049
upd: throw indetifiableerror instead of normal error 2025-03-28 20:16:34 +01:00
Marie
003c37e84c
upd: add comment, throw on missing details 2025-03-28 19:42:25 +01:00
Hazelnoot
fafb811333 increase limits on WS note subscriptions and cached notes 2025-03-28 11:44:29 -04:00
Hazelnoot
86e34175d3 SkRateLimiterService revision 3: cache lockouts in memory to avoid redis calls 2025-03-28 11:43:30 -04:00
Hazelnoot
c41d617e63 limit the number of active connections per client, and limit upgrade requests by user 2025-03-28 11:03:31 -04:00
Hazelnoot
eff7321860 avoid duplicate channels in WS connection 2025-03-28 11:03:31 -04:00
Hazelnoot
14a7309cfb avoid leaking cached notes in WS connection 2025-03-28 11:03:31 -04:00
Hazelnoot
045ff5d2c0 make sure that note subscriptions can't stay above limit 2025-03-28 11:03:31 -04:00
Hazelnoot
b8fd9d0bc0 clear subscriptions when connection closes 2025-03-28 11:03:31 -04:00
Hazelnoot
831329499d limit the number of note subscriptions per connection 2025-03-28 11:03:31 -04:00
Hazelnoot
bf1c9b67d6 close websocket when rate limit exceeded 2025-03-28 11:03:31 -04:00
Hazelnoot
18655386f3 convert streaming rate limit to bucket 2025-03-28 11:03:31 -04:00
Marie
0481b25a62
upd: create usingBunnyCDN 2025-03-28 14:36:44 +01:00
Marie
76b0c1ce26
Apply suggestions 2025-03-28 14:31:41 +01:00
dakkar
920bf71eb5 merge: More Mastodon API fixes (resolves #405, #471, and #984) (!954)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/954

Closes #405, #471, and #984

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-03-28 12:45:54 +00:00
dakkar
cc4236e643 merge: Fix actor key rotation (!953)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/953

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-03-28 12:45:49 +00:00
dakkar
ece57345d7 when creating a note as a side-effect, make it silent - fixes #986 2025-03-28 11:26:31 +00:00
github-actions[bot]
e990831a09 Bump version to 2025.3.2-beta.15 2025-03-28 07:39:15 +00:00
syuilo
18355a0838 perf(frontend): avoid main thread scroll repaint 2025-03-28 16:34:21 +09:00
syuilo
811077ca66 perf(frontend): avoid main thread scroll repaint 2025-03-28 15:26:15 +09:00
Marie
137cb430b5
upd: remove default endpoint value 2025-03-28 05:40:59 +01:00
syuilo
1c26dae39f enhance(frontend): リモートアカウントでチャットが使えるかどうか知る術がないため表示を改善 2025-03-28 11:00:45 +09:00
syuilo
c37f9d38a3 enhance(frontend): チャットが開放されていない場合のUIを改善 2025-03-28 10:48:13 +09:00
syuilo
dec3e86e5e enhance(backend): アカウントでチャットが有効になっているかどうかをユーザーのレスポンスに含めるように 2025-03-28 10:48:03 +09:00
syuilo
0c14250678 enhance(frontend): チャットが開放されていない場合のUIを改善 2025-03-28 10:34:25 +09:00
github-actions[bot]
30e0259062 Bump version to 2025.3.2-beta.14 2025-03-28 00:53:31 +00:00
syuilo
26aa7c6ca1
New Crowdin updates (#15707)
* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)
2025-03-28 09:49:59 +09:00
syuilo
29f5e5ca32 fix(frontend): classic uiが表示できない
Fix #15715
2025-03-28 09:49:47 +09:00
syuilo
a25fa62d64 enhance(frontend): ファイルアップロード処理のリファクタと設定の簡略化 2025-03-28 09:47:34 +09:00
Hazelnoot
6dc3c36ba5 fix megalodon tests 2025-03-27 20:39:23 -04:00
Hazelnoot
848a07a170 Ignore notifications that reference missing notes 2025-03-27 20:30:04 -04:00
syuilo
61e09d483e refactor 2025-03-28 09:22:37 +09:00
Hazelnoot
a92416904f use exclusive ranges in api/i/notifications and /api/v1/notifications 2025-03-27 20:20:42 -04:00
zima
482f7856bf Merge pull request 'Update to 2025.2.2' (#61) from update-to-2025.2.2 into dev
Reviewed-on: https://codeberg.org/yeentown/barkey/pulls/61
2025-03-28 00:15:07 +00:00
zima
c7cd6b26f9 Add clean-all to tests 2025-03-27 17:12:47 -07:00
Hazelnoot
876ecb28f0 strip "@." from local reaction names 2025-03-27 19:51:43 -04:00
Hazelnoot
58cdee77d5 convert notification types in mastodon API 2025-03-27 19:51:43 -04:00
Hazelnoot
8a9979b3d3 don't render CW as HTML for mastodon 2025-03-27 19:51:43 -04:00
Hazelnoot
dcdc249e77 fix reaction emoji mapping in mastodon API 2025-03-27 19:51:43 -04:00
Hazelnoot
ebc3abea54 hide sensitive content from Discord previews 2025-03-27 19:51:43 -04:00
Hazelnoot
36dee5ff20 render profile bios in masto API 2025-03-27 19:51:43 -04:00
Hazelnoot
81f7346f80 fixes to CW and quote conversion for mastodon 2025-03-27 19:51:43 -04:00
Hazelnoot
1fa290c3eb handle errors in mastodon search endpoints 2025-03-27 19:51:43 -04:00
Hazelnoot
971bc6fd3e improve mastodon API error handling 2025-03-27 19:51:43 -04:00
Hazelnoot
a81a00e94d rename MastodonConverters.ts to matching naming scheme 2025-03-27 19:51:43 -04:00
Hazelnoot
4754942301 add additional required CORS headers for masto-api requests 2025-03-27 19:51:43 -04:00
Hazelnoot
984be9e7aa enable local timeline in Phanpy clients 2025-03-27 19:51:43 -04:00
Hazelnoot
3c54680860 support reactions in mastodon API 2025-03-27 19:51:43 -04:00
Hazelnoot
fbdee815da remove unused async from toMastoApiHtml / fromMastoApiHtml 2025-03-27 19:51:43 -04:00
Hazelnoot
8d67a8c9ae don't log query parameters from mastodon API 2025-03-27 19:51:43 -04:00
Hazelnoot
fc1d0c958c support Mastodon v4 "link header" pagination 2025-03-27 19:51:43 -04:00
Hazelnoot
3d8930f070 implement /api/v1/favourites 2025-03-27 19:51:43 -04:00
Hazelnoot
aaf49eadee implement /api/v1/bookmarks 2025-03-27 19:51:43 -04:00
Hazelnoot
cac8377e4e fix empty response from /api/v1/notifications 2025-03-27 19:51:43 -04:00
Hazelnoot
178fe16f68 fix empty response from /api/v1/blocks 2025-03-27 19:51:43 -04:00
Hazelnoot
c69f7b87f0 fix empty response from /api/v1/mutes 2025-03-27 19:51:43 -04:00
Hazelnoot
2b03f51315 don't return httpStatusCode in mastodon errors 2025-03-27 19:51:43 -04:00
Hazelnoot
f00a0fee45 minor fixes to /v1/accounts/verify_credentials 2025-03-27 19:51:42 -04:00
Hazelnoot
759e7f05c4 fix megalodon getRelationship function 2025-03-27 19:51:42 -04:00
Hazelnoot
de26ffd60b improve performance of /v1/accounts/relationships 2025-03-27 19:51:42 -04:00
Hazelnoot
f5be341acc normalize mastodon API query parameters to strip [] suffix 2025-03-27 19:51:42 -04:00
Hazelnoot
8b0555cab8 fix /api/v1/instance response 2025-03-27 19:51:42 -04:00
Hazelnoot
4a1dd7165e normalize mastodon BAD_REQUEST errors 2025-03-27 19:51:42 -04:00
Hazelnoot
67e57ab50a fix several mastodon converters 2025-03-27 19:51:42 -04:00
Hazelnoot
75b6c63f44 remove unused megalodon components 2025-03-27 19:51:42 -04:00
Hazelnoot
cb9079208a format mastodon API endpoints 2025-03-27 19:51:42 -04:00
Hazelnoot
da25595ba3 de-duplicate mastodon API logging 2025-03-27 19:51:42 -04:00
Hazelnoot
03edc33424 fix logger Data type 2025-03-27 19:51:42 -04:00
Hazelnoot
f61d71ac8c refactor mastodon API and preserve remote user agent for requests 2025-03-27 19:51:42 -04:00
Hazelnoot
1e3e0caa20 don't cache stale actor keys 2025-03-27 19:47:55 -04:00
Marie
a35bfa9f1a
upd flip check 2025-03-28 00:46:23 +01:00
Marie
6dae5c9165
upd: remove old check 2025-03-28 00:42:28 +01:00
HellhoundSoftware
158afd86f7
add sortKey to packedEmojiDetailedAdminSchema 2025-03-27 19:42:07 -04:00
Marie
3bdac95bfd
upd: check if endpoint includes bunnycdn.com 2025-03-28 00:41:37 +01:00
Marie
97fb73ca2c
fix: test failing due to undefined 2025-03-28 00:33:13 +01:00
Marie
0dead4637e
add: bunnycdn storage support 2025-03-28 00:21:44 +01:00
zima
a31455370f Add ignore for compose file used in dev scripts 2025-03-27 16:05:10 -07:00
zima
a85dc83e65 Add dependencies for dev env 2025-03-27 16:03:16 -07:00
zima
3344ac6d1e Regenerated MK types 2025-03-27 16:03:02 -07:00
zima
19ee7569c6 Update testing 2025-03-27 15:25:16 -07:00
zima
d6e89e737b oops :) 2025-03-27 15:24:56 -07:00
zima
d472c3b41e Merge tag '2025.2.2' into update-to-2025.2.2 2025-03-27 13:30:04 -07:00
Hazelnoot
b4e3062083 restore following feed deck UI 2025-03-27 10:30:04 -04:00
syuilo
e40846c46b fix e2e test 2025-03-27 19:50:03 +09:00
syuilo
a78db27a3c Update CHANGELOG.md 2025-03-27 17:30:06 +09:00
syuilo
f7e901deb2 test fixes 2025-03-27 17:30:04 +09:00
syuilo
b95da9c9a4 enhance(backend): ミュートしているユーザーをユーザー検索の結果から除外するように 2025-03-27 17:12:23 +09:00
syuilo
c29a5764d3 refactor(backend): better method name 2025-03-27 16:51:08 +09:00
Hazelnoot
86bfafe27f restore http lookup 2025-03-26 21:01:07 -04:00
Hazelnoot
28bf01ab4a restore AiScript error handling 2025-03-26 20:54:15 -04:00
Hazelnoot
0e28b8a1f5 restore following feed routes 2025-03-26 20:53:06 -04:00
Hazelnoot
0c34bf26dc restore import/export settings 2025-03-26 20:27:27 -04:00
Hazelnoot
f840b75fe2 Merge branch 'develop' into merge/2025-03-24
# Conflicts:
#	packages/frontend/src/pages/timeline.vue
2025-03-26 10:55:48 -04:00
Hazelnoot
11e578c10d Merge branch 'misskey-develop' into merge/2025-03-24
# Conflicts:
#	.github/workflows/storybook.yml
2025-03-26 10:54:55 -04:00
Hazelnoot
1da580c20d restore sharkey-specific settings 2025-03-26 10:54:28 -04:00
Marie
92382b2ed4 merge: fix: bubble timeline not being selectable when logged out (!950)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/950

Closes #1018

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-03-26 11:23:24 +00:00
Acid Chicken
ed86b1706d
ci(storybook): prevent running for bots 2025-03-26 12:17:56 +09:00
syuilo
36865a5771 enhance(frontend): improve chat ux 2025-03-26 10:49:36 +09:00
syuilo
5e90679916 lint 2025-03-26 10:26:48 +09:00
syuilo
ac49a3e992 typo 2025-03-26 09:06:34 +09:00
Hazelnoot
9fd94cd23e restore like button settings 2025-03-25 17:57:39 -04:00
Marie
3d27e5ce3e
fix: bubble timeline not being selectable when logged out 2025-03-25 22:40:19 +01:00
Hazelnoot
f861bec1a7 update references from /scripts/ to /utility/ 2025-03-25 17:32:18 -04:00
Hazelnoot
949baa9b8b Revert "feat: google analytics (#15451)"
This reverts commit 2b6638e1
2025-03-25 17:30:28 -04:00
Hazelnoot
d41d77fcd7 revert 7bfada9792: enhance: remove bull-board support 2025-03-25 17:25:30 -04:00
Hazelnoot
7ea710b314 remerge: remove FetchAllowSoftFailMask in favor of our same-authority checks 2025-03-25 17:19:38 -04:00
Hazelnoot
82e2952e3c add utility methods to get instance actor, relay actor, and proxy actor 2025-03-25 17:19:04 -04:00
Hazelnoot
76b1cf0526 remerge: auto-approve and allow unsigned fetch for system users 2025-03-25 16:22:39 -04:00
Hazelnoot
40975719ec Merge branch 'misskey-develop' into merge/2025-03-24
# Conflicts:
#	package.json
#	packages/backend/src/core/entities/NotificationEntityService.ts
#	packages/backend/src/types.ts
#	packages/frontend/src/pages/admin/modlog.ModLog.vue
#	packages/misskey-js/src/consts.ts
#	packages/misskey-js/src/entities.ts
2025-03-25 16:17:34 -04:00
Hazelnoot
d8908ef2d8 merge upstream 2025-03-25 16:14:53 -04:00
syuilo
f0ac0aa84d Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-03-25 20:06:49 +09:00
syuilo
97fddf2a80 🎨 2025-03-25 20:06:46 +09:00
かっこかり
2a5922836c
fix(frontend): コントロールパネルのナビゲーションバーが画面に張り付かない問題を修正 (#15706) 2025-03-25 19:50:40 +09:00
github-actions[bot]
0e417e51ac Bump version to 2025.3.2-beta.13 2025-03-25 09:40:08 +00:00
syuilo
c5cd3dd373
New Crowdin updates (#15685)
* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Greek)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Lao)

* New translations ja-jp.yml (Korean (Gyeongsang))

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)
2025-03-25 18:35:28 +09:00
syuilo
fc576ebc64 fix(backend): 承認したチャットルームへの招待の通知が存在するとエラーになる問題を修正 2025-03-25 18:34:25 +09:00
syuilo
22f99b42f6 enhance(frontend): refactor and improve ux 2025-03-25 18:30:28 +09:00
syuilo
de76a66c03 enhance(frontend): タブレットでの表示時にウィジェットボタンでページ下部が隠れないように 2025-03-25 18:15:54 +09:00
syuilo
185f290373 🎨 2025-03-25 18:03:50 +09:00
syuilo
88b48b1d8e fix(backend): チャットのページネーションが機能しない問題を修正 2025-03-25 17:57:34 +09:00
syuilo
ef0b97b2dc fix(frontend): コンパネ>通報 の各通報のユーザー詳細が表示できない問題を修正
Fix #15704
2025-03-25 16:17:10 +09:00
syuilo
98554579ea enhance: チャットのリアクションを削除できるように 2025-03-25 16:09:19 +09:00
syuilo
8e72c68205 follow up of a01ae38a07 2025-03-25 15:55:09 +09:00
syuilo
a01ae38a07 enhance: モデレーターがチャットルームの内容を確認・削除できるように 2025-03-25 15:51:45 +09:00
syuilo
304d0eb83b enhance: チャットルームに招待されたときの通知を追加 2025-03-25 15:25:43 +09:00
github-actions[bot]
2fc3baa988 Bump version to 2025.3.2-beta.12 2025-03-25 04:45:07 +00:00
syuilo
c51e862b7d enhance: 送信したチャットルームへの招待を確認できるように 2025-03-25 13:41:12 +09:00
syuilo
1736955694 fix(backend): 自分がオーナーではない参加中のルームにメッセージを送信すると不必要な通知が発生するのを修正 2025-03-25 13:29:03 +09:00
syuilo
2272eceffa enhance(frontend): Enterでチャットのメッセージを送信できるように 2025-03-25 13:19:54 +09:00
syuilo
8c1fc85d00 enhance(frontend): チャットの送信者名を表示できるように 2025-03-25 12:36:21 +09:00
syuilo
9f4fa6d3f5 enhance(frontend): チャットのホームの表示を定期的に更新するように 2025-03-25 12:19:59 +09:00
syuilo
023ab02e59 🎨 2025-03-25 12:08:17 +09:00
syuilo
1318a10af8 🎨 2025-03-25 11:37:38 +09:00
syuilo
18bb831777 🎨 2025-03-25 11:33:40 +09:00
github-actions[bot]
e6bc887d6c Bump version to 2025.3.2-beta.11 2025-03-25 02:19:28 +00:00
syuilo
8cbcbd462c enhance(frontend): チャット画面で確実に最下部へスクロール追従するように 2025-03-25 11:11:24 +09:00
syuilo
600bb34172 enhance(frontend): 設定のインデックス更新 2025-03-25 09:54:23 +09:00
syuilo
26b2cfe518 enhance(frontend): ナビゲーションバーの副ボタンを非表示にできるように 2025-03-25 09:50:59 +09:00
syuilo
72734fe365 enhance(frontend): バックグラウンドでチャットメッセージが届いたときにサウンドを再生できるように 2025-03-25 09:36:59 +09:00
syuilo
2370b55a27 enhance(frontend): チャットルームを削除できるように 2025-03-25 09:30:14 +09:00
syuilo
5d3e8253c4 fix(frontend): チャットを全員に許可している場合に誰も許可していないと表示されるのを修正 2025-03-25 09:24:01 +09:00
syuilo
8d6573fbec enhance(frontend): 設定の移行を手動でトリガーできるように 2025-03-25 08:38:53 +09:00
syuilo
8da1368a0b fix(backend): 既存のルームメンバーを改めて招待できないように 2025-03-25 08:05:59 +09:00
かっこかり
5513337198
fix(frontend): 本番環境で不必要なconsole.logを出さないように (#15702) 2025-03-25 08:02:06 +09:00
github-actions[bot]
3f7a2bf5b5 Bump version to 2025.3.2-beta.10 2025-03-24 12:34:25 +00:00
syuilo
f1f24e39d2
Feat: Chat (#15686)
* wip

* wip

* wip

* wip

* wip

* wip

* Update types.ts

* Create 1742203321812-chat.js

* wip

* wip

* Update room.vue

* Update home.vue

* Update home.vue

* Update ja-JP.yml

* Update index.d.ts

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update CHANGELOG.md

* wip

* Update home.vue

* clean up

* Update misskey-js.api.md

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* lint fixes

* lint

* Update UserEntityService.ts

* search

* wip

* 🎨

* wip

* Update home.ownedRooms.vue

* wip

* Update CHANGELOG.md

* Update style.scss

* wip

* improve performance

* improve performance

* Update timeline.test.ts
2025-03-24 21:32:46 +09:00
dakkar
aebc6b4112 merge: enhance: Update de-DE.yml (!949)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/949

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-03-24 08:19:46 +00:00
Daniel Ares
3b568c26f7 Update de-DE.yml 2025-03-23 21:38:50 +00:00
Marie
cbafabcffd merge: Fixing en-US.yml (!948)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/948

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-03-23 18:34:09 +00:00
Daniel Ares
070f30965e Fixing en-US.yml 2025-03-23 14:07:21 +00:00
dakkar
b1467989a5 merge: Accept announce activities (resolves #797 and #460) (!916)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/916

Closes #797 and #460

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-03-23 13:45:13 +00:00
Daniel Ares
ba5856eedd Update de-DE.yml 2025-03-23 12:52:01 +00:00
syuilo
0471e457fe fix(frontend): fix broken styles 2025-03-23 21:23:52 +09:00
syuilo
260d35e2f0
Update CHANGELOG.md 2025-03-22 18:37:41 +09:00
syuilo
3ff9d9f4fd
Update CHANGELOG.md 2025-03-22 18:34:56 +09:00
syuilo
27991a3bc8
Update CHANGELOG.md 2025-03-22 18:28:51 +09:00
syuilo
b5f86e5210 refactor(frontend): refactor page styles 2025-03-22 18:25:45 +09:00
syuilo
16cde5568d
Update CHANGELOG.md 2025-03-22 15:12:24 +09:00
syuilo
bf07796b6b
Update CHANGELOG.md 2025-03-22 15:08:19 +09:00
syuilo
08b131ec33 refactor(backend): better prop name 2025-03-22 08:16:15 +09:00
syuilo
1312fe34c1
Update CHANGELOG.md 2025-03-22 08:12:32 +09:00
Marie
aa1691295b merge: Make confirm follow prompt not show up when cancelling a follow request (!941)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/941

Closes #822

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-03-21 16:46:47 +00:00
Hazelnoot
73e70f7449 fix unit tests in activitypub.ts 2025-03-21 12:37:06 -04:00
Hazelnoot
770e0bbcdc document changes to updateInstanceQueue in merge instructions 2025-03-21 12:37:06 -04:00
Hazelnoot
27e8289126 fix lint errors in mock-resolver.ts and activitypub.ts 2025-03-21 12:37:06 -04:00
Hazelnoot
3958b71f4e don't discard the target of announce activities, in case it's a private note that can't be re-fetched 2025-03-21 12:37:06 -04:00
Hazelnoot
f88430aebc add IObjectWithId type for APIs that work with objects required to have an ID. 2025-03-21 12:37:06 -04:00
Hazelnoot
ad49faa956 implement ApResolver.secureResolve to use a provided object only if the authority matches 2025-03-21 12:37:06 -04:00
Hazelnoot
1ed2f207f7 fix startup crash caused by circular reference (SWC is not compatible with forwardRef) 2025-03-21 12:37:06 -04:00
Hazelnoot
f2bb01f7da support Announce(Activity) activities 2025-03-21 12:37:06 -04:00
Hazelnoot
1eb9070e39 allow overriding AP resolver recursion limit 2025-03-21 12:37:06 -04:00
Hazelnoot
c2740cbe73 add isActivity method to check for AP Activities 2025-03-21 12:37:06 -04:00
Hazelnoot
f18d402ce6 fix typo in activity signature mismatch error 2025-03-21 12:37:06 -04:00
github-actions[bot]
97563910fa Bump version to 2025.3.2-beta.9 2025-03-21 12:05:52 +00:00
syuilo
96a7c4a568 fix(frontend): チャンネルのフッターが表示されない問題を修正 2025-03-21 21:04:38 +09:00
syuilo
fee6f9fcc2 Update def.ts 2025-03-21 21:04:17 +09:00
renovate[bot]
50724b6ab8
fix(deps): update [frontend] update dependencies (#15625)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-21 19:41:26 +09:00
renovate[bot]
e61263cff0
fix(deps): update [backend] update dependencies (#15596)
* fix(deps): update [backend] update dependencies

* fix(backend/types): ensure to use nodejs-provided stream api

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-03-21 19:38:11 +09:00
github-actions[bot]
d073fe6b02 Bump version to 2025.3.2-beta.8 2025-03-20 12:18:50 +00:00
syuilo
ce858a676b refactor(frontend): use PageWithHeader instead of MkStickyContainer+MkPageHeader combination 2025-03-20 21:04:37 +09:00
syuilo
733a391d86 follow up of 1fd87bd2e4
コミットし忘れ
2025-03-20 20:29:46 +09:00
syuilo
0e25a0fb81 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-03-20 20:28:29 +09:00
syuilo
1fd87bd2e4 fix(frontend): prevent transition glitch of MkHorizontalSwipe 2025-03-20 20:28:16 +09:00
github-actions[bot]
ebc54b1f82 Bump version to 2025.3.2-beta.7 2025-03-20 10:07:37 +00:00
syuilo
6015254e59 lint fixes 2025-03-20 19:00:09 +09:00
syuilo
c02f0b3b33 Update eslint.config.js 2025-03-20 18:59:10 +09:00
syuilo
abddd40c09 enhance(frontend): 通常のRouterViewにTransitionを追加 2025-03-20 18:55:32 +09:00
かっこかり
a865a949b5
fix(frontend): MkRoleSelectDialogでのpopupの使い方が誤っているのを修正 (#15683) 2025-03-20 16:36:37 +09:00
syuilo
0007723405 fix lint 2025-03-20 16:34:50 +09:00
syuilo
71188b3463 fix lint 2025-03-20 16:10:38 +09:00
syuilo
7f534a41a6 fix lint 2025-03-20 16:07:52 +09:00
syuilo
f25963e2c2 Update eslint.config.js 2025-03-20 16:06:32 +09:00
syuilo
dfab6b1b8d lint(frontend): force window prefix 2025-03-20 15:44:06 +09:00
syuilo
fac59d75e2 lint(frontend): relax id-denylist rule 2025-03-20 15:43:35 +09:00
syuilo
fd3e28812e clean up console 2025-03-20 15:15:46 +09:00
syuilo
6a90b7e04b add todo 2025-03-20 15:09:50 +09:00
syuilo
8d8414687a enhance(frontend): improve preference manager stability 2025-03-20 14:57:14 +09:00
syuilo
0c682dd027 🎨 2025-03-20 13:34:57 +09:00
syuilo
3399c786a8 refactor(frontend): refactor components 2025-03-20 13:33:01 +09:00
syuilo
64cf101fe7 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-03-20 13:16:23 +09:00
syuilo
8b6d90b7a4 🎨 2025-03-20 13:16:08 +09:00
github-actions[bot]
070749bdc8 Bump version to 2025.3.2-beta.6 2025-03-20 04:03:25 +00:00
syuilo
161706c5e2
New Crowdin updates (#15680)
* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Greek)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Lao)

* New translations ja-jp.yml (Korean (Gyeongsang))
2025-03-20 13:01:20 +09:00
syuilo
596e517f77 fix(frontend): minimum uiが表示できない 2025-03-20 12:58:18 +09:00
syuilo
91670caca0 enhance(frontend): tweak install-extensions behaviour 2025-03-20 12:58:01 +09:00
syuilo
fccaadacf0 lint(frontend): improve id-denylist rule 2025-03-20 12:47:51 +09:00
syuilo
282caa0b7e 🎨 for install-extensions 2025-03-20 12:36:48 +09:00
syuilo
9529867630 fix(frontend): dev buildでpreferencesのタブ同期が不必要に行われるのを修正 2025-03-20 12:02:50 +09:00
github-actions[bot]
d06fadd095 Bump version to 2025.3.2-beta.5 2025-03-20 00:06:04 +00:00
zyoshoka
9dd13f364b
fix(backend): mismatch in emojis param of test WebHook payload (#15675)
* fix(backend): mismatch in `emojis` param of test WebHook payload

* fix: test

* fix: type
2025-03-20 09:00:58 +09:00
syuilo
b067d4dcd6 follow up of 7b323031b7 2025-03-20 08:59:54 +09:00
syuilo
acac759d87 fix(frontend): モバイルレイアウト時にホームを押しても最上部へスクロールされない
Fix #15679
2025-03-20 08:35:45 +09:00
Hazelnoot
51c6c763e3 merge: Make sure that scheduledNote* types are only showing on and off options. (!947)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/947

Closes #1013

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-03-19 22:29:09 +00:00
Marie
026012062e fix: missing character 2025-03-19 22:19:41 +00:00
Marie
1b70e90744 upd: add scheduledNote notification types to only on and off types 2025-03-19 22:17:06 +00:00
Marie
65d5f1e081 merge: Optionally enable websocket compression (!921)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/921

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-03-19 17:40:49 +00:00
Marie
4c1ad27acc merge: fix notification dot (!946)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/946

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-03-19 17:40:35 +00:00
Hazelnoot
9fa3be8246 merge: Implement replies collection for posts (resolves #738 and #948) (!918)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/918

Closes #738 and #948

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-03-19 17:39:53 +00:00
Hazelnoot
5182f17d32 implement replies collection for posts 2025-03-19 09:52:55 -04:00
syuilo
b37622fa64 🎨 2025-03-19 20:54:07 +09:00
syuilo
c17a104de6 fix(frontend): router view stacking有効時にinstall-extensionsが動かない 2025-03-19 20:53:48 +09:00
syuilo
4ab9f66356 Update deep-equal.ts 2025-03-19 20:32:15 +09:00
zyoshoka
aed95a765d
chore(storybook): fix storybook build (#15678) 2025-03-19 10:52:05 +00:00
Sayamame-beans
71841e365e
Enhance: 2段階認証時のリカバリーコードのファイル名にサーバーURLを含めるように (#15677)
* enhance(frontend): include server hostname and port in 2fa recovery code filename

* chore(frontend): fix mistake(use `@` for indicate server hostname)

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-03-19 19:34:57 +09:00
github-actions[bot]
3b20279e20 Bump version to 2025.3.2-beta.4 2025-03-19 10:27:14 +00:00
Yuri Lee
21dc7aebe7
Fix: Don't delete remote emoji when import zip (#15674)
* Fix: Don't delete remote emoji when import zip

* Update packages/backend/src/queue/processors/ImportCustomEmojisProcessorService.ts

Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>

---------

Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>
2025-03-19 10:23:50 +00:00
syuilo
aff03708a7
New Crowdin updates (#15667)
* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Catalan)
2025-03-19 19:18:14 +09:00
syuilo
69ad3cf89b
Update CHANGELOG.md 2025-03-19 19:17:33 +09:00
syuilo
7b323031b7 refactor(frontend): use useTemplateRef for DOM referencing 2025-03-19 18:46:03 +09:00
syuilo
81ac71f7e5 refactor(frontend): router refactoring 2025-03-19 18:06:22 +09:00
syuilo
2c76018b7f better import paths 2025-03-19 17:27:18 +09:00
syuilo
2dc2d2e4fe refactor 2025-03-19 16:04:01 +09:00
syuilo
409cd4fbd3 refactor(frontend): router refactoring 2025-03-19 15:54:30 +09:00
syuilo
7d4045e8b4 refactor(frontend): router refactoring 2025-03-19 15:24:56 +09:00
syuilo
bdc72e5817 clean up 2025-03-19 15:17:41 +09:00
syuilo
11378b17c5 🎨 2025-03-19 09:31:01 +09:00
dakkar
663072ec47 nicer catches 2025-03-18 20:15:10 +00:00
dakkar
a9bad939ba fix notification dot
1) the `crossOrigin='anonymous'` tells the browser to actually honour
	 CORS on the image

2) the dot is now always 1/5 of the icon, even for large icons

3) we use `toBlob` instead of `toDataURL` because
	 https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasElement/toDataURL
	 says so

4) the test now blinks the dot, so it tests the actual code

5) if there's a problem during the test, we log the error, so people
	 can tell it to us

Thanks to Ares on Discord for reporting the problems.
2025-03-18 19:38:10 +00:00
PrivateGER
c08c8502e3
adjust compression fallback 2025-03-18 14:21:31 +01:00
syuilo
62bf0d53d3 🎨 2025-03-18 22:21:28 +09:00
syuilo
05391f59a5 enhance(frontend): improve StackingRouterView 2025-03-18 20:55:19 +09:00
syuilo
d609f41f61 🎨 2025-03-18 17:31:25 +09:00
syuilo
0a295e1bb0 🎨 2025-03-18 15:23:50 +09:00
syuilo
474155b677 follow up of 6c8f21b608 2025-03-17 13:27:47 +09:00
syuilo
6c8f21b608 fix(backend): 連合無しモードでも外部から照会可能だった問題を修正 2025-03-17 13:21:09 +09:00
ikasoba
7d5daa4b00
fix (#15671) 2025-03-17 03:40:10 +00:00
Hazelnoot
62d35a56c1 merge: Convert Authorized Fetch to a setting and add support for hybrid mode (!917)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/917

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-03-16 17:55:17 +00:00
Hazelnoot
bb3d710927 allow unsigned fetch for all system users 2025-03-16 10:49:16 -04:00
Hazelnoot
97da78b46c fix lint errors in activitypub.ts 2025-03-16 10:07:57 -04:00
Hazelnoot
e0f3780885 fix typescript error in WebhookTestService.ts (this is the WORST class and needs to be removed please /sob) 2025-03-16 10:07:57 -04:00
Hazelnoot
a35c2f214b convert Authorized Fetch to a setting and add support for hybrid mode (essential metadata only) 2025-03-16 10:07:57 -04:00
syuilo
1ce81f243e Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-03-16 19:04:16 +09:00
syuilo
a773f2976d refactor(frontend): signinRequired -> ensureSignin 2025-03-16 19:04:14 +09:00
github-actions[bot]
467c68fb98 Bump version to 2025.3.2-beta.3 2025-03-16 08:51:58 +00:00
syuilo
22b0ace8b4 enhance(frontend): 投稿フォームの設定メニューを改良 (改)
This reverts commit a814395127.
2025-03-16 17:48:16 +09:00
syuilo
a814395127 Revert "enhance(frontend): 投稿フォームの設定メニューを改良 (#14804)"
This reverts commit ce6b2448ce.
2025-03-16 17:21:20 +09:00
syuilo
81a0cbd294 chore(frontend): use toast to show message when call copyToClipboard 2025-03-16 15:04:38 +09:00
syuilo
32844e4775 🎨 2025-03-16 14:56:27 +09:00
github-actions[bot]
fbd9f47182 Bump version to 2025.3.2-beta.2 2025-03-16 05:18:29 +00:00
syuilo
1c9e25470a refactor 2025-03-16 14:15:09 +09:00
かっこかり
ce6b2448ce
enhance(frontend): 投稿フォームの設定メニューを改良 (#14804)
* enhance(frontend): 投稿フォームの設定メニューを改良

* Update Changelog

* indent

* MkMenuのitemを切り出して共通化

* remove unused expose

* fix: ドロワーなどのOptionが当たらない問題を修正

* 他のpopupMenuの項目選択時と挙動をあわせる

* チュートリアルで詰む問題を修正

* Revert "MkMenuのitemを切り出して共通化"

This reverts commit ce3679798c5b642dd0e47056f70657e46b382b5e.

* enhance: slotで共通化

* Update MkPostFormOtherMenu.vue

* remove duplicated locale key

* refactor: メニューの定義をMkPostForm側で行うように

* Update CHANGELOG.md

* [ci skip] Update MkPostFormOtherMenu.vue

* Update MkPostForm.vue

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-03-16 05:05:58 +00:00
syuilo
7d44b47fdf
New Crowdin updates (#15662)
* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)
2025-03-16 13:59:22 +09:00
syuilo
dca42fd6e6 enhance(frontend): improve ux for touch devices 2025-03-16 13:59:08 +09:00
syuilo
43153311c6 🎨 2025-03-16 13:43:47 +09:00
syuilo
2b23c7e7f5 chore(frontend): remove duplicated warn 2025-03-16 13:30:08 +09:00
syuilo
2d4e85b466 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-03-16 13:03:04 +09:00
syuilo
7bfada9792 enhance: remove bull-board support 2025-03-16 13:03:02 +09:00
lqvp
4fef9c670a
fix(i18n): 通知タイプのcreateTokenが抜けていたのを修正 (#15663) 2025-03-16 02:27:41 +00:00
syuilo
9599261fc3 fix(frontend): fix settings-search-index of webhook 2025-03-16 11:02:54 +09:00
syuilo
c2940fd77c enhance(frontend): improve usability on touch device 2025-03-16 10:58:06 +09:00
Hazelnoot
e3d949ced6 merge: fetch linked notes manually, unless we have them in DB - fixes 1006 (!945)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/945

Closes #1006

Approved-by: Marie <github@yuugi.dev>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-03-15 20:46:28 +00:00
dakkar
c9874f72b1 fix indent 2025-03-15 19:36:28 +00:00
dakkar
d0a074ac89 fetch linked notes manually, unless we have them in DB - fixes 1006 2025-03-15 19:17:36 +00:00
Hazelnoot
8e62aa9814 merge: Add external url warning to url previews (!944)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/944

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-03-15 17:48:04 +00:00
Marie
bb0010db27 upd: add warning prompt to previews 2025-03-14 22:14:36 +00:00
Hazelnoot
4184d7d726 merge: Remove our addition of copy remote link (!943)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/943

Closes #1005

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-03-14 21:28:02 +00:00
Marie
9782f2a415 upd: remove old leftover copy link (origin) 2025-03-14 18:46:29 +00:00
syuilo
2ddedd0ce6 refactor 2025-03-14 19:54:30 +09:00
syuilo
c88f5f5195
Update CHANGELOG.md 2025-03-14 17:00:02 +09:00
github-actions[bot]
30de6d80bb Bump version to 2025.3.2-beta.1 2025-03-14 07:39:14 +00:00
syuilo
63993dace6 fix(frontend): fix pref migration
Fix #15661
2025-03-14 16:37:25 +09:00
syuilo
0929410d36 enhance(frontend): improve pref manager 2025-03-14 15:43:56 +09:00
github-actions[bot]
96866d37cd Bump version to 2025.3.2-beta.0 2025-03-14 03:49:32 +00:00
syuilo
35b66276ff
New Crowdin updates (#15621)
* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Greek)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Traditional)
2025-03-14 12:09:38 +09:00
syuilo
daa16d184f 🎨 2025-03-14 11:58:41 +09:00
syuilo
833a232262 enhance(frontend): clear all client data when logout 2025-03-14 11:55:42 +09:00
github-actions[bot]
bcb891e4fd Bump version to 2025.3.2-alpha.11 2025-03-14 01:29:38 +00:00
syuilo
152660fcf2 enhance(frontend): re-organize settings page 2025-03-14 09:53:44 +09:00
syuilo
a1204f5e3e 🎨 2025-03-14 09:42:53 +09:00
かっこかり
7acd3d1a88
fix(frontend): fix test 2025-03-13 22:32:26 +09:00
syuilo
8c9ec5827f enhance(frontend): improve accounts management 2025-03-13 22:12:23 +09:00
syuilo
44073736de enhance(frontend): improve preferences 2025-03-13 19:44:23 +09:00
syuilo
0126dba475 enhance(frontend): re-organize settings page 2025-03-13 19:30:35 +09:00
github-actions[bot]
3280a3d661 Bump version to 2025.3.2-alpha.10 2025-03-13 09:07:37 +00:00
syuilo
bdf80c49d8 fix(frontend): better migration detection
Fix #15656
2025-03-13 18:05:44 +09:00
syuilo
59169a6450 🎨 2025-03-13 17:42:35 +09:00
syuilo
5d228fb0f3 enhance(frontend): re-organize settings page 2025-03-13 17:39:53 +09:00
syuilo
10b67e1b3a enhance(frontend): improve emoji picker settings 2025-03-13 16:56:47 +09:00
syuilo
3ced310f77 refactor(frontend): organize use functions 2025-03-13 14:05:04 +09:00
syuilo
010ec113c2 refactor(frontend): cond -> scope 2025-03-13 13:45:23 +09:00
syuilo
30005ba959 enhance(frontend): tweak search index 2025-03-13 09:26:04 +09:00
syuilo
6b69588c03 enhance(frontend): improve deck setting page 2025-03-13 09:24:15 +09:00
syuilo
8593aa1418 refactor 2025-03-13 09:10:09 +09:00
syuilo
9876ff9a7a Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-03-13 09:07:25 +09:00
syuilo
ce6eba77d9 🎨 2025-03-13 09:07:22 +09:00
syuilo
9b2af53025 enhance(frontend): improve pref manager 2025-03-13 09:02:38 +09:00
syuilo
7b6ff19ea3
Update CHANGELOG.md 2025-03-12 21:49:23 +09:00
github-actions[bot]
c9fa95429a Bump version to 2025.3.2-alpha.9 2025-03-12 12:45:35 +00:00
饺子w (Yumechi)
e5d117dc98
fix(backend): tighten an overly relaxed criteria and remove capability of matching multiple final URLs in URL authority checking (#15655)
Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
2025-03-12 12:39:24 +00:00
syuilo
4a73feb041 enhance(frontend): make deck profiles syncable 2025-03-12 21:12:08 +09:00
syuilo
a06b9eefaa enhance(frontend): suppress needless confirmation when turn on pref sync 2025-03-12 21:05:39 +09:00
syuilo
3129fcf164 fix(frontend): fix type errors 2025-03-12 20:17:54 +09:00
syuilo
35a4544477 add todo 2025-03-12 18:54:36 +09:00
zyoshoka
aa1cc2f817
fix(storybook): use type-only imports in generated stories (#15654) 2025-03-12 16:51:10 +09:00
github-actions[bot]
15685be4cc Bump version to 2025.3.2-alpha.8 2025-03-12 06:10:35 +00:00
syuilo
8508c4dadc refactor 2025-03-12 15:07:45 +09:00
かっこかり
e594fb0037
enhance(dev): frontendの検索インデックス作成を単独のコマンドで行えるように (#15653) 2025-03-12 14:37:57 +09:00
syuilo
a369721791 remove todo 2025-03-12 14:35:22 +09:00
syuilo
f8e244f48d enhance(frontend): アカウントオーバーライド設定とデバイス間同期の併用に対応 2025-03-12 14:34:10 +09:00
syuilo
8410611512 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-03-12 13:04:44 +09:00
syuilo
caab1ec7c3 🎨 2025-03-12 13:04:41 +09:00
github-actions[bot]
ffade9740e Bump version to 2025.3.2-alpha.7 2025-03-12 03:03:37 +00:00
syuilo
b03bcf26cd enhance(frontend): 設定値の同期を実装(実験的) 2025-03-12 11:39:05 +09:00
syuilo
ddbc83b2e4 chore(frontend): tweak settings page 2025-03-11 20:42:06 +09:00
syuilo
d185785f20 enhance(frontend): improve settings page 2025-03-11 14:52:04 +09:00
syuilo
02d7fbefc4 🎨 2025-03-11 12:08:15 +09:00
syuilo
f7ea92c68c chore: remove unused files 2025-03-11 12:02:41 +09:00
syuilo
e891d5c5d3 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-03-11 11:44:34 +09:00
syuilo
57a6b630b7 chore: add note 2025-03-11 11:44:25 +09:00
github-actions[bot]
eda768a08c Bump version to 2025.3.2-alpha.6 2025-03-11 02:43:27 +00:00
syuilo
1f345eb839 enhance(frontend): deckをpreferences管理に 2025-03-11 11:14:55 +09:00
syuilo
1f2801af02 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-03-10 21:42:30 +09:00
syuilo
a4ba096e2a chore(frontend): improve preference store stability 2025-03-10 21:42:17 +09:00
Marie
835e6112ac merge: Make pleaseLoginContext attempt to use stored remote url/uris first before falling back to local url (!942)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/942

Closes #993

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-03-10 11:00:22 +00:00
ろむねこ
6841cdfa76
enhance(frontend): CWの注釈テキストが入力されていない場合はPostボタンを非アクティブに (#15639)
* add condition to disable post button when CW text is empty

* standardize condition by using 1<= inserted of 0<

* unify CW text length condition to improve readability

* add missing CW state check

* fix state check, add empty/null check, improve max length validation

* simplify CW validation by removing minimum length check

* Update CHANGELOG

* remove CW text validation in post()

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-03-10 10:35:37 +00:00
github-actions[bot]
794f360bc2 Bump version to 2025.3.2-alpha.5 2025-03-10 09:40:41 +00:00
かっこかり
f797765b1d
enhance(frontend): テーマ設定で簡易プレビューを表示するように (#15643)
* enhance(frontend): テーマ設定で簡易プレビューを表示するように

* Update Changelog

* fix lint

* 🎨

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-03-10 09:35:51 +00:00
syuilo
9dce512fbb enhance(frontend): add navbar transition animation 2025-03-10 15:47:00 +09:00
syuilo
9e91f85370 refactor(frontend): use Symbol for vue provide/inject 2025-03-10 15:08:40 +09:00
syuilo
9998cb84e8 refactor(frontend): page-metadata -> page 2025-03-10 13:47:38 +09:00
renovate[bot]
5ed1101bbd
chore(deps): update [root] update dependencies (#15624)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-10 12:30:37 +09:00
syuilo
6c9153300d chore(frontend): tweak lockdown setting 2025-03-10 12:03:54 +09:00
syuilo
7957ee5191 fix(frontend): rename pizzax fields 2025-03-10 11:28:54 +09:00
syuilo
b200743845 refactor(frontend): rename store.set -> store.commit 2025-03-10 11:27:07 +09:00
syuilo
08f7e7d9b3 refactor(frontend): rename pizzax fields 2025-03-10 10:51:54 +09:00
github-actions[bot]
16ad6b3f6c Bump version to 2025.3.2-alpha.4 2025-03-10 01:09:42 +00:00
syuilo
4df9083bf0 fix(frontend): テーマ切り替え時に一部の色が変わらない問題を修正 2025-03-10 10:05:50 +09:00
taichan
6419af2179
fix(frontend, dev): storybookのビルドエラー修正のため、as構文にリファクタ (#15640) 2025-03-10 09:34:45 +09:00
syuilo
d9858b03c9 enhance(frontend): improve plugin management 2025-03-10 09:28:07 +09:00
taichan
88efc0a3be
fix(dev): 検索インデックス対象ファイルでHMRが効かない問題を修正 (#15638) 2025-03-09 22:45:17 +00:00
Marie
ad14d2ebfa
upd: check for remote url first before providing local url on pleaseLoginContext 2025-03-09 20:26:55 +01:00
Marie
a90a8e9e68 merge: Ignore empty content warnings in API (resolves #977) (!929)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/929

Closes #977

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-03-09 18:29:50 +00:00
github-actions[bot]
ac21fa7194 Bump version to 2025.3.2-alpha.3 2025-03-09 13:01:46 +00:00
syuilo
c76afce9a7 enhance(frontend): improve plugin management 2025-03-09 21:57:56 +09:00
github-actions[bot]
8e3304344f Bump version to 2025.3.2-alpha.2 2025-03-09 12:32:54 +00:00
饺子w (Yumechi)
db5c127cdd
fix(backend): fix handling of invalid urls in user profile (#15635)
Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
2025-03-09 12:28:47 +00:00
syuilo
0402866b43 enhance(frontend): improve plugin management 2025-03-09 21:23:36 +09:00
syuilo
6cefabc6b6 chore(frontend): remove unused binding 2025-03-09 17:19:21 +09:00
syuilo
c9c04d8391 enhance(frontend): migrate overridedDeviceKind to preference 2025-03-09 17:14:48 +09:00
syuilo
27e8805dcb refactor(frontend): relocate plugin consts 2025-03-09 17:02:46 +09:00
github-actions[bot]
933abedc90 Bump version to 2025.3.2-alpha.1 2025-03-09 06:16:49 +00:00
syuilo
69eee9f050 enhance(frontend): ウィジェットもpreference管理に 2025-03-09 15:13:49 +09:00
syuilo
2918fb2609 refactor(frontend): relocate theme script 2025-03-09 14:32:29 +09:00
syuilo
fcd7fa62ba Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2025-03-09 14:28:06 +09:00
syuilo
be7e3b9a0c refactor(frontend): scripts -> utility 2025-03-09 14:28:01 +09:00
github-actions[bot]
06e7272ca1 Bump version to 2025.3.2-alpha.0 2025-03-09 05:22:26 +00:00
かっこかり
f35eb0f6d9
enhnace(frontend): 文字列比較のためのローマナイズを強化(設定の検索) (#15632)
* enhnace(frontend): 文字列比較のためのローマナイズを強化

* docs

* fix

* fix

* fix

* comment

* wanakanaの初回ロードをコンポーネント内に移動

* comment

* fix

* add tests

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-03-09 14:21:23 +09:00
syuilo
bdb74539d4 enhance(frontend): tweak settings page 2025-03-09 14:18:50 +09:00
syuilo
abc1e9168d refactor 2025-03-09 12:39:43 +09:00
syuilo
d30ddd4c2e
Refine preferences (#15597)
* wip

* wip

* wip

* test

* wip rollup pluginでsearchIndexの情報生成

* wip

* SPDX

* wip: markerIdを自動付与

* rollupでビルド時・devモード時に毎回uuidを生成するように

* 開発サーバーでだけ必要な挙動は開発サーバーのみで

* 条件が逆

* wip: childrenの生成

* update comment

* update comment

* rename auto generated file

* hashをパスと行数から決定

* Update privacy.vue

* Update privacy.vue

* wip

* Update general.vue

* Update general.vue

* wip

* wip

* Update SearchMarker.vue

* wip

* Update profile.vue

* Update mute-block.vue

* Update mute-block.vue

* Update general.vue

* Update general.vue

* childrenがduplicate key errorを吐く問題をいったん解決

* マーカーの形を成形

* loggerを置きかえ

* とりあえず省略記法に対応

* Refactor and Format codes

* wip

* Update settings-search-index.ts

* wip

* wip

* とりあえず不確定要因の仮置きidを削除

* hashの生成を正規化(絶対パスになっていたのを緩和)

* pathの入力を省略可能に

* adminでもパス生成できるように

* Update settings-search-index.ts

* Update privacy.vue

* wip

* build searchIndex

* wip

* build

* Update general.vue

* build

* Update sounds.vue

* build

* build

* Update sounds.vue

* 🎨

* 🎨

* Update privacy.vue

* Update privacy.vue

* Update security.vue

* create-search-indexを多少改善

* build

* Update 2fa.vue

* wip

* 必ずtransformCodeCacheを利用するように, キャッシュの明確な受け渡しを定義

* キャッシュはdevServerでなくても更新

* Revert "wip"

This reverts commit 41bffd3a13f55618bf939dc1c9acb2a77ead4054.

* inlining

* wip

* Update theme.vue

* 🎨

* wip normalize

* Update theme.vue

* キャッシュのパス変換

* build

* wip

* wip

* Update SearchMarker.vue

* i18n.ts['key'] の形式が取り出せない問題のFix

* build

* 仮でpath入れ

* 必ず絶対パスが使われるように

* wip

* 🎨

* storybookビルド時はcreateSearchIndexをしない

* inliningの構造化

* format code

* Update index.vue

* wip

* wip

* 🎨

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* clean up

* wip

* wip

* wip

* Update rollup-plugin-unwind-css-module-class-name.test.ts

* Update navbar.vue

* clean up

* wip

* wip

* wip

* wip

* wip

* Update preferences-backups.vue

* Update common.ts

* Update preferences.ts

* wip

* wip

* wip

* wip

* Update MkPreferenceContainer.vue

* Update MkPreferenceContainer.vue

* Update MkPreferenceContainer.vue

* enhance: 検索で上下矢印を使用することで検索結果を移動できるように

* Update main-boot.ts

* refactor

* wip

* Update sounds.vue

* fix(frontend): PageWindowでSearchMarkerが動作するように

* enhance(frontend): SearchMarkerの点滅を一定時間で止める

* wip

* lint fix

* fix: 子要素監視が抜けていたのを修正

* アニメーションの回数はCSSで制御するように

* refactor

* enhance(frontend): 検索インデックス作成時のログを削減

* revert

* fix

* fix

* Update preferences.ts

* Update preferences.ts

* wip

* Update preferences.ts

* wip

* 🎨

* wip

* Update MkPreferenceContainer.vue

* wip

* Update preferences.ts

* wip

* Update preferences.ts

* Update preferences.ts

* wip

* wip

* Update preferences.ts

* wip

* wip

* Update preferences.ts

* Update CHANGELOG.md

* Update preferences.ts

* Update deck-store.ts

* deckStoreをdefaultStoreに統合

* wip

* defaultStore -> store

* Update profile.ts

* wip

* refactor

* wip: plugin

* plugin

* plugin

* plugin

* Update plugin.ts

* wip

* Update plugin.vue

* Update preferences.ts

* Update main-boot.ts

* wip

* fix test

* Update plugin.vue

* Update plugin.vue

* Update utility.ts

* wip

* wip

* Update utility.ts

* wip

* wip

* clean up

* Update utility.ts

---------

Co-authored-by: tai-cha <dev@taichan.site>
Co-authored-by: taichan <40626578+tai-cha@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-03-09 12:34:08 +09:00
github-actions[bot]
05cdc095c0 [skip ci] Update CHANGELOG.md (prepend template) 2025-03-09 03:30:00 +00:00
github-actions[bot]
7c1dc3d632 Release: 2025.3.1 2025-03-09 03:29:54 +00:00
github-actions[bot]
c53349c3b4 Bump version to 2025.3.1-beta.3 2025-03-09 00:33:40 +00:00
饺子w (Yumechi)
a710af54ed
fix(backend): fix ApPersonService unsound type cast (#15629)
Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
2025-03-09 00:11:34 +00:00
Marie
add1c71786 chore: lint 2025-03-08 11:56:21 +00:00
Marie
91e15fafbf upd: confirm dialog for undoing follow request 2025-03-08 11:54:19 +00:00
Marie
19fc0a9351 fix: Confirm follow prompt showing up when cancelling follow request 2025-03-08 10:52:43 +00:00
Marie
424c71248c merge: Remove redundant banner image on user home page (!940)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/940

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-03-08 10:28:30 +00:00
github-actions[bot]
ac07bb8d92 Bump version to 2025.3.1-beta.2 2025-03-08 10:15:42 +00:00
かっこかり
698505030e
fix(test): fix federation test (#15630) 2025-03-08 19:11:09 +09:00
かっこかり
e16a14dcef
fix(deps): pnpm v10でre2のインストールに失敗することがある問題を修正 (#15627)
* fix(deps): pnpm v10でre2のインストールに失敗することがある問題を修正

* fix

* fix docker build

* fix build failure on Windows
2025-03-08 18:56:53 +09:00
bunnybeam
081adb1b4d
Remove seemingly redundant banner image 2025-03-08 02:26:35 +00:00
github-actions[bot]
6d93725084 Bump version to 2025.3.1-beta.1 2025-03-08 01:03:17 +00:00
おさむのひと
cb9981d4eb
fix: Dockerのrunnerにpnpmのインストール手順が欠けていたのを修正 (#15623) 2025-03-08 10:02:15 +09:00
かっこかり
bee4db82bb
fix(backend): follow-up of #15620
Removes unnecessary arg `disableGlobbing` from chokidar FSWatcher, as it is no longer supports globging
2025-03-07 20:10:32 +09:00
renovate[bot]
d7706ef1b5
fix(deps): update [root] update dependencies (major) (#15620)
* fix(deps): update [root] update dependencies

* fix: migrate tar library

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-03-07 19:42:39 +09:00
renovate[bot]
baf3f4a1d1
chore(deps): update [frontend] update dependencies to v10 (#15619)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-07 19:41:34 +09:00
renovate[bot]
c7a56c2c2b
fix(deps): update [root] update dependencies (#15543)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-07 19:12:50 +09:00
github-actions[bot]
8dfff79ca2 Bump version to 2025.3.1-beta.0 2025-03-07 07:07:13 +00:00
かっこかり
83c3bb839f
deps: update pnpm to v10 (#15588)
* Revert "fix(build): corepackのバグの回避 (#15387)"

This reverts commit 9c70a4e631.

* deps: update pnpm to v10

* fix broken lockfile

* update changelog

* fix

* fix

* Revert "fix"

This reverts commit 4abc6c194edc20989f5ec97d343307a4b8c9047d.

* fix

* fix

* attempt to fix docker build

* lint fixes

* fix: revertしすぎた

* detect pnpm version and install it

* fix: そもそもpnpmを2回入れる必要がないかも

* fix

* refactor

* fix

* refactor: remove unnecessary arg

* Update Dockerfile

* update pnpm to v10.6.1

* Update Changelog

* chore: use node to avoid installing jq
2025-03-07 07:03:52 +00:00
syuilo
a9fe7eff0a
New translations ja-jp.yml (Chinese Traditional) (#15618) 2025-03-07 16:01:32 +09:00
syuilo
d49ecab792
Update CHANGELOG.md 2025-03-07 14:46:10 +09:00
renovate[bot]
56459bbe68
chore(deps): update [tools] update dependencies (#15616)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-07 11:44:20 +09:00
renovate[bot]
6c150ef1fb
fix(deps): update [frontend] update dependencies (#15617)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-07 11:44:04 +09:00
Hazelnoot
3de47474c5 merge: Change the "look for an instance" button to explore (!939)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/939

Closes #872

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-03-07 00:39:16 +00:00
syuilo
c78f45ea20
Update CHANGELOG.md 2025-03-07 09:12:18 +09:00
syuilo
82481c01e0 tweak MkDisableSection style 🎨 2025-03-07 09:11:51 +09:00
syuilo
741cbc34e6 Update CHANGELOG.md 2025-03-07 08:53:03 +09:00
github-actions[bot]
5e86550de3 Bump version to 2025.3.1-alpha.0 2025-03-06 23:51:21 +00:00
syuilo
92aef300ee
New Crowdin updates (#15611)
* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Italian)
2025-03-07 08:50:54 +09:00
syuilo
9ce1b68fd7 Update CHANGELOG.md 2025-03-07 08:50:32 +09:00
饺子w (Yumechi)
5be5c8bec4
fix(backend): fixup migration for incorrect extraction on system accounts table (#15613)
Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
2025-03-06 23:47:30 +00:00
Marie
3b9eca4768
upd: change look for instance button to explore 2025-03-06 19:41:50 +01:00
Hazelnoot
04ae57f47c merge: Allow users to unset/remove avatar if set (!934)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/934

Closes #988

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-03-06 17:22:24 +00:00
Hazelnoot
49597e7e08 merge: Add LibreTranslate as an option to External Services (!935)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/935

Closes #807

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-03-06 17:21:24 +00:00
Marie
a46c3415d7 merge: Fix clickable notifications blocking clicks where they shouldn't (!937)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/937

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-03-06 16:26:35 +00:00
CenTdemeern1
2502d9c60f Fix clickable notifications blocking clicks where they shouldn't
The (full screen width) div behind the notifications has unintentionally been blocking clicks. Oops! (Thanks for reporting this everyone)
2025-03-06 16:56:49 +01:00
Marie
1f592f9166
upd: simplify checks 2025-03-06 16:48:32 +01:00
Hazelnoot
8ecd924026 merge: Fix lookup for users with capitalized usernames on remote sharkey instances (!936)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/936

Closes #992

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-03-06 14:19:22 +00:00
syuilo
0214a0001f
feat(frontend): 設定の検索 (#15505)
* wip

* wip

* wip

* test

* wip rollup pluginでsearchIndexの情報生成

* wip

* SPDX

* wip: markerIdを自動付与

* rollupでビルド時・devモード時に毎回uuidを生成するように

* 開発サーバーでだけ必要な挙動は開発サーバーのみで

* 条件が逆

* wip: childrenの生成

* update comment

* update comment

* rename auto generated file

* hashをパスと行数から決定

* Update privacy.vue

* Update privacy.vue

* wip

* Update general.vue

* Update general.vue

* wip

* wip

* Update SearchMarker.vue

* wip

* Update profile.vue

* Update mute-block.vue

* Update mute-block.vue

* Update general.vue

* Update general.vue

* childrenがduplicate key errorを吐く問題をいったん解決

* マーカーの形を成形

* loggerを置きかえ

* とりあえず省略記法に対応

* Refactor and Format codes

* wip

* Update settings-search-index.ts

* wip

* wip

* とりあえず不確定要因の仮置きidを削除

* hashの生成を正規化(絶対パスになっていたのを緩和)

* pathの入力を省略可能に

* adminでもパス生成できるように

* Update settings-search-index.ts

* Update privacy.vue

* wip

* build searchIndex

* wip

* build

* Update general.vue

* build

* Update sounds.vue

* build

* build

* Update sounds.vue

* 🎨

* 🎨

* Update privacy.vue

* Update privacy.vue

* Update security.vue

* create-search-indexを多少改善

* build

* Update 2fa.vue

* wip

* 必ずtransformCodeCacheを利用するように, キャッシュの明確な受け渡しを定義

* キャッシュはdevServerでなくても更新

* Revert "wip"

This reverts commit 41bffd3a13f55618bf939dc1c9acb2a77ead4054.

* inlining

* wip

* Update theme.vue

* 🎨

* wip normalize

* Update theme.vue

* キャッシュのパス変換

* build

* wip

* wip

* Update SearchMarker.vue

* i18n.ts['key'] の形式が取り出せない問題のFix

* build

* 仮でpath入れ

* 必ず絶対パスが使われるように

* wip

* 🎨

* storybookビルド時はcreateSearchIndexをしない

* inliningの構造化

* format code

* Update index.vue

* wip

* wip

* 🎨

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* clean up

* Update navbar.vue

* enhance: 検索で上下矢印を使用することで検索結果を移動できるように

* refactor

* fix(frontend): PageWindowでSearchMarkerが動作するように

* enhance(frontend): SearchMarkerの点滅を一定時間で止める

* lint fix

* fix: 子要素監視が抜けていたのを修正

* アニメーションの回数はCSSで制御するように

* refactor

* enhance(frontend): 検索インデックス作成時のログを削減

* revert

* fix

* fix

---------

Co-authored-by: tai-cha <dev@taichan.site>
Co-authored-by: taichan <40626578+tai-cha@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-03-06 23:15:19 +09:00
github-actions[bot]
46067f6e17 [skip ci] Update CHANGELOG.md (prepend template) 2025-03-06 10:31:36 +00:00
github-actions[bot]
2b71bdf114 Release: 2025.3.0 2025-03-06 10:31:30 +00:00
github-actions[bot]
9d6b521351 Bump version to 2025.3.0-beta.2 2025-03-06 08:19:56 +00:00
syuilo
ad708d896b
Merge pull request #15562 from misskey-dev/l10n_develop
New Crowdin updates
2025-03-06 17:06:09 +09:00
かっこかり
22228b6756
enhance: OAuth2 (IndieAuth) でロゴが提供されている場合は表示するように (#15578)
* enhance: OAuthでロゴが提供されている場合は表示するように

* Update Changelog

* refactor

* fix

* fix test
2025-03-06 08:05:14 +00:00
かっこかり
f7ea0c6991
fix(backend): S3互換オブジェクトストレージでファイルのアップロードに失敗することがある問題を修正 (#15583)
* fix(backend/object-storage): disable data integrity protections (MisskeyIO#895)

Cloudflare R2 does not support 'x-amz-checksum-*'

* Update Changelog

---------

Co-authored-by: あわわわとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2025-03-06 08:03:57 +00:00
Sayamame-beans
60a3513cfc
enhance(frontend): invert how to show the number of attachments(remains) on postform (#15599)
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-03-06 07:45:46 +00:00
github-actions[bot]
377f002d68 Bump version to 2025.3.0-beta.1 2025-03-06 07:31:52 +00:00
syuilo
896bde1005 revert https://github.com/misskey-dev/misskey/pull/15545
see https://github.com/misskey-dev/misskey/issues/14498
2025-03-06 16:28:25 +09:00
かっこかり
6d0242277d
fix(frontend): tabler-iconsが読み込めない問題を修正(正式リリースに差し替え) (#15608) 2025-03-06 05:34:24 +00:00
Marie
995ba34aa4 fix: use toLowerCase() to make sure usernameLower matches while compared to request with possibly capitalization 2025-03-06 02:37:07 +00:00
Marie
70d88805d5
chore: typecheck error 2025-03-06 01:23:15 +01:00
Marie
40599190f7
add: libretranslate 2025-03-06 01:03:02 +01:00
renovate[bot]
60f90ca649
chore(deps): update [misskey-js] update dependencies (#15594)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-06 07:09:01 +09:00
Marie
ac83e230df
fix: background aspectRatio 2025-03-05 21:32:22 +01:00
Marie
17a02b2a59
upd: move claim, add claim for banner and background 2025-03-05 21:25:12 +01:00
Marie
56c1154fa6
fix: add back claim 2025-03-05 21:19:22 +01:00
Marie
58f2ab6c8b
upd: separate menu and change 2025-03-05 21:14:46 +01:00
Marie
daa449152d
upd: allow users to remove avatars 2025-03-05 19:48:55 +01:00
Marie
c5440c20c6 merge: Update sfm-js to latest version (!933)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/933

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-03-05 15:42:05 +00:00
Marie
0d3d2ee6a3
chore: update sfm to 0.24.6 2025-03-05 15:52:35 +01:00
renovate[bot]
f3be426383
fix(deps): update [frontend] update dependencies (#15595)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-05 21:01:44 +09:00
かっこかり
e8a6629cb5
fix(backend): システムアカウント系のマイグレーション不足を修正 (#15586)
* fix(backend): プロキシアカウントのロールバック用マイグレーションを追加

* fix

* separate newly-added `up` command

* drop backwards-compatibility

* docs
2025-03-05 16:49:49 +09:00
github-actions[bot]
44658ae981 Bump version to 2025.3.0-beta.0 2025-03-05 07:44:38 +00:00
syuilo
19384efbc5 clean up 2025-03-04 18:48:14 +09:00
Hazelnoot
7d61bf7304 merge: fix: always clone the note before hideNote (!931)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/931

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-03-03 16:31:24 +00:00
Lhc_fl
8d487be4be
small change to comment 2025-03-03 23:46:31 +08:00
Lhc_fl
381046a6b1
fix: always clone the note before hideNote 2025-03-03 23:03:20 +08:00
Hazelnoot
1483f96c3f collapse empty cw to null 2025-03-03 08:39:39 -05:00
Hazelnoot
0cd1292308 disable '@typescript-eslint/prefer-nullish-coalescing' for primitive types 2025-03-03 08:39:24 -05:00
かっこかり
adf22143aa
Revert "enhance(frontend): チャンネル投稿をユーザーページと前後ノートに表示する" (#15589)
* Revert "enhance(frontend): チャンネル投稿をユーザーページと前後ノートに表示する (#15532)"

This reverts commit a4711ab4c1.

* Update CHANGELOG.md
2025-03-03 21:05:50 +09:00
renovate[bot]
a17acf647b
fix(deps): update [frontend] update dependencies (#15587)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-03 17:48:17 +09:00
かっこかり
01a3eabc4e
enhance(frontend): アニメーション設定で画面上のエフェクトも考慮するように (#15576)
* enhance(frontend): アニメーション設定で画面上のエフェクトも考慮するように

* Update Changelog
2025-03-03 08:46:38 +00:00
かっこかり
59567a7ccc
fix(frontend): 照会処理を統一 (#15536)
* fix(frontend): 照会処理を統一

* fix

* doLookup -> apLookup
2025-03-03 08:45:04 +00:00
かっこかり
7fb8fccd57
Update CHANGELOG.md for #15532 2025-03-03 17:29:49 +09:00
鴇峰 朔華
a4711ab4c1
enhance(frontend): チャンネル投稿をユーザーページと前後ノートに表示する (#15532)
* enhance(frontend): ユーザーページで常にチャンネル投稿が含まれるように

* enhance(frontend): ノート詳細の前後の投稿にチャンネル投稿を含めるように

* ログイン有無の削除
2025-03-03 08:28:29 +00:00
かっこかり
bbe404a0b2
fix(frontend): 投稿フォームがオーバーフローした際にスクロールできるように (#15571)
* fix(frontend): 投稿フォームがオーバーフローした際にスクロールできるように

* Update Changelog

* remove unused props
2025-03-03 08:17:20 +00:00
かっこかり
0610bd657f
fix(frontend): フォローされたときのメッセージのshadowがちらつくことがある問題を修正 (#15584)
* fix(frontend): フォローされたときのメッセージがちらつく問題を修正

* Update Changelog
2025-03-03 08:09:41 +00:00
かっこかり
77667cf80d
enhance(frontend): モデレーターがセンシティブ設定を変更する際に確認ダイアログを出すように (#15462)
* enhance(frontend): モデレーターがセンシティブ設定を変更する際に確認ダイアログを出すように

* use MkSwitch

* Update Changelog
2025-03-03 08:06:34 +00:00
tetsuya-ki
801a2ec1db
fix(frontend): 削除して編集の削除タイミングを投稿後になるように #14498 (#15545)
* fix #14498

- 「削除して編集」の削除タイミングを投稿したタイミングへ変更

* update CHANGELOG.md

* 指摘対応

- InitialNoteがあれば必ず削除するべきものでもないため、投稿後にノートを削除するフラグをプロパティに追加

* 指摘対応のミス修正

- フラグを条件に追加
- 実績のdateが数値になってなかった点を修正

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-03-03 08:05:18 +00:00
Hazelnoot
908271c995 ignore empty CW with creating / editing notes 2025-03-03 01:30:29 -05:00
Hazelnoot
e44623d7c9 don't parse empty strings in timelineArgs.ts 2025-03-03 01:22:15 -05:00
Hazelnoot
25f26655bf don't use empty CW as placeholder in megalodon 2025-03-03 01:22:01 -05:00
Julia
0c7657e3a3 merge: Bump develop version (!928)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/928
2025-03-02 21:50:43 +00:00
Julia Johannesen
18ab08cfe0
Bump develop version 2025-03-02 15:54:23 -05:00
Julia
9e13c375c5 merge: 2025.2.2 (!927)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/927

Approved-by: Marie <github@yuugi.dev>
Approved-by: Julia <julia@insertdomain.name>
2025-03-02 19:54:32 +00:00
dakkar
955b6e8c12 bump version 2025-03-02 18:58:53 +00:00
dakkar
0b5e197afb Merge branch 'develop' into release/2025.2.2 2025-03-02 18:57:27 +00:00
Hazelnoot
141bce2be7 merge: Add/fix moderation logs for many endpoints (resolves #911 and #969) (!925)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/925

Closes #911 and #969

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-03-02 18:56:44 +00:00
Hazelnoot
9fdb68d568 remove fileId from importCustomEmojis log 2025-03-02 13:47:02 -05:00
Hazelnoot
86a7d33f3f fix rebase error 2025-03-02 13:46:28 -05:00
Hazelnoot
e030facaa9 don't record deleted note, flash, page, or gallery post in modlog 2025-03-02 13:38:35 -05:00
Hazelnoot
c02fd47811 fix formatting in SkFetchNote 2025-03-02 13:38:35 -05:00
Hazelnoot
5d1e1a2215 fix typo in "cannotLoadPage" translation 2025-03-02 13:38:35 -05:00
Hazelnoot
f42790ad32 don't pass note into moderationLogService.log 2025-03-02 13:38:35 -05:00
Hazelnoot
e5b8fc3c80 add missing modlog render blocks 2025-03-02 13:38:35 -05:00
Hazelnoot
c44c59e9ae remove embedded Note from "createPromo" mod logs 2025-03-02 13:38:32 -05:00
Hazelnoot
20e2a6e95a add SkFetchNote to render a note by ID 2025-03-02 13:38:05 -05:00
Hazelnoot
9e833f724b add DynamicNote to encapsulate MkNote / SkNote switching logic 2025-03-02 13:38:05 -05:00
Hazelnoot
cea77f3e2c emit "show" event from MkLazy 2025-03-02 13:38:05 -05:00
Hazelnoot
27d43879a2 add moderation logs for many endpoints
- `/admin/delete-all-files-of-a-user`
- `/admin/nsfw-user`
- `/admin/unnsfw-user`
- `/admin/silence-user`
- `/admin/unsilence-user`
- `/admin/accounts/create`
- `/admin/drive/clean-remote-files`
- `/admin/drive/cleanup`
- `/admin/emoji/set-category-bulk`
- `/admin/emoji/set-license-bulk`
- `/admin/emoji/set-aliases-bulk`
- `/admin/emoji/add-aliases-bulk`
- `/admin/emoji/remove-aliases-bulk`
- `/admin/emoji/import-zip`
- `/admin/federation/delete-all-files`
- `/admin/federation/remove-all-following`
- `/admin/promo/create`
- `/admin/relay/add`
- `/admin/relay/remove`
2025-03-02 13:38:02 -05:00
dakkar
504e90c190 merge: Remove assertActivityMatchesUrls in favor of three-way same-authority checks (resolves #956 and #914) (!914)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/914

Closes #956 and #914

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-03-02 18:36:04 +00:00
dakkar
92bac81a7f merge: handle scheduled notes when deleting and migrating accounts - fixes #931 #936 (!920)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/920

Closes #931 and #936

Approved-by: Marie <github@yuugi.dev>
Approved-by: Julia <julia@insertdomain.name>
2025-03-02 18:28:15 +00:00
dakkar
0fba8dc26a don't move scheduled notes to new account when migrating
@Julia confirms it would confuse people more than it helps
2025-03-02 16:51:54 +00:00
Hazelnoot
910b83c531 filter url properties by mediaType 2025-03-02 11:06:32 -05:00
Hazelnoot
d8d94b65a0 restore unintentionally-changed import type 2025-03-02 11:06:32 -05:00
Hazelnoot
67abc0ce19 allow Update(Note) to change url, since it's now validated on edits 2025-03-02 11:06:32 -05:00
Hazelnoot
a568333ecd remove assertActivityMatchesUrls in favor of three-way same-authority checks 2025-03-02 11:06:29 -05:00
github-actions[bot]
2a96e39bb3 Bump version to 2025.3.0-alpha.0 2025-03-02 12:12:06 +00:00
syuilo
616cccf251
enhance(backend): refine system account (#15530)
* wip

* wip

* wip

* Update SystemAccountService.ts

* Update 1740121393164-system-accounts.js

* Update DeleteAccountService.ts

* wip

* wip

* wip

* wip

* Update 1740121393164-system-accounts.js

* Update RepositoryModule.ts

* wip

* wip

* wip

* Update ApRendererService.ts

* wip

* wip

* Update SystemAccountService.ts

* fix tests

* fix tests

* fix tests

* fix tests

* fix tests

* fix tests

* add print logs

* ログが長すぎて出てないかもしれない

* fix migration

* refactor

* fix fed-tests

* Update RelayService.ts

* merge

* Update user.test.ts

* chore: emit log

* fix: tweak sleep duration

* fix: exit 1

* fix: wait for misskey processes to become healthy

* fix: longer sleep for user deletion

* fix: make sleep longer again

* デッドロック解消の試み

https://github.com/misskey-dev/misskey/issues/15005

* Revert "デッドロック解消の試み"

This reverts commit 266141f66fb584371bbb56ef7eba04e14bcff94d.

* wip

* Update SystemAccountService.ts

---------

Co-authored-by: おさむのひと <46447427+samunohito@users.noreply.github.com>
Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>
2025-03-02 20:06:20 +09:00
syuilo
7114523d84
Update CHANGELOG.md 2025-03-01 17:02:52 +09:00
syuilo
5d683728f3
デッドロック解消の試み (#15574)
https://github.com/misskey-dev/misskey/issues/15005

Co-authored-by: 饺子w (Yumechi) <35571479+eternal-flame-AD@users.noreply.github.com>
2025-03-01 16:12:42 +09:00
おさむのひと
b8632f389d
chore(ci): Renovateが作ったprにラベルつける (#15573) 2025-03-01 04:37:11 +00:00
renovate[bot]
830da5e9f1
fix(deps): update [frontend] update dependencies (#15566)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-01 13:11:09 +09:00
renovate[bot]
e2eddd5b1a
chore(deps): update actions/cache action to v4.2.2 (#15564)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-01 13:07:59 +09:00
renovate[bot]
d4f9bf1f11
chore(deps): update [misskey-js] update dependencies (#15565)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-01 13:07:47 +09:00
renovate[bot]
734c78ddd1
chore(deps): update [tools] update dependencies (#15563)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-03-01 13:07:36 +09:00
Hazelnoot
14a81b4f85 merge: Add "reject quotes" settings (!901)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/901

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-03-01 03:33:06 +00:00
Hazelnoot
8a65074f23 merge: fix lookup confirmations (!926)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/926

Approved-by: Marie <github@yuugi.dev>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-02-28 21:20:57 +00:00
Marie
6e8ab00750 merge: Trim padded Actor keys to avoid value too long error (resolves #806) (!913)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/913

Closes #806

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-02-28 20:06:11 +00:00
dakkar
42d6e0deeb fix lookup confirmations
having that "lookp user" check *twice* meant that typing a full
username, and then canceling the lookup confirmation, ended up doing a
lookup anyway

now, if you cancel the looup confirmation, you get a search

thanks to @Ares on Discord for reporting
2025-02-28 17:47:13 +00:00
syuilo
c63c3462dd refactor 2025-02-28 09:34:21 +09:00
dakkar
c19746d9d8 merge: Fix note visibility in streaming API (!922)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/922

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-02-27 11:18:31 +00:00
github-actions[bot]
a3bba23b7d [skip ci] Update CHANGELOG.md (prepend template) 2025-02-27 08:58:46 +00:00
github-actions[bot]
94a3e37ba8 Release: 2025.2.1 2025-02-27 08:58:40 +00:00
syuilo
cc09de7b27
New Crowdin updates (#15560)
* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Greek)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Lao)

* New translations ja-jp.yml (Korean (Gyeongsang))

* New translations ja-jp.yml (Catalan)
2025-02-27 16:13:37 +09:00
かっこかり
da66079c29
enhance(frontend): ノート検索ページのデザイン調整 (#14780)
* enhance(frontend): 検索ページのホスト指定とユーザー指定を統合する (#273)

(cherry picked from commit c79392c88d6bf58ede39d8bba9ca2778c58521ef)

* fix

* 🎨

* Update Changelog

* Update Changelog

* refactor

---------

Co-authored-by: taiy <53635909+taiyme@users.noreply.github.com>
2025-02-27 02:56:17 +00:00
Marie
d5bb83ac08 merge: probably fix editing scheduled notes - fixes #934 (!924)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/924

Closes #934

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-02-27 01:41:48 +00:00
Marie
483441dccb merge: debounce a bunch of MkInput (!923)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/923

Closes #885 and #968

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-02-27 01:41:15 +00:00
syuilo
ec83815227
fix(frontend): MkSelectの初期値が表示されない場合がある (#15559)
* fix

* Update CHANGELOG.md
2025-02-27 00:32:39 +00:00
dakkar
c33ce30d32 debounce the scratchpad 2025-02-26 13:08:46 +00:00
dakkar
9bf1d4c5ac probably fix editing scheduled notes - fixes #934
the result of `notes/schedule/list` needs to be shaped like an array
of `Packed<'Note'>`, but it wasn't

now it's much closer, and I can edit scheduled quotes and replies
2025-02-26 12:57:20 +00:00
dakkar
71d842421d debounce a bunch of MkInput
these are all the places I could find that (directly or indirectly)
perform API calls when the input is changed; telling the component to
"debounce" means that the API will be called at most once per second
2025-02-26 12:14:57 +00:00
PrivateGER
aa6bc9c9d0
linter fix 2025-02-26 12:13:13 +01:00
PrivateGER
15e9c0a576
Add warning about memory fragmentation 2025-02-26 12:04:38 +01:00
syuilo
6199139307
Update CHANGELOG.md 2025-02-26 16:30:25 +09:00
おさむのひと
15b0345335
enhance(frontend): コントロールパネルのユーザ検索で入力された情報をページ遷移で損なわないように (#15438)
* enhance(frontend): コントロールパネルのユーザ検索で入力された情報をページ遷移で損なわないように

* sessionStorageよりも更に短命な方法で持つように変更

* add comment

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-02-26 07:28:35 +00:00
かっこかり
28b40691d5
fix(frontend): リノート経由でノートの詳細情報を見るとき、クリップ一覧がappearNoteのものになるように (#15417)
* fix(frontend): リノート経由でノートの詳細情報を見るとき、クリップ一覧がappearNoteのものになるように

* Update Changelog

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-02-26 06:51:28 +00:00
syuilo
a778a63a12
New Crowdin updates (#15421)
* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)
2025-02-26 14:58:18 +09:00
github-actions[bot]
96fc7e307a Bump version to 2025.2.1-beta.2 2025-02-26 02:23:02 +00:00
Esurio/1673beta
bd13fb626c
fix(backend): S3_SAFEかつURL_SAFEでない文字列をprefixに使えないように (#15455)
* fix(backend): S3_SAFEかつURL_SAFEでない文字列をprefixに使えないように

* update CHANGELOG

* fix validation

* fix: remove unused import

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-02-26 01:56:23 +00:00
Hazelnoot
18f211e3bc call NoteEntityService.hideNote from streaming API 2025-02-25 20:55:24 -05:00
Hazelnoot
30b2bfb184 use assignMyReaction in channel, hashtag, role-timeline, and user-list channels 2025-02-25 20:54:54 -05:00
Hazelnoot
019e60d9a4 pass NoteEntityService through Channel constructor instead of method args 2025-02-25 20:52:14 -05:00
おさむのひと
d87488a5f0
fix(frontend): ユーザのサジェスト中に@を入力してもサジェスト結果が消えないように (#15435)
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-02-26 01:51:23 +00:00
おさむのひと
495db27433
fix(backend): カスタム絵文字の一括インポートをした時にHTTPプロキシの除外設定が効かないのを修正 (#15431)
* pxory

* fix

* fix CHANGELOG.md

* allow localAddress

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-02-26 01:48:38 +00:00
Hazelnoot
de3c9124cd check mutes and blocks of renote target in streaming API 2025-02-25 20:47:44 -05:00
Hazelnoot
cba9fcd4f2 make hideNote public 2025-02-25 20:46:36 -05:00
鴇峰 朔華
39c487e1d1
fix(backend): ローカル判定でisUriLocalを使用していない箇所を修正 (#15069)
* fix(backend): ローカル判定でisUriLocalを使用していない箇所を修正

* fix(test backend): RelayServiceでUtilityServiceを使う
2025-02-26 01:28:53 +00:00
かっこかり
b5799351d0
fix(backend): clips/updateのdescriptionで空文字を許容するように (#15429)
* fix(backend): clips/updateのdescriptionで空文字を許容するように

* Update Changelog

* fix: createの際も空文字を許容するように

* fix test

* fix test

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-02-26 01:27:38 +00:00
github-actions[bot]
7f31fd24b1 Bump version to 2025.2.1-beta.1 2025-02-26 00:47:08 +00:00
zyoshoka
389ec6350b
fix(backend): send Delete activity of a note to users who renoted or replied to it (#15554)
* fix(backend): send Delete activity of a note to users who renoted or replied to it

* Update CHANGELOG.md
2025-02-26 00:29:12 +00:00
PrivateGER
9ed9ed86af
override compression from env vars 2025-02-25 23:53:53 +01:00
PrivateGER
2b919c4eb0
Optionally enable websocket compression 2025-02-25 22:07:59 +01:00
Hazelnoot
f039a7a37b use padEnd to shorten long line in activitypub.ts 2025-02-25 11:44:16 -05:00
Hazelnoot
6cb04dbaac trim padded Actor keys to avoid value too long error 2025-02-25 11:41:44 -05:00
syuilo
2b6638e160
feat: google analytics (#15451)
* wip backend

* wip frontend

* build misskey-js

* implement control panel

* fix

* introduce analytics wrapper

* spdx

* Update analytics.ts

* Update common.ts

* wip

* wip

* wip

* wip

* wip

* Update CHANGELOG.md

---------

Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-02-25 11:51:23 +00:00
dakkar
e10e9ba071 merge: maybe better db/meili container images to start with - fixes #942 (!919)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/919

Closes #942

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-02-24 13:10:38 +00:00
dakkar
687cb5b168 handle scheduled notes when migrating account - fixes #931
I'm not sure we want the "change ownership of notes if dst is local",
though
2025-02-24 13:08:19 +00:00
dakkar
acf1b661a2 delete scheduled notes when deleting account - fixes #936 2025-02-24 12:38:50 +00:00
renovate[bot]
20cc6d3049
chore(config): migrate renovate config (#15550)
* chore(config): migrate config renovate.json5

* Update renovate.json5

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-24 14:24:34 +09:00
かっこかり
1b44954dcb
enhance(frontend): サーバーエラー画面の多言語対応 (#15549)
* enhance(frontend): サーバーエラー画面の多言語対応

* indent
2025-02-24 05:23:20 +00:00
renovate[bot]
5dc99e6f89
fix(deps): update [frontend] update dependencies (#15542)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-24 14:13:44 +09:00
renovate[bot]
d1504a5a83
fix(deps): update dependency shiki to v3 (#15544)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-24 14:07:32 +09:00
renovate[bot]
5a97f040c7
chore(deps): update actions/cache action to v4.2.1 (#15541)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-24 14:06:41 +09:00
renovate[bot]
0456c0f3c2
chore(deps): update [tools] update dependencies (#15540)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-24 14:06:30 +09:00
renovate[bot]
524adda2a6
chore(deps): update [misskey-js] update dependencies (#15539)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-24 14:06:17 +09:00
dakkar
bfc0299359 suggest using a more recent meilisearch 2025-02-23 13:27:19 +00:00
dakkar
86ac57e76e suggest using a recent postgres image with pgroonga 2025-02-23 13:26:56 +00:00
おさむのひと
426940bea7
2025.2.1-beta.0のlintがコケているのを修正 (#15546) 2025-02-23 21:21:58 +09:00
github-actions[bot]
9a619c621d Bump version to 2025.2.1-beta.0 2025-02-23 10:35:39 +00:00
饺子w (Yumechi)
25052164c0
Merge commit from fork
* fix(backend): Fix an issue where the origin of ActivityPub lookup response was not validated correctly.

[GHSA-6w2c-vf6f-xf26](https://github.com/misskey-dev/misskey/security/advisories/GHSA-6w2c-vf6f-xf26)

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* Enhance: Add configuration option to disable all external redirects when responding to an ActivityPub lookup (config.disallowExternalApRedirect)

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* fixup! fix(backend): Fix an issue where the origin of ActivityPub lookup response was not validated correctly.

* docs & one edge case

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* apply suggestions

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* remove stale frontend reference to _responseInvalidIdHostNotMatch

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* apply suggestions

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

---------

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
2025-02-23 19:21:34 +09:00
Hazelnoot
c6cabb8c75 merge: Fix file description labels to use "alt text" terminology (!911)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/911

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-02-22 03:23:49 +00:00
Jacob Hall
21eff6df66
do not make a DM visible if user is mentioned but not a recipient 2025-02-21 13:33:36 -05:00
Hazelnoot
3642ea022b disable inline note previews from users with quotes disabled 2025-02-20 21:34:09 -05:00
Hazelnoot
f39f47aade include rejectQuotes on all packed User entities 2025-02-20 21:12:12 -05:00
Jacob Hall
187c98e5ac
do not notify mentioned users if a DM is not visible to them 2025-02-20 15:09:48 -05:00
Jacob Hall
2c610f446b
do not change "description" key to "Alt text"
- switch Drive file info view to use the `caption` rather than
  `description` i18n key, so that it reads "Alt text"
2025-02-20 11:21:13 -05:00
Hazelnoot
365a0bd2c5 improve labels and wording for reject quotes feature 2025-02-20 09:58:22 -05:00
Hazelnoot
bb0bc68927 cover more retryable errors for quote resolution 2025-02-20 09:58:22 -05:00
Hazelnoot
ca7d8b5bff fix logging for quote errors 2025-02-20 09:58:22 -05:00
Hazelnoot
b9b339fd48 add admin/reject-quotes to new endpoints list 2025-02-20 09:58:19 -05:00
Hazelnoot
784290186f fix type errors in is-renote unit tests 2025-02-20 09:58:06 -05:00
Hazelnoot
b100249a34 fix type errors in NoteCreateService unit tests 2025-02-20 09:58:06 -05:00
Hazelnoot
0e2e77e346 fix type errors in WebhookTestService.ts 2025-02-20 09:58:04 -05:00
Hazelnoot
292d3b9229 add "reject quotes" toggle at user and instance level
+ improve, cleanup, and de-duplicate quote resolution
+ add warning message when quote cannot be loaded
+ add "process error" framework to display warnings when a note cannot be correctly loaded from another instance
2025-02-20 09:57:48 -05:00
dakkar
93ffd4611c merge: TSVector based search provider (!910)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/910

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-02-20 10:27:18 +00:00
dakkar
534c35cca2 merge: Add "force content warning" setting for user moderation (resolves #905) (!876)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/876

Closes #905

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-02-20 10:20:49 +00:00
Jacob Hall
e9f3702cf3
fix file description labels to use "alt text" terminology 2025-02-19 18:44:52 -05:00
PrivateGER
285bbcb81f
fix linter... 2025-02-19 16:46:59 +01:00
PrivateGER
691a9a6be2
Rename tsvector to sqlTsvector 2025-02-19 16:34:48 +01:00
PrivateGER
e6464906e6
change to sqlTsvector 2025-02-19 16:32:11 +01:00
PrivateGER
b5208c2ad0
simplify tsvector implementation, remove cover density 2025-02-19 16:26:02 +01:00
PrivateGER
006e92a7d0
adjust docs 2025-02-19 15:20:48 +01:00
PrivateGER
4fde14d1cc
fix wrong column name 2025-02-19 15:12:16 +01:00
PrivateGER
d82c8e8e97
Implement tsvector search support 2025-02-19 14:55:50 +01:00
Marie
d67eefaaf5 merge: Add separate redis for rate limit (!908)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/908

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-02-18 23:27:56 +00:00
Marie
0bec7fe2a2 merge: fix time zone for CustomEmojiService test (!909)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/909

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-02-18 23:25:54 +00:00
dakkar
9e3667b2a3 fix names that annoy @dakkar 2025-02-18 20:57:55 +00:00
dakkar
029f67b7e5 fix time zone for CustomEmojiService test
otherwise, the timestamps that the test uses for queries are
interpreted as UTC (because they have a TZ in the string), but the
truncated date is interpreted in the session timezone, which defaults
to the server timezone, which can be anything

thanks to @fEmber for noticing
2025-02-18 20:57:55 +00:00
Hazelnoot
c28b27b57f merge: Optionally log remote ActivityPub objects to database (!833)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/833

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-02-18 19:51:13 +00:00
Hazelnoot
788751d24d implement redisForRateLimit 2025-02-18 10:36:29 -05:00
ikasoba
7c87dec6ee
ignore js-built (#15523) 2025-02-18 16:46:37 +09:00
Marie
3dfd018305 merge: Fix error message when a peertube object is rejected for bad ID / URL (!900)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/900

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-02-17 19:47:36 +00:00
Marie
0e01c94efc merge: Increase rate limit on server-info to avoid errors and blank graphs (!903)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/903

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-02-17 19:46:31 +00:00
Marie
f95c234139 merge: Prevent browser console spam when media fetch returns an error message or JSON payload (!904)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/904

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-02-17 19:46:15 +00:00
Marie
25da35eab2 merge: relax validation of Announce / renote timestamps (resolves #799) (!905)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/905

Closes #799

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-02-17 19:46:11 +00:00
Marie
e102a9894a merge: Support Peertube preview thumbnails (resolves #513) (!906)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/906

Closes #513

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-02-17 19:46:08 +00:00
syuilo
34f8345bc8 clean up dev logs 2025-02-17 14:38:15 +09:00
syuilo
93e7aad44e tweak error log 2025-02-17 13:34:17 +09:00
Hazelnoot
39321d13cc prevent browser console spam when media fetch returns an error message or JSON payload 2025-02-16 19:27:29 -05:00
Hazelnoot
f183df3044 fix error message when a peertube object is reject for bad ID / URL 2025-02-16 19:27:06 -05:00
Hazelnoot
17ec2df3e1 increase rate limit on server-info to avoid errors and blank graphs 2025-02-16 19:26:29 -05:00
Hazelnoot
9de5ecae51 delete fetch logs when a note or user is deleted 2025-02-16 19:25:42 -05:00
Hazelnoot
dbaeb7f2ac fix unit tests using mock-resolver 2025-02-16 19:25:25 -05:00
Hazelnoot
71be39ecc8 add missing await in ApLogCleanupService 2025-02-16 19:25:24 -05:00
Hazelnoot
4858276465 don't log slow activities, as this is known to happen under regular circumstances 2025-02-16 19:25:24 -05:00
Hazelnoot
81944b3bdf implement AP fetch logs 2025-02-16 19:25:22 -05:00
Hazelnoot
cc2edae7ab rename activity_log and activity_context to ap_inbox_log and ap_context 2025-02-16 19:25:04 -05:00
Hazelnoot
0979392925 make activity_log.duration nullable 2025-02-16 19:25:04 -05:00
Hazelnoot
15148b7875 fix activity duration calculation
* Ensure that timing is recorded even if an exception is thrown.
* Round to the correct decimal place.
2025-02-16 19:25:04 -05:00
Hazelnoot
871c63b48b print warning when activity processing exceeds 10 seonds 2025-02-16 19:25:04 -05:00
Hazelnoot
e35e92beb9 log inbound activity duration 2025-02-16 19:25:04 -05:00
Hazelnoot
07cd01ec34 add missing constraint names to SkActivityLog and SkActivityContext 2025-02-16 19:25:04 -05:00
Hazelnoot
561f46b8d4 add logging for ActivityLogCleanupService 2025-02-16 19:25:04 -05:00
Hazelnoot
b65b4ecadc add inbound activity logger for debugging 2025-02-16 19:25:02 -05:00
Hazelnoot
ec0b2933e6 add admin/cw-user to new endpoints list 2025-02-16 19:22:55 -05:00
Hazelnoot
87bb60d4ae fix build error in compute-merged-cw.ts 2025-02-16 19:20:42 -05:00
Hazelnoot
b2d43040b1 factor out shared "compute-merged-cw" routine 2025-02-16 19:20:42 -05:00
Hazelnoot
e60fe879d6 document "special character" as zero-width space in activitypub unit tests 2025-02-16 19:20:42 -05:00
Hazelnoot
86b26fb58e adjust types to avoid merge conflicts in NoteCreateService.ts and NoteEditService.ts 2025-02-16 19:20:42 -05:00
Hazelnoot
5c86929b58 fix type errors in NoteCreateService.ts 2025-02-16 19:20:42 -05:00
Hazelnoot
c54b6bf55d append mandatory CW in Update(Note) activities 2025-02-16 19:20:41 -05:00
Hazelnoot
583f55bc5a fix type error in WebhookTestService.ts 2025-02-16 19:20:41 -05:00
Hazelnoot
c32bde739e add translation entry for "write:admin:cw-user" 2025-02-16 19:20:41 -05:00
Hazelnoot
3d23cdc0e4 append mandatory CW in note previews 2025-02-16 19:20:41 -05:00
Hazelnoot
905b637648 append mandatory CW in all note views (Mk/Sk/Em + basic/Detailed/Simple/Sub) 2025-02-16 19:20:41 -05:00
Hazelnoot
c5933f369e move mandatoryCW from admin-user to PackedUserLite (public field) 2025-02-16 19:20:41 -05:00
Hazelnoot
6c2034a373 append default CW when rendering AP Note objects 2025-02-16 19:20:41 -05:00
Hazelnoot
563e32316f factor out common append-content-warning routine for use in both frontend and backend 2025-02-16 19:20:41 -05:00
Hazelnoot
7814c6e54e remove mandatory CW logic from NoteCreateService and NoteEditService 2025-02-16 19:20:41 -05:00
Hazelnoot
d5e9be318b prevent duplicate ModLog entries when changing mod note or force CW 2025-02-16 19:20:41 -05:00
Hazelnoot
b256ac32d0 don't duplicate mandatory CWs 2025-02-16 19:20:41 -05:00
Hazelnoot
568d82a974 record ModLog entry when setting a user's content warning 2025-02-16 19:20:41 -05:00
Hazelnoot
4f79f85703 fix TypeScript errors in modlog.MogLog.vue 2025-02-16 19:20:41 -05:00
Hazelnoot
935a62f5e5 fix typescript errors in WebhookTestService.ts 2025-02-16 19:20:41 -05:00
Hazelnoot
ea89348b62 add user-level "force content warning" moderation feature 2025-02-16 19:20:37 -05:00
Hazelnoot
2bf8648ebc refresh cache when marking a user as NSFW 2025-02-16 19:15:23 -05:00
Hazelnoot
feeaf26641 fix lint errors in NoteCreateService & NoteEditService 2025-02-16 19:15:22 -05:00
Hazelnoot
3ab310e472 relax validation of Announce(Note) timestamps 2025-02-16 19:14:58 -05:00
Hazelnoot
6d459cdf80 Update ApImageService.ts 2025-02-16 19:14:24 -05:00
Hazelnoot
447534d094 support Peertube preview thumbnails 2025-02-16 19:14:24 -05:00
Hazelnoot
2d7918a9b7 merge: Merge upstream 2025.2.0 (!886)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/886

Approved-by: Marie <github@yuugi.dev>
Approved-by: Amber Null <puppygirlhornyposting@gmail.com>
2025-02-16 21:42:35 +00:00
dakkar
e5c41444e6 merge: fill myReaction in more cases - may fix #944 (!907)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/907

Closes #944

Approved-by: Charlotte <timo.herngreen@gmail.com>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-02-16 13:39:27 +00:00
dakkar
949664147e fill myReaction in more cases - may fix !944
* first of all, fetch from the buffer all the notes we may
	need (including replied-to ones)
* then, distinguish between "we know there's no myReaction" and "we
  don't know if there's any myReaction"
* finally, look at both a note and the note it's replying to
2025-02-16 11:41:32 +00:00
claustra01
9ffe504c7f
enhance(frontend): CWの注釈で入力済みの文字数を表示する (#15070)
* enhance: CW注釈の文字数表示

* update: CHANGELOG.md

* chore: maxCwTextLengthをただのconstにする

* fix: 投稿ボタンのdisable判定条件

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-02-16 10:34:50 +00:00
かっこかり
b965240da4
fix(deps): broken lockfile (#15508) 2025-02-16 19:08:48 +09:00
renovate[bot]
bacc212f81
fix(deps): update dependency bullmq to v5.41.1 (#15503)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-16 18:58:13 +09:00
github-actions[bot]
5991282e23 Bump version to 2025.2.1-alpha.0 2025-02-16 09:45:52 +00:00
鴇峰 朔華
f3a4434830
fix(backend): メールアドレスの形式が正しくなければ以降の処理を行わないように (#15320)
* Mod: バリデーションを追加

* 条件の修正

notつけわすれ

* Update CHANGELOG.md
2025-02-16 09:41:33 +00:00
renovate[bot]
e2a55e2a31
fix(deps): update [frontend] update dependencies (#15504)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-16 16:47:04 +09:00
renovate[bot]
05d41f2a7a
chore(deps): update [tools] update dependencies (#15498)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-16 11:57:41 +09:00
Marie
7abd4fe44e merge: Enhance: Increase nodejs memory limit for docker (!899)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/899

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-02-16 01:08:55 +00:00
Hazelnoot
ec29e12c97 Merge branch 'develop' into merge/2024-02-03
# Conflicts:
#	packages/backend/src/core/SearchService.ts
2025-02-15 11:30:26 -05:00
Daniel Ares
959b6ad46d Increase nodejs memory limit for docker 2025-02-15 13:19:06 +00:00
Marie
dc6f13728c merge: Fix timeout when searching notes by host without meilisearch (resolves #940) (!896)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/896

Closes #940

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-02-15 11:00:33 +00:00
renovate[bot]
994f8b556d
fix(deps): update [frontend] update dependencies (major) (#15497)
* fix(deps): update [frontend] update dependencies

* remove uuid types (v11 is typescript)

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-02-15 19:48:49 +09:00
かっこかり
88900492a4
fix(backend): pgroongaでの検索時にはじめのキーワード以外が検索に使用されない問題を修正 (#15496)
* fix pgroona note.text query

* Update Changelog

---------

Co-authored-by: Hazelnoot <acomputerdog@gmail.com>
2025-02-15 19:26:02 +09:00
かっこかり
9611bfbbf7
Update CHANGELOG.md 2025-02-15 17:28:22 +09:00
renovate[bot]
1c48d50bf2
fix(deps): update [backend] update dependencies (#15494)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: おさむのひと <46447427+samunohito@users.noreply.github.com>
2025-02-15 17:02:11 +09:00
renovate[bot]
ab9b807cd2
fix(deps): update [root] update dependencies (#15495)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: おさむのひと <46447427+samunohito@users.noreply.github.com>
2025-02-15 16:26:32 +09:00
renovate[bot]
c9ab7eab92
chore(deps): update [tools] update dependencies (#15493)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-15 15:46:12 +09:00
renovate[bot]
019f04292c
chore(deps): update [misskey-js] update dependencies (#15492)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-15 15:17:55 +09:00
renovate[bot]
8dc01e9421
chore(deps): update pnpm to v9.15.0 [security] (#15474)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-15 14:59:41 +09:00
renovate[bot]
280f465769
fix(deps): update [frontend] update dependencies (#15489)
* fix(deps): update [frontend] update dependencies

* fix type error

* fix

* Revert "fix"

This reverts commit de27d254f413b6938f7c42a5954c88da7da95b02.

* fix version

* attempt to fix test

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: おさむのひと <46447427+samunohito@users.noreply.github.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-02-15 14:54:45 +09:00
Hazelnoot
c67d985254 Merge branch 'develop' into merge/2024-02-03
# Conflicts:
#	packages/backend/src/core/SearchService.ts
#	packages/misskey-js/src/autogen/types.ts
2025-02-14 23:48:36 -05:00
おさむのひと
57e86fe609
fix(frontend): カスタム絵文字管理画面(beta)にてisSensitive/localOnlyの絞り込みが上手くいかない問題の修正 (#15461)
Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-02-15 04:01:51 +00:00
かっこかり
d8c4908aa5
enhance(frontend): リアクション時に確認ダイアログを出せるように (#15174)
* enhance(frontend): リアクション時に確認ダイアログを出せるように

* Update Changelog

* indent

* fix
2025-02-15 04:01:06 +00:00
renovate[bot]
208b201776
chore(deps): update [github actions] update dependencies (#15490)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-15 12:43:00 +09:00
renovate[bot]
4de33aca8c
chore(deps): update dependency vitest to v1.6.1 [security] (#15473)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-15 11:01:32 +09:00
renovate[bot]
49d7bc5faf
fix(deps): update dependency esbuild to v0.25.0 [security] (#15476)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-15 10:58:03 +09:00
renovate[bot]
6bb4669242
fix(deps): update dependency vite [security] (#15472)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-15 10:55:51 +09:00
renovate[bot]
5d82e1b2d0
fix(deps): update deps @fastify/multipart to v9.0.3 [security] (#15469)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-02-15 10:52:39 +09:00
syuilo
ffd8cf07e6
update deps (#15311)
* wip

* bump misskey-dev/eslint-plugin

* lint fixes (backend)

* lint fixes (frontend)

* lint fixes (frontend-embed)

* rollback nsfwjs to 4.2.0

ref: infinitered/nsfwjs#904

* rollback openapi-typescript to v6

v7でOpenAPIのバリデーションが入るようになった関係でスコープ外での変更が避けられないため一時的に戻した

* lint fixes (misskey-js)

* temporarily disable errored lint rule (frontend-shared)

* fix lint

* temporarily ignore errored file for lint (frontend-shared)

* rollback simplewebauthn/server to 12.0.0

v13 contains breaking changes that require some decision making

* lint fixes (frontend-shared)

* build misskey-js with types

* fix(backend): migrate simplewebauthn/server to v12

* fix(misskey-js/autogen): ignore indent rules to generate consistent output

* attempt to fix test

changes due to capricorn86/happy-dom#1617 (XMLSerializer now produces valid XML)

* attempt to fix test

changes due to capricorn86/happy-dom#1617 (XMLSerializer now produces valid XML)

* fix test

* fix test

* fix test

* Apply suggestions from code review

Co-authored-by: anatawa12 <anatawa12@icloud.com>

* bump summaly to v5.2.0

* update tabler-icons to v3.30.0-based

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: anatawa12 <anatawa12@icloud.com>
2025-02-15 10:24:22 +09:00
Hazelnoot
493000290b fix performance of SQL LIKE note search 2025-02-14 20:16:39 -05:00
Marie
6b6ee81660 merge: Fix error when searching without a specified host (!898)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/898

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-02-14 10:38:28 +00:00
ikasoba
1e88aa9d81
fix(frontend): Play の再読込時に UI が以前の状態を引き継いでしまう問題を修正 (#15479)
* fix

* update change log
2025-02-14 03:42:21 +00:00
Hazelnoot
c8bb7b9816 fix error when searching without a specified host 2025-02-13 17:40:32 -05:00
renovate[bot]
d893fbc5af
chore: Configure Renovate (#15468)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: おさむのひと <46447427+samunohito@users.noreply.github.com>
2025-02-14 07:31:28 +09:00
Hazelnoot
667262dcfb Merge branch 'develop' into merge/2024-02-03
# Conflicts:
#	locales/index.d.ts
#	packages/backend/src/core/SearchService.ts
#	packages/frontend/src/pages/search.note.vue
#	packages/misskey-js/src/autogen/types.ts
#	sharkey-locales/en-US.yml
2025-02-13 17:04:50 -05:00
Hazelnoot
a95bfb7241 search notes with denormalized userHost field 2025-02-13 16:56:32 -05:00
dakkar
36545aea8b merge: Add new note search file types (module, flash), optimize search query, and add translation entries for UI dropdown (resolves #920) (!897)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/897

Closes #920

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-02-13 17:22:33 +00:00
Hazelnoot
ed981a6970 add new note search file types (module, flash) and optimize file type query 2025-02-13 09:28:46 -05:00
おさむのひと
4d562e7439
enhance(frontend): ノートに埋め込まれたメディアのコンテキストメニューから管理者用のファイル管理画面を開けるように (#15460)
* enhance(frontend): ノートに埋め込まれたメディアのコンテキストメニューから管理者用のファイル管理画面を開けるように

* fix icon

* fix menu

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-02-13 11:09:04 +00:00
Hazelnoot
fb058410f6 fix pgroona note.text query 2025-02-12 11:01:26 -05:00
syuilo
30df768d26 Update about-misskey.vue 2025-02-12 20:55:12 +09:00
Hazelnoot
feb80ee992 Merge branch 'develop' into merge/2024-02-03 2025-02-11 10:52:52 -05:00
Esurio/1673beta
ebd06becbf
fix(backend): オブジェクトストレージの設定でPrefixを設定していなかった場合、nullが文字列として展開・ドメインの1つ後ろに'/'が挿入されないように (#15432) 2025-02-11 11:45:31 +00:00
Hazelnoot
363111f5de Merge branch 'develop' into merge/2024-02-03
# Conflicts:
#	locales/index.d.ts
#	packages/backend/src/server/api/EndpointsModule.ts
#	packages/backend/src/server/api/endpoints.ts
#	packages/misskey-js/src/autogen/endpoint.ts
#	sharkey-locales/en-US.yml
2025-02-10 23:34:52 -05:00
かっこかり
cf35208777
fix(frontend-test): Update url-preview.test.ts 2025-02-11 12:49:22 +09:00
かっこかり
d1eddf0d88
fix(frontend): 埋め込みiframeから外部ページに移動できない問題を修正 (#15453)
* fix(frontend): 埋め込みiframeから外部ページに移動できない問題を修正

* Update Changelog
2025-02-11 03:33:15 +00:00
かっこかり
d5ad953c9e
Update CHANGELOG.md (入れる場所が違うのを修正) 2025-02-11 11:23:39 +09:00
lqvp
e339293673
feat: アクセストークン発行時に通知するように (#15422)
* feat: アクセストークン発行時に通知するように (misskey-dev/misskey#13353)

* fix: 不要な翻訳を削除/インデントを揃えるように

* chore(backend): 不要なawaitを削除

* chore: changelogへ追加
2025-02-11 01:15:33 +00:00
おさむのひと
a1ca68aadd
fix(frontend): コンディショナルロールを手動で割り当てできる導線を削除 (#15436)
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-02-11 01:10:05 +00:00
Hazelnoot
5276d6024d merge: Cleanup and bulk fixes to Mastodon API (resolves #495, #509, #707, #714, #721, #804, #811, #865, and partially #492) (!879)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/879

Closes #495, #509, #707, #714, #721, #804, #811, #865, and #492

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-02-10 16:28:32 +00:00
Hazelnoot
2f84d151f5 merge: Allow user-initiated object lookups (/ap/show endpoint) to follow cross-domain redirects (resolves #820) (!878)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/878

Closes #820

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-02-10 16:22:20 +00:00
Marie
1da9245ca5 merge: hide note preview if it's already quoted - fixes #888 (!894)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/894

Closes #888

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-02-10 16:20:21 +00:00
Marie
c1d609bf00 merge: make the listen address configurable - fixes #927 (!892)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/892

Closes #927

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-02-10 16:19:05 +00:00
Marie
816ce293fb merge: search-by-tags returns "home" notes - fixes #933 (!891)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/891

Closes #933

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-02-10 16:18:06 +00:00
Marie
58ad9b13ab merge: add missing translations for admin perms - fixes #918 (!893)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/893

Closes #918

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-02-10 16:18:05 +00:00
Marie
61e5eadffa merge: prevent a ReferenceError (!895)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/895

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-02-10 16:18:00 +00:00
dakkar
b7f06f2877 prevent a ReferenceError
before, we got:

> ReferenceError: can't access lexical declaration 'followRequestDone'
> before initialization

(of course in non-dev mode, `followRequestDone` had a different name)
2025-02-10 11:59:38 +00:00
dakkar
f66e534f26 fix the defaults 2025-02-10 11:54:47 +00:00
dakkar
c6eb1ffde3 hide note preview if it's already quoted - fixes #888
I do not particularly _love_ this solution, but it is simple and
effective

I can't find another reliable way to determine if a link goes to a
local note of the given id, apart from fetching the link
2025-02-10 11:42:10 +00:00
dakkar
43d4835c2f add missing translations for admin perms - fixes #918 2025-02-10 10:48:37 +00:00
Marie
670b1171fb merge: Add ability to generate vapid keys on frontend (!888)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/888

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-02-10 10:47:42 +00:00
dakkar
427d09e643 make the listen address configurable - fixes #927
sadly `fastify.listen` doesn't support passing more than 1 address
2025-02-10 10:40:06 +00:00
dakkar
7b507485b5 search-by-tags returns "home" notes - fixes #933
featured / trending tags count both "home" and "public" notes, so this
should do the same
2025-02-10 10:16:27 +00:00
おさむのひと
420365c17f
enhance(frontend): 開発者モードでメニューからファイルIDをコピー出来るようにする (#15444) 2025-02-10 08:20:38 +00:00
dakkar
9feab58a46 add some missing translations
these will get replaced by whatever upstream's crowdin produces, at
some point in the future
2025-02-09 12:15:42 +00:00
dakkar
4567f243a9 allow overriding logging via env 2025-02-09 12:15:42 +00:00
dakkar
ae862f79fb merge: pin corepack version (!885)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/885

Approved-by: Marie <github@yuugi.dev>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-02-09 11:26:51 +00:00
zyoshoka
dc608aada0
fix(backend): correct admin/meta response schema (#15434) 2025-02-09 07:17:48 +00:00
Hazelnoot
3cd7cc5900 remove unstable "detector" tests from megalodon 2025-02-09 00:48:44 -05:00
Hazelnoot
7a8abbba6a regenerate misskey-js 2025-02-08 13:19:29 -05:00
Hazelnoot
1126c09669 make convertAttachment match file->attachment schema 2025-02-08 13:17:50 -05:00
Hazelnoot
daf715578e fix mastodon media attachment conversion (resolves #495) 2025-02-08 13:17:50 -05:00
Hazelnoot
1e43162ba7 improve mastodon note conversion and use access checks in more places (resolves #509) 2025-02-08 13:17:50 -05:00
Hazelnoot
3550ce27d5 hide restricted edit history from mastodon api (resolves #811) 2025-02-08 13:17:50 -05:00
Hazelnoot
bd95e8a555 fix relationship data for Mastodon API (resolves #714) 2025-02-08 13:17:50 -05:00
Hazelnoot
5a1d1394d4 add memo and isInstanceMuted to UserRelation API entity 2025-02-08 13:17:47 -05:00
Hazelnoot
02e90e23b7 fix build target for megalodon 2025-02-08 13:17:34 -05:00
Hazelnoot
bbfba495df remove un-needed relationshipModel static data 2025-02-08 13:17:34 -05:00
Hazelnoot
c38f04fe38 fix empty masto-api responses for several endpoints (resolves #721 and #707) 2025-02-08 13:17:34 -05:00
Hazelnoot
16f483d273 cleanup Mastodon API (resolves #804 and #865, partially resolves #492)
* Fix TS errors and warnings
* Fix ESLint errors and warnings
* Fix property typos in various places
* Fix property data conversion
* Add missing entity properties
* Normalize logging and reduce spam
* Check for missing request parameters
* Allow mastodon API to work with local debugging
* Safer error handling
* Fix quote-post detection
2025-02-08 13:17:34 -05:00
Hazelnoot
2c2fb8a692 export logger Data types for reference elsewhere 2025-02-08 13:17:34 -05:00
Hazelnoot
5347bbf154 export megalodon generator in a way that doesn't break TypeScript 2025-02-08 13:17:34 -05:00
Hazelnoot
7e1b4b259a Merge branch 'develop' into merge/2024-02-03
# Conflicts:
#	packages/backend/src/server/ActivityPubServerService.ts
#	pnpm-lock.yaml
2025-02-08 13:16:37 -05:00
Hazelnoot
50a3e55be4 merge: Rework rate limit factors and add caching (resolves #884) (!884)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/884

Closes #884

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-02-08 15:05:01 +00:00
Esurio/1673beta
231c2c2e54
fix(backend): following/invalidateでフォロワーを解除しようとしているユーザーの情報を返すように (#15430) 2025-02-08 12:51:30 +00:00
taichan
2f8d02024a
feat(frontend): 画像を投稿前にプレビュー可能に (#15341)
* feat(client): 画像をプレビュー可能に

* Update Changelog

* SPDX

* 消えてたのFix

* Add storybook for MkImgPreviewDialog

* backgroundのスタイル変更

Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>

* Add MkImgPreviewDialog to storybook generator

* Update packages/frontend/.storybook/generate.tsx

---------

Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-02-08 08:33:09 +00:00
かっこかり
4b98b446be
enhance(frontend): クライアントエラー画面の多言語対応 (#15411)
* enhance(frontend): クライアントエラー画面のマルチリンガル対応

* Update Changelog

* update message
2025-02-08 08:31:28 +00:00
Esurio/1673beta
026ec40b3b
fix(dev): devcontainerのcorepackのバージョンを指定するように (#15415) 2025-02-08 08:29:51 +00:00
zyoshoka
54fc232a23
fix(backend): use unique operationId in the OpenAPI schema (#15420)
* fix(backend): use unique `operationId` in the OpenAPI schema

* fix: read with UTF-8 encoding
2025-02-08 08:29:24 +00:00
おさむのひと
a3cc865e11
fix(ci): oktetoの導線を削除 (#15427) 2025-02-08 08:28:05 +00:00
zyoshoka
d7b443d1f0
chore: update .swcrc schema link (#15428) 2025-02-08 17:21:32 +09:00
Marie
571861c836 merge: docker: add more packages (!890)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/890

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-02-07 23:47:54 +00:00
Marie
0a6ecec26c add pixman, pango, cairo and libpng to runner 2025-02-07 23:23:16 +00:00
Marie
bfe1cde5ec chore: adjust add command 2025-02-07 22:59:05 +00:00
Marie
4ff29713af Update Dockerfile 2025-02-07 22:54:09 +00:00
Marie
b60e2b363c docker: add more packages 2025-02-07 22:50:19 +00:00
Marie
41ba52e38b merge: fix(docker): Alpine build failing due to missing dev packages (pkgconf and etc) (!889)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/889

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-02-07 22:26:56 +00:00
Marie
da04ff0b9a chore: replace build-base with alpine-sdk 2025-02-07 21:38:04 +00:00
Marie
87eac89f94 fix(docker): Alpine build failing due to missing dev packages (pkgconf and etc) 2025-02-07 21:33:47 +00:00
Marie
9731a614a1 merge: Enable FreeBSD to be used for deployment (!887)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/887

Closes #928

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-02-07 20:37:50 +00:00
Hazelnoot
170c0f111e Merge remote-tracking branch 'fEmber/merge/2024-02-03' into merge/2024-02-03 2025-02-07 13:53:02 -05:00
Hazelnoot
e96fe824bb print an error when booting with both MK_ONLY_SERVER and MK_ONLY_QUEUE set 2025-02-07 13:52:58 -05:00
dakkar
83afdc883a clearer warning when replacing saved keys 2025-02-07 18:46:08 +00:00
dakkar
01006058c4 simpler genKeys 2025-02-07 18:42:47 +00:00
dakkar
09128ef399 pick lints 2025-02-07 18:33:24 +00:00
dakkar
d426e2a7ef fix our ruby/group hack 2025-02-07 18:22:45 +00:00
Hazelnoot
29b1f61d67 fix dockerfile 2025-02-07 12:51:47 -05:00
Hazelnoot
105f8be9f5 copy changes from MkInstanceTicker to SkInstanceTicker 2025-02-07 12:16:41 -05:00
Hazelnoot
92a6757914 allow environment override for fulltextSearch.provider property 2025-02-07 11:59:41 -05:00
Hazelnoot
f36029f795 Merge branch 'develop' into merge/2024-02-03
# Conflicts:
#	locales/index.d.ts
#	packages/backend/src/core/entities/UserEntityService.ts
#	packages/frontend/src/_dev_boot_.ts
#	packages/misskey-js/src/autogen/types.ts
#	sharkey-locales/en-US.yml
2025-02-07 11:57:44 -05:00
Marie
ef90b2e5a7
chore: add quotes to RoleService 2025-02-07 15:09:53 +01:00
anatawa12
607bf60007
enhance(frontend): アンテナ、リスト等の名前をdeckのカラム名のデフォルト値にするように (#13992)
* refactor: remove type errors from deck.vue and deck-store.ts

* feat: アンテナ、リスト等の名前をカラム名のデフォルト値にするように

* docs: アンテナ、リスト等の名前をカラム名のデフォルト値にするように

* lint: fix

* chore: カラム名が指定されている場合にはチャンネル名を取得しないように

* chore: チャンネルについては投稿でも使用されてる channel 変数を使用するように

* docs: fix changelog

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>
Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-02-07 06:57:14 +00:00
かっこかり
d008394eb7
enhance(frontend): PostFormのannoying判定でCWを考慮するように (#15405)
* enhance(frontend): PostFormのannoying判定でCWを考慮するように

* Update Changelog

* Update CHANGELOG.md
2025-02-07 06:54:52 +00:00
Marie
c889948f95
feat: Add generation of keys to admin page 2025-02-07 06:00:49 +01:00
Marie
d6c4b728df merge: Add "follow back" button on follow-related notifications (resolves #895) (!873)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/873

Closes #895

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-02-07 03:50:12 +00:00
Marie
d629b882b0 merge: Allow users to set a default content warning for their new posts (resolves #901) (!881)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/881

Closes #901

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-02-07 03:47:20 +00:00
Marie
2434922f7d merge: Increase the rate limit for /api/i endpoint (!882)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/882

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-02-07 03:44:31 +00:00
Marie
de7ecdc487 merge: Add buttons to accept/reject follow request from the requestor's profile (resolves #896) (!872)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/872

Closes #896

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-02-07 03:43:45 +00:00
Marie
e401724835 merge: Increase rate limit on federation/update-remote-user endpoint (!880)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/880

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-02-07 03:41:00 +00:00
Marie
2928ccf1e4 merge: handle more complex ruby from/to html - fixes #605 (!866)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/866

Closes #605

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-02-07 03:40:55 +00:00
Marie
77ba5018d7 merge: use template variables for MR template (!851)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/851

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-02-07 03:40:47 +00:00
Esurio/1673beta
47a76bbc4c
fix: swcのjson-schemaのurlを変更 (#15409)
Co-authored-by: Esurio <esurio@esurio1673.net>
2025-02-07 02:36:58 +00:00
Marie
24528ed0c3 fix: Allow FreeBSD to start Backend without any issues 2025-02-06 22:54:47 +01:00
Hazelnoot
0d1c993dd2 restore support for local dev using a non-local url 2025-02-06 12:57:44 -05:00
Hazelnoot
eaed8f2cec fix local dev errors caused by missing reversi / bubble game builds 2025-02-06 12:57:10 -05:00
dakkar
f2382e951e docs: run more tests after merging
also, reformat the markdown to get the correct list nesting
2025-02-06 10:45:13 +00:00
dakkar
67ff1969b0 run more tests, now they pass 2025-02-06 10:45:05 +00:00
dakkar
708debf5d5 Merge tag '2025.2.0' into merge/2024-02-03 2025-02-06 10:22:57 +00:00
Hazelnoot
337326ed07 fix check for parts.length 2025-02-05 14:22:50 -05:00
Hazelnoot
8af91d9673 extract variable hasExistingDefaultCW to improve code readability 2025-02-05 14:22:50 -05:00
Hazelnoot
90e71ba413 apply default content warning to new posts 2025-02-05 14:22:50 -05:00
Hazelnoot
889804b2a8 add settings UI to configure defaultCW and defaultCWPriority 2025-02-05 14:22:50 -05:00
Hazelnoot
c8f8a61a00 add MiUserProfile.defaultCWPriority property and API 2025-02-05 14:22:50 -05:00
Hazelnoot
74407bc8ee add MiUserProfile.defaultCW property and API 2025-02-05 14:22:50 -05:00
Hazelnoot
b92591e2ed allow ap/show to follow cross-domain redirects 2025-02-05 14:21:38 -05:00
Hazelnoot
d831c168aa support Mastodon's version of "alternate links" 2025-02-05 14:21:38 -05:00
Hazelnoot
788dc69d11 use leaky bucket rate limit for ap/show 2025-02-05 14:21:38 -05:00
Hazelnoot
88dd36ce83 narrow return type for signedGet 2025-02-05 14:21:38 -05:00
Hazelnoot
9a7a9e3461 loosen parameter types for getApId and getNullableApId 2025-02-05 14:21:38 -05:00
Hazelnoot
d6a38b6cab show a "follow back" button on "user followed you" and "received follow request" notifications 2025-02-05 14:21:13 -05:00
Hazelnoot
1bedf954f2 increase rate limit for users/show endpoint 2025-02-05 14:21:12 -05:00
Hazelnoot
80ffe13894 automatically update the profile UI badges after clicking the "follow" button 2025-02-05 14:20:39 -05:00
Hazelnoot
5fe14d850e prevent UI overflow with follow request controls on mobile 2025-02-05 14:20:39 -05:00
Hazelnoot
516500bbc5 fix lint errors 2025-02-05 14:20:39 -05:00
Hazelnoot
0370363aaf show pending inbound follow requests on a user's profile 2025-02-05 14:20:39 -05:00
Hazelnoot
9f88ccec5f emit waiting status from MkFollowButton 2025-02-05 14:20:39 -05:00
Hazelnoot
9934e4d948 allow MkFollowButton to be disabled 2025-02-05 14:20:39 -05:00
Hazelnoot
b171c1c440 move imports to fix git diff in ActivityPubServerService.ts 2025-02-05 11:20:26 -05:00
Hazelnoot
f92fb3bb8c move SkRateLimiterService to correct directory 2025-02-05 11:20:26 -05:00
Hazelnoot
d4311ea041 document new rate limit factor calculations 2025-02-05 11:20:25 -05:00
Hazelnoot
09669d72e7 lookup and cache rate limit factors directly within SkRateLimiterService 2025-02-05 11:20:25 -05:00
Hazelnoot
402933004a increase sign-in rate limit 2025-02-05 11:20:25 -05:00
Hazelnoot
8a087e75a5 merge: Improve language detection. (!871)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/871

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-02-05 13:49:18 +00:00
dakkar
1b5123d9a3 fix emoji test 2025-02-05 12:10:24 +00:00
dakkar
6489458751 fix captcha test 2025-02-05 12:00:58 +00:00
syuilo
cfb61289a9
refactor(frontend): remove X theme properties (#15376)
* refactor(frontend): remove X theme properties

* Update MkAutocomplete.vue

* Update WidgetCalendar.vue
2025-02-05 11:17:48 +00:00
かっこかり
c548ec9906
refactor(frontend): verbatimModuleSyntaxを有効化 (#15323)
* wip

* wip

* wip

* wip

* revert unnecessary changes

* wip

* refactor(frontend): enforce verbatimModuleSyntax

* fix

* refactor(frontend-shared): enforce verbatimModuleSyntax

* wip

* refactor(frontend-embed): enforce verbatimModuleSyntax

* enforce consistent-type-imports

* fix lint config

* attemt to fix ci

* fix lint

* fix

* fix

* fix
2025-02-05 10:01:44 +00:00
github-actions[bot]
c634ae37e5 [skip ci] Update CHANGELOG.md (prepend template) 2025-02-05 08:58:47 +00:00
github-actions[bot]
b7c3630da9 Release: 2025.2.0 2025-02-05 08:58:41 +00:00
syuilo
0f0e88e4c7
Update CHANGELOG.md 2025-02-05 17:14:40 +09:00
かっこかり
fd880660a3
fix(frontend): デッキのプロファイルが新規作成できない問題を修正 (#15406)
* fix(frontend): デッキのプロファイルが保存できない問題を修正

* Update Changelog

* Update CHANGELOG.md
2025-02-05 08:02:10 +00:00
github-actions[bot]
2f4e2a7cca Bump version to 2025.2.0-beta.1 2025-02-05 04:24:51 +00:00
syuilo
23fc79bf06
New Crowdin updates (#15400)
* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)
2025-02-05 13:23:36 +09:00
Hazelnoot
ae52a80b1a add simplified ti-emoji regex 2025-02-04 20:40:17 -05:00
Hazelnoot
7b964799d8 regenerate locales index 2025-02-04 20:39:59 -05:00
syuilo
fbc6d0de54
enhance: ページslugに使用可能な文字を限定 (#15395)
* wip

* paramの正規表現で弾くように

* apiWithDialogを使用するように

* Update CHANGELOG.md

---------

Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-02-05 01:39:46 +00:00
syuilo
904da7bad6
Update CHANGELOG.md 2025-02-05 09:55:39 +09:00
syuilo
82d4109339
New translations ja-jp.yml (English) (#15389)
Co-authored-by: おさむのひと <46447427+samunohito@users.noreply.github.com>
2025-02-05 09:30:41 +09:00
Hazelnoot
a277c11a2b ui.test.ts 2025-02-04 15:25:57 -05:00
Hazelnoot
3f7440b10a add missing locale id 2025-02-04 15:25:38 -05:00
Hazelnoot
60d7edbc14 fix mapping for ti-list-search 2025-02-04 12:53:01 -05:00
Hazelnoot
041993e0c0 map new TI icons:
* ti-eraser -> ph-eraser
* ti-icons -> ph-squares-four
* ti-list-numbers -> ph-list-numbers
* ti-notes -> ph-notepad
* ti-user-question -> ph-user-question
2025-02-04 12:52:25 -05:00
Hazelnoot
080b2dc442 update misskey-js 2025-02-04 11:45:04 -05:00
Hazelnoot
66a7655bdb load correct locales file in frontend-embed boot.ts 2025-02-04 11:40:30 -05:00
Hazelnoot
9a6c954ca6 add missing _LANGS_VERSION_ definition to frontend eslint 2025-02-04 11:34:39 -05:00
Hazelnoot
25bb97945c remove unused imports from plugin.ts 2025-02-04 11:33:08 -05:00
Hazelnoot
2e75f1c6fd remove extraneous newline in os.ts 2025-02-04 11:32:41 -05:00
Hazelnoot
f2ae9ab570 remove unused import from use-note-capture.ts 2025-02-04 11:27:52 -05:00
Hazelnoot
f5f9b8bc5f fix lint errors in user/home.vue 2025-02-04 11:14:24 -05:00
Hazelnoot
06bcd0c9a0 fix lint errors and remove commented code from settings/general.vue 2025-02-04 11:13:05 -05:00
Hazelnoot
cf86a65385 restore formatting in pages/admin/federation.vue 2025-02-04 11:10:42 -05:00
Hazelnoot
1f9372af32 restore formatting in MkUserSelectDialog.vue 2025-02-04 11:07:36 -05:00
Hazelnoot
e84f62ae5d fix import order in MkPageWindow.vue 2025-02-04 10:56:27 -05:00
Hazelnoot
f153e54313 remove unused import from MkNotes.vue 2025-02-04 10:55:17 -05:00
Hazelnoot
ef3e83cefa fix lint errors in MkMfm.ts 2025-02-04 10:45:08 -05:00
Hazelnoot
5745b942e0 fix import order in i/claim-achievement.ts 2025-02-04 10:43:51 -05:00
Hazelnoot
c73de4ece0 fix import order in i/delete-account.ts 2025-02-04 10:43:09 -05:00
Hazelnoot
4aed4d6cc2 fix import order in i/regenerate-token.ts 2025-02-04 10:42:54 -05:00
Hazelnoot
6c33542fa7 fix import order in mute/delete.ts 2025-02-04 10:42:41 -05:00
Hazelnoot
9086de1648 fix import order in notes/favorite/delete.ts 2025-02-04 10:42:23 -05:00
Hazelnoot
b2b6f2f1d6 fix lint errors in notes/schedule/create.ts 2025-02-04 10:42:08 -05:00
Hazelnoot
d879e5c03a fix import order in notes/global-timeline.ts 2025-02-04 10:41:52 -05:00
Hazelnoot
8e7cac3d77 fix import order in notes/like.ts 2025-02-04 10:41:27 -05:00
Hazelnoot
1f03acb97a fix import order in pages/delete.ts 2025-02-04 10:41:15 -05:00
Hazelnoot
8ee315a82b fix lint errors in stream/channel/bubble-timeline.ts 2025-02-04 10:41:03 -05:00
Hazelnoot
8459d6283d fix import order in stream/channel.ts 2025-02-04 10:40:47 -05:00
Hazelnoot
f65937446a fix lint errors in Connection.ts 2025-02-04 10:40:14 -05:00
Hazelnoot
5942da15da fix import order in SignupApiService.ts 2025-02-04 10:39:03 -05:00
Hazelnoot
980ea858f2 fix import order in ActivityPubServerService.ts 2025-02-04 10:38:50 -05:00
Hazelnoot
6d12bc0e7f fix import order in i/change-password.ts 2025-02-04 10:17:18 -05:00
Hazelnoot
27a8ded246 fix import order in i/2fa/update-key.ts 2025-02-04 10:16:08 -05:00
Hazelnoot
e04d38e105 fix import order in i/2fa/unregister.ts 2025-02-04 10:10:43 -05:00
Hazelnoot
3ae4356ac7 fix import order in i/2fa/remove-key.ts 2025-02-04 10:10:16 -05:00
Hazelnoot
51232dc60f fix import order in i/2fa/register-key.ts 2025-02-04 10:09:58 -05:00
Hazelnoot
4c268e4a2b fix import order in i/2fa/register.ts 2025-02-04 10:09:30 -05:00
Hazelnoot
85fbd0edf9 fix import order in i/2fa/password-less.ts 2025-02-04 10:09:07 -05:00
Hazelnoot
96334ef178 fix lint errors in i/2fa/key-done.ts 2025-02-04 10:08:42 -05:00
Hazelnoot
ea35204c9e fix import order in i/2fa/done.ts 2025-02-04 10:07:34 -05:00
Hazelnoot
294365591c fix import order in gallery/posts/delete.ts 2025-02-04 10:07:03 -05:00
Hazelnoot
f469a7b1de fix import order in flash/delete.ts 2025-02-04 10:06:25 -05:00
Hazelnoot
82345dc77a fix lint error in drive/folder.ts 2025-02-04 10:05:34 -05:00
Hazelnoot
6bb99734ad fix lint errors in drive/files.ts 2025-02-04 10:05:16 -05:00
Hazelnoot
aeed479ea0 remove unused import from drive/folders/update.ts 2025-02-04 10:04:40 -05:00
Hazelnoot
ffd1c52213 remove unused import from drive/files/update.ts 2025-02-04 10:04:19 -05:00
Hazelnoot
606d10f109 remove unused import from drive/files/delete.ts 2025-02-04 10:03:42 -05:00
Hazelnoot
b84a1542fa fix import order in channels/update.ts 2025-02-04 10:02:30 -05:00
Hazelnoot
5ff6814c74 remove unused imports from accounts/create.ts 2025-02-04 09:57:16 -05:00
Hazelnoot
f2fb408ffc fix import order in DeleteAccountProcessorService.ts 2025-02-04 09:57:02 -05:00
Hazelnoot
176db52d88 fix formatting in SignupService.ts 2025-02-04 09:49:43 -05:00
Hazelnoot
c1a8654f0d fix import order in FederatedInstanceService.ts 2025-02-04 09:20:55 -05:00
Hazelnoot
baff0605e0 fix import order in UserEntityService.ts 2025-02-04 09:16:35 -05:00
Hazelnoot
a8e4ad28b3 remove unused DI parameter 2025-02-04 09:15:14 -05:00
Hazelnoot
ce8374bdc9 remove spurious newline 2025-02-04 09:13:49 -05:00
Hazelnoot
21667a0422 convert private field to constructor param 2025-02-04 09:13:03 -05:00
Hazelnoot
878b4d3899 remove spurious code style / formatting changes in ApRequestService.ts 2025-02-04 09:10:52 -05:00
Hazelnoot
edfd9e54fb remove unused meta.version call 2025-02-04 08:59:01 -05:00
Hazelnoot
e497d153b2 copy config changes to chart/files/default.yml 2025-02-04 08:55:44 -05:00
Hazelnoot
eff75ffc2a remove unused index.html 2025-02-04 08:49:06 -05:00
Hazelnoot
37718eebfe restore fixes to locale versioning 2025-02-04 08:47:58 -05:00
syuilo
0c634c9675
Update CHANGELOG.md 2025-02-04 20:33:31 +09:00
lqvp
5840c7a945
fix(frontend): パスキーでパスワードレスログインが出来ない問題を修正 (#15370) 2025-02-04 09:16:41 +00:00
かっこかり
cb48853334
fix(frontend): スラッシュを含むページを閲覧できるように (#15394)
* fix(frontend): スラッシュを含むページを閲覧できるように

* Update Changelog

* fix
2025-02-04 08:40:44 +00:00
かっこかり
495d72ed2a
fix(frontend): MkSparkleが動作しない問題を修正 (#15390)
* fix(frontend): MkSparkleが動作しない問題を修正

* Update Changelog

* fix

* add comments
2025-02-04 05:01:32 +00:00
syuilo
19857632d0
Update CHANGELOG.md 2025-02-04 10:03:51 +09:00
Hazelnoot
979573734c delete unused index.html 2025-02-03 19:42:20 -05:00
Hazelnoot
30ba6395b2 fix merge in account.ts 2025-02-03 19:41:54 -05:00
Hazelnoot
a0402daa05 fix typo in common.ts 2025-02-03 19:39:23 -05:00
Hazelnoot
23bca5c64a remove unused about-misskey.vue 2025-02-03 19:31:44 -05:00
Hazelnoot
38c3015039 remove unused import from settings/general.vue 2025-02-03 19:29:32 -05:00
Hazelnoot
08746d1c33 add missing FriendlyCaptcha condition to bot-protection.vue 2025-02-03 19:24:05 -05:00
Hazelnoot
94977c2b1a prevent console spam from MkRoleSelectDialog.vue 2025-02-03 19:20:30 -05:00
Hazelnoot
47815631e4 add Sharkey endpoints to endpoint-list.ts 2025-02-03 19:20:19 -05:00
Hazelnoot
4afe01909e add FriendlyCaptcha to new captcha admin endpoints 2025-02-03 18:36:11 -05:00
Hazelnoot
47bf96988c fix meilisearch merge 2025-02-03 18:27:09 -05:00
Hazelnoot
8c1d5281a9 remove unused import in FileInfoService.ts 2025-02-03 18:21:32 -05:00
Hazelnoot
19d3cdfa37 fix "delete file when updating emoji" logic 2025-02-03 18:20:26 -05:00
Hazelnoot
5781e99861 port FriendlyCaptcha to the new captcha infrastructure 2025-02-03 18:17:12 -05:00
Hazelnoot
b5ff784b1c remove unused AiService.ts 2025-02-03 15:08:47 -05:00
Hazelnoot
3391c2414b add IdentifiableError.isRetryable to ensure that Identifiable Errors can still terminate a batch process 2025-02-03 15:03:42 -05:00
Hazelnoot
4a86ab6857 copy changes to ci.yml and cypress-devcontainer.yml 2025-02-03 14:51:59 -05:00
Hazelnoot
3f80138c70 fix lint error in ApRendererService.ts 2025-02-03 14:50:00 -05:00
Hazelnoot
5b68faf613 copy changes to SkNoteDetailed.vue 2025-02-03 14:47:42 -05:00
Hazelnoot
72b0d4c2ad copy changes to SkNote.vue 2025-02-03 14:46:47 -05:00
Hazelnoot
70d8ea8464 copy changes to NoteEditService.ts 2025-02-03 14:41:16 -05:00
Hazelnoot
a4e86758c1 merge upstream 2025-02-03 2025-02-03 14:36:09 -05:00
Marie
63f9dbd5f1 pin corepack version
disallow corepack from fetching latest manager version;
instead use specified version in package.json
2025-02-03 16:36:49 +00:00
かっこかり
9c70a4e631
fix(build): corepackのバグの回避 (#15387)
* fix: disallow corepack from fetching latest manager version instead use specified version in package.json

* Update Changelog

* fix?

* apply COREPACK_DEFAULT_TO_LATEST: 0 to every github workflows

* Revert "apply COREPACK_DEFAULT_TO_LATEST: 0 to every github workflows"

This reverts commit 67f0dc31adaa04f891f74f5c44a3d4d13a302a03.

* apply COREPACK_DEFAULT_TO_LATEST: 0 to every github workflows (re)

* fix

* fix?

* revert: removing corepack enable

* test: set COREPACK_DEFAULT_TO_LATEST for federation tests

---------

Co-authored-by: Marie <github@yuugi.dev>
Co-authored-by: anatawa12 <anatawa12@icloud.com>
2025-02-03 13:45:59 +00:00
Marie
6bc0cd251f merge: Use package manager version from package.json (!883)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/883

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-02-03 09:04:04 +00:00
Marie
0633e1cc41 chore(ci): remove deprecated enable command 2025-02-03 01:22:26 +00:00
Marie
a4f4efc812 fix(ci): apply COREPACK_DEFAULT_TO_LATEST: 0 2025-02-03 01:19:32 +00:00
Marie
5afa3ea8aa fix: disallow corepack from fetching latest manager version instead use specified version in package.json 2025-02-03 01:13:21 +00:00
github-actions[bot]
a1be39d94f Bump version to 2025.2.0-beta.0 2025-02-02 05:31:00 +00:00
Hazelnoot
bd716ed837 increase the rate limit for /api/i endpoint, preventing some 429 errors if multiple tabs reload simultaneously 2025-02-01 23:56:41 -05:00
Hazelnoot
83f2d93d30 increase rate limit on federation/update-remote-user 2025-02-01 18:53:32 -05:00
syuilo
9230ee52a0
New Crowdin updates (#15360)
* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (German)
2025-02-01 16:48:44 +09:00
かっこかり
06f113b226
fix(misskey-js): api extractorの出力をLFに強制 (#15369)
* fix(misskey-js): api extractorの出力をLFに強制

* indent
2025-02-01 05:48:04 +00:00
かっこかり
d4226c6adf
Update SECURITY.md 2025-02-01 13:57:39 +09:00
かっこかり
850d1d0005
fix(frontend): MkDriveFileThumbnail / MkNoteMediaGridの修正 (#15365)
* fix(frontend): MkDriveFileThumbnailのpropsのタイポ修正

* Update Changelog

* fix: MkNoteMediaGridをデータセーバーに対応させる
2025-02-01 04:51:45 +00:00
taichan
28490f3a58
Fix(frontend): ワードミュートがnullの時にもセンシティブミュートが行われるように (#15364)
* Fix(frontend): ワードミュートがnullの時にもセンシティブミュートが行われるように

* Add ChangeLog
2025-02-01 04:48:18 +00:00
かっこかり
ae65aecc0c
refactor(frontend): definePropsを別途インポートしている箇所を除去 (#15375) 2025-02-01 04:47:21 +00:00
github-actions[bot]
89b461a5da Bump version to 2025.2.0-alpha.0 2025-02-01 04:43:33 +00:00
かっこかり
40bfb1be09
fix(backend): お知らせのmetaタグ出力の条件が間違っていたのを修正 (#15377)
* fix(backend): お知らせのmetaタグ出力の条件が間違っていたのを修正

* Update Changelog
2025-02-01 13:36:10 +09:00
Sung Jae Lee
ba9f295ef2
Merge commit from fork
* fix(account): clear token cookie when signout called

* fix: cookie not cleared correctly when logout

Co-authored-by: おさむのひと <46447427+samunohito@users.noreply.github.com>

* feat: clear only token cookie when signout

---------

Co-authored-by: おさむのひと <46447427+samunohito@users.noreply.github.com>
2025-02-01 13:35:42 +09:00
nexryai
77e421029c
Merge commit from fork
* fix(frontend): Improve cookie attributes

* fix(frontend): Delete an old authentication cookie in fetchAccount
2025-02-01 13:33:37 +09:00
Hazelnoot
d0ddfca96f merge: Adding robots.txt override via admin control panel for #418 (!877)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/877

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-01-31 18:51:19 +00:00
Kinetix
826b793c31 Fix the description text in the control panel. 2025-01-31 10:26:05 -08:00
Kinetix
4d91baaa13 Adjust as per suggestions in !877 2025-01-31 10:22:13 -08:00
Kinetix
bf1f263d72 Merge remote-tracking branch 'upstream/develop' into configrobotstxt 2025-01-29 09:30:21 -08:00
Marie
2d0bd012ae merge: Support incoming null values for Person.discoverable (resolves #908) (!874)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/874

Closes #908

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-01-29 15:38:32 +00:00
Marie
ecd7e80355 merge: tooling: fix "cannot find module eslint" error when running "build-misskey-js-with-types" (!875)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/875

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-01-29 15:38:09 +00:00
Kinetix
993532bc1f Adding robots.txt override via admin control panel
This is a requested low priority feature in #418 - I created the changes
to follow similarly to how the Instance Description is handled.
2025-01-28 15:57:45 -08:00
github-actions[bot]
f8f17a44d4 [skip ci] Update CHANGELOG.md (prepend template) 2025-01-28 12:29:17 +00:00
github-actions[bot]
87b9016dbe Release: 2025.1.0 2025-01-28 12:29:10 +00:00
かっこかり
2c3a41e4a0
fix(frontend): tabler-iconsが読み込めない問題を修正(暫定的対応) (#15332)
* fix(frontend): update tabler icons

* Update Changelog

* update

* update
2025-01-28 05:46:44 +00:00
Hazelnoot
dad00e6590 tooling: fix "cannot find module eslint" error when running "build-misskey-js-with-types" 2025-01-27 23:15:57 -05:00
かっこかり
6250af2a2c
wip (#15348)
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-01-28 01:45:13 +00:00
Hazelnoot
4ec2ef2921 handle null values for discoverable property 2025-01-27 18:13:49 -05:00
Hazelnoot
59ee7adc89 Correct type definition of Actor.discoverable property 2025-01-27 18:13:16 -05:00
おさむのひと
8232ea6956
fix(backend): デフォルト起動時のメインプロセスはHTTPサーバモジュールのみ読み込む (#15355) 2025-01-27 13:10:00 +00:00
syuilo
4f31dcfed3
New Crowdin updates (#15350)
* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Greek)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Lao)

* New translations ja-jp.yml (Korean (Gyeongsang))

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)
2025-01-27 17:59:51 +09:00
Esurio/1673beta
605756d425
fix(frontend): ロール作成画面で設定できるアイコンデコレーションの最大値を16にする (#15352)
* fix(frontend): アイコンデコレーションの17以上の数値が入力された際16にしてAPIリクエストを送信するように

* Update CHANGELOG

---------

Co-authored-by: Esurio <esurio@esurio1673.net>
2025-01-27 00:03:52 +00:00
Hazelnoot
4b104879cd merge: use "import" settings in more import places (!870)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/870

Approved-by: Marie <github@yuugi.dev>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-01-26 15:18:18 +00:00
Hazelnoot
8bf01d9731 merge: Improve my previous emoji endpoints patch. (!869)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/869

Closes #893

Approved-by: Marie <github@yuugi.dev>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-01-26 15:17:32 +00:00
Hazelnoot
d110a72b29 merge: fix: populate myreaction on regular timeline requests. (!840)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/840

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-01-26 15:12:14 +00:00
github-actions[bot]
abb1e4bead Bump version to 2025.1.0-beta.3 2025-01-26 11:52:26 +00:00
かっこかり
297186e492
enhance(frontend): 絵文字管理画面β(ローカル)のUI・UX改善 (#15349)
* enhance(frontend): 絵文字管理画面β(ローカル)のUI・UX改善

* fix

* 🎨

* 表示件数をメニューから変更するように

* 確認ダイアログ

* fix i18n

* needWideArea: trueならwidgetの開閉ボタンを表示しないように

* fix: 検索ウィンドウは一つしか開けないように
2025-01-26 11:10:22 +00:00
かっこかり
791b4500ec
fix(frontend): 画面を閉じる直前にAudioContextを閉じるように (#15080)
* fix(frontend): 画面を閉じる直前にAudioContextを閉じるように

* Update Changelog

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-01-26 06:07:12 +00:00
饺子w (Yumechi)
ef29130057
fix(backend): ノートの閲覧にログイン必須にしてもFeedでノートが表示されてしまう問題を修正 (#15083)
Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-01-26 06:03:42 +00:00
おさむのひと
f4bca4708e
feat(frontend): リモート絵文字のインポート時に詳細を確認できるように (#15344)
* feat(frontend): リモート絵文字のインポート時に詳細を確認できるように

* 追加対応

* MkInput -> MkKeyValue
2025-01-26 05:59:03 +00:00
syuilo
e94c697aae
New Crowdin updates (#15347)
* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (German)
2025-01-26 12:26:29 +09:00
かっこかり
8f37fb6713
fix(frontend): クライアント起動時にURLに #pswp がある場合は取り除くように (#15339)
* fix(frontend): クライアント起動時にURLに #pswp がある場合は取り除くように

* Update Changelog
2025-01-25 12:01:11 +00:00
かっこかり
35104d87d5
revert(dev): フロントエンド・バックエンドを分離する開発モードを廃止 (#15284)
* Revert "chore: 開発モードでフロントエンドとバックエンドを独立して起動するようにする(再) (#12593)"

This reverts commit b0039f0946.

* revert dev command

* revert embed dev

* 消しすぎた

* filesをプロキシするように

* fix chromatic ci

* Revert "filesをプロキシするように"

This reverts commit 41be2548ce82ba408588c5f0dee007c97d026e55.

* fix: configのhostnameでサーバーを起動するように

* fix

* lint

* Update Changelog

* fix

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-01-25 20:58:39 +09:00
Nanashi.
0a41e36b6d
docs: CONTRIBUTING.mdに「Misskey.jsのAPIの型の生成」のセクションを追加 (#15338)
* docs: 「Misskey.jsのAPIの型の生成」のセクションを追加

* docs: build-misskey-js-with-typesを使う
2025-01-25 10:58:01 +09:00
piuvas
1080f19e99
generalize current language so we match more broadly on fallback 2025-01-24 18:37:18 -03:00
syuilo
1cd1264ec0
New Crowdin updates (#15288)
* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Greek)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Lao)

* New translations ja-jp.yml (Korean (Gyeongsang))

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (German)
2025-01-24 15:30:18 +09:00
piuvas
716f203171
requested changes 2025-01-23 22:33:19 -03:00
dakkar
7004789c53 while we're here, fix the example and comment 2025-01-23 12:46:32 +00:00
dakkar
eef8a9e24c use import configuration for media downloads in notes importer 2025-01-23 12:26:51 +00:00
dakkar
b3d2cd65aa use import configuration for downloads in emoji importer 2025-01-23 12:24:06 +00:00
syuilo
26874df4b6 Update about-misskey.vue 2025-01-23 14:39:17 +09:00
zima
f4e04606c6 Merge pull request 'Sort emoji categories consistently' (#55) from fix-emoji-category-sort into dev
Reviewed-on: https://codeberg.org/yeentown/barkey/pulls/55
Reviewed-by: zima <zima@noreply.codeberg.org>
2025-01-22 22:36:50 +00:00
dependabot[bot]
31ccefa050
chore(deps): bump actions/cache from 4.1.0 to 4.2.0 (#15095)
Bumps [actions/cache](https://github.com/actions/cache) from 4.1.0 to 4.2.0.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v4.1.0...v4.2.0)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-21 10:28:34 +09:00
dependabot[bot]
97f0ea0c0a
build(deps): bump actions/setup-node from 4.0.3 to 4.1.0 (#14838)
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 4.0.3 to 4.1.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/v4.0.3...v4.1.0)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-21 10:28:26 +09:00
かっこかり
e8b633efec
fix(frontend): Instanceの値が部分的に欠損していると、ローカルサーバーの情報にフォールバックする問題を修正 (#15319) 2025-01-21 10:26:47 +09:00
anatawa12
68175bc38d
enhance(frontend): クエリパラメータでuiを一時的に変更できるように (#15240)
* feat: クエリパラメータでuiを一時的に変更できるように

* docs(changelog): クエリパラメータでuiを一時的に変更できるように

* Update packages/frontend/src/boot/main-boot.ts

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2025-01-21 01:02:27 +00:00
Takeshi Umeda
d7fdcbc733
fix: 絵文字のライセンスのActivityPub contextを追加 (#15318) 2025-01-21 00:30:39 +00:00
piuvas
62964c45f8 cleanup for linter to be happy 2025-01-20 17:26:39 -03:00
piuvas
b92a325539 use addOrderBy as not to override orderBy 2025-01-20 17:18:56 -03:00
Marie
a7ee689ebc merge: Remove node 20 from engines in backend (!867)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/867

Closes #898

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-01-20 18:48:53 +00:00
Marie
be3b4a2461 chore: make ci run on lts 22.13.0 2025-01-20 16:40:00 +00:00
Marie
b77364988d chore: remove outdated engine 2025-01-20 16:34:47 +00:00
github-actions[bot]
9470641dcd Bump version to 2025.1.0-beta.2 2025-01-20 13:07:15 +00:00
anatawa12
8d7b1f285f
refactor: Refactor Endpoints to improve Developer Experience for adding Endpoints (#15301)
* chore: reorder endpoints to lexicographic code unit order

* refactor: import endpoints in one module and use them for generating EndpointsModule and endpoints
2025-01-20 12:15:23 +00:00
おさむのひと
f9ad127aaf
feat: 新カスタム絵文字管理画面(β)の追加 (#13473)
* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* fix

* fix

* fix

* fix size

* fix register logs

* fix img autosize

* fix row selection

* support delete

* fix border rendering

* fix display:none

* tweak comments

* support choose pc file and drive file

* support directory drag-drop

* fix

* fix comment

* support context menu on data area

* fix autogen

* wip イベント整理

* イベントの整理

* refactor grid

* fix cell re-render bugs

* fix row remove

* fix comment

* fix validation

* fix utils

* list maximum

* add mimetype check

* fix

* fix number cell focus

* fix over 100 file drop

* remove log

* fix patchData

* fix performance

* fix

* support update and delete

* support remote import

* fix layout

* heightやめる

* fix performance

* add list v2 endpoint

* support pagination

* fix api call

* fix no clickable input text

* fix limit

* fix paging

* fix

* fix

* support search

* tweak logs

* tweak cell selection

* fix range select

* block delete

* add comment

* fix

* support import log

* fix dialog

* refactor

* add confirm dialog

* fix name

* fix autogen

* wip

* support image change and highlight row

* add columns

* wip

* support sort

* add role name

* add index to emoji

* refine context menu setting

* support role select

* remove unused buttons

* fix url

* fix MkRoleSelectDialog.vue

* add route

* refine remote page

* enter key search

* fix paste bugs

* fix copy/paste

* fix keyEvent

* fix copy/paste and delete

* fix comment

* fix MkRoleSelectDialog.vue and storybook scenario

* fix MkRoleSelectDialog.vue and storybook scenario

* add MkGrid.stories.impl.ts

* fix

* [wip] add custom-emojis-manager2.stories.impl.ts

* [wip] add custom-emojis-manager2.stories.impl.ts

* wip

* 課題はまだ残っているが、ひとまず完了

* fix validation and register roles

* fix upload

* optimize import

* patch from dev

* i18n

* revert excess fixes

* separate sort order component

* add SPDX

* revert excess fixes

* fix pre test

* fix bugs

* add type column

* fix types

* fix CHANGELOG.md

* fix lit

* lint

* tweak style

* refactor

* fix ci

* autogen

* Update types.ts

* CSS Module化

* fix log

* 縦スクロールを無効化

* MkStickyContainer化

* regenerate locales index.d.ts

* fix

* fix

* テスト

* ランダム値によるUI変更の抑制

* テスト

* tableタグやめる

* fix last-child css

* fix overflow css

* fix endpoint.ts

* tweak css

* 最新への追従とレイアウト微調整

* ソートキーの指定方法を他と合わせた

* fix focus

* fix layout

* v2エンドポイントのルールに対応

* 表示条件などを微調整

* fix MkDataCell.vue

* fix error code

* fix error

* add comment to MkModal.vue

* Update index.d.ts

* fix CHANGELOG.md

* fix color theme

* fix CHANGELOG.md

* fix CHANGELOG.md

* fix center

* fix: テーブルにフォーカスがあり、通常状態であるときはキーイベントの伝搬を止める

* fix: ロール選択用のダイアログにてコンディショナルロールを×ボタンで除外できなかったのを修正

* fix remote list folder

* sticky footers

* chore: fix ci error(just single line-break diff)

* fix loading

* fix like

* comma to space

* fix ci

* fix ci

* removed align-center

---------

Co-authored-by: osamu <46447427+sam-osamu@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>
2025-01-20 11:35:37 +00:00
taichan
b41e78090d
fix(client): MkSubNoteContentに対するnoteの指定が誤っていたので修正 (follow up of misskey-dev/misskey#15306) (#15316) 2025-01-20 18:52:27 +09:00
かっこかり
bb51574762
fix(frontend): 非ログイン時のサーバー概要画面のメニューボタンが押せないことがあるのを修正 (#15305)
* Set visitor dashboard's menu button z-index to 50

* Update Changelog

---------

Co-authored-by: Evan Paterakis <evan@geopjr.dev>
2025-01-19 12:10:07 +00:00
Take-John
dc48c49f95
refactor: WebhookDeliverJobDataのcontentフィールドの型を具体的に (#15310)
* WebhookDeliverJobDataのcontentフィールドの型を具体的に

* typeフィールドの型も変更
2025-01-19 12:08:29 +00:00
dakkar
408e2f824a format ruby for masto api 2025-01-19 11:16:00 +00:00
taichan
078b7d6cc5
fix(frontend): アンケート(投票)でリモートの絵文字が正しく描画できない問題の修正 (#15306)
* アンケート選択肢にリモート絵文字を表示

* MkSubNoteContentでのリモート絵文字の描画

* Update Changelog

---------

Co-authored-by: kozakura913 <98575220+kozakura913@users.noreply.github.com>
2025-01-19 11:12:35 +00:00
anatawa12
fb2c10551d
ci: remove auto release on un-drafting PR (#15017) 2025-01-19 16:06:16 +09:00
dakkar
60c937606b merge: enhance: Open boost visibility menu on shift-click (!859)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/859

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-01-18 17:28:02 +00:00
Marie
b2ed14e1f5 merge: Fix: Emoji categories with subfolders, but no emoji, erroneously duplicate the subfolder's emoji (!860)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/860

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-01-18 16:56:34 +00:00
dakkar
36b7572bdd merge: allow styles on any element when sanitizing html - fixes #538 (!863)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/863

Closes #538

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-01-18 16:45:44 +00:00
dakkar
9fe0eb5e49 merge: show the border MFM function in cheatsheet - fixes #533 (!862)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/862

Closes #533

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-01-18 16:45:35 +00:00
dakkar
996a92fc9c merge: clearer ListenBrainz label - fixes #589 (!865)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/865

Closes #589

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-01-18 16:45:19 +00:00
dakkar
b5d2aea2ac merge: Clone note when adding myReaction to streamed notes. (!854)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/854

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2025-01-18 16:44:56 +00:00
dakkar
68adb6c05d pick lints 2025-01-18 14:54:17 +00:00
HellhoundSoftware
5a76b7069f
Refactor renote tooltip text 2025-01-18 08:28:57 -05:00
dakkar
01a5300be8 handle more complex ruby from/to html - fixes #605
this is not exactly great, but it should be "good enough"

note that the new `group` function should not escape in the wild, as
we don't document it and only use it internally

I tried using `$[scale foo bar]` instead of `$[group foo bar]`, but
that would be rendered as `<i>foo bar</i>` when sent over the network
to non-misskey instances, and we don't want that
2025-01-18 12:51:38 +00:00
dakkar
804cd93f81 clearer ListenBrainz label - fixes #589 2025-01-18 11:50:18 +00:00
dakkar
9d6504c2ec allow styles on any element when sanitizing html - fixes #538
this applies to instance description and server rules
2025-01-18 11:19:36 +00:00
dakkar
65c03e3e54 actually show off the syntax highlighting
at some point the default language stopped being AiScript, so we have
to mark our little example to make the colors happen
2025-01-18 11:05:44 +00:00
dakkar
49d6fc6782 show the border MFM function in cheatsheet - fixes #533 2025-01-18 11:05:40 +00:00
dakkar
42d8279610 merge: attribute invite codes to admins/moderators (!858)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/858

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-01-18 10:24:42 +00:00
zyoshoka
1ef62e9e33
fix(backend): clone schema before converting to OAS schema to avoid mutation (#15294)
* fix(backend): clone schema before converting to OAS schema to avoid mutation

* Update CHANGELOG.md

* fix: use deepClone
2025-01-18 04:05:33 +00:00
HellhoundSoftware
4d3ddb8862
Regenerate misskey-js type info 2025-01-17 19:25:23 -05:00
HellhoundSoftware
ba18fbf6fe
Sort emoji categories consistently 2025-01-17 19:23:53 -05:00
おさむのひと
b16f5a781e
fix(backend): localOnlyなノートの時は配送処理そのものを起動しない (#15020)
* fix(backend): localOnlyなノートの時は配送処理そのものを起動しない

* fix CHANGELOG.md

* fix CHANGELOG.md
2025-01-17 23:35:47 +00:00
かっこかり
f01fc5af5a
fix(frontend): MkInstanceTickerの情報がリアクティブでない問題を修正 (#15123)
* fix(frontend): MkInstanceTickerの情報がリアクティブでない問題を修正

* Update Changelog

---------

Co-authored-by: taichan <40626578+tai-cha@users.noreply.github.com>
2025-01-17 23:28:20 +00:00
FineArchs
85be61d86e
ワードミュートの保存失敗時にAPIエラーが握りつぶされる事があるのを修正 (#15304)
* ワードミュートの保存失敗時にAPIエラーが握りつぶされる事があるのを修正

* Update CHANGELOG.md
2025-01-17 23:05:35 +00:00
果物リン
a328d52008
よくわからないリアクションに関するログが流れっぱなしなのを修正 (#15303) 2025-01-17 10:27:48 +00:00
anatawa12
363bdac39b
ci: improve CI configuration (#15287)
* ci: improve CI configuration

* ci: add name for some jobs
2025-01-16 13:22:32 +09:00
HellhoundSoftware
794c7f9a1a
Change let to const 2025-01-15 21:04:35 -05:00
HellhoundSoftware
ef60a1a8ed
Create CustomEmojiFolderTree nodes with correct path 2025-01-15 20:18:20 -05:00
HellhoundSoftware
3717654309
move tooltip message to computed 2025-01-15 16:14:35 -05:00
HellhoundSoftware
2c90eebe86
Add tooltip for shift-boost 2025-01-15 14:38:34 -05:00
おさむのひと
6396243973
fix: タイムアウトを起こすe2eテストの時間設定を延長 (#15283) 2025-01-15 19:48:37 +09:00
かっこかり
66532333cd
fix(frontend): localeの型を生成 (#15285) 2025-01-15 11:34:40 +09:00
HellhoundSoftware
7825f6e95e
Open boost visibility menu on shift-click 2025-01-14 19:42:35 -05:00
syuilo
002e939003
New Crowdin updates (#15030)
* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Lao)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Korean (Gyeongsang))

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)
2025-01-15 00:39:31 +00:00
taichan
9760f3d7c9
enhance(frontend): ワードミュートで引っかかったワードを表示可能にする (#15195)
* feat(frontend): ソフトミュートで引っかかったものを表示できるように

* ソフトワードミュートのミュート文字列表示を切り替え可能に

* Chore(docs): Update CHANGELOG

* Fix: language file

* Fixed by review

* Fix by review

* Fix: reloadAskなおしきれていなかった

* perf: filter -> findに変更して最初の一個のみを表示するように変更

* Revert "perf: filter -> findに変更して最初の一個のみを表示するように変更"

This reverts commit 72ef92f0d62828754702cd00e26ad873adb4652f.
2025-01-14 13:49:59 +00:00
github-actions[bot]
87cdbaea4f Bump version to 2025.1.0-beta.1 2025-01-14 13:28:06 +00:00
github-actions[bot]
1b47e2d4f2 Bump version to 2025.1.0-beta.0 2025-01-14 13:28:00 +00:00
Hong Minhee (洪 民憙)
d018fe58aa
fix(backend): Let MfmService.fromHtml accept ruby (#15117)
This fix makes `MfmService.fromHtml()` method accept `<ruby>` tags
and translate it to MFM's ruby characters syntax (`$[ruby ...]`).

このパッチは`MfmService.fromHtml()`メソッドが`<ruby>`タグをMFMの
読み仮名(ルビ)文法に翻訳する様に修正します。
2025-01-14 13:06:39 +00:00
おさむのひと
f45fd01551
enhance(backend): 絵文字の連合でライセンス欄を相互にやり取りするように (#15182)
* enhance(backend): 絵文字の連合でライセンス欄を相互にやり取りするように

Co-authored-by: Kisaragi Marine <kisaragi.effective@gmail.com>
Co-authored-by: ruruke <123709459+ruruke@users.noreply.github.com>

* fix CHANGELOG.md

---------

Co-authored-by: Kisaragi Marine <kisaragi.effective@gmail.com>
Co-authored-by: ruruke <123709459+ruruke@users.noreply.github.com>
Co-authored-by: taichan <40626578+tai-cha@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-01-14 12:49:35 +00:00
anatawa12
145c6cf2b5
fix: node.js の punycode モジュールが使用されている場所がある問題 (#15248)
* fix: punycode.js が使用されていない場所がある問題

* fix: use punycode/punycode.js on backend

* fix: use punycode/punycode.es6.js on backend

* fix: d.ts missing declare keyword

* chore: don't use punycode.js on backend

* update pnpm-lock.yaml

* chore: remove punycode.d.ts

* chore: use punycode.js instead of punycode npm package

* chore: bump psl to 1.15.0

* chore: bump nsfwjs to 4.2.0

4.2.1 is not usable because of https://github.com/infinitered/nsfwjs/issues/904

* chore: prevent loading node-fetch from tensorflow

* chore: DOMWindow['document'] => Document

IDK why DOMWindow['document'] fails, but might be related to tsc internal complexity limit

* fix: disable --trace-deprecation

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-01-14 12:37:39 +00:00
cannorin
319f7e6a86
feat(misskey-js): allow setting binaryType of WebSocket connection (#15190)
Co-authored-by: cannorin <cannorin@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-01-14 12:20:24 +00:00
Sayamame-beans
ed43cd87c9
ノートのリンクをリモートのサーバーのURLとしてもコピーできるように (#15091)
* feat(frontend): ノートのリンクをリモートのサーバーのURLとしてコピーできるように

* 出し分けのロジックを1箇所に統一

* docs: CHANGELOGの内容をコミット内容に合わせる

* docs: reverts 11d1b95

per https://github.com/misskey-dev/misskey/pull/13566#discussion_r1589103356

* chore: 調整

* chore: 調整2

---------

Co-authored-by: Kisaragi Marine <kisaragi.effective@gmail.com>
Co-authored-by: kakkokari-gtyih <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: Kisaragi <48310258+KisaragiEffective@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-01-14 12:12:12 +00:00
かっこかり
40f8b5e7f5
enhance(frontend): ユーザーページに「ファイル」タブを新設 (#15130)
* 投稿したファイルの一覧をプロフィールページ内のタブで見れるようにしてみた (Otaku-Social#14)

* ギャラリー(ノート)の取得方法を変更、ページネーションに対応

* ギャラリー(ノート)が動作しない問題を修正

* ギャラリー(ノート)の名称変更

* styles

* GalleryFromPosts -> Files

* fix

* enhance: 既存のファイルコンテナの「もっと見る」をクリックしたらファイルタブに飛べるように

* Update Changelog

* 共通化

* spdx

* その他のメディアがちゃんとプレビューされるように

* fix(frontend): リストがセンシティブ設定を考慮するように

* arrayをsetに変更

* remove unused imports

* 🎨

* 🎨

* 画像以外のファイルのプレビューに対応したのでコメントを削除

* サムネイルをMkDriveFileThumbnailに統一

* v-panelに置き換え

* lint

---------

Co-authored-by: tmorio <morikapusan@morikapu-denki.com>
Co-authored-by: tmorio <20278135+tmorio@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-01-14 12:05:34 +00:00
おさむのひと
71cecdbcf2
feat(backend): pgroongaに対応(configの構成変更あり) (#14978)
* feat(backend): pgroongaに対応(configの構成変更あり)

* fix CHANGELOG.md

* fix CHANGELOG.md

* add using provider logging

* fix CHANGELOG.md

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-01-14 12:01:01 +00:00
syuilo
6a0a810243
Update CHANGELOG.md 2025-01-14 20:58:31 +09:00
github-actions[bot]
b65b70d489 Bump version to 2025.1.0-alpha.0 2025-01-14 11:57:00 +00:00
かっこかり
da9e05582d
fix(backend): pages/updateのnameの重複チェックはnameプロパティがある時のみ行うように (#15104)
* fix(backend): pagesのnameの重複チェックはnameプロパティがある時のみ行うように

* Update Changelog

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-01-14 11:30:49 +00:00
KanariKanaru
9ddf7751db
Enhance: GitHub Actionsでのffmpegインストールの失敗時リトライするように (#15079) 2025-01-14 20:27:44 +09:00
おさむのひと
d2e22f9050
refactor: SystemWebhook/UserWebhookの配信処理呼び出し部分の改善 (#15035)
* UserWebhook側の対処

* SystemWebhook側の対処

* fix test
2025-01-14 11:14:02 +00:00
かっこかり
5445b023e5
enhance: 連合モードにあわせてフロントエンドを変化させるように (#15112)
* enhance(backend): metaにfederation modeに関する情報を公開

* enhance(frontend): 登録画面の注意書きを追加

* enhance(frontend): aboutページ・サーバー情報

* enhance(frontend): サーバー統計

* enhance(frontend): みつけるページ

* enhance(frontend): 検索

* enhance(frontend): ユーザー選択

* enhance(frontend): 設定画面

* enhance(frontend): ウィジェット

* enhance(frontend): リモートで開くオプション

* Update Changelog

* enhance(frontend): ステータスバー

* i18n

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-01-14 11:08:54 +00:00
おさむのひと
64501c69a1
feat(frontend): Botプロテクションの設定変更時は実際に検証を通過しないと保存できないようにする (#15151)
* feat(frontend): CAPTCHAの設定変更時は実際に検証を通過しないと保存できないようにする

* なしでも保存できるようにした

* fix CHANGELOG.md

* フォームが増殖するのを修正

* add comment

* add server-side verify

* fix ci

* fix

* fix

* fix i18n

* add current.ts

* fix text

* fix

* regenerate locales

* fix MkFormFooter.vue

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-01-14 10:57:58 +00:00
おさむのひと
7fbfc2e046
ApPersonServiceとApNoteServiceのuri <-> url比較を緩和 (#15233)
* wip

* https://github.com/misskey-dev/misskey/issues/15039#issuecomment-2576411861 の反映

Co-authored-by: Kagami Sascha Rosylight <saschanaz@outlook.com>

* fix CHANGELOG.md

* remove inspection

---------

Co-authored-by: Kagami Sascha Rosylight <saschanaz@outlook.com>
2025-01-14 10:47:02 +00:00
taichan
dd6743dda4
Fix(frontend): 削除して編集で引用ありを消せない (#15249)
* Fix(frontend): 削除して編集で引用ありを消せない

* docs(changelog): update CHANGELOG.md

* rename noteToRenote -> renoteTargetNote

with type fix

* Update Changelog

---------

Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-01-14 10:46:57 +00:00
かっこかり
d082a1dd34
fix(frontend/dev): バックエンド経由での開発時にHMRが効かない問題を修正 (#15255) 2025-01-14 10:40:14 +00:00
おさむのひと
759b9f4cf1
feat(backend): config(default.yml)からSQLログ全文を出力するか否かを設定可能に (#15268)
* feature(backend): config(default.yml)からSQLログ全文を出力するか否かを設定可能に

* disableHighlightやめる

* refactor
2025-01-14 10:37:41 +00:00
anatawa12
6820878676
fix: unable to use AiService on arm64 (#15261) 2025-01-14 10:36:35 +00:00
zima
f5d6bdc651 Merge pull request 'Update to Sharkey 2024.11.2' (#50) from Chore-Update-upstream-to-2024.11.2 into dev
Reviewed-on: https://codeberg.org/yeentown/barkey/pulls/50
2025-01-14 05:56:32 +00:00
zima
68fbb2915c Fix custom font 2025-01-13 22:16:38 -07:00
zima
794f4ddbe4 Generate new locales 2025-01-13 22:16:33 -07:00
HellhoundSoftware
6478399432
Don't sneakily disable RSS behind users' backs
Also keeps the database shape consistent with what the ORM model says,
because upstream forgot to do that.
2025-01-13 23:34:54 -05:00
zima
239393c64f Merge tag '2024.11.2' into Chore-Update-upstream-to-2024.11.2 2025-01-13 21:01:36 -07:00
HellhoundSoftware
cbd0bde157 Fix null coalescing in /admin/emoji/update (fixes #44) (#45)
Reviewed-on: https://codeberg.org/yeentown/barkey/pulls/45
Reviewed-by: zima <zima@noreply.codeberg.org>
Co-authored-by: HellhoundSoftware <keith@keithhacks.cyou>
Co-committed-by: HellhoundSoftware <keith@keithhacks.cyou>
2025-01-14 01:48:00 +00:00
zima
4bfe849810 Merge pull request 'Disable import/export buttons when action is in progress' (#47) from import-buttons-feedback into dev
Reviewed-on: https://codeberg.org/yeentown/barkey/pulls/47
Reviewed-by: zima <zima@noreply.codeberg.org>
2025-01-14 01:19:54 +00:00
zima
c93bb36eac Merge pull request 'Add smaller font size (resolves #10)' (#46) from smaller-font-size into dev
Reviewed-on: https://codeberg.org/yeentown/barkey/pulls/46
Reviewed-by: zima <zima@noreply.codeberg.org>
2025-01-14 00:59:35 +00:00
かっこかり
b161601863
fix(frontend): コンポーネントのインポート忘れ (#15274) 2025-01-14 09:35:19 +09:00
かっこかり
d86c77260e
fix(frontend): RSSウィジェットでURLエンコードを二重に行っている問題を修正 (#15272)
* don't double-url-encode rss urls

`url.searchParams.set()` already encodes the values passed!

(this is a partial revert of 0472d43ee9,
the change in `statusbar-rss.vue` was correct)

* Update Changelog

---------

Co-authored-by: dakkar <dakkar@thenautilus.net>
2025-01-14 00:13:57 +00:00
HellhoundSoftware
987ad20f74
Disable import/export buttons when action is in progress 2025-01-13 16:43:49 -05:00
HellhoundSoftware
03c57d0f93
Add smaller font size 2025-01-13 15:46:05 -05:00
piuvas
3fc377839c comment :3 2025-01-12 21:11:36 -03:00
dakkar
3ceac893c9 attribute invite codes to admins/moderators
when a regular user (who has the appropriate permissions) creates an
invite, we record that user's id in the `createdById` column

but when an admin/mod creates an invite via the control panel, we
didn't

now we do
2025-01-12 12:33:08 +00:00
Hazelnoot
fed5ff50b3 merge: make widgets wider in classic view - fixes #874 (!855)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/855

Closes #874

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-01-11 16:45:30 +00:00
Hazelnoot
17f28b45fb merge: manual save search engine "custom url" - fixes #882 (!856)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/856

Closes #882

Approved-by: Marie <github@yuugi.dev>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-01-11 16:43:51 +00:00
Hazelnoot
771fcf00c0 merge: don't double-url-encode rss urls (!857)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/857

Approved-by: Marie <github@yuugi.dev>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-01-11 16:43:22 +00:00
dakkar
b9e03339fd don't double-url-encode rss urls
`url.searchParams.set()` already encodes the values passed!

(this is a partial revert of 0472d43ee9,
the change in `statusbar-rss.vue` was correct)
2025-01-11 14:06:21 +00:00
かっこかり
d60c307c4e
refactor/deps(frontend): shikiのdeprecated表現を修正 (#15169)
* fix(frontend): shikiのdeprecated表現を修正

* update aiscript-vscode

* ✌️

* fix

* remove unused imports

* bump aiscript-vscode to 0.1.15
2025-01-11 13:47:15 +00:00
かっこかり
c4192e81ed
enhance(backend): チャートの処理を一つずつ行うことでDBの同時接続とタイムアウトを削減 (#15239)
* sync charts one-at-a-time to reduce database contention and timeouts

* fix merge resolve failure

* Update Changelog

* update changelog

* add comments

---------

Co-authored-by: Hazelnoot <acomputerdog@gmail.com>
2025-01-11 13:43:42 +00:00
dakkar
531f7198d3 manual save search engine "custom url" - fixes #882
auto-saving would hit the rate-limit for `/api/i/registry/set`
2025-01-11 13:26:28 +00:00
dakkar
fa64112f9f make widgets wider in classic view
the style of widgets was changed by @Insert5StarName (@marie?) with
commit e14fd33140 as part of !178

I'm not sure if it was intentional or accidental, and I'm also not
sure why nobody noticed before 2024.11 (maybe something else kept the
widgets wider?)

Anyway, this change seems to be enough
2025-01-11 13:03:02 +00:00
piuvas
f1d9bb2cf1
requested changes 2025-01-10 22:10:18 -03:00
piuvas
a3fc9a1085
comment code 2025-01-08 13:10:20 -03:00
piuvas
e76e6cd08f
small refactor 2025-01-08 12:58:57 -03:00
piuvas
5fc9c1c8cd
shallow clone 2025-01-08 12:51:46 -03:00
おさむのひと
13439e04c4
fix(frontend-embed): 型チェックエラーを修正 (#15216)
* fix(frontend): frontend / frontend-embedにあるtsconfig.jsonのmoduleをES2022にする

* fixed errors

* fixed errors

* fixed errors

* fix(frontend-embed): 型チェックエラーを修正
2025-01-08 12:00:02 +00:00
Rsplwe
bb4457266d
feat(frontend): Do not display blocked instances on the welcome page (#15178) 2025-01-08 10:51:23 +00:00
かっこかり
55713fcd65
fix(backend): apOrHtml Constraintが正しく評価されない問題を修正 (#15213)
* fix(backend/ActivityPubServerService): apOrHtml Constraintが正しく評価されない問題を修正 (MisskeyIO#869)

* Update Changelog

* indent

---------

Co-authored-by: あわわわとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2025-01-08 10:35:09 +00:00
かっこかり
c49a13de65
fix(frontend-embed): localeのバージョンチェックが抜けており起動に失敗することがある問題を修正 (#15212)
* fix(frontend-embed): localeのバージョンチェックが抜けており起動に失敗することがある問題を修正

* Update Changelog
2025-01-08 10:33:43 +00:00
鴇峰 朔華
8652ce7cc0
fix(frontend): 自分以外のノートを消したときに実績を解除しないように修正 (#15071) 2025-01-08 07:58:29 +00:00
taichan
f6808711af
update changelog (#15236) 2025-01-08 16:52:08 +09:00
taichan
d7835313c3
fix(backend): ロックダウンされた期間指定のノートがStreaming経由でLTLに出現するのを修正 (#15200)
* fix(backend): skipHideなときにもロックダウンされたノートのprivate化をするように

* fix linting

* Update packages/backend/src/core/entities/NoteEntityService.ts

* Fix: type error

* Remove unneeded await

* Fix: typo

* Remove skipTreatVisibillity
2025-01-08 05:33:08 +00:00
かっこかり
79b851fe56
Update CHANGELOG.md (書き方をそろえる) 2025-01-07 22:38:43 +09:00
Take-John
bbe80af1dd
Fix: aiscriptディレクトリ内の型エラー解消と単体テスト (#15191)
* AiScript APIの型エラーに対処

* AiScript UI APIのテスト作成

* onInputなどがPromiseを返すように

* AiScript共通APIのテスト作成

* CHANGELOG記載

* 定数のテストをconcurrentに

* vi.mockを使用

* misskeyApiをmisskeyApiUntypedのエイリアスとする

* 期待されるエラーメッセージを修正

* Mk:removeのテスト

* misskeyApiの型を変更
2025-01-07 12:28:48 +00:00
おさむのひと
f7da2bad6f
fix(frontend): frontend / frontend-embedにあるtsconfig.jsonのmoduleをES2022にする (#15215)
* fix(frontend): frontend / frontend-embedにあるtsconfig.jsonのmoduleをES2022にする

* fixed errors

* fixed errors

* fixed errors
2025-01-07 12:23:05 +00:00
Nanashi.
99ba7ebaa2
fix(frontend-shared): nodemonをdevDependenciesに追加 (#15225) 2025-01-07 12:21:05 +00:00
おさむのひと
8ad97e5ede
fix(backend): disableClustering設定時の初期化ロジックを調整 (#15224)
* fix(backend): disableClustering設定時の初期化ロジックを調整

* onlyServer かつ enableCluster な場合、メインプロセスでlistenするとワーカープロセス側のlistenと衝突するため、メインプロセスはforkのみに制限する(listenしない)

* ログの追加

* fix CHANGELOG.md

* fix comment
2025-01-07 12:19:59 +00:00
zima
e2339ca32e Merge pull request 'Update defaults for emoji to Fluent Emoji' (#41) from 7-set-default-emoji-set-to-fluent-emoji into dev
Reviewed-on: https://codeberg.org/yeentown/barkey/pulls/41
2025-01-07 01:04:40 +00:00
zima
57af29838b Update defaults for emoji 2025-01-06 17:48:02 -07:00
dakkar
b8e361e03c merge: fix: populate myreaction on replies for streams. (!839)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/839

Closes #340

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2025-01-04 09:37:01 +00:00
かっこかり
6c9eea2c0f
[ci skip] Update CHANGELOG.md (書き方を揃える) 2025-01-04 15:55:22 +09:00
かっこかり
4120c9ab10
fix(frontend): アカウント一覧画面で、ユーザー情報の取得に失敗したアカウントが表示されない問題を修正 (#15183)
* fix(frontend): アカウント一覧画面で、ユーザー情報の取得に失敗したアカウントが表示されない問題を修正

* Update Changelog

* 🎨
2025-01-04 06:44:31 +00:00
かっこかり
1fbc129d7b
fix(frontend): ファイルの添付可能数を超えたらノートボタンを押せないように (#15126)
* fix(frontend): ファイルの添付可能数を超えたらノートボタンを押せないように

* Update Changelog

* Update MkPostForm.vue
2025-01-04 06:24:25 +00:00
かっこかり
256560e8ba
enhance(frontend/aiscript): セーブ内容を削除できるMk:removeを追加 (#15158)
* enhance(frontend/aiscript): セーブ内容を削除できる`Mk:remove`を追加

* fix

* Update Changelog
2025-01-04 06:16:58 +00:00
かっこかり
faea401dcc
fix(frontend): ノート検索が使用できない場合でもチャンネルのノート検索欄がでていた問題を修正 (#15082)
* fix(frontend): ノート検索が使用できない場合でもチャンネルのノート検索欄がでていた問題を修正

* Update Changelog

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2025-01-04 06:14:37 +00:00
KanariKanaru
84bf90d1bd
Chore: Docker内のDebianのバージョンを上げる(bookworm) (#15073) 2025-01-04 06:08:52 +00:00
かっこかり
574034a2dd
fix(frontend): MiAuth認可画面で、認可処理に失敗した場合でもコールバックURLに遷移してしまう問題を修正 (#15154)
* feat(MiAuth): アクセストークンの発行に失敗した場合コールバックに遷移しないようにする (MisskeyIO#831)

Cherry-picked from TeamNijimiss/misskey@800359623e

Co-authored-by: nafu-at <satsuki@nafusoft.dev>

* Update Changelog

* Update Changelog

---------

Co-authored-by: あわわわとーにゅ <17376330+u1-liquid@users.noreply.github.com>
Co-authored-by: nafu-at <satsuki@nafusoft.dev>
2025-01-04 06:08:29 +00:00
4ster1sk
020882edcf
fix(backend): アプリ作成方式で作成したトークンの権限を表示するように (#15177) 2025-01-04 06:06:19 +00:00
かっこかり
f4e025170e
fix(frontend/AiScript): Ui:C:selectの値が切り替わらない問題を修正 (#15184)
* fix(frontend/AiScript): Ui:C:selectの値が切り替わらない問題を修正

* Update Changelog
2025-01-04 06:06:03 +00:00
Yuba
79b3d2a711
pg_bigmが利用できるよう、ノートの検索をILIKE演算子でなくLIKE演算子でLOWER()をかけたテキストに対して行うように (#15205)
* Use LIKE-LOWER instead of ILIKE, which pg_bigm doesn't support.

* changelog: Enhance: pg_bigmが利用できるよう、ノートの検索をILIKE演算子でなくLIKE演算子でLOWER()をかけたテキストに対して行うように
2025-01-04 06:03:00 +00:00
かっこかり
6649e58b56
enhance(frontend): ワードミュート・ハードワードミュートの説明を追加 (#15207) 2025-01-04 05:40:41 +00:00
かっこかり
62299588d8
2025 (#15203) 2025-01-04 14:37:14 +09:00
Marie
a723ece4b6 merge: fix url preview spacing for very narrow viewports (!852)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/852

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-01-02 20:12:25 +00:00
Marie
6c8d1462c1 merge: remove UI for "email notification type" - fixes #855 (!850)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/850

Closes #855

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-01-02 20:11:01 +00:00
Marie
5faa26b08f merge: use the whole hostname to check remote links - fixes #866 (!849)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/849

Closes #866

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-01-02 20:10:31 +00:00
Marie
4619a31f1d merge: remove duplicate role badges - fixes #868 (!848)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/848

Closes #868

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2025-01-02 20:10:26 +00:00
dakkar
3aeca799a5 fix url preview spacing for very narrow viewports
on wide viewports, the url preview only leaves space for a thumbnail
when such thumbnail exists.

on small phones, or in busy deck views, it always left that space

this was not very evident for simple previews (which are pretty much a
title line, a favicon, and the site name), but it became very obvious
with the note embedding in 2024.11

this patch makes the thumbnail space conditional on the existence of
the thumbnail, for narrow viewports as well (I pretty much copied the
bit of CSS from the non-narrow media query sections)
2025-01-02 17:40:36 +00:00
dakkar
3b69669edd use template variables for MR template
I often copy my commit messages into the MR description, this
automates that process.
2025-01-02 13:14:16 +00:00
dakkar
8edd002ec7 remove UI for "email notification type" - fixes #855
no live code looks at these settings, let's not confuse users
pretending they can set

also, no live code sends any of these notifications via email!

maybe, after #718, we can revisit this
2025-01-02 10:18:04 +00:00
dakkar
ac0c6841aa use the whole hostname to check remote links - fixes #866
the warning dialog's "trust this domain" toggle saves the whole
hostname, so this code needs to use the whole hostname

otherwise trusting a `www.example.com` will never work, because we'd
be checking `example.com` against it, and fail

while I was there, I also made the `trustedLinkUrlPatterns` correctly
match sub-domains: previously, trusting `ple.com` would trust
`example.com`
2025-01-02 10:03:16 +00:00
dakkar
d980875e83 remove duplicate role badges - fixes #868
when I copied over the changes from `MkNote*` to `SkNote*`, I forgot
to remove the old badge-related code
2025-01-02 09:46:56 +00:00
dakkar
d6cadc98c3 merge: merge 2024.12.2 into develop (!847)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/847

Approved-by: Hazelnoot <acomputerdog@gmail.com>
2025-01-01 17:56:25 +00:00
dakkar
096f122024 Merge branch 'stable' into feature/merge-hotfix 2025-01-01 17:31:59 +00:00
dakkar
0a4e1614ea merge: 2024.11.2, for real (!846)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/846
2025-01-01 17:26:31 +00:00
dakkar
5ef24836ef bump version 2025-01-01 17:11:38 +00:00
dakkar
f4aa986abd fix scheduled replies becoming quote-boosts
thanks to @CenTdemeern1 for triggering this bug!
see https://kitsunes.club/notes/a2h1y2rq9n

also compare with https://s.thenautilus.net/notes/a2h1y2rqx9

my instance errored out with:

> WARN 1	[remote ap]	Failed to resolve quote
> https://mastodon.social/users/DrALJONES/statuses/110586222749407429
>  for note https://kitsunes.club/notes/a2h1y2rq9n: StatusError: 404 Not
> Found

What happened?

* Charlotte scheduled a reply
* the processor called `findOneBy` with an undefined `note.renote`,
  which probably caused a `select` without any `where`
* a random note was attached as a quote
* that note has been deleted on the original instance but not on
kitsuclub's database
* the rest of fedi didn't notice the quote
2025-01-01 17:10:56 +00:00
dakkar
565c987744 merge: Add file extension to locally-stored media (!832)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/832

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-12-31 10:44:22 +00:00
Julia
d5ec2082f3 merge: Bump develop version (!843)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/843
2024-12-31 03:49:31 +00:00
Julia Johannesen
d146038ab4
Bump develop version 2024-12-30 22:37:43 -05:00
Julia
4c0bbddd0f merge: Bump stable version (!842)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/842
2024-12-31 02:30:13 +00:00
Julia Johannesen
afad149c6f
Bump version 2024-12-30 21:12:03 -05:00
dakkar
befc4512d0 merge: rethrow everything but non-retryable HTTP errors (!837)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/837

Approved-by: Marie <github@yuugi.dev>
Approved-by: Charlotte <timo.herngreen@gmail.com>
2024-12-30 08:52:06 +00:00
Hazelnoot
4b6a338e0d merge: fix: Replace RE2 with RegExp for "mute word" regex validation (resolves #850) (!836)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/836

Closes #850

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2024-12-26 19:09:49 +00:00
Hazelnoot
9fc562be3d avoid use of any in logger.ts 2024-12-26 13:46:15 -05:00
piuvas
2c742d6e82
requested change. 2024-12-26 14:49:22 -03:00
piuvas
8f96b50b00
improvement 2024-12-26 12:27:00 -03:00
dakkar
45f7743323 fix types
I don't understand the difference between `any` and `unknown`, but the
type signatures before this branch had `Record<string, any> | null`,
and this code passes the typecheck… mah
2024-12-26 09:33:35 +00:00
zima
60a6b4e16e Merge pull request 'Adjust rate limit for proxy endpoint' (#39) from 38-hotfix-adjust-proxy-rate-limit into dev
Reviewed-on: https://codeberg.org/yeentown/barkey/pulls/39
2024-12-26 02:11:48 +00:00
zima
a4a56e8b7e Adjust rate limit for proxy endpoint 2024-12-25 18:46:19 -07:00
piuvas
64abef8be9
turn task into a function 2024-12-25 16:41:40 -03:00
piuvas
e5312da6fe
improve readability and conciseness 2024-12-25 14:19:05 -03:00
zima
a85253ff44 Merge branch 'stable' into dev 2024-12-24 01:40:35 +00:00
zima
9d40879e70 Remove automatic CI on pushes 2024-12-24 01:34:24 +00:00
zima
7c2f8420f4 Merge pull request 'Revert URL to resolve issue with Jest' (#35) from 34-fix-ci-compose-url into dev
Reviewed-on: https://codeberg.org/yeentown/barkey/pulls/35
2024-12-24 01:32:32 +00:00
zima
a38848c3be Revert URL to resolve issue with Jest 2024-12-23 18:16:48 -07:00
piuvas
9828562e57
testing w/ reactions and stuff 2024-12-23 21:03:04 -03:00
zima
db7f94dd69 Merge pull request 'Test environment revision and dev environment implementation' (#33) from 31-revise-local-test-suite-and-create-local-dev-container into dev
Reviewed-on: https://codeberg.org/yeentown/barkey/pulls/33

Closes #31
2024-12-23 23:49:22 +00:00
piuvas
94c3a71e49
improvements. 2024-12-23 20:42:21 -03:00
piuvas
83460279c0
populate myreaction on replies for streams. 2024-12-23 10:50:31 -03:00
Hazelnoot
abb2c37591 re-implement "reduce inbox log spam when fetching blocked / unavailable notes" 2024-12-22 15:28:28 -05:00
dakkar
e4047b4076 rethrow everything but non-retryable HTTP errors
every job that ends without an exception will be considered
"completed" and not retried
2024-12-22 15:28:21 -05:00
zima
d39316bd16 Create dev container env 2024-12-22 12:03:17 -07:00
zima
daecf42ab4 Remove unnecessary cd 2024-12-22 12:03:05 -07:00
zima
f7523afb8e Set name for test env to not conflict with other envs 2024-12-22 12:02:47 -07:00
zima
fb1189d05b Test db containers no longer use bind mounts and are ephemeral 2024-12-22 12:01:47 -07:00
zima
a019965f6b Change test container to automatically start in work dir 2024-12-22 12:00:26 -07:00
zima
4f4b725f94 Update CI env to use localhost address 2024-12-22 11:58:40 -07:00
zima
143b650b53 Add docker default private network to allowed networks 2024-12-22 11:58:29 -07:00
かっこかり
3c81926f71
fix(frontend): serverContextの値を利用する条件が間違っていたのを修正 (#15166) 2024-12-22 13:36:17 +09:00
zima
da6c59382f Merge pull request 'Fix linting in MkEmojiPicker and custom-emojis in frontend' (#32) from fix-linting-in-emoji-picker-and-custom-emoji into dev
Some checks failed
/ testCommit (push) Has been cancelled
Reviewed-on: https://codeberg.org/yeentown/barkey/pulls/32

Fixes #28
2024-12-22 01:41:38 +00:00
zima
84f86f526d Fix linting in MkEmojiPicker and custom-emojis in frontend 2024-12-21 18:25:35 -07:00
zima
695e7fd68e Merge pull request 'Add CI workflow for tests' (#30) from ci into dev
Reviewed-on: https://codeberg.org/yeentown/barkey/pulls/30
2024-12-22 00:52:58 +00:00
zima
1028474757 Add CI workflow for tests 2024-12-21 17:36:50 -07:00
zima
104eed031e Adjust when script sets up .config dir 2024-12-21 13:19:21 -07:00
zima
6c036331dc Add CI env file for compose 2024-12-21 13:18:50 -07:00
zima
aae0cc8e5b Oops 2024-12-21 12:55:22 -07:00
zima
05f012aecd Create scripts for testing locally 2024-12-21 12:48:49 -07:00
dakkar
5eca807e19 merge: Revert "Synchronize server startup" (!831)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/831

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Charlotte <timo.herngreen@gmail.com>
2024-12-21 16:35:51 +00:00
dakkar
0c123d04d6 merge: Sync charts one-at-a-time to reduce database contention and timeouts (!830)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/830

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Charlotte <timo.herngreen@gmail.com>
2024-12-21 16:35:44 +00:00
zima
dd90724c54 Merge pull request 'Sort custom emoticons in picker by sortKey (fixes #18)' (#22) from emoticon-sorting into dev
Reviewed-on: https://codeberg.org/yeentown/barkey/pulls/22
Reviewed-by: zima <zima@noreply.codeberg.org>
2024-12-21 02:55:55 +00:00
zima
20c9787241 Merge branch 'dev' into emoticon-sorting 2024-12-21 02:55:31 +00:00
zima
74dfddcb18 Merge pull request 'Fix typographic quotes incorrectly being fullwidth' (#26) from font-fixes into dev
Reviewed-on: https://codeberg.org/yeentown/barkey/pulls/26
2024-12-21 02:51:39 +00:00
bunnybeam
9160ede4d5
replace RE2 with RegExp for regex word mute validation 2024-12-21 01:34:56 +00:00
HellhoundSoftware
6ce81125a0
oops 2024-12-20 19:38:09 -05:00
HellhoundSoftware
6a6c345698
Improve emoticon picker UI 2024-12-20 19:24:52 -05:00
HellhoundSoftware
38fec5f18f
Create CustomEmojiFolderTree nodes with correct path (fixes #25) 2024-12-20 19:24:49 -05:00
HellhoundSoftware
cfa273adfa
Add language string 2024-12-20 19:24:46 -05:00
HellhoundSoftware
a3731f3392
sort custom emoticons in picker by sortKey (#18) 2024-12-20 19:24:43 -05:00
HellhoundSoftware
1ad8b4cea8
Fix typographic quotes incorrectly being fullwidth 2024-12-20 19:06:03 -05:00
Hazelnoot
4e422836dd merge: Fix the ascii art (!835)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/835

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2024-12-20 22:35:15 +00:00
Hazelnoot
50290cf002 merge: Add Release version to Sentry logging (!834)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/834

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2024-12-20 22:34:34 +00:00
CenTdemeern1
eb21b13e73 Fix the ascii art
I should really make a new one from scratch sometime
2024-12-20 02:58:35 +01:00
Kio!
903b2be132 Update file worker.ts 2024-12-19 19:20:57 +00:00
Kio!
0bb61fef7b Update file worker.ts 2024-12-19 19:11:52 +00:00
Kio!
cdc11df562 Add missing imports before Dakkar can mention it 2024-12-19 19:07:04 +00:00
Kio!
990388141c Add Meta, oops 2024-12-19 19:01:14 +00:00
Hazelnoot
0de93c2bde only attach file extension for browser-safe file types 2024-12-19 12:33:11 -05:00
Kio!
ba9f7f42d2 Add Release version to sentry logging 2024-12-19 17:30:22 +00:00
Hazelnoot
465c780a04 Revert "Synchronize server startup"
This reverts commit ffbdfa9123.
2024-12-19 11:22:54 -05:00
Hazelnoot
ad63f55a0f add file extension to locally-stored media 2024-12-19 11:22:26 -05:00
かっこかり
f123be38b9
enhance(frontend): 照会の際にエラーを表示するように (#15147)
* enhance: 照会の失敗理由を表示するように

* Update Changelog

* fix

* fix test

* lookupErrors-> remoteLookupErrors
2024-12-19 16:05:33 +09:00
Hazelnoot
d14f0b140b merge: fix typo in translation key (!829)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/829

Approved-by: Marie <github@yuugi.dev>
Approved-by: Charlotte <timo.herngreen@gmail.com>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2024-12-18 18:26:52 +00:00
Hazelnoot
62327152ec merge: Check for cross-domain redirects that bounce from an allowed domain to a blocked domain (!827)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/827

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-12-18 18:26:23 +00:00
dakkar
72db1c3937 fix typo in translation key
yes, it's mis-spelled in the code
2024-12-18 17:46:37 +00:00
dakkar
12ef2b13c4 merge: avoid empty blocks when hiding ads (!828)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/828

Approved-by: Charlotte <timo.herngreen@gmail.com>
Approved-by: Amber Null <puppygirlhornyposting@gmail.com>
2024-12-18 17:06:57 +00:00
dakkar
fcbf072e29 merge: preview AP objects as quotes - fix #595 (!826)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/826

Closes #595

Approved-by: Amber Null <puppygirlhornyposting@gmail.com>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2024-12-18 17:06:41 +00:00
dakkar
5fd3e271ac only log preview error in dev mode 2024-12-18 16:32:28 +00:00
dakkar
2dfadc082d style embedded note previews like normal previews
and not like normal quotes
2024-12-18 16:14:47 +00:00
dakkar
e9e2a5dd77 avoid empty blocks when hiding ads
2024.10 or 2024.11 added a `<div>` around `<MkAd>`, but while `MkAd`
checks if ads should be shown, and generates an empty `<div>` if not,
the wrapper `div` was always shown.

This commit takes the same logic from `MkAd` and applies it to the
wrapper as well.

thanks to @puppygirlhornypost for noticing
2024-12-18 15:59:34 +00:00
Hazelnoot
05ff9ae93f check for cross-domain redirects that bounce from an allowed domain to a blocked domain 2024-12-18 10:29:25 -05:00
Marie
7f19f8c10b merge: chore: remove leah from project members (!825)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/825

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Charlotte <timo.herngreen@gmail.com>
2024-12-18 15:05:24 +00:00
dakkar
fb833d13cd preview AP objects as quotes - fix #595 2024-12-18 12:23:13 +00:00
Marie
042d46557d chore: remove leah from project members 2024-12-17 21:54:58 +00:00
Marie
38d7faffdb merge: make it harder to fumble opening a collapsed replied-to note (!811)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/811

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2024-12-17 21:53:19 +00:00
Marie
241949da04 merge: fix(frontend): Ensure physics run consistently across different device framerates (!823)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/823

Closes #684

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-12-17 21:50:39 +00:00
Marie
16822639e6 merge: enforce restrictions for user's rss feed (!822)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/822

Approved-by: Charlotte <timo.herngreen@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2024-12-17 21:46:10 +00:00
dakkar
3e0558c953 merge: Add missing back buttons to following/follower pages (!824)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/824

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-12-17 20:35:13 +00:00
Marie
3b5e3fd460 merge: Make schedule time work cross timezones (!819)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/819

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Charlotte <timo.herngreen@gmail.com>
2024-12-17 20:29:33 +00:00
CenTdemeern1
67a0d8a56e Add missing back buttons to following/follower pages 2024-12-17 20:09:21 +01:00
dakkar
accaa98869 merge: add missing English translations (!821)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/821

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Charlotte <timo.herngreen@gmail.com>
2024-12-17 18:46:38 +00:00
dakkar
f4467c85aa merge: Disable blinking indicators (!820)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/820

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Charlotte <timo.herngreen@gmail.com>
2024-12-17 18:46:23 +00:00
CenTdemeern1
f9100d4dcf bubble-game: Use setInterval instead of requestAnimationFrame
This makes sure Misskey's Bubble Game always runs at a consistent rate, even when the monitor isn't 60hz
2024-12-17 17:55:40 +01:00
CenTdemeern1
4918ae34a5 Upgrade matter-js to version 0.20.0
This version uses fixed rates across platforms in Matter.Runner. This fixes inconsistent rates in `physics.ts`.
2024-12-17 17:55:40 +01:00
dakkar
f4537e7092 better name, and other tweaks 2024-12-17 16:45:56 +00:00
Hazelnoot
0b40f2734e sync charts one-at-a-time to reduce database contention and timeouts 2024-12-17 10:37:29 -05:00
dakkar
d31db31c07 add translations for notification settings 2024-12-17 13:21:22 +00:00
dakkar
799cc0d098 pick lints 2024-12-17 10:06:30 +00:00
dakkar
46432161b8 enforce restrictions for user's rss feed
if `requireSigninToViewContents` in on, no notes are included in the
feed

notes covered by `makeNotesFollowersOnlyBefore` and
`makeNotesHiddenBefore` are skipped
2024-12-17 09:47:32 +00:00
dakkar
18e6b733ab add missing English translations
misskey still doesn't have these… I'm putting them here because these
are not Sharkey-specific strings

and yes, this *will* cause conflicts on the next merge
2024-12-16 20:40:23 +00:00
Hazelnoot
326f836b96 disable blinking indicators added in 3cea890eba0b5137adcc4cb0d4fa2b2286914892 2024-12-16 14:45:33 -05:00
かっこかり
0804092426
fix(frontend): serverContextの型エラーを修正 (#15131)
* fix(frontend): serverContextの型エラーを修正

* add comment
2024-12-16 09:03:46 +09:00
かっこかり
3e0fcaeca8
fix(frontend): 絵文字管理画面で絵文字が表示されないことがある問題を修正 (#15128)
* fix(frontend): 絵文字管理画面で絵文字が表示されないことがある問題を修正

* Update Changelog

* optimize
2024-12-16 09:02:38 +09:00
かっこかり
5a2b29a3b4
enhance(frontend): PC画面でチャンネルが複数列で表示されるように (#15129)
* チャンネル一覧の列を最大3列にした (Otaku-Social#13)

* fix

* fix

* fix

* 🎨

* fix

* 🎨

* Update Changelog

* Update Changelog

* 要らない_marginを消す

---------

Co-authored-by: tmorio <morikapusan@morikapu-denki.com>
2024-12-16 08:57:37 +09:00
FineArchs
234d91a884
misskey-js: APIClientにURL末尾の/を除去する処理を追加 (#15132) 2024-12-16 08:55:34 +09:00
Marie
e50ff9db6a
upd: make schedule time work cross timezones 2024-12-15 22:41:16 +01:00
dakkar
e2352839e4 merge: upstream changes for 2024.11 (!742)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/742

Closes #645 and #646

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2024-12-15 17:27:12 +00:00
Hazelnoot
fd0ecb22cf merge: Fix rate limits under multi-node environments (!809)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/809

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-12-15 16:53:48 +00:00
Hazelnoot
dfcba23e0b merge: Add locales and new navbar entry (!815)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/815

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2024-12-15 16:46:23 +00:00
Hazelnoot
47a7b0a286 merge: Fix notifications breaking due to deleted role being assigned (!816)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/816

Closes #630

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2024-12-15 16:45:24 +00:00
dakkar
3efa8ac986 merge: Update Leah's profile picture in about-sharkey (!818)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/818

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2024-12-15 16:40:04 +00:00
CenTdemeern1
696a5d852c Update Leah's profile picture in about-sharkey 2024-12-15 17:08:52 +01:00
JeDaYoshi
535e0c69ce
Fix notifications breaking due to deleted role being assigned 2024-12-13 16:49:19 -04:00
dakkar
9dc03858bd merge: on 429, retry fetchAccount instead of failing (!817)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/817

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2024-12-13 18:33:36 +00:00
dakkar
9b1fc96908 fix passing rate limiting info via ApiError 2024-12-13 16:18:10 +00:00
dakkar
0c1dd73341 on 429, retry fetchAccount instead of failing
when switching between accounts, with many tabs open (10 seem to be
enough), they all hit the endpoint at the same time, and some get rate
limited.

treating a 429 as a fatal error confuses the frontend, which ends up
logging the user out of all their accounts.

this code makes the frontend retry, after waiting the appropriate
amount of time.

seems to work fine in my testing.
2024-12-13 16:18:10 +00:00
Marie
b2facb2ee8 revert forced editor eslint formatting 2024-12-12 20:48:50 +00:00
Marie
dddfdf8a13
Add locales and new navbar entry 2024-12-12 21:45:54 +01:00
dakkar
96aa5f3ad5 upstream merge checklist: remember to check federated profile fields 2024-12-12 17:42:19 +00:00
dakkar
e9f68ab2b0 actually publish profile updates with changes to new mk fields
I had forgotten to check these
2024-12-12 17:40:22 +00:00
dakkar
b266a5f9f6 Merge branch 'develop' into feature/2024.10 2024-12-12 17:38:29 +00:00
Hazelnoot
d18317a7c8 merge: Add "enable RSS" user privacy toggle (resolves #826) (!806)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/806

Closes #826

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-12-12 17:34:29 +00:00
Hazelnoot
9d76cc08cb merge: Fixed Emoji in usernames of profile's owner not visible in the Pages and Plays tabs (resolves #829) (!814)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/814

Closes #829

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2024-12-12 13:50:31 +00:00
Leah
d1fe3da4b8 remove old unused imports 2024-12-12 14:38:28 +01:00
Hazelnoot
34c5a3a3b6 fix WebhookTestService.ts 2024-12-12 08:13:47 -05:00
Hazelnoot
d95ec3de5f fix declaration of User.enableRss property 2024-12-12 08:13:47 -05:00
Hazelnoot
1c65f23445 safer typings for userNeedsPublishing and profileNeedsPublishing 2024-12-12 08:13:44 -05:00
Hazelnoot
02b600c9da federate profile when changing enableRss value 2024-12-12 08:12:44 -05:00
Hazelnoot
fe37aa2ce8 Add "enable RSS" user privacy toggle 2024-12-12 08:11:55 -05:00
dakkar
943c6414d8 merge: Enable by default and federate "hide online status" (resolves #823) (!807)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/807

Closes #823

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2024-12-12 13:08:19 +00:00
dakkar
bdb00fcaf2 update css variable references 2024-12-12 13:07:06 +00:00
dakkar
6d4ae93592 Merge branch 'develop' into feature/2024.10 2024-12-12 13:04:51 +00:00
Leah
b2387cbfef Fixed Emoji in usernames of profile's owner not visible in the Pages and Plays tabs 2024-12-12 14:00:43 +01:00
Marie
8eb9c20df7 merge: Schedule Notes (!804)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/804

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2024-12-12 12:50:11 +00:00
Hazelnoot
00c4637b11 federate profile when hideOnlineStatus changes 2024-12-12 07:34:14 -05:00
dakkar
324449786d merge: fix icons in dev mode (!813)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/813

Approved-by: Leah <kevinlukej@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2024-12-12 10:50:50 +00:00
おさむのひと
9a44b37d03 fix(backend): アドレス入力で直接ユーザのプロフィールページを表示した際、前提データが足りず描画に失敗する (#15033)
* fix(backend): アドレス入力で直接ユーザのプロフィールページを表示した際、前提データが足りず描画に失敗する

* fix CHANGELOG.md
2024-12-12 10:47:02 +00:00
dakkar
cf8d212d16 fix a name 2024-12-12 10:29:04 +00:00
dakkar
33fd4648ae fix icons in dev mode
running `pnpm dev` would not show any of our icons

this fixes it well enough
2024-12-12 10:27:46 +00:00
dakkar
0ebdf91b28 fix pleaseLogin on *NoteSub
we really need to factor these things out
2024-12-12 10:04:54 +00:00
Hazelnoot
755ff8783b clarify naming of legacy rate limit methods 2024-12-11 14:07:25 -05:00
Hazelnoot
72d18602d8 fix SkRateLimiterService tests 2024-12-11 14:07:14 -05:00
Hazelnoot
1377873b1d fix typos and wording in SkRateLimiterService.md 2024-12-11 11:16:30 -05:00
Hazelnoot
0f5c78a69b increase chart rate limits (fixes 429s in control panel / info pages) 2024-12-11 09:10:56 -05:00
Hazelnoot
0ea9d6ec5d use atomic variant of Leaky Bucket for safe concurrent rate limits 2024-12-11 09:10:11 -05:00
dakkar
5ae409b032 make it harder to fumble opening a collapsed replied-to note
clicking on the username of the collapsed replied-to note, opens the
note instead of navigating to the user's profile

clicking the avatar still goes to the profile
2024-12-11 09:52:13 +00:00
Hazelnoot
407b2423af fix redis transaction implementation 2024-12-10 19:01:35 -05:00
Marie
d6297f2035 merge: Fix: scrolling alt text using a mouse (!810)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/810

Closes #654

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2024-12-10 15:44:39 +00:00
CenTdemeern1
5cc77b64bf Fix scrolling alt text using a mouse
Co-authored-by: BlankEclair <blankeclair@disroot.org>
2024-12-10 15:12:56 +01:00
dakkar
98b6323076 merge: Make collapsed notes subscribe to stream (!805)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/805

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2024-12-10 12:03:23 +00:00
かっこかり
e8bf6285cb
fix(frontend): ノートがログインしているユーザーしか見れない場合にログインをキャンセルした場合その後の動線がなくなる問題を修正 (#15101)
* fix(frontend): ノートがログインしているユーザーしか見れない場合にログインをキャンセルすると一切の処理が停止する問題を修正

* Update Changelog

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-12-10 10:42:12 +09:00
かっこかり
074b7b0bee
fix(frontend): 公開範囲がホームのノートの埋め込みウィジェットが読み込まれない問題を修正 (#15102)
* Resolve frontend/backend contradiction for home visibility embeds

This now uses the same check from `packages/frontend/src/scripts/get-note-menu.ts`

* Update Changelog

---------

Co-authored-by: CenTdemeern1 <timo.herngreen@gmail.com>
2024-12-10 10:36:03 +09:00
かっこかり
020c191e2c
fix(frontend): MiAuth認可画面のデザイン修正 (#15106) 2024-12-10 10:29:40 +09:00
Hazelnoot
ead781900d enable rate limits for dev environment 2024-12-09 19:04:59 -05:00
Hazelnoot
9daafca155 fix rate limits under multi-node environments 2024-12-09 19:04:06 -05:00
Marie
ee01d5fbdf merge: user profile: only default to "pinned notes" if they exist (!808)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/808

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2024-12-09 18:36:00 +00:00
Marie
bf01dcd8fb
Apply suggestions 2024-12-09 18:58:57 +01:00
dakkar
0d9d952d2c user profile: only default to "pinned notes" if they exist
it's sensible to show the pinned notes first *if they exist*

if there's nothing pinned, we're just showing an empty list

let's show the "notes" tab in that case
2024-12-09 15:40:54 +00:00
Hazelnoot
5af8432725 federate hideOnlineStatus 2024-12-09 09:36:23 -05:00
Hazelnoot
b7a6ccfef9 enable hideOnlineStatus by default for new users 2024-12-09 09:29:42 -05:00
Caramel
bb12109bc4 Make collapsed notes subscribe to stream
Previously, when the note was collapsed, it didn't get updates such
as reactions from streaming server. This was a problem, as any change
made to the post before it got uncollapsed would end up being ignored.
2024-12-09 11:41:42 +01:00
dakkar
c9f588276c remove duplicate import 2024-12-09 10:01:48 +00:00
dakkar
1837ccc618 Merge branch 'develop' into feature/2024.10 2024-12-09 09:43:55 +00:00
dakkar
3d1e35c9b8 fix a bunch of CSS variables 2024-12-09 09:41:48 +00:00
Marie
234d14a892 Revert import order update caused by saving 2024-12-09 05:21:53 +00:00
Marie
dda922a030
remove splatting 2024-12-09 06:15:30 +01:00
Marie
f02d099413
fix deletion of scheduled note 2024-12-09 06:15:29 +01:00
Marie
116a147202 remove comma added by vscode prettifer 2024-12-09 05:00:20 +00:00
Marie
152cc07483
Apply suggestions 2024-12-09 05:58:25 +01:00
Marie
1d0fd4c40b
update locales 2024-12-09 05:34:12 +01:00
Marie
b10eb7ada9
fix missing imports 2024-12-09 05:33:58 +01:00
Marie
7eb0996b60
upd: use apiWithDialog instead of misskeyApi 2024-12-09 05:33:46 +01:00
Marie
3efb99dd57
fix: missing MKButton import 2024-12-09 05:33:35 +01:00
Marie
1d3c825398
upd: add notification for when scheduled note gets posted 2024-12-09 05:33:19 +01:00
Marie
170093f2a2
chore: remove from note required type 2024-12-09 05:33:08 +01:00
Marie
fc9d777dc3
upd: add notification for failures, add reasons for failure, apply suggestions 2024-12-09 05:32:51 +01:00
Marie
f08d1ec38f
chore: remove leftover log 2024-12-09 05:32:31 +01:00
Marie
aeb10751ed
chore: fix locales 2024-12-09 05:32:12 +01:00
Marie
1ee41d239c
chore: add new ti icon to replace 2024-12-09 05:31:52 +01:00
Marie
4f58b8de20
fix: drive content not being loaded 2024-12-09 05:31:36 +01:00
NoriDev
2528508cff
feat: 노트 게시를 예약할 수 있음 (yojo-art/cherrypick#483, [Type4ny-Project/Type4ny@271c872c](271c872c97)) 2024-12-09 05:31:03 +01:00
dakkar
92ffd2a5fc merge: Implement new SkRateLimiterServer with Leaky Bucket rate limits (resolves #592) (!799)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/799

Closes #592

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-12-08 20:49:07 +00:00
Marie
8967d37d09 merge: Data driven about page sections (and add me as a contributor!) (!800)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/800

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2024-12-08 19:39:16 +00:00
Hazelnoot
a754a9947b merge: Synchronize app startup (!788)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/788

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2024-12-08 19:19:28 +00:00
dakkar
9937ff39be Merge branch 'develop' into feature/2024.10 2024-12-08 19:03:16 +00:00
dakkar
2d304d746d merge: Feat: Flash playback using Ruffle (!687)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/687

Closes #694

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2024-12-08 18:32:24 +00:00
Hazelnoot
2946f85592 fix type errors from new rate limit definitions 2024-12-08 13:22:07 -05:00
CenTdemeern1
eb4ca97c85 Add Flash unpreviewable file type to embeds 2024-12-08 19:16:36 +01:00
CenTdemeern1
15ecc8f86d Always use ruffle even if flash is installed
This is for the sake of safety
2024-12-08 19:16:36 +01:00
CenTdemeern1
f258b074b7 Disable networking 2024-12-08 19:16:36 +01:00
dakkar
715a8c8ecb help eslint deal with the new vite-provided constant 2024-12-08 19:16:36 +01:00
CenTdemeern1
c93a1b2d08 Fix issues caused by reactivity removal 2024-12-08 19:16:36 +01:00
CenTdemeern1
523cc67c14 Remove computed 2024-12-08 19:16:36 +01:00
CenTdemeern1
034682f7ac Add _RUFFLE_VERSION_ global Vite define 2024-12-08 19:16:36 +01:00
CenTdemeern1
feb23be80b Misskey.js types rebuild 2024-12-08 19:16:36 +01:00
CenTdemeern1
32654c7153 Use new --MI and --MI_THEME 2024-12-08 19:16:36 +01:00
CenTdemeern1
a6a78d35a7 Download with the correct filename 2024-12-08 19:15:41 +01:00
CenTdemeern1
54610f9458 Import from @/components 2024-12-08 19:15:41 +01:00
CenTdemeern1
7bf4ff238c Undo automatic import reordering 2024-12-08 19:15:41 +01:00
CenTdemeern1
8c75946a0c Undo changes to the local dev config 2024-12-08 19:15:41 +01:00
CenTdemeern1
479fafb299 Remove comments I wrote while in a bad mood 2024-12-08 19:15:41 +01:00
CenTdemeern1
953d7ee254 Everything must be async
I feel it's not proper to keep the promises `dismissWarning()` returns unhandled, even if they're infallible, but Hazel and Julia have forced my hand
2024-12-08 19:15:41 +01:00
CenTdemeern1
2305eb9e97 Clean up hidden check 2024-12-08 19:15:41 +01:00
CenTdemeern1
33387b303c Add flash: prefix to XFlashPlayer keys 2024-12-08 19:15:41 +01:00
CenTdemeern1
3b26670792 Apply media classes to SkFlashPlayer and SkModPlayer 2024-12-08 19:15:41 +01:00
CenTdemeern1
a67814b8c7 Fix 64 pixels of doom (final) (3) (actually final).waff.diff
Co-authored-by: Freeplay <freeplay@duck.com>
2024-12-08 19:15:41 +01:00
CenTdemeern1
2a4fb1f615 Deal with the 64 pixels of doom once and for all
Co-authored-by: Freeplay <freeplay@duck.com>
2024-12-08 19:15:41 +01:00
CenTdemeern1
a881d083e0 Update copyright text credit
I copy pasted this from another file. I should probably change this
2024-12-08 19:15:41 +01:00
CenTdemeern1
d7244b3c71 Add i18n 2024-12-08 19:15:41 +01:00
CenTdemeern1
9668d6187c Works now somehow???????"?????
I literally tried this before and it didn't work I have witnesses
Before, when I set it to 100%, it became 64 pixels tall
Piuvas witnessed this happen and tried to help me debug it
at some point it just suddenly started working and we have no clue how

Witnessed-by: piuvas <piuvas@proton.me>
Co-authored-by: piuvas <piuvas@proton.me>
2024-12-08 19:15:41 +01:00
CenTdemeern1
be42a2b008 The big CSS refactor
Still doesn't fix the stupid height issue‼️‼️💥
2024-12-08 19:15:41 +01:00
CenTdemeern1
3887be6abb Miscellaneous fixes, clarifications, and alterations
Full list of changes:
- Visual clarification for when certain UI elements are disabled
- Fix the play/pause button not being reactive due to isPlaying being a getter (technically a hack but it's probably fine)
- Makes sure to use `comment` instead of `flashFile.comment` as condition for the ALT text icon being visible
2024-12-08 19:15:41 +01:00
CenTdemeern1
354bed1c32 Commit to raw.esm.sh
This commit also adds an error message for when the Content Security Policy is likely at fault for blocking it.
2024-12-08 19:15:41 +01:00
CenTdemeern1
d3a9528966 Add a missing import
How did it even work without this????
2024-12-08 19:15:41 +01:00
CenTdemeern1
25fe3ceca1 Use esm.sh instead of unpkg as Ruffle CDN
This way admins don't have to change their content security policy
2024-12-08 19:15:41 +01:00
CenTdemeern1
0e7105f1f7 Change error handler for flash file load fail 2024-12-08 19:15:41 +01:00
CenTdemeern1
24bc2cc19a Dynamic loading, error handling, and types 2024-12-08 19:15:41 +01:00
CenTdemeern1
8d1d09e42d Add Ruffle type definitions
These can be replaced later when Ruffle API v1 releases with proper TypeScript definitions and such: https://github.com/ruffle-rs/ruffle/pull/17939
I am planning to do so myself when that happens.
For now, Dinnerbone has graciously provided us with type definitions of the current API.

Co-authored-by: Nathan Adams <dinnerbone@dinnerbone.com>
2024-12-08 19:15:41 +01:00
CenTdemeern1
051073a046 Always load Ruffle from CDN and add it as a dependency
This commit has a long story behind it.
Removes Ruffle from /scripts/ and instead always loads the installed version from unpkg, Ruffle's preferred CDN.
This requires having unpkg in the CORS rules.
Ruffle is also loaded from the CDN in dev mode. To help with this an externalPackages array has been added to the vite dev config.

Co-authored-by: Julia Johannesen <julia@insertdomain.name>
2024-12-08 19:15:40 +01:00
CenTdemeern1
f137101b90 Add the ruffle-player to the hotkey ignorelist
This should fix the focus issues. Thanks to kjarosh and Dinnerbone from the ruffle team for helping me debug this!
2024-12-08 19:15:40 +01:00
CenTdemeern1
6aa4727d1d feat: Flash playback using Ruffle
Still a work in progress.
2024-12-08 19:15:40 +01:00
dakkar
7f18e94e97 merge: Fix avatar decoration Z index for embeds (!802)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/802

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2024-12-08 18:01:38 +00:00
dakkar
a014bfc225 merge: Apply lessons learned from SkFlashPlayer to SkModPlayer (!801)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/801

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2024-12-08 18:00:53 +00:00
dakkar
fdac24aabe merge: Resolve frontend/backend contradiction for home visibility embeds (!803)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/803

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2024-12-08 17:17:01 +00:00
Hazelnoot
fc4599ec07 fix rate limit scaling (it's no longer inverted) 2024-12-08 12:02:58 -05:00
Hazelnoot
91c9b67cb0 bypass rate limits when factor is 0 2024-12-08 11:58:57 -05:00
Hazelnoot
6fa0f2230e increase rate limit for /api/endpoint based on real-world testing 2024-12-08 11:56:48 -05:00
Hazelnoot
2bcac80092 use fraction seconds for rate limit headers 2024-12-08 11:56:26 -05:00
CenTdemeern1
85bbfd2e2b Resolve frontend/backend contradiction for home visibility embeds
This now uses the same check from `packages/frontend/src/scripts/get-note-menu.ts`
2024-12-08 17:52:26 +01:00
Hazelnoot
7c002ce56e move all Rate Limit type defs to rate-limit-utils.ts 2024-12-08 11:33:57 -05:00
CenTdemeern1
83c010453d Fix avatar decoration Z index for embeds 2024-12-08 16:56:18 +01:00
CenTdemeern1
7888d20c35 Use module scss like everywhere else 2024-12-08 16:04:47 +01:00
CenTdemeern1
3e16028411 Add download attribute 2024-12-08 15:57:22 +01:00
CenTdemeern1
5bb9b63f62 Remove reactive computed values 2024-12-08 15:56:44 +01:00
Hazelnoot
8b091f77ca check for invalid rate limit inputs 2024-12-08 09:46:49 -05:00
Hazelnoot
a7a1edc92e fix NaN from extremely high rate limits 2024-12-08 09:22:38 -05:00
CenTdemeern1
c472794959 Move strings to sharkey-locales 2024-12-08 15:05:43 +01:00
CenTdemeern1
57a62832e5 Update Mi contributor list 2024-12-08 14:59:25 +01:00
CenTdemeern1
8a6970255d Make everyone's pfp sizes consistent 2024-12-08 14:53:38 +01:00
CenTdemeern1
8e505336ae Update Hazel's information 2024-12-08 14:46:25 +01:00
CenTdemeern1
88125b887f Shuffle Sharkey contributors using Fisher-Yates 2024-12-08 14:43:28 +01:00
Hazelnoot
2781f53d6b support fractional rate limit scaling 2024-12-08 08:32:05 -05:00
Hazelnoot
3864d1dacf Merge branch 'develop' into feature/2024.10
# Conflicts:
#	packages/frontend/src/pages/admin/index.vue
2024-12-08 08:07:55 -05:00
Hazelnoot
ffbdfa9123 Synchronize server startup
This prevents an edge case where the server begins processing inbound API / AP requests before any of the chart / management daemons are ready, potentially leading to incorrect chart statistics.
2024-12-08 08:01:33 -05:00
Hazelnoot
afb026ebea fix import order in SigninWithPasskeyApiService 2024-12-08 07:49:06 -05:00
Hazelnoot
fc5399a67d revert un-needed changes to RateLimiterService 2024-12-08 07:47:52 -05:00
CenTdemeern1
d19b125618 Data driven about page sections 2024-12-07 19:47:32 +01:00
Hazelnoot
f6b256620b separate SkRateLimiterService from RateLimiterService and update all usages 2024-12-07 13:13:19 -05:00
Hazelnoot
29c3beaa62 respect rate limit factor in FileServerService 2024-12-07 12:18:42 -05:00
Hazelnoot
32635ecc25 fix rate limit storage in redis 2024-12-07 12:15:38 -05:00
Hazelnoot
8239ce4282 fix incorrect X-RateLimit-Remaining header 2024-12-07 12:14:42 -05:00
Hazelnoot
7698db88e5 fix DI in SkRateLimiterService 2024-12-07 12:14:25 -05:00
Hazelnoot
ffc2737478 implement SkRateLimiterService with Leaky Bucket rate limiting 2024-12-07 10:22:49 -05:00
Hazelnoot
f59af78d8a merge: Fix Content-Length resetting for partial content length requests (!796)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/796

Closes #824

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2024-12-07 13:40:32 +00:00
zima
9a0d37ebad Merge pull request 'Update stable with new changes' (#24) from dev into stable
Reviewed-on: https://codeberg.org/yeentown/barkey/pulls/24
2024-12-06 19:15:16 +00:00
zima
597a1bd47a Merge pull request 'fix federation hosts incorrectly being set to blocked hosts' (#23) from 21-fix-federation-whitelist into dev
Reviewed-on: https://codeberg.org/yeentown/barkey/pulls/23
Reviewed-by: fangmarks <fangmarks@noreply.codeberg.org>
2024-12-06 19:12:35 +00:00
zima
b02a670142 fix federation hosts incorrectly being set to blocked hosts 2024-12-06 12:10:41 -07:00
dakkar
a62bdb6593 merge: Fix MK_NO_DAEMONS flag (!786)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/786

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2024-12-06 16:00:33 +00:00
Hazelnoot
57deef320e restore functionality of MK_NO_DAEMONS option 2024-12-06 10:48:41 -05:00
Marie
ba827f95df merge: Fix link to point to the correct path (!797)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/797

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2024-12-06 14:51:07 +00:00
Marie
570d19b738 chore: fix link to point to the proper location 2024-12-06 11:57:51 +00:00
dakkar
74b9351572 Merge branch 'develop' into feature/2024.10 2024-12-05 09:17:55 +00:00
dakkar
ab9969283b merge: maybe laxer match on authority - fixes #815 (!773)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/773

Closes #815

Approved-by: Amber Null <puppygirlhornyposting@gmail.com>
Approved-by: Marie <github@yuugi.dev>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2024-12-05 09:12:05 +00:00
Ada
6a4ed3a3ea
Fix Content-Length resetting for partial content length requests 2024-12-04 19:59:30 +00:00
zima
b2833c499c Merge pull request 'update to 2024.9.4' (#19) from upstream-2024.9.4 into dev
Reviewed-on: https://codeberg.org/yeentown/barkey/pulls/19
2024-12-03 22:22:19 +00:00
Marie
7dc90e078e merge: Interpret Dislike activities as Undo(Like) (resolves #800) (!731)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/731

Closes #800

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-12-01 09:38:22 +00:00
Marie
69ffa0e520 merge: Add option filePermissionBits to override permissions on locally-stored files (!791)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/791

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-12-01 09:14:37 +00:00
Marie
b48ae3e9fa merge: Make the MR/issue templates look a bit nicer (!793)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/793

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-12-01 09:11:08 +00:00
CenTdemeern1
b4b72ab2df Opinionated changes to merge/issue templates
In hopes of making them look a bit nicer by default.
2024-11-30 11:46:38 +01:00
syuilo
dac3b1f405 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-11-30 13:20:51 +09:00
syuilo
fa271cf84e Update about-misskey.vue 2024-11-30 13:20:49 +09:00
zima
bf575b048b Merge tag '2024.9.4' into upstream-2024.9.4 2024-11-29 11:45:35 -07:00
Hazelnoot
3d3cf5bd7a add option filePermissionBits to override permissions on locally-stored files
This is useful for custom deployments, such as using a reverse proxy to serve static files directly
2024-11-29 13:00:51 -05:00
Hazelnoot
e6e48fb6bc interpret Dislike activities as Undo(Like) 2024-11-29 12:43:04 -05:00
dakkar
495a19540b merge: improve block confirmation dialog. (!790)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/790

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Tess K <me@thvxl.se>
2024-11-29 16:23:22 +00:00
dakkar
2cf883a1c0 fix typo after merge from develop 2024-11-29 14:22:03 +00:00
dakkar
66dd12fb8a Merge branch 'develop' into feature/2024.10 2024-11-29 11:42:47 +00:00
dakkar
51afbbaf72 handle .masto.host specially 2024-11-29 11:39:18 +00:00
dakkar
f0139ae1e0 actually use the correct import syntax
CenTdemeern1 had told me, but I got it wrong ☹
2024-11-29 11:39:18 +00:00
dakkar
97d17c537b spaces / lint 2024-11-29 11:39:18 +00:00
dakkar
82376f312d use "userland" punycode, plus tests
thanks to CenTdemeern1 for the `import` incantation
2024-11-29 11:39:18 +00:00
dakkar
fd2af6dfe6 silence linter?
it started complaining about that `true &&` all of a sudden
2024-11-29 11:39:18 +00:00
dakkar
387dc4bb4b UNTESTED maybe laxer match on authority - fixes #815 2024-11-29 11:39:17 +00:00
Hazelnoot
536060e63c merge: Clear jobs from blocked domains (resolves #773) (!720)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/720

Closes #773

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-11-29 10:29:27 +00:00
Hazelnoot
0efd5eff2b remove unused import from InternalStorageService 2024-11-28 19:17:34 -05:00
piuvas
51bc393d58
remove title and change dialog icon 2024-11-28 19:12:07 -03:00
piuvas
385846d43d
make block confirm dialog localizable. 2024-11-28 18:47:20 -03:00
dakkar
aa220a0411 merge: Fix Megalodon unit tests on Windows (!787)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/787

Approved-by: Marie <github@yuugi.dev>
Approved-by: dakkar <dakkar@thenautilus.net>
2024-11-28 11:18:39 +00:00
dakkar
eb25238a8e Merge branch 'develop' into feature/2024.10 2024-11-28 11:17:27 +00:00
Julia
52976588a7 merge: Bump develop version (!789)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/789
2024-11-28 06:15:32 +00:00
Julia Johannesen
22bb09c6ed
Bump develop version 2024-11-28 01:09:05 -05:00
Julia
150d949a3e merge: fixes for 2024.9.4 (if we want to) (!770)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/770

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Julia <julia@insertdomain.name>
2024-11-28 05:23:38 +00:00
Hazelnoot
9f640beecc fix megalodon unit tests 2024-11-27 22:52:53 -05:00
Marie
7aba846446 merge: silence linter (!785)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/785

Approved-by: Marie <github@yuugi.dev>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2024-11-28 03:31:40 +00:00
dakkar
9309872cff simpler check for "property present" 2024-11-27 21:25:54 +00:00
dakkar
3ea85b14a3 silence linter
those objects always have the normal prototype, and can't have
`hasOwnProperty` redefined, let me call it normally

(otherwise I'd have to write
`Object.prototype.hasOwnProperty.call(newUser, field)` and that's
ugly)
2024-11-27 21:01:12 +00:00
dakkar
3164e7b4fc merge: only "publish to followers" when things really change - fixes #733 (!781)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/781

Closes #733

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2024-11-27 20:41:37 +00:00
dakkar
3a020d53d1 merge: better poll editing - fixes #668 (!783)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/783

Closes #668

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2024-11-27 20:41:19 +00:00
Marie
b6db4ef88c merge: fix lint error in secure-rndstr.ts (!784)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/784

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2024-11-27 20:40:11 +00:00
Marie
92db359654 lint 2024-11-27 19:26:56 +00:00
Marie
531a003a2a merge: embed video thumbnail (!782)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/782

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2024-11-27 19:20:54 +00:00
Marie
436e93540a merge: use a better random integer generator - fixes #810 (!779)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/779

Closes #810

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2024-11-27 19:19:34 +00:00
Marie
cd10e98937 merge: added mutual and following to user popup (!777)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/777

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2024-11-27 17:59:39 +00:00
Hazelnoot
ebb6ac195f merge: Allow anonymous activities (resolves #819) (!776)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/776

Closes #819

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-11-27 17:32:33 +00:00
Hazelnoot
b7e6e13b8d merge: Show pinned notes by default on user profiles (!772)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/772

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-11-27 17:08:56 +00:00
Marie
16909ed6bd merge: fix XRD+XML serialisation of Alias (!780)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/780

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2024-11-27 16:45:46 +00:00
dakkar
1f53eb2ed1 better poll editing - fixes #668
* editing _just the poll_ is now recognised as an actual change to the
  note
* the "poll ended" notification job is now replaced (with potentially
  the new expiry time)
2024-11-27 11:57:19 +00:00
dakkar
1626e50fbf expose video thumbnail to 3rd parties "cards" 2024-11-27 11:23:32 +00:00
dakkar
fc277839b6 only "publish to followers" when things really change - fixes #733 2024-11-27 10:36:19 +00:00
dakkar
57b31366e5 fix XRD+XML serialisation of Alias 2024-11-27 10:06:21 +00:00
dakkar
2e3eaaddcc use a better random integer generator - fixes #810 2024-11-27 09:33:20 +00:00
dakkar
1ec5e846c5 merge: Add aliases to webfinger request. (!778)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/778

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2024-11-27 09:29:33 +00:00
piuvas
f1168f0165
add profile link to aliases 2024-11-26 20:31:20 -03:00
amy
4f1694cd99
added mutual and following to user popup 2024-11-26 22:57:28 +03:30
Hazelnoot
1e99782666 allow anonymous activities (resolves #819) 2024-11-26 09:05:04 -05:00
Hazelnoot
face6527f2 remove duplicate check for note.url 2024-11-26 08:59:08 -05:00
Hazelnoot
43d87270d9 improve AP error formtting 2024-11-26 08:59:08 -05:00
Hazelnoot
3e72d99cf9 fix build errors in ApNoteService.ts 2024-11-26 08:59:08 -05:00
Hazelnoot
6f8736c1af improve comment on getNullableApId 2024-11-26 08:59:08 -05:00
Hazelnoot
baf19420dd log details when a quote fails to resolve 2024-11-26 08:59:08 -05:00
Hazelnoot
b951b31ef5 use IdentifiableError in ApImageService.createImage 2024-11-26 08:59:08 -05:00
Hazelnoot
4ec6bffca7 don't suppress errors when Update(Question) or Update(Note) fails 2024-11-26 08:59:08 -05:00
Hazelnoot
c5f572dcfd clarify logging when a Move (migration) is rejected 2024-11-26 08:59:08 -05:00
Hazelnoot
f4ec837d6e clarify "unknown activity type" logging in ApInboxService.undo 2024-11-26 08:59:08 -05:00
Hazelnoot
f115116454 skip Delete(Note) activities when the note is already deleted 2024-11-26 08:59:08 -05:00
Hazelnoot
9eb98ae8a5 clarify logging for Create/Update type checks 2024-11-26 08:59:08 -05:00
Hazelnoot
3f5ea11a1f clarify logging when an inbox job is skipped or fails 2024-11-26 08:59:08 -05:00
Hazelnoot
4708c0abef don't retry jobs when processing returns a non-retryable error 2024-11-26 08:59:08 -05:00
Hazelnoot
b9fd7e1b77 clarify "failed to resolve quote" message 2024-11-26 08:59:08 -05:00
Hazelnoot
2afbd251e1 avoid potential crash if Question activity is corrupt 2024-11-26 08:59:08 -05:00
Hazelnoot
ab97b91606 improve AP job clearing and failure logging 2024-11-26 08:59:06 -05:00
Hazelnoot
e38e408b97 merge: Normalize AP IDs during verification (resolves #818) (!774)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/774

Closes #818

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-11-26 03:15:53 +00:00
github-actions[bot]
8076f78d06 Bump version to 2024.11.1-alpha.0 2024-11-25 22:18:00 +00:00
Hazelnoot
0de009f946 merge: Add shared (cross-resource) rate limit for proxy (!775)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/775

Approved-by: dakkar <dakkar@thenautilus.net>
2024-11-25 19:35:48 +00:00
Hazelnoot
a47590e64c add shared (cross-resource) rate limit for proxy 2024-11-25 13:03:51 -05:00
anatawa12
dd56623cde
fix: unable to upload to local object storage (#15040) 2024-11-24 20:44:59 +09:00
かっこかり
a0e91b5882
fix(backend): 起動前の疎通チェックが機能しなくなっていた問題を修正 (#15043)
* check harder for connectibility

`allSettled` does not throw if a promise is rejected, so
`check_connect` never actually failed

* Update Changelog

---------

Co-authored-by: dakkar <dakkar@thenautilus.net>
2024-11-24 20:43:47 +09:00
かっこかり
eddf6a2319
fix(frontend): サーバードキュメントとMisskey関連リソースとの間にdividerが入らないことがある問題を修正 (#15044)
* fix(frontend): サーバードキュメントとMisskey関連リソースとの間にdividerが入らないことがある問題を修正

* Update Changelog
2024-11-24 15:23:21 +09:00
かっこかり
d176db517f
fix(backend/misskey-js): タイポ修正 (#15046) 2024-11-24 15:23:07 +09:00
Hazelnoot
1fb1875ac3 normalize AP IDs during verification 2024-11-23 20:23:05 -05:00
dakkar
c4334bff81 honour blocks and "signing required" for note versions 2024-11-23 12:37:15 +00:00
dakkar
a019f9766a fix typo 2024-11-23 12:18:49 +00:00
dakkar
ea0a1bae39 fix var references in built-in themes 2024-11-23 12:11:13 +00:00
dakkar
f9912e4ae5 allow overriding setupPassword via env
not sure how useful this is, but let's keep complete coverage
2024-11-23 11:03:48 +00:00
dakkar
910d166e1c more linting instructions 2024-11-23 10:57:58 +00:00
dakkar
6c13dc04f2 Merge branch 'develop' into feature/2024.10 2024-11-23 10:41:33 +00:00
anatawa12
ae1d0b08eb
ci: do not run chromatic on fork repositories (#15041) 2024-11-23 17:42:55 +09:00
おさむのひと
a77ad7a16b
fix(backend): アドレス入力で直接ユーザのプロフィールページを表示した際、前提データが足りず描画に失敗する (#15033)
* fix(backend): アドレス入力で直接ユーザのプロフィールページを表示した際、前提データが足りず描画に失敗する

* fix CHANGELOG.md
2024-11-23 16:45:05 +09:00
かっこかり
00301ed04f
Update CHANGELOG.md (書き方を揃える) 2024-11-23 16:05:10 +09:00
かっこかり
d91a1be562
fix(frontend): 画面サイズが変わった際にnavbarが自動で折りたたまれない問題を修正 (#15042)
* fix(frontend): 画面サイズが変わった際にnavbarが自動で折りたたまれない問題を修正

* Update Changelog

* fix
2024-11-23 15:35:06 +09:00
Hazelnoot
b477de1d98 show pinned notes by default on user profiles 2024-11-22 20:49:16 -05:00
Hazelnoot
b0420c948c merge: Move cypress to optionalDependencies (!697)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/697

Closes #761

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2024-11-23 01:19:14 +00:00
dakkar
b4a278ae54 merge: Comply with type for Packed<'Note'> (fixes aria client compatibility) (!771)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/771

Approved-by: dakkar <dakkar@thenautilus.net>
2024-11-22 23:57:22 +00:00
dakkar
a51fef29c0 remove minInterval from FileServerService
when showing a reply, browser will request the replied-to avatar twice
at the same time, and get confused if one of the requests is refused

something similar seems to happen with videos and their previews
2024-11-22 23:25:07 +00:00
dakkar
8e07eb7f44 remove duplicate limit
the `users/lists/push` endpoint already has a limit, of 30/hour
2024-11-22 23:14:37 +00:00
dakkar
caaa78d98d merge: Add default rate limit (!768)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/768

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Tess K <me@thvxl.se>
Approved-by: Marie <github@yuugi.dev>
2024-11-22 23:03:34 +00:00
dakkar
0ea0466313 merge: Filter Add / Remove activities with non-Note payloads (resolves #750) (!693)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/693

Closes #750

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-11-22 23:03:12 +00:00
dakkar
3ae9f4e8e6 merge: Accept Like(Note) and Update(Note) activities where the Note isn't already cached (resolves #795 and #748) (!729)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/729

Closes #795 and #748

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-11-22 23:02:39 +00:00
dakkar
59afb56b5b merge: Support following feed in Deck UI (resolves #789) (!724)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/724

Closes #789

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-11-22 23:02:31 +00:00
dakkar
a596718bbf merge: Add rate limits to all public endpoints (!767)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/767

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Tess K <me@thvxl.se>
2024-11-22 23:01:10 +00:00
dakkar
ab992422a8 bump version 2024-11-22 22:59:13 +00:00
Hazelnoot
3faad0a5e5 merge: Fix typo "to many requests" (!769)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/769

Approved-by: Tess K <me@thvxl.se>
Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-11-22 21:33:03 +00:00
tess
ebdfb2feb7 Comply with type for Packed<'Note'> 2024-11-22 21:57:04 +01:00
Hazelnoot
dbab122a99 fix typo "to many requests" 2024-11-22 15:26:55 -05:00
Hazelnoot
e3b826db5a add rate limits to all public endpoints 2024-11-22 15:19:24 -05:00
syuilo
04b221409c fix(backend): use atomic command to improve security 2024-11-23 04:44:33 +09:00
Hazelnoot
7e3f519a5b merge: Fix note hiding when renote and target have different visibility settings (resolves #803) (!741)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/741

Closes #803

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-11-22 19:35:19 +00:00
Hazelnoot
6b54405003 add default / fallback rate limit 2024-11-22 13:53:41 -05:00
Hazelnoot
e32fb4e86d remove unused import from ApInboxService.ts (introduced by merge error) 2024-11-22 09:22:26 -05:00
Hazelnoot
2b9c3f0d5c log type of unsupported featured object 2024-11-22 09:20:49 -05:00
Hazelnoot
ae7b90de6c allow any valid post to be featured, not just Note 2024-11-22 09:20:46 -05:00
Hazelnoot
d74cf9e4ff filter Add / Remove activities with non-Note payloads 2024-11-22 09:20:11 -05:00
Hazelnoot
9d5bc6cb28 pass resolver when creating notes via side-effect 2024-11-22 09:16:52 -05:00
Hazelnoot
9d3321fca4 allow Update(Note) and Update(Poll) to implicitly create missing notes 2024-11-22 09:16:48 -05:00
Hazelnoot
2bbccde2ce reduce inbox log spam when fetching blocked / unavailable notes 2024-11-22 09:16:03 -05:00
Hazelnoot
47eb0daebb fetch target note of Like(Note) activities 2024-11-22 09:16:03 -05:00
dakkar
512ede23e3 fix some lints for frontend 2024-11-22 13:26:40 +00:00
dakkar
56563d8dc4 fix lints 2024-11-22 13:11:16 +00:00
dakkar
d70024b4b9 replace more icons 2024-11-22 13:01:25 +00:00
dakkar
d6e018128d regenerate misskey-js 2024-11-22 12:54:35 +00:00
dakkar
efeb5ba08b remove duplicate import 2024-11-22 12:54:32 +00:00
dakkar
3306fcaa7d re-generate locale index.d.ts 2024-11-22 12:46:53 +00:00
dakkar
aea1f98a9d fix typo 2024-11-22 12:44:41 +00:00
dakkar
78cfcf023a copy from MkNoteDetailed to SkNoteDetailed 2024-11-22 12:43:31 +00:00
dakkar
73daf118f3 copy from MkNote to SkNote 2024-11-22 12:39:16 +00:00
dakkar
f23c95ad03 fix typo 2024-11-22 12:39:11 +00:00
dakkar
9dbed8fb3e maybe improve note validation on update? 2024-11-22 12:31:14 +00:00
dakkar
bc816cb166 Merge tag '2024.11.0' into feature/2024.10 2024-11-22 12:29:04 +00:00
かっこかり
0e90589290
Update CHANGELOG.md (typo) 2024-11-22 21:19:12 +09:00
dakkar
585052646a better wording for moderator inactivity messages 2024-11-22 10:49:16 +00:00
dakkar
d069d78c21 Merge branch 'develop' into feature/2024.10 2024-11-22 10:42:58 +00:00
dakkar
fd47bf3483 merge: Fix: Center SkModPlayer on big displays (!734)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/734

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
Approved-by: Tess K <me@thvxl.se>
2024-11-22 10:41:08 +00:00
dakkar
9bf18546fc merge: keep popup elements on screen (!744)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/744

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2024-11-22 10:40:55 +00:00
Hazelnoot
fadcabeaa6 merge: Don't preview URLs to blocked hosts (!751)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/751

Approved-by: Tess K <me@thvxl.se>
Approved-by: dakkar <dakkar@thenautilus.net>
2024-11-22 10:37:29 +00:00
Hazelnoot
2ac36e4a5c merge: Fix federation error "The note creation failed with duplication error even when there is no duplication" (resolves #749) (!745)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/745

Closes #749

Approved-by: Tess K <me@thvxl.se>
Approved-by: dakkar <dakkar@thenautilus.net>
2024-11-22 10:37:11 +00:00
Hazelnoot
4b5a400264 merge: Allow Update activities for non-note posts (resolves #794) (!728)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/728

Closes #794

Approved-by: Tess K <me@thvxl.se>
Approved-by: dakkar <dakkar@thenautilus.net>
2024-11-22 10:35:21 +00:00
github-actions[bot]
872cefcfb8 [skip ci] Update CHANGELOG.md (prepend template) 2024-11-22 09:15:37 +00:00
github-actions[bot]
551040ed0f Release: 2024.11.0 2024-11-22 09:15:09 +00:00
syuilo
71bfa85986
New Crowdin updates (#15027)
* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)
2024-11-22 18:01:56 +09:00
かっこかり
f25fc5215b
fix(backend): Inboxのエラーをthrowせずreturnしている問題を修正 (#15022)
* fix exception handling for Like activities

(cherry picked from commit 8f42e8434e)

* fix exception handling for Announce activities

(cherry picked from commit cfc3ab4b04)

* fix exception handling for Undo activities

* Update Changelog

---------

Co-authored-by: Hazelnoot <acomputerdog@gmail.com>
2024-11-22 12:14:41 +09:00
anatawa12
1911972ae2
ci: reset prerelease number on release (#15024) 2024-11-22 12:11:45 +09:00
Hazelnoot
5b72c08a68 merge: Fix type confusion with exceptions in AP handling (resolves #796) (!730)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/730

Closes #796

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Tess K <me@thvxl.se>
2024-11-21 16:44:54 +00:00
Hazelnoot
9f3b97effb merge: Reduce log spam from ApPersonService.updateFeatured (!747)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/747

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Tess K <me@thvxl.se>
2024-11-21 16:35:18 +00:00
Hazelnoot
34a5dbe21b merge: Reduce log spam from charts (!748)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/748

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Tess K <me@thvxl.se>
2024-11-21 16:32:32 +00:00
github-actions[bot]
752606fe88 Bump version to 2024.11.0-beta.4 2024-11-21 08:21:54 +00:00
かっこかり
7f0ae038d4
Update CHANGELOG.md 2024-11-21 17:16:06 +09:00
syuilo
9871035597
Update CHANGELOG.md 2024-11-21 15:41:01 +09:00
github-actions[bot]
a21a2c52d7 Bump version to 2024.11.0-alpha.3 2024-11-21 06:27:16 +00:00
かっこかり
c1f19fad1e
fix(backend): fix apResolver (#15010)
* fix(backend): fix apResolver

* fix

* add comments

* tweak comment
2024-11-21 14:36:24 +09:00
zima
5181836dc3 Merge pull request 'update-to-2024.9.3' (#16) from update-to-2024.9.3 into dev
Reviewed-on: https://codeberg.org/yeentown/barkey/pulls/16
2024-11-21 05:32:22 +00:00
Hazelnoot
241b186a8a merge: Prevent "mark instance as NSFW" from producing hellspawns (!749)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/749

Approved-by: Tess K <me@thvxl.se>
Approved-by: dakkar <dakkar@thenautilus.net>
2024-11-21 05:26:41 +00:00
Hazelnoot
a150bc53ab merge: Respect pinned note limit for remote users (resolves #780) (!750)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/750

Closes #780

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Tess K <me@thvxl.se>
2024-11-21 05:26:10 +00:00
zima
4098a0ced6 Merge tag '2024.9.3' into update-to-2024.9.3 2024-11-20 21:52:15 -07:00
Hazelnoot
4b503f88e1 normalize naming of isPackedPureRenote and PackedPureRenote 2024-11-20 22:27:52 -05:00
Hazelnoot
faf1b3559a fix note hiding when renote and target have different visibility settings 2024-11-20 22:27:50 -05:00
Hazelnoot
2fb2e52312 add isPureRenotePacked 2024-11-20 22:27:43 -05:00
Hazelnoot
2a4c432f41 don't generate URL previews for blocked domains 2024-11-20 22:25:49 -05:00
Hazelnoot
4c6cec552e verify that preview URL is valid 2024-11-20 22:25:49 -05:00
Hazelnoot
c48faca707 fix lint errors in UrlPreviewService 2024-11-20 22:25:49 -05:00
Hazelnoot
c9afaba0d4 adjust translation string "Select a follow relationship..." 2024-11-20 22:22:30 -05:00
Hazelnoot
5b48032681 restore animation and styling in following-feed 2024-11-20 22:22:30 -05:00
Hazelnoot
83472dbd82 add following feed to the deck UI 2024-11-20 22:22:30 -05:00
Hazelnoot
2b0a622875 separate following feed's menu component from the actual filter options 2024-11-20 22:22:30 -05:00
Hazelnoot
4a43e1a9e9 factor out remote followers warning in SkRemoteFollowersWarning.vue 2024-11-20 22:22:30 -05:00
Hazelnoot
1ca350e45d define defult Following Feed state in following-feed-utils.ts instead of store.ts 2024-11-20 22:22:30 -05:00
Hazelnoot
38e30c0d54 allow following-feed-utils to use alternate state backends 2024-11-20 22:22:30 -05:00
Hazelnoot
38787712d9 add responsive padding to recent-notes.vue 2024-11-20 22:22:29 -05:00
Hazelnoot
0515fed92d remove unused ref from recent-notes.vue 2024-11-20 22:22:29 -05:00
Hazelnoot
1d16656b39 add <Suspense> to enable async components and dynamic imports under the deck UI 2024-11-20 22:22:29 -05:00
Hazelnoot
ed6c781426 fix responsive breakpoint in SkUserRecentNotes 2024-11-20 22:22:29 -05:00
Hazelnoot
8cbc0761db add functions to access deck column state 2024-11-20 22:22:29 -05:00
Hazelnoot
455ccc660e allow deck column updates to be awaited 2024-11-20 22:22:29 -05:00
Hazelnoot
a40b77a66b prevent the following feed from auto-selecting a user under the mobile UI 2024-11-20 22:22:29 -05:00
Hazelnoot
194bc20af1 fix type of deepMerge 2024-11-20 22:22:29 -05:00
Hazelnoot
ca94959fff factor out Following Feed list into SkFollowingRecentNotes.vue 2024-11-20 22:22:29 -05:00
かっこかり
3a6c2aa835
fix(backend): fix type error(s) in security fixes (#15009)
* Fix type error in security fixes

(cherry picked from commit fa3cf6c299)

* Fix error in test function calls

(cherry picked from commit 1758f29364)

* Fix style error

(cherry picked from commit 23c4aa2571)

* Fix another style error

(cherry picked from commit 36af07abe2)

* Fix `.punyHost` misuse

(cherry picked from commit 6027b516e1)

* attempt to fix test: make yaml valid

---------

Co-authored-by: Julia Johannesen <julia@insertdomain.name>
2024-11-21 12:10:02 +09:00
Hazelnoot
bcc20d6dc4 allow Update activities for non-note posts 2024-11-20 22:08:20 -05:00
Hazelnoot
0de7a084a9 fix exception handling for Undo activities 2024-11-20 22:05:10 -05:00
Hazelnoot
cfc3ab4b04 fix exception handling for Announce activities 2024-11-20 22:05:10 -05:00
Hazelnoot
8f42e8434e fix exception handling for Like activities 2024-11-20 22:05:10 -05:00
Hazelnoot
dff465000c fix import-order in ApInboxService 2024-11-20 22:05:10 -05:00
Hazelnoot
0f6d26e065 reduce log spam from charts 2024-11-20 22:03:32 -05:00
Hazelnoot
cc394d9a4b quote all symbols in hellspawn upgrade script 2024-11-20 22:03:17 -05:00
Hazelnoot
c9934c379f remove duplicate isPureRenote method 2024-11-20 22:03:17 -05:00
Hazelnoot
eb1e326813 add script to fix hellspawns 2024-11-20 22:03:17 -05:00
Hazelnoot
a62e4f1cf2 ignore isNSFW for pure renotes 2024-11-20 22:03:17 -05:00
Hazelnoot
dcd5b6d972 replace console.error with this.logger.error (merge error) 2024-11-20 22:02:59 -05:00
Hazelnoot
fedf0d7e20 further reduce log spam from updateFeatured errors 2024-11-20 22:02:59 -05:00
Hazelnoot
984cfe358d reduce log spam from updateFeatured 2024-11-20 22:02:59 -05:00
Hazelnoot
aabb1945e8 respect pinned note limit for remote users 2024-11-20 22:02:47 -05:00
Hazelnoot
4e0f7ced84 preserve the raw URI in parseUri 2024-11-20 22:02:31 -05:00
Julia
41536480ce merge: Bump develop version (!766)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/766
2024-11-21 02:58:28 +00:00
Julia Johannesen
59e160147f
Bump develop version 2024-11-20 21:32:12 -05:00
Julia
a38d8a91a1 merge: Fix .punyHost misuse (!765)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/765
2024-11-21 02:26:43 +00:00
Julia Johannesen
6027b516e1
Fix .punyHost misuse 2024-11-20 21:24:35 -05:00
Julia
757d9aa5ee merge: Fix type error(s) in security fixes (!764)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/764

Approved-by: Hazelnoot <acomputerdog@gmail.com>
2024-11-21 01:44:15 +00:00
Julia Johannesen
36af07abe2
Fix another style error 2024-11-20 20:31:22 -05:00
かっこかり
53e827b18c
fix(backend): fix security patches (#15008) 2024-11-21 10:30:30 +09:00
Julia Johannesen
23c4aa2571
Fix style error 2024-11-20 20:24:59 -05:00
Julia Johannesen
1758f29364
Fix error in test function calls 2024-11-20 20:16:43 -05:00
Julia Johannesen
fa3cf6c299
Fix type error in security fixes 2024-11-20 20:06:46 -05:00
Julia
4b556efdaa merge: (re-merge) Prevent DoS from spammed media proxy requests (!763)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/763
2024-11-21 00:40:52 +00:00
Hazelnoot
b0834ebf55 prevent DoS from spammed media proxy requests 2024-11-20 19:37:38 -05:00
syuilo
0f59adc436 fix ap/show 2024-11-21 09:25:18 +09:00
Julia
2234fbcb11 merge: Bump version (!762)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/762
2024-11-21 00:23:26 +00:00
syuilo
9fdabe3666 fix(backend): use atomic command to improve security
Co-Authored-By: Acid Chicken <root@acid-chicken.com>
2024-11-21 09:22:15 +09:00
Julia Johannesen
8e90484b3e
Bump version 2024-11-20 19:21:57 -05:00
Julia
0fcb23c4c1 merge: Coordinated Security Release (!761)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/761
2024-11-21 00:20:48 +00:00
rectcoordsystem
776f6fd1f5
fix(backend): allow fetchSummaryFromProxy, trueMail to access local addresses 2024-11-20 19:17:25 -05:00
rectcoordsystem
7b3e3f8e25
fix(backend): add isLocalAddressAllowed option to getAgentByUrl and send (HttpRequestService) 2024-11-20 19:17:25 -05:00
rectcoordsystem
360d71278a
fix(backend): lint and typecheck 2024-11-20 19:17:25 -05:00
rectcoordsystem
663c06be00
Apply suggestions from code review
Co-authored-by: anatawa12 <anatawa12@icloud.com>
2024-11-20 19:17:25 -05:00
rectcoordsystem
7ccccf5545
fix(backend): allow accessing private IP when testing 2024-11-20 19:17:25 -05:00
rectcoordsystem
f36f4b5398
fix(backend): check target IP before sending HTTP request 2024-11-20 19:17:25 -05:00
Julia Johannesen
cc4e99fdde
fix: Try using CacheService to avoid excess db lookups
This isn't perfect, theoretically if some massive number of users
blocked the user making this request the set lookup could take a long
amount of time, but eh, it works, and that scenario is highly unlikely.
2024-11-20 19:17:25 -05:00
Julia Johannesen
5764fa55cb
fix: primitives 25-33: proper local instance checks 2024-11-20 19:17:25 -05:00
Julia Johannesen
74565f67f7
fix: primitives 21, 22, and 23: reuse resolver
This also increases the default `recursionLimit` for `Resolver`, as it
theoretically will go higher that it previously would and could possibly
fail on non-malicious collection activities.
2024-11-20 19:17:25 -05:00
Julia Johannesen
408e782507
fix: primitive 19 & 20: respect blocks and hide more
Ideally, the user property should also be hidden (as leaving it in leaks
information slightly), but given the schema of the note endpoint, I
don't think that would be possible without introducing some kind of
"ghost" user, who is attributed for posts by users who have you blocked.
2024-11-20 19:17:25 -05:00
Julia Johannesen
cbf8cc376e
fix: primitive 18: ap/get bypasses access checks
One might argue that we could make this one actually preform access
checks against the returned activity object, but I feel like that's a
lot more work than just restricting it to administrators, since, to me
at least, it seems more like a debugging tool than anything else.
2024-11-20 19:17:25 -05:00
Julia Johannesen
c04f344049
fix: primitive 13: check attribution against actor in notes 2024-11-20 19:17:25 -05:00
Julia Johannesen
b9080da75d
fix: code style for primitive 17 2024-11-20 19:17:24 -05:00
Laura Hausmann
4d925fc086
fix: primitive 17: note same-origin identifier validation can be bypassed by wrapping the id in an array 2024-11-20 19:17:24 -05:00
Laura Hausmann
b74e2e9167
fix: primitive 16: improper same-origin validation for user uri and url 2024-11-20 19:17:24 -05:00
Laura Hausmann
ebea1a2962
fix: primitive 15: improper same-origin validation for note uri and url 2024-11-20 19:17:24 -05:00
Julia Johannesen
4c432c07cb
fix: code style for primitive 14 2024-11-20 19:17:24 -05:00
Laura Hausmann
322b3b677f
fix: primitive 14: improper validation of outbox, followers, following & shared inbox collections 2024-11-20 19:17:24 -05:00
Julia Johannesen
1c7e05ce9e
fix: primitive 7 & 12: prevent poll spoofing 2024-11-20 19:17:24 -05:00
Laura Hausmann
9ab25ede28
fix: primitives 9, 10 & 11: http signature validation doesn't enforce required headers or specify auth header name 2024-11-20 19:17:24 -05:00
Laura Hausmann
174dfb83d0
fix: primitive 6: reject anonymous objects that were fetched by their id 2024-11-20 19:17:24 -05:00
Laura Hausmann
ad8e8793c7
fix: primitives 5 & 8: reject activities with non-string identifiers 2024-11-20 19:17:24 -05:00
Laura Hausmann
1e14612f0e
fix: primitive 4: missing same-origin identifier validation of collection-wrapped activities 2024-11-20 19:17:24 -05:00
Laura Hausmann
9090b745e6
fix: primitive 3: validation of non-final url 2024-11-20 19:17:24 -05:00
Laura Hausmann
d883934826
fix: primitive 2: acceptance of cross-origin alternate links 2024-11-20 19:17:23 -05:00
zima
a9a82bed48 Update Sharkey to 2024.9.2
Reviewed-on: https://codeberg.org/yeentown/barkey/pulls/15
2024-11-20 23:39:52 +00:00
zima
3d8c3aa081 Merge 2024.9.2
Reviewed-on: https://codeberg.org/yeentown/barkey/pulls/14
2024-11-20 23:38:42 +00:00
rectcoordsystem
090e9392cd
Merge commit from fork
* fix(backend): check target IP before sending HTTP request

* fix(backend): allow accessing private IP when testing

* Apply suggestions from code review

Co-authored-by: anatawa12 <anatawa12@icloud.com>

* fix(backend): lint and typecheck

* fix(backend): add isLocalAddressAllowed option to getAgentByUrl and send (HttpRequestService)

* fix(backend): allow fetchSummaryFromProxy, trueMail to access local addresses

---------

Co-authored-by: anatawa12 <anatawa12@icloud.com>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-11-21 08:27:09 +09:00
Julia
b9cb949eb1
Merge commit from fork
* Fix poll update spoofing

* fix: Disallow negative poll counts

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-11-21 08:24:50 +09:00
Julia
5f675201f2
Merge commit from fork
* enhance: Add a few validation fixes from Sharkey

See the original MR on the GitLab instance:
https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/484

Co-Authored-By: Dakkar <dakkar@thenautilus.net>

* fix: primitive 2: acceptance of cross-origin alternate

Co-Authored-By: Laura Hausmann <laura@hausmann.dev>

* fix: primitive 3: validation of non-final url

* fix: primitive 4: missing same-origin identifier validation of collection-wrapped activities

* fix: primitives 5 & 8: reject activities with non
string identifiers

Co-Authored-By: Laura Hausmann <laura@hausmann.dev>

* fix: primitive 6: reject anonymous objects that were fetched by their id

* fix: primitives 9, 10 & 11: http signature validation
doesn't enforce required headers or specify auth header name

Co-Authored-By: Laura Hausmann <laura@hausmann.dev>

* fix: primitive 14: improper validation of outbox, followers, following & shared inbox collections

* fix: code style for primitive 14

* fix: primitive 15: improper same-origin validation for
note uri and url

Co-Authored-By: Laura Hausmann <laura@hausmann.dev>

* fix: primitive 16: improper same-origin validation for user uri and url

* fix: primitive 17: note same-origin identifier validation can be bypassed by wrapping the id in an array

* fix: code style for primitive 17

* fix: check attribution against actor in notes

While this isn't strictly required to fix the exploits at hand, this
mirrors the fix in `ApQuestionService` for GHSA-5h8r-gq97-xv69, as a
preemptive countermeasure.

* fix: primitive 18: `ap/get` bypasses access checks

One might argue that we could make this one actually preform access
checks against the returned activity object, but I feel like that's a
lot more work than just restricting it to administrators, since, to me
at least, it seems more like a debugging tool than anything else.

* fix: primitive 19 & 20: respect blocks and hide more

Ideally, the user property should also be hidden (as leaving it in leaks
information slightly), but given the schema of the note endpoint, I
don't think that would be possible without introducing some kind of
"ghost" user, who is attributed for posts by users who have you blocked.

* fix: primitives 21, 22, and 23: reuse resolver

This also increases the default `recursionLimit` for `Resolver`, as it
theoretically will go higher that it previously would and could possibly
fail on non-malicious collection activities.

* fix: primitives 25-33: proper local instance checks

* revert: fix: primitive 19 & 20

This reverts commit 465a9fe6591de90f78bd3d084e3c01e65dc3cf3c.

---------

Co-authored-by: Dakkar <dakkar@thenautilus.net>
Co-authored-by: Laura Hausmann <laura@hausmann.dev>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-11-21 08:20:09 +09:00
syuilo
1c284c8154
New Crowdin updates (#15000)
* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (German)
2024-11-21 08:01:42 +09:00
Sayamame-beans
aa48a0e207
Fix: リノートミュートが新規投稿通知に対して作用していなかった問題を修正 (#15006)
* fix(backend): renoteMute doesn't work for note notification

* docs(changelog): update changelog
2024-11-21 08:00:50 +09:00
syuilo
f0c3a4cc0b
perf(frontend): reduce api requests for non-logged-in enviroment (#15001)
* wip

* Update CHANGELOG.md

* wip
2024-11-21 07:58:34 +09:00
zima
b47ebf162f Merge remote-tracking branch 'origin/update-to-2024.9.2' into update-to-2024.9.2 2024-11-20 15:08:13 -07:00
HellhoundSoftware
8ac6e62184 migration must happen after fixorm 2024-11-20 14:53:42 -07:00
HellhoundSoftware
0670359c4f improve search mfm 2024-11-20 14:53:42 -07:00
HellhoundSoftware
73ae0cf039 non-fucked migration script 2024-11-20 14:53:42 -07:00
HellhoundSoftware
3054cd4936 she migrate on my TypeORM till i (GUNSHOTS) 2024-11-20 14:53:42 -07:00
~keith
783cf3ed4a Change default settings
Someone needs to generate the TypeORM migrations for me because I can't
get the sodding thing to work on my end and it's driving me absolutely
potty.
2024-11-20 14:53:42 -07:00
~keith
bccd6b2dd8 Remove like button 2024-11-20 14:53:42 -07:00
HellhoundSoftware
f9dbe135e9 oops :) 2024-11-20 14:53:42 -07:00
HellhoundSoftware
390d99e531 Fix ORM models to match intended database schema 2024-11-20 14:53:42 -07:00
zima
da42cd8a4d Set NewRodin to swap display 2024-11-20 14:53:42 -07:00
~keith
196cb6bb8b Replaced NewRodin OTF with fixed TTF/WOFF2 version 2024-11-20 14:53:42 -07:00
zima
9e809aa3b6 Add font NewRodin Pro 2024-11-20 14:53:41 -07:00
piuvas
878e2f46fa
unescape MOTD html 2024-11-20 13:42:23 -03:00
鴇峰 朔華
4603ab67bb
feat: 絵文字のポップアップメニューに編集を追加 (#15004)
* Mod: 絵文字のポップアップメニューに編集を追加

* fix: code styleの修正

* fix: code styleの修正

* fix
2024-11-20 20:08:26 +09:00
Julia
e0bb796aff merge: Fix linter error in emojis endpoint (!758)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/758
2024-11-20 06:29:48 +00:00
Julia Johannesen
fb54546573
Fix linter error in emojis endpoint 2024-11-20 01:17:24 -05:00
Julia
9e0b759197 merge: Bump develop version (!757)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/757
2024-11-20 05:56:55 +00:00
Julia Johannesen
41c500851b
Bump develop version 2024-11-20 00:54:30 -05:00
Julia
27339e03c2 merge: Bump version (!756)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/756
2024-11-20 05:22:39 +00:00
Julia Johannesen
680c2a0718
Bump version 2024-11-20 00:09:56 -05:00
Julia
f258888408 merge: Prevent DoS from spammed media proxy requests (!754)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/754

Approved-by: Julia <julia@insertdomain.name>
2024-11-20 04:59:00 +00:00
Hazelnoot
d150e92f41 prevent DoS from spammed media proxy requests 2024-11-19 23:31:59 -05:00
zawa-ch.
763c708253
Fix(backend): アカウント削除のモデレーションログが動作していないのを修正 (#14996) (#14997)
* アカウント削除のモデレーションログが動作していないのを修正

* update CHANGELOG
2024-11-19 21:12:40 +09:00
github-actions[bot]
6c5d3113c6 Bump version to 2024.11.0-alpha.2 2024-11-19 03:56:50 +00:00
syuilo
968f595606
New Crowdin updates (#14965)
* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Lao)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Korean (Gyeongsang))

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)
2024-11-19 12:50:04 +09:00
おさむのひと
7b9c884a5d
refactor(backend): SystemWebhookで送信されるペイロードの型を追加 (#14980) 2024-11-19 10:41:39 +09:00
FineArchs
c271534aba
リノートメニューに「リノートの詳細」を追加 (#14985)
* add renote-detail menu

* changelog

* Apply suggestions from code review

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>

* Update CHANGELOG.md

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2024-11-19 10:34:33 +09:00
饺子w (Yumechi)
e800c0f85a
fix(backend): お知らせ作成時に画像URL入力欄を空欄に変更できないのを修正 (#14990)
* fix(backend): アナウンスメントを作成ときに画像URLを後悔できないのを修正

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* Update CHANGELOG.md

Co-authored-by: おさむのひと <46447427+samunohito@users.noreply.github.com>

---------

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
Co-authored-by: おさむのひと <46447427+samunohito@users.noreply.github.com>
2024-11-19 10:29:42 +09:00
かっこかり
81348f1277
fix(frontend): TypeScriptの型チェック対象ファイルを限定して高速化するように (#14994)
* fix frontend tsconfig includes

* fix frontend-embed tsconfig includes

* fix eslint in frontend / frontend-embed

* Update Changelog

---------

Co-authored-by: Hazelnoot <acomputerdog@gmail.com>
2024-11-19 10:22:47 +09:00
おさむのひと
0df6c79172
enhance(frontend): デッキ表示時にサイドバーを展開・折りたたみできるように (#14983)
* enhance(frontend): デッキ表示時にサイドバーを展開・折りたたみできるように

* wip

* wip

* Update navbar.vue

* ✌️

* Update CHANGELOG.md

* 🎨

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-11-18 10:36:51 +09:00
dakkar
482538c7f8 merge: make emoji categories and names case insensitive. (!746)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/746

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: dakkar <dakkar@thenautilus.net>
2024-11-17 13:22:39 +00:00
syuilo
eed45c7915
Update SECURITY.md 2024-11-17 17:35:27 +09:00
syuilo
42f9586fc6
Update CONTRIBUTING.md 2024-11-17 17:33:50 +09:00
syuilo
032dfc782d
Update CONTRIBUTING.md 2024-11-17 17:33:12 +09:00
syuilo
00b8d0c072
Update CONTRIBUTING.md 2024-11-17 17:32:28 +09:00
syuilo
9aebf0c168
Update CHANGELOG.md 2024-11-17 14:15:38 +09:00
syuilo
a730045bdd
Update CHANGELOG.md 2024-11-17 12:44:44 +09:00
Hazelnoot
d579687156 merge: Dockerfile mkdir files (!740)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/740

Approved-by: Tess K <me@thvxl.se>
Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2024-11-17 00:48:37 +00:00
Hazelnoot
de970ff54e merge: Change example config - db name and user consistent with docs (!739)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/739

Approved-by: Tess K <me@thvxl.se>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2024-11-17 00:41:14 +00:00
Hazelnoot
1bfb0dc395 merge: check harder for connectibility (!737)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/737

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2024-11-17 00:40:52 +00:00
Hazelnoot
da2dfee0a8 merge: Remove check to prevent admin reporting (Fixes #757) (!727)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/727

Closes #757

Approved-by: Julia <julia@insertdomain.name>
Approved-by: Marie <github@yuugi.dev>
Approved-by: Hazelnoot <acomputerdog@gmail.com>
2024-11-17 00:39:08 +00:00
syuilo
9614f74bf8 🎨 2024-11-16 20:24:31 +09:00
CDN
b3c2de2b26
fix(backend): fallback sharedInbox to null in ApPersonService (#14970) 2024-11-16 18:53:28 +09:00
syuilo
cf1b7c7064
add warning for open registration (#14963)
* wip

* wip

* Update ja-JP.yml

* Update index.d.ts

* ✌️
2024-11-16 17:22:34 +09:00
syuilo
2e0f3936a8 Update .gitignore 2024-11-16 15:32:51 +09:00
syuilo
459449864c 🎨 2024-11-16 10:16:11 +09:00
piuvas
eaad96aae3
edit query 2024-11-15 13:40:53 -03:00
syuilo
eef0c895bc use execa 8.0.1
#14966
2024-11-15 19:48:31 +09:00
syuilo
d9d92bcfbf Revert "use nodemon 3.0.2"
This reverts commit ce1f84e5a3.
2024-11-15 19:40:12 +09:00
syuilo
ce1f84e5a3 use nodemon 3.0.2
#14966
2024-11-15 19:33:50 +09:00
github-actions[bot]
cf7df05023 Bump version to 2024.11.0-alpha.1 2024-11-15 09:06:13 +00:00
syuilo
ee2c017f48 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-11-15 18:00:22 +09:00
syuilo
d0cdc0b7a1 chore(frontend): tweak animation style 2024-11-15 18:00:20 +09:00
dependabot[bot]
ac3bf57644
chore(deps): bump codecov/codecov-action from 4 to 5 (#14961)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-15 17:32:28 +09:00
syuilo
e850462b82
New Crowdin updates (#14859)
* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)
2024-11-15 17:31:38 +09:00
かっこかり
c0d1682604
feat: 送信したフォローリクエストを確認できるように (#14856)
* FEAT: Allow users to view pending follow requests they sent

This commit implements the `following/requests/sent` interface firstly
implemented on Firefish, and provides a UI interface to view the pending
follow requests users sent.

* ux: should not show follow requests tab when have no pending sent follow req

* fix default followreq tab

* fix default followreq tab

* restore missing hasPendingReceivedFollowRequest in navbar

* refactor

* use tabler icons

* tweak design

* Revert "ux: should not show follow requests tab when have no pending sent follow req"

This reverts commit e580b92c37f27c2849c6d27e22ca4c47086081bb.

* Update Changelog

* Update Changelog

* change tab titles

---------

Co-authored-by: Lhc_fl <lhcfl@outlook.com>
Co-authored-by: Hazelnoot <acomputerdog@gmail.com>
2024-11-15 17:30:54 +09:00
syuilo
e26e24b610
update deps (#14950)
* update deps

* wip

* Revert "wip"

This reverts commit 393de249fe248ae181221266e0b7828a3ac53152.

* wip

* wip

* wip

* wip
2024-11-15 17:22:00 +09:00
かっこかり
7f8c8f62b1
fix(frontend): スマホで表示した時にipv6だとはみ出てしまうのを修正 (#14960)
* fix(frontend): スマホで表示した時にipv6だとはみ出てしまうのを修正 (MisskeyIO#815)

(cherry picked from commit aec01dd4adda8e975da523c5bea329120e689569)

* Update Changelog

---------

Co-authored-by: sleep-moe <yukikum57@gmail.com>
2024-11-15 09:33:09 +09:00
dakkar
a16d7e1e75 fix SCSS warning 2024-11-14 12:12:25 +00:00
dakkar
fdad036912 Merge branch 'develop' into feature/2024.10 2024-11-13 11:45:10 +00:00
dakkar
0a05841f33 merge: Add "pinned" section to notes tab on user profiles (!689)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/689

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Tess K <me@thvxl.se>
2024-11-13 11:14:59 +00:00
syuilo
4d54101510
update node to 22.11.0 (#14869)
* wip

* Update CHANGELOG.md

* Update CHANGELOG.md
2024-11-13 19:43:36 +09:00
shimmar
2305788ed9
Enhance(frontend): ノート詳細画面にロールのバッジを表示 (#14946)
* enhance(frontend): ノートの詳細画面にロールのバッジを表示(#14058)

* Update CHANGELOG.md
2024-11-13 11:19:54 +09:00
tess
68e5b5a84a Set horizontal margin for even better consistency 2024-11-12 22:09:37 +01:00
tess
6d6b03dfe2 tweak popup left margin for consistency 2024-11-12 21:39:38 +01:00
tess
19be113cb4 Keep MkUserPopup from extending past left side of screen 2024-11-12 21:39:38 +01:00
tess
101ca9e0f7 make sure popup position is never off screen to the left 2024-11-12 21:39:38 +01:00
Luna Nova
906c2863db
fix: move cypress to optionalDependencies in packages/frontent/package.json 2024-11-12 14:33:05 -05:00
饺子w (Yumechi)
a11b77a415
fix(backend): Webhook Test一致性 (#14863)
* fix(backend): Webhook Test一致性

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

* UserWebhookPayload<'followed'> 修正

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>

---------

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
2024-11-12 09:51:18 +09:00
dakkar
917e67d356 merge: Styling of following feed. (!738)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/738

Approved-by: dakkar <dakkar@thenautilus.net>
Approved-by: Marie <github@yuugi.dev>
2024-11-11 11:14:52 +00:00
syuilo
1bc4f400c0 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-11-11 16:35:23 +09:00
syuilo
458c72c153 Update about-misskey.vue 2024-11-11 16:35:13 +09:00
syuilo
6bd3ed2074
Update CHANGELOG.md 2024-11-10 15:10:04 +09:00
かっこかり
31e5f0bd09
fix(frontend): メールアドレス登録有効化時の「完了」ダイアログボックスの表示条件を修正 (#14928)
* fix(frontend): メールアドレス登録有効化時の「完了」ダイアログボックスの表示条件を修正

* Update MkSignupDialog.form.vue

* fix condition
2024-11-10 15:08:58 +09:00
Hazelnoot
cd2e597223 merge: Improve performance of notes/following API (!743)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/743

Approved-by: Hazelnoot <acomputerdog@gmail.com>
Approved-by: Marie <github@yuugi.dev>
2024-11-09 10:54:18 +00:00
かっこかり
e0a83e9c9e
Update CHANGELOG.md (書き方を揃える) 2024-11-09 15:57:10 +09:00
かっこかり
1496700b37
Update CHANGELOG.md
たぶんリリースワークフローはこうしないと認識してくれない
2024-11-09 15:51:49 +09:00
syuilo
00cbf9fe80
Update CONTRIBUTING.md 2024-11-09 14:09:02 +09:00
github-actions[bot]
cf09aa21f0 Bump version to 2024.11.0-alpha.0 2024-11-09 02:28:02 +00:00
github-actions[bot]
9f7d41eb47 Bump version to 2024.10.2-alpha.3 2024-11-09 02:25:42 +00:00
かっこかり
4a62051ce7
fix(backend): ローカルユーザーへのメンションを含むノートが連合される際に正しいURLに変換されないことがある問題を修正 (#14879)
* fix: make sure mentions of local users get rendered correctly during AP delivery (resolves #645)

* Update Changelog

* indent

---------

Co-authored-by: Laura Hausmann <laura@hausmann.dev>
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-11-09 10:58:09 +09:00
かっこかり
3a421837bf
refactor(frontend): 動画UIのフルスクリーン周りの調整 (#14877)
* refactor(frontend): フルスクリーン周りの調整

(cherry picked from commit 783032caec5853d78d5af3391e29cf364f2282e8)

* refactor(frontend): deviceKindの循環参照を除去

(cherry picked from commit 1ca471f57e968a1a6e2259bde4a7c6da1fe0c54e)

* fix

---------

Co-authored-by: taiyme <53635909+taiyme@users.noreply.github.com>
2024-11-09 10:57:04 +09:00
momoirodouhu
a4c5ce1413
enhance(backend) : リモートユーザーの照会をオリジナルにリダイレクトするように (#12892) (#14897)
* enhance(backend) : リモートユーザーの照会をオリジナルにリダイレクトするように (#12892)

* オリジンリダイレクトのテストをtodoとして追加。

e2eテストにリモートユーザー考慮のテストがなさそうなので。

次のコマンドで動くことは確認済みです。
curl "http://localhost:3000/@foo@bar" -H "accept: application/activity+json" -L

* Acctのパースを既存のパーサーでするように修正

* lint
2024-11-09 10:54:44 +09:00
かっこかり
e75b62f3f5
enhance(frontend): 個別お知らせページではmetaタグを出力するように (#14902)
* enhance(frontend): 個別お知らせページではmetaタグを出力するように

* Update Changelog
2024-11-09 10:53:09 +09:00
かっこかり
5b60ae810b
fix(frontend): 外部URLへのリダイレクトのバリデーションを強化 (#14919)
* Fix code scanning alert no. 25: Incomplete URL scheme check (MisskeyIO#799)

* Fix code scanning alert no. 26: Incomplete URL scheme check

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* Fix code scanning alert no. 25: Incomplete URL scheme check

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

---------

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
(cherry picked from commit 7d7552e076c0152a5966e919be0e9a60b3736208)

* ✌️

---------

Co-authored-by: あわわわとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-11-09 10:52:07 +09:00
かっこかり
98b4717c45
fix(backend): SQLのサニタイズを強化 (#14920)
* Fix code scanning alert no. 28: Incomplete string escaping or encoding (MisskeyIO#800)

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
(cherry picked from commit 443335c662b14f609d6a81a8f3807e95709aebc1)

* ✌️

---------

Co-authored-by: あわわわとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-11-09 10:51:28 +09:00
Caramel
03559156b9 Improve performance of notes/following API 2024-11-09 00:32:03 +01:00
dakkar
f17d716d61 fix upstream linting 2024-11-08 17:53:42 +00:00
dakkar
0a15ffba55 remove duplicate import 2024-11-08 17:53:34 +00:00
dakkar
a930fd9758 probably fix most renamed CSS variables 2024-11-08 17:33:04 +00:00
dakkar
544fc3239f probably re-enable friendlycaptcha on signin 2024-11-08 17:09:19 +00:00
dakkar
9980a2b9ff mention more tests 2024-11-08 17:09:03 +00:00
dakkar
41ac75a113 fix uses of renamed method
`FederatedInstanceService.fetch` will now just load from the DB, it
won't do anything if the instance is not already there
2024-11-08 16:45:51 +00:00
dakkar
b47b25871d example test config 2024-11-08 16:32:02 +00:00
dakkar
b4e8e78172 replace new icons 2024-11-08 16:28:37 +00:00
dakkar
d6c6ba5531 regenerate misskey-js 2024-11-08 16:09:25 +00:00
dakkar
ec875d9c40 fix merge mistakes in admin/accounts/create.ts 2024-11-08 16:09:02 +00:00
dakkar
2ca1cbe51b copy changes from MkNote* to SkNote* 2024-11-08 16:04:32 +00:00
dakkar
ffebe778d4 copy changes from NoteCreate to NoteEdit 2024-11-08 15:55:50 +00:00
dakkar
f079edaf3c Merge tag '2024.10.1' into feature/2024.10 2024-11-08 15:52:37 +00:00
syuilo
8a4ce16e90
Update CONTRIBUTING.md 2024-11-08 18:00:55 +09:00
Rachel Y
aebdbf07b4 creat and chown /sharkey/files in dockerfile 2024-11-07 20:09:52 +00:00
Rachel Y
00ab7f5bd1 Update file Dockerfile 2024-11-07 20:09:01 +00:00
4ster1sk
794cb9ffe2
fix(backend): followedMessageではなくdescriptionになっていたのを修正 (#14908) 2024-11-07 17:16:51 +09:00
Maciej
83f780978c Change example config - db name and user consistent with docs 2024-11-07 07:57:35 +00:00
syuilo
0b976064ca
Update CHANGELOG.md 2024-11-07 15:10:38 +09:00
4ster1sk
bca690f256
fix(backend): フォロワーへのメッセージの絵文字をemojisに含めるように (#14904) 2024-11-07 15:10:10 +09:00
Linca
f1eb17f66c
chore: little type trick in pizzax.ts (#14891)
Make `makeGetterSetter` take the correct type associated with getter and setter
2024-11-06 22:01:58 +09:00
かっこかり
b1c82213a3
fix(backend): FTT無効時にユーザーリストタイムラインが使用できない問題を修正 (#14878)
* fix: return getfromdb when FanoutTimeline is not enabled

* Update Changelog

* fix

---------

Co-authored-by: Lhc_fl <lhcfl@outlook.com>
2024-11-06 22:01:21 +09:00
かっこかり
a896c39dbf
fix(frontend): ノート投稿ボタンにホバー時のスタイルが適用されていない (#14887)
* fix(frontend): ノート投稿ボタンにホバー時のスタイルが適用されていない (#305)

(cherry picked from commit 711ab846a967feeddbe0c908bee4b91646cec321)

* Update Changelog

---------

Co-authored-by: taiy <53635909+taiyme@users.noreply.github.com>
2024-11-06 15:15:28 +09:00
piuvas
7f9a151055
give ff entries clickable pointer 2024-11-05 20:27:24 -03:00
piuvas
e0a2e7aedc
animations following feed 2024-11-05 20:22:56 -03:00
dakkar
9fe5dc679a check harder for connectibility
`allSettled` does not throw if a promise is rejected, so
`check_connect` never actually failed
2024-11-05 14:21:58 +00:00
Julia
6ed38f53f5 merge: Bump version number (!735)
View MR for information: https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/735
2024-11-05 06:14:24 +00:00
Julia Johannesen
0f07f27642
chore: Bump version number 2024-11-05 01:10:49 -05:00
CenTdemeern1
c2c2120b76 Center SkModPlayer on big displays
Authored-by: Freeplay <freeplay@duck.com>
Co-authored-by: Freeplay <freeplay@duck.com>
2024-11-04 22:50:56 +01:00
Kio!
8477909af2 Update report-abuse.ts 2024-11-03 19:50:25 +00:00
かっこかり
6718a54f6f
fix(backend): ノートを連合する際にリモートユーザーのacctの大小文字を区別して処理している問題を修正 (#14880)
* fix: make sure outgoing remote mentions get resolved correctly if referenced with non-canonical casing (resolves #646)

* Update Changelog

* Update Changelog

* indent

---------

Co-authored-by: Laura Hausmann <laura@hausmann.dev>
2024-11-03 08:26:51 +09:00
かっこかり
d57b8bf2e2
fix(frontend): withSensitiveフィルタ周りの挙動修正 (#14884)
* fix(frontend): withSensitiveフィルタ周りの挙動修正

* Update MkNote.vue
2024-11-03 08:23:52 +09:00
Hazelnoot
a15e5c52f4 remove idea section 2024-11-02 17:38:20 -04:00
Hazelnoot
1c181df086 restore ordering of MkNotes attributes in index.timeline.vue 2024-11-02 17:38:20 -04:00
Hazelnoot
f5652605ec remove notes-container.vue and revert refactor 2024-11-02 17:38:20 -04:00
Hazelnoot
9d3aa6bb41 add pinned section to "notes" tab on user profiles 2024-11-02 17:38:19 -04:00
Hazelnoot
5b64b9001d fix weird spacing on notes/home.vue 2024-11-02 17:38:19 -04:00
syuilo
224bbd486f refactor 2024-10-31 13:50:50 +09:00
syuilo
724dea8136 lint 2024-10-31 13:47:47 +09:00
syuilo
ceb60d61b0 refactor 2024-10-31 13:47:30 +09:00
かっこかり
17d9aca5a7
refactor(frontend): asとanyをすぐなおせる範囲で除去 (#14848)
* refactor(frontend): できるだけanyを除去

* refactor

* lint

* fix

* remove unused

* Update packages/frontend/src/components/MkReactionsViewer.details.vue

* Update packages/frontend/src/components/MkUsersTooltip.vue

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-10-31 13:46:42 +09:00
かっこかり
7fc8a2a7b0
fix(frontend): 一部のノート表示で設定にかかわらずセンシティブなファイルを含むノートが最小化される問題を修正
Fix https://github.com/misskey-dev/misskey/pull/14772#discussion_r1821707117
2024-10-30 09:57:54 +09:00
github-actions[bot]
a96f09cee3 Bump version to 2024.10.2-alpha.2 2024-10-28 12:23:59 +00:00
かっこかり
f30d19051f
enhance(backend): check_connect.js で全RedisとDBへの接続を確認するように (#14853)
* fix race conditions in check_connect.js

(cherry picked from commit 524ddb9677)

* fix

* Update Changelog

---------

Co-authored-by: Hazelnoot <acomputerdog@gmail.com>
2024-10-28 21:06:54 +09:00
Tamme Schichler
8eb7749e44
fix(backend): Accept arrays in ActivityPub icon and image properties (#14825)
This is allowed according to the Activity vocabulary: https://www.w3.org/TR/activitystreams-vocabulary/#dfn-icon
The issue is noticeable in combination with Bridgy Fed: https://github.com/snarfed/bridgy-fed/issues/1408
2024-10-28 21:06:16 +09:00
Pinapelz
0472d43ee9
fix: encode RSS uris with escape sequences before fetching (#14826)
Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-10-28 21:04:46 +09:00
syuilo
eb701f2ff4 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-10-28 20:42:23 +09:00
syuilo
74847bce30 enhance: アイコンデコレーション管理画面の改善 2024-10-28 20:42:14 +09:00
woxtu
eecfac1dd9
Remove undefined styles (#14858) 2024-10-28 20:22:07 +09:00
syuilo
e927507886 🎨 2024-10-28 18:34:18 +09:00
syuilo
b1073714ba Update about-misskey.vue 2024-10-28 12:46:39 +09:00
かっこかり
04b37a1315
enhance(i18n): カタルーニャ語を追加 (#14842)
* enhance(i18n): 対応言語の追加

* 翻訳進捗が70%に満たないものを除外

* Update Changelog

* 翻訳進捗が70%を超えたら導入の旨を明記

* typo

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-10-28 12:32:17 +09:00
syuilo
93a03e6b6d
New Crowdin updates (#14767)
* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Korean (Gyeongsang))

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Hungarian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean (Gyeongsang))

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)
2024-10-28 11:43:55 +09:00
かっこかり
ec4358d1e8
fix(misskey-js): WebSocketの型定義をReconnectingWebsocketに依存するように (#14850)
* fix(misskey-js): WebSocketの型定義をReconnectingWebsocketに依存するように

* Update Changelog

* run api extractor

* fix

* fix
2024-10-28 11:43:05 +09:00
かっこかり
a6a1e3d733
enhance(frontend): Self-XSS防止用のメッセージを追加 (#14839)
* enhance(frontend): Self-XSS防止用のメッセージを追加

* Update Changelog

* embedにも同様の記述を追加
2024-10-26 22:07:26 +09:00
github-actions[bot]
ded6ef207b Bump version to 2024.10.2-alpha.1 2024-10-25 13:16:43 +00:00
かっこかり
db95b6b0d6
🎨
https://github.com/misskey-dev/misskey/pull/14828 のデザイン修正
2024-10-25 19:37:01 +09:00
かっこかり
eeea4ec00b
fix(backend): 招待コード発行可能残り数算出に使用すべきロールポリシーの値が違うのを修正 (#14834)
* fix: should use invite limit cycle to calculate invite/limit

* Update Changelog

* Update changelog

---------

Co-authored-by: Lhc_fl <lhcfl@outlook.com>
2024-10-25 15:09:37 +09:00
かっこかり
07b2c3e5b2
fix(frontend): 管理画面のリンク切れを修正 (#14831)
* fix(frontend): 管理画面のリンク切れを修正

* Update Changelog
2024-10-25 15:09:07 +09:00
かっこかり
076cc953e2
enhance(frontend): 外部アプリ認証画面の改良 (#14828)
* enhance(frontend): 外部アプリ認証画面の改良

* 🎨

* lint

* Update Changelog

* indent

* lint

* enhance: miauthのリダイレクト先をUI内でも表示するように

* 🎨

* fix

* fix
2024-10-25 14:20:33 +09:00
かっこかり
15ae1605ec
enhance(frontend): 「単なるラッキー」の調整 (#14807)
* enhance(frontend): 「単なるラッキー」の調整

* refactor

* comment

* Update Changelog

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-10-23 14:23:29 +09:00
饺子w (Yumechi)
48d1539f3b
Merge commit from fork
[ghsa-gq5q-c77c-v236](https://github.com/misskey-dev/misskey/security/advisories/ghsa-gq5q-c77c-v236)

Signed-off-by: eternal-flame-AD <yume@yumechi.jp>
2024-10-22 18:17:56 +09:00
github-actions[bot]
8b6d321a76 Bump version to 2024.10.2-alpha.0 2024-10-22 08:45:08 +00:00
syuilo
952fec5665
feat: 過去のノートを非公開化/フォロワーのみ表示可能にできる機能 (#14814)
* wip

* Update CHANGELOG.md

* wip

* wip

* wip

* Update privacy.vue

* wip
2024-10-22 17:08:53 +09:00
syuilo
70b2a8f72e fix(frontend): /iのレスポンスに含まれないプロパティが消えずに残り続ける問題を修正 2024-10-21 19:59:20 +09:00
syuilo
c4f1ca2fd9 fix(frontend): MkSelectでmodelValueが更新されない限り値を更新しないように 2024-10-21 19:14:02 +09:00
Kisaragi
9d0f7eeb9c
docs: ActivityPub層の変更を含む場合にやるべきことを明文化 (#14812) 2024-10-21 15:12:28 +09:00
かっこかり
bc1fce9af6
fix(frontend): デッキのタイムラインカラムでwithSensitiveが利用できない問題を修正 (#14772)
* fix(frontend): デッキのタイムラインカラムでwithSensitiveが利用できない問題を修正

* Update Changelog

* Update Changelog

* Update packages/frontend/src/ui/deck/tl-column.vue
2024-10-21 13:22:21 +09:00
かっこかり
5f12bc515d
Update CHANGELOG.md 2024-10-21 13:11:11 +09:00
Yuba
2f9c04b23b
refs#10866 投稿ダイアログでEscキーが押されたときIME入力中ならダイアログは閉じない (#14787) 2024-10-21 12:51:45 +09:00
syuilo
5c79d8db20
feat: ノートの閲覧にログイン必須にする設定 (#14799)
* wip

* wip

* wip

* Update packages/frontend/src/pages/note.vue

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>

* wip

* Update WebhookTestService.ts

* Update privacy.vue

* wip

* rename

* Update locales/ja-JP.yml

Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>

* 🎨

* wip

---------

Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
Co-authored-by: Sayamame-beans <61457993+Sayamame-beans@users.noreply.github.com>
2024-10-21 12:49:29 +09:00
かっこかり
bc0c53b92b
fix(frontend): Captcha のエラーハンドリング (#14811)
* fix(frontend): Captcha のエラーハンドリングを修正 (MisskeyIO#768)

(cherry picked from commit 88912d0f8c63a762fbb1d43e5c1abf4fd9fc05d4)

* Update Changelog

* typo

---------

Co-authored-by: riku6460 <17585784+riku6460@users.noreply.github.com>
2024-10-21 11:44:57 +09:00
かっこかり
d6caa4d9c4
fix(frontend): 通知の範囲指定が必要ない通知設定でも範囲指定がでている問題を修正 (#14798)
* fix(frontend): 通知の範囲指定が必要ない通知設定でも範囲指定がでている問題を修正

* Update Changelog

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-10-20 17:29:41 +09:00
syuilo
041c9caf31 🎨 2024-10-20 16:38:27 +09:00
tetsuya-ki
1d106b3ae8
Enhance: ドライブでソートができるように (#14801)
* Enhance: ドライブでソートができるように

* Update CHANGELOG.md
2024-10-20 16:17:16 +09:00
かっこかり
58419e1621
refactor(frontend): ページ内でdocument.titleを直接操作させない, タイポ修正 など (taiyme#288) (#14778)
Co-authored-by: taiy <53635909+taiyme@users.noreply.github.com>
2024-10-19 21:45:25 +09:00
かっこかり
2250e521e4
refactor(frontend): getBgColorを共通化 (#14782)
* refactor: getBgColor関数の切り出し + fix types (taiyme#291)

* move thing

* revert unnecesary changes

---------

Co-authored-by: taiy <53635909+taiyme@users.noreply.github.com>
2024-10-19 18:02:09 +09:00
かっこかり
a3a99467f0
enhance(frontend): Bull Dashboard に relationship queue を追加 (#14777)
* spec(frontend): Bull Dashboard に relationship queue を追加 (MisskeyIO#751)

(cherry picked from commit a8bbccbefa67ca0f2c1ec0880da88dfc7517b6a0)

* Update Changelog

* Update Changelog

---------

Co-authored-by: riku6460 <17585784+riku6460@users.noreply.github.com>
2024-10-19 17:25:11 +09:00
Luna Nova
3b89b73d27
fix: move cypress to optionalDependencies 2024-10-18 23:20:47 -04:00
github-actions[bot]
b1aac6acc3 [skip ci] Update CHANGELOG.md (prepend template) 2024-10-15 04:53:48 +00:00
github-actions[bot]
d2e8dc4fe3 Release: 2024.10.1 2024-10-15 04:53:43 +00:00
zyoshoka
b990ae6b23
test(backend): add federation test (#14582)
* test(backend): add federation test

* fix(ci): install pnpm

* fix(ci): cd

* fix(ci): build entire project

* fix(ci): skip frontend build

* fix(ci): pull submodule when checkout

* chore: show log for debugging

* Revert "chore: show log for debugging"

This reverts commit a930964b8d6ba550c23bce1e7fb45d92eab49ef9.

* fix(ci): build entire project

* chore: omit unused globals

* refactor: use strictEqual and simplify some asserts

* test: follow requests

* refactor: add resolveRemoteNote function

* refactor: refine resolveRemoteUser function

* refactor: cache admin credentials

* refactor: simplify assertion with excluded fields

* refactor: use assert

* test: note

* chore: labeler detect federation

* test: blocking

* test: move

* fix: use appropriate TLD

* chore: shorter purge interval

* fix(ci): change TLD

* refactor: delete trivial comment

* test(user): isCat

* chore: use jest

* chore: omit logs

* chore: add memo

* fix(ci): omit unnecessary build

* test: pinning Note

* fix: build daemon in container

* style: indent

* test(streaming): timeline

* chore: rename

* fix: delete role after test

* refactor: resolve users by uri

* fix: delete antenna after test

* test: api timeline

* test: Note deletion

* refactor: sleep function

* test: notification

* style: indent

* refactor: type-safe host

* docs: update description

* refactor: resolve function params

* fix(block): wrong test name

* fix: invalid type

* fix: longer timeout for fire testing

* test(timeline): hashtag

* test(note): vote delivery

* fix: wrong description

* fix: hashtag channel param type

* refactor: wrap basic cases

* test(timeline): add homeTimeline tests

* fix(timeline): correct wrong case and description

* test(notification): add tests for Note

* refactor(user): wrap profile consistency with describe

* chore(note): add issue link

* test(timeline): add test

* test(user): suspension

* test: emoji

* refactor: fetch admin first

* perf: faster tests

* test(drive): sensitive flag

* test(emoji): add tests

* chore: ignore .config/docker.env

* chore: hard-coded tester IP address

* test(emoji): custom emoji are surrounded by zero width space

* refactor: client and username as property

* test(notification): mute

* fix(notification): correct description

* test(block): mention

* refactor(emoji): addCustomEmoji function

* fix: typo

* test(note): add reaction tests

* test(timeline): Note deletion

* fix: unnecessary ts-expect-error

* refactor: unnecessary fetch mocking

* chore: add TODO comments

* test(user): deletion

* chore: enable --frozen-lockfile

* fix(ci): copying configs

* docs: update CONTRIBUTING.md

* docs: fix typo

* chore: set default sleep duration

* fix(notification): omit flaky tests

* fix(notification): correct type

* test(notification): add api endpoint tests

* chore: remove redundant mute test

* refactor: use param client

* fix: start timer after trigger

* refactor: remove unnecessary any

* chore: shorter timeout for checking if fired

* fix(block): remove outdated comment

* refactor: shorten remote user variable name

* refactor(block): use existing function

* refactor: file upload

* docs: update description

* test(user): ffVisibility

* fix: `/api/signin` -> `/api/signin-flow`

* test: abuse report

* refactor: use existing type

* refactor: extract duplicate configs to template file

* fix: typo

* fix: avoid conflict

* refactor: change container dependency

* perf: start misskey parallelly

* fix: remove dependency

* chore(backend): add typecheck

* test: add check for #14728

* chore: enable eslint check

* perf: don't start linked services when test

* test(note): remote note deletion for moderation

* chore: define config template

* chore: write setup script

* refactor: omit unnecessary conditional

* refactor: clarify scope

* refactor: omit type assertion

* refactor: omit logs

* style

* refactor: redundant promise

* refactor: unnecessary imports

* refactor: use readable error code

* refactor: cache set in signin function

* refactor: optimize import
2024-10-15 13:37:00 +09:00
syuilo
3cea890eba fix(frontend): blinkアニメーションが動作していないのを修正 2024-10-15 13:01:06 +09:00
syuilo
21a2aa5243
Update CHANGELOG.md 2024-10-15 12:30:40 +09:00
syuilo
825d218692 Update CHANGELOG.md 2024-10-15 10:39:36 +09:00
syuilo
b5de525548 add note 2024-10-15 10:32:00 +09:00
syuilo
5005cc8ae3 add note 2024-10-14 21:00:20 +09:00
syuilo
f13c3909a0 refactor(backend): remove unnecessary any 2024-10-14 17:54:27 +09:00
syuilo
77ebabb3dc Revert "refactor"
This reverts commit 7fd8ef344b.
2024-10-14 17:51:47 +09:00
syuilo
7fd8ef344b refactor 2024-10-14 17:43:44 +09:00
syuilo
b0a251d231 🎨 2024-10-14 15:35:44 +09:00
github-actions[bot]
04e74aa28c Bump version to 2024.10.1-beta.6 2024-10-14 04:19:47 +00:00
syuilo
140322b8e2 Update CHANGELOG.md 2024-10-14 12:38:12 +09:00
syuilo
3b361a9d0b perf(frontend): make skipNoteRender on by default 2024-10-14 12:37:18 +09:00
syuilo
c46d6d8edd perf(frontend-embed): improve note rendering performance 2024-10-14 12:34:03 +09:00
syuilo
64bbce4cf4 perf(frontend): improve notification rendering performance 2024-10-14 12:32:59 +09:00
github-actions[bot]
ddca6bdc01 Bump version to 2024.10.1-beta.5 2024-10-14 02:34:17 +00:00
かっこかり
8b7290d6b0
enhance(backend): 個人宛のお知らせはわかったを押すとアーカイブするように (#14762)
* enhance(backend): 個人宛のお知らせはわかったを押すとアーカイブするように

* Update Changelog

* enhance(frontend): アーカイブ済みのものを読み込めるように

* Update Changelog

* fix changelog

* 🎨
2024-10-14 11:23:26 +09:00
syuilo
521d92014d
New Crowdin updates (#14753)
* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Italian)
2024-10-14 11:22:51 +09:00
syuilo
2190092de6 perf(frontend): ノートのレンダリングをスキップできるように 2024-10-14 11:22:02 +09:00
syuilo
064d6ca56f fix(backend): RBT有効時、リノートのリアクションが反映されない問題を修正 2024-10-14 09:11:03 +09:00
かっこかり
d0bb0b51f5
fix(frontend): タイムラインで、広告がない際にも広告のwrapperが出てしまうのを修正 (#14763) 2024-10-14 03:06:10 +09:00
かっこかり
088e05ea66
fix(frontend): 使用されているexposeを復活させる (#14764) 2024-10-14 02:54:01 +09:00
github-actions[bot]
fb23b24f5c Bump version to 2024.10.1-beta.4 2024-10-13 11:43:27 +00:00
おさむのひと
33b34ad7b8
feat: 運営のアクティビティが一定期間ない場合は通知+招待制に移行した際に通知 (#14757)
* feat: 運営のアクティビティが一定期間ない場合は通知+招待制に移行した際に通知

* fix misskey-js.api.md

* Revert "feat: 運営のアクティビティが一定期間ない場合は通知+招待制に移行した際に通知"

This reverts commit 3ab953bdf87f28411a1a10bce787a23d238cda80.

* 通知をやめてユーザ単位でのお知らせ機能に変更

* テスト用実装を戻す

* Update packages/backend/src/queue/processors/CheckModeratorsActivityProcessorService.ts

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* fix remove empty then

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-10-13 20:32:12 +09:00
syuilo
5229f5de4d refactor(backend): remove unnecessary .then 2024-10-13 20:32:02 +09:00
syuilo
ff47fef572
feat: リモートサーバーのサーバー情報を収集しないオプション (#14634)
* wip

* wip

* Update FetchInstanceMetadataService.ts

* Update FetchInstanceMetadataService.ts

* Update types.ts
2024-10-13 20:22:16 +09:00
かっこかり
45d42b8641
feat: ユーザーの名前に禁止ワードを設定できるように (#14756)
* wip

* 🎨

* Enhance: モデレーター以上は制限の影響を受けないように

* refactor

* better error handling

* fix

* Revert "better error handling"

This reverts commit 5670b29cfa18a3894d0c2abfe0e5ef862e3b9ffa.

* error handling

* エラーが出ないのを修正

* translation

* Update Changelog

* status code

* ✌️

* モデレーター以上は影響ないことを明記

* 🎨

* update changelog

* spdx

* Update update.ts

* refactor

* eliminate `screen name`

* remove untracked file

---------

Co-authored-by: KanariKanaru <93921745+kanarikanaru@users.noreply.github.com>
2024-10-13 20:21:25 +09:00
syuilo
c4c69cd267 🎨 2024-10-12 11:28:58 +09:00
FineArchs
ee08e9f51e
refactor: MkStickyContainerで<style />を使う (#14755)
* remove rootEL ref

* use css module

* use v-bind in css

* --MI prefix

* remove unused ref

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-10-12 11:20:55 +09:00
syuilo
85bb1ff1db 🎨 2024-10-12 11:18:26 +09:00
syuilo
824c51a19f fix(frontend): fix style
Fix #14754
2024-10-12 10:32:00 +09:00
syuilo
ef90f83917 Update index.d.ts 2024-10-12 10:31:40 +09:00
syuilo
a87a18f40d Update about-misskey.vue 2024-10-12 10:11:55 +09:00
かっこかり
2f09d69773
fix(backend): キューのエラーログを簡略化するように (#14748)
* reduce federation log spam

* Don't record stack trace for unrecoverable errors.
* Avoid logging duplicate stace traces.

(cherry picked from commit ed0570110b)

* improve error summaries

(cherry picked from commit 20dd66f735)

* fix lint errors

(cherry picked from commit 83869e1c47)

* condense job info

(cherry picked from commit 786702e076)

* fix maxAttempts calculation

(cherry picked from commit b4d10aa8f8)

* condense error info

(cherry picked from commit f62cd8941c)

* normalize ID logging

(cherry picked from commit d8e1e4890d)

* further condense error details

(cherry picked from commit d867c2089b)

* collapse AbortErrors

(cherry picked from commit 5171ba7113)

* don't log job name unless it has one

(cherry picked from commit a5316c06ed)

* Update Changelog

* Record origin

---------

Co-authored-by: Hazel K <acomputerdog@gmail.com>
2024-10-11 21:29:03 +09:00
github-actions[bot]
777804605e Bump version to 2024.10.1-beta.3 2024-10-11 12:13:47 +00:00
syuilo
af1cbc131f
wip (#14745) 2024-10-11 21:05:53 +09:00
syuilo
c397b42242 chore: add description 2024-10-11 21:01:50 +09:00
おさむのひと
a2cd6a7709
feat(backend): 7日間運営のアクティビティがないサーバを自動的に招待制にする (#14746)
* feat(backend): 7日間運営のアクティビティがないサーバを自動的に招待制にする

* fix RoleService.

* fix

* fix

* fix

* add test and fix

* fix

* fix CHANGELOG.md

* fix test
2024-10-11 20:59:36 +09:00
FineArchs
12bc671511
fix: admin/emoji/update で不正なエラーが発生する (#14750)
* fix emoji updating bug

* update changelog

* type fix

* " -> '

* conprehensiveness check

* lint

* undefined -> null
2024-10-11 17:17:45 +09:00
かっこかり
d376aab45e
Update CHANGELOG.md (書き方を揃える) 2024-10-10 17:39:20 +09:00
syuilo
1ad3148533 clean up 2024-10-10 17:35:10 +09:00
github-actions[bot]
132c4ba6ce Bump version to 2024.10.1-beta.2 2024-10-10 07:24:24 +00:00
syuilo
67a5fccb3b Update CHANGELOG.md 2024-10-10 16:16:47 +09:00
syuilo
4c84842f3d 🎨 2024-10-10 16:14:32 +09:00
syuilo
54849bde6c clean up 2024-10-10 16:14:11 +09:00
かっこかり
b668d161a9
refactor(frontend): prefix css variables (UI) (#14739)
* refactor(frontend): prefix css variables

* `MI_UI` -> `MI`

* fix

* `stickyBottom`

* stickyTop
2024-10-10 16:12:16 +09:00
github-actions[bot]
21e51567e7 Bump version to 2024.10.1-beta.1 2024-10-10 05:56:04 +00:00
github-actions[bot]
ebae39cba5 Bump version to 2024.10.1-alpha.0 2024-10-10 05:17:00 +00:00
syuilo
433732bcfc
New Crowdin updates (#14733)
* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Catalan)
2024-10-10 14:16:24 +09:00
かっこかり
a624546812
fix(frontend): ユーザー登録完了時にサインインAPIを別途使用していたのを修正 (#14738)
* fix(frontend): ユーザー登録完了時にサインインAPIを別途使用していたのを修正

* emitされるオブジェクトの型を変更したことに伴う修正

* Update Changelog
2024-10-10 14:05:20 +09:00
syuilo
4a356f1ba7
refactor(frontend): prefix css variables (#14725)
* wip

* Update index.d.ts

* remove unnecessary codes
2024-10-09 18:08:14 +09:00
github-actions[bot]
0ad31bd5d4 [skip ci] Update CHANGELOG.md (prepend template) 2024-10-09 05:17:31 +00:00
github-actions[bot]
6de7c27522 Release: 2024.10.0 2024-10-09 05:17:26 +00:00
syuilo
a304185eb8
Update CHANGELOG.md 2024-10-09 14:07:05 +09:00
syuilo
c13545f965 🎨 2024-10-09 11:58:51 +09:00
dependabot[bot]
0da6f14b3b
build(deps): bump actions/cache from 4.0.2 to 4.1.0 (#14718)
Bumps [actions/cache](https://github.com/actions/cache) from 4.0.2 to 4.1.0.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v4.0.2...v4.1.0)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-09 10:25:01 +09:00
syuilo
dd39c5e059
Update packages/frontend/src/components/MkAbuseReport.vue
Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2024-10-09 09:47:28 +09:00
かっこかり
1c99785e7e
Merge branch 'master' into develop 2024-10-08 21:10:27 +09:00
syuilo
d0213962bf
Update packages/backend/src/core/entities/FlashEntityService.ts
Co-authored-by: zyoshoka <107108195+zyoshoka@users.noreply.github.com>
2024-10-08 18:59:10 +09:00
syuilo
9858e12078
New Crowdin updates (#14723)
* New translations ja-jp.yml (English)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Chinese Simplified)
2024-10-08 18:50:09 +09:00
syuilo
c14eba3e6d
Update packages/frontend/src/store.ts
Co-authored-by: anatawa12 <anatawa12@icloud.com>
2024-10-08 10:40:41 +09:00
syuilo
993d3fbe55
New Crowdin updates (#14722)
* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)
2024-10-08 09:22:58 +09:00
github-actions[bot]
3a11d5ede6 Bump version to 2024.10.0-beta.6 2024-10-07 00:54:00 +00:00
FineArchs
ed89b4bd94
refactor: 拡張機能インストールのページの一部をコンポーネントとして分離 (#14654)
* create MkExtensionInstaller.vue

* annotation

* add fallbacks

* storybook

* update annotations

* Update MkExtensionInstaller.vue

* use additonalInfo slot
2024-10-07 09:46:04 +09:00
syuilo
03fb688073
New Crowdin updates (#14695)
* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Korean (Gyeongsang))

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Korean)
2024-10-07 09:44:35 +09:00
syuilo
8b2780c730
Update packages/frontend/src/store.ts
Co-authored-by: かっこかり <67428053+kakkokari-gtyih@users.noreply.github.com>
2024-10-07 09:42:35 +09:00
かっこかり
d2f1d45ea3
fix(frontend): クライアント上での時間ベースの実績獲得動作が実績獲得後も発動している問題を修正 (#14717)
* Check if time-based achievements are unlocked before initializing them in main-boot

(cherry picked from commit c0702fd92f)

* Update Changelog

---------

Co-authored-by: Evan Paterakis <evan@geopjr.dev>
2024-10-07 09:07:02 +09:00
syuilo
a594d9f26b make animatedMfm enable by default 2024-10-05 19:47:45 +09:00
syuilo
26afe1cc96 Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop 2024-10-05 18:57:25 +09:00
syuilo
7933b6662e 🎨 2024-10-05 18:57:23 +09:00
zyoshoka
ddf8e2a3dc
fix(backend): correct admin/abuse-user-reports schema (#14711)
* fix(backend): correct `abuse-user-reports` schema

* Update CHANGELOG.md
2024-10-05 18:35:37 +09:00
syuilo
ddc799fe3d fix of d8cb7305ef 2024-10-05 18:29:02 +09:00
syuilo
057a6d731d 🎨 2024-10-05 18:24:04 +09:00
github-actions[bot]
254c063455 Bump version to 2024.10.0-beta.5 2024-10-05 07:31:13 +00:00
かっこかり
9d026975bc
fix(backend/test): #14558 以降e2eテストがたまに失敗する問題を修正 (#14709)
* fix(backend/test): MisskeyIO#727 以降e2eテストがたまに失敗する問題を修正 (MisskeyIO#735)

* ✌️

---------

Co-authored-by: まっちゃとーにゅ <17376330+u1-liquid@users.noreply.github.com>
2024-10-05 16:20:44 +09:00
syuilo
d8cb7305ef
feat: 通報の強化 (#14704)
* wip

* Update CHANGELOG.md

* lint

* Update types.ts

* wip

* ✌️

* Update MkAbuseReport.vue

* tweak
2024-10-05 16:20:15 +09:00
syuilo
043fef9fdf 🎨 2024-10-05 15:19:07 +09:00
おさむのひと
0d7d1091c8
enhance: 人気のPlayを10件以上表示できるように (#14443)
Co-authored-by: osamu <46447427+sam-osamu@users.noreply.github.com>
2024-10-05 14:37:52 +09:00
かっこかり
d8bf1ff7e9
#14675 レビューの修正 (#14705) 2024-10-05 13:47:50 +09:00
おさむのひと
88698462a9
feat(backend): 通報および通報解決時に送出されるSystemWebhookにユーザ情報を含めるようにする (#14698)
* feat(backend): 通報および通報解決時に送出されるSystemWebhookにユーザ情報を含めるようにする

* テスト送信もペイロード形式を合わせる

* add spaces

* fix test
2024-10-05 12:51:46 +09:00
かっこかり
ae3c155490
fix: signin の資格情報が足りないだけの場合はエラーにせず200を返すように (#14700)
* fix: signin の資格情報が足りないだけの場合はエラーにせず200を返すように

* run api extractor

* fix

* fix

* fix test

* /signin -> /signin-flow

* fix

* fix lint

* rename

* fix

* fix
2024-10-05 12:03:47 +09:00
syuilo
fa06c59eae 🎨 2024-10-04 19:09:46 +09:00
かっこかり
b36d13d90c
fix(frontend): ログイン画面でキャプチャが表示されない問題を修正 (#14694)
* fix(frontend): ログイン画面でキャプチャが表示されない問題を修正

* rename
2024-10-04 18:45:03 +09:00
github-actions[bot]
3d637af65b Bump version to 2024.10.0-beta.4 2024-10-04 08:41:30 +00:00
syuilo
2340de035b
New Crowdin updates (#14677)
* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)
2024-10-04 17:32:36 +09:00
かっこかり
d8f30fb793
fix(frontend): canvas-confettiの型定義を追加 (#14692) 2024-10-04 17:32:18 +09:00
syuilo
708ffaef5c 🎨 2024-10-04 17:29:10 +09:00
syuilo
2639e92e18 🎨 2024-10-04 17:07:27 +09:00
syuilo
ea2675eaab fix(frontend): リンク動作のオーバーライドが動作していないのを修正 2024-10-04 16:41:08 +09:00
github-actions[bot]
3b0b4f83dd Bump version to 2024.10.0-beta.3 2024-10-04 06:28:36 +00:00
かっこかり
975c2e7bc5
enhance(frontend): サインイン画面の改善 (#14658)
* wip

* Update MkSignin.vue

* Update MkSignin.vue

* wip

* Update CHANGELOG.md

* enhance(frontend): サインイン画面の改善

* Update Changelog

* 14655の変更取り込み

* spdx

* fix

* fix

* fix

* 🎨

* 🎨

* 🎨

* 🎨

* Captchaがリセットされない問題を修正

* 次の処理をsignin apiから読み取るように

* Add Comments

* fix

* fix test

* attempt to fix test

* fix test

* fix test

* fix test

* fix

* fix test

* fix: 一部のエラーがちゃんと出るように

* Update Changelog

* 🎨

* 🎨

* remove border

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-10-04 15:23:33 +09:00
syuilo
e344650278 Update generate.tsx 2024-10-04 13:40:49 +09:00
syuilo
1aee260398 fix test 2024-10-04 12:23:24 +09:00
syuilo
2fa805b8f7 🎨 2024-10-04 11:55:46 +09:00
syuilo
ed71b0b7d4 🎨 2024-10-04 11:27:08 +09:00
syuilo
864327b4a7 update deps 2024-10-04 11:20:56 +09:00
syuilo
c1597be458 🎨 2024-10-04 10:18:36 +09:00
かっこかり
a08a38c29a
fix(test): 初期セットアップで初期パスワードを入力していないのを修正 (#14685) 2024-10-04 07:54:19 +09:00
github-actions[bot]
650e22c90d Bump version to 2024.10.0-beta.2 2024-10-03 12:47:03 +00:00
github-actions[bot]
fa2558fce8 Bump version to 2024.10.0-alpha.1 2024-10-03 12:02:35 +00:00
かっこかり
7bdc4e8509
fix: 初期パスワードをコメントアウト (#14682)
* fix: 初期パスワードをコメントアウト

* 🎨

* fix indent
2024-10-03 21:01:09 +09:00
かっこかり
d266c3cdf4
fix(gh): Githubのテスト用環境でsetupPasswordが指定されていないのを修正 (#14681) 2024-10-03 20:52:31 +09:00
syuilo
d2175a9b9f initialPassword -> setupPassword 2024-10-03 20:40:39 +09:00
zyoshoka
2a4ab0e187
fix(misskey-js): type fixes related to signup and signin (#14679) 2024-10-03 18:33:56 +09:00
かっこかり
2c1a7470d3
feat: サーバー初期設定時に初期パスワードを要求できるように (#14626)
* feat: サーバー初期設定時専用の初期パスワードを設定できるように

* 無いのに入力された場合もエラーにする

* 🎨

* 🎨

* cypress-devcontainerにもpassを設定(テストが失敗するため)

* [ci skip] 🎨

* ✌️

* test: please revert this commit before merge

* Revert "test: please revert this commit before merge"

This reverts commit 66b2b48f66830d2450d8cda03955c143feba76c7.

* Update locales/ja-JP.yml

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>

* build assets

* Update Changelog

* fix condition

* fix condition

* add comment

* change error code

* 他のエラーコードと合わせる

* Update CHANGELOG.md

---------

Co-authored-by: syuilo <4439005+syuilo@users.noreply.github.com>
2024-10-03 18:18:00 +09:00
syuilo
75ea964312 Update CHANGELOG.md 2024-10-03 17:07:16 +09:00
syuilo
a09b03ed3a Update CHANGELOG.md 2024-10-03 17:06:16 +09:00
Kisaragi
a722ea8ccd
fix(backend): 連合限定先が間違って連合しない先に代入されているのを修正 (#14662)
* fix(backend): 連合限定先が間違って連合しない先に代入されているのを修正

* build: fix property typo
2024-10-03 17:05:14 +09:00
syuilo
1e9813e19e
New Crowdin updates (#14649)
* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Catalan)

* New translations ja-jp.yml (Italian)

* New translations ja-jp.yml (Romanian)

* New translations ja-jp.yml (French)

* New translations ja-jp.yml (Spanish)

* New translations ja-jp.yml (Arabic)

* New translations ja-jp.yml (Czech)

* New translations ja-jp.yml (German)

* New translations ja-jp.yml (Greek)

* New translations ja-jp.yml (Hungarian)

* New translations ja-jp.yml (Korean)

* New translations ja-jp.yml (Dutch)

* New translations ja-jp.yml (Norwegian)

* New translations ja-jp.yml (English)

* New translations ja-jp.yml (Portuguese)

* New translations ja-jp.yml (Russian)

* New translations ja-jp.yml (Chinese Traditional)

* New translations ja-jp.yml (Indonesian)

* New translations ja-jp.yml (Polish)

* New translations ja-jp.yml (Slovak)

* New translations ja-jp.yml (Swedish)

* New translations ja-jp.yml (Turkish)

* New translations ja-jp.yml (Ukrainian)

* New translations ja-jp.yml (Chinese Simplified)

* New translations ja-jp.yml (Vietnamese)

* New translations ja-jp.yml (Bengali)

* New translations ja-jp.yml (Thai)

* New translations ja-jp.yml (Uyghur)

* New translations ja-jp.yml (Sinhala)

* New translations ja-jp.yml (Uzbek)

* New translations ja-jp.yml (Kannada)

* New translations ja-jp.yml (Lao)

* New translations ja-jp.yml (Japanese, Kansai)

* New translations ja-jp.yml (Korean (Gyeongsang))
2024-10-03 16:16:09 +09:00
github-actions[bot]
e97b7fe2a1 Bump version to 2024.10.0-alpha.0 2024-10-03 06:18:15 +00:00
syuilo
87617dca39 refactor & performance improvements of MkMention 2024-10-03 15:12:07 +09:00
Kisaragi
9dc058189e
fix(frontend): データセーバーを有効にしているときにメンションのアイコンがアニメーションしないように (#14674) 2024-10-03 15:08:45 +09:00
syuilo
83db116c46
enhance(backend): notify new login (#14673)
* wip

* Update CHANGELOG.md

* wip

* fix

* Update index.d.ts

* Update SigninService.ts

* Update MkNotification.vue
2024-10-03 15:06:04 +09:00
syuilo
d3e2b59f53 update deps 2024-10-03 15:04:53 +09:00
syuilo
1074d625ed
enhance: require captcha for signin (#14655)
* wip

* Update MkSignin.vue

* Update MkSignin.vue

* wip

* Update CHANGELOG.md
2024-10-03 12:11:09 +09:00
anatawa12
6dde457452
Misskey js autogen check improvements (#14652)
* ci: Make failure if misskey js autogen detected changes

* ci: set persist-credentials
2024-10-03 09:24:22 +09:00
甘瀬ここあ
a25d83f249
fix: sassのmodern-compilerを使うように (#14651)
* fix(frontend-embed): ビルド時にsassのmodern-compilerを使うように

* fix(frontend): ビルド時にsassのmodern-compilerを使うように
2024-10-03 09:09:37 +09:00
Julia
6fd4de246c
Make post form attachments accessible (#14666)
* fix(frontend): Make post form attachments accessible

Adds a role="button", tabindex, and @keydown to MkPostFormAttaches in
order to make it accessible to keyboard users.

* Fix for linter

* Add spacing in type signature
2024-10-03 09:09:08 +09:00
かっこかり
e9519b02fb
fix(misskey-js): build misskey-js with types (#14665) 2024-10-01 20:53:02 +09:00
syuilo
b6578861ac 🎨 2024-09-30 20:22:57 +09:00
かっこかり
ca8cc015b0
enhance(frontend): フォロワーへのメッセージ欄を改良 (#14656)
* enhance(frontend): フォロワーへのメッセージ欄を改良

* Update Changelog
2024-09-30 20:05:34 +09:00
github-actions[bot]
4f34a4e4d8 [skip ci] Update CHANGELOG.md (prepend template) 2024-09-29 11:42:26 +00:00
2086 changed files with 118022 additions and 66831 deletions

View file

@ -1,7 +1,78 @@
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ #━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# Misskey configuration # Sharkey configuration
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ #━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# ┌──────────────────────────────┐
#───┘ a boring but important thing └────────────────────────────
#
# First of all, let me tell you a story that may possibly be
# boring to you and possibly important to you.
#
# Sharkey is licensed under the AGPLv3 license. This license is
# known to be often misunderstood. Please read the following
# instructions carefully and select the appropriate option so
# that you do not negligently cause a license violation.
#
# --------
# Option 1: If you host Sharkey AS-IS (without any changes to
# the source code. forks are not included).
#
# Step 1: Congratulations! You don't need to do anything.
# --------
# Option 2: If you have made changes to the source code (forks
# are included) and publish a Git repository of source
# code. There should be no access restrictions on
# this repository. Strictly speaking, it doesn't have
# to be a Git repository, but you'll probably use Git!
#
# Step 1: Build and run the Sharkey server first.
# Step 2: Open <https://your.sharkey.example/admin/settings> in
# your browser with the administrator account.
# Step 3: Enter the URL of your Git repository in the
# "Repository URL" field.
# --------
# Option 3: If neither of the above applies to you.
# (In this case, the source code should be published
# on the Sharkey interface. IT IS NOT ENOUGH TO
# DISCLOSE THE SOURCE CODE WHEN A USER REQUESTS IT BY
# E-MAIL OR OTHER MEANS. If you are not satisfied
# with this, it is recommended that you read the
# license again carefully. Anyway, enabling this
# option will automatically generate and publish a
# tarball at build time, protecting you from
# inadvertent license violations. (There is no legal
# guarantee, of course.) The tarball will generated
# from the root directory of your codebase. So it is
# also recommended to check <built/tarball> directory
# once after building and before activating the server
# to avoid ACCIDENTAL LEAKING OF SENSITIVE INFORMATION.
# To prevent certain files from being included in the
# tarball, add a glob pattern after line 15 in
# <scripts/tarball.mjs>. DO NOT FORGET TO BUILD AFTER
# ENABLING THIS OPTION!)
#
# Step 1: Uncomment the following line.
#
# publishTarballInsteadOfProvideRepositoryUrl: true
# ┌────────────────────────┐
#───┘ Initial Setup Password └─────────────────────────────────────────────────────
# Password to initiate setting up admin account.
# It will not be used after the initial setup is complete.
#
# Be sure to change this when you set up Sharkey via the Internet.
#
# The provider of the service who sets up Sharkey on behalf of the customer should
# set this value to something unique when generating the Sharkey config file,
# and provide it to the customer.
#
# setupPassword: example_password_please_change_this_or_you_will_get_hacked
# ┌─────┐ # ┌─────┐
#───┘ URL └───────────────────────────────────────────────────── #───┘ URL └─────────────────────────────────────────────────────
@ -15,11 +86,11 @@ url: http://misskey.local
#───┘ Port and TLS settings └─────────────────────────────────── #───┘ Port and TLS settings └───────────────────────────────────
# #
# Misskey requires a reverse proxy to support HTTPS connections. # Sharkey requires a reverse proxy to support HTTPS connections.
# #
# +----- https://example.tld/ ------------+ # +----- https://example.tld/ ------------+
# +------+ |+-------------+ +----------------+| # +------+ |+-------------+ +----------------+|
# | User | ---> || Proxy (443) | ---> | Misskey (3000) || # | User | ---> || Proxy (443) | ---> | Sharkey (3000) ||
# +------+ |+-------------+ +----------------+| # +------+ |+-------------+ +----------------+|
# +---------------------------------------+ # +---------------------------------------+
# #
@ -27,7 +98,7 @@ url: http://misskey.local
# An encrypted connection with HTTPS is highly recommended # An encrypted connection with HTTPS is highly recommended
# because tokens may be transferred in GET requests. # because tokens may be transferred in GET requests.
# The port that your Misskey server should listen on. # The port that your Sharkey server should listen on.
port: 3000 port: 3000
# ┌──────────────────────────┐ # ┌──────────────────────────┐
@ -44,12 +115,21 @@ db:
user: postgres user: postgres
pass: ci pass: ci
# Whether disable Caching queries ## Log a warning to the server console if any query takes longer than this to complete.
#disableCache: true ## Measured in milliseconds; set to 0 to disable. (default: 300)
#slowQueryThreshold: 300
# If false, then query results will be cached in redis.
# If true (default), then queries will not be cached.
# This will reduce database load at the cost of increased Redis traffic and risk of bugs and unpredictable behavior.
#disableCache: false
# Extra Connection options # Extra Connection options
#extra: #extra:
# ssl: true # ssl: true
# # Set a higher value if you have timeout issues during migration
# statement_timeout: 10000
dbReplications: false dbReplications: false
@ -103,10 +183,38 @@ redis:
# #prefix: example-prefix # #prefix: example-prefix
# #db: 1 # #db: 1
# ┌───────────────────────────┐ #redisForRateLimit:
#───┘ MeiliSearch configuration └───────────────────────────── # host: localhost
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
# # You can specify more ioredis options...
# #username: example-username
# You can set scope to local (default value) or global # ┌───────────────────────────────┐
#───┘ Fulltext search configuration └─────────────────────────────
# These are the setting items for the full-text search provider.
fulltextSearch:
# You can select the ID generation method.
# - sqlLike (default)
# Use SQL-like search.
# This is a standard feature of PostgreSQL, so no special extensions are required.
# - sqlPgroonga
# Use pgroonga.
# You need to install pgroonga and configure it as a PostgreSQL extension.
# In addition to the above, you need to create a pgroonga index on the text column of the note table.
# see: https://pgroonga.github.io/tutorial/
# - meilisearch
# Use Meilisearch.
# You need to install Meilisearch and configure.
provider: sqlLike
# For Meilisearch settings.
# If you select "meilisearch" for "fulltextSearch.provider", it must be set.
# You can set scope to local or global (default value)
# (include notes from remote). # (include notes from remote).
#meilisearch: #meilisearch:
@ -195,6 +303,10 @@ proxyBypassHosts:
#proxySmtp: socks4://127.0.0.1:1080 # use SOCKS4 #proxySmtp: socks4://127.0.0.1:1080 # use SOCKS4
#proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5 #proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5
# Path to the directory that uploaded media will be saved to
# Defaults to a folder called "files" in the Sharkey directory
#mediaDirectory: /var/lib/sharkey
# Media Proxy # Media Proxy
#mediaProxy: https://example.com/proxy #mediaProxy: https://example.com/proxy
@ -204,7 +316,7 @@ proxyRemoteFiles: true
# Movie Thumbnail Generation URL # Movie Thumbnail Generation URL
# There is no reference implementation. # There is no reference implementation.
# For example, Misskey will point to the following URL: # For example, Sharkey will point to the following URL:
# https://example.com/thumbnail.webp?thumbnail=1&url=https%3A%2F%2Fstorage.example.com%2Fpath%2Fto%2Fvideo.mp4 # https://example.com/thumbnail.webp?thumbnail=1&url=https%3A%2F%2Fstorage.example.com%2Fpath%2Fto%2Fvideo.mp4
#videoThumbnailGenerator: https://example.com #videoThumbnailGenerator: https://example.com
@ -215,17 +327,72 @@ signToActivityPubGet: true
# When using authorized fetch, this is often undesired as any signed activity can be forwarded to a blocked instance by relays and other instances. # When using authorized fetch, this is often undesired as any signed activity can be forwarded to a blocked instance by relays and other instances.
# This setting allows admins to disable LD signatures for increased privacy, at the expense of fewer relayed activities and additional inbound fetch (GET) requests. # This setting allows admins to disable LD signatures for increased privacy, at the expense of fewer relayed activities and additional inbound fetch (GET) requests.
attachLdSignatureForRelays: true attachLdSignatureForRelays: true
# check that inbound ActivityPub GET requests are signed ("authorized fetch")
checkActivityPubGetSignature: false
# For security reasons, uploading attachments from the intranet is prohibited, # For security reasons, uploading attachments from the intranet is prohibited,
# but exceptions can be made from the following settings. Default value is "undefined". # but exceptions can be made from the following settings. Default value is "undefined".
# Read changelog to learn more (Improvements of 12.90.0 (2021/09/04)). # Read changelog to learn more (Improvements of 12.90.0 (2021/09/04)).
#allowedPrivateNetworks: [ # Some example configurations:
# '127.0.0.1/32' #allowedPrivateNetworks:
#] # # Allow connections to 127.0.0.1 on any port
# - '127.0.0.1/32'
# # Allow connections to 127.0.0.* on any port
# - '127.0.0.1/24'
# # Allow connections to 127.0.0.1 on any port
# - '127.0.0.1'
# # Allow connections to 127.0.0.1 on any port
# - network: '127.0.0.1'
# # Allow connections to 127.0.0.1 on port 80
# - network: '127.0.0.1'
# ports: [80]
# # Allow connections to 127.0.0.1 on port 80 or 443
# - network: '127.0.0.1'
# ports:
# - 80
# - 443
allowedPrivateNetworks: [
'127.0.0.1/32',
'192.168.65.0/24'
]
#customMOTD: ['Hello World', 'The sharks rule all', 'Shonks'] #customMOTD: ['Hello World', 'The sharks rule all', 'Shonks']
# Disable automatic redirect for ActivityPub object lookup. (default: false)
# This is a strong defense against potential impersonation attacks if the viewer instance has inadequate validation.
# However it will make it impossible for other instances to lookup third-party user and notes through your URL.
#disallowExternalApRedirect: true
# Upload or download file size limits (bytes) # Upload or download file size limits (bytes)
#maxFileSize: 262144000 #maxFileSize: 262144000
# CHMod-style permission bits to apply to uploaded files.
# Permission bits are specified as a base-8 string representing User/Group/Other permissions.
# This setting is only useful for custom deployments, such as using a reverse proxy to serve media.
#filePermissionBits: '644'
# Log settings
# logging:
# sql:
# # Outputs query parameters during SQL execution to the log.
# # default: false
# enableQueryParamLogging: false
# # Disable query truncation. If set to true, the full text of the query will be output to the log.
# # default: false
# disableQueryTruncation: false
# # Shows debug log messages after instance startup. To capture earlier debug logs, set the MK_VERBOSE environment variable.
# # default: false in production, true otherwise.
# #verbose: false
# Settings for the activity logger, which records inbound activities to the database.
# Disabled by default due to the large volume of data it saves.
#activityLogging:
# Log activities to the database (default: false)
#enabled: false
# Save the activity before processing, then update later with the results.
# This has the advantage of capturing activities that cause a hard-crash, but doubles the number of queries used.
# Default: false
#preSave: false
# How long to save each log entry before deleting it.
# Default: 2592000000 (1 week)
#maxAge: 2592000000

View file

@ -2,6 +2,19 @@
# Misskey configuration # Misskey configuration
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ #━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# ┌────────────────────────┐
#───┘ Initial Setup Password └─────────────────────────────────────────────────────
# Password to initiate setting up admin account.
# It will not be used after the initial setup is complete.
#
# Be sure to change this when you set up Misskey via the Internet.
#
# The provider of the service who sets up Misskey on behalf of the customer should
# set this value to something unique when generating the Misskey config file,
# and provide it to the customer.
setupPassword: example_password_please_change_this_or_you_will_get_hacked
# ┌─────┐ # ┌─────┐
#───┘ URL └───────────────────────────────────────────────────── #───┘ URL └─────────────────────────────────────────────────────
@ -44,12 +57,21 @@ db:
user: postgres user: postgres
pass: postgres pass: postgres
# Whether disable Caching queries ## Log a warning to the server console if any query takes longer than this to complete.
#disableCache: true ## Measured in milliseconds; set to 0 to disable. (default: 300)
#slowQueryThreshold: 300
# If false, then query results will be cached in redis.
# If true (default), then queries will not be cached.
# This will reduce database load at the cost of increased Redis traffic and risk of bugs and unpredictable behavior.
#disableCache: false
# Extra Connection options # Extra Connection options
#extra: #extra:
# ssl: true # ssl: true
# # Set a higher value if you have timeout issues during migration
# statement_timeout: 10000
dbReplications: false dbReplications: false
@ -111,8 +133,39 @@ redis:
# #prefix: example-prefix # #prefix: example-prefix
# #db: 1 # #db: 1
# ┌───────────────────────────┐ #redisForRateLimit:
#───┘ MeiliSearch configuration └───────────────────────────── # host: localhost
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
# # You can specify more ioredis options...
# #username: example-username
# ┌───────────────────────────────┐
#───┘ Fulltext search configuration └─────────────────────────────
# These are the setting items for the full-text search provider.
fulltextSearch:
# You can select the ID generation method.
# - sqlLike (default)
# Use SQL-like search.
# This is a standard feature of PostgreSQL, so no special extensions are required.
# - sqlPgroonga
# Use pgroonga.
# You need to install pgroonga and configure it as a PostgreSQL extension.
# In addition to the above, you need to create a pgroonga index on the text column of the note table.
# see: https://pgroonga.github.io/tutorial/
# - meilisearch
# Use Meilisearch.
# You need to install Meilisearch and configure.
provider: sqlLike
# For Meilisearch settings.
# If you select "meilisearch" for "fulltextSearch.provider", it must be set.
# You can set scope to local or global (default value)
# (include notes from remote).
#meilisearch: #meilisearch:
# host: meilisearch # host: meilisearch
@ -120,6 +173,7 @@ redis:
# apiKey: '' # apiKey: ''
# ssl: true # ssl: true
# index: '' # index: ''
# scope: global
# ┌───────────────┐ # ┌───────────────┐
#───┘ ID generation └─────────────────────────────────────────── #───┘ ID generation └───────────────────────────────────────────
@ -152,6 +206,11 @@ id: 'aidx'
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0' # dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
#sentryForFrontend: #sentryForFrontend:
# vueIntegration:
# tracingOptions:
# trackComponents: true
# browserTracingIntegration:
# replayIntegration:
# options: # options:
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0' # dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
@ -207,6 +266,10 @@ proxyBypassHosts:
#proxySmtp: socks4://127.0.0.1:1080 # use SOCKS4 #proxySmtp: socks4://127.0.0.1:1080 # use SOCKS4
#proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5 #proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5
# Path to the directory that uploaded media will be saved to
# Defaults to a folder called "files" in the Sharkey directory
#mediaDirectory: /var/lib/sharkey
# Media Proxy # Media Proxy
#mediaProxy: https://example.com/proxy #mediaProxy: https://example.com/proxy
@ -216,9 +279,65 @@ proxyRemoteFiles: true
# Sign to ActivityPub GET request (default: true) # Sign to ActivityPub GET request (default: true)
signToActivityPubGet: true signToActivityPubGet: true
allowedPrivateNetworks: [ # For security reasons, uploading attachments from the intranet is prohibited,
'127.0.0.1/32' # but exceptions can be made from the following settings. Default value is "undefined".
] # Read changelog to learn more (Improvements of 12.90.0 (2021/09/04)).
# Some example configurations:
allowedPrivateNetworks:
# Allow connections to 127.0.0.1 on any port
- '127.0.0.1/32'
# # Allow connections to 127.0.0.* on any port
# - '127.0.0.1/24'
# # Allow connections to 127.0.0.1 on any port
# - '127.0.0.1'
# # Allow connections to 127.0.0.1 on any port
# - network: '127.0.0.1'
# # Allow connections to 127.0.0.1 on port 80
# - network: '127.0.0.1'
# ports: [80]
# # Allow connections to 127.0.0.1 on port 80 or 443
# - network: '127.0.0.1'
# ports:
# - 80
# - 443
# Disable automatic redirect for ActivityPub object lookup. (default: false)
# This is a strong defense against potential impersonation attacks if the viewer instance has inadequate validation.
# However it will make it impossible for other instances to lookup third-party user and notes through your URL.
#disallowExternalApRedirect: true
# Upload or download file size limits (bytes) # Upload or download file size limits (bytes)
#maxFileSize: 262144000 #maxFileSize: 262144000
# CHMod-style permission bits to apply to uploaded files.
# Permission bits are specified as a base-8 string representing User/Group/Other permissions.
# This setting is only useful for custom deployments, such as using a reverse proxy to serve media.
#filePermissionBits: '644'
# Log settings
# logging:
# sql:
# # Outputs query parameters during SQL execution to the log.
# # default: false
# enableQueryParamLogging: false
# # Disable query truncation. If set to true, the full text of the query will be output to the log.
# # default: false
# disableQueryTruncation: false
# # Shows debug log messages after instance startup. To capture earlier debug logs, set the MK_VERBOSE environment variable.
# # default: false in production, true otherwise.
# #verbose: false
# Settings for the activity logger, which records inbound activities to the database.
# Disabled by default due to the large volume of data it saves.
#activityLogging:
# Log activities to the database (default: false)
#enabled: false
# Save the activity before processing, then update later with the results.
# This has the advantage of capturing activities that cause a hard-crash, but doubles the number of queries used.
# Default: false
#preSave: false
# How long to save each log entry before deleting it.
# Default: 2592000000 (1 week)
#maxAge: 2592000000

290
.config/dev.yml Normal file
View file

@ -0,0 +1,290 @@
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# Misskey configuration
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# ┌─────┐
#───┘ URL └─────────────────────────────────────────────────────
# Final accessible URL seen by a user.
url: http://misskey.local:3000
# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE
# URL SETTINGS AFTER THAT!
# ┌───────────────────────┐
#───┘ Port and TLS settings └───────────────────────────────────
#
# Misskey requires a reverse proxy to support HTTPS connections.
#
# +----- https://example.tld/ ------------+
# +------+ |+-------------+ +----------------+|
# | User | ---> || Proxy (443) | ---> | Misskey (3000) ||
# +------+ |+-------------+ +----------------+|
# +---------------------------------------+
#
# You need to set up a reverse proxy. (e.g. nginx)
# An encrypted connection with HTTPS is highly recommended
# because tokens may be transferred in GET requests.
# The port that your Misskey server should listen on.
port: 3000
# ┌──────────────────────────┐
#───┘ PostgreSQL configuration └────────────────────────────────
db:
host: postgres
port: 5432
# Database name
db: postgres
# Auth
user: postgres
pass: ci
# Whether disable Caching queries
#disableCache: true
# Extra Connection options
#extra:
# ssl: true
dbReplications: false
# You can configure any number of replicas here
#dbSlaves:
# -
# host:
# port:
# db:
# user:
# pass:
# -
# host:
# port:
# db:
# user:
# pass:
# ┌─────────────────────┐
#───┘ Redis configuration └─────────────────────────────────────
redis:
host: redis
port: 6379
#family: 0 # 0=Both, 4=IPv4, 6=IPv6
#pass: example-pass
#prefix: example-prefix
#db: 1
#redisForPubsub:
# host: redis
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
#redisForJobQueue:
# host: redis
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
#redisForTimelines:
# host: redis
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
#redisForRateLimit:
# host: localhost
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
# # You can specify more ioredis options...
# #username: example-username
# ┌───────────────────────────────┐
#───┘ Fulltext search configuration └─────────────────────────────
# These are the setting items for the full-text search provider.
fulltextSearch:
# You can select the ID generation method.
# - sqlLike (default)
# Use SQL-like search.
# This is a standard feature of PostgreSQL, so no special extensions are required.
# - sqlPgroonga
# Use pgroonga.
# You need to install pgroonga and configure it as a PostgreSQL extension.
# In addition to the above, you need to create a pgroonga index on the text column of the note table.
# see: https://pgroonga.github.io/tutorial/
# - meilisearch
# Use Meilisearch.
# You need to install Meilisearch and configure.
provider: sqlLike
# For Meilisearch settings.
# If you select "meilisearch" for "fulltextSearch.provider", it must be set.
# You can set scope to local or global (default value)
# (include notes from remote).
#meilisearch:
# host: meilisearch
# port: 7700
# apiKey: ''
# ssl: true
# index: ''
# scope: global
# ┌───────────────┐
#───┘ ID generation └───────────────────────────────────────────
# You can select the ID generation method.
# You don't usually need to change this setting, but you can
# change it according to your preferences.
# Available methods:
# aid ... Short, Millisecond accuracy
# aidx ... Millisecond accuracy
# meid ... Similar to ObjectID, Millisecond accuracy
# ulid ... Millisecond accuracy
# objectid ... This is left for backward compatibility
# ONCE YOU HAVE STARTED THE INSTANCE, DO NOT CHANGE THE
# ID SETTINGS AFTER THAT!
id: 'aidx'
# ┌─────────────────────┐
#───┘ Other configuration └─────────────────────────────────────
# Whether disable HSTS
#disableHsts: true
# Number of worker processes
#clusterLimit: 1
# Job concurrency per worker
# deliverJobConcurrency: 128
# inboxJobConcurrency: 16
# relashionshipJobConcurrency: 16
# What's relashionshipJob?:
# Follow, unfollow, block and unblock(ings) while following-imports, etc. or account migrations.
# Job rate limiter
# deliverJobPerSec: 128
# inboxJobPerSec: 32
# relashionshipJobPerSec: 64
# Job attempts
# deliverJobMaxAttempts: 12
# inboxJobMaxAttempts: 8
# Local address used for outgoing requests
#outgoingAddress: 127.0.0.1
# IP address family used for outgoing request (ipv4, ipv6 or dual)
#outgoingAddressFamily: ipv4
# Amount of characters that can be used when writing notes. Longer notes will be rejected. (minimum: 1)
#maxNoteLength: 3000
# Amount of characters that will be saved for remote notes. Longer notes will be truncated to this length. (minimum: 1)
#maxRemoteNoteLength: 100000
# Amount of characters that can be used when writing content warnings. Longer warnings will be rejected. (minimum: 1)
#maxCwLength: 500
# Amount of characters that will be saved for remote content warnings. Longer warnings will be truncated to this length. (minimum: 1)
#maxRemoteCwLength: 5000
# Amount of characters that can be used when writing media descriptions (alt text). Longer descriptions will be rejected. (minimum: 1)
#maxAltTextLength: 20000
# Amount of characters that will be saved for remote media descriptions (alt text). Longer descriptions will be truncated to this length. (minimum: 1)
#maxRemoteAltTextLength: 100000
# Proxy for HTTP/HTTPS
#proxy: http://127.0.0.1:3128
proxyBypassHosts:
- api.deepl.com
- api-free.deepl.com
- www.recaptcha.net
- hcaptcha.com
- challenges.cloudflare.com
# Proxy for SMTP/SMTPS
#proxySmtp: http://127.0.0.1:3128 # use HTTP/1.1 CONNECT
#proxySmtp: socks4://127.0.0.1:1080 # use SOCKS4
#proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5
# Media Proxy
#mediaProxy: https://example.com/proxy
# Proxy remote files (default: true)
# Proxy remote files by this instance or mediaProxy to prevent remote files from running in remote domains.
proxyRemoteFiles: true
# Movie Thumbnail Generation URL
# There is no reference implementation.
# For example, Misskey will point to the following URL:
# https://example.com/thumbnail.webp?thumbnail=1&url=https%3A%2F%2Fstorage.example.com%2Fpath%2Fto%2Fvideo.mp4
#videoThumbnailGenerator: https://example.com
# Sign outgoing ActivityPub GET request (default: true)
signToActivityPubGet: true
# Sign outgoing ActivityPub Activities (default: true)
# Linked Data signatures are cryptographic signatures attached to each activity to provide proof of authenticity.
# When using authorized fetch, this is often undesired as any signed activity can be forwarded to a blocked instance by relays and other instances.
# This setting allows admins to disable LD signatures for increased privacy, at the expense of fewer relayed activities and additional inbound fetch (GET) requests.
attachLdSignatureForRelays: true
# check that inbound ActivityPub GET requests are signed ("authorized fetch")
checkActivityPubGetSignature: false
# For security reasons, uploading attachments from the intranet is prohibited,
# but exceptions can be made from the following settings. Default value is "undefined".
# Read changelog to learn more (Improvements of 12.90.0 (2021/09/04)).
allowedPrivateNetworks: [
'127.0.0.1/32',
'192.168.65.0/24'
]
#customMOTD: ['Hello World', 'The sharks rule all', 'Shonks']
# Upload or download file size limits (bytes)
#maxFileSize: 262144000
# CHMod-style permission bits to apply to uploaded files.
# Permission bits are specified as a base-8 string representing User/Group/Other permissions.
# This setting is only useful for custom deployments, such as using a reverse proxy to serve media.
#filePermissionBits: '644'
# Log settings
# logging:
# sql:
# # Outputs query parameters during SQL execution to the log.
# # default: false
# enableQueryParamLogging: false
# # Disable query truncation. If set to true, the full text of the query will be output to the log.
# # default: false
# disableQueryTruncation: false
# Settings for the activity logger, which records inbound activities to the database.
# Disabled by default due to the large volume of data it saves.
#activityLogging:
# Log activities to the database (default: false)
#enabled: false
# Save the activity before processing, then update later with the results.
# This has the advantage of capturing activities that cause a hard-crash, but doubles the number of queries used.
# Default: false
#preSave: false
# How long to save each log entry before deleting it.
# Default: 2592000000 (1 week)
#maxAge: 2592000000

11
.config/docker_ci.env Normal file
View file

@ -0,0 +1,11 @@
# misskey settings
# MISSKEY_URL=https://example.tld/
# db settings
POSTGRES_PASSWORD=ci
# DATABASE_PASSWORD=${POSTGRES_PASSWORD}
POSTGRES_USER=postgres
# DATABASE_USER=${POSTGRES_USER}
POSTGRES_DB=postgres
# DATABASE_DB=${POSTGRES_DB}
DATABASE_URL="postgres://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB}"

View file

@ -1,5 +1,5 @@
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ #━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# Misskey configuration # Sharkey configuration
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ #━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# ┌──────────────────────────────┐ # ┌──────────────────────────────┐
@ -9,14 +9,14 @@
# First of all, let me tell you a story that may possibly be # First of all, let me tell you a story that may possibly be
# boring to you and possibly important to you. # boring to you and possibly important to you.
# #
# Misskey is licensed under the AGPLv3 license. This license is # Sharkey is licensed under the AGPLv3 license. This license is
# known to be often misunderstood. Please read the following # known to be often misunderstood. Please read the following
# instructions carefully and select the appropriate option so # instructions carefully and select the appropriate option so
# that you do not negligently cause a license violation. # that you do not negligently cause a license violation.
# #
# -------- # --------
# Option 1: If you host Misskey AS-IS (without any changes to # Option 1: If you host Sharkey AS-IS (without any changes to
# the source code. forks are not included). # the source code. forks are not included).
# #
# Step 1: Congratulations! You don't need to do anything. # Step 1: Congratulations! You don't need to do anything.
@ -28,8 +28,8 @@
# this repository. Strictly speaking, it doesn't have # this repository. Strictly speaking, it doesn't have
# to be a Git repository, but you'll probably use Git! # to be a Git repository, but you'll probably use Git!
# #
# Step 1: Build and run the Misskey server first. # Step 1: Build and run the Sharkey server first.
# Step 2: Open <https://your.misskey.example/admin/settings> in # Step 2: Open <https://your.sharkey.example/admin/settings> in
# your browser with the administrator account. # your browser with the administrator account.
# Step 3: Enter the URL of your Git repository in the # Step 3: Enter the URL of your Git repository in the
# "Repository URL" field. # "Repository URL" field.
@ -37,15 +37,15 @@
# -------- # --------
# Option 3: If neither of the above applies to you. # Option 3: If neither of the above applies to you.
# (In this case, the source code should be published # (In this case, the source code should be published
# on the Misskey interface. IT IS NOT ENOUGH TO # on the Sharkey interface. IT IS NOT ENOUGH TO
# DISCLOSE THE SOURCE CODE WEHN A USER REQUESTS IT BY # DISCLOSE THE SOURCE CODE WHEN A USER REQUESTS IT BY
# E-MAIL OR OTHER MEANS. If you are not satisfied # E-MAIL OR OTHER MEANS. If you are not satisfied
# with this, it is recommended that you read the # with this, it is recommended that you read the
# license again carefully. Anyway, enabling this # license again carefully. Anyway, enabling this
# option will automatically generate and publish a # option will automatically generate and publish a
# tarball at build time, protecting you from # tarball at build time, protecting you from
# inadvertent license violations. (There is no legal # inadvertent license violations. (There is no legal
# guarantee, of course.) The tarball will generated # guarantee, of course.) The tarball will be generated
# from the root directory of your codebase. So it is # from the root directory of your codebase. So it is
# also recommended to check <built/tarball> directory # also recommended to check <built/tarball> directory
# once after building and before activating the server # once after building and before activating the server
@ -59,6 +59,20 @@
# #
# publishTarballInsteadOfProvideRepositoryUrl: true # publishTarballInsteadOfProvideRepositoryUrl: true
# ┌────────────────────────┐
#───┘ Initial Setup Password └─────────────────────────────────────────────────────
# Password to initiate setting up admin account.
# It will not be used after the initial setup is complete.
#
# Be sure to change this when you set up Sharkey via the Internet.
#
# The provider of the service who sets up Sharkey on behalf of the customer should
# set this value to something unique when generating the Sharkey config file,
# and provide it to the customer.
#
# setupPassword: example_password_please_change_this_or_you_will_get_hacked
# ┌─────┐ # ┌─────┐
#───┘ URL └───────────────────────────────────────────────────── #───┘ URL └─────────────────────────────────────────────────────
@ -73,11 +87,11 @@ url: https://example.tld/
#───┘ Port and TLS settings └─────────────────────────────────── #───┘ Port and TLS settings └───────────────────────────────────
# #
# Misskey requires a reverse proxy to support HTTPS connections. # Sharkey requires a reverse proxy to support HTTPS connections.
# #
# +----- https://example.tld/ ------------+ # +----- https://example.tld/ ------------+
# +------+ |+-------------+ +----------------+| # +------+ |+-------------+ +----------------+|
# | User | ---> || Proxy (443) | ---> | Misskey (3000) || # | User | ---> || Proxy (443) | ---> | Sharkey (3000) ||
# +------+ |+-------------+ +----------------+| # +------+ |+-------------+ +----------------+|
# +---------------------------------------+ # +---------------------------------------+
# #
@ -85,7 +99,7 @@ url: https://example.tld/
# An encrypted connection with HTTPS is highly recommended # An encrypted connection with HTTPS is highly recommended
# because tokens may be transferred in GET requests. # because tokens may be transferred in GET requests.
# The port that your Misskey server should listen on. # The port that your Sharkey server should listen on.
port: 3000 port: 3000
# ┌──────────────────────────┐ # ┌──────────────────────────┐
@ -104,12 +118,21 @@ db:
user: example-misskey-user user: example-misskey-user
pass: example-misskey-pass pass: example-misskey-pass
# Whether disable Caching queries ## Log a warning to the server console if any query takes longer than this to complete.
#disableCache: true ## Measured in milliseconds; set to 0 to disable. (default: 300)
#slowQueryThreshold: 300
# If false, then query results will be cached in redis.
# If true (default), then queries will not be cached.
# This will reduce database load at the cost of increased Redis traffic and risk of bugs and unpredictable behavior.
#disableCache: false
# Extra Connection options # Extra Connection options
#extra: #extra:
# ssl: true # ssl: true
# # Set a higher value if you have timeout issues during migration
# statement_timeout: 10000
dbReplications: false dbReplications: false
@ -138,6 +161,8 @@ redis:
#pass: example-pass #pass: example-pass
#prefix: example-prefix #prefix: example-prefix
#db: 1 #db: 1
# You can specify more ioredis options...
#username: example-username
#redisForPubsub: #redisForPubsub:
# host: redis # host: redis
@ -146,6 +171,8 @@ redis:
# #pass: example-pass # #pass: example-pass
# #prefix: example-prefix # #prefix: example-prefix
# #db: 1 # #db: 1
# # You can specify more ioredis options...
# #username: example-username
#redisForJobQueue: #redisForJobQueue:
# host: redis # host: redis
@ -154,6 +181,8 @@ redis:
# #pass: example-pass # #pass: example-pass
# #prefix: example-prefix # #prefix: example-prefix
# #db: 1 # #db: 1
# # You can specify more ioredis options...
# #username: example-username
#redisForTimelines: #redisForTimelines:
# host: redis # host: redis
@ -162,6 +191,8 @@ redis:
# #pass: example-pass # #pass: example-pass
# #prefix: example-prefix # #prefix: example-prefix
# #db: 1 # #db: 1
# # You can specify more ioredis options...
# #username: example-username
#redisForReactions: #redisForReactions:
# host: redis # host: redis
@ -170,11 +201,54 @@ redis:
# #pass: example-pass # #pass: example-pass
# #prefix: example-prefix # #prefix: example-prefix
# #db: 1 # #db: 1
# # You can specify more ioredis options...
# #username: example-username
# ┌───────────────────────────┐ #redisForRateLimit:
#───┘ MeiliSearch configuration └───────────────────────────── # host: localhost
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
# # You can specify more ioredis options...
# #username: example-username
# You can set scope to local (default value) or global # ┌───────────────────────────────┐
#───┘ Fulltext search configuration └─────────────────────────────
# These are the setting items for the full-text search provider.
fulltextSearch:
# You can select the ID generation method.
# - sqlLike (default)
# Use SQL-like search.
# This is a standard feature of PostgreSQL, so no special extensions are required.
# - sqlPgroonga
# Use pgroonga.
# You need to install pgroonga and configure it as a PostgreSQL extension.
# In addition to the above, you need to create a pgroonga index on the text column of the note table.
# see: https://pgroonga.github.io/tutorial/
# - sqlTsvector
# Use Postgres tsvectors.
# You need to create a generated column and index on the note table to use this, followed by an ANALYZE on the table. Beware, this will take a while to be created and the database will remain locked during this process.
# This also enables advanced search syntax, see documentation of websearch_to_tsquery: https://www.postgresql.org/docs/current/textsearch-controls.html#TEXTSEARCH-PARSING-QUERIES
# Support for multiple languages is currently rather poor and will be improved once post languages become a feature.
#
# Example to set up tsvectors for an English instance:
# ALTER TABLE note ADD COLUMN tsvector_embedding tsvector GENERATED ALWAYS AS ( to_tsvector('english', COALESCE(text, '') || ' ' || COALESCE(cw, '') || ' ' || COALESCE(name, ''))) STORED;
# CREATE INDEX vector_idx ON note USING GIN (tsvector_embedding);
# ANALYZE note;
#
# Note: You can opt to use a different dictionary for better results if your main instance language is not English.
# To get a list, use "SELECT cfgname FROM pg_ts_config;" and replace 'english' with the desired dictionary name.
# - meilisearch
# Use Meilisearch.
# You need to install Meilisearch and configure.
provider: sqlLike
# For Meilisearch settings.
# If you select "meilisearch" for "fulltextSearch.provider", it must be set.
# You can set scope to local or global (default value)
# (include notes from remote). # (include notes from remote).
#meilisearch: #meilisearch:
@ -216,6 +290,11 @@ id: 'aidx'
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0' # dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
#sentryForFrontend: #sentryForFrontend:
# vueIntegration:
# tracingOptions:
# trackComponents: true
# browserTracingIntegration:
# replayIntegration:
# options: # options:
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0' # dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
@ -229,20 +308,20 @@ id: 'aidx'
#clusterLimit: 1 #clusterLimit: 1
# Job concurrency per worker # Job concurrency per worker
# deliverJobConcurrency: 128 #deliverJobConcurrency: 128
# inboxJobConcurrency: 16 #inboxJobConcurrency: 16
# relationshipJobConcurrency: 16 #relationshipJobConcurrency: 16
# What's relationshipJob?: # What's relationshipJob?:
# Follow, unfollow, block and unblock(ings) while following-imports, etc. or account migrations. # Follow, unfollow, block and unblock(ings) while following-imports, etc. or account migrations.
# Job rate limiter # Job rate limiter
# deliverJobPerSec: 128 #deliverJobPerSec: 128
# inboxJobPerSec: 32 #inboxJobPerSec: 32
# relationshipJobPerSec: 64 #relationshipJobPerSec: 64
# Job attempts # Job attempts
# deliverJobMaxAttempts: 12 #deliverJobMaxAttempts: 12
# inboxJobMaxAttempts: 8 #inboxJobMaxAttempts: 8
# Local address used for outgoing requests # Local address used for outgoing requests
#outgoingAddress: 127.0.0.1 #outgoingAddress: 127.0.0.1
@ -278,7 +357,14 @@ proxyBypassHosts:
#proxySmtp: socks4://127.0.0.1:1080 # use SOCKS4 #proxySmtp: socks4://127.0.0.1:1080 # use SOCKS4
#proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5 #proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5
# Path to the directory that uploaded media will be saved to
# Defaults to a folder called "files" in the Sharkey directory
#mediaDirectory: /var/lib/sharkey
# Media Proxy # Media Proxy
# Reference Implementation: https://github.com/misskey-dev/media-proxy
# * Deliver a common cache between instances
# * Perform image compression (on a different server resource than the main process)
#mediaProxy: https://example.com/proxy #mediaProxy: https://example.com/proxy
# Proxy remote files (default: true) # Proxy remote files (default: true)
@ -287,7 +373,7 @@ proxyRemoteFiles: true
# Movie Thumbnail Generation URL # Movie Thumbnail Generation URL
# There is no reference implementation. # There is no reference implementation.
# For example, Misskey will point to the following URL: # For example, Sharkey will point to the following URL:
# https://example.com/thumbnail.webp?thumbnail=1&url=https%3A%2F%2Fstorage.example.com%2Fpath%2Fto%2Fvideo.mp4 # https://example.com/thumbnail.webp?thumbnail=1&url=https%3A%2F%2Fstorage.example.com%2Fpath%2Fto%2Fvideo.mp4
#videoThumbnailGenerator: https://example.com #videoThumbnailGenerator: https://example.com
@ -298,17 +384,87 @@ signToActivityPubGet: true
# When using authorized fetch, this is often undesired as any signed activity can be forwarded to a blocked instance by relays and other instances. # When using authorized fetch, this is often undesired as any signed activity can be forwarded to a blocked instance by relays and other instances.
# This setting allows admins to disable LD signatures for increased privacy, at the expense of fewer relayed activities and additional inbound fetch (GET) requests. # This setting allows admins to disable LD signatures for increased privacy, at the expense of fewer relayed activities and additional inbound fetch (GET) requests.
attachLdSignatureForRelays: true attachLdSignatureForRelays: true
# check that inbound ActivityPub GET requests are signed ("authorized fetch")
checkActivityPubGetSignature: false
# For security reasons, uploading attachments from the intranet is prohibited, # For security reasons, uploading attachments from the intranet is prohibited,
# but exceptions can be made from the following settings. Default value is "undefined". # but exceptions can be made from the following settings. Default value is "undefined".
# Read changelog to learn more (Improvements of 12.90.0 (2021/09/04)). # Read changelog to learn more (Improvements of 12.90.0 (2021/09/04)).
#allowedPrivateNetworks: [ # Some example configurations:
# '127.0.0.1/32' #allowedPrivateNetworks:
#] # # Allow connections to 127.0.0.1 on any port
# - '127.0.0.1/32'
# # Allow connections to 127.0.0.* on any port
# - '127.0.0.1/24'
# # Allow connections to 127.0.0.1 on any port
# - '127.0.0.1'
# # Allow connections to 127.0.0.1 on any port
# - network: '127.0.0.1'
# # Allow connections to 127.0.0.1 on port 80
# - network: '127.0.0.1'
# ports: [80]
# # Allow connections to 127.0.0.1 on port 80 or 443
# - network: '127.0.0.1'
# ports:
# - 80
# - 443
#customMOTD: ['Hello World', 'The sharks rule all', 'Shonks'] #customMOTD: ['Hello World', 'The sharks rule all', 'Shonks']
# Disable automatic redirect for ActivityPub object lookup. (default: false)
# This is a strong defense against potential impersonation attacks if the viewer instance has inadequate validation.
# However it will make it impossible for other instances to lookup third-party user and notes through your URL.
#disallowExternalApRedirect: true
# Upload or download file size limits (bytes) # Upload or download file size limits (bytes)
#maxFileSize: 262144000 #maxFileSize: 262144000
# timeout (in milliseconds) and maximum size for imports (e.g. note imports)
#import:
# downloadTimeout: 30000
# maxFileSize: 262144000
# CHMod-style permission bits to apply to uploaded files.
# Permission bits are specified as a base-8 string representing User/Group/Other permissions.
# This setting is only useful for custom deployments, such as using a reverse proxy to serve media.
#filePermissionBits: '644'
# Log settings
# logging:
# sql:
# # Outputs query parameters during SQL execution to the log.
# # default: false
# enableQueryParamLogging: false
# # Disable query truncation. If set to true, the full text of the query will be output to the log.
# # default: false
# disableQueryTruncation: false
# # Shows debug log messages after instance startup. To capture earlier debug logs, set the MK_VERBOSE environment variable.
# # default: false in production, true otherwise.
# #verbose: false
# Settings for the activity logger, which records inbound activities to the database.
# Disabled by default due to the large volume of data it saves.
#activityLogging:
# Log activities to the database (default: false)
#enabled: false
# Save the activity before processing, then update later with the results.
# This has the advantage of capturing activities that cause a hard-crash, but doubles the number of queries used.
# Default: false
#preSave: false
# How long to save each log entry before deleting it.
# Default: 2592000000 (1 week)
#maxAge: 2592000000
# Transparently compress every websocket message on clients that support it.
# Trades server CPU usage for reduced bandwidth usage and a faster frontend on the client.
# If you're not using jemalloc, this may cause memory fragmentation and performance issues! (https://www.npmjs.com/package/ws#websocket-compression)
# jemalloc is used by default in the Sharkey Docker image and may be set up manually otherwise: https://github.com/jemalloc/jemalloc/wiki/getting-started
websocketCompression: false
# Inject arbitrary HTML tags to customize Sharkey without having to fork it
#customHtml:
# head: |
# <!-- The possibilities are limitless! -->
# <script>console.log("Hello, world!")</script>
# <style>.whatever { color: red; }</style>
# <link rel="stylesheet" href="https://example.com/styles.css">

View file

@ -1,5 +1,5 @@
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ #━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# Misskey configuration # Sharkey configuration
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ #━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# ┌──────────────────────────────┐ # ┌──────────────────────────────┐
@ -9,14 +9,14 @@
# First of all, let me tell you a story that may possibly be # First of all, let me tell you a story that may possibly be
# boring to you and possibly important to you. # boring to you and possibly important to you.
# #
# Misskey is licensed under the AGPLv3 license. This license is # Sharkey is licensed under the AGPLv3 license. This license is
# known to be often misunderstood. Please read the following # known to be often misunderstood. Please read the following
# instructions carefully and select the appropriate option so # instructions carefully and select the appropriate option so
# that you do not negligently cause a license violation. # that you do not negligently cause a license violation.
# #
# -------- # --------
# Option 1: If you host Misskey AS-IS (without any changes to # Option 1: If you host Sharkey AS-IS (without any changes to
# the source code. forks are not included). # the source code. forks are not included).
# #
# Step 1: Congratulations! You don't need to do anything. # Step 1: Congratulations! You don't need to do anything.
@ -28,8 +28,8 @@
# this repository. Strictly speaking, it doesn't have # this repository. Strictly speaking, it doesn't have
# to be a Git repository, but you'll probably use Git! # to be a Git repository, but you'll probably use Git!
# #
# Step 1: Build and run the Misskey server first. # Step 1: Build and run the Sharkey server first.
# Step 2: Open <https://your.misskey.example/admin/settings> in # Step 2: Open <https://your.sharkey.example/admin/settings> in
# your browser with the administrator account. # your browser with the administrator account.
# Step 3: Enter the URL of your Git repository in the # Step 3: Enter the URL of your Git repository in the
# "Repository URL" field. # "Repository URL" field.
@ -37,7 +37,7 @@
# -------- # --------
# Option 3: If neither of the above applies to you. # Option 3: If neither of the above applies to you.
# (In this case, the source code should be published # (In this case, the source code should be published
# on the Misskey interface. IT IS NOT ENOUGH TO # on the Sharkey interface. IT IS NOT ENOUGH TO
# DISCLOSE THE SOURCE CODE WHEN A USER REQUESTS IT BY # DISCLOSE THE SOURCE CODE WHEN A USER REQUESTS IT BY
# E-MAIL OR OTHER MEANS. If you are not satisfied # E-MAIL OR OTHER MEANS. If you are not satisfied
# with this, it is recommended that you read the # with this, it is recommended that you read the
@ -45,7 +45,7 @@
# option will automatically generate and publish a # option will automatically generate and publish a
# tarball at build time, protecting you from # tarball at build time, protecting you from
# inadvertent license violations. (There is no legal # inadvertent license violations. (There is no legal
# guarantee, of course.) The tarball will generated # guarantee, of course.) The tarball will be generated
# from the root directory of your codebase. So it is # from the root directory of your codebase. So it is
# also recommended to check <built/tarball> directory # also recommended to check <built/tarball> directory
# once after building and before activating the server # once after building and before activating the server
@ -59,6 +59,20 @@
# #
# publishTarballInsteadOfProvideRepositoryUrl: true # publishTarballInsteadOfProvideRepositoryUrl: true
# ┌────────────────────────┐
#───┘ Initial Setup Password └─────────────────────────────────────────────────────
# Password to initiate setting up admin account.
# It will not be used after the initial setup is complete.
#
# Be sure to change this when you set up Sharkey via the Internet.
#
# The provider of the service who sets up Sharkey on behalf of the customer should
# set this value to something unique when generating the Sharkey config file,
# and provide it to the customer.
#
# setupPassword: example_password_please_change_this_or_you_will_get_hacked
# ┌─────┐ # ┌─────┐
#───┘ URL └───────────────────────────────────────────────────── #───┘ URL └─────────────────────────────────────────────────────
@ -72,11 +86,11 @@ url: https://example.tld/
#───┘ Port and TLS settings └─────────────────────────────────── #───┘ Port and TLS settings └───────────────────────────────────
# #
# Misskey requires a reverse proxy to support HTTPS connections. # Sharkey requires a reverse proxy to support HTTPS connections.
# #
# +----- https://example.tld/ ------------+ # +----- https://example.tld/ ------------+
# +------+ |+-------------+ +----------------+| # +------+ |+-------------+ +----------------+|
# | User | ---> || Proxy (443) | ---> | Misskey (3000) || # | User | ---> || Proxy (443) | ---> | Sharkey (3000) ||
# +------+ |+-------------+ +----------------+| # +------+ |+-------------+ +----------------+|
# +---------------------------------------+ # +---------------------------------------+
# #
@ -84,11 +98,13 @@ url: https://example.tld/
# An encrypted connection with HTTPS is highly recommended # An encrypted connection with HTTPS is highly recommended
# because tokens may be transferred in GET requests. # because tokens may be transferred in GET requests.
# The port that your Misskey server should listen on. # The port that your Sharkey server should listen on.
port: 3000 port: 3000
# the address to bind to, defaults to "every address"
# address: '0.0.0.0'
# You can also use UNIX domain socket. # You can also use UNIX domain socket.
# socket: /path/to/misskey.sock # socket: /path/to/sharkey.sock
# chmodSocket: '777' # chmodSocket: '777'
# ┌──────────────────────────┐ # ┌──────────────────────────┐
@ -99,18 +115,27 @@ db:
port: 5432 port: 5432
# Database name # Database name
db: misskey db: sharkey
# Auth # Auth
user: example-misskey-user user: sharkey
pass: example-misskey-pass pass: example-misskey-pass
# Whether disable Caching queries ## Log a warning to the server console if any query takes longer than this to complete.
#disableCache: true ## Measured in milliseconds; set to 0 to disable. (default: 300)
#slowQueryThreshold: 300
# If false, then query results will be cached in redis.
# If true (default), then queries will not be cached.
# This will reduce database load at the cost of increased Redis traffic and risk of bugs and unpredictable behavior.
#disableCache: false
# Extra Connection options # Extra Connection options
#extra: #extra:
# ssl: true # ssl: true
# # Set a higher value if you have timeout issues during migration
# statement_timeout: 10000
dbReplications: false dbReplications: false
@ -182,10 +207,51 @@ redis:
# # You can specify more ioredis options... # # You can specify more ioredis options...
# #username: example-username # #username: example-username
# ┌───────────────────────────┐ #redisForRateLimit:
#───┘ MeiliSearch configuration └───────────────────────────── # host: localhost
# port: 6379
# #family: 0 # 0=Both, 4=IPv4, 6=IPv6
# #pass: example-pass
# #prefix: example-prefix
# #db: 1
# # You can specify more ioredis options...
# #username: example-username
# You can set scope to local (default value) or global # ┌───────────────────────────────┐
#───┘ Fulltext search configuration └─────────────────────────────
# These are the setting items for the full-text search provider.
fulltextSearch:
# You can select the ID generation method.
# - sqlLike (default)
# Use SQL-like search.
# This is a standard feature of PostgreSQL, so no special extensions are required.
# - sqlPgroonga
# Use pgroonga.
# You need to install pgroonga and configure it as a PostgreSQL extension.
# In addition to the above, you need to create a pgroonga index on the text column of the note table.
# see: https://pgroonga.github.io/tutorial/
# - sqlTsvector
# Use Postgres tsvectors.
# You need to create a generated column and index on the note table to use this, followed by an ANALYZE on the table. Beware, this will take a while to be created and the database will remain locked during this process.
# This also enables advanced search syntax, see documentation of websearch_to_tsquery: https://www.postgresql.org/docs/current/textsearch-controls.html#TEXTSEARCH-PARSING-QUERIES
# Support for multiple languages is currently rather poor and will be improved once post languages become a feature.
#
# Example to set up tsvectors for an English instance:
# ALTER TABLE note ADD COLUMN tsvector_embedding tsvector GENERATED ALWAYS AS ( to_tsvector('english', COALESCE(text, '') || ' ' || COALESCE(cw, '') || ' ' || COALESCE(name, ''))) STORED;
# CREATE INDEX vector_idx ON note USING GIN (tsvector_embedding);
# ANALYZE note;
#
# Note: You can opt to use a different dictionary for better results if your main instance language is not English.
# To get a list, use "SELECT cfgname FROM pg_ts_config;" and replace 'english' with the desired dictionary name.
# - meilisearch
# Use Meilisearch.
# You need to install Meilisearch and configure.
provider: sqlLike
# For Meilisearch settings.
# If you select "meilisearch" for "fulltextSearch.provider", it must be set.
# You can set scope to local or global (default value)
# (include notes from remote). # (include notes from remote).
#meilisearch: #meilisearch:
@ -227,6 +293,11 @@ id: 'aidx'
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0' # dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
#sentryForFrontend: #sentryForFrontend:
# vueIntegration:
# tracingOptions:
# trackComponents: true
# browserTracingIntegration:
# replayIntegration:
# options: # options:
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0' # dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
@ -289,6 +360,10 @@ proxyBypassHosts:
#proxySmtp: socks4://127.0.0.1:1080 # use SOCKS4 #proxySmtp: socks4://127.0.0.1:1080 # use SOCKS4
#proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5 #proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5
# Path to the directory that uploaded media will be saved to
# Defaults to a folder called "files" in the Sharkey directory
#mediaDirectory: /var/lib/sharkey
# Media Proxy # Media Proxy
# Reference Implementation: https://github.com/misskey-dev/media-proxy # Reference Implementation: https://github.com/misskey-dev/media-proxy
# * Deliver a common cache between instances # * Deliver a common cache between instances
@ -301,7 +376,7 @@ proxyRemoteFiles: true
# Movie Thumbnail Generation URL # Movie Thumbnail Generation URL
# There is no reference implementation. # There is no reference implementation.
# For example, Misskey will point to the following URL: # For example, Sharkey will point to the following URL:
# https://example.com/thumbnail.webp?thumbnail=1&url=https%3A%2F%2Fstorage.example.com%2Fpath%2Fto%2Fvideo.mp4 # https://example.com/thumbnail.webp?thumbnail=1&url=https%3A%2F%2Fstorage.example.com%2Fpath%2Fto%2Fvideo.mp4
#videoThumbnailGenerator: https://example.com #videoThumbnailGenerator: https://example.com
@ -312,25 +387,90 @@ signToActivityPubGet: true
# When using authorized fetch, this is often undesired as any signed activity can be forwarded to a blocked instance by relays and other instances. # When using authorized fetch, this is often undesired as any signed activity can be forwarded to a blocked instance by relays and other instances.
# This setting allows admins to disable LD signatures for increased privacy, at the expense of fewer relayed activities and additional inbound fetch (GET) requests. # This setting allows admins to disable LD signatures for increased privacy, at the expense of fewer relayed activities and additional inbound fetch (GET) requests.
attachLdSignatureForRelays: true attachLdSignatureForRelays: true
# check that inbound ActivityPub GET requests are signed ("authorized fetch")
checkActivityPubGetSignature: false
# For security reasons, uploading attachments from the intranet is prohibited, # For security reasons, uploading attachments from the intranet is prohibited,
# but exceptions can be made from the following settings. Default value is "undefined". # but exceptions can be made from the following settings. Default value is "undefined".
# Read changelog to learn more (Improvements of 12.90.0 (2021/09/04)). # Read changelog to learn more (Improvements of 12.90.0 (2021/09/04)).
#allowedPrivateNetworks: [ # Some example configurations:
# '127.0.0.1/32' #allowedPrivateNetworks:
#] # # Allow connections to 127.0.0.1 on any port
# - '127.0.0.1/32'
# # Allow connections to 127.0.0.* on any port
# - '127.0.0.1/24'
# # Allow connections to 127.0.0.1 on any port
# - '127.0.0.1'
# # Allow connections to 127.0.0.1 on any port
# - network: '127.0.0.1'
# # Allow connections to 127.0.0.1 on port 80
# - network: '127.0.0.1'
# ports: [80]
# # Allow connections to 127.0.0.1 on port 80 or 443
# - network: '127.0.0.1'
# ports:
# - 80
# - 443
#customMOTD: ['Hello World', 'The sharks rule all', 'Shonks'] #customMOTD: ['Hello World', 'The sharks rule all', 'Shonks']
# Disable automatic redirect for ActivityPub object lookup. (default: false)
# This is a strong defense against potential impersonation attacks if the viewer instance has inadequate validation.
# However it will make it impossible for other instances to lookup third-party user and notes through your URL.
#disallowExternalApRedirect: true
# Upload or download file size limits (bytes) # Upload or download file size limits (bytes)
#maxFileSize: 262144000 #maxFileSize: 262144000
# timeout and maximum size for imports (e.g. note imports) # timeout (in milliseconds) and maximum size for imports (e.g. note imports)
#import: #import:
# downloadTimeout: 30 # downloadTimeout: 30000
# maxFileSize: 262144000 # maxFileSize: 262144000
# PID File of master process # PID File of master process
#pidFile: /tmp/misskey.pid #pidFile: /tmp/misskey.pid
# CHMod-style permission bits to apply to uploaded files.
# Permission bits are specified as a base-8 string representing User/Group/Other permissions.
# This setting is only useful for custom deployments, such as using a reverse proxy to serve media.
#filePermissionBits: '644'
# Log settings
# logging:
# sql:
# # Outputs query parameters during SQL execution to the log.
# # default: false
# enableQueryParamLogging: false
# # Disable query truncation. If set to true, the full text of the query will be output to the log.
# # default: false
# disableQueryTruncation: false
# # Shows debug log messages after instance startup. To capture earlier debug logs, set the MK_VERBOSE environment variable.
# # default: false in production, true otherwise.
# #verbose: false
# Settings for the activity logger, which records inbound activities to the database.
# Disabled by default due to the large volume of data it saves.
#activityLogging:
# Log activities to the database (default: false)
#enabled: false
# Save the activity before processing, then update later with the results.
# This has the advantage of capturing activities that cause a hard-crash, but doubles the number of queries used.
# Default: false
#preSave: false
# How long to save each log entry before deleting it.
# Default: 2592000000 (1 week)
#maxAge: 2592000000
# Transparently compress every websocket message on clients that support it.
# Trades server CPU usage for reduced bandwidth usage and a faster frontend on the client.
# If you're not using jemalloc, this may cause memory fragmentation and performance issues! (https://www.npmjs.com/package/ws#websocket-compression)
# jemalloc is used by default in the Sharkey Docker image and may be set up manually otherwise: https://github.com/jemalloc/jemalloc/wiki/getting-started
websocketCompression: false
# Inject arbitrary HTML tags to customize Sharkey without having to fork it
#customHtml:
# head: |
# <!-- The possibilities are limitless! -->
# <script>console.log("Hello, world!")</script>
# <style>.whatever { color: red; }</style>
# <link rel="stylesheet" href="https://example.com/styles.css">

17
.config/test-example.yml Normal file
View file

@ -0,0 +1,17 @@
url: 'http://misskey.local'
setupPassword: example_password_please_change_this_or_you_will_get_hacked
# ローカルでテストするときにポートを被らないようにするためデフォルトのものとは変える(以下同じ)
port: 61812
db:
host: 127.0.0.1
port: 5432
db: test-misskey
user: postgres
pass: ''
redis:
host: 127.0.0.1
port: 6379
id: aidx

View file

@ -5,9 +5,11 @@
"workspaceFolder": "/workspace", "workspaceFolder": "/workspace",
"features": { "features": {
"ghcr.io/devcontainers/features/node:1": { "ghcr.io/devcontainers/features/node:1": {
"version": "20.16.0" "version": "22.11.0"
}, },
"ghcr.io/devcontainers-contrib/features/corepack:1": {} "ghcr.io/devcontainers-extra/features/pnpm:2": {
"version": "10.10.0"
}
}, },
"forwardPorts": [3000], "forwardPorts": [3000],
"postCreateCommand": "/bin/bash .devcontainer/init.sh", "postCreateCommand": "/bin/bash .devcontainer/init.sh",

View file

@ -152,6 +152,11 @@ id: 'aidx'
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0' # dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
#sentryForFrontend: #sentryForFrontend:
# vueIntegration:
# tracingOptions:
# trackComponents: true
# browserTracingIntegration:
# replayIntegration:
# options: # options:
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0' # dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
@ -194,6 +199,10 @@ proxyBypassHosts:
#proxySmtp: socks4://127.0.0.1:1080 # use SOCKS4 #proxySmtp: socks4://127.0.0.1:1080 # use SOCKS4
#proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5 #proxySmtp: socks5://127.0.0.1:1080 # use SOCKS5
# Path to the directory that uploaded media will be saved to
# Defaults to a folder called "files" in the Sharkey directory
#mediaDirectory: /var/lib/sharkey
# Media Proxy # Media Proxy
#mediaProxy: https://example.com/proxy #mediaProxy: https://example.com/proxy

View file

@ -7,8 +7,6 @@ sudo apt-get update
sudo apt-get -y install libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libnss3 libxss1 libasound2 libxtst6 xauth xvfb sudo apt-get -y install libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libnss3 libxss1 libasound2 libxtst6 xauth xvfb
git config --global --add safe.directory /workspace git config --global --add safe.directory /workspace
git submodule update --init git submodule update --init
corepack install
corepack enable
pnpm config set store-dir /home/node/.local/share/pnpm/store pnpm config set store-dir /home/node/.local/share/pnpm/store
pnpm install --frozen-lockfile pnpm install --frozen-lockfile
cp .devcontainer/devcontainer.yml .config/default.yml cp .devcontainer/devcontainer.yml .config/default.yml

View file

@ -0,0 +1,31 @@
on:
pull_request:
types: [opened, synchronize, reopened]
jobs:
testCommit:
runs-on: yeentown-dev
container:
image: node:jod
services:
postgres:
image: postgres:15
env:
POSTGRES_PASSWORD: ci
redis:
image: redis:latest
steps:
- uses: actions/checkout@v4
- run: |
apt-get update && apt-get install -y git wget curl build-essential python3 ffmpeg
cp .config/ci.yml .config/default.yml
cp .config/ci.yml .config/test.yml
corepack enable
corepack prepare pnpm@latest --activate
git submodule update --init
pnpm install --frozen-lockfile
pnpm run build
pnpm run migrate
pnpm run --filter='!megalodon' test
pnpm run --filter=backend --filter=misskey-js lint
pnpm run --filter=frontend --filter=frontend-embed eslint

14
.gitignore vendored
View file

@ -36,11 +36,14 @@ coverage
# config # config
/.config/* /.config/*
!/.config/example.yml !/.config/example.yml
!/.config/test-example.yml
!/.config/docker_example.yml !/.config/docker_example.yml
!/.config/docker_example.env !/.config/docker_example.env
!/.config/cypress-devcontainer.yml !/.config/cypress-devcontainer.yml
!/.config/docker_ci.env
!/.config/dev.yml
docker-compose.yml docker-compose.yml
compose.yml ./compose.yml
.devcontainer/compose.yml .devcontainer/compose.yml
!/.devcontainer/compose.yml !/.devcontainer/compose.yml
@ -71,6 +74,8 @@ misskey-assets
# Vite temporary files # Vite temporary files
vite.config.js.timestamp-* vite.config.js.timestamp-*
vite.config.ts.timestamp-* vite.config.ts.timestamp-*
vite.config.local-dev.js.timestamp-*
vite.config.local-dev.ts.timestamp-*
# blender backups # blender backups
*.blend1 *.blend1
@ -84,3 +89,10 @@ vite.config.ts.timestamp-*
# Sharkey # Sharkey
/packages/megalodon/lib /packages/megalodon/lib
# dev env
/compose.yml
# TypeScript
.tsbuildinfo
*.tsbuildinfo

View file

@ -4,24 +4,25 @@ stages:
testCommit: testCommit:
stage: test stage: test
image: node:iron image: node:jod
services: services:
- postgres:15 - postgres:15
- redis - redis
variables: variables:
POSTGRES_PASSWORD: ci POSTGRES_PASSWORD: ci
COREPACK_DEFAULT_TO_LATEST: 0
script: script:
- apt-get update && apt-get install -y git wget curl build-essential python3 ffmpeg - apt-get update && apt-get install -y git wget curl build-essential python3 ffmpeg
- cp .config/ci.yml .config/default.yml - cp .config/ci.yml .config/default.yml
- cp .config/ci.yml .config/test.yml - cp .config/ci.yml .config/test.yml
- corepack enable - corepack enable
- corepack prepare pnpm@latest --activate - corepack install
- git submodule update --init - git submodule update --init
- pnpm install --frozen-lockfile - pnpm install --frozen-lockfile
- pnpm run build - pnpm run build
- pnpm run migrate - pnpm run migrate
- pnpm run --filter='!megalodon' test - pnpm run test
- pnpm run --filter=backend --filter=misskey-js lint - pnpm run --filter=backend --filter=misskey-js --filter=frontend-shared lint
- pnpm run --filter=frontend --filter=frontend-embed eslint - pnpm run --filter=frontend --filter=frontend-embed eslint
cache: cache:
key: test key: test

View file

@ -3,27 +3,33 @@
🔒 Found a security vulnerability? [Please disclose it responsibly.](https://activitypub.software/TransFem-org/Sharkey/-/blob/develop/SECURITY.md) 🔒 Found a security vulnerability? [Please disclose it responsibly.](https://activitypub.software/TransFem-org/Sharkey/-/blob/develop/SECURITY.md)
🤝 By submitting this feature request, you agree to follow our [Contribution Guidelines.](https://activitypub.software/TransFem-org/Sharkey/-/blob/develop/CONTRIBUTING.md) --> 🤝 By submitting this feature request, you agree to follow our [Contribution Guidelines.](https://activitypub.software/TransFem-org/Sharkey/-/blob/develop/CONTRIBUTING.md) -->
**What happened?** _(Please give us a brief description of what happened.)_ # **What happened?**
<!-- Please give us a brief description of what happened. -->
**What did you expect to happen?** _(Please give us a brief description of what you expected to happen.)_ # **What did you expect to happen?**
<!-- Please give us a brief description of what you expected to happen. -->
**Version** _(What version of Sharkey is your instance running? You can find this by clicking your instance's logo at the top left and then clicking instance information.)_ # **Version**
<!-- What version of Sharkey is your instance running? You can find this by clicking your instance's logo at the top left and then clicking instance information. -->
**Instance** _(What instance of Sharkey are you using?)_ # **Instance**
<!-- What instance of Sharkey are you using? -->
**What type of issue is this?** _(If this happens on your device and has to do with the user interface, it's client-side. If this happens on either with the API or the backend, or you got a server-side error in the client, it's server-side.)_ # **What type of issue is this?**
<!-- If this happens on your device and has to do with the user interface, it's client-side. If this happens on either with the API or the backend, or you got a server-side error in the client, it's server-side. -->
**What browser are you using? (Client-side issues only)** # **What browser are you using? (Client-side issues only)**
**What operating system are you using? (Client-side issues only)** # **What operating system are you using? (Client-side issues only)**
**How do you deploy Sharkey on your server? (Server-side issues only)** # **How do you deploy Sharkey on your server? (Server-side issues only)**
**What operating system are you using? (Server-side issues only)** # **What operating system are you using? (Server-side issues only)**
**Relevant log output** _(Please copy and paste any relevant log output. You can find your log by inspecting the page, and going to the "console" tab. This will be automatically formatted into code, so no need for backticks.)_ # **Relevant log output**
<!-- Please copy and paste any relevant log output. You can find your log by inspecting the page, and going to the "console" tab. This will be automatically formatted into code, so no need for backticks. -->
**Contribution Guidelines** # **Contribution Guidelines**
By submitting this issue, you agree to follow our [Contribution Guidelines](https://activitypub.software/TransFem-org/Sharkey/-/blob/develop/CONTRIBUTING.md) By submitting this issue, you agree to follow our [Contribution Guidelines](https://activitypub.software/TransFem-org/Sharkey/-/blob/develop/CONTRIBUTING.md)
- [ ] I agree to follow this project's Contribution Guidelines - [ ] I agree to follow this project's Contribution Guidelines
- [ ] I have searched the issue tracker for similar issues, and this is not a duplicate. - [ ] I have searched the issue tracker for similar issues, and this is not a duplicate.

View file

@ -3,15 +3,19 @@
🔒 Found a security vulnerability? [Please disclose it responsibly.](https://activitypub.software/TransFem-org/Sharkey/-/blob/develop/SECURITY.md) 🔒 Found a security vulnerability? [Please disclose it responsibly.](https://activitypub.software/TransFem-org/Sharkey/-/blob/develop/SECURITY.md)
🤝 By submitting this feature request, you agree to follow our [Contribution Guidelines.](https://activitypub.software/TransFem-org/Sharkey/-/blob/develop/CONTRIBUTING.md) --> 🤝 By submitting this feature request, you agree to follow our [Contribution Guidelines.](https://activitypub.software/TransFem-org/Sharkey/-/blob/develop/CONTRIBUTING.md) -->
**What feature would you like implemented?** _(Please give us a brief description of what you'd like.)_ # **What feature would you like implemented?**
<!-- Please give us a brief description of what you'd like. -->
**Why should we add this feature?** _(Please give us a brief description of why your feature is important.)_ # **Why should we add this feature?**
<!-- Please give us a brief description of why your feature is important. -->
**Version** _(What version of Sharkey is your instance running? You can find this by clicking your instance's logo at the top left and then clicking instance information.)_ # **Version**
<!-- What version of Sharkey is your instance running? You can find this by clicking your instance's logo at the top left and then clicking instance information. -->
**Instance** _(What instance of Sharkey are you using?)_ # **Instance**
<!-- What instance of Sharkey are you using? -->
**Contribution Guidelines** # **Contribution Guidelines**
By submitting this issue, you agree to follow our [Contribution Guidelines](https://activitypub.software/TransFem-org/Sharkey/-/blob/develop/CONTRIBUTING.md) By submitting this issue, you agree to follow our [Contribution Guidelines](https://activitypub.software/TransFem-org/Sharkey/-/blob/develop/CONTRIBUTING.md)
- [ ] I agree to follow this project's Contribution Guidelines - [ ] I agree to follow this project's Contribution Guidelines
- [ ] I have searched the issue tracker for similar requests, and this is not a duplicate. - [ ] I have searched the issue tracker for similar requests, and this is not a duplicate.

View file

@ -1,11 +1,14 @@
<!-- Thanks for taking the time to make Sharkey better! --> <!-- Thanks for taking the time to make Sharkey better! -->
**What does this PR do?** _(Please give us a brief description of what this PR does.)_ # **What does this MR do?**
<!-- Please give us a brief description of what this PR does. -->
**Contribution Guidelines** %{all_commits}
# **Contribution Guidelines**
By submitting this merge request, you agree to follow our [Contribution Guidelines](https://activitypub.software/TransFem-org/Sharkey/-/blob/develop/CONTRIBUTING.md) By submitting this merge request, you agree to follow our [Contribution Guidelines](https://activitypub.software/TransFem-org/Sharkey/-/blob/develop/CONTRIBUTING.md)
- [ ] I agree to follow this project's Contribution Guidelines - [ ] I agree to follow this project's Contribution Guidelines
- [ ] I have made sure to test this pull request - [ ] I have made sure to test this merge request
<!-- Uncomment if your merge request has multiple authors --> <!-- Uncomment if your merge request has multiple authors -->
<!-- Co-authored-by: Name <email@email.com> --> <!-- %{co_authored_by} -->

View file

@ -1 +1 @@
20.16.0 22.11.0

2
.npmrc
View file

@ -1,2 +1,4 @@
@transfem-org:registry=https://activitypub.software/api/v4/packages/npm/ @transfem-org:registry=https://activitypub.software/api/v4/packages/npm/
engine-strict = true engine-strict = true
save-exact = true
shell-emulator = true

View file

@ -0,0 +1,56 @@
services:
- name: postgres
image: postgres:15
environment:
POSTGRES_PASSWORD: ci
- name: redis
image: redis:latest
steps:
- name: Tests
image: node:jod
when:
- event: pull_request
commands:
- apt-get update && apt-get install -y git wget curl build-essential python3 ffmpeg
- cp .config/ci.yml .config/default.yml
- cp .config/ci.yml .config/test.yml
- corepack enable
- corepack prepare pnpm@latest --activate
- git submodule update --init
- pnpm install --frozen-lockfile
- pnpm run build
- pnpm run migrate
- pnpm run --filter='!megalodon' test
- pnpm run --filter=backend --filter=misskey-js lint
- pnpm run --filter=frontend --filter=frontend-embed eslint
- name: Build and Push Dev Image
when:
- event: push
branch: dev
image: woodpeckerci/plugin-docker-buildx
settings:
repo: codeberg.org/yeentown/barkey
registry: codeberg.org
dockerfile: Dockerfile
platforms: linux/amd64
tag: dev
username:
from_secret: docker_username
password:
from_secret: docker_password
- name: Build and Push Release
when:
- event: release
image: woodpeckerci/plugin-docker-buildx
settings:
repo: codeberg.org/yeentown/barkey
registry: codeberg.org
dockerfile: Dockerfile
platforms: linux/amd64
tag: latest
auto_tag: true
username:
from_secret: docker_username
password:
from_secret: docker_password

View file

@ -1,3 +1,429 @@
## 2025.4.1
### General
- Feat: bull-boardに代わるジョブキューの管理ツールが実装されました
- Feat: アップロード可能な最大ファイルサイズをロールごとに設定可能に
- デフォルトで10MBになっています
- Enhance: チャットの新規メッセージをプッシュ通知するように
- Enhance: サーバーブロックの対象になっているサーバーについて、当該サーバーのユーザーや既知投稿を見えないように
- Enhance: 依存関係の更新
- Enhance: 翻訳の更新
- Fix: セキュリティに関する修正
### Client
- Feat: チャットウィジェットを追加
- Feat: デッキにチャットカラムを追加
- Feat: タイトルバーを表示できるように
- Enhance: Unicode絵文字をslugから入力する際に`:ok:`のように最後の`:`を入力したあとにUnicode絵文字に変換できるように
- Enhance: コントロールパネルでジョブキューをクリアできるように
- Enhance: テーマでページヘッダーの色を変更できるように
- Enhance: スワイプでのタブ切り替えを強化
- Enhance: デザインのブラッシュアップ
- Fix: ログアウトした際に処理が終了しない問題を修正
- Fix: 自動バックアップが設定されている環境でログアウト直前に設定をバックアップするように
- Fix: フォルダを開いた状態でメニューからアップロードしてもルートフォルダにアップロードされる問題を修正 #15836
- Fix: タイムラインのスクロール位置を記憶するように修正
- Fix: ノートの直後のノートを表示する機能で表示が逆順になっていた問題を修正 #15841
- Fix: アカウントの移行時にアンテナのフィルターのユーザが更新されない問題を修正 #15843
- Fix: タイムラインでノートが重複して表示されることがあるのを修正
### Server
- Enhance: ジョブキューの成功/失敗したジョブも一定数・一定期間保存するようにし、後から問題を調査することを容易に
- Enhance: フォローしているユーザーならフォロワー限定投稿のノートでもアンテナで検知できるように
(Cherry-picked from https://github.com/yojo-art/cherrypick/pull/568 and https://github.com/team-shahu/misskey/pull/38)
- Enhance: ユーザーごとにノートの表示が高速化するように
- Fix: システムアカウントの名前がサーバー名と同期されない問題を修正
- Fix: 大文字を含むユーザの URL で照会された場合に 404 エラーを返す問題 #15813
- Fix: リードレプリカ設定時にレコードの追加・更新・削除を伴うクエリを発行した際はmasterードで実行されるように調整( #10897 )
- Fix: ファイルアップロード時の挙動を一部調整(#15895)
## 2025.4.0
### General
- Feat: チャット(ダイレクトメッセージ)がリニューアルして復活しました
- 既存のDM機能よりも便利で効率的な実装になっています
- チャットを受け付ける相手を制限可能です
- 誰でも / フォローユーザーのみ / フォロワーのみ / 相互のみ / 受け付けない から選択できます
- 自分からメッセージを送った相手とは上記の設定に関わらずチャット可能です
- チャット機能を開放するかどうかをロールで制御可能です
- ルームを作成して、複数人でのチャットも可能です
- 過去自分が送ったメッセージ・自分に送られたメッセージの検索が可能です
- 参加中のルームをミュートして通知が来ないように設定可能です
- メッセージにはリアクションも可能です
- 現在、リモートユーザーがチャットを受け付ける設定になっているかどうかを取得する術がないため、ローカルユーザー間でのみ利用可能です
- Feat: アカウントの移行時に古いアカウントからあたらしいアカウントにロールをコピーできるようになりました。
- 管理者がロールの設定でマイグレーション時にコピーするかを指定できるようになります。
- Enhance: セキュリティを強化するため、ジョブキューのダッシュボード(bull-board)統合が削除されました。
- Misskeyネイティブでダッシュボードを実装予定です
- Enhance: フロントエンドのエラートラッキングができるように
- `.config/default.yml`中の項目`sentryForFrontend`を適宜設定してください。
- 外部サービスであるSentryへエラー情報が送信されます。ご利用の地域の法令に従い、適切なプライバシーポリシーを策定の上で運用してください。
- Enhance: ミュートしているユーザーをユーザー検索の結果から除外するように
- Enhance: アンテナでセンシティブなチャンネルのノートを除外できるように `#14177`
- Fix: 通知のページネーションで2つ以上読み込めなくなることがある問題を修正
### Client
- Feat: 設定の管理が強化されました
- 内部処理が一新され、安定性とパフォーマンスが向上しました
- 全てのクライアント設定がエクスポート(バックアップ)/インポート対象に含まれるようになりました
- プラグイン、テーマ、クライアントに追加されたすべてのアカウント情報も含まれるようになりました
- 自動で設定データをサーバーにバックアップできるように
- 設定→設定のプロファイル→自動バックアップ で有効にできます
- ログインしたとき、ブラウザから設定データが消えてしまったときに自動で復元されます(復元をスキップすることも可能)
- 任意の設定項目をデバイス間で同期できるように
- 設定項目の「...」メニュー→「デバイス間で同期」
- 同期をオンにした際にサーバーに保存された値とローカルの値が競合する場合はどちらを優先するか選択できます
- 任意の設定項目を初期値にリセットできるように
- 設定項目の「...」メニュー→「初期値にリセット」
- アカウントごとに設定値が分離される設定とそうでないクライアント設定が混在していた(かつ分離するかどうかを設定不可だった)のを、基本的に一律でクライアント全体に適用されるようにし、個別でアカウントごとに異なる設定を行えるように
- 設定項目の「...」メニュー→「アカウントで上書き」をオンにすることで、設定値をそのアカウントでだけ適用するようにできます
- ログアウトすると設定データもブラウザから消去されるようになりプライバシーが向上しました
- バックアップを有効にしている場合、ログインした後にバックアップから設定データを復元可能です
- エクスポートした設定データを他のサーバーでインポートして適用すること(設定の持ち運び)が可能になりました
- 設定情報の移行は自動で行われますが、何らかの理由で失敗した場合、設定→その他→旧設定情報を移行 で再試行可能です
- 過去に作成されたバックアップデータとは現在互換性がありませんのでご注意ください
- Feat: 画面を重ねて表示するオプションを実装(実験的)
- 設定 → その他 → 実験的機能 → Enable stacking router view
- Enhance: プラグインの管理が強化されました
- インストール/アンインストール/設定の変更時にリロード不要になりました
- Enhance: ログアウト時、ブラウザに保存されたWebクライアントのデータを全て消去するように
- Enhance: デッキUIでカラム間のマージンを設定できるように
- Enhance: デッキUIでデッキメニューの位置を設定できるように
- Enhance: デッキUIでナビゲーションバーの位置を設定できるように
- Enhance: アイコンのスクロール追従を無効化してパフォーマンス向上できるように
- Enhance: CWの注釈テキストが入力されていない場合, Postボタンを非アクティブに
- Enhance: CWを無効にした場合, 注釈テキストが最大入力文字数を超えていても投稿できるように
- Enhance: テーマ設定画面のデザインを改善
- Enhance: 投稿フォームの設定メニューを改良
- 投稿フォームをリセットできるように
- 文字数カウントを復活
- Enhance: 2段階認証時のリカバリーコードのファイル名にサーバーURLを含めるように
- Enhance: 全体的なブラッシュアップ
- Enhance 全体的なパフォーマンス向上
- Enhance: ファイルのアップロードでデフォルトで圧縮するかどうかのオプションが廃止され、アップロード時に圧縮するかどうかを選択するようになりました
- 画像データの貼り付け、ドロップ時は圧縮されるようになりました
- Fix: 読み込み直後にスクロールしようとすると途中で止まる場合があるのを修正
- Fix: テーマ切り替え時に一部の色が変わらない問題を修正
- Fix: iPadOSでdeck uiをマウスカーソルによってスクロールできない問題を修正
- NOTE: 構造上クラシックUIを新しいデザインシステムに移行することが困難なため、クラシックUIが削除されました
- デッキUIでカラムを中央寄せにし、メインカラムの左右にウィジェットカラムを配置し、ナビゲーションバーを上部に表示することである程度クラシックUIを再現できます
### Server
- Enhance 全体的なパフォーマンス向上
- Fix: プロフィール追加情報で無効なURLに入力された場合に照会エラーを出るのを修正
- Fix: ActivityPubリクエストURLチェック実装は仕様に従っていないのを修正
- Fix: 連合無しモードでも外部から照会可能だった問題を修正
- Fix: テスト用WebHookのペイロードの`emojis`パラメータが実際のものと異なる問題を修正
- Fix: 非ログインでタイムラインのストリームに接続した際、表示にログイン必須のノートが流れる場合がある問題を修正
## 2025.3.1
### General
- pnpmをv10に更新
- Corepackを削除
### Client
- Feat: 設定の検索を追加(実験的)
- Enhance: 設定項目の再配置
### Server
- Fix: DBマイグレーション際にシステムアカウントのユーザーID判定が正しくない問題を修正
- Fix: user.featured列が状況によってJSON文字列になっていたのを修正
## 2025.3.0
### General
- Enhance: プロキシアカウントをシステムアカウントとして作成するように
- Enhance: OAuthで外部アプリからロゴが提供されている場合、それを表示できるように
書式は https://indieauth.spec.indieweb.org/20220212/#example-2 に準じます。
- Fix: システムアカウントが削除できる問題を修正
### Client
- Enhance: モデレーターがセンシティブ設定を変更する際に確認ダイアログを出すように
- Enhance: 「UIのアニメーションを減らす」で画面上のエフェクトも減らせるように
- Enhance: 投稿フォームにおける、メディアの添付可能個数のカウントを反転しました
- これまでの表示は`添付可能残り個数/上限数`でしたが、`添付個数/上限数`としました
- Fix: フォローされたときのメッセージがちらつくことがある問題を修正
- Fix: 投稿ダイアログがサイズ限界を超えた際にスクロールできない問題を修正
### Server
- Fix: 特定のケースでActivityPubの処理がデッドロックになることがあるのを修正
- Fix: S3互換オブジェクトストレージでファイルのアップロードに失敗することがある問題を修正
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/895)
## 2025.2.1
### General
- Feat: アクセストークン発行時に通知するように
- 依存関係の更新
### Client
- Feat: 投稿フォームで画像をプレビュー可能に
- Enhance: 投稿フォームの「迷惑になる可能性があります」のダイアログを表示する条件においてCWを考慮するように
- Enhance: アンテナ、リスト等の名前をカラム名のデフォルト値にするように `#13992`
- Enhance: クライアントエラー画面の多言語対応
- Enhance: 開発者モードでメニューからファイルIDをコピー出来るように `#15441'
- Enhance: ノートに埋め込まれたメディアのコンテキストメニューから管理者用のファイル管理画面を開けるように ( #15440 )
- Enhance: リアクションする際に確認ダイアログを表示できるように
- Enhance: コントロールパネルのユーザ検索で入力された情報をページ遷移で損なわないように `#15437`
- Enhance: CWの注釈で入力済みの文字数を表示
- Enhance: ノート検索ページのデザイン調整
(Cherry-picked from https://github.com/taiyme/misskey/pull/273)
- Fix: ノートページで、クリップ一覧が表示されないことがある問題を修正
- Fix: コンディショナルロールを手動で割り当てできる導線を削除 `#13529`
- Fix: 埋め込みプレイヤーから外部ページに移動できない問題を修正
- Fix: Play の再読込時に UI が以前の状態を引き継いでしまう問題を修正 `#14378`
- Fix: カスタム絵文字管理画面(beta)にてisSensitive/localOnlyの絞り込みが上手くいかない問題の修正 ( #15445 )
- Fix: ユーザのサジェスト中に@を入力してもサジェスト結果が消えないように `#14385`
- Fix: CWの注釈が100文字を超えている場合、ート投稿ボタンを非アクティブに
- Fix: テーマ選択で現在のテーマが初期表示されていない問題を修正
- 翻訳の更新
### Server
- Enhance: 成り済まし対策として、ActivityPub照会された時にリモートのリダイレクトを拒否できるように (config.disallowExternalApRedirect)
- Fix: `following/invalidate`でフォロワーを解除しようとしているユーザーの情報を返すように
- Fix: オブジェクトストレージの設定でPrefixを設定していなかった場合nullまたは空文字になる問題を修正
- Fix: HTTPプロキシとその除外設定を行った状態でカスタム絵文字の一括インポートをしたとき、除外設定が効かないのを修正( #8766 )
- Fix: pgroongaでの検索時にはじめのキーワードのみが検索に使用される問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/886)
- Fix: メールアドレスの形式が正しくなければ以降の処理を行わないように
- Fix: `update-meta`でobjectStoragePrefixにS3_SAFEかつURL-safeでない文字列を使えないように
- Fix: クリップの説明欄を更新する際に空にできない問題を修正
- Fix: フォロワーではないユーザーにリートもしくは返信された場合にートのDeleteアクティビティが送られていない問題を修正
## 2025.2.0
### General
- Fix: Docker のビルドに失敗する問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/883)
### Client
- Fix: パスキーでパスワードレスログインが出来ない問題を修正
- Fix: 一部環境でセンシティブなファイルを含むノートの非表示が効かない問題
- Fix: データセーバー有効時にもユーザーページの「ファイル」タブで画像が読み込まれてしまう問題を修正
- Fix: MFMの `sparkle` エフェクトが正しく表示されない問題を修正
- Fix: ページのURLにスラッシュが含まれている場合にページが正しく表示されない問題を修正
- Fix: デッキのプロファイルが新規作成できない問題を修正
- Fix: セキュリティに関する修正
- ローカライゼーションの更新
- Playが実装されたため、ページ機能の「ソースを見る」は削除されました
### Server
- Enhance: ページのURLに使用可能な文字を限定するように
- Fix: 個別お知らせページのmetaタグ出力の条件が間違っていたのを修正
## 2025.1.0
### Note
- [重要] ート検索プロバイダの追加に伴い、configファイルdefault.ymlなどの構成が少し変わります.
- 新しい設定項目"fulltextSearch.provider"が追加されました. sqlLike, sqlPgroonga, meilisearchのいずれかを設定出来ます.
- すでにMeilisearchをお使いの場合、 **"fulltextSearch.provider"を"meilisearch"に設定する必要** があります.
- 詳細は #14730 および `.config/example.yml` または `.config/docker_example.yml`の'Fulltext search configuration'をご参照願います.
- 【開発者向け】従来の開発モードでHMRが機能しない問題が修正されたため、バックエンド・フロントエンド分離型の開発モードが削除されました。開発環境においてconfigの変更が必要となる可能性があります。
### General
- Feat: カスタム絵文字管理画面をリニューアル #10996
* β版として公開のため、旧画面も引き続き利用可能です
### Client
- Enhance: PC画面でチャンネルが複数列で表示されるように
(Cherry-picked from https://github.com/Otaku-Social/maniakey/pull/13)
- Enhance: 照会に失敗した場合、その理由を表示するように
- Enhance: ワードミュートで検知されたワードを表示できるように
- Enhance: リモートのノートのリンクをコピーできるように
- Enhance: 連合がホワイトリスト化・無効化されているサーバー向けのデザイン修正
- Enhance: AiScriptのセーブデータを明示的に削除する関数`Mk:remove`を追加
- Enhance: ノートの添付ファイルを一覧で遡れる「ファイル」タブを追加
(Based on https://github.com/Otaku-Social/maniakey/pull/14)
- Enhance: AiScriptの拡張API関数において引数の型チェックをより厳格に
- Enhance: クエリパラメータでuiを一時的に変更できるように #15240
- Enhance: リモート絵文字のインポート時に詳細を確認できるように #15336
- Fix: 画面サイズが変わった際にナビゲーションバーが自動で折りたたまれない問題を修正
- Fix: サーバー情報メニューに区切り線が不足していたのを修正
- Fix: ノートがログインしているユーザーしか見れない場合にログインダイアログを閉じるとその後の動線がなくなる問題を修正
- Fix: 公開範囲がホームのノートの埋め込みウィジェットが読み込まれない問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/803)
- Fix: 絵文字管理画面で一部の絵文字が表示されない問題を修正
- Fix: プラグイン `register_note_view_interruptor` でノートのサーバー情報の書き換えができない問題を修正
- Fix: Botプロテクションの設定変更時は実際に検証を通過しないと保存できないように( #15137 )
- Fix: ノート検索が使用できない場合でもチャンネルのノート検索欄がでていた問題を修正
- Fix: `Ui:C:select`で値の変更が画面に反映されない問題を修正
- Fix: MiAuth認可画面で、認可処理に失敗した場合でもコールバックURLに遷移してしまう問題を修正
(Cherry-picked from https://github.com/TeamNijimiss/misskey/commit/800359623e41a662551d774de15b0437b6849bb4)
- Fix: ノート作成画面でファイルの添付可能個数を超えてもノートボタンが押せていた問題を修正
- Fix: 「アカウントを管理」画面で、ユーザー情報の取得に失敗したアカウント(削除されたアカウントなど)が表示されない問題を修正
- Fix: MacOSでChrome系ブラウザを使用している場合に、Misskeyを閉じた際に他のタブのオーディオ機能と干渉する問題を修正
- Fix: 言語データのキャッシュ状況によっては、埋め込みウィジェットが正しく起動しない問題を修正
- Fix: 「削除して編集」でノートの引用を解除出来なかった問題を修正( #14476 )
- Fix: RSSウィジェットが正しく表示されない問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/857)
- Fix: ワードミュートの保存失敗時にAPIエラーが握りつぶされる事があるのを修正
- Fix: アンケートでリモートの絵文字が正しく描画できない問題の修正
(Cherry-picked from https://github.com/yojo-art/cherrypick/pull/153)
- Fix: 非ログイン時のサーバー概要画面のメニューボタンが押せないことがあるのを修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/656)
- Fix: URLにはじめから`#pswp`が含まれている場合に画像ビューワーがブラウザの戻るボタンで閉じられない問題を修正
- Fix: ロール作成画面で設定できるアイコンデコレーションの最大取付個数を16に制限
- Fix: Firefox Nightlyなどでアイコンが読み込めない問題を修正
### Server
- Enhance: pg_bigmが利用できるよう、ートの検索をILIKE演算子でなくLIKE演算子でLOWER()をかけたテキストに対して行うように
- Enhance: ート検索の選択肢としてpgroongaに対応 ( #14730 )
- Enhance: チャート更新時にDBに同時接続しないように
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/830)
- Enhance: config(default.yml)からSQLログ全文を出力するか否かを設定可能に ( #15266 )
- Fix: ユーザーのプロフィール画面をアドレス入力などで直接表示した際に概要タブの描画に失敗する問題の修正( #15032 )
- Fix: 起動前の疎通チェックが機能しなくなっていた問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/737)
- Fix: ートの閲覧にログイン必須にしてもFeedでートが表示されてしまう問題を修正
- Fix: 絵文字の連合でライセンス欄を相互にやり取りするように ( #10859, #14109 )
- Fix: ロックダウンされた期間指定のートがStreaming経由でLTLに出現するのを修正 ( #15200 )
- Fix: disableClustering設定時の初期化ロジックを調整( #15223 )
- Fix: URLとURIが異なるエンティティの照会に失敗する問題を修正( #15039 )
- Fix: ActivityPubリクエストかどうかの判定が正しくない問題を修正
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/869)
- Fix: `/api/pages/update`にて`name`を指定せずにリクエストするとエラーが発生する問題を修正
- Fix: AIセンシティブ判定が arm64 環境で動作しない問題を修正
- Fix: 非Misskey系のソフトウェアからHTML`<ruby>`タグを含むートを受信した場合、MFMの読み仮名ルビ文法に変換して表示
- Fix: 連合OFFで投稿されたートに対する冗長な処理を抑止 ( #15018 )
- Fix: `/api.json`のレスポンスが2回目のリクエスト以降おかしくなる問題を修正
### Misskey.js
- Feat: allow setting `binaryType` of WebSocket connection
## 2024.11.0
### Note
- Node.js 20.xは非推奨になりました。Node.js 22.x (LTS)の利用を推奨します。
- なお、Node.js 23.xは対応していません。
- DockerのNode.jsが22.11.0に更新されました
### General
- Feat: コンテンツの表示にログインを必須にできるように
- Feat: 過去のノートを非公開化/フォロワーのみ表示可能にできるように
- Enhance: 依存関係の更新
- Enhance: l10nの更新
- Fix: お知らせ作成時に画像URL入力欄を空欄に変更できないのを修正 ( #14976 )
### Client
- Enhance: Bull DashboardでRelationship Queueの状態も確認できるように
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/751)
- Enhance: ドライブでソートができるように
- Enhance: アイコンデコレーション管理画面の改善
- Enhance: 「単なるラッキー」の取得条件を変更
- Enhance: 投稿フォームでEscキーを押したときIME入力中ならフォームを閉じないように #10866
- Enhance: MiAuth, OAuthの認可画面の改善
- どのアカウントで認証しようとしているのかがわかるように
- 認証するアカウントを切り替えられるように
- Enhance: Self-XSS防止用の警告を追加
- Enhance: カタルーニャ語 (ca-ES) に対応
- Enhance: 個別お知らせページではMetaタグを出力するように
- Enhance: ノート詳細画面にロールのバッジを表示
- Enhance: 過去に送信したフォローリクエストを確認できるように
(Based on https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/663)
- Enhance: サイドバーを簡単に展開・折りたたみできるように ( #14981 )
- Enhance: リノートメニューに「リノートの詳細」を追加
- Enhance: 非ログイン状態でMisskeyを開いた際のパフォーマンスを向上
- Fix: 通知の範囲指定の設定項目が必要ない通知設定でも範囲指定の設定がでている問題を修正
- Fix: Turnstileが失敗・期限切れした際にも成功扱いとなってしまう問題を修正
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/768)
- Fix: デッキのタイムラインカラムで「センシティブなファイルを含むノートを表示」設定が使用できなかった問題を修正
- Fix: Encode RSS urls with escape sequences before fetching allowing query parameters to be used
- Fix: リンク切れを修正
- Fix: ノート投稿ボタンにホバー時のスタイルが適用されていないのを修正
(Cherry-picked from https://github.com/taiyme/misskey/pull/305)
- Fix: メールアドレス登録有効化時の「完了」ダイアログボックスの表示条件を修正
- Fix: 画面幅が狭い環境でデザインが崩れる問題を修正
(Cherry-picked from https://github.com/MisskeyIO/misskey/pull/815)
- Fix: TypeScriptの型チェック対象ファイルを限定してビルドを高速化するように
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/725)
### Server
- Enhance: DockerのNode.jsを22.11.0に更新
- Enhance: 起動前の疎通チェックで、DBとメイン以外のRedisの疎通確認も行うように
(Based on https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/588)
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/715)
- Enhance: リモートユーザーの照会をオリジナルにリダイレクトするように
- Fix: sharedInboxが無いActorに紐づくリモートユーザーを照会できない
- Fix: Aproving request from GtS appears with some delay
- Fix: フォロワーへのメッセージの絵文字をemojisに含めるように
- Fix: Nested proxy requestsを検出した際にブロックするように
[ghsa-gq5q-c77c-v236](https://github.com/misskey-dev/misskey/security/advisories/ghsa-gq5q-c77c-v236)
- Fix: 招待コードの発行可能な残り数算出に使用すべきロールポリシーの値が違う問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/706)
- Fix: 連合への配信時に、acctの大小文字が区別されてしまい正しくメンションが処理されないことがある問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/711)
- Fix: ローカルユーザーへのメンションを含むートが連合される際に正しいURLに変換されないことがある問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/712)
- Fix: FTT無効時にユーザーリストタイムラインが使用できない問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/709)
- Fix: User Webhookテスト機能のMock Payloadを修正
- Fix: アカウント削除のモデレーションログが動作していないのを修正 (#14996)
- Fix: リノートミュートが新規投稿通知に対して作用していなかった問題を修正
- Fix: Inboxの処理で生じるエラーを誤ってActivityとして処理することがある問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/730)
- Fix: セキュリティに関する修正
### Misskey.js
- Fix: Stream初期化時、別途WebSocketを指定する場合の型定義を修正
## 2024.10.1
### Note
- スパム対策として、モデレータ権限を持つユーザのアクティビティが7日以上確認できない場合は自動的に招待制へと切り替えコントロールパネル -> モデレーション -> "誰でも新規登録できるようにする"をオフに変更)るようになりました。 ( #13437 )
- 切り替わった際はモデレーターへお知らせとして通知されます。登録をオープンな状態で継続したい場合は、コントロールパネルから再度設定を行ってください。
### General
- Feat: ユーザーの名前に禁止ワードを設定できるように
### Client
- Enhance: タイムライン表示時のパフォーマンスを向上
- Enhance: アーカイブした個人宛のお知らせを表示・編集できるように
- Enhance: l10nの更新
- Fix: メールアドレス不要でCaptchaが有効な場合にアカウント登録完了後自動でのログインに失敗する問題を修正
### Server
- Feat: モデレータ権限を持つユーザが全員7日間活動しなかった場合は自動的に招待制へと切り替えるように ( #13437 )
- Enhance: 個人宛のお知らせは「わかった」を押すと自動的にアーカイブされるように
- Fix: `admin/emoji/update`エンドポイントのidのみ指定した時不正なエラーが発生するバグを修正
- Fix: RBT有効時、リートのリアクションが反映されない問題を修正
- Fix: キューのエラーログを簡略化するように
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/649)
## 2024.10.0
### Note
- セキュリティ向上のため、サーバー初期設定時に使用する初期パスワードを設定できるようになりました。今後Misskeyサーバーを新たに設置する際には、初回の起動前にコンフィグファイルの`setupPassword`をコメントアウトし、初期パスワードを設定することをおすすめします。(すでに初期設定を完了しているサーバーについては、この変更に伴い対応する必要はありません)
- ホスティングサービスを運営している場合は、コンフィグファイルを構築する際に`setupPassword`をランダムな値に設定し、ユーザーに通知するようにシステムを更新することをおすすめします。
- なお、初期パスワードが設定されていない場合でも初期設定を行うことが可能ですUI上で初期パスワードの入力欄を空欄にすると続行できます
- ユーザーデータを読み込む際の型が一部変更されました。
- `twoFactorEnabled`, `usePasswordLessLogin`, `securityKeys`: 自分とモデレーター以外のユーザーからは取得できなくなりました
### General
- Feat: サーバー初期設定時に初期パスワードを設定できるように
- Feat: 通報にモデレーションノートを残せるように
- Feat: 通報の解決種別を設定できるように
- Enhance: 通報の解決と転送を個別に行えるように
- Enhance: セキュリティ向上のため、サインイン時もCAPTCHAを求めるようになりました
- Enhance: 依存関係の更新
- Enhance: l10nの更新
- Enhance: Playの「人気」タブで10件以上表示可能に #14399
- Fix: 連合のホワイトリストが正常に登録されない問題を修正
### Client
- Enhance: デザインの調整
- Enhance: ログイン画面の認証フローを改善
- Fix: クライアント上での時間ベースの実績獲得動作が実績獲得後も発動していた問題を修正
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/657)
### Server
- Enhance: セキュリティ向上のため、ログイン時にメール通知を行うように
- Enhance: 自分とモデレーター以外のユーザーから二要素認証関連のデータが取得できないように
- Enhance: 通報および通報解決時に送出されるSystemWebhookにユーザ情報を含めるように ( #14697 )
- Fix: `admin/abuse-user-reports`エンドポイントのスキーマが間違っていた問題を修正
## 2024.9.0 ## 2024.9.0
### General ### General

View file

@ -62,9 +62,29 @@ Thank you for your PR! Before creating a PR, please check the following:
Thanks for your cooperation 🤗 Thanks for your cooperation 🤗
### Additional things for ActivityPub payload changes
*This section is specific to misskey-dev implementation. Other fork or implementation may take different way. A significant difference is that non-"misskey-dev" extension is not described in the misskey-hub's document.*
If PR includes changes to ActivityPub payload, please reflect it in [misskey-hub's document](https://github.com/misskey-dev/misskey-hub-next/blob/master/content/ns.md) by sending PR.
The name of purporsed extension property (referred as "extended property" in later) to ActivityPub shall be prefixed by `_misskey_`. (i.e. `_misskey_quote`)
The extended property in `packages/backend/src/core/activitypub/type.ts` **must** be declared as optional because ActivityPub payloads that comes from older Misskey or other implementation may not contain it.
The extended property must be included in the context definition. Context is defined in `packages/backend/src/core/activitypub/misc/contexts.ts`.
The key shall be same as the name of extended property, and the value shall be same as "short IRI".
"Short IRI" is defined in misskey-hub's document, but usually takes form of `misskey:<name of extended property>`. (i.e. `misskey:_misskey_quote`)
One should not add property that has defined before by other implementation, or add custom variant value to "well-known" property.
## Reviewers guide ## Reviewers guide
Be willing to comment on the good points and not just the things you want fixed 💯 Be willing to comment on the good points and not just the things you want fixed 💯
読んでおくといいやつ
- https://blog.lacolaco.net/posts/1e2cf439b3c2/
- https://konifar-zatsu.hatenadiary.jp/entry/2024/11/05/192421
### Review perspective ### Review perspective
- Scope - Scope
- Are the goals of the PR clear? - Are the goals of the PR clear?
@ -79,6 +99,29 @@ Be willing to comment on the good points and not just the things you want fixed
- Are there any omissions or gaps? - Are there any omissions or gaps?
- Does it check for anomalies? - Does it check for anomalies?
## Security Advisory
### For reporter
Thank you for your reporting!
If you can also create a patch to fix the vulnerability, please create a PR on the private fork.
> [!note]
> There is a GitHub bug that prevents merging if a PR not following the develop branch of upstream, so please keep follow the develop branch.
### For misskey-dev member
修正PRがdevelopに追従されていないとマージできないので、マージできなかったら
> Could you merge or rebase onto upstream develop branch?
などと伝える。
## Deploy
The `/deploy` command by issue comment can be used to deploy the contents of a PR to the preview environment.
```
/deploy sha=<commit hash>
```
An actual domain will be assigned so you can test the federation.
## Merge ## Merge
## Release ## Release
@ -107,7 +150,8 @@ You can improve our translations with your Crowdin account.
Your changes in Crowdin are automatically submitted as a PR (with the title "New Crowdin translations") to the repository. Your changes in Crowdin are automatically submitted as a PR (with the title "New Crowdin translations") to the repository.
The owner [@syuilo](https://github.com/syuilo) merges the PR into the develop branch before the next release. The owner [@syuilo](https://github.com/syuilo) merges the PR into the develop branch before the next release.
If your language is not listed in Crowdin, please open an issue. If your language is not listed in Crowdin, please open an issue. We will add it to Crowdin.
For newly added languages, once the translation progress per language exceeds 70%, it will be officially introduced into Misskey and made available to users.
![Crowdin](https://d322cqt584bo4o.cloudfront.net/misskey/localized.svg) ![Crowdin](https://d322cqt584bo4o.cloudfront.net/misskey/localized.svg)
@ -160,52 +204,52 @@ pnpm dev
command. command.
- Server-side source files and automatically builds them if they are modified. Automatically start the server process(es). - Server-side source files and automatically builds them if they are modified. Automatically start the server process(es).
- Vite HMR (just the `vite` command) is available. The behavior may be different from production.
- Service Worker is watched by esbuild. - Service Worker is watched by esbuild.
- The front end can be viewed by accessing `http://localhost:5173`. - Vite HMR (just the `vite` command) is available. The behavior may be different from production.
- The backend listens on the port configured with `port` in .config/default.yml. - Vite runs behind the backend (the backend will proxy Vite at /vite and /embed_vite except for websocket used for HMR).
If you have not changed it from the default, it will be "http://localhost:3000".
If "port" in .config/default.yml is set to something other than 3000, you need to change the proxy settings in packages/frontend/vite.config.local-dev.ts.
### `MK_DEV_PREFER=backend pnpm dev`
pnpm dev has another mode with `MK_DEV_PREFER=backend`.
```
MK_DEV_PREFER=backend pnpm dev
```
- This mode is closer to the production environment than the default mode.
- Vite runs behind the backend (the backend will proxy Vite at /vite).
- You can see Misskey by accessing `http://localhost:3000` (Replace `3000` with the port configured with `port` in .config/default.yml). - You can see Misskey by accessing `http://localhost:3000` (Replace `3000` with the port configured with `port` in .config/default.yml).
- To change the port of Vite, specify with `VITE_PORT` environment variable.
- HMR may not work in some environments such as Windows.
## Testing ## Testing
- Test codes are located in [`/packages/backend/test`](packages/backend/test).
### Run test You can run non-backend tests by executing following commands:
Create a config file. ```sh
pnpm --filter frontend test
pnpm --filter misskey-js test
``` ```
cp .github/misskey/test.yml .config/
``` Backend tests require manual preparation of servers. See the next section for more on this.
Prepare DB/Redis for testing.
### Backend
There are three types of test codes for the backend:
- Unit tests: [`/packages/backend/test/unit`](/packages/backend/test/unit)
- Single-server E2E tests: [`/packages/backend/test/e2e`](/packages/backend/test/e2e)
- Multiple-server E2E tests: [`/packages/backend/test-federation`](/packages/backend/test-federation)
#### Running Unit Tests or Single-server E2E Tests
1. Create a config file:
```sh
cp .config/test-example.yml .config/test.yml
``` ```
2. Start DB and Redis servers for testing:
```sh
docker compose -f packages/backend/test/compose.yml up docker compose -f packages/backend/test/compose.yml up
``` ```
Alternatively, prepare an empty (data can be erased) DB and edit `.config/test.yml`. Instead, you can prepare an empty (data can be erased) DB and edit `.config/test.yml` appropriately.
Run all test. 3. Run all tests:
```sh
pnpm --filter backend test # unit tests
pnpm --filter backend test:e2e # single-server E2E tests
``` ```
pnpm test If you want to run a specific test, run as a following command:
```sh
pnpm --filter backend test -- packages/backend/test/unit/activitypub.ts
pnpm --filter backend test:e2e -- packages/backend/test/e2e/nodeinfo.ts
``` ```
#### Run specify test #### Running Multiple-server E2E Tests
``` See [`/packages/backend/test-federation/README.md`](/packages/backend/test-federation/README.md).
pnpm jest -- foo.ts
```
### e2e tests
TODO
## Environment Variable ## Environment Variable
@ -237,7 +281,6 @@ niraxは、Misskeyで使用しているオリジナルのフロントエンド
query?: Record<string, string>; query?: Record<string, string>;
loginRequired?: boolean; loginRequired?: boolean;
hash?: string; hash?: string;
globalCacheKey?: string;
children?: RouteDef[]; children?: RouteDef[];
} }
``` ```
@ -440,6 +483,11 @@ describe('test', () => {
コード上でMisskeyのドメイン固有の概念には`Mi`をprefixすることで、他のドメインの同様の概念と区別できるほか、名前の衝突を防ぐ。 コード上でMisskeyのドメイン固有の概念には`Mi`をprefixすることで、他のドメインの同様の概念と区別できるほか、名前の衝突を防ぐ。
ただし、文脈上Misskeyのものを指すことが明らかであり、名前の衝突の恐れがない場合は、一時的なローカル変数に限って`Mi`を省略してもよい。 ただし、文脈上Misskeyのものを指すことが明らかであり、名前の衝突の恐れがない場合は、一時的なローカル変数に限って`Mi`を省略してもよい。
### Misskey.jsの型生成
```bash
pnpm build-misskey-js-with-types
```
### How to resolve conflictions occurred at pnpm-lock.yaml? ### How to resolve conflictions occurred at pnpm-lock.yaml?
Just execute `pnpm` to fix it. Just execute `pnpm` to fix it.
@ -574,24 +622,53 @@ marginはそのコンポーネントを使う側が設定する
### indexというファイル名を使うな ### indexというファイル名を使うな
ESMではディレクトリインポートは廃止されているのと、ディレクトリインポートせずともファイル名が index だと何故か一部のライブラリ?でディレクトリインポートだと見做されてエラーになる ESMではディレクトリインポートは廃止されているのと、ディレクトリインポートせずともファイル名が index だと何故か一部のライブラリ?でディレクトリインポートだと見做されてエラーになる
### Memory Caches
Sharkey offers multiple memory cache implementations, each meant for a different use case.
The following table compares the available options:
| Cache | Type | Consistency | Persistence | Data Source | Cardinality | Eviction | Description |
|---------------------|-----------|-------------|-------------|-------------|-------------|----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `MemoryKVCache` | Key-Value | None | None | Caller | Single | Lifetime | Implements a basic in-memory Key-Value store. The implementation is entirely synchronous, except for user-provided data sources. |
| `MemorySingleCache` | Single | None | None | Caller | Single | Lifetime | Implements a basic in-memory Single Value store. The implementation is entirely synchronous, except for user-provided data sources. |
| `RedisKVCache` | Key-Value | Eventual | Redis | Callback | Single | Lifetime | Extends `MemoryKVCache` with Redis-backed persistence and a pre-defined callback data source. This provides eventual consistency guarantees based on the memory cache lifetime. |
| `RedisSingleCache` | Single | Eventual | Redis | Callback | Single | Lifetime | Extends `MemorySingleCache` with Redis-backed persistence and a pre-defined callback data source. This provides eventual consistency guarantees based on the memory cache lifetime. |
| `QuantumKVCache` | Key-Value | Immediate | None | Callback | Multiple | Lifetime | Combines `MemoryKVCache` with a pre-defined callback data source and immediate consistency via Redis sync events. The implementation offers multi-item batch overloads for efficient bulk operations. **This is the recommended cache implementation for most use cases.** |
Key-Value caches store multiple entries per cache, while Single caches store a single value that can be accessed directly.
Consistency refers to the consistency of cached data between different processes in the instance cluster: "None" means no consistency guarantees, "Eventual" caches will gradually become consistent after some unknown time, and "Immediate" consistency ensures accurate data ASAP after the update.
Caches with persistence can retain their data after a reboot through an external service such as Redis.
If a data source is supported, then this allows the cache to directly load missing data in response to a fetch.
"Caller" data sources are passed into the fetch method(s) directly, while "Callback" sources are passed in as a function when the cache is first initialized.
The cardinality of a cache refers to the number of items that can be updated in a single operation, and eviction, finally, is the method that the cache uses to evict stale data.
#### Selecting a cache implementation
For most cache uses, `QuantumKVCache` should be considered first.
It offers strong consistency guarantees, multiple cardinality, and a cleaner API surface than the older caches.
An alternate cache implementation should be considered if any of the following apply:
* The data is particularly slow to calculate or difficult to access. In these cases, either `RedisKVCache` or `RedisSingleCache` should be considered.
* If stale data is acceptable, then consider `MemoryKVCache` or `MemorySingleCache`. These synchronous implementations have much less overhead than the other options.
* There is only one data item, or all data items must be fetched together. Using `MemorySingleCache` or `RedisSingleCache` could provide a cleaner implementation without resorting to hacks like a fixed key.
## CSS Recipe ## CSS Recipe
### Lighten CSS vars ### Lighten CSS vars
``` css ``` css
color: hsl(from var(--accent) h s calc(l + 10)); color: hsl(from var(--MI_THEME-accent) h s calc(l + 10));
``` ```
### Darken CSS vars ### Darken CSS vars
``` css ``` css
color: hsl(from var(--accent) h s calc(l - 10)); color: hsl(from var(--MI_THEME-accent) h s calc(l - 10));
``` ```
### Add alpha to CSS vars ### Add alpha to CSS vars
``` css ``` css
color: color(from var(--accent) srgb r g b / 0.5); color: color(from var(--MI_THEME-accent) srgb r g b / 0.5);
``` ```
## Merging from Misskey into Sharkey ## Merging from Misskey into Sharkey
@ -611,46 +688,44 @@ seems to do a decent job)
*after that commit*, do all the extra work, on the same branch: *after that commit*, do all the extra work, on the same branch:
* copy all changes (commit after each step): * copy all changes (commit after each step):
* in * in `packages/backend/src/core/activitypub/models/ApNoteService.ts`, from `createNote` to `updateNote`
`packages/backend/src/core/activitypub/models/ApNoteService.ts`, * from `packages/backend/src/core/NoteCreateService.ts` to `packages/backend/src/core/NoteEditService.ts`
from `createNote` to `updateNote` * from `packages/backend/src/server/api/endpoints/notes/create.ts` to `packages/backend/src/server/api/endpoints/notes/edit.ts`
* from `packages/backend/src/core/NoteCreateService.ts` to * from MK note components to SK note components (if sensible)
`packages/backend/src/core/NoteEditService.vue` * from `packages/frontend/src/components/MkNote.vue` to `packages/frontend/src/components/SkNote.vue`
* from `packages/backend/src/server/api/endpoints/notes/create.ts` * from `packages/frontend/src/components/MkNoteDetailed.vue` to `packages/frontend/src/components/SkNoteDetailed.vue`
to `packages/backend/src/server/api/endpoints/notes/edit.ts` * from `packages/frontend/src/components/MkNoteHeader.vue` to `packages/frontend/src/components/SkNoteHeader.vue`
* from `packages/frontend/src/components/MkNote*.vue` to * from `packages/frontend/src/components/MkNoteSimple.vue` to `packages/frontend/src/components/SkNoteSimple.vue`
`packages/frontend/src/components/SkNote*.vue` (if sensible) * from `packages/frontend/src/components/MkNoteSub.vue` to `packages/frontend/src/components/SkNoteSub.vue`
* from the global timeline to the bubble timeline * from MK note components to Dynamic note components (if the public signature changed)
(`packages/backend/src/server/api/stream/channels/global-timeline.ts`, * from `packages/frontend/src/components/MkNote.vue` to `packages/frontend/src/components/DynamicNote.vue`
`packages/backend/src/server/api/stream/channels/bubble-timeline.ts`, * from `packages/frontend/src/components/MkNoteDetailed.vue` to `packages/frontend/src/components/DynamicNoteDetailed.vue`
`packages/frontend/src/timelines.ts`, * from `packages/frontend/src/components/MkNoteSimple.vue` to `packages/frontend/src/components/DynamicNoteSimple.vue`
`packages/frontend/src/components/MkTimeline.vue`, * from the global timeline to the bubble timeline
`packages/frontend/src/pages/timeline.vue`, * `packages/backend/src/server/api/stream/channels/global-timeline.ts`
`packages/frontend/src/ui/deck/tl-column.vue`, * `packages/backend/src/server/api/stream/channels/bubble-timeline.ts`
`packages/frontend/src/widgets/WidgetTimeline.vue`) * `packages/frontend/src/timelines.ts`
* check the changes against our `develop` (`git diff develop`) and * `packages/frontend/src/components/MkTimeline.vue`
against Misskey (`git diff misskey/develop`) * `packages/frontend/src/pages/timeline.vue`
* `packages/frontend/src/ui/deck/tl-column.vue`
* `packages/frontend/src/widgets/WidgetTimeline.vue`
* from `packages/backend/src/queue/processors/InboxProcessorService.ts` to `packages/backend/src/core/UpdateInstanceQueue.ts`, where `updateInstanceQueue` is impacted
* from `.config/example.yml` to `.config/ci.yml` and `chart/files/default.yml`
* in `packages/backend/src/core/MfmService.ts`, from `toHtml` to `toMastoApiHtml`
* from `verifyLink` in `packages/backend/src/core/activitypub/models/ApPersonService.ts` to `verifyFieldLinks` in `packages/backend/src/misc/verify-field-link.ts` (if sensible)
* if there have been any changes to the federated user data (the `renderPerson` function in `packages/backend/src/core/activitypub/ApRendererService.ts`), make sure that the set of fields in `userNeedsPublishing` and `profileNeedsPublishing` in `packages/backend/src/server/api/endpoints/i/update.ts` are still correct.
* check the changes against our `develop` (`git diff develop`) and against Misskey (`git diff misskey/develop`)
* re-generate `misskey-js` (`pnpm build-misskey-js-with-types`) and commit * re-generate `misskey-js` (`pnpm build-misskey-js-with-types`) and commit
* build the frontend: `rm -rf built/; NODE_ENV=development pnpm * re-generate locales (`pnpm run build-assets`) and commit
--filter=frontend --filter=frontend-embed build` (the `development` * build the frontend: `rm -rf built/; NODE_ENV=development pnpm --filter=frontend --filter=frontend-embed --filter=frontend-shared build` (the `development` tells it to keep some of the original filenames in the built files)
tells it to keep some of the original filenames in the built files) * make sure there aren't any new `ti-*` classes (Tabler Icons), and replace them with appropriate `ph-*` ones (Phosphor Icons) in [`vite.replaceicons.ts`](packages/frontend/vite.replaceIcons.ts).
* make sure there aren't any new `ti-*` classes (Tabler Icons), and * This command should show you want to change: `grep -ohrP '(?<=["'\''](ti )?)(ti-(?!fw)[\w\-]+)' --exclude \*.map -- built/ | sort -u`.
replace them with appropriate `ph-*` ones (Phosphor Icons): * NOTE: `ti-fw` is a special class that's defined by Misskey, leave it alone.
`grep -rP '["'\'']ti[ -](?!fw)' -- built/` should show you what to change. * After every change, re-build the frontend and check again, until there are no more `ti-*` classes in the built files.
NOTE: `ti-fw` is a special class that's defined by Misskey, leave it * Commit!
alone * double-check the new migration, that they won't conflict with our db changes: `git diff develop -- packages/backend/migration/`
after every change, re-build the frontend and check again, until
there are no more `ti-*` classes in the built files
commit!
* double-check the new migration, that they won't conflict with our db
changes: `git diff develop -- packages/backend/migration/`
* `pnpm clean; pnpm build` * `pnpm clean; pnpm build`
* run tests `pnpm --filter='!megalodon' test` (requires a test * run tests `pnpm test; pnpm --filter backend test:e2e` (requires a test database, [see above](#testing)) and fix as much as you can.
database, [see above](#testing)) and fix as much as you can * run lint `pnpm --filter=backend --filter=frontend-shared lint` + `pnpm --filter=frontend --filter=frontend-embed eslint` and fix as much as you can.
* right now `megalodon` doesn't pass its tests, so we skip them
* run lint `pnpm --filter=backend lint` + `pnpm --filter=frontend
eslint` and fix as much as you can
Then push and open a Merge Request. Then push and open a Merge Request.

View file

@ -1,5 +1,5 @@
Unless otherwise stated this repository is Unless otherwise stated this repository is
Copyright © 2014-2024 syuilo and contributors Copyright © 2014-2025 syuilo and contributors
And is distributed under The GNU Affero General Public License Version 3, you should have received a copy of the license file as LICENSE. And is distributed under The GNU Affero General Public License Version 3, you should have received a copy of the license file as LICENSE.

View file

@ -1,12 +1,13 @@
# syntax = docker/dockerfile:1.4 # syntax = docker/dockerfile:1.4
ARG NODE_VERSION=20.16.0-alpine3.20 ARG NODE_VERSION=22.11.0-alpine3.20
FROM node:${NODE_VERSION} as build FROM node:${NODE_VERSION} as build
RUN apk add git linux-headers build-base RUN apk add git linux-headers alpine-sdk pixman pango cairo cairo-dev pango-dev pixman-dev
ENV PYTHONUNBUFFERED=1 ENV PYTHONUNBUFFERED=1
ENV COREPACK_DEFAULT_TO_LATEST=0
RUN apk add --update python3 && ln -sf python3 /usr/bin/python RUN apk add --update python3 && ln -sf python3 /usr/bin/python
RUN apk add py3-pip py3-setuptools RUN apk add py3-pip py3-setuptools
@ -35,11 +36,14 @@ FROM node:${NODE_VERSION}
ARG UID="991" ARG UID="991"
ARG GID="991" ARG GID="991"
ENV COREPACK_DEFAULT_TO_LATEST=0
RUN apk add ffmpeg tini jemalloc \ RUN apk add ffmpeg tini jemalloc pixman pango cairo libpng librsvg font-noto font-noto-cjk font-noto-thai \
&& corepack enable \ && corepack enable \
&& addgroup -g "${GID}" sharkey \ && addgroup -g "${GID}" sharkey \
&& adduser -D -u "${UID}" -G sharkey -h /sharkey sharkey \ && adduser -D -u "${UID}" -G sharkey -h /sharkey sharkey \
&& mkdir /sharkey/files \
&& chown sharkey:sharkey /sharkey/files \
&& find / -type d -path /sys -prune -o -type d -path /proc -prune -o -type f -perm /u+s -exec chmod u-s {} \; \ && find / -type d -path /sys -prune -o -type d -path /proc -prune -o -type f -perm /u+s -exec chmod u-s {} \; \
&& find / -type d -path /sys -prune -o -type d -path /proc -prune -o -type f -perm /g+s -exec chmod g-s {} \; && find / -type d -path /sys -prune -o -type d -path /proc -prune -o -type f -perm /g+s -exec chmod g-s {} \;

View file

@ -1,3 +1,13 @@
# Barkey
[![status-badge](https://ci.zima.ong/api/badges/1/status.svg?branch=stable)](https://ci.zima.ong/repos/1/branches/stable)
Barkey is Sharkey with a few minor tweaks. It was created as a personal project so that I can learn some development fundamentals, and is used in production on [yeentown](https://yeen.town). For several reasons, I **highly encourage** you to use Sharkey instead of this fork.
> ⚠️ I have temporarily stopped creating arm64 images due to the ridiculous time it takes to build in QEMU. These will be back in the future when I am able to set up an arm64 node. If you require arm builds, please build from source for the time being. Thank you for your understanding.
---
<div align="center"> <div align="center">
<a href="https://joinsharkey.org/"> <a href="https://joinsharkey.org/">
<img src="https://activitypub.software/TransFem-org/Sharkey/-/raw/develop/packages/frontend/assets/sharkey.svg" alt="Sharkey logo" style="border-radius:50%" width="300"/> <img src="https://activitypub.software/TransFem-org/Sharkey/-/raw/develop/packages/frontend/assets/sharkey.svg" alt="Sharkey logo" style="border-radius:50%" width="300"/>
@ -25,7 +35,7 @@
<div> <div>
<a href="https://joinsharkey.org/"><img src="https://cdn.shonk.social/files/b671c81c-58cf-4f13-bc96-af0b0c96c667.webp" align="right" height="520px"/></a> <a href="https://joinsharkey.org/"><img src="assets/sharkey.webp" align="right" height="520px"/></a>
## ✨ Features ## ✨ Features
- **ActivityPub support**\ - **ActivityPub support**\

View file

@ -7,3 +7,15 @@ This will allow us to assess the risk, and make a fix available before we add a
bug report to the GitLab repository. bug report to the GitLab repository.
Thanks for helping make Sharkey safe for everyone. Thanks for helping make Sharkey safe for everyone.
> [!note]
> CNA [requires](https://www.cve.org/ResourcesSupport/AllResources/CNARules#section_5-2_Description) that CVEs include a description in English for inclusion in the CVE Catalog.
>
> When creating a security advisory, all content must be written in English (it is acceptable to include a non-English description along with the English one).
## When create a patch
If you can also create a patch to fix the vulnerability, please create a PR on the private fork.
> [!note]
> There is a GitHub bug that prevents merging if a PR not following the develop branch of upstream, so please keep follow the develop branch.

View file

@ -1,5 +1,47 @@
# Upgrade Notes # Upgrade Notes
## 2025.X.X
### Authorized Fetch
This version retires the configuration entry `checkActivityPubGetSignature`, which is now replaced with the new "Authorized Fetch" settings under Control Panel/Security.
The database migrations will automatically import the value of this configuration file, but it will never be read again after upgrading.
To avoid confusion and possible mis-configuration, please remove the entry **after** completing the upgrade.
Do not remove it before migration, or else the setting will reset to default (disabled)!
## 2024.10.0
### Hellspawns
Sharkey versions before 2024.10 suffered from a bug in the "Mark instance as NSFW" feature.
When a user from such an instance boosted a note, the boost would be converted to a hellspawn (pure renote with Content Warning).
Hellspawns are buggy and do not properly federate, so it may be desirable to correct any that already exist in the database.
The following script will correct any local or remote hellspawns in the database.
```postgresql
/* Remove "instance is marked as NSFW" hellspawns */
UPDATE "note"
SET "cw" = null
WHERE
"renoteId" IS NOT NULL
AND "text" IS NULL
AND "cw" = 'Instance is marked as NSFW'
AND "replyId" IS NULL
AND "hasPoll" = false
AND "fileIds" = '{}';
/* Fix legacy / user-created hellspawns */
UPDATE "note"
SET "text" = '.'
WHERE
"renoteId" IS NOT NULL
AND "text" IS NULL
AND "cw" IS NOT NULL
AND "replyId" IS NULL
AND "hasPoll" = false
AND "fileIds" = '{}';
```
## 2024.9.0 ## 2024.9.0
### Following Feed ### Following Feed

Binary file not shown.

Before

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 317 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

BIN
assets/sharkey.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 464 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 KiB

View file

@ -1,7 +1,78 @@
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ #━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# Misskey configuration # Sharkey configuration
#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ #━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
# ┌──────────────────────────────┐
#───┘ a boring but important thing └────────────────────────────
#
# First of all, let me tell you a story that may possibly be
# boring to you and possibly important to you.
#
# Sharkey is licensed under the AGPLv3 license. This license is
# known to be often misunderstood. Please read the following
# instructions carefully and select the appropriate option so
# that you do not negligently cause a license violation.
#
# --------
# Option 1: If you host Sharkey AS-IS (without any changes to
# the source code. forks are not included).
#
# Step 1: Congratulations! You don't need to do anything.
# --------
# Option 2: If you have made changes to the source code (forks
# are included) and publish a Git repository of source
# code. There should be no access restrictions on
# this repository. Strictly speaking, it doesn't have
# to be a Git repository, but you'll probably use Git!
#
# Step 1: Build and run the Sharkey server first.
# Step 2: Open <https://your.sharkey.example/admin/settings> in
# your browser with the administrator account.
# Step 3: Enter the URL of your Git repository in the
# "Repository URL" field.
# --------
# Option 3: If neither of the above applies to you.
# (In this case, the source code should be published
# on the Sharkey interface. IT IS NOT ENOUGH TO
# DISCLOSE THE SOURCE CODE WHEN A USER REQUESTS IT BY
# E-MAIL OR OTHER MEANS. If you are not satisfied
# with this, it is recommended that you read the
# license again carefully. Anyway, enabling this
# option will automatically generate and publish a
# tarball at build time, protecting you from
# inadvertent license violations. (There is no legal
# guarantee, of course.) The tarball will generated
# from the root directory of your codebase. So it is
# also recommended to check <built/tarball> directory
# once after building and before activating the server
# to avoid ACCIDENTAL LEAKING OF SENSITIVE INFORMATION.
# To prevent certain files from being included in the
# tarball, add a glob pattern after line 15 in
# <scripts/tarball.mjs>. DO NOT FORGET TO BUILD AFTER
# ENABLING THIS OPTION!)
#
# Step 1: Uncomment the following line.
#
# publishTarballInsteadOfProvideRepositoryUrl: true
# ┌────────────────────────┐
#───┘ Initial Setup Password └─────────────────────────────────────────────────────
# Password to initiate setting up admin account.
# It will not be used after the initial setup is complete.
#
# Be sure to change this when you set up Sharkey via the Internet.
#
# The provider of the service who sets up Sharkey on behalf of the customer should
# set this value to something unique when generating the Sharkey config file,
# and provide it to the customer.
#
# setupPassword: example_password_please_change_this_or_you_will_get_hacked
# ┌─────┐ # ┌─────┐
#───┘ URL └───────────────────────────────────────────────────── #───┘ URL └─────────────────────────────────────────────────────
@ -15,14 +86,14 @@
#───┘ Port and TLS settings └─────────────────────────────────── #───┘ Port and TLS settings └───────────────────────────────────
# #
# Misskey supports two deployment options for public. # Sharkey supports two deployment options for public.
# #
# Option 1: With Reverse Proxy # Option 1: With Reverse Proxy
# #
# +----- https://example.tld/ ------------+ # +----- https://example.tld/ ------------+
# +------+ |+-------------+ +----------------+| # +------+ |+-------------+ +----------------+|
# | User | ---> || Proxy (443) | ---> | Misskey (3000) || # | User | ---> || Proxy (443) | ---> | Sharkey (3000) ||
# +------+ |+-------------+ +----------------+| # +------+ |+-------------+ +----------------+|
# +---------------------------------------+ # +---------------------------------------+
# #
@ -33,15 +104,15 @@
# #
# +- https://example.tld/ -+ # +- https://example.tld/ -+
# +------+ | +---------------+ | # +------+ | +---------------+ |
# | User | ---> | | Misskey (443) | | # | User | ---> | | Sharkey (443) | |
# +------+ | +---------------+ | # +------+ | +---------------+ |
# +------------------------+ # +------------------------+
# #
# You need to run Misskey as root. # You need to run Sharkey as root.
# You need to set Certificate in 'https' section. # You need to set Certificate in 'https' section.
# To use option 1, uncomment below line. # To use option 1, uncomment below line.
port: 3000 # A port that your Misskey server should listen. port: 3000 # A port that your Sharkey server should listen.
# To use option 2, uncomment below lines. # To use option 2, uncomment below lines.
#port: 443 #port: 443
@ -173,6 +244,11 @@ id: "aidx"
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0' # dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
#sentryForFrontend: #sentryForFrontend:
# vueIntegration:
# tracingOptions:
# trackComponents: true
# browserTracingIntegration:
# replayIntegration:
# options: # options:
# dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0' # dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0'
@ -200,6 +276,19 @@ id: "aidx"
# IP address family used for outgoing request (ipv4, ipv6 or dual) # IP address family used for outgoing request (ipv4, ipv6 or dual)
#outgoingAddressFamily: ipv4 #outgoingAddressFamily: ipv4
# Amount of characters that can be used when writing notes. Longer notes will be rejected. (minimum: 1)
#maxNoteLength: 3000
# Amount of characters that will be saved for remote notes. Longer notes will be truncated to this length. (minimum: 1)
#maxRemoteNoteLength: 100000
# Amount of characters that can be used when writing content warnings. Longer warnings will be rejected. (minimum: 1)
#maxCwLength: 500
# Amount of characters that will be saved for remote content warnings. Longer warnings will be truncated to this length. (minimum: 1)
#maxRemoteCwLength: 5000
# Amount of characters that can be used when writing media descriptions (alt text). Longer descriptions will be rejected. (minimum: 1)
#maxAltTextLength: 20000
# Amount of characters that will be saved for remote media descriptions (alt text). Longer descriptions will be truncated to this length. (minimum: 1)
#maxRemoteAltTextLength: 100000
# Proxy for HTTP/HTTPS # Proxy for HTTP/HTTPS
#proxy: http://127.0.0.1:3128 #proxy: http://127.0.0.1:3128
@ -230,5 +319,35 @@ checkActivityPubGetSignature: false
# '127.0.0.1/32' # '127.0.0.1/32'
#] #]
#customMOTD: ['Hello World', 'The sharks rule all', 'Shonks']
# Disable automatic redirect for ActivityPub object lookup. (default: false)
# This is a strong defense against potential impersonation attacks if the viewer instance has inadequate validation.
# However it will make it impossible for other instances to lookup third-party user and notes through your URL.
#disallowExternalApRedirect: true
# Upload or download file size limits (bytes) # Upload or download file size limits (bytes)
#maxFileSize: 262144000 #maxFileSize: 262144000
# timeout (in milliseconds) and maximum size for imports (e.g. note imports)
#import:
# downloadTimeout: 30000
# maxFileSize: 262144000
# PID File of master process
#pidFile: /tmp/misskey.pid
# CHMod-style permission bits to apply to uploaded files.
# Permission bits are specified as a base-8 string representing User/Group/Other permissions.
# This setting is only useful for custom deployments, such as using a reverse proxy to serve media.
#filePermissionBits: '644'
# Log settings
# logging:
# sql:
# # Outputs query parameters during SQL execution to the log.
# # default: false
# enableQueryParamLogging: false
# # Disable query truncation. If set to true, the full text of the query will be output to the log.
# # default: false
# disableQueryTruncation: false

51
compose.local-dev.yml Normal file
View file

@ -0,0 +1,51 @@
# このconfigは、 dockerでMisskey本体を起動せず、 redisとpostgresql などだけを起動します
name: barkey-devcontainer
services:
redis:
restart: always
image: redis:7-alpine
ports:
- "6379:6379"
volumes:
- ./redis:/data
healthcheck:
test: "redis-cli ping"
interval: 5s
retries: 20
postgres:
restart: always
image: postgres:15-alpine
ports:
- "5432:5432"
env_file:
- .config/docker.env
volumes:
- ./db:/var/lib/postgresql/data
healthcheck:
test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"
interval: 5s
retries: 20
web:
restart: always
image: node:22
ports:
- 3000:3000
- 5173:5173
working_dir: /host
volumes:
- ./:/host
command: sleep infinity
# meilisearch:
# restart: always
# image: getmeili/meilisearch:v1.3.4
# environment:
# - MEILI_NO_ANALYTICS=true
# - MEILI_ENV=production
# env_file:
# - .config/meilisearch.env
# volumes:
# - ./meili_data:/meili_data

46
compose.local-test.yml Normal file
View file

@ -0,0 +1,46 @@
# このconfigは、 dockerでMisskey本体を起動せず、 redisとpostgresql などだけを起動します
name: barkey-test
services:
redis:
restart: always
image: redis:7-alpine
ports:
- "6379:6379"
healthcheck:
test: "redis-cli ping"
interval: 5s
retries: 20
postgres:
restart: always
image: postgres:15-alpine
ports:
- "5432:5432"
env_file:
- .config/docker.env
healthcheck:
test: "pg_isready -U $$POSTGRES_USER -d $$POSTGRES_DB"
interval: 5s
retries: 20
web:
restart: always
image: node:22
ports:
- 3000:3000
working_dir: /host
volumes:
- ./:/host
command: sleep infinity
# meilisearch:
# restart: always
# image: getmeili/meilisearch:v1.3.4
# environment:
# - MEILI_NO_ANALYTICS=true
# - MEILI_ENV=production
# env_file:
# - .config/meilisearch.env
# volumes:
# - ./meili_data:/meili_data

View file

@ -19,6 +19,8 @@ services:
- shonk - shonk
# env_file: # env_file:
# - .config/docker.env # - .config/docker.env
environment:
- NODE_OPTIONS="--max-old-space-size=8192"
volumes: volumes:
- ./files:/sharkey/files - ./files:/sharkey/files
- ./.config:/sharkey/.config:ro - ./.config:/sharkey/.config:ro
@ -37,7 +39,7 @@ services:
db: db:
restart: always restart: always
image: postgres:15-alpine image: groonga/pgroonga:4.0.1-alpine-17
networks: networks:
- shonk - shonk
env_file: env_file:
@ -82,7 +84,7 @@ services:
# meilisearch: # meilisearch:
# restart: always # restart: always
# image: getmeili/meilisearch:v1.3.4 # image: getmeili/meilisearch:v1.13.0
# environment: # environment:
# - MEILI_NO_ANALYTICS=true # - MEILI_NO_ANALYTICS=true
# - MEILI_ENV=production # - MEILI_ENV=production

View file

@ -23,6 +23,7 @@ describe('Before setup instance', () => {
cy.intercept('POST', '/api/admin/accounts/create').as('signup'); cy.intercept('POST', '/api/admin/accounts/create').as('signup');
cy.get('[data-cy-admin-initial-password] input').type('example_password_please_change_this_or_you_will_get_hacked');
cy.get('[data-cy-admin-username] input').type('admin'); cy.get('[data-cy-admin-username] input').type('admin');
cy.get('[data-cy-admin-password] input').type('admin1234'); cy.get('[data-cy-admin-password] input').type('admin1234');
cy.get('[data-cy-admin-ok]').click(); cy.get('[data-cy-admin-ok]').click();
@ -119,11 +120,16 @@ describe('After user signup', () => {
it('signin', () => { it('signin', () => {
cy.visitHome(); cy.visitHome();
cy.intercept('POST', '/api/signin').as('signin'); cy.intercept('POST', '/api/signin-flow').as('signin');
cy.get('[data-cy-signin]').click(); cy.get('[data-cy-signin]').click();
cy.get('[data-cy-signin-username] input').type('alice');
// Enterキーでサインインできるかの確認も兼ねる cy.get('[data-cy-signin-page-input]').should('be.visible', { timeout: 1000 });
// Enterキーで続行できるかの確認も兼ねる
cy.get('[data-cy-signin-username] input').type('alice{enter}');
cy.get('[data-cy-signin-page-password]').should('be.visible', { timeout: 10000 });
// Enterキーで続行できるかの確認も兼ねる
cy.get('[data-cy-signin-password] input').type('alice1234{enter}'); cy.get('[data-cy-signin-password] input').type('alice1234{enter}');
cy.wait('@signin'); cy.wait('@signin');
@ -138,8 +144,9 @@ describe('After user signup', () => {
cy.visitHome(); cy.visitHome();
cy.get('[data-cy-signin]').click(); cy.get('[data-cy-signin]').click();
cy.get('[data-cy-signin-username] input').type('alice');
cy.get('[data-cy-signin-password] input').type('alice1234{enter}'); cy.get('[data-cy-signin-page-input]').should('be.visible', { timeout: 1000 });
cy.get('[data-cy-signin-username] input').type('alice{enter}');
// TODO: cypressにブラウザの言語指定できる機能が実装され次第英語のみテストするようにする // TODO: cypressにブラウザの言語指定できる機能が実装され次第英語のみテストするようにする
cy.contains(/アカウントが凍結されています|This account has been suspended due to/gi); cy.contains(/アカウントが凍結されています|This account has been suspended due to/gi);
@ -226,7 +233,7 @@ describe('After user setup', () => {
cy.get('[data-cy-post-form-text]').type('Hello, Misskey!'); cy.get('[data-cy-post-form-text]').type('Hello, Misskey!');
cy.get('[data-cy-open-post-form-submit]').click(); cy.get('[data-cy-open-post-form-submit]').click();
cy.contains('Hello, Misskey!'); cy.contains('Hello, Misskey!', { timeout: 15000 });
}); });
it('open note form with hotkey', () => { it('open note form with hotkey', () => {

View file

@ -48,16 +48,19 @@ Cypress.Commands.add('registerUser', (username, password, isAdmin = false) => {
cy.request('POST', route, { cy.request('POST', route, {
username: username, username: username,
password: password, password: password,
...(isAdmin ? { setupPassword: 'example_password_please_change_this_or_you_will_get_hacked' } : {}),
}).its('body').as(username); }).its('body').as(username);
}); });
Cypress.Commands.add('login', (username, password) => { Cypress.Commands.add('login', (username, password) => {
cy.visitHome(); cy.visitHome();
cy.intercept('POST', '/api/signin').as('signin'); cy.intercept('POST', '/api/signin-flow').as('signin');
cy.get('[data-cy-signin]').click(); cy.get('[data-cy-signin]').click();
cy.get('[data-cy-signin-username] input').type(username); cy.get('[data-cy-signin-page-input]').should('be.visible', { timeout: 1000 });
cy.get('[data-cy-signin-username] input').type(`${username}{enter}`);
cy.get('[data-cy-signin-page-password]').should('be.visible', { timeout: 10000 });
cy.get('[data-cy-signin-password] input').type(`${password}{enter}`); cy.get('[data-cy-signin-password] input').type(`${password}{enter}`);
cy.wait('@signin').as('signedIn'); cy.wait('@signin').as('signedIn');

View file

@ -2,7 +2,8 @@
"compilerOptions": { "compilerOptions": {
"lib": ["dom", "es5"], "lib": ["dom", "es5"],
"target": "es5", "target": "es5",
"types": ["cypress", "node"] "types": ["cypress", "node"],
"incremental": true
}, },
"include": ["./**/*.ts"] "include": ["./**/*.ts"]
} }

View file

@ -7,8 +7,8 @@
import { action } from '@storybook/addon-actions'; import { action } from '@storybook/addon-actions';
import { StoryObj } from '@storybook/vue3'; import { StoryObj } from '@storybook/vue3';
import { HttpResponse, http } from 'msw'; import { HttpResponse, http } from 'msw';
import { abuseUserReport } from '../../.storybook/fakes.js'; import { abuseUserReport } from '../packages/frontend/.storybook/fakes.js';
import { commonHandlers } from '../../.storybook/mocks.js'; import { commonHandlers } from '../packages/frontend/.storybook/mocks.js';
import MkAbuseReport from './MkAbuseReport.vue'; import MkAbuseReport from './MkAbuseReport.vue';
export const Default = { export const Default = {
render(args) { render(args) {

View file

@ -251,7 +251,6 @@ removeAreYouSure: "متأكد من أنك تريد حذف {x}؟"
deleteAreYouSure: "متأكد من أنك تريد حذف {x}؟" deleteAreYouSure: "متأكد من أنك تريد حذف {x}؟"
resetAreYouSure: "هل تريد إعادة التعيين؟" resetAreYouSure: "هل تريد إعادة التعيين؟"
saved: "حُفظ" saved: "حُفظ"
messaging: "المحادثة"
upload: "ارفع" upload: "ارفع"
keepOriginalUploading: "ابق الصورة الأصلية" keepOriginalUploading: "ابق الصورة الأصلية"
keepOriginalUploadingDescription: "يحفظ الصور المرفوعة على حالتها الأصلية، وان عطّل ستولد نسخة مخصصة من الصورة." keepOriginalUploadingDescription: "يحفظ الصور المرفوعة على حالتها الأصلية، وان عطّل ستولد نسخة مخصصة من الصورة."
@ -264,7 +263,6 @@ uploadFromUrlMayTakeTime: "سيستغرق بعض الوقت لاتمام الر
explore: "استكشاف" explore: "استكشاف"
messageRead: "مقروءة" messageRead: "مقروءة"
noMoreHistory: "لا يوجد المزيد من التاريخ" noMoreHistory: "لا يوجد المزيد من التاريخ"
startMessaging: "ابدأ محادثة"
nUsersRead: "قرأه {n}" nUsersRead: "قرأه {n}"
agreeTo: "اوافق على {0}" agreeTo: "اوافق على {0}"
agree: "أقبل" agree: "أقبل"
@ -343,7 +341,6 @@ enableLocalTimeline: "تفعيل الخيط المحلي"
enableGlobalTimeline: "تفعيل الخيط الزمني الشامل" enableGlobalTimeline: "تفعيل الخيط الزمني الشامل"
disablingTimelinesInfo: "سيتمكن المديرون والمشرفون من الوصول إلى كل الخيوط الزمنية حتى وإن لم تفعّل." disablingTimelinesInfo: "سيتمكن المديرون والمشرفون من الوصول إلى كل الخيوط الزمنية حتى وإن لم تفعّل."
registration: "إنشاء حساب" registration: "إنشاء حساب"
enableRegistration: "تفعيل إنشاء الحسابات الجديدة"
invite: "دعوة" invite: "دعوة"
driveCapacityPerLocalAccount: "حصة التخزين لكل مستخدم محلي" driveCapacityPerLocalAccount: "حصة التخزين لكل مستخدم محلي"
driveCapacityPerRemoteAccount: "حصة التخزين لكل مستخدم بعيد" driveCapacityPerRemoteAccount: "حصة التخزين لكل مستخدم بعيد"
@ -437,8 +434,6 @@ retype: "أعد الكتابة"
noteOf: "ملاحظات {user}" noteOf: "ملاحظات {user}"
quoteAttached: "اِقتُبسَ" quoteAttached: "اِقتُبسَ"
quoteQuestion: "أتريد تضمينها كاقتباس" quoteQuestion: "أتريد تضمينها كاقتباس"
noMessagesYet: "ليس هناك رسائل بعد"
newMessageExists: "لقد تلقيت رسالة جديدة"
onlyOneFileCanBeAttached: "يمكنك إرفاق ملف واحد بالرسالة" onlyOneFileCanBeAttached: "يمكنك إرفاق ملف واحد بالرسالة"
signinRequired: "رجاءً لِج" signinRequired: "رجاءً لِج"
invitations: "دعوة" invitations: "دعوة"
@ -1013,6 +1008,14 @@ sourceCode: "الشفرة المصدرية"
flip: "اقلب" flip: "اقلب"
lastNDays: "آخر {n} أيام" lastNDays: "آخر {n} أيام"
surrender: "ألغِ" surrender: "ألغِ"
postForm: "أنشئ ملاحظة"
information: "عن"
_chat:
invitations: "دعوة"
noHistory: "السجل فارغ"
members: "الأعضاء"
home: "الرئيسي"
send: "أرسل"
_delivery: _delivery:
stop: "مُعلّق" stop: "مُعلّق"
_initialAccountSetting: _initialAccountSetting:
@ -1237,7 +1240,6 @@ _theme:
shadow: "الظل" shadow: "الظل"
navBg: "خلفية الشريط الجانبي" navBg: "خلفية الشريط الجانبي"
navFg: "نص الشريط الجانبي" navFg: "نص الشريط الجانبي"
navHoverFg: "نص الشريط الجانبي (عند التمرير فوقه)"
link: "رابط" link: "رابط"
hashtag: "وسم" hashtag: "وسم"
mention: "أشر الى" mention: "أشر الى"
@ -1312,6 +1314,7 @@ _permissions:
"read:gallery": "اعرض المعرض" "read:gallery": "اعرض المعرض"
"write:gallery": "عدّل المعرض" "write:gallery": "عدّل المعرض"
"read:gallery-likes": "يعرض ما أعجبك من مشاركات المعرض" "read:gallery-likes": "يعرض ما أعجبك من مشاركات المعرض"
"write:chat": "اكتب أو احذف رسائل محادثة"
_auth: _auth:
shareAccess: "أتريد التفويض لـ \"{name}\" بالوصول لحسابك؟" shareAccess: "أتريد التفويض لـ \"{name}\" بالوصول لحسابك؟"
shareAccessAsk: "هل تخول لهذا التطبيق الوصول لحسابك؟" shareAccessAsk: "هل تخول لهذا التطبيق الوصول لحسابك؟"
@ -1461,9 +1464,6 @@ _pages:
newPage: "أنشئ صفحة جديدة" newPage: "أنشئ صفحة جديدة"
editPage: "عدّل الصفحة" editPage: "عدّل الصفحة"
readPage: "نُشّط عرض المصدر" readPage: "نُشّط عرض المصدر"
created: "نجح إنشاء الصفحة"
updated: "نجح تعديل الصفحة"
deleted: "نجح حذف الصفحة"
pageSetting: "إعدادات الصفحة" pageSetting: "إعدادات الصفحة"
nameAlreadyExists: "رابط الصفحة موجود مسبقًا" nameAlreadyExists: "رابط الصفحة موجود مسبقًا"
invalidNameTitle: "رابط الصفحة ليس صالحًا" invalidNameTitle: "رابط الصفحة ليس صالحًا"
@ -1585,3 +1585,10 @@ _reversi:
_offlineScreen: _offlineScreen:
title: "غير متصل - يتعذر الاتصال بالخادم" title: "غير متصل - يتعذر الاتصال بالخادم"
header: "يتعذر الاتصال بالخادم" header: "يتعذر الاتصال بالخادم"
_remoteLookupErrors:
_noSuchObject:
title: "غير موجود"
_search:
searchScopeAll: "الكل"
searchScopeLocal: "المحلي"
searchScopeUser: "مستخدم محدد"

View file

@ -252,7 +252,6 @@ removeAreYouSure: "আপনি কি \"{x}\" সরানোর ব্যা
deleteAreYouSure: "আপনি কি \"{x}\" সরানোর ব্যাপারে নিশ্চিত?" deleteAreYouSure: "আপনি কি \"{x}\" সরানোর ব্যাপারে নিশ্চিত?"
resetAreYouSure: "রিসেট করার ব্যাপারে নিশ্চিত?" resetAreYouSure: "রিসেট করার ব্যাপারে নিশ্চিত?"
saved: "সংরক্ষিত হয়েছে" saved: "সংরক্ষিত হয়েছে"
messaging: "চ্যাট"
upload: "আপলোড" upload: "আপলোড"
keepOriginalUploading: "আসল ছবি রাখুন" keepOriginalUploading: "আসল ছবি রাখুন"
keepOriginalUploadingDescription: "ছবিটি আপলোড করার সময় আসল সংস্করণটি রাখুন। অপশনটি বন্ধ থাকলে, আপলোডের সময় ওয়েব প্রকাশনার জন্য ছবি ব্রাউজারে তৈরি করা হবে।" keepOriginalUploadingDescription: "ছবিটি আপলোড করার সময় আসল সংস্করণটি রাখুন। অপশনটি বন্ধ থাকলে, আপলোডের সময় ওয়েব প্রকাশনার জন্য ছবি ব্রাউজারে তৈরি করা হবে।"
@ -265,7 +264,6 @@ uploadFromUrlMayTakeTime: "URL হতে আপলোড হতে কিছু
explore: "ঘুরে দেখুন" explore: "ঘুরে দেখুন"
messageRead: "পড়া" messageRead: "পড়া"
noMoreHistory: "আর কোন ইতিহাস নেই" noMoreHistory: "আর কোন ইতিহাস নেই"
startMessaging: "চ্যাট শুরু করুন"
nUsersRead: "{n} জন পড়েছেন" nUsersRead: "{n} জন পড়েছেন"
agreeTo: "{0} এর প্রতি আমি সম্মত" agreeTo: "{0} এর প্রতি আমি সম্মত"
start: "শুরু করুন" start: "শুরু করুন"
@ -339,7 +337,6 @@ enableLocalTimeline: "স্থানীয় টাইমলাইন চাল
enableGlobalTimeline: "গ্লোবাল টাইমলাইন চালু করুন" enableGlobalTimeline: "গ্লোবাল টাইমলাইন চালু করুন"
disablingTimelinesInfo: "আপনি এই টাইমলাইনগুলি বন্ধ করলেও প্রশাসক এবং মডারেটররা এই টাইমলাইনগুলি ব্যাবহার করতে পারবে" disablingTimelinesInfo: "আপনি এই টাইমলাইনগুলি বন্ধ করলেও প্রশাসক এবং মডারেটররা এই টাইমলাইনগুলি ব্যাবহার করতে পারবে"
registration: "নিবন্ধন" registration: "নিবন্ধন"
enableRegistration: "নতুন ব্যাবহারকারী নিবন্ধন চালু করুন"
invite: "আমন্ত্রণ" invite: "আমন্ত্রণ"
driveCapacityPerLocalAccount: "প্রত্যেক স্থানীয় ব্যাবহারকারীর জন্য ড্রাইভের জায়গা" driveCapacityPerLocalAccount: "প্রত্যেক স্থানীয় ব্যাবহারকারীর জন্য ড্রাইভের জায়গা"
driveCapacityPerRemoteAccount: "প্রত্যেক রিমোট ব্যাবহারকারীর জন্য ড্রাইভের জায়গা" driveCapacityPerRemoteAccount: "প্রত্যেক রিমোট ব্যাবহারকারীর জন্য ড্রাইভের জায়গা"
@ -428,8 +425,6 @@ retype: "পুনঃ প্রবেশ"
noteOf: "{user} এর নোট" noteOf: "{user} এর নোট"
quoteAttached: "উদ্ধৃত" quoteAttached: "উদ্ধৃত"
quoteQuestion: "উদ্ধৃতি হিসাবে সংযুক্ত করবেন?" quoteQuestion: "উদ্ধৃতি হিসাবে সংযুক্ত করবেন?"
noMessagesYet: "কোন মেসেজ নেই"
newMessageExists: "নতুন মেসেজ পেয়েছেন"
onlyOneFileCanBeAttached: "আপনি মেসেজের সাথে সর্বোচ্চ একটি ফাইল যুক্ত করতে পারবেন" onlyOneFileCanBeAttached: "আপনি মেসেজের সাথে সর্বোচ্চ একটি ফাইল যুক্ত করতে পারবেন"
signinRequired: "দয়া করে লগ ইন করুন" signinRequired: "দয়া করে লগ ইন করুন"
invitations: "আমন্ত্রণ" invitations: "আমন্ত্রণ"
@ -853,6 +848,14 @@ replies: "জবাব"
renotes: "রিনোট" renotes: "রিনোট"
sourceCode: "সোর্স কোড" sourceCode: "সোর্স কোড"
flip: "উল্টান" flip: "উল্টান"
postForm: "নোট লিখুন"
information: "আপনার সম্পর্কে"
_chat:
invitations: "আমন্ত্রণ"
noHistory: "কোনো ইতিহাস নেই"
members: "সদস্যবৃন্দ"
home: "মূল পাতা"
send: "পাঠান"
_delivery: _delivery:
stop: "স্থগিত করা হয়েছে" stop: "স্থগিত করা হয়েছে"
_type: _type:
@ -995,7 +998,6 @@ _theme:
header: "হেডার" header: "হেডার"
navBg: "সাইডবারের পটভূমি" navBg: "সাইডবারের পটভূমি"
navFg: "সাইডবারের পাঠ্য" navFg: "সাইডবারের পাঠ্য"
navHoverFg: "সাইডবারের পাঠ্য (হভার)"
navActive: "সাইডবারের পাঠ্য (অ্যাকটিভ)" navActive: "সাইডবারের পাঠ্য (অ্যাকটিভ)"
navIndicator: "সাইডবারের ইনডিকেটর" navIndicator: "সাইডবারের ইনডিকেটর"
link: "লিংক" link: "লিংক"
@ -1018,11 +1020,8 @@ _theme:
buttonHoverBg: "বাটনের পটভূমি (হভার)" buttonHoverBg: "বাটনের পটভূমি (হভার)"
inputBorder: "ইনপুট ফিল্ডের বর্ডার" inputBorder: "ইনপুট ফিল্ডের বর্ডার"
driveFolderBg: "ড্রাইভ ফোল্ডারের পটভূমি" driveFolderBg: "ড্রাইভ ফোল্ডারের পটভূমি"
wallpaperOverlay: "ওয়ালপেপার ওভারলে"
badge: "ব্যাজ" badge: "ব্যাজ"
messageBg: "চ্যাটের পটভূমি" messageBg: "চ্যাটের পটভূমি"
accentDarken: "অ্যাকসেন্ট (গাঢ়)"
accentLighten: "অ্যাকসেন্ট (হাল্কা)"
fgHighlighted: "হাইলাইট করা পাঠ্য" fgHighlighted: "হাইলাইট করা পাঠ্য"
_sfx: _sfx:
note: "নোটগুলি" note: "নোটগুলি"
@ -1085,6 +1084,7 @@ _permissions:
"write:gallery": "গ্যালারী সম্পাদনা করুন" "write:gallery": "গ্যালারী সম্পাদনা করুন"
"read:gallery-likes": "গ্যালারীর পছন্দগুলি দেখুন" "read:gallery-likes": "গ্যালারীর পছন্দগুলি দেখুন"
"write:gallery-likes": "গ্যালারীর পছন্দগুলি সম্পাদনা করুন" "write:gallery-likes": "গ্যালারীর পছন্দগুলি সম্পাদনা করুন"
"write:chat": "চ্যাটগুলি সম্পাদনা করুন"
_auth: _auth:
shareAccess: "\"{name}\" কে অ্যাকাউন্টের অ্যাক্সেস দিবেন?" shareAccess: "\"{name}\" কে অ্যাকাউন্টের অ্যাক্সেস দিবেন?"
shareAccessAsk: "অ্যাপ্লিকেশনটিকে অ্যাকাউন্টের অ্যাক্সেস দিবেন?" shareAccessAsk: "অ্যাপ্লিকেশনটিকে অ্যাকাউন্টের অ্যাক্সেস দিবেন?"
@ -1238,9 +1238,6 @@ _pages:
newPage: "নতুন পৃষ্ঠা বানান" newPage: "নতুন পৃষ্ঠা বানান"
editPage: "পৃষ্ঠাটি সম্পাদনা করুন" editPage: "পৃষ্ঠাটি সম্পাদনা করুন"
readPage: "উৎস দেখছেন" readPage: "উৎস দেখছেন"
created: "পৃষ্ঠা তৈরি করা হয়েছে"
updated: "পৃষ্ঠা সম্পাদনা করা হয়েছে"
deleted: "পৃষ্ঠা মুছে ফেলা হয়েছে"
pageSetting: "পৃষ্ঠার সেটিংস" pageSetting: "পৃষ্ঠার সেটিংস"
nameAlreadyExists: "পৃষ্ঠার URLটি ইতিমধ্যেই ব্যাবহার করা হয়েছে" nameAlreadyExists: "পৃষ্ঠার URLটি ইতিমধ্যেই ব্যাবহার করা হয়েছে"
invalidNameTitle: "পৃষ্ঠার URL অবৈধ" invalidNameTitle: "পৃষ্ঠার URL অবৈধ"
@ -1349,3 +1346,9 @@ _moderationLogTypes:
resetPassword: "পাসওয়ার্ড রিসেট করুন" resetPassword: "পাসওয়ার্ড রিসেট করুন"
_reversi: _reversi:
total: "মোট" total: "মোট"
_remoteLookupErrors:
_noSuchObject:
title: "পাওয়া যায়নি"
_search:
searchScopeAll: "সবগুলো"
searchScopeLocal: "স্থানীয়"

File diff suppressed because it is too large Load diff

View file

@ -5,9 +5,13 @@ introMisskey: "Vítejte! Misskey je otevřený a decentralizovaný microblogový
poweredByMisskeyDescription: "{name} je jeden ze serverů využívající open source platformu <b>Misskey<b> (nazývaná \"Misskey instance\")." poweredByMisskeyDescription: "{name} je jeden ze serverů využívající open source platformu <b>Misskey<b> (nazývaná \"Misskey instance\")."
monthAndDay: "{day}. {month}." monthAndDay: "{day}. {month}."
search: "Vyhledávání" search: "Vyhledávání"
reset: "Obnovit"
notifications: "Oznámení" notifications: "Oznámení"
username: "Uživatelské jméno" username: "Uživatelské jméno"
password: "Heslo" password: "Heslo"
initialPasswordForSetup: "Počáteční heslo pro nastavení"
initialPasswordIsIncorrect: "Počáteční heslo pro nastavení je nesprávné"
initialPasswordForSetupDescription: "Použijte heslo, které jste nastavili v konfiguračním souboru, pokud jste Misskey instalovali ručně.\nPokud užíváte Misskey hostovací službu, použijte poskytnuté heslo.\nPokud jste heslo nenastavovali, zanechte prázdné."
forgotPassword: "Zapomenuté heslo" forgotPassword: "Zapomenuté heslo"
fetchingAsApObject: "Načítám data z Fediversu..." fetchingAsApObject: "Načítám data z Fediversu..."
ok: "Potvrdit" ok: "Potvrdit"
@ -45,6 +49,8 @@ pin: "Připnout"
unpin: "Odepnout" unpin: "Odepnout"
copyContent: "Zkopírovat obsah" copyContent: "Zkopírovat obsah"
copyLink: "Kopírovat odkaz" copyLink: "Kopírovat odkaz"
copyRemoteLink: "Zkoprírovat vzdálený odkaz"
copyLinkRenote: "Zkopírovat odkaz renotu"
delete: "Smazat" delete: "Smazat"
deleteAndEdit: "Smazat a upravit" deleteAndEdit: "Smazat a upravit"
deleteAndEditConfirm: "Jste si jistí že chcete smazat tuto poznámku a editovat ji? Ztratíte tím všechny reakce, sdílení a odpovědi na ni." deleteAndEditConfirm: "Jste si jistí že chcete smazat tuto poznámku a editovat ji? Ztratíte tím všechny reakce, sdílení a odpovědi na ni."
@ -168,6 +174,9 @@ addAccount: "Přidat účet"
reloadAccountsList: "Obnovit list účtů" reloadAccountsList: "Obnovit list účtů"
loginFailed: "Přihlášení se nezdařilo." loginFailed: "Přihlášení se nezdařilo."
showOnRemote: "Více na původním profilu" showOnRemote: "Více na původním profilu"
continueOnRemote: "Pokračujte na původní profil"
chooseServerOnMisskeyHub: "Vyberete si server z Misskey Hubu"
inputHostName: "Zadejte doménu"
general: "Obecně" general: "Obecně"
wallpaper: "Obrázek na pozadí" wallpaper: "Obrázek na pozadí"
setWallpaper: "Nastavení obrázku na pozadí" setWallpaper: "Nastavení obrázku na pozadí"
@ -192,6 +201,7 @@ perHour: "za hodinu"
perDay: "za den" perDay: "za den"
stopActivityDelivery: "Přestat zasílat aktivitu" stopActivityDelivery: "Přestat zasílat aktivitu"
blockThisInstance: "Blokovat tuto instanci" blockThisInstance: "Blokovat tuto instanci"
silenceThisInstance: "Utišit tuto instanci"
operations: "Operace" operations: "Operace"
software: "Software" software: "Software"
version: "Verze" version: "Verze"
@ -256,7 +266,6 @@ removeAreYouSure: "Jste si jistí že chcete smazat \"{x}\"?"
deleteAreYouSure: "Jste si jistí že chcete smazat \"{x}\"?" deleteAreYouSure: "Jste si jistí že chcete smazat \"{x}\"?"
resetAreYouSure: "Opravdu resetovat?" resetAreYouSure: "Opravdu resetovat?"
saved: "Uloženo" saved: "Uloženo"
messaging: "Zprávy"
upload: "Nahrát soubory" upload: "Nahrát soubory"
keepOriginalUploading: "Ponechat originální obrázek" keepOriginalUploading: "Ponechat originální obrázek"
keepOriginalUploadingDescription: "Uloží původní nahraný obrázek jak je. Pokud je to vypnuté, vygeneruje se zobrazení verze na webu při nahrátí." keepOriginalUploadingDescription: "Uloží původní nahraný obrázek jak je. Pokud je to vypnuté, vygeneruje se zobrazení verze na webu při nahrátí."
@ -269,7 +278,6 @@ uploadFromUrlMayTakeTime: "Může trvat nějakou dobu, dokud nebude dokončeno n
explore: "Objevovat" explore: "Objevovat"
messageRead: "Přečtené" messageRead: "Přečtené"
noMoreHistory: "To je vše" noMoreHistory: "To je vše"
startMessaging: "Zahájit chat"
nUsersRead: "přečteno {n} uživateli" nUsersRead: "přečteno {n} uživateli"
agreeTo: "Souhlasím s {0}" agreeTo: "Souhlasím s {0}"
agree: "Souhlasím" agree: "Souhlasím"
@ -348,7 +356,6 @@ enableLocalTimeline: "Povolit lokální čas"
enableGlobalTimeline: "Povolit globální čas" enableGlobalTimeline: "Povolit globální čas"
disablingTimelinesInfo: "Administrátoři a Moderátoři budou mít stálý přístup ke všem časovým osám i přes to že nejsou zapnuté." disablingTimelinesInfo: "Administrátoři a Moderátoři budou mít stálý přístup ke všem časovým osám i přes to že nejsou zapnuté."
registration: "Registrace" registration: "Registrace"
enableRegistration: "Povolit registraci novým uživatelům"
invite: "Pozvat" invite: "Pozvat"
driveCapacityPerLocalAccount: "Kapacita disku na lokálního uživatele" driveCapacityPerLocalAccount: "Kapacita disku na lokálního uživatele"
driveCapacityPerRemoteAccount: "Kapacita disku na vzdáleného uživatele" driveCapacityPerRemoteAccount: "Kapacita disku na vzdáleného uživatele"
@ -366,8 +373,11 @@ hcaptcha: "hCaptcha"
enableHcaptcha: "Aktivovat hCaptchu" enableHcaptcha: "Aktivovat hCaptchu"
hcaptchaSiteKey: "Klíč stránky" hcaptchaSiteKey: "Klíč stránky"
hcaptchaSecretKey: "Tajný Klíč (Secret Key)" hcaptchaSecretKey: "Tajný Klíč (Secret Key)"
mcaptcha: "mCaptcha"
enableMcaptcha: "Aktivovat mCaptchu"
mcaptchaSiteKey: "Klíč stránky" mcaptchaSiteKey: "Klíč stránky"
mcaptchaSecretKey: "Tajný Klíč (Secret Key)" mcaptchaSecretKey: "Tajný Klíč (Secret Key)"
mcaptchaInstanceUrl: "URL mCaptcha serveru"
recaptcha: "reCAPTCHA" recaptcha: "reCAPTCHA"
enableRecaptcha: "Zapnout ReCAPTCHu" enableRecaptcha: "Zapnout ReCAPTCHu"
recaptchaSiteKey: "Klíč stránky" recaptchaSiteKey: "Klíč stránky"
@ -446,8 +456,6 @@ retype: "Zadejte znovu"
noteOf: "{user} poznámky" noteOf: "{user} poznámky"
quoteAttached: "Citace" quoteAttached: "Citace"
quoteQuestion: "Přiložit jako citaci?" quoteQuestion: "Přiložit jako citaci?"
noMessagesYet: "Zatím tu nejsou žádné zprávy"
newMessageExists: "Máte novou zprávu"
onlyOneFileCanBeAttached: "Ke zprávě můžete přiložit jenom jeden soubor" onlyOneFileCanBeAttached: "Ke zprávě můžete přiložit jenom jeden soubor"
signinRequired: "Přihlašte se, prosím" signinRequired: "Přihlašte se, prosím"
invitations: "Pozvat" invitations: "Pozvat"
@ -471,6 +479,8 @@ uiLanguage: "Jazyk uživatelského rozhraní"
aboutX: "O {x}" aboutX: "O {x}"
emojiStyle: "Styl emoji" emojiStyle: "Styl emoji"
native: "Výchozí" native: "Výchozí"
style: "Vzhled"
popup: "Vyskakovací okno"
showNoteActionsOnlyHover: "Zobrazit akce poznámky jenom při naběhnutí myši" showNoteActionsOnlyHover: "Zobrazit akce poznámky jenom při naběhnutí myši"
noHistory: "Žádná historie" noHistory: "Žádná historie"
signinHistory: "Historie přihlášení" signinHistory: "Historie přihlášení"
@ -533,6 +543,7 @@ showInPage: "Zobrazit na stránce"
popout: "Pop-out" popout: "Pop-out"
volume: "Hlasitost" volume: "Hlasitost"
masterVolume: "Celková hlasitost" masterVolume: "Celková hlasitost"
notUseSound: "Zakázat zvuk"
details: "Detaily" details: "Detaily"
chooseEmoji: "Vybrat emotikon" chooseEmoji: "Vybrat emotikon"
unableToProcess: "Operace nebyla dokončena." unableToProcess: "Operace nebyla dokončena."
@ -1095,6 +1106,14 @@ sourceCode: "Zdrojový kód"
flip: "Otočit" flip: "Otočit"
lastNDays: "Posledních {n} dnů" lastNDays: "Posledních {n} dnů"
surrender: "Zrušit" surrender: "Zrušit"
postForm: "Formulář pro odeslání"
information: "Informace"
_chat:
invitations: "Pozvat"
noHistory: "Žádná historie"
members: "Členové"
home: "Domů"
send: "Odeslat"
_delivery: _delivery:
stop: "Suspendováno" stop: "Suspendováno"
_type: _type:
@ -1607,7 +1626,6 @@ _theme:
header: "Nadpis" header: "Nadpis"
navBg: "Pozadí postranního panelu" navBg: "Pozadí postranního panelu"
navFg: "Text na postranním panelu" navFg: "Text na postranním panelu"
navHoverFg: "Text na postranním panelu (Hover)"
navActive: "Text na postranním panelu (Aktivní)" navActive: "Text na postranním panelu (Aktivní)"
navIndicator: "Indikátor na postranním panelu" navIndicator: "Indikátor na postranním panelu"
link: "Odkaz" link: "Odkaz"
@ -1630,11 +1648,8 @@ _theme:
buttonHoverBg: "Pozadí tlačítka (Hover)" buttonHoverBg: "Pozadí tlačítka (Hover)"
inputBorder: "Ohraničení vstupního pole" inputBorder: "Ohraničení vstupního pole"
driveFolderBg: "Pozadí složky disku" driveFolderBg: "Pozadí složky disku"
wallpaperOverlay: "Překrytí tapety"
badge: "Odznak" badge: "Odznak"
messageBg: "Pozadí chatu" messageBg: "Pozadí chatu"
accentDarken: "Akcent (Ztmavený)"
accentLighten: "Akcent (Zesvětlený)"
fgHighlighted: "Zvýrazněný text" fgHighlighted: "Zvýrazněný text"
_sfx: _sfx:
note: "Poznámky" note: "Poznámky"
@ -1710,6 +1725,7 @@ _permissions:
"write:gallery": "Upravit galerii" "write:gallery": "Upravit galerii"
"read:gallery-likes": "Zobrazit seznam to se mi líbí příspěvků v galerii" "read:gallery-likes": "Zobrazit seznam to se mi líbí příspěvků v galerii"
"write:gallery-likes": "Upravit seznam to se mi líbí příspěvků v galerii" "write:gallery-likes": "Upravit seznam to se mi líbí příspěvků v galerii"
"write:chat": "Sestavit nebo mazat zprávy chatu"
_auth: _auth:
shareAccessTitle: "Udělovat oprávnění k aplikacím" shareAccessTitle: "Udělovat oprávnění k aplikacím"
shareAccess: "Chcete autorizovat \"{name}\" pro přístup k tomuto účtu?" shareAccess: "Chcete autorizovat \"{name}\" pro přístup k tomuto účtu?"
@ -1884,9 +1900,6 @@ _pages:
newPage: "Vytvořit novou stránku" newPage: "Vytvořit novou stránku"
editPage: "Upravit stránku" editPage: "Upravit stránku"
readPage: "Prohlížení zdroje této stránky" readPage: "Prohlížení zdroje této stránky"
created: "Stránka byla úspěšně vytvořena"
updated: "Stránka byla úspěšně aktualizována"
deleted: "Stránka byla úspěšně smazána"
pageSetting: "Nastavení stránky" pageSetting: "Nastavení stránky"
nameAlreadyExists: "Zadaná adresa URL stránky již existuje" nameAlreadyExists: "Zadaná adresa URL stránky již existuje"
invalidNameTitle: "Zadaná adresa URL stránky je neplatná" invalidNameTitle: "Zadaná adresa URL stránky je neplatná"
@ -2025,3 +2038,10 @@ _moderationLogTypes:
createInvitation: "Vygenerovat pozvánku" createInvitation: "Vygenerovat pozvánku"
_reversi: _reversi:
total: "Celkem" total: "Celkem"
_remoteLookupErrors:
_noSuchObject:
title: "Nenalezeno"
_search:
searchScopeAll: "Vše"
searchScopeLocal: "Místní"
searchScopeUser: "Upřesnit uživatele"

File diff suppressed because it is too large Load diff

View file

@ -162,14 +162,12 @@ imageUrl: "URL εικόνας"
remove: "Διαγραφή" remove: "Διαγραφή"
removed: "Η διαγραφή ολοκληρώθηκε επιτυχώς" removed: "Η διαγραφή ολοκληρώθηκε επιτυχώς"
saved: "Αποθηκεύτηκε" saved: "Αποθηκεύτηκε"
messaging: "Συνομιλία"
upload: "Ανεβάστε" upload: "Ανεβάστε"
fromDrive: "Από τον Αποθηκευτικό Χώρο" fromDrive: "Από τον Αποθηκευτικό Χώρο"
fromUrl: "Από URL" fromUrl: "Από URL"
uploadFromUrl: "Ανεβάστε από URL" uploadFromUrl: "Ανεβάστε από URL"
explore: "Εξερευνήστε" explore: "Εξερευνήστε"
messageRead: "Διαβάστηκε" messageRead: "Διαβάστηκε"
startMessaging: "Ξεκινήστε μία συνομιλία"
nUsersRead: "διαβάστηκε από {n}" nUsersRead: "διαβάστηκε από {n}"
start: "Ας αρχίσουμε" start: "Ας αρχίσουμε"
home: "Κεντρικό" home: "Κεντρικό"
@ -288,6 +286,11 @@ cannotUploadBecauseNoFreeSpace: "Το ανέβασμα απέτυχε λόγω
icon: "Εικονίδιο" icon: "Εικονίδιο"
replies: "Απάντηση" replies: "Απάντηση"
renotes: "Κοινοποίηση σημειώματος" renotes: "Κοινοποίηση σημειώματος"
postForm: "Φόρμα δημοσίευσης"
information: "Πληροφορίες"
_chat:
members: "Μέλη"
home: "Κεντρικό"
_email: _email:
_follow: _follow:
title: "Έχετε ένα νέο ακόλουθο" title: "Έχετε ένα νέο ακόλουθο"
@ -321,6 +324,7 @@ _permissions:
"write:notifications": "Διαχειριστείτε τις ειδοποιήσεις σας" "write:notifications": "Διαχειριστείτε τις ειδοποιήσεις σας"
"read:pages": "Δείτε τις Σελίδες σας" "read:pages": "Δείτε τις Σελίδες σας"
"write:pages": "Επεξεργαστείτε ή διαγράψτε τις σελίδες σας" "write:pages": "Επεξεργαστείτε ή διαγράψτε τις σελίδες σας"
"write:chat": "Γράψτε ή διαγράψτε μηνύματα συνομιλίας"
_antennaSources: _antennaSources:
all: "Όλα τα σημειώματα" all: "Όλα τα σημειώματα"
homeTimeline: "Σημειώματα από μέλη που ακολουθείτε" homeTimeline: "Σημειώματα από μέλη που ακολουθείτε"
@ -397,3 +401,5 @@ _moderationLogTypes:
suspend: "Αποβολή" suspend: "Αποβολή"
_reversi: _reversi:
total: "Σύνολο" total: "Σύνολο"
_search:
searchScopeLocal: "Τοπικό"

View file

@ -5,6 +5,7 @@ introMisskey: "Welcome! Misskey is an open source, decentralized microblogging s
poweredByMisskeyDescription: "{name} is one of the services powered by the open source platform <b>Misskey</b> (referred to as a \"Misskey instance\")." poweredByMisskeyDescription: "{name} is one of the services powered by the open source platform <b>Misskey</b> (referred to as a \"Misskey instance\")."
monthAndDay: "{month}/{day}" monthAndDay: "{month}/{day}"
search: "Search" search: "Search"
reset: "Reset"
notifications: "Notifications" notifications: "Notifications"
username: "Username" username: "Username"
password: "Password" password: "Password"
@ -48,6 +49,7 @@ pin: "Pin to profile"
unpin: "Unpin from profile" unpin: "Unpin from profile"
copyContent: "Copy contents" copyContent: "Copy contents"
copyLink: "Copy link" copyLink: "Copy link"
copyRemoteLink: "Copy remote link"
copyLinkRenote: "Copy renote link" copyLinkRenote: "Copy renote link"
delete: "Delete" delete: "Delete"
deleteAndEdit: "Delete and edit" deleteAndEdit: "Delete and edit"
@ -130,7 +132,7 @@ reaction: "Reactions"
reactions: "Reactions" reactions: "Reactions"
emojiPicker: "Emoji picker" emojiPicker: "Emoji picker"
pinnedEmojisForReactionSettingDescription: "Set the emojis to be pinned and displayed when reacting." pinnedEmojisForReactionSettingDescription: "Set the emojis to be pinned and displayed when reacting."
pinnedEmojisSettingDescription: "Set the emojis to be pinned and displayed when viewing emoji picker." pinnedEmojisSettingDescription: "Set the emojis to be pinned and displayed when viewing emoji picker"
emojiPickerDisplay: "Emoji picker display" emojiPickerDisplay: "Emoji picker display"
overwriteFromPinnedEmojisForReaction: "Override from reaction settings" overwriteFromPinnedEmojisForReaction: "Override from reaction settings"
overwriteFromPinnedEmojis: "Override from general settings" overwriteFromPinnedEmojis: "Override from general settings"
@ -287,7 +289,6 @@ deleteAreYouSure: "Are you sure that you want to delete \"{x}\"?"
resetAreYouSure: "Really reset?" resetAreYouSure: "Really reset?"
areYouSure: "Are you sure?" areYouSure: "Are you sure?"
saved: "Saved" saved: "Saved"
messaging: "Chat"
upload: "Upload" upload: "Upload"
keepOriginalUploading: "Keep original image" keepOriginalUploading: "Keep original image"
keepOriginalUploadingDescription: "Saves the originally uploaded image as-is. If turned off, a version to display on the web will be generated on upload." keepOriginalUploadingDescription: "Saves the originally uploaded image as-is. If turned off, a version to display on the web will be generated on upload."
@ -300,7 +301,7 @@ uploadFromUrlMayTakeTime: "It may take some time until the upload is complete."
explore: "Explore" explore: "Explore"
messageRead: "Read" messageRead: "Read"
noMoreHistory: "There is no further history" noMoreHistory: "There is no further history"
startMessaging: "Start a new chat" startChat: "Start chat"
nUsersRead: "read by {n}" nUsersRead: "read by {n}"
agreeTo: "I agree to {0}" agreeTo: "I agree to {0}"
agree: "Agree" agree: "Agree"
@ -331,7 +332,7 @@ selectFile: "Select a file"
selectFiles: "Select files" selectFiles: "Select files"
selectFolder: "Select a folder" selectFolder: "Select a folder"
selectFolders: "Select folders" selectFolders: "Select folders"
fileNotSelected: "" fileNotSelected: "No file selected"
renameFile: "Rename file" renameFile: "Rename file"
folderName: "Folder name" folderName: "Folder name"
createFolder: "Create a folder" createFolder: "Create a folder"
@ -344,7 +345,7 @@ emptyDrive: "Your Drive is empty"
emptyFolder: "This folder is empty" emptyFolder: "This folder is empty"
unableToDelete: "Unable to delete" unableToDelete: "Unable to delete"
inputNewFileName: "Enter a new filename" inputNewFileName: "Enter a new filename"
inputNewDescription: "Enter new caption" inputNewDescription: "Enter new alt text"
inputNewFolderName: "Enter a new folder name" inputNewFolderName: "Enter a new folder name"
circularReferenceFolder: "The destination folder is a subfolder of the folder you wish to move." circularReferenceFolder: "The destination folder is a subfolder of the folder you wish to move."
hasChildFilesOrFolders: "Since this folder is not empty, it can not be deleted." hasChildFilesOrFolders: "Since this folder is not empty, it can not be deleted."
@ -382,7 +383,6 @@ enableLocalTimeline: "Enable local timeline"
enableGlobalTimeline: "Enable global timeline" enableGlobalTimeline: "Enable global timeline"
disablingTimelinesInfo: "Adminstrators and Moderators will always have access to all timelines, even if they are not enabled." disablingTimelinesInfo: "Adminstrators and Moderators will always have access to all timelines, even if they are not enabled."
registration: "Register" registration: "Register"
enableRegistration: "Enable new user registration"
invite: "Invite" invite: "Invite"
driveCapacityPerLocalAccount: "Drive capacity per local user" driveCapacityPerLocalAccount: "Drive capacity per local user"
driveCapacityPerRemoteAccount: "Drive capacity per remote user" driveCapacityPerRemoteAccount: "Drive capacity per remote user"
@ -424,6 +424,7 @@ antennaExcludeBots: "Exclude bot accounts"
antennaKeywordsDescription: "Separate with spaces for an AND condition or with line breaks for an OR condition." antennaKeywordsDescription: "Separate with spaces for an AND condition or with line breaks for an OR condition."
notifyAntenna: "Notify about new notes" notifyAntenna: "Notify about new notes"
withFileAntenna: "Only notes with files" withFileAntenna: "Only notes with files"
excludeNotesInSensitiveChannel: "Exclude notes from sensitive channels"
enableServiceworker: "Enable Push-Notifications for your Browser" enableServiceworker: "Enable Push-Notifications for your Browser"
antennaUsersDescription: "List one username per line" antennaUsersDescription: "List one username per line"
caseSensitive: "Case sensitive" caseSensitive: "Case sensitive"
@ -490,8 +491,6 @@ noteOf: "Note by {user}"
quoteAttached: "Quote" quoteAttached: "Quote"
quoteQuestion: "Append as quote?" quoteQuestion: "Append as quote?"
attachAsFileQuestion: "The text in clipboard is long. Would you want to attach it as text file?" attachAsFileQuestion: "The text in clipboard is long. Would you want to attach it as text file?"
noMessagesYet: "No messages yet"
newMessageExists: "There are new messages"
onlyOneFileCanBeAttached: "You can only attach one file to a message" onlyOneFileCanBeAttached: "You can only attach one file to a message"
signinRequired: "Please register or sign in before continuing" signinRequired: "Please register or sign in before continuing"
signinOrContinueOnRemote: "To continue, you need to move your server or sign up / log in to this server." signinOrContinueOnRemote: "To continue, you need to move your server or sign up / log in to this server."
@ -585,8 +584,9 @@ popout: "Pop-out"
volume: "Volume" volume: "Volume"
masterVolume: "Master volume" masterVolume: "Master volume"
notUseSound: "Disable sound" notUseSound: "Disable sound"
useSoundOnlyWhenActive: "Output sounds only if Misskey is active." useSoundOnlyWhenActive: "Output sounds only if Misskey is active"
details: "Details" details: "Details"
renoteDetails: "Renote details"
chooseEmoji: "Select an emoji" chooseEmoji: "Select an emoji"
unableToProcess: "The operation could not be completed" unableToProcess: "The operation could not be completed"
recentUsed: "Recently used" recentUsed: "Recently used"
@ -644,8 +644,8 @@ disablePlayer: "Close video player"
expandTweet: "Expand post" expandTweet: "Expand post"
themeEditor: "Theme editor" themeEditor: "Theme editor"
description: "Description" description: "Description"
describeFile: "Add caption" describeFile: "Add alt text"
enterFileDescription: "Enter caption" enterFileDescription: "Enter alt text"
author: "Author" author: "Author"
leaveConfirm: "There are unsaved changes. Do you want to discard them?" leaveConfirm: "There are unsaved changes. Do you want to discard them?"
manage: "Management" manage: "Management"
@ -684,14 +684,19 @@ smtpSecure: "Use implicit SSL/TLS for SMTP connections"
smtpSecureInfo: "Turn this off when using STARTTLS" smtpSecureInfo: "Turn this off when using STARTTLS"
testEmail: "Test email delivery" testEmail: "Test email delivery"
wordMute: "Word mute" wordMute: "Word mute"
wordMuteDescription: "Minimize notes that contain the specified word or phrase. Minimized notes can be displayed by clicking on them."
hardWordMute: "Hard word mute" hardWordMute: "Hard word mute"
showMutedWord: "Show muted words"
hardWordMuteDescription: "Hide notes that contain the specified word or phrase. Unlike word mute, the note will be completely hidden from view."
regexpError: "Regular Expression error" regexpError: "Regular Expression error"
regexpErrorDescription: "An error occurred in the regular expression on line {line} of your {tab} word mutes:" regexpErrorDescription: "An error occurred in the regular expression on line {line} of your {tab} word mutes:"
instanceMute: "Instance Mutes" instanceMute: "Instance Mutes"
userSaysSomething: "{name} said something" userSaysSomething: "{name} said something"
userSaysSomethingAbout: "{name} said something about \"{word}\""
makeActive: "Activate" makeActive: "Activate"
display: "Display" display: "Display"
copy: "Copy" copy: "Copy"
copiedToClipboard: "Copied to clipboard"
metrics: "Metrics" metrics: "Metrics"
overview: "Overview" overview: "Overview"
logs: "Logs" logs: "Logs"
@ -947,6 +952,9 @@ oneHour: "One hour"
oneDay: "One day" oneDay: "One day"
oneWeek: "One week" oneWeek: "One week"
oneMonth: "One month" oneMonth: "One month"
threeMonths: "3 months"
oneYear: "1 year"
threeDays: "3 days"
reflectMayTakeTime: "It may take some time for this to be reflected." reflectMayTakeTime: "It may take some time for this to be reflected."
failedToFetchAccountInformation: "Could not fetch account information" failedToFetchAccountInformation: "Could not fetch account information"
rateLimitExceeded: "Rate limit exceeded" rateLimitExceeded: "Rate limit exceeded"
@ -970,7 +978,8 @@ deleteAccount: "Delete account"
document: "Documentation" document: "Documentation"
numberOfPageCache: "Number of cached pages" numberOfPageCache: "Number of cached pages"
numberOfPageCacheDescription: "Increasing this number will improve convenience for but cause more load as more memory usage on the user's device." numberOfPageCacheDescription: "Increasing this number will improve convenience for but cause more load as more memory usage on the user's device."
logoutConfirm: "Really log out?" logoutConfirm: "Are you sure you want to log out?"
logoutWillClearClientData: "Logging out will erase the settings of the client from the browser. In order to be able to restore the settings upon logging in again, you must enable automatic backup of your settings."
lastActiveDate: "Last used at" lastActiveDate: "Last used at"
statusbar: "Status bar" statusbar: "Status bar"
pleaseSelect: "Select an option" pleaseSelect: "Select an option"
@ -1007,7 +1016,7 @@ sendPushNotificationReadMessageCaption: "This may increase the power consumption
windowMaximize: "Maximize" windowMaximize: "Maximize"
windowMinimize: "Minimize" windowMinimize: "Minimize"
windowRestore: "Restore" windowRestore: "Restore"
caption: "Caption" caption: "Alt text"
loggedInAsBot: "Currently logged in as bot" loggedInAsBot: "Currently logged in as bot"
tools: "Tools" tools: "Tools"
cannotLoad: "Unable to load" cannotLoad: "Unable to load"
@ -1087,6 +1096,7 @@ retryAllQueuesConfirmTitle: "Really retry all?"
retryAllQueuesConfirmText: "This will temporarily increase the server load." retryAllQueuesConfirmText: "This will temporarily increase the server load."
enableChartsForRemoteUser: "Generate remote user data charts" enableChartsForRemoteUser: "Generate remote user data charts"
enableChartsForFederatedInstances: "Generate remote instance data charts" enableChartsForFederatedInstances: "Generate remote instance data charts"
enableStatsForFederatedInstances: "Receive remote server stats"
showClipButtonInNoteFooter: "Add \"Clip\" to note action menu" showClipButtonInNoteFooter: "Add \"Clip\" to note action menu"
reactionsDisplaySize: "Reaction display size" reactionsDisplaySize: "Reaction display size"
limitWidthOfReaction: "Limit the maximum width of reactions and display them in reduced size." limitWidthOfReaction: "Limit the maximum width of reactions and display them in reduced size."
@ -1251,7 +1261,7 @@ copyReplayData: "Copy replay data"
ranking: "Ranking" ranking: "Ranking"
lastNDays: "Last {n} days" lastNDays: "Last {n} days"
backToTitle: "Go back to title" backToTitle: "Go back to title"
hemisphere: "Where are you located" hemisphere: "Where you live"
withSensitive: "Include notes with sensitive files" withSensitive: "Include notes with sensitive files"
userSaysSomethingSensitive: "Post by {name} contains sensitive content" userSaysSomethingSensitive: "Post by {name} contains sensitive content"
enableHorizontalSwipe: "Swipe to switch tabs" enableHorizontalSwipe: "Swipe to switch tabs"
@ -1262,7 +1272,7 @@ notUsePleaseLeaveBlank: "Leave blank if not used"
useTotp: "Enter the One-Time Password" useTotp: "Enter the One-Time Password"
useBackupCode: "Use the backup codes" useBackupCode: "Use the backup codes"
launchApp: "Launch the app" launchApp: "Launch the app"
useNativeUIForVideoAudioPlayer: "Use UI of browser when play video and audio" useNativeUIForVideoAudioPlayer: "Use UI of browser when play video and audio\n"
keepOriginalFilename: "Keep original file name" keepOriginalFilename: "Keep original file name"
keepOriginalFilenameDescription: "If you turn off this setting, files names will be replaced with random string automatically when you upload files." keepOriginalFilenameDescription: "If you turn off this setting, files names will be replaced with random string automatically when you upload files."
noDescription: "There is no explanation" noDescription: "There is no explanation"
@ -1287,13 +1297,168 @@ passkeyVerificationFailed: "Passkey verification has failed."
passkeyVerificationSucceededButPasswordlessLoginDisabled: "Passkey verification has succeeded but password-less login is disabled." passkeyVerificationSucceededButPasswordlessLoginDisabled: "Passkey verification has succeeded but password-less login is disabled."
messageToFollower: "Message to followers" messageToFollower: "Message to followers"
target: "Target" target: "Target"
testCaptchaWarning: "This function is intended for CAPTCHA testing purposes.\n<strong>Do not use in a production environment.</strong>"
prohibitedWordsForNameOfUser: "Prohibited words for user names"
prohibitedWordsForNameOfUserDescription: "If any of the strings in this list are included in the user's name, the name will be denied. Users with moderator privileges are not affected by this restriction."
yourNameContainsProhibitedWords: "Your name contains prohibited words"
yourNameContainsProhibitedWordsDescription: "If you wish to use this name, please contact your server administrator."
thisContentsAreMarkedAsSigninRequiredByAuthor: "Set by the author to require login to view"
lockdown: "Lockdown"
pleaseSelectAccount: "Select an account"
availableRoles: "Available roles"
acknowledgeNotesAndEnable: "Turn on after understanding the precautions."
federationSpecified: "This server is operated in an allowlist federation. Interacting with servers other than those designated by the administrator is not allowed."
federationDisabled: "Federation is disabled on this server. You cannot interact with users on other servers."
confirmOnReact: "Confirm when reacting"
reactAreYouSure: "Would you like to add a \"{emoji}\" reaction?"
markAsSensitiveConfirm: "Do you want to set this media as sensitive?"
unmarkAsSensitiveConfirm: "Do you want to remove the sensitive designation for this media?"
preferences: "Preferences"
accessibility: "Accessibility"
preferencesProfile: "Preferences profile"
copyPreferenceId: "Copy the preference ID"
resetToDefaultValue: "Revert to default"
overrideByAccount: "Override by the account"
untitled: "Untitled"
noName: "No name"
skip: "Skip"
restore: "Restore"
syncBetweenDevices: "Sync between devices"
preferenceSyncConflictTitle: "The configured value exists on the server."
preferenceSyncConflictText: "The sync enabled settings will save their values to the server. However, there are existing values on the server. Which set of values would you like to overwrite?"
preferenceSyncConflictChoiceServer: "Configured value on server"
preferenceSyncConflictChoiceDevice: "Configured value on device"
preferenceSyncConflictChoiceCancel: "Cancel enabling sync"
paste: "Paste"
emojiPalette: "Emoji palette"
postForm: "Posting form"
textCount: "Character count"
information: "About"
chat: "Chat"
migrateOldSettings: "Migrate old client settings"
migrateOldSettings_description: "This should be done automatically but if for some reason the migration was not successful, you can trigger the migration process yourself manually. The current configuration information will be overwritten."
compress: "Compress"
right: "Right"
bottom: "Bottom"
top: "Top"
embed: "Embed"
settingsMigrating: "Settings are being migrated, please wait a moment... (You can also migrate manually later by going to Settings→Others→Migrate old settings)"
readonly: "Read only"
goToDeck: "Return to Deck"
federationJobs: "Federation Jobs"
driveAboutTip: "In Drive, a list of files you've uploaded in the past will be displayed. <br> \nYou can reuse these files when attaching them to notes, or you can upload files in advance to post later. <br> \n<b>Be careful when deleting a file, as it will not be available in all places where it was used (such as notes, pages, avatars, banners, etc.).</b> <br> \nYou can also create folders to organize your files."
_chat:
noMessagesYet: "No messages yet"
newMessage: "New message"
individualChat: "Private Chat"
individualChat_description: "Have a private chat with another person."
roomChat: "Room Chat"
roomChat_description: "A chat room which can have multiple people.\nYou can also invite people who don't allow private chats if they accept the invite."
createRoom: "Create Room"
inviteUserToChat: "Invite users to start chatting"
yourRooms: "Created rooms"
joiningRooms: "Joined rooms"
invitations: "Invite"
noInvitations: "No invitations"
history: "History"
noHistory: "No history available"
noRooms: "No rooms found"
inviteUser: "Invite Users"
sentInvitations: "Sent Invites"
join: "Join"
ignore: "Ignore"
leave: "Leave room"
members: "Members"
searchMessages: "Search messages"
home: "Home"
send: "Send"
newline: "New line"
muteThisRoom: "Mute room"
deleteRoom: "Delete room"
chatNotAvailableForThisAccountOrServer: "Chat is not enabled on this server or for this account."
chatIsReadOnlyForThisAccountOrServer: "Chat is read-only on this instance or this account. You cannot write new messages or create/join chat rooms."
chatNotAvailableInOtherAccount: "The chat function is disabled for the other user."
cannotChatWithTheUser: "Cannot start a chat with this user"
cannotChatWithTheUser_description: "Chat is either unavailable or the other party has not enabled chat."
chatWithThisUser: "Chat with user"
thisUserAllowsChatOnlyFromFollowers: "This user accepts chats from followers only."
thisUserAllowsChatOnlyFromFollowing: "This user accepts chats only from users they follow."
thisUserAllowsChatOnlyFromMutualFollowing: "This user only accepts chats from users who are mutual followers."
thisUserNotAllowedChatAnyone: "This user is not accepting chats from anyone."
chatAllowedUsers: "Who to allow chatting with"
chatAllowedUsers_note: "You can chat with anyone to whom you have sent a chat message regardless of this setting."
_chatAllowedUsers:
everyone: "Everyone"
followers: "Only your followers"
following: "Only users you are following"
mutual: "Mutual followers only"
none: "Nobody"
_emojiPalette:
palettes: "Palette"
enableSyncBetweenDevicesForPalettes: "Enable palette sync between devices"
paletteForMain: "Main palette"
paletteForReaction: "Reaction palette"
_settings:
driveBanner: "You can manage and configure the drive, check usage, and configure file upload settings."
pluginBanner: "You can extend client features with plugins. You can install plugins, configure and manage individually."
notificationsBanner: "You can configure the types and range of notifications from the server and push notifications."
api: "API"
webhook: "Webhook"
serviceConnection: "Service integration"
serviceConnectionBanner: "Manage and configure access tokens and Webhooks to integrate with external apps or services."
accountData: "Account data"
accountDataBanner: "Export and import to manage account data."
muteAndBlockBanner: "You can configure and manage settings to hide content and restrict actions from specific users."
accessibilityBanner: "You can personalize the client's visuals and behavior, and configure settings to optimize usage."
privacyBanner: "You can configure settings related to account privacy, such as content visibility, discoverability, and follow approval."
securityBanner: "You can configure settings related to account security, such as password, login methods, authentication apps, and Passkeys."
preferencesBanner: "You can configure the overall behavior of the client according to your preferences."
appearanceBanner: "You can configure the appearance and display settings for the client according to your preferences."
soundsBanner: "You can configure the sound settings for playback in the client."
timelineAndNote: "Timeline and note"
makeEveryTextElementsSelectable: "Make all text elements selectable"
makeEveryTextElementsSelectable_description: "Enabling this may reduce usability in some situations."
useStickyIcons: "Make icons follow while scrolling"
showNavbarSubButtons: "Show sub-buttons on the navigation bar"
ifOn: "When turned on"
ifOff: "When turned off"
enableSyncThemesBetweenDevices: "Synchronize installed themes across devices"
_chat:
showSenderName: "Show sender's name"
sendOnEnter: "Press Enter to send"
_preferencesProfile:
profileName: "Profile name"
profileNameDescription: "Set a name that identifies this device."
profileNameDescription2: "Example: \"Main PC\", \"Smartphone\""
_preferencesBackup:
autoBackup: "Auto backup"
restoreFromBackup: "Restore from backup"
noBackupsFoundTitle: "No backups found"
noBackupsFoundDescription: "No auto-created backups were found, but if you have manually saved a backup file, you can import and restore it."
selectBackupToRestore: "Select a backup to restore"
youNeedToNameYourProfileToEnableAutoBackup: "A profile name must be set to enable auto backup."
autoPreferencesBackupIsNotEnabledForThisDevice: "Settings auto backup is not enabled on this device."
backupFound: "Settings backup is found"
_accountSettings:
requireSigninToViewContents: "Require sign-in to view contents"
requireSigninToViewContentsDescription1: "Require login to view all notes and other content you have created. This will have the effect of preventing crawlers from collecting your information."
requireSigninToViewContentsDescription2: "Content will not be displayed in URL previews (OGP), embedded in web pages, or on servers that don't support note quotes."
requireSigninToViewContentsDescription3: "These restrictions may not apply to federated content from other remote servers."
makeNotesFollowersOnlyBefore: "Make past notes to be displayed only to followers"
makeNotesFollowersOnlyBeforeDescription: "While this feature is enabled, only followers can see notes past the set date and time or have been visible for a set time. When it is deactivated, the note publication status will also be restored."
makeNotesHiddenBefore: "Make past notes private"
makeNotesHiddenBeforeDescription: "While this feature is enabled, notes that are past the set date and time or have been visible only to you. When it is deactivated, the note publication status will also be restored."
mayNotEffectForFederatedNotes: "Notes federated to a remote server may not be affected."
mayNotEffectSomeSituations: "These restrictions are simplified. They may not apply in some situations, such as when viewing on a remote server or during moderation."
notesHavePassedSpecifiedPeriod: "Note that the specified time has passed"
notesOlderThanSpecifiedDateAndTime: "Notes before the specified date and time"
_abuseUserReport: _abuseUserReport:
forward: "Forward" forward: "Forward"
forwardDescription: "Forward the report to a remote server as an anonymous system account." forwardDescription: "Forward the report to a remote server as an anonymous system account."
resolve: "Resolve" resolve: "Resolve"
accept: "Accept" accept: "Accept"
reject: "Reject" reject: "Reject"
resolveTutorial: "If the report is legitimate in content, select \"Accept\" to mark the case as resolved in the affirmative.\nIf the content of the report is not legitimate, select \"Reject\" to mark the case as resolved in the negative." resolveTutorial: "If the report's content is legitimate, select \"Accept\" to mark it as resolved.\nIf the report's content is illegitimate, select \"Reject\" to ignore it."
_delivery: _delivery:
status: "Delivery status" status: "Delivery status"
stop: "Suspended" stop: "Suspended"
@ -1431,6 +1596,9 @@ _serverSettings:
reactionsBufferingDescription: "When enabled, performance during reaction creation will be greatly improved, reducing the load on the database. However, Redis memory usage will increase." reactionsBufferingDescription: "When enabled, performance during reaction creation will be greatly improved, reducing the load on the database. However, Redis memory usage will increase."
inquiryUrl: "Inquiry URL" inquiryUrl: "Inquiry URL"
inquiryUrlDescription: "Specify a URL for the inquiry form to the server maintainer or a web page for the contact information." inquiryUrlDescription: "Specify a URL for the inquiry form to the server maintainer or a web page for the contact information."
openRegistration: "Make the account creation open"
openRegistrationWarning: "Opening registration carries risks. It is recommended to only enable it if you have a system in place to continuously monitor the server and respond immediately in case of any issues."
thisSettingWillAutomaticallyOffWhenModeratorsInactive: "If no moderator activity is detected for a while, this setting will be automatically turned off to prevent spam."
_accountMigration: _accountMigration:
moveFrom: "Migrate another account to this one" moveFrom: "Migrate another account to this one"
moveFromSub: "Create alias to another account" moveFromSub: "Create alias to another account"
@ -1727,6 +1895,8 @@ _role:
descriptionOfIsExplorable: "This role's timeline and the list of users with this will be made public if enabled." descriptionOfIsExplorable: "This role's timeline and the list of users with this will be made public if enabled."
displayOrder: "Position" displayOrder: "Position"
descriptionOfDisplayOrder: "The higher the number, the higher its UI position." descriptionOfDisplayOrder: "The higher the number, the higher its UI position."
preserveAssignmentOnMoveAccount: "Preserve role assignment during migration"
preserveAssignmentOnMoveAccount_description: "When turned on, this role will be carried over to the destination account when an account with this role is migrated."
canEditMembersByModerator: "Allow moderators to edit the list of members for this role" canEditMembersByModerator: "Allow moderators to edit the list of members for this role"
descriptionOfCanEditMembersByModerator: "When turned on, moderators as well as administrators will be able to assign and unassign users to this role. When turned off, only administrators will be able to assign users." descriptionOfCanEditMembersByModerator: "When turned on, moderators as well as administrators will be able to assign and unassign users to this role. When turned off, only administrators will be able to assign users."
priority: "Priority" priority: "Priority"
@ -1746,6 +1916,7 @@ _role:
canManageCustomEmojis: "Can manage custom emojis" canManageCustomEmojis: "Can manage custom emojis"
canManageAvatarDecorations: "Manage avatar decorations" canManageAvatarDecorations: "Manage avatar decorations"
driveCapacity: "Drive capacity" driveCapacity: "Drive capacity"
maxFileSize: "Upload-able max file size"
alwaysMarkNsfw: "Always mark files as NSFW" alwaysMarkNsfw: "Always mark files as NSFW"
canUpdateBioMedia: "Can edit an icon or a banner image" canUpdateBioMedia: "Can edit an icon or a banner image"
pinMax: "Maximum number of pinned notes" pinMax: "Maximum number of pinned notes"
@ -1767,6 +1938,7 @@ _role:
canImportFollowing: "Allow importing following" canImportFollowing: "Allow importing following"
canImportMuting: "Allow importing muting" canImportMuting: "Allow importing muting"
canImportUserLists: "Allow importing lists" canImportUserLists: "Allow importing lists"
chatAvailability: "Allow Chat"
_condition: _condition:
roleAssignedTo: "Assigned to manual roles" roleAssignedTo: "Assigned to manual roles"
isLocal: "Local user" isLocal: "Local user"
@ -1930,6 +2102,7 @@ _theme:
installed: "{name} has been installed" installed: "{name} has been installed"
installedThemes: "Installed themes" installedThemes: "Installed themes"
builtinThemes: "Built-in themes" builtinThemes: "Built-in themes"
instanceTheme: "Server theme"
alreadyInstalled: "This theme is already installed" alreadyInstalled: "This theme is already installed"
invalid: "The format of this theme is invalid" invalid: "The format of this theme is invalid"
make: "Make a theme" make: "Make a theme"
@ -1962,7 +2135,6 @@ _theme:
header: "Header" header: "Header"
navBg: "Sidebar background" navBg: "Sidebar background"
navFg: "Sidebar text" navFg: "Sidebar text"
navHoverFg: "Sidebar text (Hover)"
navActive: "Sidebar text (Active)" navActive: "Sidebar text (Active)"
navIndicator: "Sidebar indicator" navIndicator: "Sidebar indicator"
link: "Link" link: "Link"
@ -1985,17 +2157,15 @@ _theme:
buttonHoverBg: "Button background (Hover)" buttonHoverBg: "Button background (Hover)"
inputBorder: "Input field border" inputBorder: "Input field border"
driveFolderBg: "Drive folder background" driveFolderBg: "Drive folder background"
wallpaperOverlay: "Wallpaper overlay"
badge: "Badge" badge: "Badge"
messageBg: "Chat background" messageBg: "Chat background"
accentDarken: "Accent (Darkened)"
accentLighten: "Accent (Lightened)"
fgHighlighted: "Highlighted Text" fgHighlighted: "Highlighted Text"
_sfx: _sfx:
note: "New note" note: "New note"
noteMy: "Own note" noteMy: "Own note"
notification: "Notifications" notification: "Notifications"
reaction: "On choosing a reaction" reaction: "On choosing a reaction"
chatMessage: "Chat Messages"
_soundSettings: _soundSettings:
driveFile: "Use an audio file in Drive." driveFile: "Use an audio file in Drive."
driveFileWarn: "Select an audio file from Drive." driveFileWarn: "Select an audio file from Drive."
@ -2142,6 +2312,8 @@ _permissions:
"read:clip-favorite": "View favorited clips" "read:clip-favorite": "View favorited clips"
"read:federation": "Get federation data" "read:federation": "Get federation data"
"write:report-abuse": "Report violation" "write:report-abuse": "Report violation"
"write:chat": "Compose or delete chat messages"
"read:chat": "Browse Chat"
_auth: _auth:
shareAccessTitle: "Granting application permissions" shareAccessTitle: "Granting application permissions"
shareAccess: "Would you like to authorize \"{name}\" to access this account?" shareAccess: "Would you like to authorize \"{name}\" to access this account?"
@ -2150,8 +2322,11 @@ _auth:
permissionAsk: "This application requests the following permissions" permissionAsk: "This application requests the following permissions"
pleaseGoBack: "Please go back to the application" pleaseGoBack: "Please go back to the application"
callback: "Returning to the application" callback: "Returning to the application"
accepted: "Access granted"
denied: "Access denied" denied: "Access denied"
scopeUser: "Operate as the following user"
pleaseLogin: "Please log in to authorize applications." pleaseLogin: "Please log in to authorize applications."
byClickingYouWillBeRedirectedToThisUrl: "When access is granted, you will automatically be redirected to the following URL"
_antennaSources: _antennaSources:
all: "All notes" all: "All notes"
homeTimeline: "Notes from followed users" homeTimeline: "Notes from followed users"
@ -2196,7 +2371,8 @@ _widgets:
_userList: _userList:
chooseList: "Select a list" chooseList: "Select a list"
clicker: "Clicker" clicker: "Clicker"
birthdayFollowings: "Users who celebrate their birthday today" birthdayFollowings: "Today's Birthdays"
chat: "Chat"
_cw: _cw:
hide: "Hide" hide: "Hide"
show: "Show content" show: "Show content"
@ -2325,9 +2501,6 @@ _pages:
newPage: "Create a new Page" newPage: "Create a new Page"
editPage: "Edit this Page" editPage: "Edit this Page"
readPage: "Viewing this Page's source" readPage: "Viewing this Page's source"
created: "Page successfully created"
updated: "Page successfully edited"
deleted: "Page successfully deleted"
pageSetting: "Page settings" pageSetting: "Page settings"
nameAlreadyExists: "The specified Page URL already exists" nameAlreadyExists: "The specified Page URL already exists"
invalidNameTitle: "The specified Page URL is invalid" invalidNameTitle: "The specified Page URL is invalid"
@ -2390,6 +2563,7 @@ _notification:
newNote: "New note" newNote: "New note"
unreadAntennaNote: "Antenna {name}" unreadAntennaNote: "Antenna {name}"
roleAssigned: "Role given" roleAssigned: "Role given"
chatRoomInvitationReceived: "You have been invited to a chat room"
emptyPushNotificationMessage: "Push notifications have been updated" emptyPushNotificationMessage: "Push notifications have been updated"
achievementEarned: "Achievement unlocked" achievementEarned: "Achievement unlocked"
testNotification: "Test notification" testNotification: "Test notification"
@ -2403,6 +2577,8 @@ _notification:
flushNotification: "Clear notifications" flushNotification: "Clear notifications"
exportOfXCompleted: "Export of {x} has been completed" exportOfXCompleted: "Export of {x} has been completed"
login: "Someone logged in" login: "Someone logged in"
createToken: "An access token has been created"
createTokenDescription: "If you have no idea, delete the access token through \"{text}\"."
_types: _types:
all: "All" all: "All"
note: "New notes" note: "New notes"
@ -2416,9 +2592,11 @@ _notification:
receiveFollowRequest: "Received follow requests" receiveFollowRequest: "Received follow requests"
followRequestAccepted: "Accepted follow requests" followRequestAccepted: "Accepted follow requests"
roleAssigned: "Role given" roleAssigned: "Role given"
chatRoomInvitationReceived: "Invited to chat room"
achievementEarned: "Achievement unlocked" achievementEarned: "Achievement unlocked"
exportCompleted: "The export has been completed" exportCompleted: "The export has been completed"
login: "Sign In" login: "Sign In"
createToken: "Create access token"
test: "Notification test" test: "Notification test"
app: "Notifications from linked apps" app: "Notifications from linked apps"
_actions: _actions:
@ -2428,6 +2606,9 @@ _notification:
_deck: _deck:
alwaysShowMainColumn: "Always show main column" alwaysShowMainColumn: "Always show main column"
columnAlign: "Align columns" columnAlign: "Align columns"
columnGap: "Margin between columns"
deckMenuPosition: "Deck menu position"
navbarPosition: "Navigation bar position"
addColumn: "Add column" addColumn: "Add column"
newNoteNotificationSettings: "Notification setting for new notes" newNoteNotificationSettings: "Notification setting for new notes"
configureColumn: "Column settings" configureColumn: "Column settings"
@ -2441,11 +2622,12 @@ _deck:
newProfile: "New profile" newProfile: "New profile"
deleteProfile: "Delete profile" deleteProfile: "Delete profile"
introduction: "Create the perfect interface for you by arranging columns freely!" introduction: "Create the perfect interface for you by arranging columns freely!"
introduction2: "Click on the + on the right of the screen to add new colums whenever you want." introduction2: "Click on the + on the right of the screen to add new columns whenever you want."
widgetsIntroduction: "Please select \"Edit widgets\" in the column menu and add a widget." widgetsIntroduction: "Please select \"Edit widgets\" in the column menu and add a widget."
useSimpleUiForNonRootPages: "Use simple UI for navigated pages" useSimpleUiForNonRootPages: "Use simple UI for navigated pages"
usedAsMinWidthWhenFlexible: "Minimum width will be used for this when the \"Auto-adjust width\" option is enabled" usedAsMinWidthWhenFlexible: "Minimum width will be used for this when the \"Auto-adjust width\" option is enabled"
flexible: "Auto-adjust width" flexible: "Auto-adjust width"
enableSyncBetweenDevicesForProfiles: "Enable profile information sync between devices"
_columns: _columns:
main: "Main" main: "Main"
widgets: "Widgets" widgets: "Widgets"
@ -2457,6 +2639,7 @@ _deck:
mentions: "Mentions" mentions: "Mentions"
direct: "Direct notes" direct: "Direct notes"
roleTimeline: "Role Timeline" roleTimeline: "Role Timeline"
chat: "Chat"
_dialog: _dialog:
charactersExceeded: "You've exceeded the maximum character limit! Currently at {current} of {max}." charactersExceeded: "You've exceeded the maximum character limit! Currently at {current} of {max}."
charactersBelow: "You're below the minimum character limit! Currently at {current} of {min}." charactersBelow: "You're below the minimum character limit! Currently at {current} of {min}."
@ -2485,11 +2668,13 @@ _webhookSettings:
abuseReport: "When received a new report" abuseReport: "When received a new report"
abuseReportResolved: "When resolved report" abuseReportResolved: "When resolved report"
userCreated: "When user is created" userCreated: "When user is created"
inactiveModeratorsWarning: "When moderators have been inactive for a while"
inactiveModeratorsInvitationOnlyChanged: "When a moderator has been inactive for a while, and the server is changed to invitation-only"
deleteConfirm: "Are you sure you want to delete the Webhook?" deleteConfirm: "Are you sure you want to delete the Webhook?"
testRemarks: "Click the button to the right of the switch to send a test Webhook with dummy data." testRemarks: "Click the button to the right of the switch to send a test Webhook with dummy data."
_abuseReport: _abuseReport:
_notificationRecipient: _notificationRecipient:
createRecipient: "Add a recipient for reports" createRecipient: "Add recipient for reports"
modifyRecipient: "Edit a recipient for reports" modifyRecipient: "Edit a recipient for reports"
recipientType: "Notification type" recipientType: "Notification type"
_recipientType: _recipientType:
@ -2551,6 +2736,8 @@ _moderationLogTypes:
deletePage: "Page deleted" deletePage: "Page deleted"
deleteFlash: "Play deleted" deleteFlash: "Play deleted"
deleteGalleryPost: "Gallery post deleted" deleteGalleryPost: "Gallery post deleted"
deleteChatRoom: "Deleted Chat Room"
updateProxyAccountDescription: "Update the description of the proxy account"
_fileViewer: _fileViewer:
title: "File details" title: "File details"
type: "File type" type: "File type"
@ -2564,10 +2751,8 @@ _externalResourceInstaller:
checkVendorBeforeInstall: "Make sure the distributor of this resource is trustworthy before installation." checkVendorBeforeInstall: "Make sure the distributor of this resource is trustworthy before installation."
_plugin: _plugin:
title: "Do you want to install this plugin?" title: "Do you want to install this plugin?"
metaTitle: "Plugin information"
_theme: _theme:
title: "Do you want to install this theme?" title: "Do you want to install this theme?"
metaTitle: "Theme information"
_meta: _meta:
base: "Base color scheme" base: "Base color scheme"
_vendorInfo: _vendorInfo:
@ -2606,7 +2791,7 @@ _dataSaver:
description: "Prevents images/videos from being loaded automatically. Hidden images/videos will be loaded when tapped." description: "Prevents images/videos from being loaded automatically. Hidden images/videos will be loaded when tapped."
_avatar: _avatar:
title: "Avatar image" title: "Avatar image"
description: "Stop avatar image animation. Animated images can be larger in file size than normal images, potentially leading to further reductions in data traffic." description: "Stop avatar image animation. Animated images can be larger in file size than normal images, potentially leading to further reductions in data traffic."
_urlPreview: _urlPreview:
title: "URL preview thumbnails" title: "URL preview thumbnails"
description: "URL preview thumbnail images will no longer be loaded." description: "URL preview thumbnail images will no longer be loaded."
@ -2687,6 +2872,66 @@ _contextMenu:
app: "Application" app: "Application"
appWithShift: "Application with shift key" appWithShift: "Application with shift key"
native: "Native" native: "Native"
_gridComponent:
_error:
requiredValue: "This value is required"
columnTypeNotSupport: "Validation with regular expression is supported only for type:text columns."
patternNotMatch: "This value doesn't match the pattern in {pattern}"
notUnique: "This value must be unique"
_roleSelectDialog:
notSelected: "Not selected"
_customEmojisManager:
_gridCommon:
copySelectionRows: "Copy selected rows"
copySelectionRanges: "Copy selection"
deleteSelectionRows: "Delete selected rows"
deleteSelectionRanges: "Delete rows in the selection"
searchSettings: "Search settings"
searchSettingCaption: "Set detailed search criteria."
searchLimit: "Limit results"
sortOrder: "Sort order"
registrationLogs: "Registration log"
registrationLogsCaption: "Logs will be displayed when updating or deleting Emojis. They will disappear after updating or deleting them, moving to a new page, or reloading."
alertEmojisRegisterFailedDescription: "Failed to update or delete Emojis. Please check the registration log for details."
_logs:
showSuccessLogSwitch: "Show success log"
failureLogNothing: "There is no failure log."
logNothing: "There is no log."
_remote:
selectionRowDetail: "Selected row's detail"
importSelectionRows: "Import selected rows"
importSelectionRangesRows: "Import rows in the selection"
importEmojisButton: "Import checked Emojis"
confirmImportEmojisTitle: "Import Emojis"
confirmImportEmojisDescription: "Import {count} Emoji(s) received from the remote server. Please pay close attention to the license of the Emoji. Are you sure to continue?"
_local:
tabTitleList: "Registered emojis"
tabTitleRegister: "Emoji registration"
_list:
emojisNothing: "There are no registered Emojis."
markAsDeleteTargetRows: "Mark selected rows as a target to delete"
markAsDeleteTargetRanges: "Mark rows in the selection as a target to delete"
alertUpdateEmojisNothingDescription: "There are no updated Emojis."
alertDeleteEmojisNothingDescription: "There are no Emojis to be deleted."
confirmMovePage: "Do you want to move the page?"
confirmChangeView: "Do you want to change the view?"
confirmUpdateEmojisDescription: "Update {count} Emoji(s). Are you sure to continue?"
confirmDeleteEmojisDescription: "Delete checked {count} Emoji(s). Are you sure to continue?"
confirmResetDescription: "This will reset any changes you have made so far"
confirmMovePageDesciption: "Changes have been made to the Emojis on this page.\nIf you leave the page without saving, all changes made on this page will be discarded."
dialogSelectRoleTitle: "Search by role set in Emojis"
_register:
uploadSettingTitle: "Upload settings"
uploadSettingDescription: "On this screen, you can configure the behavior when uploading Emojis."
directoryToCategoryLabel: "Enter the directory name in the \"category\" field"
directoryToCategoryCaption: "When you drag and drop a directory, enter the directory name in the \"category\" field."
emojiInputAreaCaption: "Select the Emojis you wish to register using one of the methods."
emojiInputAreaList1: "Drag and drop image files or a directory into this frame"
emojiInputAreaList2: "Click this link to select from your computer"
emojiInputAreaList3: "Click this link to select from the drive"
confirmRegisterEmojisDescription: "Register the Emojis from the list as new custom Emojis. Are you sure to continue? (To avoid overload, only {count} Emoji(s) can be registered in a single operation)"
confirmClearEmojisDescription: "Discard the edits and clear the Emojis from the list. Are you sure to continue?"
confirmUploadEmojisDescription: "Upload the dragged and dropped {count} file(s) to the drive. Are you sure to continue?"
_embedCodeGen: _embedCodeGen:
title: "Customize embed code" title: "Customize embed code"
header: "Show header" header: "Show header"
@ -2701,3 +2946,61 @@ _embedCodeGen:
generateCode: "Generate embed code" generateCode: "Generate embed code"
codeGenerated: "The code has been generated" codeGenerated: "The code has been generated"
codeGeneratedDescription: "Paste the generated code into your website to embed the content." codeGeneratedDescription: "Paste the generated code into your website to embed the content."
_selfXssPrevention:
warning: "WARNING"
title: "\"Paste something on this screen\" is all a scam."
description1: "If you paste something here, a malicious user could hijack your account or steal your personal information."
description2: "If you do not understand exactly what you are trying to paste, %cstop working right now and close this window."
description3: "For more information, please refer to this. {link}"
_followRequest:
recieved: "Received request"
sent: "Sent request"
_remoteLookupErrors:
_federationNotAllowed:
title: "Unable to communicate with this server"
description: "Communication with this server may have been disabled or this server may be blocked.\nPlease contact the server administrator."
_uriInvalid:
title: "URI is invalid"
description: "There is a problem with the URI you entered. Please check if you entered characters that cannot be used in the URI."
_requestFailed:
title: "Request failed"
description: "Communication with this server failed. The server may be down. Also, please make sure that you have not entered an invalid or nonexistent URI."
_responseInvalid:
title: "Response is invalid"
description: "It could communicate with this server, but the data obtained was incorrect."
_noSuchObject:
title: "Not found"
description: "The requested resource was not found, please recheck the URI."
_captcha:
verify: "Please verify the CAPTCHA"
testSiteKeyMessage: "You can check the preview by entering the test values for the site and secret keys.\nPlease see the following page for details."
_error:
_requestFailed:
title: "Failed to request CAPTCHA"
text: "Please run it after a while or check the settings again."
_verificationFailed:
title: "Failed to validate CAPTCHA"
text: "Please check again if the settings are correct."
_unknown:
title: "CAPTCHA error"
text: "An unexpected error occurred."
_bootErrors:
title: "Failed to load"
serverError: "If the problem persists after waiting a moment and reloading, please contact the server administrator with the following Error ID."
solution: "The following may solve the problem."
solution1: "Update your browser and OS to the latest version"
solution2: "Disable ad blocker"
solution3: "Clear the browser cache"
solution4: "Set the dom.webaudio.enabled to true for Tor Browser"
otherOption: "Other options"
otherOption1: "Delete client settings and cache"
otherOption2: "Start the simple client"
otherOption3: "Launch the repair tool"
_search:
searchScopeAll: "All"
searchScopeLocal: "Local"
searchScopeServer: "Specific server"
searchScopeUser: "Specific user"
pleaseEnterServerHost: "Enter the server host"
pleaseSelectUser: "Select user"
serverHostPlaceholder: "Example: misskey.example.com"

View file

@ -5,9 +5,13 @@ introMisskey: "¡Bienvenido/a! Misskey es un servicio de microblogging descentra
poweredByMisskeyDescription: "{name} es uno de los servicios (también llamado instancia) que usa la plataforma de código abierto <b>Misskey</b>" poweredByMisskeyDescription: "{name} es uno de los servicios (también llamado instancia) que usa la plataforma de código abierto <b>Misskey</b>"
monthAndDay: "{day}/{month}" monthAndDay: "{day}/{month}"
search: "Buscar" search: "Buscar"
reset: "Reiniciar"
notifications: "Notificaciones" notifications: "Notificaciones"
username: "Nombre de usuario" username: "Nombre de usuario"
password: "Contraseña" password: "Contraseña"
initialPasswordForSetup: "Contraseña para iniciar la inicialización"
initialPasswordIsIncorrect: "La contraseña para iniciar la configuración inicial es incorrecta."
initialPasswordForSetupDescription: "Si ha instalado Misskey usted mismo, utilice la contraseña introducida en el archivo de configuración.\nSi utiliza un servicio de alojamiento de Misskey o similar, utilice la contraseña proporcionada.\nSi no ha establecido una contraseña, déjela en blanco para continuar."
forgotPassword: "Olvidé mi contraseña" forgotPassword: "Olvidé mi contraseña"
fetchingAsApObject: "Buscando en el fediverso" fetchingAsApObject: "Buscando en el fediverso"
ok: "OK" ok: "OK"
@ -45,6 +49,7 @@ pin: "Fijar al perfil"
unpin: "Desfijar" unpin: "Desfijar"
copyContent: "Copiar contenido" copyContent: "Copiar contenido"
copyLink: "Copiar enlace" copyLink: "Copiar enlace"
copyRemoteLink: "Copiar enlace remoto"
copyLinkRenote: "Copiar enlace de renota" copyLinkRenote: "Copiar enlace de renota"
delete: "Borrar" delete: "Borrar"
deleteAndEdit: "Borrar y editar" deleteAndEdit: "Borrar y editar"
@ -196,6 +201,7 @@ followConfirm: "¿Desea seguir a {name}?"
proxyAccount: "Cuenta proxy" proxyAccount: "Cuenta proxy"
proxyAccountDescription: "Una cuenta proxy es una cuenta que actúa como un seguidor remoto de un usuario bajo ciertas condiciones. Por ejemplo, cuando un usuario añade un usuario remoto a una lista, si ningún usuario local sigue al usuario agregado a la lista, la instancia no puede obtener su actividad. Así que la cuenta proxy sigue al usuario añadido a la lista" proxyAccountDescription: "Una cuenta proxy es una cuenta que actúa como un seguidor remoto de un usuario bajo ciertas condiciones. Por ejemplo, cuando un usuario añade un usuario remoto a una lista, si ningún usuario local sigue al usuario agregado a la lista, la instancia no puede obtener su actividad. Así que la cuenta proxy sigue al usuario añadido a la lista"
host: "Host" host: "Host"
selectSelf: "Elígete a ti mismo"
selectUser: "Elegir usuario" selectUser: "Elegir usuario"
recipient: "Recipiente" recipient: "Recipiente"
annotation: "Anotación" annotation: "Anotación"
@ -211,6 +217,7 @@ perDay: "por día"
stopActivityDelivery: "Dejar de enviar actividades" stopActivityDelivery: "Dejar de enviar actividades"
blockThisInstance: "Bloquear instancia" blockThisInstance: "Bloquear instancia"
silenceThisInstance: "Silenciar esta instancia" silenceThisInstance: "Silenciar esta instancia"
mediaSilenceThisInstance: "Silencia la Multimedia(Imágenes,videos...) para este servidor"
operations: "Operaciones" operations: "Operaciones"
software: "Software" software: "Software"
version: "Versión" version: "Versión"
@ -232,6 +239,10 @@ blockedInstances: "Instancias bloqueadas"
blockedInstancesDescription: "Seleccione los hosts de las instancias que desea bloquear, separadas por una linea nueva. Las instancias bloqueadas no podrán comunicarse con esta instancia." blockedInstancesDescription: "Seleccione los hosts de las instancias que desea bloquear, separadas por una linea nueva. Las instancias bloqueadas no podrán comunicarse con esta instancia."
silencedInstances: "Instancias silenciadas" silencedInstances: "Instancias silenciadas"
silencedInstancesDescription: "Listar los hostname de las instancias que quieres silenciar. Todas las cuentas de las instancias listadas serán tratadas como silenciadas, solo podrán hacer peticiones de seguimiento, y no podrán mencionar cuentas locales si no las siguen. Esto no afecta a las instancias bloqueadas." silencedInstancesDescription: "Listar los hostname de las instancias que quieres silenciar. Todas las cuentas de las instancias listadas serán tratadas como silenciadas, solo podrán hacer peticiones de seguimiento, y no podrán mencionar cuentas locales si no las siguen. Esto no afecta a las instancias bloqueadas."
mediaSilencedInstances: "Servidores silenciados (Multimedia)"
mediaSilencedInstancesDescription: "Listar las instancias que quieres silenciar. Todas las cuentas de las instancias listadas serán tratadas como silenciadas, solo podrán hacer peticiones de seguimiento, y no podrán mencionar cuentas locales si no las siguen. Esto no afecta a las instancias bloqueadas."
federationAllowedHosts: "Servidores federados"
federationAllowedHostsDescription: "Establezca los nombres de los servidores que pueden federarse, separados por una nueva línea."
muteAndBlock: "Silenciar y bloquear" muteAndBlock: "Silenciar y bloquear"
mutedUsers: "Usuarios silenciados" mutedUsers: "Usuarios silenciados"
blockedUsers: "Usuarios bloqueados" blockedUsers: "Usuarios bloqueados"
@ -278,7 +289,6 @@ deleteAreYouSure: "¿Desea borrar \"{x}\"?"
resetAreYouSure: "¿Desea reestablecer?" resetAreYouSure: "¿Desea reestablecer?"
areYouSure: "¿Estás conforme?" areYouSure: "¿Estás conforme?"
saved: "Guardado" saved: "Guardado"
messaging: "Chat"
upload: "Subir" upload: "Subir"
keepOriginalUploading: "Mantener la imagen original" keepOriginalUploading: "Mantener la imagen original"
keepOriginalUploadingDescription: "Mantener la versión original al cargar imágenes. Si está desactivado, el navegador generará imágenes para la publicación web en el momento de recargar la página" keepOriginalUploadingDescription: "Mantener la versión original al cargar imágenes. Si está desactivado, el navegador generará imágenes para la publicación web en el momento de recargar la página"
@ -291,7 +301,7 @@ uploadFromUrlMayTakeTime: "Subir el fichero puede tardar un tiempo."
explore: "Explorar" explore: "Explorar"
messageRead: "Ya leído" messageRead: "Ya leído"
noMoreHistory: "El historial se ha acabado" noMoreHistory: "El historial se ha acabado"
startMessaging: "Iniciar chat" startChat: "Nuevo Chat"
nUsersRead: "Leído por {n} personas" nUsersRead: "Leído por {n} personas"
agreeTo: "De acuerdo con {0}" agreeTo: "De acuerdo con {0}"
agree: "De acuerdo." agree: "De acuerdo."
@ -322,6 +332,7 @@ selectFile: "Elegir archivo"
selectFiles: "Elegir archivos" selectFiles: "Elegir archivos"
selectFolder: "Seleccione una carpeta" selectFolder: "Seleccione una carpeta"
selectFolders: "Seleccione carpetas" selectFolders: "Seleccione carpetas"
fileNotSelected: "Archivo no seleccionado."
renameFile: "Renombrar archivo" renameFile: "Renombrar archivo"
folderName: "Nombre de la carpeta" folderName: "Nombre de la carpeta"
createFolder: "Crear carpeta" createFolder: "Crear carpeta"
@ -329,6 +340,7 @@ renameFolder: "Renombrar carpeta"
deleteFolder: "Borrar carpeta" deleteFolder: "Borrar carpeta"
folder: "Carpeta" folder: "Carpeta"
addFile: "Agregar archivo" addFile: "Agregar archivo"
showFile: "Examinar archivos"
emptyDrive: "El drive está vacío" emptyDrive: "El drive está vacío"
emptyFolder: "La carpeta está vacía" emptyFolder: "La carpeta está vacía"
unableToDelete: "No se puede borrar" unableToDelete: "No se puede borrar"
@ -371,7 +383,6 @@ enableLocalTimeline: "Habilitar linea de tiempo local"
enableGlobalTimeline: "Habilitar linea de tiempo global" enableGlobalTimeline: "Habilitar linea de tiempo global"
disablingTimelinesInfo: "Aunque se desactiven estas lineas de tiempo, por conveniencia el administrador y los moderadores pueden seguir usándolos" disablingTimelinesInfo: "Aunque se desactiven estas lineas de tiempo, por conveniencia el administrador y los moderadores pueden seguir usándolos"
registration: "Registro" registration: "Registro"
enableRegistration: "Permitir nuevos registros"
invite: "Invitar" invite: "Invitar"
driveCapacityPerLocalAccount: "Capacidad del drive por usuario local" driveCapacityPerLocalAccount: "Capacidad del drive por usuario local"
driveCapacityPerRemoteAccount: "Capacidad del drive por usuario remoto" driveCapacityPerRemoteAccount: "Capacidad del drive por usuario remoto"
@ -413,6 +424,7 @@ antennaExcludeBots: "Excluir bots"
antennaKeywordsDescription: "Separar con espacios es una declaración AND, separar con una linea nueva es una declaración OR" antennaKeywordsDescription: "Separar con espacios es una declaración AND, separar con una linea nueva es una declaración OR"
notifyAntenna: "Notificar nueva nota" notifyAntenna: "Notificar nueva nota"
withFileAntenna: "Sólo notas con archivos adjuntados" withFileAntenna: "Sólo notas con archivos adjuntados"
excludeNotesInSensitiveChannel: "Excluir notas en canales sensibles"
enableServiceworker: "Activar ServiceWorker" enableServiceworker: "Activar ServiceWorker"
antennaUsersDescription: "Elegir nombres de usuarios separados por una linea nueva" antennaUsersDescription: "Elegir nombres de usuarios separados por una linea nueva"
caseSensitive: "Distinguir mayúsculas de minúsculas" caseSensitive: "Distinguir mayúsculas de minúsculas"
@ -443,6 +455,7 @@ totpDescription: "Ingresa una contaseña de un sólo uso usando la aplicación a
moderator: "Moderador" moderator: "Moderador"
moderation: "Moderación" moderation: "Moderación"
moderationNote: "Nota de moderación" moderationNote: "Nota de moderación"
moderationNoteDescription: "Puedes rellenar notas que solo se comparten entre moderadores."
addModerationNote: "Añadir nota de moderación" addModerationNote: "Añadir nota de moderación"
moderationLogs: "Log de moderación" moderationLogs: "Log de moderación"
nUsersMentioned: "{n} usuarios mencionados" nUsersMentioned: "{n} usuarios mencionados"
@ -477,10 +490,10 @@ retype: "Ingrese de nuevo"
noteOf: "Notas de {user}" noteOf: "Notas de {user}"
quoteAttached: "Cita añadida" quoteAttached: "Cita añadida"
quoteQuestion: "¿Quiere añadir una cita?" quoteQuestion: "¿Quiere añadir una cita?"
noMessagesYet: "Aún no hay chat" attachAsFileQuestion: "El texto del portapapeles es demasiado grande ¿Desea adjuntarlo como archivo de texto?"
newMessageExists: "Tienes un mensaje nuevo"
onlyOneFileCanBeAttached: "Solo se puede añadir un archivo al mensaje" onlyOneFileCanBeAttached: "Solo se puede añadir un archivo al mensaje"
signinRequired: "Iniciar sesión" signinRequired: "Iniciar sesión"
signinOrContinueOnRemote: "Para continuar, tendrá que ir a su servidor o registrarse e iniciar sesión en este servidor"
invitations: "Invitar" invitations: "Invitar"
invitationCode: "Código de invitación" invitationCode: "Código de invitación"
checking: "Comprobando" checking: "Comprobando"
@ -502,6 +515,10 @@ uiLanguage: "Idioma de visualización de la interfaz"
aboutX: "Acerca de {x}" aboutX: "Acerca de {x}"
emojiStyle: "Estilo de emoji" emojiStyle: "Estilo de emoji"
native: "Nativo" native: "Nativo"
menuStyle: "Diseño del menú"
style: "Diseño"
drawer: "Cajón de Aplicaciones"
popup: "Ventana emergente"
showNoteActionsOnlyHover: "Mostrar acciones de la nota sólo al pasar el cursor" showNoteActionsOnlyHover: "Mostrar acciones de la nota sólo al pasar el cursor"
showReactionsCount: "Mostrar el número de reacciones en las notas" showReactionsCount: "Mostrar el número de reacciones en las notas"
noHistory: "No hay datos en el historial" noHistory: "No hay datos en el historial"
@ -569,6 +586,7 @@ masterVolume: "Volumen principal"
notUseSound: "Sin sonido" notUseSound: "Sin sonido"
useSoundOnlyWhenActive: "Sonar solo cuando Misskey esté activo" useSoundOnlyWhenActive: "Sonar solo cuando Misskey esté activo"
details: "Detalles" details: "Detalles"
renoteDetails: "Detalles(Renota)"
chooseEmoji: "Elije un emoji" chooseEmoji: "Elije un emoji"
unableToProcess: "La operación no se puede llevar a cabo" unableToProcess: "La operación no se puede llevar a cabo"
recentUsed: "Usado recientemente" recentUsed: "Usado recientemente"
@ -584,6 +602,8 @@ ascendingOrder: "Ascendente"
descendingOrder: "Descendente" descendingOrder: "Descendente"
scratchpad: "Scratch pad" scratchpad: "Scratch pad"
scratchpadDescription: "Scratchpad proporciona un entorno experimental para AiScript. Puede escribir, ejecutar y verificar los resultados que interactúan con Misskey." scratchpadDescription: "Scratchpad proporciona un entorno experimental para AiScript. Puede escribir, ejecutar y verificar los resultados que interactúan con Misskey."
uiInspector: "Inspector de UI"
uiInspectorDescription: "Puedes visualizar una lista de elementos UI presentes en la memoria. Los componentes de la interfaz de usuario son generados por las funciones UI:C:"
output: "Salida" output: "Salida"
script: "Script" script: "Script"
disablePagesScript: "Deshabilitar AiScript en Páginas" disablePagesScript: "Deshabilitar AiScript en Páginas"
@ -664,14 +684,19 @@ smtpSecure: "Usar SSL/TLS implícito en la conexión SMTP"
smtpSecureInfo: "Apagar cuando se use STARTTLS" smtpSecureInfo: "Apagar cuando se use STARTTLS"
testEmail: "Prueba de envío" testEmail: "Prueba de envío"
wordMute: "Silenciar palabras" wordMute: "Silenciar palabras"
wordMuteDescription: "Minimiza las notas que contienen la palabra o frase especificada. Las notas minimizadas pueden visualizarse haciendo clic sobre ellas."
hardWordMute: "Filtro de palabra fuerte" hardWordMute: "Filtro de palabra fuerte"
showMutedWord: "Mostrar palabras silenciadas."
hardWordMuteDescription: "Oculta las notas que contienen la palabra o frase especificada. A diferencia de Silenciar palabra, la nota quedará completamente oculta a la vista."
regexpError: "Error de la expresión regular" regexpError: "Error de la expresión regular"
regexpErrorDescription: "Ocurrió un error en la expresión regular en la linea {line} de las palabras muteadas {tab}" regexpErrorDescription: "Ocurrió un error en la expresión regular en la linea {line} de las palabras muteadas {tab}"
instanceMute: "Instancias silenciadas" instanceMute: "Instancias silenciadas"
userSaysSomething: "{name} dijo algo" userSaysSomething: "{name} dijo algo"
userSaysSomethingAbout: "{name} dijo algo sobre {word}"
makeActive: "Activar" makeActive: "Activar"
display: "Apariencia" display: "Apariencia"
copy: "Copiar" copy: "Copiar"
copiedToClipboard: "Texto copiado al portapapeles"
metrics: "Métricas" metrics: "Métricas"
overview: "Resumen" overview: "Resumen"
logs: "Registros" logs: "Registros"
@ -837,6 +862,7 @@ administration: "Administrar"
accounts: "Cuentas" accounts: "Cuentas"
switch: "Cambiar" switch: "Cambiar"
noMaintainerInformationWarning: "No se ha establecido la información del administrador" noMaintainerInformationWarning: "No se ha establecido la información del administrador"
noInquiryUrlWarning: "No se ha guardado la URL de consulta."
noBotProtectionWarning: "La protección contra los bots no está configurada" noBotProtectionWarning: "La protección contra los bots no está configurada"
configure: "Configurar" configure: "Configurar"
postToGallery: "Crear una nueva publicación en la galería" postToGallery: "Crear una nueva publicación en la galería"
@ -901,6 +927,7 @@ followersVisibility: "Visibilidad de seguidores"
continueThread: "Ver la continuación del hilo" continueThread: "Ver la continuación del hilo"
deleteAccountConfirm: "La cuenta será borrada. ¿Está seguro?" deleteAccountConfirm: "La cuenta será borrada. ¿Está seguro?"
incorrectPassword: "La contraseña es incorrecta" incorrectPassword: "La contraseña es incorrecta"
incorrectTotp: "La contraseña de un solo uso es incorrecta o ha caducado."
voteConfirm: "¿Confirma su voto a {choice}?" voteConfirm: "¿Confirma su voto a {choice}?"
hide: "Ocultar" hide: "Ocultar"
useDrawerReactionPickerForMobile: "Mostrar panel de reacciones en móviles" useDrawerReactionPickerForMobile: "Mostrar panel de reacciones en móviles"
@ -925,6 +952,9 @@ oneHour: "1 hora"
oneDay: "1 día" oneDay: "1 día"
oneWeek: "1 semana" oneWeek: "1 semana"
oneMonth: "1 mes" oneMonth: "1 mes"
threeMonths: "Tres meses"
oneYear: "Un año"
threeDays: "Tres días"
reflectMayTakeTime: "Puede pasar un tiempo hasta que se reflejen los cambios" reflectMayTakeTime: "Puede pasar un tiempo hasta que se reflejen los cambios"
failedToFetchAccountInformation: "No se pudo obtener información de la cuenta" failedToFetchAccountInformation: "No se pudo obtener información de la cuenta"
rateLimitExceeded: "Se excedió el límite de peticiones" rateLimitExceeded: "Se excedió el límite de peticiones"
@ -949,6 +979,7 @@ document: "Documento"
numberOfPageCache: "Cantidad de páginas cacheadas" numberOfPageCache: "Cantidad de páginas cacheadas"
numberOfPageCacheDescription: "Al aumentar el número mejora la conveniencia pero tambien puede aumentar la carga y la memoria a usarse" numberOfPageCacheDescription: "Al aumentar el número mejora la conveniencia pero tambien puede aumentar la carga y la memoria a usarse"
logoutConfirm: "¿Cerrar sesión?" logoutConfirm: "¿Cerrar sesión?"
logoutWillClearClientData: "Al cerrar la sesión, la información de configuración del cliente se borra del navegador. Para garantizar que la información de configuración se pueda restaurar al volver a iniciar sesión, active la copia de seguridad automática de la configuración."
lastActiveDate: "Utilizado por última vez el" lastActiveDate: "Utilizado por última vez el"
statusbar: "Barra de estado" statusbar: "Barra de estado"
pleaseSelect: "Selecciona una opción" pleaseSelect: "Selecciona una opción"
@ -1026,6 +1057,7 @@ thisPostMayBeAnnoyingHome: "Publicar en línea de tiempo 'Inicio'"
thisPostMayBeAnnoyingCancel: "detener" thisPostMayBeAnnoyingCancel: "detener"
thisPostMayBeAnnoyingIgnore: "Publicar de todos modos" thisPostMayBeAnnoyingIgnore: "Publicar de todos modos"
collapseRenotes: "Colapsar renotas que ya hayas visto" collapseRenotes: "Colapsar renotas que ya hayas visto"
collapseRenotesDescription: "Contrae notas a las que ya has reaccionado o renotado "
internalServerError: "Error interno del servidor" internalServerError: "Error interno del servidor"
internalServerErrorDescription: "El servidor tuvo un error inesperado." internalServerErrorDescription: "El servidor tuvo un error inesperado."
copyErrorInfo: "Copiar detalles del error" copyErrorInfo: "Copiar detalles del error"
@ -1043,7 +1075,7 @@ reactionAcceptance: "Aceptación de reacciones"
likeOnly: "Sólo 'me gusta'" likeOnly: "Sólo 'me gusta'"
likeOnlyForRemote: "Sólo reacciones de instancias remotas" likeOnlyForRemote: "Sólo reacciones de instancias remotas"
nonSensitiveOnly: "Solo no sensible" nonSensitiveOnly: "Solo no sensible"
nonSensitiveOnlyForLocalLikeOnlyForRemote: "Sólo no contenido sensible (sólo me gusta en remote)" nonSensitiveOnlyForLocalLikeOnlyForRemote: "Sólo no contenido sensible (sólo me gusta en remoto)"
rolesAssignedToMe: "Roles asignados a mí" rolesAssignedToMe: "Roles asignados a mí"
resetPasswordConfirm: "¿Realmente quieres cambiar la contraseña?" resetPasswordConfirm: "¿Realmente quieres cambiar la contraseña?"
sensitiveWords: "Palabras sensibles" sensitiveWords: "Palabras sensibles"
@ -1064,6 +1096,7 @@ retryAllQueuesConfirmTitle: "Desea ¿reintentar inmediatamente todas las colas?"
retryAllQueuesConfirmText: "La carga del servidor está incrementándose temporalmente " retryAllQueuesConfirmText: "La carga del servidor está incrementándose temporalmente "
enableChartsForRemoteUser: "Generar gráficas de usuarios remotos." enableChartsForRemoteUser: "Generar gráficas de usuarios remotos."
enableChartsForFederatedInstances: "Generar gráficos de servidores remotos" enableChartsForFederatedInstances: "Generar gráficos de servidores remotos"
enableStatsForFederatedInstances: "Activar las estadísticas de las instancias remotas federadas"
showClipButtonInNoteFooter: "Añadir \"Clip\" al menú de notas" showClipButtonInNoteFooter: "Añadir \"Clip\" al menú de notas"
reactionsDisplaySize: "Tamaño de las reacciones" reactionsDisplaySize: "Tamaño de las reacciones"
limitWidthOfReaction: "Limitar ancho de las reacciones" limitWidthOfReaction: "Limitar ancho de las reacciones"
@ -1111,6 +1144,9 @@ preventAiLearning: "Rechazar el uso en el Aprendizaje de Máquinas. (IA Generati
preventAiLearningDescription: "Pedirle a las arañas (crawlers) no usar los textos publicados o imágenes en el aprendizaje automático (IA Predictiva / Generativa). Ésto se logra añadiendo una marca respuesta HTML con la cadena \"noai\" al cantenido. Una prevención total no podría lograrse sólo usando ésta marca, ya que puede ser simplemente ignorada." preventAiLearningDescription: "Pedirle a las arañas (crawlers) no usar los textos publicados o imágenes en el aprendizaje automático (IA Predictiva / Generativa). Ésto se logra añadiendo una marca respuesta HTML con la cadena \"noai\" al cantenido. Una prevención total no podría lograrse sólo usando ésta marca, ya que puede ser simplemente ignorada."
options: "Opción" options: "Opción"
specifyUser: "Especificar usuario" specifyUser: "Especificar usuario"
lookupConfirm: "¿Quiere informarse?"
openTagPageConfirm: "¿Quieres abrir la página de etiquetas?"
specifyHost: "Especificar Host"
failedToPreviewUrl: "No se pudo generar la vista previa" failedToPreviewUrl: "No se pudo generar la vista previa"
update: "Actualizar" update: "Actualizar"
rolesThatCanBeUsedThisEmojiAsReaction: "Roles que pueden usar este emoji como reacción" rolesThatCanBeUsedThisEmojiAsReaction: "Roles que pueden usar este emoji como reacción"
@ -1238,8 +1274,149 @@ useBackupCode: "Usar códigos de respaldo"
launchApp: "Ejecutar la app" launchApp: "Ejecutar la app"
useNativeUIForVideoAudioPlayer: "Usar la interfaz del navegador cuando se reproduce audio y vídeo" useNativeUIForVideoAudioPlayer: "Usar la interfaz del navegador cuando se reproduce audio y vídeo"
keepOriginalFilename: "Mantener el nombre original del archivo" keepOriginalFilename: "Mantener el nombre original del archivo"
keepOriginalFilenameDescription: "Si desactivas esta opción, los nombres de los archivos serán remplazados por una cadena de caracteres aleatoria cuando subas los archivos."
noDescription: "No hay descripción" noDescription: "No hay descripción"
alwaysConfirmFollow: "Confirmar siempre cuando se sigue a alguien" alwaysConfirmFollow: "Confirmar siempre cuando se sigue a alguien"
inquiry: "Contacto"
tryAgain: "Por favor , inténtalo de nuevo"
confirmWhenRevealingSensitiveMedia: "Confirmación cuando se revele contenido sensible"
sensitiveMediaRevealConfirm: "Esto puede contener contenido sensible. ¿Estás seguro/a de querer mostrarlo?"
createdLists: "Listas creadas"
createdAntennas: "Antenas creadas"
fromX: "De {x}"
genEmbedCode: "Obtener el código para incrustar"
noteOfThisUser: "Notas de este usuario"
clipNoteLimitExceeded: "No se pueden añadir más notas a este clip."
performance: "Rendimiento"
modified: "Modificado"
discard: "Descartar"
thereAreNChanges: "Hay {n} cambio(s)"
signinWithPasskey: "Iniciar sesión con clave de acceso"
unknownWebAuthnKey: "Esto no se ha registrado llave maestra."
passkeyVerificationFailed: "La verificación de la clave de acceso ha fallado."
passkeyVerificationSucceededButPasswordlessLoginDisabled: "La verificación de la clave de acceso ha sido satisfactoria pero se ha deshabilitado el inicio de sesión sin contraseña."
messageToFollower: "Mensaje a seguidores"
target: "Para"
testCaptchaWarning: "Esta función está pensada para probar CAPTCHAs.<strong>No utilizar en un entorno de producción.</strong>"
prohibitedWordsForNameOfUser: "Palabras prohibidas para nombres de usuario"
prohibitedWordsForNameOfUserDescription: "Si alguna de las cadenas de esta lista está incluida en el nombre del usuario, el nombre será denegado. Los usuarios con privilegios de moderador no se ven afectados por esta restricción."
yourNameContainsProhibitedWords: "Tu nombre contiene palabras prohibidas"
yourNameContainsProhibitedWordsDescription: "Si deseas usar este nombre, por favor contacta con tu administrador/a de tu servidor"
thisContentsAreMarkedAsSigninRequiredByAuthor: " Establecido por el autor: requiere iniciar sesión para ver"
lockdown: "Bloqueo"
pleaseSelectAccount: "Seleccione una cuenta, por favor."
availableRoles: "Roles disponibles "
acknowledgeNotesAndEnable: "Activar después de comprender las precauciones"
federationSpecified: "Este servidor opera en una federación de listas blancas. No puede interactuar con otros servidores que no sean los especificados por el administrador."
federationDisabled: "La federación está desactivada en este servidor. No puede interactuar con usuarios de otros servidores"
confirmOnReact: "Confirmar la reacción"
reactAreYouSure: "¿Quieres añadir una reacción «{emoji}»?"
markAsSensitiveConfirm: "¿Desea establecer este medio multimedia(Imagen,vídeo...) como sensible?"
unmarkAsSensitiveConfirm: "¿Desea eliminar la designación de sensible para este adjunto?"
preferences: "Preferencias"
accessibility: "Accesibilidad"
preferencesProfile: "Configuración del perfil"
copyPreferenceId: "Copiar ID de la configuración"
resetToDefaultValue: "Revertir a valor predeterminado"
overrideByAccount: "Anulado por la cuenta"
untitled: "Sin título"
noName: "No hay nombre."
skip: "Saltar"
restore: "Restaurar"
syncBetweenDevices: "Sincronizar entre dispositivos"
preferenceSyncConflictTitle: "Los valores configurados existen en el servidor."
preferenceSyncConflictText: "Los ajustes de sincronización activados guardarán sus valores en el servidor. Sin embargo, hay valores existentes en el servidor. ¿Qué conjunto de valores desea sobrescribir?"
preferenceSyncConflictChoiceServer: "Valores de configuración del servidor"
preferenceSyncConflictChoiceDevice: "Valor configurado en el dispositivo"
paste: "Pegar"
emojiPalette: "Paleta emoji"
postForm: "Formulario"
information: "Información"
chat: "Chat"
migrateOldSettings: "Migrar la configuración anterior"
right: "Derecha"
bottom: "Abajo"
top: "Arriba"
embed: "Insertar"
settingsMigrating: "La configuración está siendo migrada, por favor espera un momento... (También puedes migrar manualmente más tarde yendo a Ajustes otros migrar configuración antigua"
readonly: "Solo Lectura"
goToDeck: "Volver al Deck"
federationJobs: "Trabajos de Federación"
_chat:
noMessagesYet: "Aún no hay mensajes"
newMessage: "Mensajes nuevos"
individualChat: "Chat individual"
individualChat_description: "Mantén una conversación privada con otra persona."
roomChat: "Sala de Chat"
roomChat_description: "Una sala de chat que puede tener varias personas.\nTambién puedes invitar a personas que no permiten chats privados si aceptan la invitación."
createRoom: "Crear sala"
inviteUserToChat: "Invitar usuarios para empezar a chatear"
yourRooms: "Salas creadas"
joiningRooms: "Salas que te has unido"
invitations: "Invitar"
noInvitations: "No hay invitación."
history: "Historial"
noHistory: "No hay datos en el historial"
noRooms: "Sala no encontrada"
inviteUser: "Invitar usuarios"
sentInvitations: "Invitaciones enviadas"
join: "Unirse"
ignore: "Ignorar"
leave: "Dejar sala"
members: "Miembros"
searchMessages: "Buscar mensajes"
home: "Inicio"
send: "Enviar"
newline: "Nueva línea"
muteThisRoom: "Silenciar esta sala"
deleteRoom: "Borrar sala"
chatNotAvailableForThisAccountOrServer: "El chat no está habilitado en este servidor ni para esta cuenta."
chatIsReadOnlyForThisAccountOrServer: "El chat es de sólo lectura en esta instancia o esta cuenta. No puedes escribir nuevos mensajes ni crear/unirte a salas de chat."
chatNotAvailableInOtherAccount: "La función de chat está desactivada para el otro usuario."
cannotChatWithTheUser: "No se puede iniciar un chat con este usuario"
cannotChatWithTheUser_description: "El chat no está disponible o la otra parte no ha habilitado el chat."
chatWithThisUser: "Chatear"
thisUserAllowsChatOnlyFromFollowers: "Este usuario sólo acepta chats de seguidores."
thisUserAllowsChatOnlyFromFollowing: "Este usuario sólo acepta chats de los usuarios a los que sigue."
thisUserAllowsChatOnlyFromMutualFollowing: "Este usuario sólo acepta chats de usuarios que son seguidores mutuos."
thisUserNotAllowedChatAnyone: "Este usuario no acepta chats de nadie."
chatAllowedUsers: "A quién permitir chatear."
chatAllowedUsers_note: "Puedes chatear con cualquier persona a la que hayas enviado un mensaje de chat, independientemente de esta configuración."
_chatAllowedUsers:
everyone: "Todos"
followers: "Sólo sus propios seguidores."
following: "Solo usuarios que sigues"
mutual: "Solo seguidores mutuos"
none: "Nadie"
_emojiPalette:
palettes: "Paleta\n"
enableSyncBetweenDevicesForPalettes: "Activar la sincronización de paletas entre dispositivos"
_settings:
api: "API"
webhook: "Webhook"
timelineAndNote: "Líneas del tiempo y notas"
makeEveryTextElementsSelectable_description: "Activar esta opción puede reducir la usabilidad en algunas situaciones."
useStickyIcons: "Hacer que los iconos te sigan cuando desplaces"
showNavbarSubButtons: "Mostrar los sub-botones en la barra de navegación."
ifOn: "Si está activado"
enableSyncThemesBetweenDevices: "Sincronizar los temas instalados entre dispositivos."
_chat:
showSenderName: "Mostrar el nombre del remitente"
sendOnEnter: "Intro para enviar"
_preferencesProfile:
profileName: "Nombre de perfil"
profileNameDescription: "Establece un nombre que identifique al dispositivo"
profileNameDescription2: "Por ejemplo: \"PC Principal\",\"Teléfono\""
_preferencesBackup:
autoBackup: "Respaldo automático"
restoreFromBackup: "Restaurar desde copia de seguridad"
noBackupsFoundTitle: "No se encontró una copia de seguridad"
_accountSettings:
requireSigninToViewContents: "Se requiere iniciar sesión para ver el contenido"
requireSigninToViewContentsDescription1: "Requiere iniciar sesión para ver todas las notas y otros contenidos que hayas creado. Se espera que esto evite que los rastreadores recopilen información."
_abuseUserReport:
accept: "Acepte"
reject: "repudio"
_delivery: _delivery:
stop: "Suspendido" stop: "Suspendido"
_type: _type:
@ -1893,7 +2070,6 @@ _theme:
header: "Cabezal" header: "Cabezal"
navBg: "Fondo de la barra lateral" navBg: "Fondo de la barra lateral"
navFg: "Texto de la barra lateral" navFg: "Texto de la barra lateral"
navHoverFg: "Texto de la barra lateral (hover)"
navActive: "Texto de la barra lateral (activo)" navActive: "Texto de la barra lateral (activo)"
navIndicator: "Indicador de la barra lateral" navIndicator: "Indicador de la barra lateral"
link: "Vínculo" link: "Vínculo"
@ -1916,11 +2092,8 @@ _theme:
buttonHoverBg: "Fondo de botón (hover)" buttonHoverBg: "Fondo de botón (hover)"
inputBorder: "Borde de los campos de entrada" inputBorder: "Borde de los campos de entrada"
driveFolderBg: "Fondo de capeta del drive" driveFolderBg: "Fondo de capeta del drive"
wallpaperOverlay: "Transparencia del fondo de pantalla"
badge: "Medalla" badge: "Medalla"
messageBg: "Fondo de chat" messageBg: "Fondo de chat"
accentDarken: "Acento (oscuro)"
accentLighten: "Acento (claro)"
fgHighlighted: "Texto resaltado" fgHighlighted: "Texto resaltado"
_sfx: _sfx:
note: "Notas" note: "Notas"
@ -2072,6 +2245,7 @@ _permissions:
"read:clip-favorite": "Ver los clips que me gustan" "read:clip-favorite": "Ver los clips que me gustan"
"read:federation": "Ver instancias federadas" "read:federation": "Ver instancias federadas"
"write:report-abuse": "Crear reportes de usuario" "write:report-abuse": "Crear reportes de usuario"
"write:chat": "Administrar chat"
_auth: _auth:
shareAccessTitle: "Permisos de la aplicación" shareAccessTitle: "Permisos de la aplicación"
shareAccess: "¿Desea permitir el acceso a la cuenta \"{name}\"?" shareAccess: "¿Desea permitir el acceso a la cuenta \"{name}\"?"
@ -2127,6 +2301,7 @@ _widgets:
chooseList: "Seleccione una lista" chooseList: "Seleccione una lista"
clicker: "Cliqueador" clicker: "Cliqueador"
birthdayFollowings: "Hoy cumplen años" birthdayFollowings: "Hoy cumplen años"
chat: "Chat"
_cw: _cw:
hide: "Ocultar" hide: "Ocultar"
show: "Ver más" show: "Ver más"
@ -2252,9 +2427,6 @@ _pages:
newPage: "Crear página" newPage: "Crear página"
editPage: "Editar página" editPage: "Editar página"
readPage: "Viendo la fuente" readPage: "Viendo la fuente"
created: "La página fue creada"
updated: "La página fue actualizada"
deleted: "La página borrada"
pageSetting: "Configurar página" pageSetting: "Configurar página"
nameAlreadyExists: "La URL de la página especificada ya existe" nameAlreadyExists: "La URL de la página especificada ya existe"
invalidNameTitle: "URL inválida" invalidNameTitle: "URL inválida"
@ -2340,6 +2512,7 @@ _notification:
roleAssigned: "Rol asignado" roleAssigned: "Rol asignado"
achievementEarned: "Logro desbloqueado" achievementEarned: "Logro desbloqueado"
login: "Iniciar sesión" login: "Iniciar sesión"
test: "Pruebas de nofiticaciones"
app: "Notificaciones desde aplicaciones" app: "Notificaciones desde aplicaciones"
_actions: _actions:
followBack: "Te sigue de vuelta" followBack: "Te sigue de vuelta"
@ -2376,6 +2549,7 @@ _deck:
mentions: "Menciones" mentions: "Menciones"
direct: "Notas directas" direct: "Notas directas"
roleTimeline: "Linea de tiempo del rol" roleTimeline: "Linea de tiempo del rol"
chat: "Chat"
_dialog: _dialog:
charactersExceeded: "¡Has excedido el límite de caracteres! Actualmente {current} de {max}." charactersExceeded: "¡Has excedido el límite de caracteres! Actualmente {current} de {max}."
charactersBelow: "¡Estás por debajo del límite de caracteres! Actualmente {current} de {min}." charactersBelow: "¡Estás por debajo del límite de caracteres! Actualmente {current} de {min}."
@ -2398,6 +2572,8 @@ _webhookSettings:
renote: "Cuando reciba un \"re-note\"" renote: "Cuando reciba un \"re-note\""
reaction: "Cuando se recibe una reacción" reaction: "Cuando se recibe una reacción"
mention: "Cuando hay una mención" mention: "Cuando hay una mención"
_systemEvents:
userCreated: "Cuando se crea el usuario."
_abuseReport: _abuseReport:
_notificationRecipient: _notificationRecipient:
_recipientType: _recipientType:
@ -2453,10 +2629,8 @@ _externalResourceInstaller:
checkVendorBeforeInstall: "Asegúrate de que el distribuidor de este recurso es de confianza antes de proceder a la instalación." checkVendorBeforeInstall: "Asegúrate de que el distribuidor de este recurso es de confianza antes de proceder a la instalación."
_plugin: _plugin:
title: "¿Quieres instalar este plugin?" title: "¿Quieres instalar este plugin?"
metaTitle: "Información del plugin"
_theme: _theme:
title: "¿Quieres instalar este tema?" title: "¿Quieres instalar este tema?"
metaTitle: "Información del tema"
_meta: _meta:
base: "Esquema de color base" base: "Esquema de color base"
_vendorInfo: _vendorInfo:
@ -2518,3 +2692,13 @@ _mediaControls:
pip: "Picture in Picture" pip: "Picture in Picture"
playbackRate: "Velocidad de reproducción" playbackRate: "Velocidad de reproducción"
loop: "Reproducción en bucle" loop: "Reproducción en bucle"
_followRequest:
recieved: "Petición de seguimiento recibida"
sent: "Petición de seguimiento enviada"
_remoteLookupErrors:
_noSuchObject:
title: "No se encuentra"
_search:
searchScopeAll: "Todo"
searchScopeLocal: "Local"
searchScopeUser: "Especificar usuario"

View file

@ -8,6 +8,9 @@ search: "Rechercher"
notifications: "Notifications" notifications: "Notifications"
username: "Nom dutilisateur·rice" username: "Nom dutilisateur·rice"
password: "Mot de passe" password: "Mot de passe"
initialPasswordForSetup: "Mot de passe initial pour la configuration"
initialPasswordIsIncorrect: "Mot de passe initial pour la configuration est incorrecte"
initialPasswordForSetupDescription: "Utilisez le mot de passe que vous avez entré pour le fichier de configuration si vous avez installé Misskey vous-même.\nSi vous utilisez un service d'hébergement Misskey, utilisez le mot de passe fourni.\nSi vous n'avez pas défini de mot de passe, laissez le champ vide pour continuer."
forgotPassword: "Mot de passe oublié" forgotPassword: "Mot de passe oublié"
fetchingAsApObject: "Récupération depuis le fédiverse …" fetchingAsApObject: "Récupération depuis le fédiverse …"
ok: "OK" ok: "OK"
@ -60,6 +63,7 @@ copyFileId: "Copier l'identifiant du fichier"
copyFolderId: "Copier l'identifiant du dossier" copyFolderId: "Copier l'identifiant du dossier"
copyProfileUrl: "Copier l'URL du profil" copyProfileUrl: "Copier l'URL du profil"
searchUser: "Chercher un·e utilisateur·rice" searchUser: "Chercher un·e utilisateur·rice"
searchThisUsersNotes: "Cherchez les notes de cet·te utilisateur·rice"
reply: "Répondre" reply: "Répondre"
loadMore: "Afficher plus …" loadMore: "Afficher plus …"
showMore: "Voir plus" showMore: "Voir plus"
@ -108,6 +112,7 @@ enterEmoji: "Insérer un émoji"
renote: "Renoter" renote: "Renoter"
unrenote: "Annuler la Renote" unrenote: "Annuler la Renote"
renoted: "Renoté !" renoted: "Renoté !"
renotedToX: "Renoté en {name}"
cantRenote: "Ce message ne peut pas être renoté." cantRenote: "Ce message ne peut pas être renoté."
cantReRenote: "Impossible de renoter une Renote." cantReRenote: "Impossible de renoter une Renote."
quote: "Citer" quote: "Citer"
@ -151,6 +156,7 @@ editList: "Modifier la liste"
selectChannel: "Sélectionner un canal" selectChannel: "Sélectionner un canal"
selectAntenna: "Sélectionner une antenne" selectAntenna: "Sélectionner une antenne"
editAntenna: "Modifier l'antenne" editAntenna: "Modifier l'antenne"
createAntenna: "Créer une antenne"
selectWidget: "Sélectionner un widget" selectWidget: "Sélectionner un widget"
editWidgets: "Modifier les widgets" editWidgets: "Modifier les widgets"
editWidgetsExit: "Valider les modifications" editWidgetsExit: "Valider les modifications"
@ -177,6 +183,7 @@ addAccount: "Ajouter un compte"
reloadAccountsList: "Rafraichir la liste des comptes" reloadAccountsList: "Rafraichir la liste des comptes"
loginFailed: "Échec de la connexion" loginFailed: "Échec de la connexion"
showOnRemote: "Voir sur linstance distante" showOnRemote: "Voir sur linstance distante"
continueOnRemote: "Continuer sur l'instance distante"
general: "Général" general: "Général"
wallpaper: "Fond décran" wallpaper: "Fond décran"
setWallpaper: "Définir le fond décran" setWallpaper: "Définir le fond décran"
@ -187,6 +194,7 @@ followConfirm: "Êtes-vous sûr·e de vouloir suivre {name} ?"
proxyAccount: "Compte proxy" proxyAccount: "Compte proxy"
proxyAccountDescription: "Un compte proxy se comporte, dans certaines conditions, comme un·e abonné·e distant·e pour les utilisateurs d'autres instances. Par exemple, quand un·e utilisateur·rice ajoute un·e utilisateur·rice distant·e à une liste, ses notes ne seront pas visibles sur l'instance si personne ne suit cet·te utilisateur·rice. Le compte proxy va donc suivre cet·te utilisateur·rice pour que ses notes soient acheminées." proxyAccountDescription: "Un compte proxy se comporte, dans certaines conditions, comme un·e abonné·e distant·e pour les utilisateurs d'autres instances. Par exemple, quand un·e utilisateur·rice ajoute un·e utilisateur·rice distant·e à une liste, ses notes ne seront pas visibles sur l'instance si personne ne suit cet·te utilisateur·rice. Le compte proxy va donc suivre cet·te utilisateur·rice pour que ses notes soient acheminées."
host: "Serveur distant" host: "Serveur distant"
selectSelf: "Sélectionner manuellement"
selectUser: "Sélectionner un·e utilisateur·rice" selectUser: "Sélectionner un·e utilisateur·rice"
recipient: "Destinataire" recipient: "Destinataire"
annotation: "Commentaires" annotation: "Commentaires"
@ -269,7 +277,6 @@ deleteAreYouSure: "Êtes-vous sûr·e de vouloir supprimer « {x} » ?"
resetAreYouSure: "Voulez-vous réinitialiser ?" resetAreYouSure: "Voulez-vous réinitialiser ?"
areYouSure: "Êtes-vous sûr·e ?" areYouSure: "Êtes-vous sûr·e ?"
saved: "Enregistré" saved: "Enregistré"
messaging: "Discuter"
upload: "Téléverser" upload: "Téléverser"
keepOriginalUploading: "Garder limage dorigine" keepOriginalUploading: "Garder limage dorigine"
keepOriginalUploadingDescription: "Conserve la version originale lors du téléchargement d'images. S'il est désactivé, le navigateur génère l'image pour la publication web lors du téléchargement." keepOriginalUploadingDescription: "Conserve la version originale lors du téléchargement d'images. S'il est désactivé, le navigateur génère l'image pour la publication web lors du téléchargement."
@ -282,7 +289,6 @@ uploadFromUrlMayTakeTime: "Le téléversement de votre fichier peut prendre un c
explore: "Découvrir" explore: "Découvrir"
messageRead: "Lu" messageRead: "Lu"
noMoreHistory: "Il ny a plus dhistorique" noMoreHistory: "Il ny a plus dhistorique"
startMessaging: "Commencer à discuter"
nUsersRead: "Lu par {n} personnes" nUsersRead: "Lu par {n} personnes"
agreeTo: "Jaccepte {0}" agreeTo: "Jaccepte {0}"
agree: "Accepter" agree: "Accepter"
@ -320,6 +326,7 @@ renameFolder: "Renommer le dossier"
deleteFolder: "Supprimer le dossier" deleteFolder: "Supprimer le dossier"
folder: "Dossier" folder: "Dossier"
addFile: "Ajouter un fichier" addFile: "Ajouter un fichier"
showFile: "Voir les fichiers"
emptyDrive: "Le Disque est vide" emptyDrive: "Le Disque est vide"
emptyFolder: "Le dossier est vide" emptyFolder: "Le dossier est vide"
unableToDelete: "Suppression impossible" unableToDelete: "Suppression impossible"
@ -362,7 +369,6 @@ enableLocalTimeline: "Activer le fil local"
enableGlobalTimeline: "Activer le fil global" enableGlobalTimeline: "Activer le fil global"
disablingTimelinesInfo: "Même si vous désactivez ces fils, les administrateur·rice·s et les modérateur·rice·s pourront toujours y accéder." disablingTimelinesInfo: "Même si vous désactivez ces fils, les administrateur·rice·s et les modérateur·rice·s pourront toujours y accéder."
registration: "Sinscrire" registration: "Sinscrire"
enableRegistration: "Autoriser les nouvelles inscriptions"
invite: "Inviter" invite: "Inviter"
driveCapacityPerLocalAccount: "Capacité de stockage du Disque par utilisateur local" driveCapacityPerLocalAccount: "Capacité de stockage du Disque par utilisateur local"
driveCapacityPerRemoteAccount: "Capacité de stockage du Disque par utilisateur distant" driveCapacityPerRemoteAccount: "Capacité de stockage du Disque par utilisateur distant"
@ -430,10 +436,11 @@ token: "Jeton"
2fa: "Authentification à deux facteurs" 2fa: "Authentification à deux facteurs"
setupOf2fa: "Configuration de lauthentification à deux facteurs" setupOf2fa: "Configuration de lauthentification à deux facteurs"
totp: "Application d'authentification" totp: "Application d'authentification"
totpDescription: "Entrez un mot de passe à usage unique à l'aide d'une application d'authentification" totpDescription: "Entrer un mot de passe à usage unique à l'aide d'une application d'authentification"
moderator: "Modérateur·rice·s" moderator: "Modérateur·rice·s"
moderation: "Modérations" moderation: "Modérations"
moderationNote: "Note de modération" moderationNote: "Note de modération"
moderationNoteDescription: "Vous pouvez remplir des notes qui seront partagés seulement entre modérateurs."
addModerationNote: "Ajouter une note de modération" addModerationNote: "Ajouter une note de modération"
moderationLogs: "Journal de modération" moderationLogs: "Journal de modération"
nUsersMentioned: "{n} utilisateur·rice·s mentionné·e·s" nUsersMentioned: "{n} utilisateur·rice·s mentionné·e·s"
@ -468,8 +475,6 @@ retype: "Confirmation"
noteOf: "Notes de {user}" noteOf: "Notes de {user}"
quoteAttached: "Avec citation" quoteAttached: "Avec citation"
quoteQuestion: "Souhaitez-vous ajouter une citation ?" quoteQuestion: "Souhaitez-vous ajouter une citation ?"
noMessagesYet: "Pas encore de discussion"
newMessageExists: "Vous avez un nouveau message"
onlyOneFileCanBeAttached: "Vous ne pouvez joindre quun seul fichier au message" onlyOneFileCanBeAttached: "Vous ne pouvez joindre quun seul fichier au message"
signinRequired: "Veuillez vous connecter" signinRequired: "Veuillez vous connecter"
invitations: "Invitations" invitations: "Invitations"
@ -493,6 +498,10 @@ uiLanguage: "Langue daffichage de linterface"
aboutX: "À propos de {x}" aboutX: "À propos de {x}"
emojiStyle: "Style des émojis" emojiStyle: "Style des émojis"
native: "Natif" native: "Natif"
menuStyle: "Style du menu"
style: "Style"
drawer: "Sélecteur"
popup: "Pop-up"
showNoteActionsOnlyHover: "Afficher les actions de note uniquement au survol" showNoteActionsOnlyHover: "Afficher les actions de note uniquement au survol"
showReactionsCount: "Afficher le nombre de réactions des notes" showReactionsCount: "Afficher le nombre de réactions des notes"
noHistory: "Pas d'historique" noHistory: "Pas d'historique"
@ -575,6 +584,7 @@ ascendingOrder: "Ascendant"
descendingOrder: "Descendant" descendingOrder: "Descendant"
scratchpad: "ScratchPad" scratchpad: "ScratchPad"
scratchpadDescription: "ScratchPad fournit un environnement expérimental pour AiScript. Vous pouvez vérifier la rédaction de votre code, sa bonne exécution et le résultat de son interaction avec Misskey." scratchpadDescription: "ScratchPad fournit un environnement expérimental pour AiScript. Vous pouvez vérifier la rédaction de votre code, sa bonne exécution et le résultat de son interaction avec Misskey."
uiInspector: "Inspecteur UI"
output: "Sortie" output: "Sortie"
script: "Script" script: "Script"
disablePagesScript: "Désactiver AiScript sur les Pages" disablePagesScript: "Désactiver AiScript sur les Pages"
@ -618,7 +628,7 @@ description: "Description"
describeFile: "Ajouter une description d'image" describeFile: "Ajouter une description d'image"
enterFileDescription: "Saisissez une description" enterFileDescription: "Saisissez une description"
author: "Auteur·rice" author: "Auteur·rice"
leaveConfirm: "Vous avez des modifications non-sauvegardées. Voulez-vous les ignorer ?" leaveConfirm: "Vous avez des modifications non sauvegardées. Voulez-vous les ignorer ?"
manage: "Gestion" manage: "Gestion"
plugins: "Extensions" plugins: "Extensions"
preferencesBackups: "Sauvegarder les paramètres" preferencesBackups: "Sauvegarder les paramètres"
@ -828,6 +838,7 @@ administration: "Gestion"
accounts: "Comptes" accounts: "Comptes"
switch: "Remplacer" switch: "Remplacer"
noMaintainerInformationWarning: "Informations administrateur non configurées." noMaintainerInformationWarning: "Informations administrateur non configurées."
noInquiryUrlWarning: "L'URL demandé n'est pas définie"
noBotProtectionWarning: "La protection contre les bots n'est pas configurée." noBotProtectionWarning: "La protection contre les bots n'est pas configurée."
configure: "Configurer" configure: "Configurer"
postToGallery: "Publier dans la galerie" postToGallery: "Publier dans la galerie"
@ -892,6 +903,7 @@ followersVisibility: "Visibilité des abonnés"
continueThread: "Afficher la suite du fil" continueThread: "Afficher la suite du fil"
deleteAccountConfirm: "Votre compte sera supprimé. Êtes vous certain ?" deleteAccountConfirm: "Votre compte sera supprimé. Êtes vous certain ?"
incorrectPassword: "Le mot de passe est incorrect." incorrectPassword: "Le mot de passe est incorrect."
incorrectTotp: "Le mot de passe à usage unique est incorrect ou a expiré."
voteConfirm: "Confirmez-vous votre vote pour « {choice} » ?" voteConfirm: "Confirmez-vous votre vote pour « {choice} » ?"
hide: "Masquer" hide: "Masquer"
useDrawerReactionPickerForMobile: "Afficher le sélecteur de réactions en tant que panneau sur mobile" useDrawerReactionPickerForMobile: "Afficher le sélecteur de réactions en tant que panneau sur mobile"
@ -916,6 +928,9 @@ oneHour: "1 heure"
oneDay: "1 jour" oneDay: "1 jour"
oneWeek: "1 semaine" oneWeek: "1 semaine"
oneMonth: "Un mois" oneMonth: "Un mois"
threeMonths: "3 mois"
oneYear: "1 an"
threeDays: "3 jours"
reflectMayTakeTime: "Cela peut prendre un certain temps avant que cela ne se termine." reflectMayTakeTime: "Cela peut prendre un certain temps avant que cela ne se termine."
failedToFetchAccountInformation: "Impossible de récupérer les informations du compte." failedToFetchAccountInformation: "Impossible de récupérer les informations du compte."
rateLimitExceeded: "Limite de taux dépassée" rateLimitExceeded: "Limite de taux dépassée"
@ -923,7 +938,7 @@ cropImage: "Recadrer l'image"
cropImageAsk: "Voulez-vous recadrer cette image ?" cropImageAsk: "Voulez-vous recadrer cette image ?"
cropYes: "Rogner" cropYes: "Rogner"
cropNo: "Utiliser en l'état" cropNo: "Utiliser en l'état"
file: "Fichiers" file: "Fichier"
recentNHours: "Dernières {n} heures" recentNHours: "Dernières {n} heures"
recentNDays: "Derniers {n} jours" recentNDays: "Derniers {n} jours"
noEmailServerWarning: "Serveur de courrier non configuré." noEmailServerWarning: "Serveur de courrier non configuré."
@ -1055,6 +1070,7 @@ retryAllQueuesConfirmTitle: "Vraiment réessayer ?"
retryAllQueuesConfirmText: "Cela peut augmenter temporairement la charge du serveur." retryAllQueuesConfirmText: "Cela peut augmenter temporairement la charge du serveur."
enableChartsForRemoteUser: "Générer les graphiques pour les utilisateurs distants" enableChartsForRemoteUser: "Générer les graphiques pour les utilisateurs distants"
enableChartsForFederatedInstances: "Générer les graphiques pour les instances distantes" enableChartsForFederatedInstances: "Générer les graphiques pour les instances distantes"
enableStatsForFederatedInstances: "Recevoir les statistiques des instances distantes"
showClipButtonInNoteFooter: "Ajouter « Clip » au menu d'action de la note" showClipButtonInNoteFooter: "Ajouter « Clip » au menu d'action de la note"
reactionsDisplaySize: "Taille de l'affichage des réactions" reactionsDisplaySize: "Taille de l'affichage des réactions"
limitWidthOfReaction: "Limiter la largeur maximale des réactions et les afficher en taille réduite" limitWidthOfReaction: "Limiter la largeur maximale des réactions et les afficher en taille réduite"
@ -1102,6 +1118,8 @@ preventAiLearning: "Refuser l'usage dans l'apprentissage automatique d'IA géné
preventAiLearningDescription: "Demander aux robots d'indexation de ne pas utiliser le contenu publié, tel que les notes et les images, dans l'apprentissage automatique d'IA générative. Cela est réalisé en incluant le drapeau « noai » dans la réponse HTML. Une prévention complète n'est toutefois pas possible, car il est au robot d'indexation de respecter cette demande." preventAiLearningDescription: "Demander aux robots d'indexation de ne pas utiliser le contenu publié, tel que les notes et les images, dans l'apprentissage automatique d'IA générative. Cela est réalisé en incluant le drapeau « noai » dans la réponse HTML. Une prévention complète n'est toutefois pas possible, car il est au robot d'indexation de respecter cette demande."
options: "Options" options: "Options"
specifyUser: "Spécifier l'utilisateur·rice" specifyUser: "Spécifier l'utilisateur·rice"
openTagPageConfirm: "Ouvrir une page d'hashtags ?"
specifyHost: "Spécifier un serveur distant"
failedToPreviewUrl: "Aperçu d'URL échoué" failedToPreviewUrl: "Aperçu d'URL échoué"
update: "Mettre à jour" update: "Mettre à jour"
rolesThatCanBeUsedThisEmojiAsReaction: "Rôles qui peuvent utiliser cet émoji comme réaction" rolesThatCanBeUsedThisEmojiAsReaction: "Rôles qui peuvent utiliser cet émoji comme réaction"
@ -1222,13 +1240,63 @@ enableHorizontalSwipe: "Glisser pour changer d'onglet"
loading: "Chargement en cours" loading: "Chargement en cours"
surrender: "Annuler" surrender: "Annuler"
gameRetry: "Réessayer" gameRetry: "Réessayer"
notUsePleaseLeaveBlank: "Laisser vide si non utilisé"
useTotp: "Entrer un mot de passe à usage unique"
useBackupCode: "Utiliser le codes de secours"
launchApp: "Lancer l'app" launchApp: "Lancer l'app"
useNativeUIForVideoAudioPlayer: "Lire les vidéos et audios en utilisant l'UI du navigateur"
keepOriginalFilename: "Garder le nom original du fichier"
keepOriginalFilenameDescription: "Si vous désactivez ce paramètre, les noms de fichiers seront automatiquement remplacés par des noms aléatoires lorsque vous téléchargerez des fichiers."
noDescription: "Il n'y a pas de description"
alwaysConfirmFollow: "Confirmer lors d'un abonnement"
inquiry: "Contact" inquiry: "Contact"
tryAgain: "Veuillez réessayer plus tard"
confirmWhenRevealingSensitiveMedia: "Confirmer pour révéler du contenu sensible"
sensitiveMediaRevealConfirm: "Ceci pourrait être du contenu sensible. Voulez-vous l'afficher ?"
createdLists: "Listes créées"
createdAntennas: "Antennes créées"
fromX: "De {x}"
genEmbedCode: "Générer le code d'intégration"
noteOfThisUser: "Notes de cet·te utilisateur·rice"
clipNoteLimitExceeded: "Aucune note supplémentaire ne peut être ajoutée à ce clip."
performance: "Performance"
modified: "Modifié"
discard: "Annuler"
thereAreNChanges: "Il y a {n} modification(s)"
signinWithPasskey: "Se connecter avec une clé d'accès"
unknownWebAuthnKey: "Clé d'accès inconnue."
passkeyVerificationFailed: "La vérification de la clé d'accès a échoué."
passkeyVerificationSucceededButPasswordlessLoginDisabled: "La vérification de la clé d'accès a réussi, mais la connexion sans mot de passe est désactivée."
messageToFollower: "Message aux abonné·es"
target: "Destinataire"
prohibitedWordsForNameOfUser: "Mots interdits pour les noms d'utilisateur·rices"
lockdown: "Verrouiller"
pleaseSelectAccount: "Sélectionner un compte"
availableRoles: "Rôles disponibles"
postForm: "Formulaire de publication"
information: "Informations"
_chat:
invitations: "Inviter"
noHistory: "Pas d'historique"
members: "Membres"
home: "Principal"
send: "Envoyer"
_abuseUserReport:
forward: "Transférer"
forwardDescription: "Transférer le signalement vers une instance distante en tant qu'anonyme."
resolve: "Résoudre"
accept: "Accepter"
reject: "Rejeter"
resolveTutorial: "Si le signalement est légitime dans son contenu, sélectionnez « Accepter » pour marquer le cas comme résolu par l'affirmative.\nSi le contenu du rapport n'est pas légitime, sélectionnez « Rejeter » pour marquer le cas comme résolu par la négative."
_delivery: _delivery:
status: "Statut de la diffusion" status: "Statut de la diffusion"
stop: "Suspendu·e" stop: "Suspendu·e"
resume: "Reprendre"
_type: _type:
none: "Publié" none: "Publié"
manuallySuspended: "Suspendre manuellement"
goneSuspended: "L'instance est suspendue en raison de la suppression de ce dernier"
autoSuspendedForNotResponding: "L'instance est suspendue car elle ne répond pas"
_bubbleGame: _bubbleGame:
howToPlay: "Comment jouer" howToPlay: "Comment jouer"
hold: "Réserver" hold: "Réserver"
@ -1239,6 +1307,7 @@ _bubbleGame:
maxChain: "Nombre maximum de chaînes" maxChain: "Nombre maximum de chaînes"
yen: "{yen} yens" yen: "{yen} yens"
estimatedQty: "{qty} pièces" estimatedQty: "{qty} pièces"
scoreSweets: "{onigiriQtyWithUnit} Onigiri(s)"
_announcement: _announcement:
forExistingUsers: "Pour les utilisateurs existants seulement" forExistingUsers: "Pour les utilisateurs existants seulement"
needConfirmationToRead: "Exiger la confirmation de la lecture" needConfirmationToRead: "Exiger la confirmation de la lecture"
@ -1258,6 +1327,7 @@ _initialAccountSetting:
profileSetting: "Paramètres du profil" profileSetting: "Paramètres du profil"
privacySetting: "Paramètres de confidentialité" privacySetting: "Paramètres de confidentialité"
initialAccountSettingCompleted: "Configuration du profil terminée avec succès !" initialAccountSettingCompleted: "Configuration du profil terminée avec succès !"
haveFun: "Profitez de {name} !"
youCanContinueTutorial: "Vous pouvez procéder au tutoriel sur l'utilisation de {name}(Misskey) ou vous arrêter ici et commencer à l'utiliser immédiatement." youCanContinueTutorial: "Vous pouvez procéder au tutoriel sur l'utilisation de {name}(Misskey) ou vous arrêter ici et commencer à l'utiliser immédiatement."
startTutorial: "Démarrer le tutoriel" startTutorial: "Démarrer le tutoriel"
skipAreYouSure: "Désirez-vous ignorer la configuration du profil ?" skipAreYouSure: "Désirez-vous ignorer la configuration du profil ?"
@ -1351,18 +1421,60 @@ _achievements:
flavor: "Passez un bon moment avec Misskey !" flavor: "Passez un bon moment avec Misskey !"
_notes10: _notes10:
title: "Quelques notes" title: "Quelques notes"
description: "Poster 10 notes"
_notes100: _notes100:
title: "Beaucoup de notes" title: "Beaucoup de notes"
description: "Poster 100 notes"
_notes500:
title: "Couvert de notes"
description: "Poster 500 notes"
_notes1000:
title: "Une montagne de notes"
description: "Poster 1000 notes"
_notes5000:
title: "Débordement de notes"
description: "Poster 5 000 notes"
_notes10000:
title: "Super note"
description: "Poster 10 000 notes"
_notes20000:
title: "Encore... plus... de... notes..."
description: "Poster 20 000 notes"
_notes30000:
title: "Notes notes notes !"
description: "Poster 30 000 notes"
_notes40000:
title: "Usine de notes"
description: "Poster 40 000 notes"
_notes50000:
title: "Planète des notes"
description: "Poster 50 000 notes"
_notes60000:
title: "Quasar de note"
description: "Poster 50 000 notes"
_notes70000:
title: "Trou noir de notes"
description: "Poster 70 000 notes"
_notes80000:
title: "Galaxie de notes"
description: "Poster 80 000 notes"
_notes90000:
title: "Univers de notes"
description: "Poster 90 000 notes"
_notes100000: _notes100000:
title: "ALL YOUR NOTE ARE BELONG TO US" title: "ALL YOUR NOTE ARE BELONG TO US"
description: "Poster 100 000 notes"
flavor: "Avez-vous tant de choses à dire ?"
_login3: _login3:
title: "Débutant " title: "Débutant I"
description: "Se connecter pour un total de 3 jours" description: "Se connecter pour un total de 3 jours"
flavor: "Dès maintenant, appelez-moi Misskeynaute"
_login7: _login7:
title: "Débutant Ⅱ" title: "Débutant II"
description: "Se connecter pour un total de 7 jours" description: "Se connecter pour un total de 7 jours"
flavor: "On s'habitue ?"
_login15: _login15:
title: "Débutant Ⅲ" title: "Débutant III"
description: "Se connecter pour un total de 15 jours" description: "Se connecter pour un total de 15 jours"
_login30: _login30:
title: "Misskeynaute I" title: "Misskeynaute I"
@ -1386,6 +1498,7 @@ _achievements:
_login500: _login500:
title: "Expert I" title: "Expert I"
description: "Se connecter pour un total de 500 jours" description: "Se connecter pour un total de 500 jours"
flavor: "Non, mes amis, j'aime les notes"
_login600: _login600:
title: "Expert II" title: "Expert II"
description: "Se connecter pour un total de 600 jours" description: "Se connecter pour un total de 600 jours"
@ -1393,11 +1506,18 @@ _achievements:
title: "Expert III" title: "Expert III"
description: "Se connecter pour un total de 700 jours" description: "Se connecter pour un total de 700 jours"
_login800: _login800:
title: "Maître des notes I"
description: "Se connecter pour un total de 800 jours" description: "Se connecter pour un total de 800 jours"
_login900: _login900:
title: "Maître des notes II"
description: "Se connecter pour un total de 900 jours" description: "Se connecter pour un total de 900 jours"
_login1000: _login1000:
title: "Maître des notes III"
description: "Se connecter pour un total de 1 000 jours"
flavor: "Merci d'utiliser Misskey !" flavor: "Merci d'utiliser Misskey !"
_noteClipped1:
title: "Je... dois... clip..."
description: "Ajouter sa première note aux clips"
_profileFilled: _profileFilled:
title: "Bien préparé" title: "Bien préparé"
description: "Configuration de votre profil" description: "Configuration de votre profil"
@ -1456,21 +1576,31 @@ _achievements:
_driveFolderCircularReference: _driveFolderCircularReference:
title: "Référence circulaire" title: "Référence circulaire"
_setNameToSyuilo: _setNameToSyuilo:
title: "Complexe de dieu"
description: "Vous avez spécifié « syuilo » comme nom" description: "Vous avez spécifié « syuilo » comme nom"
_passedSinceAccountCreated1: _passedSinceAccountCreated1:
title: "Premier anniversaire" title: "Premier anniversaire"
description: "Un an est passé depuis la création du compte"
_passedSinceAccountCreated2: _passedSinceAccountCreated2:
title: "Second anniversaire" title: "Second anniversaire"
description: "Deux ans sont passés depuis la création du compte"
_passedSinceAccountCreated3: _passedSinceAccountCreated3:
title: "3ème anniversaire" title: "3ème anniversaire"
description: "Trois ans sont passés depuis la création du compte"
_loggedInOnBirthday: _loggedInOnBirthday:
title: "Joyeux Anniversaire !" title: "Joyeux Anniversaire !"
description: "Vous vous êtes connecté à la date de votre anniversaire" description: "Vous vous êtes connecté à la date de votre anniversaire"
_loggedInOnNewYearsDay: _loggedInOnNewYearsDay:
title: "Bonne année !" title: "Bonne année !"
description: "Vous vous êtes connecté le premier jour de l'année"
flavor: "Merci pour le soutient continue sur cette instance."
_cookieClicked: _cookieClicked:
title: "Jeu de clic sur des cookies"
description: "Cliqué sur un cookie"
flavor: "Attendez une minute, vous êtes sur le mauvais site web ?" flavor: "Attendez une minute, vous êtes sur le mauvais site web ?"
_brainDiver: _brainDiver:
title: "Brain Diver"
description: "Poster le lien sur Brain Diver"
flavor: "Misskey-Misskey La-Tu-Ma" flavor: "Misskey-Misskey La-Tu-Ma"
_smashTestNotificationButton: _smashTestNotificationButton:
title: "Débordement de tests" title: "Débordement de tests"
@ -1478,6 +1608,11 @@ _achievements:
_tutorialCompleted: _tutorialCompleted:
title: "Diplôme de la course élémentaire de Misskey" title: "Diplôme de la course élémentaire de Misskey"
description: "Terminer le tutoriel" description: "Terminer le tutoriel"
_bubbleGameExplodingHead:
title: "🤯"
description: "Le plus gros objet du jeu de bulles"
_bubbleGameDoubleExplodingHead:
title: "Double🤯"
_role: _role:
new: "Nouveau rôle" new: "Nouveau rôle"
edit: "Modifier le rôle" edit: "Modifier le rôle"
@ -1508,9 +1643,11 @@ _role:
canManageCustomEmojis: "Gestion des émojis personnalisés" canManageCustomEmojis: "Gestion des émojis personnalisés"
canManageAvatarDecorations: "Gestion des décorations d'avatar" canManageAvatarDecorations: "Gestion des décorations d'avatar"
driveCapacity: "Capacité de stockage du Disque" driveCapacity: "Capacité de stockage du Disque"
antennaMax: "Nombre maximum d'antennes"
wordMuteMax: "Nombre maximal de caractères dans le filtre de mots" wordMuteMax: "Nombre maximal de caractères dans le filtre de mots"
canUseTranslator: "Usage de la fonctionnalité de traduction" canUseTranslator: "Usage de la fonctionnalité de traduction"
avatarDecorationLimit: "Nombre maximal de décorations d'avatar" avatarDecorationLimit: "Nombre maximal de décorations d'avatar"
canImportAntennas: "Autoriser l'importation d'antennes"
_sensitiveMediaDetection: _sensitiveMediaDetection:
description: "L'apprentissage automatique peut être utilisé pour détecter automatiquement les médias sensibles à modérer. La sollicitation des serveurs augmente légèrement." description: "L'apprentissage automatique peut être utilisé pour détecter automatiquement les médias sensibles à modérer. La sollicitation des serveurs augmente légèrement."
sensitivity: "Sensibilité de la détection" sensitivity: "Sensibilité de la détection"
@ -1679,7 +1816,6 @@ _theme:
header: "Entête" header: "Entête"
navBg: "Fond de la barre latérale" navBg: "Fond de la barre latérale"
navFg: "Texte de la barre latérale" navFg: "Texte de la barre latérale"
navHoverFg: "Texte de la barre latérale (survolé)"
navActive: "Texte de la barre latérale (actif)" navActive: "Texte de la barre latérale (actif)"
navIndicator: "Indicateur de barre latérale" navIndicator: "Indicateur de barre latérale"
link: "Lien" link: "Lien"
@ -1702,11 +1838,8 @@ _theme:
buttonHoverBg: "Arrière-plan du bouton (survolé)" buttonHoverBg: "Arrière-plan du bouton (survolé)"
inputBorder: "Cadre de la zone de texte" inputBorder: "Cadre de la zone de texte"
driveFolderBg: "Arrière-plan du dossier de disque" driveFolderBg: "Arrière-plan du dossier de disque"
wallpaperOverlay: "Superposition de fond d'écran"
badge: "Badge" badge: "Badge"
messageBg: "Arrière plan de la discussion" messageBg: "Arrière plan de la discussion"
accentDarken: "Plus sombre"
accentLighten: "Plus clair"
fgHighlighted: "Texte mis en évidence" fgHighlighted: "Texte mis en évidence"
_sfx: _sfx:
note: "Nouvelle note" note: "Nouvelle note"
@ -1793,6 +1926,30 @@ _permissions:
"write:gallery": "Éditer la galerie" "write:gallery": "Éditer la galerie"
"read:gallery-likes": "Voir les mentions « J'aime » dans la galerie" "read:gallery-likes": "Voir les mentions « J'aime » dans la galerie"
"write:gallery-likes": "Gérer les mentions « J'aime » dans la galerie" "write:gallery-likes": "Gérer les mentions « J'aime » dans la galerie"
"read:flash": "Voir le Play"
"write:flash": "Modifier le Play"
"read:flash-likes": "Lire vos mentions j'aime des Play"
"write:flash-likes": "Modifier vos mentions j'aime des Play"
"read:admin:abuse-user-reports": "Voir les utilisateurs signalés"
"write:admin:delete-account": "Supprimer le compte d'utilisateur"
"write:admin:delete-all-files-of-a-user": "Supprimer tous les fichiers d'un utilisateur"
"read:admin:index-stats": "Voir les statistiques sur les index de base de données"
"read:admin:table-stats": "Voir les statistiques sur les index de base de données"
"read:admin:user-ips": "Voir l'adresse IP de l'utilisateur"
"read:admin:meta": "Voir les métadonnées de l'instance"
"write:admin:reset-password": "Réinitialiser le mot de passe de l'utilisateur"
"write:admin:resolve-abuse-user-report": "Résoudre le signalement d'un utilisateur"
"write:admin:send-email": "Envoyer un mail"
"read:admin:server-info": "Voir les informations de l'instance"
"read:admin:show-moderation-log": "Voir les logs de modération"
"read:admin:show-user": "Voir les informations privées de l'utilisateur"
"write:admin:suspend-user": "Suspendre l'utilisateur"
"write:admin:unset-user-avatar": "Retirer l'avatar de l'utilisateur"
"write:admin:unset-user-banner": "Retirer la bannière de l'utilisateur"
"write:admin:unsuspend-user": "Lever la suspension d'un utilisateur"
"write:admin:meta": "Gérer les métadonnées de l'instance"
"write:admin:roles": "Gérer les rôles"
"write:chat": "Gérer les discussions"
_auth: _auth:
shareAccess: "Autoriser \"{name}\" à accéder à votre compte ?" shareAccess: "Autoriser \"{name}\" à accéder à votre compte ?"
shareAccessAsk: "Voulez-vous vraiment autoriser cette application à accéder à votre compte?" shareAccessAsk: "Voulez-vous vraiment autoriser cette application à accéder à votre compte?"
@ -1944,7 +2101,16 @@ _timelines:
social: "Social" social: "Social"
global: "Global" global: "Global"
_play: _play:
new: "Créer un Play"
edit: "Modifier un Play"
created: "Play créé"
updated: "Play édité"
deleted: "Play supprimé"
pageSetting: "Configuration du Play"
editThisPage: "Modifier ce Play"
viewSource: "Afficher la source" viewSource: "Afficher la source"
my: "Mes Play"
liked: "Play aimés"
featured: "Populaire" featured: "Populaire"
title: "Titre" title: "Titre"
script: "Script" script: "Script"
@ -1953,9 +2119,6 @@ _pages:
newPage: "Créer une page" newPage: "Créer une page"
editPage: "Modifier une page" editPage: "Modifier une page"
readPage: "Affichage de la source en cours" readPage: "Affichage de la source en cours"
created: "La page a été créée !"
updated: "La page a été mise à jour !"
deleted: "La page a été supprimée"
pageSetting: "Paramètres de la Page" pageSetting: "Paramètres de la Page"
nameAlreadyExists: "L'URL de page spécifiée existe déjà" nameAlreadyExists: "L'URL de page spécifiée existe déjà"
invalidNameTitle: "L'URL de page spécifiée nest pas valide" invalidNameTitle: "L'URL de page spécifiée nest pas valide"
@ -2018,10 +2181,13 @@ _notification:
achievementEarned: "Accomplissement déverrouillé" achievementEarned: "Accomplissement déverrouillé"
testNotification: "Tester la notification" testNotification: "Tester la notification"
reactedBySomeUsers: "{n} utilisateur·rice·s ont réagi" reactedBySomeUsers: "{n} utilisateur·rice·s ont réagi"
likedBySomeUsers: "{n} utilisateurs ont aimé votre note"
renotedBySomeUsers: "{n} utilisateur·rice·s ont renoté" renotedBySomeUsers: "{n} utilisateur·rice·s ont renoté"
followedBySomeUsers: "{n} utilisateur·rice·s se sont abonné·e·s à vous" followedBySomeUsers: "{n} utilisateur·rice·s se sont abonné·e·s à vous"
login: "Quelqu'un s'est connecté"
_types: _types:
all: "Toutes" all: "Toutes"
note: "Nouvelles notes"
follow: "Nouvel·le abonné·e" follow: "Nouvel·le abonné·e"
mention: "Mentions" mention: "Mentions"
reply: "Réponses" reply: "Réponses"
@ -2071,11 +2237,14 @@ _drivecleaner:
orderByCreatedAtAsc: "Date d'ajout ascendante" orderByCreatedAtAsc: "Date d'ajout ascendante"
_webhookSettings: _webhookSettings:
name: "Nom" name: "Nom"
secret: "Secret"
trigger: "Activateur"
active: "Activé" active: "Activé"
_abuseReport: _abuseReport:
_notificationRecipient: _notificationRecipient:
_recipientType: _recipientType:
mail: "E-mail " mail: "E-mail "
keywords: "Mots clés "
_moderationLogTypes: _moderationLogTypes:
createRole: "Rôle créé" createRole: "Rôle créé"
deleteRole: "Rôle supprimé" deleteRole: "Rôle supprimé"
@ -2112,6 +2281,7 @@ _moderationLogTypes:
deleteAvatarDecoration: "Décoration d'avatar supprimée" deleteAvatarDecoration: "Décoration d'avatar supprimée"
unsetUserAvatar: "Supprimer l'avatar de l'utilisateur·rice" unsetUserAvatar: "Supprimer l'avatar de l'utilisateur·rice"
unsetUserBanner: "Supprimer la bannière de l'utilisateur·rice" unsetUserBanner: "Supprimer la bannière de l'utilisateur·rice"
deleteFlash: "Supprimer le Play"
_fileViewer: _fileViewer:
title: "Détails du fichier" title: "Détails du fichier"
type: "Type du fichier" type: "Type du fichier"
@ -2125,10 +2295,8 @@ _externalResourceInstaller:
checkVendorBeforeInstall: "Veuillez confirmer que le distributeur est fiable avant l'installation." checkVendorBeforeInstall: "Veuillez confirmer que le distributeur est fiable avant l'installation."
_plugin: _plugin:
title: "Voulez-vous installer cette extension ?" title: "Voulez-vous installer cette extension ?"
metaTitle: "Informations sur l'extension"
_theme: _theme:
title: "Voulez-vous installer ce thème ?" title: "Voulez-vous installer ce thème ?"
metaTitle: "Informations sur le thème"
_meta: _meta:
base: "Palette de couleurs de base" base: "Palette de couleurs de base"
_vendorInfo: _vendorInfo:
@ -2175,5 +2343,27 @@ _dataSaver:
title: "Mise en évidence du code" title: "Mise en évidence du code"
description: "Si la notation de mise en évidence du code est utilisée, par exemple dans la MFM, elle ne sera pas chargée tant qu'elle n'aura pas été tapée. La mise en évidence du code nécessite le chargement du fichier de définition de chaque langue à mettre en évidence, mais comme ces fichiers ne sont plus chargés automatiquement, on peut s'attendre à une réduction du trafic de données." description: "Si la notation de mise en évidence du code est utilisée, par exemple dans la MFM, elle ne sera pas chargée tant qu'elle n'aura pas été tapée. La mise en évidence du code nécessite le chargement du fichier de définition de chaque langue à mettre en évidence, mais comme ces fichiers ne sont plus chargés automatiquement, on peut s'attendre à une réduction du trafic de données."
_reversi: _reversi:
reversi: "Reversi"
blackIs: "{name} joue les noirs"
rules: "Règles"
waitingBoth: "Préparez-vous" waitingBoth: "Préparez-vous"
myTurn: "Cest votre tour"
turnOf: "C'est le tour de {name}"
pastTurnOf: "Tour de {name}"
surrender: "Se rendre"
surrendered: "Par abandon"
total: "Total" total: "Total"
playing: "En cours"
lookingForPlayer: "Recherche d'adversaire"
_mediaControls:
playbackRate: "Vitesse de lecture"
_embedCodeGen:
title: "Personnaliser le code d'intégration"
generateCode: "Générer le code d'intégration"
_remoteLookupErrors:
_noSuchObject:
title: "Non trouvé"
_search:
searchScopeAll: "Tous"
searchScopeLocal: "Local"
searchScopeUser: "Spécifier l'utilisateur·rice"

View file

@ -1,5 +1,5 @@
--- ---
_lang_: "Japán" _lang_: "Magyar"
monthAndDay: "{month}.{day}." monthAndDay: "{month}.{day}."
search: "Keresés" search: "Keresés"
notifications: "Értesítések" notifications: "Értesítések"

View file

@ -196,6 +196,7 @@ followConfirm: "Apakah kamu yakin ingin mengikuti {name}?"
proxyAccount: "Akun proksi" proxyAccount: "Akun proksi"
proxyAccountDescription: "Akun proksi merupakan sebuah akun yang bertindak sebagai pengikut instansi luar untuk pengguna dalam kondisi tertentu. Sebagai contoh, ketika pengguna menambahkan seorang pengguna instansi luar ke dalam daftar, aktivitas dari pengguna instansi luar tidak akan disampaikan ke instansi apabila tidak ada pengguna lokal yang mengikuti pengguna tersebut, dengan begitu akun proksilah yang akan mengikutinya." proxyAccountDescription: "Akun proksi merupakan sebuah akun yang bertindak sebagai pengikut instansi luar untuk pengguna dalam kondisi tertentu. Sebagai contoh, ketika pengguna menambahkan seorang pengguna instansi luar ke dalam daftar, aktivitas dari pengguna instansi luar tidak akan disampaikan ke instansi apabila tidak ada pengguna lokal yang mengikuti pengguna tersebut, dengan begitu akun proksilah yang akan mengikutinya."
host: "Host" host: "Host"
selectSelf: "Pilih diri sendiri"
selectUser: "Pilih pengguna" selectUser: "Pilih pengguna"
recipient: "Penerima" recipient: "Penerima"
annotation: "Keterangan konten" annotation: "Keterangan konten"
@ -232,6 +233,7 @@ blockedInstances: "Instansi terblokir"
blockedInstancesDescription: "Daftar nama host dari instansi yang diperlukan untuk diblokir. Instansi yang didaftarkan tidak akan dapat berkomunikasi dengan instansi ini." blockedInstancesDescription: "Daftar nama host dari instansi yang diperlukan untuk diblokir. Instansi yang didaftarkan tidak akan dapat berkomunikasi dengan instansi ini."
silencedInstances: "Instansi yang disenyapkan" silencedInstances: "Instansi yang disenyapkan"
silencedInstancesDescription: "Daftar nama host dari instansi yang ingin kamu senyapkan. Semua akun dari instansi yang terdaftar akan diperlakukan sebagai disenyapkan. Hal ini membuat akun hanya dapat membuat permintaan mengikuti, dan tidak dapat menyebutkan akun lokal apabila tidak mengikuti. Hal ini tidak akan mempengaruhi instansi yang diblokir." silencedInstancesDescription: "Daftar nama host dari instansi yang ingin kamu senyapkan. Semua akun dari instansi yang terdaftar akan diperlakukan sebagai disenyapkan. Hal ini membuat akun hanya dapat membuat permintaan mengikuti, dan tidak dapat menyebutkan akun lokal apabila tidak mengikuti. Hal ini tidak akan mempengaruhi instansi yang diblokir."
federationAllowedHosts: "Server yang membolehkan federasi"
muteAndBlock: "Bisukan / Blokir" muteAndBlock: "Bisukan / Blokir"
mutedUsers: "Pengguna yang dibisukan" mutedUsers: "Pengguna yang dibisukan"
blockedUsers: "Pengguna yang diblokir" blockedUsers: "Pengguna yang diblokir"
@ -278,7 +280,6 @@ deleteAreYouSure: "Apakah kamu yakin ingin menghapus \"{x}\"?"
resetAreYouSure: "Yakin mau atur ulang?" resetAreYouSure: "Yakin mau atur ulang?"
areYouSure: "Apakah kamu yakin?" areYouSure: "Apakah kamu yakin?"
saved: "Telah disimpan" saved: "Telah disimpan"
messaging: "Pesan"
upload: "Unggah" upload: "Unggah"
keepOriginalUploading: "Simpan gambar asli" keepOriginalUploading: "Simpan gambar asli"
keepOriginalUploadingDescription: "Simpan gambar yang diunggah sebagaimana gambar aslinya. Bila dimatikan, versi tampilan web akan dihasilkan pada saat diunggah." keepOriginalUploadingDescription: "Simpan gambar yang diunggah sebagaimana gambar aslinya. Bila dimatikan, versi tampilan web akan dihasilkan pada saat diunggah."
@ -291,7 +292,6 @@ uploadFromUrlMayTakeTime: "Membutuhkan beberapa waktu hingga pengunggahan selesa
explore: "Jelajahi" explore: "Jelajahi"
messageRead: "Telah dibaca" messageRead: "Telah dibaca"
noMoreHistory: "Tidak ada sejarah lagi" noMoreHistory: "Tidak ada sejarah lagi"
startMessaging: "Mulai mengirim pesan"
nUsersRead: "Dibaca oleh {n}" nUsersRead: "Dibaca oleh {n}"
agreeTo: "Saya setuju kepada {0}" agreeTo: "Saya setuju kepada {0}"
agree: "Setuju" agree: "Setuju"
@ -330,6 +330,7 @@ renameFolder: "Ubah nama folder"
deleteFolder: "Hapus folder" deleteFolder: "Hapus folder"
folder: "Folder" folder: "Folder"
addFile: "Tambahkan berkas" addFile: "Tambahkan berkas"
showFile: "Tampilkan berkas"
emptyDrive: "Drive kosong" emptyDrive: "Drive kosong"
emptyFolder: "Folder kosong" emptyFolder: "Folder kosong"
unableToDelete: "Tidak dapat menghapus" unableToDelete: "Tidak dapat menghapus"
@ -372,7 +373,6 @@ enableLocalTimeline: "Nyalakan lini masa lokal"
enableGlobalTimeline: "Nyalakan lini masa global" enableGlobalTimeline: "Nyalakan lini masa global"
disablingTimelinesInfo: "Admin dan Moderator akan selalu memiliki akses ke semua lini masa meskipun lini masa tersebut tidak diaktifkan." disablingTimelinesInfo: "Admin dan Moderator akan selalu memiliki akses ke semua lini masa meskipun lini masa tersebut tidak diaktifkan."
registration: "Pendaftaran" registration: "Pendaftaran"
enableRegistration: "Nyalakan pendaftaran pengguna baru"
invite: "Undang" invite: "Undang"
driveCapacityPerLocalAccount: "Kapasitas drive per pengguna lokal" driveCapacityPerLocalAccount: "Kapasitas drive per pengguna lokal"
driveCapacityPerRemoteAccount: "Kapasitas drive per pengguna remote" driveCapacityPerRemoteAccount: "Kapasitas drive per pengguna remote"
@ -479,8 +479,6 @@ noteOf: "Catatan milik {user}"
quoteAttached: "Dikutip" quoteAttached: "Dikutip"
quoteQuestion: "Apakah kamu ingin menambahkan kutipan?" quoteQuestion: "Apakah kamu ingin menambahkan kutipan?"
attachAsFileQuestion: "Teks dalam papan klip terlalu panjang. Apakah kamu ingin melampirkannya sebagai berkas teks?" attachAsFileQuestion: "Teks dalam papan klip terlalu panjang. Apakah kamu ingin melampirkannya sebagai berkas teks?"
noMessagesYet: "Tidak ada pesan"
newMessageExists: "Kamu mendapatkan pesan baru"
onlyOneFileCanBeAttached: "Kamu hanya dapat melampirkan satu berkas ke dalam pesan" onlyOneFileCanBeAttached: "Kamu hanya dapat melampirkan satu berkas ke dalam pesan"
signinRequired: "Silahkan login" signinRequired: "Silahkan login"
invitations: "Undangan" invitations: "Undangan"
@ -504,6 +502,8 @@ uiLanguage: "Bahasa antarmuka pengguna"
aboutX: "Tentang {x}" aboutX: "Tentang {x}"
emojiStyle: "Gaya emoji" emojiStyle: "Gaya emoji"
native: "Native" native: "Native"
menuStyle: "Gaya menu"
style: "Gaya"
showNoteActionsOnlyHover: "Hanya tampilkan aksi catatan saat ditunjuk" showNoteActionsOnlyHover: "Hanya tampilkan aksi catatan saat ditunjuk"
showReactionsCount: "Lihat jumlah reaksi dalam catatan" showReactionsCount: "Lihat jumlah reaksi dalam catatan"
noHistory: "Tidak ada riwayat" noHistory: "Tidak ada riwayat"
@ -927,6 +927,9 @@ oneHour: "1 Jam"
oneDay: "1 Hari" oneDay: "1 Hari"
oneWeek: "1 Bulan" oneWeek: "1 Bulan"
oneMonth: "satu bulan" oneMonth: "satu bulan"
threeMonths: "3 bulan"
oneYear: "1 tahun"
threeDays: "3 hari"
reflectMayTakeTime: "Mungkin perlu beberapa saat untuk dicerminkan." reflectMayTakeTime: "Mungkin perlu beberapa saat untuk dicerminkan."
failedToFetchAccountInformation: "Gagal untuk mendapatkan informasi akun" failedToFetchAccountInformation: "Gagal untuk mendapatkan informasi akun"
rateLimitExceeded: "Batas sudah terlampaui" rateLimitExceeded: "Batas sudah terlampaui"
@ -1101,6 +1104,7 @@ preservedUsernames: "Nama pengguna tercadangkan"
preservedUsernamesDescription: "Daftar nama pengguna yang dicadangkan dipisah dengan baris baru. Nama pengguna berikut akan tidak dapat dipakai pada pembuatan akun normal, namun dapat digunakan oleh admin untuk membuat akun baru. Akun yang sudah ada dengan menggunakan nama pengguna ini tidak akan terpengaruh." preservedUsernamesDescription: "Daftar nama pengguna yang dicadangkan dipisah dengan baris baru. Nama pengguna berikut akan tidak dapat dipakai pada pembuatan akun normal, namun dapat digunakan oleh admin untuk membuat akun baru. Akun yang sudah ada dengan menggunakan nama pengguna ini tidak akan terpengaruh."
createNoteFromTheFile: "Buat catatan dari berkas ini" createNoteFromTheFile: "Buat catatan dari berkas ini"
archive: "Arsipkan" archive: "Arsipkan"
archived: "Diarsipkan"
channelArchiveConfirmTitle: "Yakin untuk mengarsipkan {name}?" channelArchiveConfirmTitle: "Yakin untuk mengarsipkan {name}?"
channelArchiveConfirmDescription: "Kanal yang diarsipkan tidak akan muncul pada daftar kanal atau hasil pencarian. Postingan baru juga tidak dapat ditambahkan lagi." channelArchiveConfirmDescription: "Kanal yang diarsipkan tidak akan muncul pada daftar kanal atau hasil pencarian. Postingan baru juga tidak dapat ditambahkan lagi."
thisChannelArchived: "Kanal ini telah diarsipkan." thisChannelArchived: "Kanal ini telah diarsipkan."
@ -1111,6 +1115,7 @@ preventAiLearning: "Tolak penggunaan Pembelajaran Mesin (AI Generatif)"
preventAiLearningDescription: "Minta perayap web untuk tidak menggunakan materi teks atau gambar yang telah diposting ke dalam set data Pembelajaran Mesin (Prediktif / Generatif). Hal ini dicapai dengan menambahkan flag HTML-Response \"noai\" ke masing-masing konten. Pencegahan penuh mungkin tidak dapat dicapai dengan flag ini, karena juga dapat diabaikan begitu saja." preventAiLearningDescription: "Minta perayap web untuk tidak menggunakan materi teks atau gambar yang telah diposting ke dalam set data Pembelajaran Mesin (Prediktif / Generatif). Hal ini dicapai dengan menambahkan flag HTML-Response \"noai\" ke masing-masing konten. Pencegahan penuh mungkin tidak dapat dicapai dengan flag ini, karena juga dapat diabaikan begitu saja."
options: "Opsi peran" options: "Opsi peran"
specifyUser: "Pengguna spesifik" specifyUser: "Pengguna spesifik"
openTagPageConfirm: "Apakah ingin membuka laman tagar?"
failedToPreviewUrl: "Tidak dapat dipratinjau" failedToPreviewUrl: "Tidak dapat dipratinjau"
update: "Perbarui" update: "Perbarui"
rolesThatCanBeUsedThisEmojiAsReaction: "Peran yang dapat menggunakan emoji ini sebagai reaksi" rolesThatCanBeUsedThisEmojiAsReaction: "Peran yang dapat menggunakan emoji ini sebagai reaksi"
@ -1243,6 +1248,28 @@ noDescription: "Tidak ada deskripsi"
alwaysConfirmFollow: "Selalu konfirmasi ketika mengikuti" alwaysConfirmFollow: "Selalu konfirmasi ketika mengikuti"
inquiry: "Hubungi kami" inquiry: "Hubungi kami"
tryAgain: "Silahkan coba lagi." tryAgain: "Silahkan coba lagi."
createdLists: "Senarai yang dibuat"
createdAntennas: "Antena yang dibuat"
fromX: "Dari {x}"
noteOfThisUser: "Catatan oleh pengguna ini"
clipNoteLimitExceeded: "Klip ini tak bisa ditambahi lagi catatan."
performance: "Kinerja"
modified: "Diubah"
thereAreNChanges: "Ada {n} perubahan"
prohibitedWordsForNameOfUser: "Kata yang dilarang untuk nama pengguna"
postForm: "Buat catatan"
information: "Informasi"
_chat:
invitations: "Undang"
noHistory: "Tidak ada riwayat"
members: "Anggota"
home: "Beranda"
send: "Kirim"
_settings:
webhook: "Webhook"
_abuseUserReport:
accept: "Setuju"
reject: "Tolak"
_delivery: _delivery:
status: "Status pengiriman" status: "Status pengiriman"
stop: "Ditangguhkan" stop: "Ditangguhkan"
@ -1707,6 +1734,8 @@ _role:
canSearchNotes: "Penggunaan pencarian catatan" canSearchNotes: "Penggunaan pencarian catatan"
canUseTranslator: "Penggunaan penerjemah" canUseTranslator: "Penggunaan penerjemah"
avatarDecorationLimit: "Jumlah maksimum dekorasi avatar yang dapat diterapkan" avatarDecorationLimit: "Jumlah maksimum dekorasi avatar yang dapat diterapkan"
canImportAntennas: "Izinkan mengimpor antena"
canImportUserLists: "Izinkan mengimpor senarai"
_condition: _condition:
roleAssignedTo: "Ditugaskan ke peran manual" roleAssignedTo: "Ditugaskan ke peran manual"
isLocal: "Pengguna lokal" isLocal: "Pengguna lokal"
@ -1902,7 +1931,6 @@ _theme:
header: "Header" header: "Header"
navBg: "Latar belakang bilah samping" navBg: "Latar belakang bilah samping"
navFg: "Teks bilah samping" navFg: "Teks bilah samping"
navHoverFg: "Teks bilah samping (Mengambang)"
navActive: "Teks bilah samping (Aktif)" navActive: "Teks bilah samping (Aktif)"
navIndicator: "Indikator bilah samping" navIndicator: "Indikator bilah samping"
link: "Tautan" link: "Tautan"
@ -1925,11 +1953,8 @@ _theme:
buttonHoverBg: "Latar belakang tombol (Mengambang)" buttonHoverBg: "Latar belakang tombol (Mengambang)"
inputBorder: "Batas bidang masukan" inputBorder: "Batas bidang masukan"
driveFolderBg: "Latar belakang folder drive" driveFolderBg: "Latar belakang folder drive"
wallpaperOverlay: "Lapisan wallpaper"
badge: "Lencana" badge: "Lencana"
messageBg: "Latar belakang obrolan" messageBg: "Latar belakang obrolan"
accentDarken: "Aksen (Gelap)"
accentLighten: "Aksen (Terang)"
fgHighlighted: "Teks yang disorot" fgHighlighted: "Teks yang disorot"
_sfx: _sfx:
note: "Catatan" note: "Catatan"
@ -1943,6 +1968,7 @@ _soundSettings:
driveFileTypeWarnDescription: "Pilih berkas audio" driveFileTypeWarnDescription: "Pilih berkas audio"
driveFileDurationWarn: "Audio ini terlalu panjang" driveFileDurationWarn: "Audio ini terlalu panjang"
driveFileDurationWarnDescription: "Audio panjang dapat mengganggu penggunaan Misskey. Masih ingin melanjutkan?" driveFileDurationWarnDescription: "Audio panjang dapat mengganggu penggunaan Misskey. Masih ingin melanjutkan?"
driveFileError: "Tak bisa memuat audio. Mohon ubah pengaturan"
_ago: _ago:
future: "Masa depan" future: "Masa depan"
justNow: "Baru saja" justNow: "Baru saja"
@ -2081,6 +2107,7 @@ _permissions:
"read:clip-favorite": "Lihat klip yang difavoritkan" "read:clip-favorite": "Lihat klip yang difavoritkan"
"read:federation": "Mendapatkan data federasi" "read:federation": "Mendapatkan data federasi"
"write:report-abuse": "Melaporkan pelanggaran" "write:report-abuse": "Melaporkan pelanggaran"
"write:chat": "Buat atau hapus obrolan"
_auth: _auth:
shareAccessTitle: "Mendapatkan ijin akses aplikasi" shareAccessTitle: "Mendapatkan ijin akses aplikasi"
shareAccess: "Apakah kamu ingin mengijinkan \"{name}\" untuk mengakses akun ini?" shareAccess: "Apakah kamu ingin mengijinkan \"{name}\" untuk mengakses akun ini?"
@ -2261,9 +2288,6 @@ _pages:
newPage: "Buat halaman baru" newPage: "Buat halaman baru"
editPage: "Sunting halaman" editPage: "Sunting halaman"
readPage: "Lihat sumber kode aktif" readPage: "Lihat sumber kode aktif"
created: "Halaman berhasil dibuat"
updated: "Halaman berhasil diperbaharui!"
deleted: "Halaman telah dihapus"
pageSetting: "Pengaturan Halaman" pageSetting: "Pengaturan Halaman"
nameAlreadyExists: "URL Halaman yang ditentukan sudah ada" nameAlreadyExists: "URL Halaman yang ditentukan sudah ada"
invalidNameTitle: "URL Halaman yang ditentukan tidak valid" invalidNameTitle: "URL Halaman yang ditentukan tidak valid"
@ -2415,6 +2439,8 @@ _abuseReport:
_notificationRecipient: _notificationRecipient:
_recipientType: _recipientType:
mail: "Surel" mail: "Surel"
webhook: "Webhook"
keywords: "Kata kunci"
_moderationLogTypes: _moderationLogTypes:
createRole: "Peran telah dibuat" createRole: "Peran telah dibuat"
deleteRole: "Peran telah dihapus" deleteRole: "Peran telah dihapus"
@ -2452,6 +2478,7 @@ _moderationLogTypes:
deleteAvatarDecoration: "Hapus dekorasi avatar" deleteAvatarDecoration: "Hapus dekorasi avatar"
unsetUserAvatar: "Hapus avatar pengguna" unsetUserAvatar: "Hapus avatar pengguna"
unsetUserBanner: "Hapus banner pengguna" unsetUserBanner: "Hapus banner pengguna"
deleteAccount: "Akun dihapus"
_fileViewer: _fileViewer:
title: "Rincian berkas" title: "Rincian berkas"
type: "Jenis berkas" type: "Jenis berkas"
@ -2465,10 +2492,8 @@ _externalResourceInstaller:
checkVendorBeforeInstall: "Pastikan sumber dari sumber daya ini terpercaya sebelum melakukan pemasangan." checkVendorBeforeInstall: "Pastikan sumber dari sumber daya ini terpercaya sebelum melakukan pemasangan."
_plugin: _plugin:
title: "Apakah kamu ingin memasang plugin ini?" title: "Apakah kamu ingin memasang plugin ini?"
metaTitle: "Informasi plugin"
_theme: _theme:
title: "Apakah kamu ingin memasang tema ini?" title: "Apakah kamu ingin memasang tema ini?"
metaTitle: "Informasi tema"
_meta: _meta:
base: "Skema warna dasar" base: "Skema warna dasar"
_vendorInfo: _vendorInfo:
@ -2583,3 +2608,10 @@ _mediaControls:
pip: "Gambar dalam Gambar" pip: "Gambar dalam Gambar"
playbackRate: "Kecepatan Pemutaran" playbackRate: "Kecepatan Pemutaran"
loop: "Ulangi Pemutaran" loop: "Ulangi Pemutaran"
_remoteLookupErrors:
_noSuchObject:
title: "Tidak dapat ditemukan"
_search:
searchScopeAll: "Semua"
searchScopeLocal: "Lokal"
searchScopeUser: "Pengguna spesifik"

2117
locales/index.d.ts vendored

File diff suppressed because it is too large Load diff

View file

@ -15,6 +15,7 @@ export const merge = (...args) => args.reduce((a, c) => ({
const languages = [ const languages = [
'ar-SA', 'ar-SA',
'ca-ES',
'cs-CZ', 'cs-CZ',
'da-DK', 'da-DK',
'de-DE', 'de-DE',

File diff suppressed because it is too large Load diff

View file

@ -5,6 +5,7 @@ introMisskey: "ようこそMisskeyは、オープンソースの分散型マ
poweredByMisskeyDescription: "{name}は、オープンソースのプラットフォーム<b>Misskey</b>のサーバーのひとつです。" poweredByMisskeyDescription: "{name}は、オープンソースのプラットフォーム<b>Misskey</b>のサーバーのひとつです。"
monthAndDay: "{month}月 {day}日" monthAndDay: "{month}月 {day}日"
search: "検索" search: "検索"
reset: "リセット"
notifications: "通知" notifications: "通知"
username: "ユーザー名" username: "ユーザー名"
password: "パスワード" password: "パスワード"
@ -48,6 +49,7 @@ pin: "ピン留め"
unpin: "ピン留め解除" unpin: "ピン留め解除"
copyContent: "内容をコピー" copyContent: "内容をコピー"
copyLink: "リンクをコピー" copyLink: "リンクをコピー"
copyRemoteLink: "リモートのリンクをコピー"
copyLinkRenote: "リノートのリンクをコピー" copyLinkRenote: "リノートのリンクをコピー"
delete: "削除" delete: "削除"
deleteAndEdit: "削除して編集" deleteAndEdit: "削除して編集"
@ -287,7 +289,6 @@ deleteAreYouSure: "「{x}」を削除しますか?"
resetAreYouSure: "リセットしますか?" resetAreYouSure: "リセットしますか?"
areYouSure: "よろしいですか?" areYouSure: "よろしいですか?"
saved: "保存しました" saved: "保存しました"
messaging: "チャット"
upload: "アップロード" upload: "アップロード"
keepOriginalUploading: "オリジナル画像を保持" keepOriginalUploading: "オリジナル画像を保持"
keepOriginalUploadingDescription: "画像をアップロードする時にオリジナル版を保持します。オフにするとアップロード時にブラウザでWeb公開用画像を生成します。" keepOriginalUploadingDescription: "画像をアップロードする時にオリジナル版を保持します。オフにするとアップロード時にブラウザでWeb公開用画像を生成します。"
@ -300,7 +301,7 @@ uploadFromUrlMayTakeTime: "アップロードが完了するまで時間がか
explore: "みつける" explore: "みつける"
messageRead: "既読" messageRead: "既読"
noMoreHistory: "これより過去の履歴はありません" noMoreHistory: "これより過去の履歴はありません"
startMessaging: "チャットを開始" startChat: "チャットを始める"
nUsersRead: "{n}人が読みました" nUsersRead: "{n}人が読みました"
agreeTo: "{0}に同意" agreeTo: "{0}に同意"
agree: "同意する" agree: "同意する"
@ -382,7 +383,6 @@ enableLocalTimeline: "ローカルタイムラインを有効にする"
enableGlobalTimeline: "グローバルタイムラインを有効にする" enableGlobalTimeline: "グローバルタイムラインを有効にする"
disablingTimelinesInfo: "これらのタイムラインを無効化しても、利便性のため管理者およびモデレーターは引き続き利用することができます。" disablingTimelinesInfo: "これらのタイムラインを無効化しても、利便性のため管理者およびモデレーターは引き続き利用することができます。"
registration: "登録" registration: "登録"
enableRegistration: "誰でも新規登録できるようにする"
invite: "招待" invite: "招待"
driveCapacityPerLocalAccount: "ローカルユーザーひとりあたりのドライブ容量" driveCapacityPerLocalAccount: "ローカルユーザーひとりあたりのドライブ容量"
driveCapacityPerRemoteAccount: "リモートユーザーひとりあたりのドライブ容量" driveCapacityPerRemoteAccount: "リモートユーザーひとりあたりのドライブ容量"
@ -424,6 +424,7 @@ antennaExcludeBots: "Botアカウントを除外"
antennaKeywordsDescription: "スペースで区切るとAND指定になり、改行で区切るとOR指定になります" antennaKeywordsDescription: "スペースで区切るとAND指定になり、改行で区切るとOR指定になります"
notifyAntenna: "新しいノートを通知する" notifyAntenna: "新しいノートを通知する"
withFileAntenna: "ファイルが添付されたノートのみ" withFileAntenna: "ファイルが添付されたノートのみ"
excludeNotesInSensitiveChannel: "センシティブなチャンネルのノートを除外"
enableServiceworker: "ブラウザへのプッシュ通知を有効にする" enableServiceworker: "ブラウザへのプッシュ通知を有効にする"
antennaUsersDescription: "ユーザー名を改行で区切って指定します" antennaUsersDescription: "ユーザー名を改行で区切って指定します"
caseSensitive: "大文字小文字を区別する" caseSensitive: "大文字小文字を区別する"
@ -490,8 +491,6 @@ noteOf: "{user}のノート"
quoteAttached: "引用付き" quoteAttached: "引用付き"
quoteQuestion: "引用として添付しますか?" quoteQuestion: "引用として添付しますか?"
attachAsFileQuestion: "クリップボードのテキストが長いです。テキストファイルとして添付しますか?" attachAsFileQuestion: "クリップボードのテキストが長いです。テキストファイルとして添付しますか?"
noMessagesYet: "まだチャットはありません"
newMessageExists: "新しいメッセージがあります"
onlyOneFileCanBeAttached: "メッセージに添付できるファイルはひとつです" onlyOneFileCanBeAttached: "メッセージに添付できるファイルはひとつです"
signinRequired: "続行する前に、登録またはログインが必要です" signinRequired: "続行する前に、登録またはログインが必要です"
signinOrContinueOnRemote: "続行するには、お使いのサーバーに移動するか、このサーバーに登録・ログインする必要があります" signinOrContinueOnRemote: "続行するには、お使いのサーバーに移動するか、このサーバーに登録・ログインする必要があります"
@ -587,6 +586,7 @@ masterVolume: "マスター音量"
notUseSound: "サウンドを出力しない" notUseSound: "サウンドを出力しない"
useSoundOnlyWhenActive: "Misskeyがアクティブな時のみサウンドを出力する" useSoundOnlyWhenActive: "Misskeyがアクティブな時のみサウンドを出力する"
details: "詳細" details: "詳細"
renoteDetails: "リノートの詳細"
chooseEmoji: "絵文字を選択" chooseEmoji: "絵文字を選択"
unableToProcess: "操作を完了できません" unableToProcess: "操作を完了できません"
recentUsed: "最近使用" recentUsed: "最近使用"
@ -684,14 +684,19 @@ smtpSecure: "SMTP 接続に暗黙的なSSL/TLSを使用する"
smtpSecureInfo: "STARTTLS使用時はオフにします。" smtpSecureInfo: "STARTTLS使用時はオフにします。"
testEmail: "配信テスト" testEmail: "配信テスト"
wordMute: "ワードミュート" wordMute: "ワードミュート"
wordMuteDescription: "指定した語句を含むノートを最小化します。最小化されたノートをクリックすることで表示することができます。"
hardWordMute: "ハードワードミュート" hardWordMute: "ハードワードミュート"
showMutedWord: "ミュートされたワードを表示"
hardWordMuteDescription: "指定した語句を含むノートを隠します。ワードミュートとは異なり、ノートは完全に表示されなくなります。"
regexpError: "正規表現エラー" regexpError: "正規表現エラー"
regexpErrorDescription: "{tab}ワードミュートの{line}行目の正規表現にエラーが発生しました:" regexpErrorDescription: "{tab}ワードミュートの{line}行目の正規表現にエラーが発生しました:"
instanceMute: "サーバーミュート" instanceMute: "サーバーミュート"
userSaysSomething: "{name}が何かを言いました" userSaysSomething: "{name}が何かを言いました"
userSaysSomethingAbout: "{name}が「{word}」について何かを言いました"
makeActive: "アクティブにする" makeActive: "アクティブにする"
display: "表示" display: "表示"
copy: "コピー" copy: "コピー"
copiedToClipboard: "クリップボードにコピーされました"
metrics: "メトリクス" metrics: "メトリクス"
overview: "概要" overview: "概要"
logs: "ログ" logs: "ログ"
@ -947,6 +952,9 @@ oneHour: "1時間"
oneDay: "1日" oneDay: "1日"
oneWeek: "1週間" oneWeek: "1週間"
oneMonth: "1ヶ月" oneMonth: "1ヶ月"
threeMonths: "3ヶ月"
oneYear: "1年"
threeDays: "3日"
reflectMayTakeTime: "反映されるまで時間がかかる場合があります。" reflectMayTakeTime: "反映されるまで時間がかかる場合があります。"
failedToFetchAccountInformation: "アカウント情報の取得に失敗しました" failedToFetchAccountInformation: "アカウント情報の取得に失敗しました"
rateLimitExceeded: "レート制限を超えました" rateLimitExceeded: "レート制限を超えました"
@ -971,6 +979,7 @@ document: "ドキュメント"
numberOfPageCache: "ページキャッシュ数" numberOfPageCache: "ページキャッシュ数"
numberOfPageCacheDescription: "多くすると利便性が向上しますが、負荷とメモリ使用量が増えます。" numberOfPageCacheDescription: "多くすると利便性が向上しますが、負荷とメモリ使用量が増えます。"
logoutConfirm: "ログアウトしますか?" logoutConfirm: "ログアウトしますか?"
logoutWillClearClientData: "ログアウトするとクライアントの設定情報がブラウザから消去されます。再ログイン時に設定情報を復元できるようにするためには、設定の自動バックアップを有効にしてください。"
lastActiveDate: "最終利用日時" lastActiveDate: "最終利用日時"
statusbar: "ステータスバー" statusbar: "ステータスバー"
pleaseSelect: "選択してください" pleaseSelect: "選択してください"
@ -1035,7 +1044,7 @@ youCannotCreateAnymore: "これ以上作成することはできません。"
cannotPerformTemporary: "一時的に利用できません" cannotPerformTemporary: "一時的に利用できません"
cannotPerformTemporaryDescription: "操作回数が制限を超過するため一時的に利用できません。しばらく時間を置いてから再度お試しください。" cannotPerformTemporaryDescription: "操作回数が制限を超過するため一時的に利用できません。しばらく時間を置いてから再度お試しください。"
invalidParamError: "パラメータエラー" invalidParamError: "パラメータエラー"
invalidParamErrorDescription: "リクエストパラメータに問題があります。通常これはバグですが、入力した文字数が多すぎる等の可能性もあります。" invalidParamErrorDescription: "リクエストパラメータに問題があります。通常これはバグですが、入力した文字数が多すぎる・許可されていない文字を入力している等の可能性もあります。"
permissionDeniedError: "操作が拒否されました" permissionDeniedError: "操作が拒否されました"
permissionDeniedErrorDescription: "このアカウントにはこの操作を行うための権限がありません。" permissionDeniedErrorDescription: "このアカウントにはこの操作を行うための権限がありません。"
preset: "プリセット" preset: "プリセット"
@ -1229,7 +1238,7 @@ releaseToRefresh: "離してリロード"
refreshing: "リロード中" refreshing: "リロード中"
pullDownToRefresh: "引っ張ってリロード" pullDownToRefresh: "引っ張ってリロード"
disableStreamingTimeline: "タイムラインのリアルタイム更新を無効にする" disableStreamingTimeline: "タイムラインのリアルタイム更新を無効にする"
useGroupedNotifications: "通知をグルーピングして表示する" useGroupedNotifications: "通知をグルーピング"
signupPendingError: "メールアドレスの確認中に問題が発生しました。リンクの有効期限が切れている可能性があります。" signupPendingError: "メールアドレスの確認中に問題が発生しました。リンクの有効期限が切れている可能性があります。"
cwNotationRequired: "「内容を隠す」がオンの場合は注釈の記述が必要です。" cwNotationRequired: "「内容を隠す」がオンの場合は注釈の記述が必要です。"
doReaction: "リアクションする" doReaction: "リアクションする"
@ -1293,6 +1302,163 @@ prohibitedWordsForNameOfUser: "禁止ワード(ユーザーの名前)"
prohibitedWordsForNameOfUserDescription: "このリストに含まれる文字列がユーザーの名前に含まれる場合、ユーザーの名前の変更を拒否します。モデレーター権限を持つユーザーはこの制限の影響を受けません。" prohibitedWordsForNameOfUserDescription: "このリストに含まれる文字列がユーザーの名前に含まれる場合、ユーザーの名前の変更を拒否します。モデレーター権限を持つユーザーはこの制限の影響を受けません。"
yourNameContainsProhibitedWords: "変更しようとした名前に禁止された文字列が含まれています" yourNameContainsProhibitedWords: "変更しようとした名前に禁止された文字列が含まれています"
yourNameContainsProhibitedWordsDescription: "名前に禁止されている文字列が含まれています。この名前を使用したい場合は、サーバー管理者にお問い合わせください。" yourNameContainsProhibitedWordsDescription: "名前に禁止されている文字列が含まれています。この名前を使用したい場合は、サーバー管理者にお問い合わせください。"
thisContentsAreMarkedAsSigninRequiredByAuthor: "投稿者により、表示にはログインが必要と設定されています"
lockdown: "ロックダウン"
pleaseSelectAccount: "アカウントを選択してください"
availableRoles: "利用可能なロール"
acknowledgeNotesAndEnable: "注意事項を理解した上でオンにします。"
federationSpecified: "このサーバーはホワイトリスト連合で運用されています。管理者が指定したサーバー以外とやり取りすることはできません。"
federationDisabled: "このサーバーは連合が無効化されています。他のサーバーのユーザーとやり取りすることはできません。"
confirmOnReact: "リアクションする際に確認する"
reactAreYouSure: "\" {emoji} \" をリアクションしますか?"
markAsSensitiveConfirm: "このメディアをセンシティブとして設定しますか?"
unmarkAsSensitiveConfirm: "このメディアのセンシティブ指定を解除しますか?"
preferences: "環境設定"
accessibility: "アクセシビリティ"
preferencesProfile: "設定のプロファイル"
copyPreferenceId: "設定IDをコピー"
resetToDefaultValue: "初期値に戻す"
overrideByAccount: "アカウントで上書き"
untitled: "無題"
noName: "名前はありません"
skip: "スキップ"
restore: "復元"
syncBetweenDevices: "デバイス間で同期"
preferenceSyncConflictTitle: "サーバーに設定値が存在します"
preferenceSyncConflictText: "同期が有効にされた設定項目は設定値をサーバーに保存しますが、この設定項目のサーバーに保存された設定値が見つかりました。どちらの設定値で上書きしますか?"
preferenceSyncConflictChoiceServer: "サーバーの設定値"
preferenceSyncConflictChoiceDevice: "デバイスの設定値"
preferenceSyncConflictChoiceCancel: "同期の有効化をキャンセル"
paste: "ペースト"
emojiPalette: "絵文字パレット"
postForm: "投稿フォーム"
textCount: "文字数"
information: "情報"
chat: "チャット"
migrateOldSettings: "旧設定情報を移行"
migrateOldSettings_description: "通常これは自動で行われていますが、何らかの理由により上手く移行されなかった場合は手動で移行処理をトリガーできます。現在の設定情報は上書きされます。"
compress: "圧縮"
right: "右"
bottom: "下"
top: "上"
embed: "埋め込み"
settingsMigrating: "設定を移行しています。しばらくお待ちください... (後ほど、設定→その他→旧設定情報を移行 で手動で移行することもできます)"
readonly: "読み取り専用"
goToDeck: "デッキへ戻る"
federationJobs: "連合ジョブ"
driveAboutTip: "ドライブでは、過去にアップロードしたファイルの一覧が表示されます。<br>\nートに添付する際に再利用したり、あとで投稿するファイルを予めアップロードしておくこともできます。<br>\n<b>ファイルを削除すると、今までそのファイルを使用した全ての場所(ノート、ページ、アバター、バナー等)からも見えなくなるので注意してください。</b><br>\nフォルダを作って整理することもできます。"
_chat:
noMessagesYet: "まだメッセージはありません"
newMessage: "新しいメッセージ"
individualChat: "個人チャット"
individualChat_description: "特定ユーザーとの一対一のチャットができます。"
roomChat: "ルームチャット"
roomChat_description: "複数人でのチャットができます。\nまた、個人チャットを許可していないユーザーとでも、相手が受け入れればチャットができます。"
createRoom: "ルームを作成"
inviteUserToChat: "ユーザーを招待してチャットを始めましょう"
yourRooms: "作成したルーム"
joiningRooms: "参加中のルーム"
invitations: "招待"
noInvitations: "招待はありません"
history: "履歴"
noHistory: "履歴はありません"
noRooms: "ルームはありません"
inviteUser: "ユーザーを招待"
sentInvitations: "送信した招待"
join: "参加"
ignore: "無視"
leave: "ルームから退出"
members: "メンバー"
searchMessages: "メッセージを検索"
home: "ホーム"
send: "送信"
newline: "改行"
muteThisRoom: "このルームをミュート"
deleteRoom: "ルームを削除"
chatNotAvailableForThisAccountOrServer: "このサーバー、またはこのアカウントでチャットは有効化されていません。"
chatIsReadOnlyForThisAccountOrServer: "このサーバー、またはこのアカウントでチャットは読み取り専用となっています。新たに書き込んだり、チャットルームを作成・参加したりすることはできません。"
chatNotAvailableInOtherAccount: "相手のアカウントでチャット機能が使えない状態になっています。"
cannotChatWithTheUser: "このユーザーとのチャットを開始できません"
cannotChatWithTheUser_description: "チャットが使えない状態になっているか、相手がチャットを開放していません。"
chatWithThisUser: "チャットする"
thisUserAllowsChatOnlyFromFollowers: "このユーザーはフォロワーからのみチャットを受け付けています。"
thisUserAllowsChatOnlyFromFollowing: "このユーザーは、このユーザーがフォローしているユーザーからのみチャットを受け付けています。"
thisUserAllowsChatOnlyFromMutualFollowing: "このユーザーは相互フォローのユーザーからのみチャットを受け付けています。"
thisUserNotAllowedChatAnyone: "このユーザーは誰からもチャットを受け付けていません。"
chatAllowedUsers: "チャットを許可する相手"
chatAllowedUsers_note: "自分からチャットメッセージを送った相手とはこの設定に関わらずチャットが可能です。"
_chatAllowedUsers:
everyone: "誰でも"
followers: "自分のフォロワーのみ"
following: "自分がフォローしているユーザーのみ"
mutual: "相互フォローのユーザーのみ"
none: "誰も許可しない"
_emojiPalette:
palettes: "パレット"
enableSyncBetweenDevicesForPalettes: "パレットのデバイス間同期を有効にする"
paletteForMain: "メインで使用するパレット"
paletteForReaction: "リアクションで使用するパレット"
_settings:
driveBanner: "ドライブの管理と設定、使用量の確認、ファイルをアップロードする際の設定を行えます。"
pluginBanner: "プラグインを利用するとクライアントの機能を拡張することができます。プラグインのインストール、個別の設定と管理が行えます。"
notificationsBanner: "サーバーからの受信する通知の種類と範囲や、プッシュ通知の設定が行えます。"
api: "API"
webhook: "Webhook"
serviceConnection: "サービス連携"
serviceConnectionBanner: "外部のアプリ・サービスと連携するためのアクセストークンやWebhookの管理と設定が行えます。"
accountData: "アカウントのデータ"
accountDataBanner: "アカウントデータのアーカイブをエクスポート/インポートして管理できます。"
muteAndBlockBanner: "非表示にするコンテンツの設定や、特定のユーザーからのアクションを制限する設定と管理を行えます。"
accessibilityBanner: "クライアントの視覚や動作に関するパーソナライズを行い、より最適に使用できるように設定できます。"
privacyBanner: "コンテンツの公開範囲、見つけやすさ、フォローの承認制などアカウントのプライバシーに関する設定を行えます。"
securityBanner: "パスワード、ログイン方法、認証アプリ、パスキーなどアカウントのセキュリティに関する設定を行えます。"
preferencesBanner: "好みに応じた、クライアントの全体的な動作の設定が行えます。"
appearanceBanner: "好みに応じた、クライアントの見た目・表示方法に関する設定が行えます。"
soundsBanner: "クライアントで再生するサウンドの設定が行えます。"
timelineAndNote: "タイムラインとノート"
makeEveryTextElementsSelectable: "全てのテキスト要素を選択可能にする"
makeEveryTextElementsSelectable_description: "有効にすると、一部のシチュエーションでのユーザビリティが低下する場合があります。"
useStickyIcons: "アイコンをスクロールに追従させる"
showNavbarSubButtons: "ナビゲーションバーに副ボタンを表示"
ifOn: "オンのとき"
ifOff: "オフのとき"
enableSyncThemesBetweenDevices: "デバイス間でインストールしたテーマを同期"
_chat:
showSenderName: "送信者の名前を表示"
sendOnEnter: "Enterで送信"
_preferencesProfile:
profileName: "プロファイル名"
profileNameDescription: "このデバイスを識別する名前を設定してください。"
profileNameDescription2: "例: 「メインPC」、「スマホ」など"
_preferencesBackup:
autoBackup: "自動バックアップ"
restoreFromBackup: "バックアップから復元"
noBackupsFoundTitle: "バックアップが見つかりませんでした"
noBackupsFoundDescription: "自動で作成されたバックアップは見つかりませんでしたが、バックアップファイルを手動で保存している場合、それをインポートして復元することはできます。"
selectBackupToRestore: "復元するバックアップを選択してください"
youNeedToNameYourProfileToEnableAutoBackup: "自動バックアップを有効にするにはプロファイル名の設定が必要です。"
autoPreferencesBackupIsNotEnabledForThisDevice: "このデバイスで設定の自動バックアップは有効になっていません。"
backupFound: "設定のバックアップが見つかりました"
_accountSettings:
requireSigninToViewContents: "コンテンツの表示にログインを必須にする"
requireSigninToViewContentsDescription1: "あなたが作成した全てのノートなどのコンテンツを表示するのにログインを必須にします。クローラーに情報が収集されるのを防ぐ効果が期待できます。"
requireSigninToViewContentsDescription2: "URLプレビュー(OGP)、Webページへの埋め込み、ートの引用に対応していないサーバーからの表示も不可になります。"
requireSigninToViewContentsDescription3: "リモートサーバーに連合されたコンテンツでは、これらの制限が適用されない場合があります。"
makeNotesFollowersOnlyBefore: "過去のノートをフォロワーのみ表示可能にする"
makeNotesFollowersOnlyBeforeDescription: "この機能が有効になっている間、設定された日時より過去、または設定された時間を経過しているノートがフォロワーのみ表示可能になります。無効に戻すと、ノートの公開状態も元に戻ります。"
makeNotesHiddenBefore: "過去のノートを非公開化する"
makeNotesHiddenBeforeDescription: "この機能が有効になっている間、設定された日時より過去、または設定された時間を経過しているノートが自分のみ表示可能(非公開化)になります。無効に戻すと、ノートの公開状態も元に戻ります。"
mayNotEffectForFederatedNotes: "リモートサーバーに連合されたノートには効果が及ばない場合があります。"
mayNotEffectSomeSituations: "これらの制限は簡易的なものです。リモートサーバーでの閲覧やモデレーション時など、一部のシチュエーションでは適用されない場合があります。"
notesHavePassedSpecifiedPeriod: "指定した時間を経過しているノート"
notesOlderThanSpecifiedDateAndTime: "指定した日時より前のノート"
_abuseUserReport: _abuseUserReport:
forward: "転送" forward: "転送"
@ -1446,6 +1612,8 @@ _serverSettings:
reactionsBufferingDescription: "有効にすると、リアクション作成時のパフォーマンスが大幅に向上し、データベースへの負荷を軽減することが可能です。ただし、Redisのメモリ使用量は増加します。" reactionsBufferingDescription: "有効にすると、リアクション作成時のパフォーマンスが大幅に向上し、データベースへの負荷を軽減することが可能です。ただし、Redisのメモリ使用量は増加します。"
inquiryUrl: "問い合わせ先URL" inquiryUrl: "問い合わせ先URL"
inquiryUrlDescription: "サーバー運営者へのお問い合わせフォームのURLや、運営者の連絡先等が記載されたWebページのURLを指定します。" inquiryUrlDescription: "サーバー運営者へのお問い合わせフォームのURLや、運営者の連絡先等が記載されたWebページのURLを指定します。"
openRegistration: "アカウントの作成をオープンにする"
openRegistrationWarning: "登録を開放することはリスクが伴います。サーバーを常に監視し、トラブルが発生した際にすぐに対応できる体制がある場合のみオンにすることを推奨します。"
thisSettingWillAutomaticallyOffWhenModeratorsInactive: "一定期間モデレーターのアクティビティが検出されなかった場合、スパム防止のためこの設定は自動でオフになります。" thisSettingWillAutomaticallyOffWhenModeratorsInactive: "一定期間モデレーターのアクティビティが検出されなかった場合、スパム防止のためこの設定は自動でオフになります。"
_accountMigration: _accountMigration:
@ -1746,6 +1914,8 @@ _role:
descriptionOfIsExplorable: "オンにすると、「みつける」でメンバー一覧が公開されるほか、ロールのタイムラインが利用可能になります。" descriptionOfIsExplorable: "オンにすると、「みつける」でメンバー一覧が公開されるほか、ロールのタイムラインが利用可能になります。"
displayOrder: "表示順" displayOrder: "表示順"
descriptionOfDisplayOrder: "数値が大きいほどUI上で先頭に表示されます。" descriptionOfDisplayOrder: "数値が大きいほどUI上で先頭に表示されます。"
preserveAssignmentOnMoveAccount: "アサイン状態を移行先アカウントにも引き継ぐ"
preserveAssignmentOnMoveAccount_description: "オンにすると、このロールが付与されたアカウントが移行された際に、移行先アカウントにもこのロールが引き継がれるようになります。"
canEditMembersByModerator: "モデレーターのメンバー編集を許可" canEditMembersByModerator: "モデレーターのメンバー編集を許可"
descriptionOfCanEditMembersByModerator: "オンにすると、管理者に加えてモデレーターもこのロールへユーザーをアサイン/アサイン解除できるようになります。オフにすると管理者のみが行えます。" descriptionOfCanEditMembersByModerator: "オンにすると、管理者に加えてモデレーターもこのロールへユーザーをアサイン/アサイン解除できるようになります。オフにすると管理者のみが行えます。"
priority: "優先度" priority: "優先度"
@ -1765,6 +1935,7 @@ _role:
canManageCustomEmojis: "カスタム絵文字の管理" canManageCustomEmojis: "カスタム絵文字の管理"
canManageAvatarDecorations: "アバターデコレーションの管理" canManageAvatarDecorations: "アバターデコレーションの管理"
driveCapacity: "ドライブ容量" driveCapacity: "ドライブ容量"
maxFileSize: "アップロード可能な最大ファイルサイズ"
alwaysMarkNsfw: "ファイルにNSFWを常に付与" alwaysMarkNsfw: "ファイルにNSFWを常に付与"
canUpdateBioMedia: "アイコンとバナーの更新を許可" canUpdateBioMedia: "アイコンとバナーの更新を許可"
pinMax: "ノートのピン留めの最大数" pinMax: "ノートのピン留めの最大数"
@ -1786,6 +1957,7 @@ _role:
canImportFollowing: "フォローのインポートを許可" canImportFollowing: "フォローのインポートを許可"
canImportMuting: "ミュートのインポートを許可" canImportMuting: "ミュートのインポートを許可"
canImportUserLists: "リストのインポートを許可" canImportUserLists: "リストのインポートを許可"
chatAvailability: "チャットを許可"
_condition: _condition:
roleAssignedTo: "マニュアルロールにアサイン済み" roleAssignedTo: "マニュアルロールにアサイン済み"
isLocal: "ローカルユーザー" isLocal: "ローカルユーザー"
@ -1970,6 +2142,7 @@ _theme:
installed: "{name}をインストールしました" installed: "{name}をインストールしました"
installedThemes: "インストールされたテーマ" installedThemes: "インストールされたテーマ"
builtinThemes: "標準のテーマ" builtinThemes: "標準のテーマ"
instanceTheme: "サーバーのテーマ"
alreadyInstalled: "そのテーマは既にインストールされています" alreadyInstalled: "そのテーマは既にインストールされています"
invalid: "テーマの形式が間違っています" invalid: "テーマの形式が間違っています"
make: "テーマを作る" make: "テーマを作る"
@ -2001,16 +2174,15 @@ _theme:
panel: "パネル" panel: "パネル"
shadow: "影" shadow: "影"
header: "ヘッダー" header: "ヘッダー"
navBg: "サイドバーの背景" navBg: "ナビゲーションバーの背景"
navFg: "サイドバーの文字" navFg: "ナビゲーションバーの文字"
navHoverFg: "サイドバー文字(ホバー)" navActive: "ナビゲーションバー文字(アクティブ)"
navActive: "サイドバー文字(アクティブ)" navIndicator: "ナビゲーションバーのインジケーター"
navIndicator: "サイドバーのインジケーター"
link: "リンク" link: "リンク"
hashtag: "ハッシュタグ" hashtag: "ハッシュタグ"
mention: "メンション" mention: "メンション"
mentionMe: "あなた宛てメンション" mentionMe: "あなた宛てメンション"
renote: "Renote" renote: "リノート"
modalBg: "モーダルの背景" modalBg: "モーダルの背景"
divider: "分割線" divider: "分割線"
scrollbarHandle: "スクロールバーの取っ手" scrollbarHandle: "スクロールバーの取っ手"
@ -2026,11 +2198,8 @@ _theme:
buttonHoverBg: "ボタンの背景 (ホバー)" buttonHoverBg: "ボタンの背景 (ホバー)"
inputBorder: "入力ボックスの縁取り" inputBorder: "入力ボックスの縁取り"
driveFolderBg: "ドライブフォルダーの背景" driveFolderBg: "ドライブフォルダーの背景"
wallpaperOverlay: "壁紙のオーバーレイ"
badge: "バッジ" badge: "バッジ"
messageBg: "チャットの背景" messageBg: "チャットの背景"
accentDarken: "アクセント (暗め)"
accentLighten: "アクセント (明るめ)"
fgHighlighted: "強調された文字" fgHighlighted: "強調された文字"
_sfx: _sfx:
@ -2038,6 +2207,7 @@ _sfx:
noteMy: "ノート(自分)" noteMy: "ノート(自分)"
notification: "通知" notification: "通知"
reaction: "リアクション選択時" reaction: "リアクション選択時"
chatMessage: "チャットのメッセージ"
_soundSettings: _soundSettings:
driveFile: "ドライブの音声を使用" driveFile: "ドライブの音声を使用"
@ -2190,6 +2360,8 @@ _permissions:
"read:clip-favorite": "クリップのいいねを見る" "read:clip-favorite": "クリップのいいねを見る"
"read:federation": "連合に関する情報を取得する" "read:federation": "連合に関する情報を取得する"
"write:report-abuse": "違反を報告する" "write:report-abuse": "違反を報告する"
"write:chat": "チャットを操作する"
"read:chat": "チャットを閲覧する"
_auth: _auth:
shareAccessTitle: "アプリへのアクセス許可" shareAccessTitle: "アプリへのアクセス許可"
@ -2199,8 +2371,11 @@ _auth:
permissionAsk: "このアプリは次の権限を要求しています" permissionAsk: "このアプリは次の権限を要求しています"
pleaseGoBack: "アプリケーションに戻ってやっていってください" pleaseGoBack: "アプリケーションに戻ってやっていってください"
callback: "アプリケーションに戻っています" callback: "アプリケーションに戻っています"
accepted: "アクセスを許可しました"
denied: "アクセスを拒否しました" denied: "アクセスを拒否しました"
scopeUser: "以下のユーザーとして操作しています"
pleaseLogin: "アプリケーションにアクセス許可を与えるには、ログインが必要です。" pleaseLogin: "アプリケーションにアクセス許可を与えるには、ログインが必要です。"
byClickingYouWillBeRedirectedToThisUrl: "アクセスを許可すると、自動で以下のURLに遷移します"
_antennaSources: _antennaSources:
all: "全てのノート" all: "全てのノート"
@ -2249,6 +2424,7 @@ _widgets:
chooseList: "リストを選択" chooseList: "リストを選択"
clicker: "クリッカー" clicker: "クリッカー"
birthdayFollowings: "今日誕生日のユーザー" birthdayFollowings: "今日誕生日のユーザー"
chat: "チャット"
_cw: _cw:
hide: "隠す" hide: "隠す"
@ -2388,9 +2564,6 @@ _pages:
newPage: "ページの作成" newPage: "ページの作成"
editPage: "ページの編集" editPage: "ページの編集"
readPage: "ソースを表示中" readPage: "ソースを表示中"
created: "ページを作成しました"
updated: "ページを更新しました"
deleted: "ページを削除しました"
pageSetting: "ページ設定" pageSetting: "ページ設定"
nameAlreadyExists: "指定されたページURLは既に存在しています" nameAlreadyExists: "指定されたページURLは既に存在しています"
invalidNameTitle: "不正なページURLです" invalidNameTitle: "不正なページURLです"
@ -2448,7 +2621,7 @@ _notification:
youGotMention: "{name}からのメンション" youGotMention: "{name}からのメンション"
youGotReply: "{name}からのリプライ" youGotReply: "{name}からのリプライ"
youGotQuote: "{name}による引用" youGotQuote: "{name}による引用"
youRenoted: "{name}がRenoteしました" youRenoted: "{name}がリノートしました"
youWereFollowed: "フォローされました" youWereFollowed: "フォローされました"
youReceivedFollowRequest: "フォローリクエストが来ました" youReceivedFollowRequest: "フォローリクエストが来ました"
yourFollowRequestAccepted: "フォローリクエストが承認されました" yourFollowRequestAccepted: "フォローリクエストが承認されました"
@ -2456,6 +2629,7 @@ _notification:
newNote: "新しい投稿" newNote: "新しい投稿"
unreadAntennaNote: "アンテナ {name}" unreadAntennaNote: "アンテナ {name}"
roleAssigned: "ロールが付与されました" roleAssigned: "ロールが付与されました"
chatRoomInvitationReceived: "チャットルームへ招待されました"
emptyPushNotificationMessage: "プッシュ通知の更新をしました" emptyPushNotificationMessage: "プッシュ通知の更新をしました"
achievementEarned: "実績を獲得" achievementEarned: "実績を獲得"
testNotification: "通知テスト" testNotification: "通知テスト"
@ -2469,6 +2643,8 @@ _notification:
flushNotification: "通知の履歴をリセットする" flushNotification: "通知の履歴をリセットする"
exportOfXCompleted: "{x}のエクスポートが完了しました" exportOfXCompleted: "{x}のエクスポートが完了しました"
login: "ログインがありました" login: "ログインがありました"
createToken: "アクセストークンが作成されました"
createTokenDescription: "心当たりがない場合は「{text}」を通じてアクセストークンを削除してください。"
_types: _types:
all: "すべて" all: "すべて"
@ -2476,27 +2652,32 @@ _notification:
follow: "フォロー" follow: "フォロー"
mention: "メンション" mention: "メンション"
reply: "リプライ" reply: "リプライ"
renote: "Renote" renote: "リノート"
quote: "引用" quote: "引用"
reaction: "リアクション" reaction: "リアクション"
pollEnded: "アンケートが終了" pollEnded: "アンケートが終了"
receiveFollowRequest: "フォロー申請を受け取った" receiveFollowRequest: "フォロー申請を受け取った"
followRequestAccepted: "フォローが受理された" followRequestAccepted: "フォローが受理された"
roleAssigned: "ロールが付与された" roleAssigned: "ロールが付与された"
chatRoomInvitationReceived: "チャットルームへ招待された"
achievementEarned: "実績の獲得" achievementEarned: "実績の獲得"
exportCompleted: "エクスポートが完了した" exportCompleted: "エクスポートが完了した"
login: "ログイン" login: "ログイン"
createToken: "アクセストークンの作成"
test: "通知のテスト" test: "通知のテスト"
app: "連携アプリからの通知" app: "連携アプリからの通知"
_actions: _actions:
followBack: "フォローバック" followBack: "フォローバック"
reply: "返信" reply: "返信"
renote: "Renote" renote: "リノート"
_deck: _deck:
alwaysShowMainColumn: "常にメインカラムを表示" alwaysShowMainColumn: "常にメインカラムを表示"
columnAlign: "カラムの寄せ" columnAlign: "カラムの寄せ"
columnGap: "カラム間のマージン"
deckMenuPosition: "デッキメニューの位置"
navbarPosition: "ナビゲーションバーの位置"
addColumn: "カラムを追加" addColumn: "カラムを追加"
newNoteNotificationSettings: "新着ノート通知の設定" newNoteNotificationSettings: "新着ノート通知の設定"
configureColumn: "カラムの設定" configureColumn: "カラムの設定"
@ -2510,11 +2691,12 @@ _deck:
newProfile: "新規プロファイル" newProfile: "新規プロファイル"
deleteProfile: "プロファイルを削除" deleteProfile: "プロファイルを削除"
introduction: "カラムを組み合わせて自分だけのインターフェイスを作りましょう!" introduction: "カラムを組み合わせて自分だけのインターフェイスを作りましょう!"
introduction2: "画面の右にある + を押して、いつでもカラムを追加できます。" introduction2: "カラムを追加するには、画面の + をクリックします。"
widgetsIntroduction: "カラムのメニューから、「ウィジェットの編集」を選択してウィジェットを追加してください" widgetsIntroduction: "カラムのメニューから、「ウィジェットの編集」を選択してウィジェットを追加してください"
useSimpleUiForNonRootPages: "非ルートページは簡易UIで表示" useSimpleUiForNonRootPages: "非ルートページは簡易UIで表示"
usedAsMinWidthWhenFlexible: "「幅を自動調整」が有効の場合、これが幅の最小値となります" usedAsMinWidthWhenFlexible: "「幅を自動調整」が有効の場合、これが幅の最小値となります"
flexible: "幅を自動調整" flexible: "幅を自動調整"
enableSyncBetweenDevicesForProfiles: "プロファイル情報のデバイス間同期を有効にする"
_columns: _columns:
main: "メイン" main: "メイン"
@ -2527,6 +2709,7 @@ _deck:
mentions: "あなた宛て" mentions: "あなた宛て"
direct: "ダイレクト" direct: "ダイレクト"
roleTimeline: "ロールタイムライン" roleTimeline: "ロールタイムライン"
chat: "チャット"
_dialog: _dialog:
charactersExceeded: "最大文字数を超えています! 現在 {current} / 制限 {max}" charactersExceeded: "最大文字数を超えています! 現在 {current} / 制限 {max}"
@ -2629,6 +2812,8 @@ _moderationLogTypes:
deletePage: "ページを削除" deletePage: "ページを削除"
deleteFlash: "Playを削除" deleteFlash: "Playを削除"
deleteGalleryPost: "ギャラリーの投稿を削除" deleteGalleryPost: "ギャラリーの投稿を削除"
deleteChatRoom: "チャットルームを削除"
updateProxyAccountDescription: "プロキシアカウントの説明を更新"
_fileViewer: _fileViewer:
title: "ファイルの詳細" title: "ファイルの詳細"
@ -2644,10 +2829,8 @@ _externalResourceInstaller:
checkVendorBeforeInstall: "配布元が信頼できるかを確認した上でインストールしてください。" checkVendorBeforeInstall: "配布元が信頼できるかを確認した上でインストールしてください。"
_plugin: _plugin:
title: "このプラグインをインストールしますか?" title: "このプラグインをインストールしますか?"
metaTitle: "プラグイン情報"
_theme: _theme:
title: "このテーマをインストールしますか?" title: "このテーマをインストールしますか?"
metaTitle: "テーマ情報"
_meta: _meta:
base: "基本のカラースキーム" base: "基本のカラースキーム"
_vendorInfo: _vendorInfo:
@ -2775,6 +2958,69 @@ _contextMenu:
appWithShift: "Shiftキーでアプリケーション" appWithShift: "Shiftキーでアプリケーション"
native: "ブラウザのUI" native: "ブラウザのUI"
_gridComponent:
_error:
requiredValue: "この値は必須項目です"
columnTypeNotSupport: "正規表現によるバリデーションはtype:textのカラムのみサポートします。"
patternNotMatch: "この値は{pattern}のパターンに一致しません"
notUnique: "この値は一意である必要があります"
_roleSelectDialog:
notSelected: "選択されていません"
_customEmojisManager:
_gridCommon:
copySelectionRows: "選択行をコピー"
copySelectionRanges: "選択範囲をコピー"
deleteSelectionRows: "選択行を削除"
deleteSelectionRanges: "選択範囲の値をクリア"
searchSettings: "検索設定"
searchSettingCaption: "検索条件を詳細に設定します。"
searchLimit: "表示件数"
sortOrder: "並び順"
registrationLogs: "登録ログ"
registrationLogsCaption: "絵文字更新・削除時のログが表示されます。更新・削除操作を行ったり、ページを遷移・リロードすると消えます。"
alertEmojisRegisterFailedDescription: "絵文字の更新・削除に失敗しました。詳細は登録ログをご確認ください。"
_logs:
showSuccessLogSwitch: "成功ログを表示"
failureLogNothing: "失敗ログはありません。"
logNothing: "ログはありません。"
_remote:
selectionRowDetail: "選択行の詳細"
importSelectionRows: "選択行をインポート"
importSelectionRangesRows: "選択範囲の行をインポート"
importEmojisButton: "チェックされた絵文字をインポート"
confirmImportEmojisTitle: "絵文字のインポート"
confirmImportEmojisDescription: "リモートから受信した{count}個の絵文字のインポートを行います。絵文字のライセンスに十分な注意を払ってください。実行しますか?"
_local:
tabTitleList: "登録済み絵文字一覧"
tabTitleRegister: "絵文字の登録"
_list:
emojisNothing: "登録された絵文字はありません。"
markAsDeleteTargetRows: "選択行を削除対象にする"
markAsDeleteTargetRanges: "選択範囲の行を削除対象にする"
alertUpdateEmojisNothingDescription: "変更された絵文字はありません。"
alertDeleteEmojisNothingDescription: "削除対象の絵文字はありません。"
confirmMovePage: "ページを移動しますか?"
confirmChangeView: "表示を変更しますか?"
confirmUpdateEmojisDescription: "{count}個の絵文字を更新します。実行しますか?"
confirmDeleteEmojisDescription: "チェックがつけられた{count}個の絵文字を削除します。実行しますか?"
confirmResetDescription: "今までに加えた変更がすべてリセットされます。"
confirmMovePageDesciption: "このページの絵文字に変更が加えられています。\n保存せずにこのままページを移動すると、このページで加えた変更はすべて破棄されます。"
dialogSelectRoleTitle: "絵文字に設定されたロールで検索"
_register:
uploadSettingTitle: "アップロード設定"
uploadSettingDescription: "この画面で絵文字アップロードを行う際の動作を設定できます。"
directoryToCategoryLabel: "ディレクトリ名を\"category\"に入力する"
directoryToCategoryCaption: "ディレクトリをドラッグ・ドロップした時に、ディレクトリ名を\"category\"に入力します。"
emojiInputAreaCaption: "いずれかの方法で登録する絵文字を選択してください。"
emojiInputAreaList1: "この枠に画像ファイルまたはディレクトリをドラッグ&ドロップ"
emojiInputAreaList2: "このリンクをクリックしてPCから選択する"
emojiInputAreaList3: "このリンクをクリックしてドライブから選択する"
confirmRegisterEmojisDescription: "リストに表示されている絵文字を新たなカスタム絵文字として登録します。よろしいですか?(負荷を避けるため、一度の操作で登録可能な絵文字は{count}件までです)"
confirmClearEmojisDescription: "編集内容を破棄し、リストに表示されている絵文字をクリアします。よろしいですか?"
confirmUploadEmojisDescription: "ドラッグ&ドロップされた{count}個のファイルをドライブにアップロードします。実行しますか?"
_embedCodeGen: _embedCodeGen:
title: "埋め込みコードをカスタマイズ" title: "埋め込みコードをカスタマイズ"
header: "ヘッダーを表示" header: "ヘッダーを表示"
@ -2789,3 +3035,67 @@ _embedCodeGen:
generateCode: "埋め込みコードを作成" generateCode: "埋め込みコードを作成"
codeGenerated: "コードが生成されました" codeGenerated: "コードが生成されました"
codeGeneratedDescription: "生成されたコードをウェブサイトに貼り付けてご利用ください。" codeGeneratedDescription: "生成されたコードをウェブサイトに貼り付けてご利用ください。"
_selfXssPrevention:
warning: "警告"
title: "「この画面に何か貼り付けろ」はすべて詐欺です。"
description1: "ここに何かを貼り付けると、悪意のあるユーザーにアカウントを乗っ取られたり、個人情報を盗まれたりする可能性があります。"
description2: "貼り付けようとしているものが何なのかを正確に理解していない場合は、%c今すぐ作業を中止してこのウィンドウを閉じてください。"
description3: "詳しくはこちらをご確認ください。 {link}"
_followRequest:
recieved: "受け取った申請"
sent: "送った申請"
_remoteLookupErrors:
_federationNotAllowed:
title: "このサーバーとは通信できません"
description: "このサーバーとの通信が無効化されているか、このサーバーをブロックしている・ブロックされている可能性があります。\nサーバー管理者にお問い合わせください。"
_uriInvalid:
title: "URIが不正です"
description: "入力されたURIに問題があります。URIに使用できない文字を入力していないか確認してください。"
_requestFailed:
title: "リクエストに失敗しました"
description: "このサーバーとの通信に失敗しました。相手サーバーがダウンしている可能性があります。また、不正なURIや存在しないURIを入力していないか確認してください。"
_responseInvalid:
title: "レスポンスが不正です"
description: "このサーバーと通信することはできましたが、得られたデータが不正なものでした。第三者のサーバーを介してリモートのコンテンツを照会している場合は、発信元のサーバーで取得できるURIを使用して照会し直してください。"
_noSuchObject:
title: "見つかりません"
description: "要求されたリソースは見つかりませんでした。URIをもう一度お確かめください。"
_captcha:
verify: "CAPTCHAを通過してください"
testSiteKeyMessage: "サイトキーとシークレットキーにテスト用の値を入力することでプレビューを確認できます。\n詳細は下記ページをご確認ください。"
_error:
_requestFailed:
title: "CAPTCHAのリクエストに失敗しました"
text: "しばらく後に実行するか、設定をもう一度ご確認ください。"
_verificationFailed:
title: "CAPTCHAの検証に失敗しました"
text: "設定が正しいかどうかもう一度確認ください。"
_unknown:
title: "CAPTCHAエラー"
text: "想定外のエラーが発生しました。"
_bootErrors:
title: "読み込みに失敗しました"
serverError: "少し待ってからリロードしてもまだ問題が解決されない場合、以下のError IDを添えてサーバー管理者に連絡してください。"
solution: "以下を行うと解決する可能性があります。"
solution1: "ブラウザおよびOSを最新バージョンに更新する"
solution2: "アドブロッカーを無効にする"
solution3: "ブラウザのキャッシュをクリアする"
solution4: "(Tor Browser) dom.webaudio.enabledをtrueに設定する"
otherOption: "その他のオプション"
otherOption1: "クライアント設定とキャッシュを削除"
otherOption2: "簡易クライアントを起動"
otherOption3: "修復ツールを起動"
_search:
searchScopeAll: "全て"
searchScopeLocal: "ローカル"
searchScopeServer: "サーバー指定"
searchScopeUser: "ユーザー指定"
pleaseEnterServerHost: "サーバーのホストを入力してください"
pleaseSelectUser: "ユーザーを選択してください"
serverHostPlaceholder: "例: misskey.example.com"

View file

@ -5,14 +5,18 @@ introMisskey: "ようお越しMisskeyは、オープンソースの分散型
poweredByMisskeyDescription: "{name}は、オープンソースのプラットフォーム<b>Misskey</b>のサーバーのひとつなんやで。" poweredByMisskeyDescription: "{name}は、オープンソースのプラットフォーム<b>Misskey</b>のサーバーのひとつなんやで。"
monthAndDay: "{month}月 {day}日" monthAndDay: "{month}月 {day}日"
search: "探す" search: "探す"
reset: "リセット"
notifications: "通知" notifications: "通知"
username: "ユーザー名" username: "ユーザー名"
password: "パスワード" password: "パスワード"
initialPasswordForSetup: "初期設定開始用パスワード"
initialPasswordIsIncorrect: "初期設定開始用のパスワードがちゃうで。"
initialPasswordForSetupDescription: "Miskkeyを自分でインストールしたんやったら、設定ファイルに入れたパスワードを使ってや。\nホスティングサービスを使っとるんやったら、サービスから言われたやつを使うんやで。\n別に何も設定しとらんのやったら、何も入れずに空けといてな。"
forgotPassword: "パスワード忘れたん?" forgotPassword: "パスワード忘れたん?"
fetchingAsApObject: "今ちと連合に照会しとるで" fetchingAsApObject: "今ちと連合に照会しとるで"
ok: "ええで" ok: "ええで"
gotIt: "ほい" gotIt: "ほい"
cancel: "やめとく" cancel: "やめ"
noThankYou: "やめとく" noThankYou: "やめとく"
enterUsername: "ユーザー名を入れてや" enterUsername: "ユーザー名を入れてや"
renotedBy: "{user}がリノートしたで" renotedBy: "{user}がリノートしたで"
@ -23,7 +27,7 @@ settings: "設定"
notificationSettings: "通知の設定" notificationSettings: "通知の設定"
basicSettings: "基本設定" basicSettings: "基本設定"
otherSettings: "ほかの設定" otherSettings: "ほかの設定"
openInWindow: "ウィンドウで開く" openInWindow: "ウィンドウで開く"
profile: "プロフィール" profile: "プロフィール"
timeline: "タイムライン" timeline: "タイムライン"
noAccountDescription: "自己紹介食ってもた" noAccountDescription: "自己紹介食ってもた"
@ -42,9 +46,10 @@ favorited: "お気に入りに入れたで。"
alreadyFavorited: "もうお気に入りに入れとるがな。" alreadyFavorited: "もうお気に入りに入れとるがな。"
cantFavorite: "アカン、お気に入りに入れれんかったわ。" cantFavorite: "アカン、お気に入りに入れれんかったわ。"
pin: "ピン留めしとく" pin: "ピン留めしとく"
unpin: "やっぱピン留めせん" unpin: "ピン留めやめる"
copyContent: "内容をコピー" copyContent: "内容をコピー"
copyLink: "リンクをコピー" copyLink: "リンクをコピー"
copyRemoteLink: "リモートのリンクをコピーするで?"
copyLinkRenote: "リノートのリンクをコピーするで?" copyLinkRenote: "リノートのリンクをコピーするで?"
delete: "ほかす" delete: "ほかす"
deleteAndEdit: "ほかして直す" deleteAndEdit: "ほかして直す"
@ -60,7 +65,7 @@ copyFileId: "ファイルIDをコピー"
copyFolderId: "フォルダーIDをコピー" copyFolderId: "フォルダーIDをコピー"
copyProfileUrl: "プロフィールURLをコピー" copyProfileUrl: "プロフィールURLをコピー"
searchUser: "ユーザーを探す" searchUser: "ユーザーを探す"
searchThisUsersNotes: "ユーザーのノートを検索" searchThisUsersNotes: "ユーザーのノートを探す"
reply: "返事" reply: "返事"
loadMore: "まだまだあるで!" loadMore: "まだまだあるで!"
showMore: "まだまだあるで!" showMore: "まだまだあるで!"
@ -135,8 +140,8 @@ reactionSettingDescription2: "ドラッグで並び替え、クリックで削
rememberNoteVisibility: "公開範囲覚えといて" rememberNoteVisibility: "公開範囲覚えといて"
attachCancel: "のっけるのやめる" attachCancel: "のっけるのやめる"
deleteFile: "ファイルをほかす" deleteFile: "ファイルをほかす"
markAsSensitive: "ちょっとこれはアカン" markAsSensitive: "ちょっと見せられへんわ"
unmarkAsSensitive: "そこまでアカンことないやろ" unmarkAsSensitive: "別にええんじゃね?"
enterFileName: "ファイル名を入れてや" enterFileName: "ファイル名を入れてや"
mute: "ミュート" mute: "ミュート"
unmute: "ミュートやめたる" unmute: "ミュートやめたる"
@ -149,13 +154,13 @@ unsuspend: "溶かす"
blockConfirm: "ブロックしてもええんか?" blockConfirm: "ブロックしてもええんか?"
unblockConfirm: "ブロックやめたるってほんまか?" unblockConfirm: "ブロックやめたるってほんまか?"
suspendConfirm: "凍結してしもうてええか?" suspendConfirm: "凍結してしもうてええか?"
unsuspendConfirm: "解凍するけどええか?" unsuspendConfirm: "溶かしたるけどええか?"
selectList: "リストを選ぶ" selectList: "リストを選ぶ"
editList: "リストいじる" editList: "リストいじる"
selectChannel: "チャンネルを選ぶ" selectChannel: "チャンネルを選ぶ"
selectAntenna: "アンテナを選ぶ" selectAntenna: "アンテナを選ぶ"
editAntenna: "アンテナいじる" editAntenna: "アンテナいじる"
createAntenna: "アンテナを作" createAntenna: "アンテナを作"
selectWidget: "ウィジェットを選ぶ" selectWidget: "ウィジェットを選ぶ"
editWidgets: "ウィジェットをいじる" editWidgets: "ウィジェットをいじる"
editWidgetsExit: "いじるのをやめる" editWidgetsExit: "いじるのをやめる"
@ -169,12 +174,12 @@ settingGuide: "ええ感じの設定"
cacheRemoteFiles: "リモートのファイルをキャッシュする" cacheRemoteFiles: "リモートのファイルをキャッシュする"
cacheRemoteFilesDescription: "この設定を入れとったら、リモートのファイルを端から端までこのサーバーのキャッシュん中突っ込むようになるで。画像映し出すんがめっちゃ速うなるけど、サーバーの容量をやたらと食うようになるで。リモートの人がどんだけ長くキャッシュを持っとくかはドライブ容量の制限で決めとくで。制限を超えたら古いのから順々に消してって、かわりにリンクになるで。この設定を切ったら、リモートのファイルは最初っからリンクとして扱うことにするけど、画像のサムネ作るのとかみんなのプライバシー守るために、default.ymlのproxyRemoteFilesをtrueにしといたほうがええよ。" cacheRemoteFilesDescription: "この設定を入れとったら、リモートのファイルを端から端までこのサーバーのキャッシュん中突っ込むようになるで。画像映し出すんがめっちゃ速うなるけど、サーバーの容量をやたらと食うようになるで。リモートの人がどんだけ長くキャッシュを持っとくかはドライブ容量の制限で決めとくで。制限を超えたら古いのから順々に消してって、かわりにリンクになるで。この設定を切ったら、リモートのファイルは最初っからリンクとして扱うことにするけど、画像のサムネ作るのとかみんなのプライバシー守るために、default.ymlのproxyRemoteFilesをtrueにしといたほうがええよ。"
youCanCleanRemoteFilesCache: "ファイル管理にある🗑️ボタンでキャッシュ全部ほかすで。" youCanCleanRemoteFilesCache: "ファイル管理にある🗑️ボタンでキャッシュ全部ほかすで。"
cacheRemoteSensitiveFiles: "リモートのきわどいファイルをキャッシュに突っ込む" cacheRemoteSensitiveFiles: "リモートのきわどいファイルをキャッシュする"
cacheRemoteSensitiveFilesDescription: "この設定を切ると、リモートのきわどいファイルはキャッシュせず直でリンクするようになるで。" cacheRemoteSensitiveFilesDescription: "この設定を切ると、リモートのきわどいファイルはキャッシュせず直でリンクするようになるで。"
flagAsBot: "Botにするで" flagAsBot: "Botにするで"
flagAsBotDescription: "もしこのアカウントをプログラム使うて運用するんやったら、このフラグをオンにしてや。オンにすれば、反応がバーッて連鎖せんように開発者が使うたり、Misskeyのシステム上での扱いがBotに合ったもんになるからな。" flagAsBotDescription: "もしこのアカウントをプログラム使うて運用するんやったら、このフラグをオンにしてや。オンにすれば、反応がバーッて連鎖せんように開発者が使うたり、Misskeyのシステム上での扱いがBotに合ったもんになるからな。"
flagAsCat: "猫や。かわええな。" flagAsCat: "猫や。かわええな。"
flagAsCatDescription: "ネコになりたいんならこれつけとき。" flagAsCatDescription: "になりたいんならこれつけとき。"
flagShowTimelineReplies: "タイムラインにノートへの返信を表示するで" flagShowTimelineReplies: "タイムラインにノートへの返信を表示するで"
flagShowTimelineRepliesDescription: "オンにしたら、タイムラインにユーザーのノートの他にもそのユーザーの他のノートへの返信を表示するで。" flagShowTimelineRepliesDescription: "オンにしたら、タイムラインにユーザーのノートの他にもそのユーザーの他のノートへの返信を表示するで。"
autoAcceptFollowed: "フォローしとるユーザーからのフォローリクエストを勝手に許可しとく" autoAcceptFollowed: "フォローしとるユーザーからのフォローリクエストを勝手に許可しとく"
@ -183,9 +188,9 @@ reloadAccountsList: "アカウントリストの情報を更新"
loginFailed: "ログインに失敗してもうた…" loginFailed: "ログインに失敗してもうた…"
showOnRemote: "リモートで見る" showOnRemote: "リモートで見る"
continueOnRemote: "リモートで続行" continueOnRemote: "リモートで続行"
chooseServerOnMisskeyHub: "Misskey Hubからサーバーを選" chooseServerOnMisskeyHub: "Misskey Hubからサーバーを選"
specifyServerHost: "サーバーのドメインを直接指定" specifyServerHost: "サーバーのドメインを直接指定"
inputHostName: "ドメインを入力せえや" inputHostName: "ドメインを入力してや"
general: "全般" general: "全般"
wallpaper: "壁紙" wallpaper: "壁紙"
setWallpaper: "壁紙を設定" setWallpaper: "壁紙を設定"
@ -236,6 +241,8 @@ silencedInstances: "サーバーサイレンスされてんねん"
silencedInstancesDescription: "サイレンスしたいサーバーのホストを改行で区切って設定すんで。サイレンスされたサーバーに所属するアカウントはすべて「サイレンス」として扱われ、フォローがすべてリクエストになり、フォロワーでないローカルアカウントにはメンションできなくなんねん。ブロックしたインスタンスには影響せーへんで。" silencedInstancesDescription: "サイレンスしたいサーバーのホストを改行で区切って設定すんで。サイレンスされたサーバーに所属するアカウントはすべて「サイレンス」として扱われ、フォローがすべてリクエストになり、フォロワーでないローカルアカウントにはメンションできなくなんねん。ブロックしたインスタンスには影響せーへんで。"
mediaSilencedInstances: "メディアサイレンスしたサーバー" mediaSilencedInstances: "メディアサイレンスしたサーバー"
mediaSilencedInstancesDescription: "メディアサイレンスしたいサーバーのホストを改行で区切って設定するで。メディアサイレンスされたサーバーに所属するアカウントによるファイルはすべてセンシティブとして扱われてな、カスタム絵文字が使えへんようになるで。ブロックしたインスタンスには影響せえへんで。" mediaSilencedInstancesDescription: "メディアサイレンスしたいサーバーのホストを改行で区切って設定するで。メディアサイレンスされたサーバーに所属するアカウントによるファイルはすべてセンシティブとして扱われてな、カスタム絵文字が使えへんようになるで。ブロックしたインスタンスには影響せえへんで。"
federationAllowedHosts: "連合を許すサーバー"
federationAllowedHostsDescription: "連合してもいいサーバーのホストを行ごとに区切って設定してや。"
muteAndBlock: "ミュートとブロック" muteAndBlock: "ミュートとブロック"
mutedUsers: "ミュートしとるユーザー" mutedUsers: "ミュートしとるユーザー"
blockedUsers: "ブロックしとるユーザー" blockedUsers: "ブロックしとるユーザー"
@ -282,7 +289,6 @@ deleteAreYouSure: "「{x}」はほかしてええか?"
resetAreYouSure: "リセットしてええん?" resetAreYouSure: "リセットしてええん?"
areYouSure: "いいん?" areYouSure: "いいん?"
saved: "保存したで!" saved: "保存したで!"
messaging: "チャット"
upload: "アップロード" upload: "アップロード"
keepOriginalUploading: "オリジナル画像のまんま" keepOriginalUploading: "オリジナル画像のまんま"
keepOriginalUploadingDescription: "画像を上げるときにオリジナル版のまんまにするで。オフにしたら、上げたときにブラウザでWeb公開用の画像を生成するで。 " keepOriginalUploadingDescription: "画像を上げるときにオリジナル版のまんまにするで。オフにしたら、上げたときにブラウザでWeb公開用の画像を生成するで。 "
@ -295,7 +301,6 @@ uploadFromUrlMayTakeTime: "アップロード終わるんにちょい時間か
explore: "みつける" explore: "みつける"
messageRead: "もう読んだ" messageRead: "もう読んだ"
noMoreHistory: "これより昔のんはあらへんで" noMoreHistory: "これより昔のんはあらへんで"
startMessaging: "チャットやるで"
nUsersRead: "{n}人が読んでもうた" nUsersRead: "{n}人が読んでもうた"
agreeTo: "{0}に同意したで" agreeTo: "{0}に同意したで"
agree: "せやな" agree: "せやな"
@ -334,6 +339,7 @@ renameFolder: "フォルダー名を変える"
deleteFolder: "フォルダーをほかす" deleteFolder: "フォルダーをほかす"
folder: "フォルダー" folder: "フォルダー"
addFile: "ファイルを追加" addFile: "ファイルを追加"
showFile: "ファイル出す"
emptyDrive: "ドライブは空っぽや" emptyDrive: "ドライブは空っぽや"
emptyFolder: "このフォルダーは空や" emptyFolder: "このフォルダーは空や"
unableToDelete: "消せんかったわ" unableToDelete: "消せんかったわ"
@ -376,7 +382,6 @@ enableLocalTimeline: "ローカルタイムラインを使えるようにする
enableGlobalTimeline: "グローバルタイムラインを使えるようにするわ" enableGlobalTimeline: "グローバルタイムラインを使えるようにするわ"
disablingTimelinesInfo: "ここらへんのタイムラインを使えんようにしてしもても、管理者とモデレーターは使えるままになってるで、そうやなかったら不便やからな。" disablingTimelinesInfo: "ここらへんのタイムラインを使えんようにしてしもても、管理者とモデレーターは使えるままになってるで、そうやなかったら不便やからな。"
registration: "登録" registration: "登録"
enableRegistration: "一見さんでも誰でもいらっしゃ~い"
invite: "来てや" invite: "来てや"
driveCapacityPerLocalAccount: "ローカルユーザーはんひとりあたりのドライブ容量" driveCapacityPerLocalAccount: "ローカルユーザーはんひとりあたりのドライブ容量"
driveCapacityPerRemoteAccount: "リモートユーザーはんひとりあたりのドライブ容量" driveCapacityPerRemoteAccount: "リモートユーザーはんひとりあたりのドライブ容量"
@ -448,6 +453,7 @@ totpDescription: "認証アプリ使うてワンタイムパスワードを入
moderator: "モデレーター" moderator: "モデレーター"
moderation: "モデレーション" moderation: "モデレーション"
moderationNote: "モデレーションノート" moderationNote: "モデレーションノート"
moderationNoteDescription: "モデレーターの中だけで共有するメモを入れれるで。"
addModerationNote: "モデレーションノートを追加するで" addModerationNote: "モデレーションノートを追加するで"
moderationLogs: "モデログ" moderationLogs: "モデログ"
nUsersMentioned: "{n}人が投稿" nUsersMentioned: "{n}人が投稿"
@ -483,8 +489,6 @@ noteOf: "{user}はんのノート"
quoteAttached: "引用付いとるで" quoteAttached: "引用付いとるで"
quoteQuestion: "引用として添付してもええか?" quoteQuestion: "引用として添付してもええか?"
attachAsFileQuestion: "クリップボードのテキストが長すぎるからテキストファイルとして添付してもええか?" attachAsFileQuestion: "クリップボードのテキストが長すぎるからテキストファイルとして添付してもええか?"
noMessagesYet: "まだチャットはあらへんで"
newMessageExists: "新しいメッセージがきたで"
onlyOneFileCanBeAttached: "ごめんな、メッセージに添付できるファイルはひとつだけなんよ。" onlyOneFileCanBeAttached: "ごめんな、メッセージに添付できるファイルはひとつだけなんよ。"
signinRequired: "ログインしてくれへん?" signinRequired: "ログインしてくれへん?"
signinOrContinueOnRemote: "続行するには、お使いのサーバーに移動するか、このサーバーに登録・ログインする必要があるで" signinOrContinueOnRemote: "続行するには、お使いのサーバーに移動するか、このサーバーに登録・ログインする必要があるで"
@ -509,6 +513,10 @@ uiLanguage: "UIの表示言語"
aboutX: "{x}について" aboutX: "{x}について"
emojiStyle: "絵文字のスタイル" emojiStyle: "絵文字のスタイル"
native: "ネイティブ" native: "ネイティブ"
menuStyle: "メニューのスタイル"
style: "スタイル"
drawer: "ドロワー"
popup: "ポップアップ"
showNoteActionsOnlyHover: "ノートの操作部をホバー時のみ表示するで" showNoteActionsOnlyHover: "ノートの操作部をホバー時のみ表示するで"
showReactionsCount: "ノートのリアクション数を表示する" showReactionsCount: "ノートのリアクション数を表示する"
noHistory: "履歴はないわ。" noHistory: "履歴はないわ。"
@ -576,6 +584,7 @@ masterVolume: "全体のやかましさ"
notUseSound: "音出さへん" notUseSound: "音出さへん"
useSoundOnlyWhenActive: "Misskeyがアクティブなときだけ音出す" useSoundOnlyWhenActive: "Misskeyがアクティブなときだけ音出す"
details: "もっと" details: "もっと"
renoteDetails: "リノートの詳細"
chooseEmoji: "絵文字を選ぶ" chooseEmoji: "絵文字を選ぶ"
unableToProcess: "なんか奥の方で詰まってもうた" unableToProcess: "なんか奥の方で詰まってもうた"
recentUsed: "最近使ったやつ" recentUsed: "最近使ったやつ"
@ -591,6 +600,8 @@ ascendingOrder: "小さい順"
descendingOrder: "大きい順" descendingOrder: "大きい順"
scratchpad: "スクラッチパッド" scratchpad: "スクラッチパッド"
scratchpadDescription: "スクラッチパッドではAiScriptを色々試すことができるんや。Misskeyに対して色々できるコードを書いて動かしてみたり、結果を見たりできるで。" scratchpadDescription: "スクラッチパッドではAiScriptを色々試すことができるんや。Misskeyに対して色々できるコードを書いて動かしてみたり、結果を見たりできるで。"
uiInspector: "UIインスペクター"
uiInspectorDescription: "メモリ上にあるUIコンポーネントのインスタンス一覧を見れるで。UIコンポーネントはUi:C:系関数で生成されるで。"
output: "出力" output: "出力"
script: "スクリプト" script: "スクリプト"
disablePagesScript: "Pagesのスクリプトを無効にしてや" disablePagesScript: "Pagesのスクリプトを無効にしてや"
@ -671,11 +682,15 @@ smtpSecure: "SMTP 接続に暗黙的なSSL/TLSを使用する"
smtpSecureInfo: "STARTTLS使っとる時はオフにしてや。" smtpSecureInfo: "STARTTLS使っとる時はオフにしてや。"
testEmail: "配信テスト" testEmail: "配信テスト"
wordMute: "ワードミュート" wordMute: "ワードミュート"
wordMuteDescription: "指定した語句が入ってるノートを最小化するで。最小化されたノートをクリックしたら、表示できるようになるで。"
hardWordMute: "ハードワードミュート" hardWordMute: "ハードワードミュート"
showMutedWord: "ミュートされたワードを表示するで"
hardWordMuteDescription: "指定した語句が入ってるノートを隠すで。ワードミュートとちゃうて、ノートは完全に表示されんようになるで。"
regexpError: "正規表現エラー" regexpError: "正規表現エラー"
regexpErrorDescription: "{tab}ワードミュートの{line}行目の正規表現にエラーが出てきたで:" regexpErrorDescription: "{tab}ワードミュートの{line}行目の正規表現にエラーが出てきたで:"
instanceMute: "サーバーミュート" instanceMute: "サーバーミュート"
userSaysSomething: "{name}が何か言うとるわ" userSaysSomething: "{name}が何か言うとるわ"
userSaysSomethingAbout: "{name}が「{word}」についてなんか言うてたで"
makeActive: "使うで" makeActive: "使うで"
display: "表示" display: "表示"
copy: "コピー" copy: "コピー"
@ -909,6 +924,7 @@ followersVisibility: "フォロワーの公開範囲"
continueThread: "さらにスレッドを見るで" continueThread: "さらにスレッドを見るで"
deleteAccountConfirm: "アカウントを消すで?ええんか?" deleteAccountConfirm: "アカウントを消すで?ええんか?"
incorrectPassword: "パスワードがちゃうわ。" incorrectPassword: "パスワードがちゃうわ。"
incorrectTotp: "ワンタイムパスワードが間違っとるか、期限が切れとるみたいやな。"
voteConfirm: "「{choice}」に投票するんか?" voteConfirm: "「{choice}」に投票するんか?"
hide: "隠す" hide: "隠す"
useDrawerReactionPickerForMobile: "ケータイとかのときドロワーで表示するで" useDrawerReactionPickerForMobile: "ケータイとかのときドロワーで表示するで"
@ -933,6 +949,9 @@ oneHour: "1時間"
oneDay: "1日" oneDay: "1日"
oneWeek: "1週間" oneWeek: "1週間"
oneMonth: "1ヶ月" oneMonth: "1ヶ月"
threeMonths: "3ヶ月"
oneYear: "1年"
threeDays: "3日"
reflectMayTakeTime: "反映されるまで時間がかかることがあるで" reflectMayTakeTime: "反映されるまで時間がかかることがあるで"
failedToFetchAccountInformation: "アカウントの取得に失敗したみたいや…" failedToFetchAccountInformation: "アカウントの取得に失敗したみたいや…"
rateLimitExceeded: "レート制限が超えたみたいやで" rateLimitExceeded: "レート制限が超えたみたいやで"
@ -1073,6 +1092,7 @@ retryAllQueuesConfirmTitle: "もっかいやってみるか?"
retryAllQueuesConfirmText: "一時的にサーバー重なるかもしれへんで。" retryAllQueuesConfirmText: "一時的にサーバー重なるかもしれへんで。"
enableChartsForRemoteUser: "リモートユーザーのチャートを作る" enableChartsForRemoteUser: "リモートユーザーのチャートを作る"
enableChartsForFederatedInstances: "リモートサーバーのチャートを作る" enableChartsForFederatedInstances: "リモートサーバーのチャートを作る"
enableStatsForFederatedInstances: "リモートサーバの情報を取得"
showClipButtonInNoteFooter: "ノートのアクションにクリップを追加" showClipButtonInNoteFooter: "ノートのアクションにクリップを追加"
reactionsDisplaySize: "ツッコミの表示のでかさ" reactionsDisplaySize: "ツッコミの表示のでかさ"
limitWidthOfReaction: "ツッコミの最大横幅を制限して、ちっさく表示するで" limitWidthOfReaction: "ツッコミの最大横幅を制限して、ちっさく表示するで"
@ -1259,6 +1279,63 @@ confirmWhenRevealingSensitiveMedia: "センシティブなメディアを表示
sensitiveMediaRevealConfirm: "センシティブなメディアやで。表示するんか?" sensitiveMediaRevealConfirm: "センシティブなメディアやで。表示するんか?"
createdLists: "作成したリスト" createdLists: "作成したリスト"
createdAntennas: "作成したアンテナ" createdAntennas: "作成したアンテナ"
fromX: "{x}から"
genEmbedCode: "埋め込みコードを作る"
noteOfThisUser: "このユーザーのノート全部"
clipNoteLimitExceeded: "これ以上このクリップにノート追加でけへんわ。"
performance: "パフォーマンス"
modified: "変更あり"
discard: "やめる"
thereAreNChanges: "{n}個の変更があるみたいや"
signinWithPasskey: "パスキーでログイン"
unknownWebAuthnKey: "登録されてへんパスキーやな。"
passkeyVerificationFailed: "パスキーの検証に失敗したで。"
passkeyVerificationSucceededButPasswordlessLoginDisabled: "パスキーの検証は成功したんやけど、パスワードレスログインが無効になっとるわ。"
messageToFollower: "フォロワーへのメッセージ"
target: "対象"
testCaptchaWarning: "CAPTCHAのテストを目的としてるで。<strong>絶対に本番環境で使わんといてな。絶対やで。</strong>"
prohibitedWordsForNameOfUser: "禁止ワード(ユーザー名)"
prohibitedWordsForNameOfUserDescription: "このリストの中にある文字列がユーザー名に入っとったら、その名前に変更できひんようになるで。モデレーター権限があるユーザーは除外や。"
yourNameContainsProhibitedWords: "その名前は禁止した文字列が含まれとるで"
yourNameContainsProhibitedWordsDescription: "その名前は禁止した文字列が含まれとるわ。どうしてもって言うなら、サーバー管理者に言うしかないで。"
thisContentsAreMarkedAsSigninRequiredByAuthor: "投稿者が、表示にログインが要るって設定してるで"
lockdown: "ロックダウン"
pleaseSelectAccount: "アカウント選んでや"
availableRoles: "使えるロール"
acknowledgeNotesAndEnable: "注意事項をわかった上でオンにする。"
federationSpecified: "このサーバーはホワイトリスト連合で運用されてるで。管理者が指定したサーバー以外とはやり取りできひんで。"
federationDisabled: "このサーバーは連合が無効化されてるで。他のサーバーのユーザーとやり取りすることはできひんで。"
confirmOnReact: "ツッコむときに確認とる"
reactAreYouSure: "\" {emoji} \" でツッコむ?"
postForm: "投稿フォーム"
information: "情報"
_chat:
invitations: "来てや"
noHistory: "履歴はないわ。"
members: "メンバーはん"
home: "ホーム"
send: "送信"
_settings:
webhook: "Webhook"
_accountSettings:
requireSigninToViewContents: "ログインしてもらってからコンテンツ見てもらう"
requireSigninToViewContentsDescription1: "あなたが作成した全部のノートとかのコンテンツを見れるようにするのにログインがいるようにするで。クローラーにいろいろ収集されるんを防げるかもしれん。"
requireSigninToViewContentsDescription2: "URLプレビュー(OGP)、Webページへの埋め込み、ートの引用に対応してないサーバーからの表示ができんくなるで。"
requireSigninToViewContentsDescription3: "リモートサーバーに連合されたコンテンツは、これらの制限が適用されんかもしれんで。"
makeNotesFollowersOnlyBefore: "昔のノートをフォロワーだけに見てもらう"
makeNotesFollowersOnlyBeforeDescription: "この機能が有効になってる間は、設定された日時より前、それか設定された時間が経ったノートがフォロワーのみ見れるようになるで。無効に戻すと、ノートの公開状態も戻るで。"
makeNotesHiddenBefore: "昔のノートを見れんようにする"
makeNotesHiddenBeforeDescription: "この機能が有効になってる間は、設定された日時より前、それか設定された時間が経ったノートがフォロワーのみ見れるようになるで。無効に戻すと、ノートの公開状態も戻るで。"
mayNotEffectForFederatedNotes: "リモートサーバーに連合されたノートには効果が及ばんかもしれん。"
notesHavePassedSpecifiedPeriod: "決めた時間が経ったノート"
notesOlderThanSpecifiedDateAndTime: "決めた日時より前のノート"
_abuseUserReport:
forward: "転送"
forwardDescription: "匿名のシステムアカウントってことにして、リモートサーバーに通報を転送するで。"
resolve: "解決"
accept: "ええよ"
reject: "あかんよ"
resolveTutorial: "内容がええなら「ええよ」を選ぶんや。肯定的に解決されたことにして記録するで。\n逆に、内容がだめなら「あかんよ」を選びいや。否定的に解決されたって記録しとくで。"
_delivery: _delivery:
status: "配信状態" status: "配信状態"
stop: "配信せぇへん" stop: "配信せぇへん"
@ -1393,8 +1470,12 @@ _serverSettings:
fanoutTimelineDescription: "入れると、おのおのタイムラインを取得するときにめちゃめちゃ動きが良うなって、データベースが軽くなるわ。でも、Redisのメモリ使う量が増えるから注意な。サーバーのメモリが足りんときとか、動きが変なときは切れるで。" fanoutTimelineDescription: "入れると、おのおのタイムラインを取得するときにめちゃめちゃ動きが良うなって、データベースが軽くなるわ。でも、Redisのメモリ使う量が増えるから注意な。サーバーのメモリが足りんときとか、動きが変なときは切れるで。"
fanoutTimelineDbFallback: "データベースにフォールバックする" fanoutTimelineDbFallback: "データベースにフォールバックする"
fanoutTimelineDbFallbackDescription: "有効にしたら、タイムラインがキャッシュん中に入ってないときにDBにもっかい問い合わせるフォールバック処理ってのをやっとくで。切ったらフォールバック処理をやらんからサーバーはもっと軽くなんねんけど、タイムラインの取得範囲がちょっと減るで。" fanoutTimelineDbFallbackDescription: "有効にしたら、タイムラインがキャッシュん中に入ってないときにDBにもっかい問い合わせるフォールバック処理ってのをやっとくで。切ったらフォールバック処理をやらんからサーバーはもっと軽くなんねんけど、タイムラインの取得範囲がちょっと減るで。"
reactionsBufferingDescription: "有効にしたら、リアクション作るときのパフォーマンスがすっごい上がって、データベースへの負荷が減るで。代わりに、Redisのメモリ使用は増えるで。"
inquiryUrl: "問い合わせ先URL" inquiryUrl: "問い合わせ先URL"
inquiryUrlDescription: "サーバー運営者へのお問い合わせフォームのURLや、運営者の連絡先等が記載されたWebページのURLを指定するで。" inquiryUrlDescription: "サーバー運営者へのお問い合わせフォームのURLや、運営者の連絡先等が記載されたWebページのURLを指定するで。"
openRegistration: "アカウントの作成をオープンにする"
openRegistrationWarning: "登録を解放するのはリスクが伴うで。サーバーをいっつも監視して、なんか起きたらすぐに対応できるんやったら、オンにしてもええと思う。"
thisSettingWillAutomaticallyOffWhenModeratorsInactive: "一定期間モデレーターがおらんかったら、スパムを防ぐためにこの設定は勝手に切られるで。"
_accountMigration: _accountMigration:
moveFrom: "別のアカウントからこのアカウントに引っ越す" moveFrom: "別のアカウントからこのアカウントに引っ越す"
moveFromSub: "別のアカウントへエイリアスを作る" moveFromSub: "別のアカウントへエイリアスを作る"
@ -1726,6 +1807,11 @@ _role:
canSearchNotes: "ノート探せるかどうか" canSearchNotes: "ノート探せるかどうか"
canUseTranslator: "翻訳使えるかどうか" canUseTranslator: "翻訳使えるかどうか"
avatarDecorationLimit: "アイコンデコのいっちばんつけれる数" avatarDecorationLimit: "アイコンデコのいっちばんつけれる数"
canImportAntennas: "アンテナのインポートを許す"
canImportBlocking: "ブロックのインポートを許す"
canImportFollowing: "フォローのインポートを許す"
canImportMuting: "ミュートのインポートを許す"
canImportUserLists: "リストのインポートを許す"
_condition: _condition:
roleAssignedTo: "マニュアルロールにアサイン済み" roleAssignedTo: "マニュアルロールにアサイン済み"
isLocal: "ローカルユーザー" isLocal: "ローカルユーザー"
@ -1921,7 +2007,6 @@ _theme:
header: "ヘッダー" header: "ヘッダー"
navBg: "サイドバーの背景" navBg: "サイドバーの背景"
navFg: "サイドバーの文字" navFg: "サイドバーの文字"
navHoverFg: "サイドバー文字(ホバー)"
navActive: "サイドバー文字(アクティブ)" navActive: "サイドバー文字(アクティブ)"
navIndicator: "サイドバーのインジケーター" navIndicator: "サイドバーのインジケーター"
link: "リンク" link: "リンク"
@ -1944,11 +2029,8 @@ _theme:
buttonHoverBg: "ボタンの背景 (ホバー)" buttonHoverBg: "ボタンの背景 (ホバー)"
inputBorder: "入力ボックスの縁取り" inputBorder: "入力ボックスの縁取り"
driveFolderBg: "ドライブフォルダーの背景" driveFolderBg: "ドライブフォルダーの背景"
wallpaperOverlay: "壁紙のオーバーレイ"
badge: "バッジ" badge: "バッジ"
messageBg: "チャットの背景" messageBg: "チャットの背景"
accentDarken: "アクセント (暗め)"
accentLighten: "アクセント (明るめ)"
fgHighlighted: "強調されとる文字" fgHighlighted: "強調されとる文字"
_sfx: _sfx:
note: "ノート" note: "ノート"
@ -2101,6 +2183,7 @@ _permissions:
"read:clip-favorite": "クリップのいいね見る" "read:clip-favorite": "クリップのいいね見る"
"read:federation": "連合の情報取得" "read:federation": "連合の情報取得"
"write:report-abuse": "違反報告" "write:report-abuse": "違反報告"
"write:chat": "チャットを操作するで"
_auth: _auth:
shareAccessTitle: "アプリへのアクセス許してやったらどうや" shareAccessTitle: "アプリへのアクセス許してやったらどうや"
shareAccess: "「{name}」がアカウントにアクセスすることを許可してええか?" shareAccess: "「{name}」がアカウントにアクセスすることを許可してええか?"
@ -2109,8 +2192,11 @@ _auth:
permissionAsk: "このアプリは次の権限を要求しとるで" permissionAsk: "このアプリは次の権限を要求しとるで"
pleaseGoBack: "アプリケーションに戻ってええよ" pleaseGoBack: "アプリケーションに戻ってええよ"
callback: "アプリケーションに戻っとるで" callback: "アプリケーションに戻っとるで"
accepted: "アクセスを許可したで"
denied: "アクセスを拒否ったで" denied: "アクセスを拒否ったで"
scopeUser: "以下のユーザーとしていじってるで"
pleaseLogin: "アプリにアクセスさせるんやったら、ログインしてや。" pleaseLogin: "アプリにアクセスさせるんやったら、ログインしてや。"
byClickingYouWillBeRedirectedToThisUrl: "アクセスを許したら、自動で下のURLに遷移するで"
_antennaSources: _antennaSources:
all: "みんなのノート" all: "みんなのノート"
homeTimeline: "フォローしとるユーザーのノート" homeTimeline: "フォローしとるユーザーのノート"
@ -2219,6 +2305,9 @@ _profile:
changeBanner: "バナー画像を変更するで" changeBanner: "バナー画像を変更するで"
verifiedLinkDescription: "内容をURLに設定すると、リンク先のwebサイトに自分のプロフのリンクが含まれてる場合に所有者確認済みアイコンを表示させることができるで。" verifiedLinkDescription: "内容をURLに設定すると、リンク先のwebサイトに自分のプロフのリンクが含まれてる場合に所有者確認済みアイコンを表示させることができるで。"
avatarDecorationMax: "最大{max}つまでデコつけれんで" avatarDecorationMax: "最大{max}つまでデコつけれんで"
followedMessage: "フォローされたら返すメッセージ"
followedMessageDescription: "フォローされたときに相手に返す短めのメッセージを決めれるで。"
followedMessageDescriptionForLockedAccount: "フォローが承認制なら、フォローリクエストをOKしたときに見せるで。"
_exportOrImport: _exportOrImport:
allNotes: "全てのノート" allNotes: "全てのノート"
favoritedNotes: "お気に入りにしたノート" favoritedNotes: "お気に入りにしたノート"
@ -2281,9 +2370,6 @@ _pages:
newPage: "ページを作る" newPage: "ページを作る"
editPage: "ページの編集" editPage: "ページの編集"
readPage: "ソースを表示中" readPage: "ソースを表示中"
created: "ページを作成したで"
updated: "ページを更新したで"
deleted: "ページを削除したで"
pageSetting: "ページ設定" pageSetting: "ページ設定"
nameAlreadyExists: "指定されたページURLはもうあるみたいや" nameAlreadyExists: "指定されたページURLはもうあるみたいや"
invalidNameTitle: "正しくないページURLみたいやで" invalidNameTitle: "正しくないページURLみたいやで"
@ -2311,6 +2397,7 @@ _pages:
eyeCatchingImageSet: "アイキャッチ画像を設定" eyeCatchingImageSet: "アイキャッチ画像を設定"
eyeCatchingImageRemove: "アイキャッチ画像を削除" eyeCatchingImageRemove: "アイキャッチ画像を削除"
chooseBlock: "ブロックを追加" chooseBlock: "ブロックを追加"
enterSectionTitle: "セクションタイトルを入れる"
selectType: "種類を選択" selectType: "種類を選択"
contentBlocks: "コンテンツ" contentBlocks: "コンテンツ"
inputBlocks: "入力" inputBlocks: "入力"
@ -2356,13 +2443,17 @@ _notification:
renotedBySomeUsers: "{n}人がリノートしたで" renotedBySomeUsers: "{n}人がリノートしたで"
followedBySomeUsers: "{n}人にフォローされたで" followedBySomeUsers: "{n}人にフォローされたで"
flushNotification: "通知の履歴をリセットする" flushNotification: "通知の履歴をリセットする"
exportOfXCompleted: "{x}のエクスポートが終わったわ"
login: "ログインしとったで"
createToken: "アクセストークンが作成されたで"
createTokenDescription: "心当たりないんやったら「{text}」でアクセストークンを削除してやって。"
_types: _types:
all: "すべて" all: "すべて"
note: "あんたらの新規投稿" note: "あんたらの新規投稿"
follow: "フォロー" follow: "フォロー"
mention: "メンション" mention: "メンション"
reply: "リプライ" reply: "リプライ"
renote: "Renote" renote: "リノート"
quote: "引用" quote: "引用"
reaction: "ツッコミ" reaction: "ツッコミ"
pollEnded: "アンケートが終了したで" pollEnded: "アンケートが終了したで"
@ -2370,12 +2461,14 @@ _notification:
followRequestAccepted: "フォローが受理されたで" followRequestAccepted: "フォローが受理されたで"
roleAssigned: "ロールが付与された" roleAssigned: "ロールが付与された"
achievementEarned: "実績の獲得" achievementEarned: "実績の獲得"
exportCompleted: "エクスポート終わった"
login: "ログイン" login: "ログイン"
test: "通知テスト"
app: "連携アプリからの通知や" app: "連携アプリからの通知や"
_actions: _actions:
followBack: "フォローバック" followBack: "フォローバック"
reply: "返事" reply: "返事"
renote: "Renote" renote: "リノート"
_deck: _deck:
alwaysShowMainColumn: "いつもメインカラムを表示" alwaysShowMainColumn: "いつもメインカラムを表示"
columnAlign: "カラムの寄せ" columnAlign: "カラムの寄せ"
@ -2436,7 +2529,10 @@ _webhookSettings:
abuseReport: "ユーザーから通報があったとき" abuseReport: "ユーザーから通報があったとき"
abuseReportResolved: "ユーザーからの通報を処理したとき" abuseReportResolved: "ユーザーからの通報を処理したとき"
userCreated: "ユーザーが作成されたとき" userCreated: "ユーザーが作成されたとき"
inactiveModeratorsWarning: "モデレーターがしばらくおらんかったとき"
inactiveModeratorsInvitationOnlyChanged: "モデレーターがしばらくおらんかったから、システムが招待制に変えたとき"
deleteConfirm: "ほんまにWebhookをほかしてもええんか" deleteConfirm: "ほんまにWebhookをほかしてもええんか"
testRemarks: "スイッチ右のボタンを押すとダミーデータを使ったテスト用Webhookを送れるで。"
_abuseReport: _abuseReport:
_notificationRecipient: _notificationRecipient:
createRecipient: "通報の通知先を追加" createRecipient: "通報の通知先を追加"
@ -2480,6 +2576,8 @@ _moderationLogTypes:
markSensitiveDriveFile: "ファイルをセンシティブ付与" markSensitiveDriveFile: "ファイルをセンシティブ付与"
unmarkSensitiveDriveFile: "ファイルをセンシティブ解除" unmarkSensitiveDriveFile: "ファイルをセンシティブ解除"
resolveAbuseReport: "苦情を解決" resolveAbuseReport: "苦情を解決"
forwardAbuseReport: "通報を転送"
updateAbuseReportNote: "通報のモデレーションノート更新"
createInvitation: "招待コード作る" createInvitation: "招待コード作る"
createAd: "広告を作んで" createAd: "広告を作んで"
deleteAd: "広告ほかす" deleteAd: "広告ほかす"
@ -2491,6 +2589,14 @@ _moderationLogTypes:
unsetUserBanner: "この子のバナー元に戻す" unsetUserBanner: "この子のバナー元に戻す"
createSystemWebhook: "SystemWebhookを作成" createSystemWebhook: "SystemWebhookを作成"
updateSystemWebhook: "SystemWebhookを更新" updateSystemWebhook: "SystemWebhookを更新"
deleteSystemWebhook: "SystemWebhookを削除"
createAbuseReportNotificationRecipient: "通報の通知先作る"
updateAbuseReportNotificationRecipient: "通報の通知先更新"
deleteAbuseReportNotificationRecipient: "通報の通知先消す"
deleteAccount: "アカウント消す"
deletePage: "ページ消す"
deleteFlash: "Playをほかす"
deleteGalleryPost: "ギャラリーの投稿をほかす"
_fileViewer: _fileViewer:
title: "ファイルの詳しい情報" title: "ファイルの詳しい情報"
type: "ファイルの種類" type: "ファイルの種類"
@ -2504,10 +2610,8 @@ _externalResourceInstaller:
checkVendorBeforeInstall: "配ってるとこが信頼できるか確認した上でインストールしてな。" checkVendorBeforeInstall: "配ってるとこが信頼できるか確認した上でインストールしてな。"
_plugin: _plugin:
title: "このプラグイン、インストールする?" title: "このプラグイン、インストールする?"
metaTitle: "プラグイン情報"
_theme: _theme:
title: "このテーマインストールする?" title: "このテーマインストールする?"
metaTitle: "テーマ情報"
_meta: _meta:
base: "" base: ""
_vendorInfo: _vendorInfo:
@ -2622,3 +2726,136 @@ _mediaControls:
pip: "ピクチャインピクチャ" pip: "ピクチャインピクチャ"
playbackRate: "再生速度" playbackRate: "再生速度"
loop: "ループ再生" loop: "ループ再生"
_contextMenu:
title: "コンテキストメニュー"
app: "アプリ"
appWithShift: "Shiftキーでアプリ"
native: "ブラウザのUI"
_gridComponent:
_error:
requiredValue: "この値は必須項目やで"
columnTypeNotSupport: "正規表現によるバリデーションはtype:textのカラムだけサポートしてるで"
patternNotMatch: "この値は{pattern}のパターンに一致しいひんで"
notUnique: "この値は一意でなあかんで"
_roleSelectDialog:
notSelected: "選択されとらんで"
_customEmojisManager:
_gridCommon:
copySelectionRows: "選択行をコピーするで"
copySelectionRanges: "選択範囲をコピーするで"
deleteSelectionRows: "選択行を削除するで"
deleteSelectionRanges: "選択範囲の値をクリアするで"
searchSettings: "検索設定"
searchSettingCaption: "検索条件を詳しく設定するで。"
searchLimit: "表示件数"
sortOrder: "並び順"
registrationLogs: "登録ログ"
registrationLogsCaption: "絵文字更新・削除時のログが表示されるで。更新・削除操作をしたり、ページを遷移・リロードしたら消えるから気ぃつけてな。"
alertEmojisRegisterFailedDescription: "絵文字の更新・削除に失敗したで。詳細は登録ログを確認してな。"
_logs:
showSuccessLogSwitch: "成功ログを表示するで"
failureLogNothing: "失敗ログはあらへん。"
logNothing: "失敗ログはあらへん。"
_remote:
selectionRowDetail: "選択行の詳細やで"
importSelectionRows: "選択行をインポートするで"
importSelectionRangesRows: "選択範囲の行をインポートするで"
importEmojisButton: "チェックされた絵文字をインポートするで"
confirmImportEmojisTitle: "絵文字のインポートするで"
confirmImportEmojisDescription: "リモートから受信した{count}個の絵文字をインポートするで。絵文字のライセンスには十分気ぃつけてな。実行してもええか?"
_local:
tabTitleList: "登録済み絵文字一覧"
tabTitleRegister: "絵文字の登録"
_list:
emojisNothing: "登録された絵文字はないで。"
markAsDeleteTargetRows: "選択行を削除対象にするで"
markAsDeleteTargetRanges: "選択範囲の行を削除対象にするで"
alertUpdateEmojisNothingDescription: "変更された絵文字はないで。"
alertDeleteEmojisNothingDescription: "削除対象の絵文字はないで。"
confirmMovePage: "ページを移動してもええんか?"
confirmChangeView: "表示を変更してもええんか?"
confirmUpdateEmojisDescription: "{count}個の絵文字を更新するで。実行してもええか?"
confirmDeleteEmojisDescription: "チェックがつけられた{count}個の絵文字を削除するで。ほんまにええか?"
confirmResetDescription: "今までやった変更が全部リセットされるで。"
confirmMovePageDesciption: "このページの絵文字に変更が加えられてるで。\n保存せずページを移動してまうと、このページで加えた変更が全てパーになるで。"
dialogSelectRoleTitle: "絵文字に設定されたロールで検索"
_register:
uploadSettingTitle: "アップロード設定"
uploadSettingDescription: "この画面で絵文字アップロードするときの動きを設定できるで。"
directoryToCategoryLabel: "ディレクトリ名を\"category\"に入力する"
directoryToCategoryCaption: "ディレクトリをドラッグ・ドロップした時に、ディレクトリ名を\"category\"に入力します。"
emojiInputAreaCaption: "どれかの方法で登録する絵文字を選択して。"
emojiInputAreaList1: "この枠に画像ファイルかディレクトリをドラッグ&ドロップ"
emojiInputAreaList2: "このリンクをクリックしてPCから選択する"
emojiInputAreaList3: "このリンクをクリックしてドライブから選択する"
confirmRegisterEmojisDescription: "リストに表示されてる絵文字を新たなカスタム絵文字として登録するで。ほんまにええか? (サーバーがしんどくなるから、一回で登録できる絵文字は{count}件までやで)"
confirmClearEmojisDescription: "編集内容をほかして、リストに表示されている絵文字をクリアするで。ほんまにええか?"
confirmUploadEmojisDescription: "ドラッグ&ドロップされた{count}個のファイルをドライブにアップロードするで。ほんまにええか?"
_embedCodeGen:
title: "埋め込みコードをカスタム"
header: "ヘッダー出す"
autoload: "勝手に続きを読み込む(非推奨)"
maxHeight: "高さの最大値"
maxHeightDescription: "0は最大値を指定せえへんけど、ウィジェットが伸び続けるから絶対1以上にしといてや。"
maxHeightWarn: "高さの最大値が無効になっとるで。意図してへん変更なら、普通の値に戻してや。"
previewIsNotActual: "プレビュー画面で出せる範囲をはみ出したから、ホンマの表示とはちゃうとおもうで。"
rounded: "角丸める"
border: "外枠に枠線つける"
applyToPreview: "プレビューに反映"
generateCode: "埋め込みコード作る"
codeGenerated: "コード作ったで"
codeGeneratedDescription: "作ったコードはウェブサイトに貼っつけて使ってや。"
_selfXssPrevention:
warning: "警告"
title: "「この画面になんか貼り付けろ」は全部詐欺やで。"
description1: "ここになんかはつっつけると、悪いユーザーにアカウント乗っ取られたり、個人情報盗まれたりするかもやで"
description2: "はっつけようとしてるものがなんなんかわからんのやったら、%c今すぐ作業やめてウィンドウを閉じて。"
description3: "詳しくはこれを見て。{link}"
_followRequest:
recieved: "もらった申請"
sent: "送った申請"
_remoteLookupErrors:
_federationNotAllowed:
title: "このサーバーと通信できん"
description: "このサーバーとの通信は無効化されてるか、このサーバーをブロックしてるんか、ブロックされてるかもしれん。\nサーバー管理者に問い合わせてや。"
_uriInvalid:
title: "URIがおかしいで"
description: "入力されたURIに問題があるで。URIに使えん文字を入れてないから確かめて。"
_requestFailed:
title: "リクエスト失敗してもうたで"
description: "このサーバーとの通信に失敗してもうたわ。相手サーバーがダウンしてるかもしれん。あと、おかしいURIとか、ありえんURIを入れてないか確かめて。"
_responseInvalid:
title: "レスポンスがおかしいで"
description: "このサーバーと通信することはできたけど、もらったデータがおかしかったで。"
_noSuchObject:
title: "見つからへんね"
description: "求められたリソースが見つからんかったで。URIをもっかい確かめてや。"
_captcha:
verify: "CAPTCHAしばいたって"
testSiteKeyMessage: "サイトキーとシークレットキーにテスト用の値を入力することでプレビューを確認できるで。\n詳細は下記ページを確認してな。"
_error:
_requestFailed:
title: "CAPTCHAのリクエストに失敗してもうた"
text: "しばらく後で実行するか、設定をもっかい確認してや。"
_verificationFailed:
title: "CAPTCHAのリクエストに失敗してもうた"
text: "設定がほんまに合ってるかもっかい確認してや。"
_unknown:
title: "CAPTCHAエラー"
text: "思いもせんかったエラーが起きたわ。"
_bootErrors:
title: "読み込みに失敗したで"
serverError: "少し待ってからリロードしてもまだ問題が解決されんのやったら、以下のError IDを添えてサーバー管理者に連絡して。"
solution: "以下のことやったら解決するかもやで。"
solution1: "ブラウザとかOSを最新バージョンに更新する"
solution2: "アドブロッカーを無効にする"
solution3: "ブラウザのキャッシュをクリアする"
solution4: "(Tor Browser) dom.webaudio.enabledをtrueに設定する"
otherOption: "ほかのオプション"
otherOption1: "クライアント設定とキャッシュをほかす"
otherOption2: "簡易クライアントを起動"
otherOption3: "修復ツールを起動"
_search:
searchScopeAll: "みんな"
searchScopeLocal: "ローカル"
searchScopeUser: "ユーザー指定"

View file

@ -263,7 +263,6 @@ deleteAreYouSure: "{x}(얼)럴 뭉캡니꺼?"
resetAreYouSure: "아시로 데돌립니꺼?" resetAreYouSure: "아시로 데돌립니꺼?"
areYouSure: "갠찮십니꺼?" areYouSure: "갠찮십니꺼?"
saved: "저장햇십니다" saved: "저장햇십니다"
messaging: "대화"
upload: "올리기" upload: "올리기"
keepOriginalUploading: "온본 두기" keepOriginalUploading: "온본 두기"
keepOriginalUploadingDescription: "이미지럴 올릴 때 온본얼 고대로 둡니다. 꺼모 올릴 때 브라우저서 웹 공개 이미지럴 맨겁니다." keepOriginalUploadingDescription: "이미지럴 올릴 때 온본얼 고대로 둡니다. 꺼모 올릴 때 브라우저서 웹 공개 이미지럴 맨겁니다."
@ -276,7 +275,6 @@ uploadFromUrlMayTakeTime: "올리기가 껕날라먼 시간이 쪼매 걸릴 깁
explore: "살펴보기" explore: "살펴보기"
messageRead: "이럿어예" messageRead: "이럿어예"
noMoreHistory: "요카마 옛날 기록이 어ᇝ십니다" noMoreHistory: "요카마 옛날 기록이 어ᇝ십니다"
startMessaging: "대화하기"
nUsersRead: "{n}멩이 이럿십니다" nUsersRead: "{n}멩이 이럿십니다"
agreeTo: "{0}에 동이하기" agreeTo: "{0}에 동이하기"
agree: "동이합니다" agree: "동이합니다"
@ -356,7 +354,6 @@ enableLocalTimeline: "로컬 타임라인 키기"
enableGlobalTimeline: "글로벌 타임라인 키기" enableGlobalTimeline: "글로벌 타임라인 키기"
disablingTimelinesInfo: "요 타임라인얼 꺼도 간리자하고 중재자넌 고대로 설 수 잇십니다." disablingTimelinesInfo: "요 타임라인얼 꺼도 간리자하고 중재자넌 고대로 설 수 잇십니다."
registration: "맨걸기" registration: "맨걸기"
enableRegistration: "누라도 새로 맨걸 수 잇거로 하기"
invite: "초대하기" invite: "초대하기"
driveCapacityPerLocalAccount: "로컬 사용자 하나마중 드라이브 커기" driveCapacityPerLocalAccount: "로컬 사용자 하나마중 드라이브 커기"
driveCapacityPerRemoteAccount: "웬겍 사용자 하나마중 드라이브 커기" driveCapacityPerRemoteAccount: "웬겍 사용자 하나마중 드라이브 커기"
@ -458,8 +455,6 @@ retype: "다시 서기"
noteOf: "{user}님으 노트" noteOf: "{user}님으 노트"
quoteAttached: "따옴" quoteAttached: "따옴"
quoteQuestion: "따와가 작성하겠십니까?" quoteQuestion: "따와가 작성하겠십니까?"
noMessagesYet: "아직 대화가 없십니다"
newMessageExists: "새 메시지가 있십니다"
onlyOneFileCanBeAttached: "메시지엔 파일 하나까제밖에 몬 넣십니다" onlyOneFileCanBeAttached: "메시지엔 파일 하나까제밖에 몬 넣십니다"
invitations: "초대하기" invitations: "초대하기"
invitationCode: "초대장" invitationCode: "초대장"
@ -468,7 +463,7 @@ tooShort: "억수로 짜립니다"
tooLong: "억수로 집니다" tooLong: "억수로 집니다"
passwordMatched: "맞십니다" passwordMatched: "맞십니다"
passwordNotMatched: "안 맞십니다" passwordNotMatched: "안 맞십니다"
signinWith: "{n}서 로그인" signinWith: "{x} 서 로그인"
signinFailed: "로그인 몬 했십니다. 고 이름이랑 비밀번호 제대로 썼는가 확인해 주이소." signinFailed: "로그인 몬 했십니다. 고 이름이랑 비밀번호 제대로 썼는가 확인해 주이소."
or: "아니면" or: "아니면"
language: "언어" language: "언어"
@ -656,6 +651,12 @@ replies: "답하기"
renotes: "리노트" renotes: "리노트"
attach: "옇기" attach: "옇기"
surrender: "아이예" surrender: "아이예"
information: "정보"
_chat:
invitations: "초대하기"
noHistory: "기록이 없십니다"
members: "구성원"
home: "덜머리"
_delivery: _delivery:
stop: "고만 보내예" stop: "고만 보내예"
_type: _type:
@ -746,6 +747,7 @@ _theme:
description: "설멩" description: "설멩"
keys: keys:
mention: "멘션" mention: "멘션"
renote: "리노트"
_sfx: _sfx:
note: "새 노트" note: "새 노트"
notification: "알림" notification: "알림"
@ -809,11 +811,13 @@ _notification:
_types: _types:
follow: "팔로잉" follow: "팔로잉"
mention: "멘션" mention: "멘션"
renote: "리노트"
quote: "따오기" quote: "따오기"
reaction: "반엉" reaction: "반엉"
login: "로그인" login: "로그인"
_actions: _actions:
reply: "답하기" reply: "답하기"
renote: "리노트"
_deck: _deck:
_columns: _columns:
notifications: "알림" notifications: "알림"
@ -839,3 +843,9 @@ _reversi:
black: "꺼멍" black: "꺼멍"
white: "허영" white: "허영"
total: "합게" total: "합게"
_remoteLookupErrors:
_noSuchObject:
title: "몬 찾앗십니다"
_search:
searchScopeAll: "말캉"
searchScopeUser: "사용자 지정"

File diff suppressed because it is too large Load diff

View file

@ -223,7 +223,6 @@ remove: "ລຶບ"
removed: "ລຶບແລ້ວ" removed: "ລຶບແລ້ວ"
resetAreYouSure: "ຣີ​ເຊັດບໍ?" resetAreYouSure: "ຣີ​ເຊັດບໍ?"
saved: "ບັນທຶກແລ້ວ" saved: "ບັນທຶກແລ້ວ"
messaging: "ແຊັຕ"
upload: "ອັບໂຫຼດ" upload: "ອັບໂຫຼດ"
keepOriginalUploading: "ຮັກສາຮູບພາບຕົ້ນສະບັບ" keepOriginalUploading: "ຮັກສາຮູບພາບຕົ້ນສະບັບ"
fromDrive: "ຈາກ Drive" fromDrive: "ຈາກ Drive"
@ -233,7 +232,6 @@ uploadFromUrlDescription: "URL ຂອງໄຟລ໌ທີ່ທ່ານຕ້
uploadFromUrlRequested: "ຮ້ອງຂໍການອັບໂຫລດແລ້ວ" uploadFromUrlRequested: "ຮ້ອງຂໍການອັບໂຫລດແລ້ວ"
explore: "ສຳຫຼວດ" explore: "ສຳຫຼວດ"
messageRead: "ອ່ານແລ້ວ" messageRead: "ອ່ານແລ້ວ"
startMessaging: "ເລີ່ມການສົນທະນາໃໝ່"
nUsersRead: "ອ່ານໂດຍ {n}" nUsersRead: "ອ່ານໂດຍ {n}"
agree: "ຍອມຮັບ" agree: "ຍອມຮັບ"
termsOfService: "ເງື່ອນໄຂການບໍລິການ" termsOfService: "ເງື່ອນໄຂການບໍລິການ"
@ -299,7 +297,6 @@ enableLocalTimeline: "ເປີດໃຊ້ທາມລາຍທ້ອງຖິ
enableGlobalTimeline: "ເປີດໃຊ້ທາມລາຍທົ່ວໂລກ" enableGlobalTimeline: "ເປີດໃຊ້ທາມລາຍທົ່ວໂລກ"
disablingTimelinesInfo: "ຜູ້ດູແລລະບບແລະຜູ້ຄວບຄຸມຈະສາມາດເຂົ້າເຖີງໄທມ໌ໄລນ໌ທັ້ງເບີດ ເຖີງວ່າຈະບໍ່ໄດ້ເປີດໃຊ້ງານກໍ່ຕາມ" disablingTimelinesInfo: "ຜູ້ດູແລລະບບແລະຜູ້ຄວບຄຸມຈະສາມາດເຂົ້າເຖີງໄທມ໌ໄລນ໌ທັ້ງເບີດ ເຖີງວ່າຈະບໍ່ໄດ້ເປີດໃຊ້ງານກໍ່ຕາມ"
registration: "ລົງທະບຽນ" registration: "ລົງທະບຽນ"
enableRegistration: "ເປີດໃຊ້ການລົງທະບຽນຜູ້ໃຊ້ໃໝ່"
invite: "ເຊີນ" invite: "ເຊີນ"
driveCapacityPerLocalAccount: "ຄວາມຈຸຂອງ drive ຕໍ່ຜູ້ໃຊ້ທ້ອງຖິ່ນ" driveCapacityPerLocalAccount: "ຄວາມຈຸຂອງ drive ຕໍ່ຜູ້ໃຊ້ທ້ອງຖິ່ນ"
driveCapacityPerRemoteAccount: "ຄວາມຈຸຂອງ drive ຕໍ່ຜູ້ໃຊ້ໄລຍະໄກ" driveCapacityPerRemoteAccount: "ຄວາມຈຸຂອງ drive ຕໍ່ຜູ້ໃຊ້ໄລຍະໄກ"
@ -395,6 +392,12 @@ searchByGoogle: "ຄົ້ນຫາ"
file: "ໄຟລ໌" file: "ໄຟລ໌"
replies: "ຕອບ​ກັບ" replies: "ຕອບ​ກັບ"
renotes: "Renote" renotes: "Renote"
information: "ກ່ຽວກັບ"
_chat:
invitations: "ເຊີນ"
noHistory: "​ບໍ່​ມີປະຫວັດ"
members: "ສະມາຊິກ"
home: "ໜ້າຫຼັກ"
_delivery: _delivery:
stop: "ໂຈະ" stop: "ໂຈະ"
_type: _type:
@ -475,3 +478,8 @@ _abuseReport:
mail: "ອີເມວ" mail: "ອີເມວ"
_moderationLogTypes: _moderationLogTypes:
suspend: "ລະງັບ" suspend: "ລະງັບ"
_remoteLookupErrors:
_noSuchObject:
title: "ບໍ່ພົບ"
_search:
searchScopeAll: "ທັງໝົດ"

View file

@ -5,9 +5,13 @@ introMisskey: "Welkom! Misskey is een open source, gedecentraliseerde microblogd
poweredByMisskeyDescription: "{name} is één van de services die door het open source platform <b>Misskey</b> wordt geleverd (het wordt ook wel een \"Misskey server genmoemd\")." poweredByMisskeyDescription: "{name} is één van de services die door het open source platform <b>Misskey</b> wordt geleverd (het wordt ook wel een \"Misskey server genmoemd\")."
monthAndDay: "{day} {month}" monthAndDay: "{day} {month}"
search: "Zoeken" search: "Zoeken"
reset: "Herstellen"
notifications: "Meldingen" notifications: "Meldingen"
username: "Gebruikersnaam" username: "Gebruikersnaam"
password: "Wachtwoord" password: "Wachtwoord"
initialPasswordForSetup: "Initiële wachtwoord voor configuratie"
initialPasswordIsIncorrect: "Initiële wachtwoord voor configuratie is onjuist"
initialPasswordForSetupDescription: "Gebruik het initiële wachtwoord uit de configuratie, als je Misskey zelf hebt geïnstalleerd.\nAls je een Misskey hosting provider gebruikt, gebruik dan het gegeven wachtwoord.\nAls je geen wachtwoord hebt gezet, laat het dan leeg om verder te gaan."
forgotPassword: "Wachtwoord vergeten" forgotPassword: "Wachtwoord vergeten"
fetchingAsApObject: "Ophalen vanuit de Fediverse" fetchingAsApObject: "Ophalen vanuit de Fediverse"
ok: "Ok" ok: "Ok"
@ -45,6 +49,7 @@ pin: "Vastmaken aan profielpagina"
unpin: "Losmaken van profielpagina" unpin: "Losmaken van profielpagina"
copyContent: "Kopiëren inhoud" copyContent: "Kopiëren inhoud"
copyLink: "Kopiëren link" copyLink: "Kopiëren link"
copyRemoteLink: "Remote-link kopiëren"
copyLinkRenote: "" copyLinkRenote: ""
delete: "Verwijderen" delete: "Verwijderen"
deleteAndEdit: "Verwijderen en bewerken" deleteAndEdit: "Verwijderen en bewerken"
@ -60,6 +65,7 @@ copyFileId: "Kopieer veld ID"
copyFolderId: "Kopieer folder ID" copyFolderId: "Kopieer folder ID"
copyProfileUrl: "Kopieer profiel URL" copyProfileUrl: "Kopieer profiel URL"
searchUser: "Zoeken een gebruiker" searchUser: "Zoeken een gebruiker"
searchThisUsersNotes: "Notities van deze gebruiker doorzoeken"
reply: "Antwoord" reply: "Antwoord"
loadMore: "Laad meer" loadMore: "Laad meer"
showMore: "Toon meer" showMore: "Toon meer"
@ -108,9 +114,14 @@ enterEmoji: "Voer een emoji in"
renote: "Herdelen" renote: "Herdelen"
unrenote: "Stop herdelen" unrenote: "Stop herdelen"
renoted: "Herdeeld" renoted: "Herdeeld"
renotedToX: "Renoted naar {name}"
cantRenote: "Dit bericht kan niet worden herdeeld" cantRenote: "Dit bericht kan niet worden herdeeld"
cantReRenote: "Een herdeling kan niet worden herdeeld" cantReRenote: "Een herdeling kan niet worden herdeeld"
quote: "Quote" quote: "Quote"
inChannelRenote: "Alleen-kanaal Renote"
inChannelQuote: "Alleen-kanaal Citaat"
renoteToChannel: "Renote naar kanaal"
renoteToOtherChannel: "Renote naar ander kanaal"
pinnedNote: "Vastgemaakte notitie" pinnedNote: "Vastgemaakte notitie"
pinned: "Vastmaken aan profielpagina" pinned: "Vastmaken aan profielpagina"
you: "Jij" you: "Jij"
@ -119,14 +130,23 @@ sensitive: "NSFW"
add: "Toevoegen" add: "Toevoegen"
reaction: "Reacties" reaction: "Reacties"
reactions: "Reacties" reactions: "Reacties"
emojiPicker: "Emoji kiezer"
pinnedEmojisForReactionSettingDescription: "Kies de emojis die als eerste getoond worden tijdens het reageren"
pinnedEmojisSettingDescription: "Kies de emojis die als eerste getoond worden tijdens het reageren"
emojiPickerDisplay: "Emoji kiezer weergave"
overwriteFromPinnedEmojisForReaction: "Overschrijven met reactieinstellingen"
overwriteFromPinnedEmojis: "Overschrijven met algemene instellingen"
reactionSettingDescription2: "Sleep om opnieuw te ordenen, Klik om te verwijderen, Druk op \"+\" om toe te voegen" reactionSettingDescription2: "Sleep om opnieuw te ordenen, Klik om te verwijderen, Druk op \"+\" om toe te voegen"
rememberNoteVisibility: "Vergeet niet de notitie zichtbaarheidsinstellingen" rememberNoteVisibility: "Vergeet niet de notitie zichtbaarheidsinstellingen"
attachCancel: "Verwijder bijlage" attachCancel: "Verwijder bijlage"
deleteFile: "Bestand verwijderen"
markAsSensitive: "Markeren als NSFW" markAsSensitive: "Markeren als NSFW"
unmarkAsSensitive: "Geen NSFW" unmarkAsSensitive: "Geen NSFW"
enterFileName: "Invoeren bestandsnaam" enterFileName: "Invoeren bestandsnaam"
mute: "Dempen" mute: "Dempen"
unmute: "Stop dempen" unmute: "Stop dempen"
renoteMute: "Renotes dempen"
renoteUnmute: "Dempen Renotes opheffen"
block: "Blokkeren" block: "Blokkeren"
unblock: "Deblokkeren" unblock: "Deblokkeren"
suspend: "Opschorten" suspend: "Opschorten"
@ -136,11 +156,15 @@ unblockConfirm: "Ben je zeker dat je deze account wil blokkeren?"
suspendConfirm: "Ben je zeker dat je deze account wil suspenderen?" suspendConfirm: "Ben je zeker dat je deze account wil suspenderen?"
unsuspendConfirm: "Ben je zeker dat je deze account wil opnieuw aanstellen?" unsuspendConfirm: "Ben je zeker dat je deze account wil opnieuw aanstellen?"
selectList: "Kies een lijst." selectList: "Kies een lijst."
editList: "Lijst bewerken"
selectChannel: "Kanaal selecteren"
selectAntenna: "Kies een antenne" selectAntenna: "Kies een antenne"
editAntenna: "Antenne bewerken"
createAntenna: "Antenne aanmaken"
selectWidget: "Kies een widget" selectWidget: "Kies een widget"
editWidgets: "Bewerk widgets" editWidgets: "Bewerk widgets"
editWidgetsExit: "Klaar" editWidgetsExit: "Klaar"
customEmojis: "Maatwerk emoji" customEmojis: "Eigen emoji"
emoji: "Emoji" emoji: "Emoji"
emojis: "Emoji" emojis: "Emoji"
emojiName: "Naam emoji" emojiName: "Naam emoji"
@ -148,6 +172,10 @@ emojiUrl: "URL emoji"
addEmoji: "Toevoegen emoji" addEmoji: "Toevoegen emoji"
settingGuide: "Aanbevolen instellingen" settingGuide: "Aanbevolen instellingen"
cacheRemoteFiles: "Externe bestanden cachen" cacheRemoteFiles: "Externe bestanden cachen"
cacheRemoteFilesDescription: "Als deze instelling uitgeschakeld is worden bestanden altijd direct van remote servers geladen. Hiermee wordt opslagruimte bespaard, maar doordat er geen thumbnails worden gegenereerd, zal netwerkverkeer toenemen."
youCanCleanRemoteFilesCache: "Klik op de 🗑️ knop in de bestandsbeheerweergave om de cache te wissen."
cacheRemoteSensitiveFiles: "Gevoelige bestanden van externe instances in de cache bewaren"
cacheRemoteSensitiveFilesDescription: "Als deze instelling is uitgeschakeld, worden gevoelige bestanden op afstand direct vanuit de instantie op afstand geladen zonder caching."
flagAsBot: "Markeer dit account als een robot." flagAsBot: "Markeer dit account als een robot."
flagAsBotDescription: "Als dit account van een programma wordt beheerd, zet deze vlag aan. Het aanzetten helpt andere ontwikkelaars om bijvoorbeeld onbedoelde feedback loops te doorbreken of om Misskey meer geschikt te maken." flagAsBotDescription: "Als dit account van een programma wordt beheerd, zet deze vlag aan. Het aanzetten helpt andere ontwikkelaars om bijvoorbeeld onbedoelde feedback loops te doorbreken of om Misskey meer geschikt te maken."
flagAsCat: "Markeer dit account als een kat." flagAsCat: "Markeer dit account als een kat."
@ -156,8 +184,13 @@ flagShowTimelineReplies: "Toon antwoorden op de tijdlijn."
flagShowTimelineRepliesDescription: "Als je dit vlag aanzet, toont de tijdlijn ook antwoorden op andere en niet alleen jouw eigen notities." flagShowTimelineRepliesDescription: "Als je dit vlag aanzet, toont de tijdlijn ook antwoorden op andere en niet alleen jouw eigen notities."
autoAcceptFollowed: "Accepteer verzoeken om jezelf te volgen vanzelf als je de verzoeker al volgt." autoAcceptFollowed: "Accepteer verzoeken om jezelf te volgen vanzelf als je de verzoeker al volgt."
addAccount: "Account toevoegen" addAccount: "Account toevoegen"
reloadAccountsList: "Accountlijst opnieuw laden"
loginFailed: "Aanmelding mislukt." loginFailed: "Aanmelding mislukt."
showOnRemote: "Toon op de externe instantie." showOnRemote: "Toon op de externe instantie."
continueOnRemote: "Verder op remote server"
chooseServerOnMisskeyHub: "Kies een server van de Misskey Hub"
specifyServerHost: "Serverhost uitkiezen"
inputHostName: "Domein invullen"
general: "Algemeen" general: "Algemeen"
wallpaper: "Achtergrond" wallpaper: "Achtergrond"
setWallpaper: "Achtergrond instellen" setWallpaper: "Achtergrond instellen"
@ -168,6 +201,7 @@ followConfirm: "Weet je zeker dat je {name} wilt volgen?"
proxyAccount: "Proxy account" proxyAccount: "Proxy account"
proxyAccountDescription: "Een proxy-account is een account dat onder bepaalde voorwaarden fungeert als externe volger voor gebruikers. Als een gebruiker bijvoorbeeld een externe gebruiker aan de lijst toevoegt, wordt de activiteit van de externe gebruiker niet aan de server geleverd als geen lokale gebruiker die gebruiker volgt, dus het proxy-account volgt in plaats daarvan." proxyAccountDescription: "Een proxy-account is een account dat onder bepaalde voorwaarden fungeert als externe volger voor gebruikers. Als een gebruiker bijvoorbeeld een externe gebruiker aan de lijst toevoegt, wordt de activiteit van de externe gebruiker niet aan de server geleverd als geen lokale gebruiker die gebruiker volgt, dus het proxy-account volgt in plaats daarvan."
host: "Server" host: "Server"
selectSelf: "Mezelf kiezen"
selectUser: "Kies een gebruiker" selectUser: "Kies een gebruiker"
recipient: "Ontvanger" recipient: "Ontvanger"
annotation: "Reacties" annotation: "Reacties"
@ -182,6 +216,8 @@ perHour: "Per uur"
perDay: "Per dag" perDay: "Per dag"
stopActivityDelivery: "Stop met versturen activiteiten" stopActivityDelivery: "Stop met versturen activiteiten"
blockThisInstance: "Blokkeer deze server" blockThisInstance: "Blokkeer deze server"
silenceThisInstance: "Instantie dempen"
mediaSilenceThisInstance: "Media van deze server dempen"
operations: "Verwerkingen" operations: "Verwerkingen"
software: "Software" software: "Software"
version: "Versie" version: "Versie"
@ -201,6 +237,12 @@ clearCachedFiles: "Cache opschonen"
clearCachedFilesConfirm: "Weet je zeker dat je alle externe bestanden in de cache wilt verwijderen?" clearCachedFilesConfirm: "Weet je zeker dat je alle externe bestanden in de cache wilt verwijderen?"
blockedInstances: "Geblokkeerde servers" blockedInstances: "Geblokkeerde servers"
blockedInstancesDescription: "Maak een lijst van de servers die moeten worden geblokkeerd, gescheiden door regeleinden. Geblokkeerde servers kunnen niet meer communiceren met deze server." blockedInstancesDescription: "Maak een lijst van de servers die moeten worden geblokkeerd, gescheiden door regeleinden. Geblokkeerde servers kunnen niet meer communiceren met deze server."
silencedInstances: "Gedempte instanties"
silencedInstancesDescription: "Geef de hostnamen van de servers die je wil dempen op, elk op hun eigen regel. Alle accounts die bij de opgegeven servers horen worden als gedempt behandeld, kunnen alleen maar volgverzoeken maken, en kunnen lokale accounts niet vermelden als ze niet gevolgd worden. Geblokkeerde servers worden hier niet door beïnvloed."
mediaSilencedInstances: "Media-gedempte servers"
mediaSilencedInstancesDescription: "Geef de hostnamen van de servers die je wil media-dempen op, elk op hun eigen regel. Alle accounts die bij de opgegeven servers horen worden als gedempt behandeld, en kunnen geen eigen emojis gebruiken. Geblokkeerde servers worden hier niet door beïnvloed."
federationAllowedHosts: "Servers die mogen federeren "
federationAllowedHostsDescription: "Geef de hostnamen van de servers die mogen federeren op, elk op hun eigen regel."
muteAndBlock: "Gedempt en geblokkeerd" muteAndBlock: "Gedempt en geblokkeerd"
mutedUsers: "Gedempte gebruikers" mutedUsers: "Gedempte gebruikers"
blockedUsers: "Geblokkeerde gebruikers" blockedUsers: "Geblokkeerde gebruikers"
@ -245,8 +287,8 @@ removed: "Succesvol verwijderd"
removeAreYouSure: "Weet je zeker dat je \"{x}\" wil verwijderen?" removeAreYouSure: "Weet je zeker dat je \"{x}\" wil verwijderen?"
deleteAreYouSure: "Weet je zeker dat je \"{x}\" wil verwijderen?" deleteAreYouSure: "Weet je zeker dat je \"{x}\" wil verwijderen?"
resetAreYouSure: "Resetten?" resetAreYouSure: "Resetten?"
areYouSure: "Weet je het zeker?"
saved: "Opgeslagen" saved: "Opgeslagen"
messaging: "Chat"
upload: "Uploaden" upload: "Uploaden"
keepOriginalUploading: "Origineel beeld behouden." keepOriginalUploading: "Origineel beeld behouden."
keepOriginalUploadingDescription: "Bewaar de originele versie bij het uploaden van afbeeldingen. Indien uitgeschakeld, wordt bij het uploaden een alternatieve versie voor webpublicatie genereert." keepOriginalUploadingDescription: "Bewaar de originele versie bij het uploaden van afbeeldingen. Indien uitgeschakeld, wordt bij het uploaden een alternatieve versie voor webpublicatie genereert."
@ -259,9 +301,13 @@ uploadFromUrlMayTakeTime: "Het kan even duren voordat het uploaden voltooid is."
explore: "Verkennen" explore: "Verkennen"
messageRead: "Lezen" messageRead: "Lezen"
noMoreHistory: "Er is geen verdere geschiedenis" noMoreHistory: "Er is geen verdere geschiedenis"
startMessaging: "Start een gesprek" startChat: "Chat starten"
nUsersRead: "gelezen door {n}" nUsersRead: "gelezen door {n}"
agreeTo: "Ik stem in met {0}" agreeTo: "Ik stem in met {0}"
agree: "Akkoord"
agreeBelow: "Ik ga akkoord met de volgende"
basicNotesBeforeCreateAccount: "Belangrijke informatie"
termsOfService: "Gebruiksvoorwaarden"
start: "Aan de slag" start: "Aan de slag"
home: "Startpagina" home: "Startpagina"
remoteUserCaution: "Aangezien deze gebruiker van een externe server afkomstig is, kan de weergegeven informatie onvolledig zijn." remoteUserCaution: "Aangezien deze gebruiker van een externe server afkomstig is, kan de weergegeven informatie onvolledig zijn."
@ -286,12 +332,15 @@ selectFile: "Kies een bestand"
selectFiles: "Selecteer bestanden" selectFiles: "Selecteer bestanden"
selectFolder: "Kies een map" selectFolder: "Kies een map"
selectFolders: "Kies mappen" selectFolders: "Kies mappen"
fileNotSelected: "Geen bestand geselecteerd"
renameFile: "Wijzig bestandsnaam" renameFile: "Wijzig bestandsnaam"
folderName: "Mapnaam" folderName: "Mapnaam"
createFolder: "Map aanmaken" createFolder: "Map aanmaken"
renameFolder: "Map hernoemen" renameFolder: "Map hernoemen"
deleteFolder: "Map verwijderen" deleteFolder: "Map verwijderen"
folder: "Map"
addFile: "Bestand toevoegen" addFile: "Bestand toevoegen"
showFile: "Bestanden weergeven"
emptyDrive: "Jouw Drive is leeg." emptyDrive: "Jouw Drive is leeg."
emptyFolder: "Deze map is leeg" emptyFolder: "Deze map is leeg"
unableToDelete: "Kan niet worden verwijderd" unableToDelete: "Kan niet worden verwijderd"
@ -304,6 +353,7 @@ copyUrl: "URL kopiëren"
rename: "Hernoemen" rename: "Hernoemen"
avatar: "Avatar" avatar: "Avatar"
banner: "Banner" banner: "Banner"
displayOfSensitiveMedia: "Weergave van gevoelige media"
whenServerDisconnected: "Wanneer de verbinding met de server wordt onderbroken" whenServerDisconnected: "Wanneer de verbinding met de server wordt onderbroken"
disconnectedFromServer: "Verbinding met de server onderbroken." disconnectedFromServer: "Verbinding met de server onderbroken."
reload: "Verversen" reload: "Verversen"
@ -333,7 +383,6 @@ enableLocalTimeline: "Inschakelen lokale tijdlijn"
enableGlobalTimeline: "Inschakelen globale tijdlijn " enableGlobalTimeline: "Inschakelen globale tijdlijn "
disablingTimelinesInfo: "Beheerders en moderators hebben altijd toegang tot alle tijdlijnen, ook als ze niet actief zijn." disablingTimelinesInfo: "Beheerders en moderators hebben altijd toegang tot alle tijdlijnen, ook als ze niet actief zijn."
registration: "Registreren" registration: "Registreren"
enableRegistration: "Inschakelen registratie nieuwe gebruikers "
invite: "Uitnodigen" invite: "Uitnodigen"
driveCapacityPerLocalAccount: "Opslagruimte per lokale gebruiker" driveCapacityPerLocalAccount: "Opslagruimte per lokale gebruiker"
driveCapacityPerRemoteAccount: "Opslagruimte per externe gebruiker" driveCapacityPerRemoteAccount: "Opslagruimte per externe gebruiker"
@ -342,14 +391,20 @@ bannerUrl: "Banner URL"
backgroundImageUrl: "URL afbeelding" backgroundImageUrl: "URL afbeelding"
basicInfo: "Basisinformatie" basicInfo: "Basisinformatie"
pinnedUsers: "Vastgeprikte gebruikers" pinnedUsers: "Vastgeprikte gebruikers"
pinnedUsersDescription: "Een lijst met gebruikersnamen, gescheiden door regeleinden, die moet worden vastgemaakt in het tabblad “Verkennen”"
pinnedPages: "Vastgeprikte pagina's" pinnedPages: "Vastgeprikte pagina's"
pinnedPagesDescription: "Voer de paden in van de Pagina's die je aan de bovenste pagina van deze instantie wilt vastmaken, gescheiden door regeleinden."
pinnedClipId: "ID van de clip die moet worden vastgepind"
pinnedNotes: "Vastgemaakte notitie" pinnedNotes: "Vastgemaakte notitie"
hcaptcha: "hCaptcha" hcaptcha: "hCaptcha"
enableHcaptcha: "Inschakelen hCaptcha" enableHcaptcha: "Inschakelen hCaptcha"
hcaptchaSiteKey: "Site sleutel" hcaptchaSiteKey: "Site sleutel"
hcaptchaSecretKey: "Geheime sleutel" hcaptchaSecretKey: "Geheime sleutel"
mcaptcha: "mCaptcha"
enableMcaptcha: "mCaptcha activeren"
mcaptchaSiteKey: "Site sleutel" mcaptchaSiteKey: "Site sleutel"
mcaptchaSecretKey: "Geheime sleutel" mcaptchaSecretKey: "Geheime sleutel"
mcaptchaInstanceUrl: "mCaptcha server-URL"
recaptcha: "reCAPTCHA" recaptcha: "reCAPTCHA"
enableRecaptcha: "Inschakelen reCAPTCHA" enableRecaptcha: "Inschakelen reCAPTCHA"
recaptchaSiteKey: "Site sleutel" recaptchaSiteKey: "Site sleutel"
@ -358,12 +413,21 @@ turnstile: "Tourniquet"
enableTurnstile: "Inschakelen tourniquet" enableTurnstile: "Inschakelen tourniquet"
turnstileSiteKey: "Site sleutel" turnstileSiteKey: "Site sleutel"
turnstileSecretKey: "Geheime sleutel" turnstileSecretKey: "Geheime sleutel"
avoidMultiCaptchaConfirm: "Het gebruik van meerdere Captcha-systemen kan interferentie tussen deze systemen veroorzaken. Wil je de andere Captcha-systemen die momenteel actief zijn uitschakelen? Als je wilt dat ze ingeschakeld blijven, druk dan op annuleren."
antennas: "Antennes" antennas: "Antennes"
manageAntennas: "Antennes beheren" manageAntennas: "Antennes beheren"
name: "Naam" name: "Naam"
antennaSource: "Bron antenne" antennaSource: "Bron antenne"
antennaKeywords: "Sleutelwoorden" antennaKeywords: "Sleutelwoorden"
antennaExcludeKeywords: "Blokkeerwoorden" antennaExcludeKeywords: "Blokkeerwoorden"
antennaExcludeBots: "Bot-accounts uitsluiten"
antennaKeywordsDescription: "Scheid met spaties voor een EN-voorwaarde of met regeleinden voor een OF-voorwaarde."
notifyAntenna: "Houd een notificatie bij nieuwe notities"
withFileAntenna: "Alleen notities met bestanden"
excludeNotesInSensitiveChannel: "Sluit notities uit van gevoelige kanalen"
enableServiceworker: "Activeer pushmeldingen in de browser"
antennaUsersDescription: "Lijst één gebruikersnaam per regel"
caseSensitive: "Hoofdlettergevoelig"
withReplies: "Antwoorden toevoegen" withReplies: "Antwoorden toevoegen"
connectedTo: "De volgende accounts zijn verbonden" connectedTo: "De volgende accounts zijn verbonden"
notesAndReplies: "Berichten en reacties" notesAndReplies: "Berichten en reacties"
@ -384,18 +448,30 @@ about: "Over"
aboutMisskey: "Over Misskey" aboutMisskey: "Over Misskey"
administrator: "Beheerder" administrator: "Beheerder"
token: "Token" token: "Token"
2fa: "Twee factor authenticatie"
setupOf2fa: "Tweefactorauthenticatie instellen"
totp: "Verificatie-App"
totpDescription: "Log in via de verificatie-app met het eenmalige wachtwoord"
moderator: "Moderator" moderator: "Moderator"
moderation: "Moderatie" moderation: "Moderatie"
moderationNote: "Moderatienotitie"
moderationNoteDescription: "Voer hier notities in. Deze zijn alleen zichtbaar voor de moderators."
addModerationNote: "Moderatienotitie toevoegen"
moderationLogs: "Moderatieprotocollen"
nUsersMentioned: "Vermeld door {n} gebruikers" nUsersMentioned: "Vermeld door {n} gebruikers"
securityKeyAndPasskey: "Beveiligings- en pasjessleutels"
securityKey: "Beveiligingssleutel" securityKey: "Beveiligingssleutel"
lastUsed: "Laatst gebruikt" lastUsed: "Laatst gebruikt"
lastUsedAt: "Laatst gebruikt: {t}"
unregister: "Uitschrijven" unregister: "Uitschrijven"
passwordLessLogin: "Inloggen zonder wachtwoord" passwordLessLogin: "Inloggen zonder wachtwoord"
passwordLessLoginDescription: "Maakt aanmelden zonder wachtwoord mogelijk met een beveiligingstoken of -wachtsleutel"
resetPassword: "Wachtwoord terugzetten" resetPassword: "Wachtwoord terugzetten"
newPasswordIs: "Het nieuwe wachtwoord is „{password}”." newPasswordIs: "Het nieuwe wachtwoord is „{password}”."
reduceUiAnimation: "Verminder beweging in de UI" reduceUiAnimation: "Verminder beweging in de UI"
share: "Delen" share: "Delen"
notFound: "Niet gevonden" notFound: "Niet gevonden"
notFoundDescription: "Er is geen pagina gevonden onder deze URL."
uploadFolder: "Standaardmap voor uploaden" uploadFolder: "Standaardmap voor uploaden"
markAsReadAllNotifications: "Markeer alle meldingen als gelezen" markAsReadAllNotifications: "Markeer alle meldingen als gelezen"
markAsReadAllUnreadNotes: "Markeer alle berichten als gelezen" markAsReadAllUnreadNotes: "Markeer alle berichten als gelezen"
@ -404,21 +480,467 @@ help: "Help"
inputMessageHere: "Voer hier je bericht in" inputMessageHere: "Voer hier je bericht in"
close: "Sluiten" close: "Sluiten"
invites: "Uitnodigen" invites: "Uitnodigen"
members: "Leden"
transfer: "Overdracht"
title: "Titel"
text: "Tekst"
enable: "Inschakelen"
next: "Volgende"
retype: "Opnieuw invoeren"
noteOf: "Notitie van {user}"
quoteAttached: "Citaat"
quoteQuestion: "Toevoegen als citaat?"
attachAsFileQuestion: "De tekst op het klembord is te lang. Wilt u het als een tekstbestand bijvoegen?"
onlyOneFileCanBeAttached: "Per bericht kan slechts één bestand worden bijgevoegd"
signinRequired: "Gelieve te registreren of in te loggen om verder te gaan"
signinOrContinueOnRemote: "Ga naar je eigen instantie of registreer je/log in op deze server om door te gaan."
invitations: "Uitnodigen" invitations: "Uitnodigen"
invitationCode: "Uitnodigingscode"
checking: "Wordt gecheckt ..."
available: "Beschikbaar"
unavailable: "Onbeschikbaar"
usernameInvalidFormat: "Je kunt kleine letters, hoofdletters, cijfers en onderstrepingstekens gebruiken."
tooShort: "Te kort"
tooLong: "Te lang"
weakPassword: "Zwak wachtwoord"
normalPassword: "Redelijke wachtwoord"
strongPassword: "Sterk wachtwoord"
passwordMatched: "Lucifers"
passwordNotMatched: "Komt niet overeen"
signinWith: "Aanmelden met {x}"
signinFailed: "Inloggen mislukt. Controleer gebruikersnaam en wachtwoord."
or: "Of"
language: "Taal"
uiLanguage: "Taal van gebruikersinterface"
aboutX: "Over {x}"
emojiStyle: "Emoji-stijl"
native: "Inheems"
menuStyle: "Menustijl"
style: "Stijl"
drawer: "Lade"
popup: "Pop-up"
showNoteActionsOnlyHover: "Toon notitiemenu alleen bij muisaanwijzer"
showReactionsCount: "Zie het aantal reacties op notities"
noHistory: "Geen geschiedenis gevonden"
signinHistory: "Inloggeschiedenis"
enableAdvancedMfm: "Uitgebreide MFM activeren"
enableAnimatedMfm: "Geanimeerde MFM activeren"
doing: "In uitvoering..."
category: "Categorie"
tags: "Aliassen"
docSource: "Broncode van dit document"
createAccount: "Gebruikersaccount maken"
existingAccount: "Bestaand gebruikersaccount"
regenerate: "Regenereer"
fontSize: "Lettergrootte"
mediaListWithOneImageAppearance: "Hoogte van medialijsten met slechts één afbeelding"
limitTo: "Beperken tot {x}"
noFollowRequests: "Je hebt geen lopende volgverzoeken"
openImageInNewTab: "Afbeeldingen in nieuw tabblad openen"
dashboard: "Overzicht"
local: "Lokaal"
remote: "Remote"
total: "Totaal"
weekOverWeekChanges: "Wijzigingen sinds vorige week"
dayOverDayChanges: "Dagelijkse wijzigingen"
appearance: "Weergave"
clientSettings: "Clientinstellingen"
accountSettings: "Accountinstellingen"
promotion: "Promotie"
promote: "Promoot"
numberOfDays: "Aantal dagen"
hideThisNote: "Verberg deze notitie"
showFeaturedNotesInTimeline: "Laat featured notities in tijdlijn zien"
objectStorage: "Object Storage"
useObjectStorage: "Object Storage gebruiken"
objectStorageBaseUrl: "Basis-URL"
objectStorageBaseUrlDesc: "De URL die wordt gebruikt als referentie. Als je een CDN of proxy gebruikt, voer dan de URL daarvan in. Gebruik voor S3 https://<bucket>.s3.amazonaws.com. Gebruik voor GCS of vergelijkbaar https://storage.googleapis.com/<bucket>."
objectStorageBucket: "Bucket"
objectStorageBucketDesc: "Geef de bucketnaam op die bij je provider wordt gebruikt."
objectStoragePrefix: "Prefix"
objectStoragePrefixDesc: "Bestanden worden opgeslagen in de mappen onder deze prefix."
objectStorageEndpoint: "Endpoint"
objectStorageEndpointDesc: "Laat dit leeg als je AWS S3 gebruikt, anders geef je het eindpunt op als <host> of <host>:<port>, afhankelijk van de service die je gebruikt."
objectStorageRegion: "Region"
objectStorageRegionDesc: "Voer een regio in zoals “xx-east-1”. Als je provider geen onderscheid maakt tussen regio's, voer dan “us-east-1” in. Laat leeg als je AWS-configuratiebestanden of omgevingsvariabelen gebruikt."
objectStorageUseSSL: "SSL gebruiken"
objectStorageUseSSLDesc: "Deactiveer dit als u geen HTTPS gebruikt voor API-verbindingen"
objectStorageUseProxy: "Verbinden via proxy"
objectStorageUseProxyDesc: "Deactiveer dit als u geen proxy wilt gebruiken voor verbindingen met de API"
objectStorageSetPublicRead: "Instellen op “public-read” op upload"
s3ForcePathStyleDesc: "Als s3ForcePathStyle is geactiveerd, moet de bucketnaam niet worden opgegeven in de hostnaam van de URL, maar in het pad van de URL. Deze optie moet mogelijk worden geactiveerd als services zoals een zelfbediende Minio-instantie worden gebruikt."
serverLogs: "Serverprotocollen"
deleteAll: "Alles verwijderen"
showFixedPostForm: "Het postingformulier bovenaan de tijdbalk weergeven"
showFixedPostFormInChannel: "Het postingformulier bovenaan de tijdbalk weergeven (Kanalen)"
withRepliesByDefaultForNewlyFollowed: "Toon replies van nieuw gevolgde gebruikers standaard in de tijdlijn"
newNoteRecived: "Er zijn nieuwe notities"
sounds: "Geluiden"
sound: "Geluid" sound: "Geluid"
listen: "Luisteren"
none: "Niets"
showInPage: "Weergeven in een pagina"
popout: "Pop-Up"
volume: "Volume"
masterVolume: "Hoofdvolume"
notUseSound: "Geluid uitschakelen"
useSoundOnlyWhenActive: "Geluid alleen inschakelen wanneer Misskey actief is"
details: "Details"
renoteDetails: "Renote Details"
chooseEmoji: "Emoji selecteren"
unableToProcess: "De operatie kan niet worden voltooid."
recentUsed: "Recent gebruikt"
install: "Installeren"
uninstall: "Deinstalleren"
installedApps: "Geautoriseerde toepassingen"
nothing: "Niets te zien hier"
installedDate: "Geautoriseerd at"
lastUsedDate: "Laatst gebruikt at"
state: "Status"
sort: "Sorteren"
ascendingOrder: "Oplopende volgorde"
descendingOrder: "Aflopende volgorde"
scratchpad: "Testomgeving"
scratchpadDescription: "De testomgeving biedt een gebied voor AiScript experimenten. Daar kunt u AiScript schrijven en uitvoeren en de effecten ervan op Misskey controleren."
uiInspector: "UI-inspecteur"
uiInspectorDescription: "De lijst met servers van UI-componenten kan worden bekeken in de cache. De UI-component wordt gegenereerd door de functie Ui:C:"
output: "Uitvoer"
script: "Script"
disablePagesScript: "AiScript uitschakelen op pagina's"
updateRemoteUser: "Gebruikersinformatie bijwerken"
unsetUserAvatar: "Avatar verwijderen"
unsetUserAvatarConfirm: "Weet je zeker dat je je avatar wil verwijderen?"
unsetUserBanner: "Banner verwijderen"
unsetUserBannerConfirm: "Weet je zeker dat je je banner wil verwijderen?"
deleteAllFiles: "Alle bestanden verwijderen"
deleteAllFilesConfirm: "Wil je echt alle bestanden verwijderen?"
removeAllFollowing: "Ontvolg alle gevolgde gebruikers"
removeAllFollowingDescription: "Door dit uit te voeren worden alle accounts van {host} ontvolgd. Voer dit uit als de instantie bijvoorbeeld niet meer bestaat."
userSuspended: "Deze gebruiker is geschorst."
userSilenced: "Deze gebruiker is instantiebreed gedempt."
yourAccountSuspendedTitle: "Deze account is geschorst"
yourAccountSuspendedDescription: "Dit gebruikersaccount is geschorst omdat het de gebruiksvoorwaarden van deze server heeft geschonden. Neem contact op met de operator voor meer informatie. Maak geen nieuwe gebruikersaccount aan."
tokenRevoked: "Ongeldig token"
tokenRevokedDescription: "Het token is verlopen. Log opnieuw in."
accountDeleted: "Het gebruikersaccount is verwijderd"
accountDeletedDescription: "Deze account is verwijderd."
menu: "Menu"
divider: "Scheider"
addItem: "Element toevoegen"
rearrange: "Sorteren"
relays: "Relays"
addRelay: "Relay toevoegen"
inboxUrl: "Inbox-URL"
addedRelays: "Toegevoegd Relays"
serviceworkerInfo: "Moet worden geactiveerd voor pushmeldingen."
deletedNote: "Verwijderde notitie"
invisibleNote: "Privé notitie"
enableInfiniteScroll: "Automatisch meer laden"
visibility: "Zichtbaarheid"
poll: "Peiling"
useCw: "Inhoudswaarschuwing gebruiken"
enablePlayer: "Videospeler openen"
disablePlayer: "Videospeler sluiten"
expandTweet: "Notitie uitklappen"
themeEditor: "Thema-editor"
description: "Beschrijving"
describeFile: "Beschrijving toevoegen"
enterFileDescription: "Beschrijving invoeren"
author: "Auteur"
leaveConfirm: "Er zijn niet-opgeslagen wijzigingen. Wil je ze verwijderen?"
manage: "Beheer"
plugins: "Plugins"
preferencesBackups: "Instellingen Back-ups"
deck: "Dek"
undeck: "Dek verlaten"
useBlurEffectForModal: "Vervagingseffect gebruiken voor modals"
useFullReactionPicker: "Volledige reaktieselectier gebruiken"
width: "Breedte"
height: "Hoogte"
large: "Groot"
medium: "Medium"
small: "Klein"
generateAccessToken: "Toegangstoken genereren"
permission: "Machtigingen"
adminPermission: "Administratorrechten"
enableAll: "Alle activeren"
disableAll: "Alle deactiveren"
tokenRequested: "Toegang verlenen tot het gebruikersaccount"
pluginTokenRequestedDescription: "Deze plugin kan de hier geconfigureerde autorisaties gebruiken."
notificationType: "Type melding"
edit: "Bewerken"
emailServer: "Email-Server"
enableEmail: "Email distributie inschakelen"
emailConfigInfo: "Wordt gebruikt om je email te bevestigen tijdens het aanmelden of als je je wachtwoord bent vergeten"
email: "Email"
emailAddress: "Email adres"
smtpConfig: "SMTP-server configuratie"
smtpHost: "Server" smtpHost: "Server"
smtpPort: "Poort"
smtpUser: "Gebruikersnaam" smtpUser: "Gebruikersnaam"
smtpPass: "Wachtwoord" smtpPass: "Wachtwoord"
emptyToDisableSmtpAuth: "Laat gebruikersnaam en wachtwoord leeg om SMTP-authenticatie uit te schakelen."
smtpSecure: "Impliciet SSL/TLS gebruiken voor SMTP-verbindingen"
smtpSecureInfo: "Schakel dit uit bij gebruik van STARTTLS"
testEmail: "Emailversand testen"
wordMute: "Woord dempen"
wordMuteDescription: "Minimaliseert notities die het gespecificeerde woord of zin bevatten. Geminimaliseerde notities kunnen worden weergegeven door er op te klikken."
hardWordMute: "Harde woorddemping"
showMutedWord: "Gedempte woorden weergeven"
hardWordMuteDescription: "Verbert notities die het gespecificeerde woord of zin bevatten. In tegenstelling tot woorddemping wordt de notitie volledig verborgen."
regexpError: "Fout in reguliere expressie"
regexpErrorDescription: "Er is een fout opgetreden in de reguliere expressie op regel {line} van uw {tab} woord dempen:"
instanceMute: "Instantie dempers"
userSaysSomething: "{name} zei iets"
userSaysSomethingAbout: "{name} zei iets over '{word}'"
makeActive: "Activeren"
display: "Weergave"
copy: "Kopiëren"
copiedToClipboard: "Naar het klembord gekopieerd"
metrics: "Metrieken"
overview: "Overzicht"
logs: "Protocollen"
delayed: "Vertraagd"
database: "Database"
channel: "Kanalen"
create: "Creëer"
notificationSetting: "Instellingen meldingen"
notificationSettingDesc: "Selecteer het type meldingen dat moet worden weergegeven."
useGlobalSetting: "Globale instelling gebruiken"
useGlobalSettingDesc: "Als deze optie is ingeschakeld, worden de meldingsinstellingen van je account gebruikt. Als deze optie uitgeschakeld is, kunnen individuele configuraties worden gemaakt."
other: "Ander"
regenerateLoginToken: "Login token opnieuw genereren"
regenerateLoginTokenDescription: "Regenereren van het token dat intern wordt gebruikt om in te loggen. Dit is normaal gezien niet nodig. Alle apparaten worden afgemeld tijdens het regenereren."
theKeywordWhenSearchingForCustomEmoji: "Dit is het keyword dat gebruikt wordt bij het zoeken naar eigen emojis."
setMultipleBySeparatingWithSpace: "Scheid elementen met een spatie om meerdere instellingen te configureren."
fileIdOrUrl: "Bestands-ID of URL"
behavior: "Gedrag"
sample: "Voorbeeld"
abuseReports: "Meldt"
reportAbuse: "Meld"
reportAbuseRenote: "Meld renote"
reportAbuseOf: "Meld {name}"
fillAbuseReportDescription: "Vul s.v.p. de details in over deze melding. Geef, als het over een specifieke notitie gaat, ook de URL op."
abuseReported: "Uw rapport is verzonden. Hartelijk dank."
reporter: "Verslaggever"
reporteeOrigin: "Oorsprong van de gemelde persoon"
reporterOrigin: "Verslaggever Oorsprong"
send: "Stuur"
openInNewTab: "In nieuw tabblad openen"
openInSideView: "In zijaanzicht openen"
defaultNavigationBehaviour: "Standaard navigatie gedrag"
editTheseSettingsMayBreakAccount: "Het wijzigen van deze instellingen kan je account beschadigen."
instanceTicker: "Instantie-informatie van notities"
waitingFor: "Wachten op {x}"
random: "Willekeurig"
system: "Systeem"
switchUi: "UI omschakelen"
desktop: "Desktop"
clip: "Clip aanmaken"
createNew: "Nieuwe aanmaken"
optional: "Optioneel"
createNewClip: "Nieuwe clip aanmaken"
unclip: "Van clip verwijderen"
confirmToUnclipAlreadyClippedNote: "Deze notitie is al toegevoegd aan de clip “{name}”. Wil je deze uit deze clip verwijderen?"
public: "Openbare"
private: "Privé"
i18nInfo: "Misskey wordt in veel verschillende talen vertaald door vrijwilligers. Je kunt helpen op {link}"
manageAccessTokens: "Toegangstokens beheren"
accountInfo: "Informatie over gebruikersaccount"
notesCount: "Aantal notities"
repliesCount: "Aantal verzonden replies"
renotesCount: "Aantal verzonden renotes"
repliedCount: "Aantal ontvangen replies"
renotedCount: "Aantal ontvangen renotes"
followingCount: "Aantal gevolgde accounts"
followersCount: "Aantal volgers"
sentReactionsCount: "Aantal verzonden reacties"
receivedReactionsCount: "Aantal ontvangen reacties"
pollVotesCount: "Aantal verzonden peiling stemmen"
pollVotedCount: "Aantal ontvangen peiling stemmen"
yes: "Ja"
no: "Nee"
driveFilesCount: "Aantal bestanden in station"
driveUsage: "Schijfruimtegebruik"
noCrawle: "Crawler-indexering verwerpen"
noCrawleDescription: "Vraag zoekmachines om je eigen profielpagina, notities, pagina's, enz. niet te indexeren."
lockedAccountInfo: "Tenzij je de zichtbaarheid van je notities instelt op “Alleen volgers”, zijn je notities zichtbaar voor iedereen, zelfs als je vereist dat volgers handmatig worden goedgekeurd."
alwaysMarkSensitive: "Markeer media standaard als gevoelig"
loadRawImages: "Toon altijd originele afbeeldingen in plaats van miniaturen"
disableShowingAnimatedImages: "Speel geen geanimeerde afbeeldingen af"
highlightSensitiveMedia: "Markeer gevoelige media"
verificationEmailSent: "Er is een bevestigingsmail naar uw e-mailadres verzonden. Ga naar de link in de e-mail om het verificatieproces te voltooien."
notSet: "Niet geconfigureerd"
emailVerified: "Emailadres bevestigd"
noteFavoritesCount: "Aantal notities gemarkeerd als favoriet"
pageLikesCount: "Aantal gelikete pagina's"
pageLikedCount: "Aantal ontvangen pagina-likes"
contact: "Contact"
useSystemFont: "Het standaardlettertype van het systeem gebruiken"
clips: "Clips"
experimentalFeatures: "Experimentele functionaliteiten"
experimental: "Experimentele"
thisIsExperimentalFeature: "Dit is een experimentele functie. De functionaliteit kan worden gewijzigd en werkt mogelijk niet zoals bedoeld."
developer: "Ontwikkelaar"
makeExplorable: "Gebruikersaccount zichtbaar maken in “Verkennen”"
makeExplorableDescription: "Als deze optie is uitgeschakeld, is uw gebruikersaccount niet zichtbaar in het gedeelte “Verkennen”."
showGapBetweenNotesInTimeline: "Een gat tussen noten op de tijdlijn weergeven"
duplicate: "Dupliceren"
left: "Links"
center: "Center"
wide: "Breed"
narrow: "Smal"
reloadToApplySetting: "Deze instelling gaat pas in nadat de pagina herladen is. Nu herladen?"
needReloadToApply: "Deze instelling wordt van kracht nadat de pagina is vernieuwd."
showTitlebar: "Titelbalk weergeven"
clearCache: "Cache opschonen" clearCache: "Cache opschonen"
onlineUsersCount: "{n} Gebruikers zijn online"
nUsers: "{n} Gebruikers"
nNotes: "{n} Notities"
sendErrorReports: "Foutrapporten sturen"
sendErrorReportsDescription: "Als u deze optie inschakelt, wordt gedetailleerde foutinformatie met Misskey gedeeld wanneer zich een probleem voordoet. Dit helpt de kwaliteit van Misskey te verbeteren.\nDit omvat informatie zoals de versie van uw OS, welke browser u gebruikt, uw activiteit in Misskey, enz."
myTheme: "Mijn thema"
backgroundColor: "Achtergrondkleur"
accentColor: "Accentkleur"
textColor: "Tekstkleur"
saveAs: "Opslaan als…"
advanced: "Geavanceerd"
advancedSettings: "Geavanceerde instellingen"
value: "Waarde"
createdAt: "Aangemaakt at"
updatedAt: "Laatst gewijzigd at"
saveConfirm: "Wijzigingen opslaan?"
deleteConfirm: "Echt verwijderen?"
invalidValue: "Ongeldige waarde."
registry: "Registry"
closeAccount: "Gebruikersaccount sluiten"
currentVersion: "Huidige versie"
latestVersion: "Nieuwste versie"
youAreRunningUpToDateClient: "Je gebruikt de nieuwste versie van je client."
newVersionOfClientAvailable: "Er is een nieuwere versie van je client beschikbaar."
usageAmount: "Gebruik"
capacity: "Capaciteit"
inUse: "Gebruikt"
editCode: "Code bewerken"
apply: "Toepassen"
receiveAnnouncementFromInstance: "Meldingen ontvangen van deze instantie"
emailNotification: "E-mailmeldingen"
publish: "Publiceren"
inChannelSearch: "In kanaal zoeken"
useReactionPickerForContextMenu: "Open reactieselectie door rechts te klikken"
typingUsers: "{users} is/zijn aan het schrijven..."
jumpToSpecifiedDate: "Naar een specifieke datum springen"
showingPastTimeline: "Momenteel wordt een oude tijdlijn weergeven"
clear: "Terugkeren"
markAllAsRead: "Alles als gelezen markeren"
goBack: "Terug"
unlikeConfirm: "Wil je echt je like verwijderen?"
fullView: "Volledig zicht"
quitFullView: "Volledig zicht verlaten"
addDescription: "Beschrijving toevoegen"
userPagePinTip: "Je kunt hier notities tonen door “Vastmaken aan profiel” te selecteren in het menu van de individuele notities."
notSpecifiedMentionWarning: "Deze notitie bevat verwijzingen naar gebruikers die niet zijn geselecteerd als ontvangers"
info: "Over" info: "Over"
userInfo: "Gebruikersinformatie"
unknown: "Onbekend"
onlineStatus: "Online status"
hideOnlineStatus: "Online status verbergen"
hideOnlineStatusDescription: "Het verbergen van je online status vermindert het nut van functies zoals zoeken."
online: "Online"
active: "Actief"
offline: "Offline"
notRecommended: "Niet aanbevolen"
botProtection: "Beveiliging tegen bots"
instanceBlocking: "Geblokkeerde/gedempte Instanties"
selectAccount: "Gebruikersaccount selecteren"
switchAccount: "Account wisselen"
enabled: "Ingeschakeld"
disabled: "Uitgeschakeld"
quickAction: "Snelle acties"
user: "Gebruikers" user: "Gebruikers"
administration: "Beheer"
accounts: "Gebruikersaccounts"
switch: "Wissel"
noMaintainerInformationWarning: "Operatorinformatie is niet geconfigureerd."
noInquiryUrlWarning: "Contact-URL niet opgegeven"
noBotProtectionWarning: "Bescherming tegen bots is niet geconfigureerd."
configure: "Configureer"
postToGallery: "Nieuw galerijbericht maken"
postToHashtag: "Post naar deze hashtag"
gallery: "Galerij"
recentPosts: "Recente berichten"
popularPosts: "Populair berichten"
shareWithNote: "Delen met notitie"
ads: "Advertenties"
expiration: "Deadline"
startingperiod: "Start"
memo: "Memo"
priority: "Prioriteit"
high: "Hoge"
middle: "Medium"
low: "Lage"
emailNotConfiguredWarning: "E-mailadres niet ingesteld."
ratio: "Verhouding"
previewNoteText: "Show voorproefje"
customCss: "Aangepaste CSS"
customCssWarn: "Gebruik deze instelling alleen als je weet wat het doet. Ongeldige invoer kan ertoe leiden dat de client niet meer normaal functioneert."
global: "Globaal"
squareAvatars: "Toon profielfoto's as vierkant"
sent: "Verzonden"
received: "Ontvangen"
searchResult: "Zoekresultaten"
hashtags: "Hashtags"
troubleshooting: "Probleemoplossing"
useBlurEffect: "Vervagingseffecten in de UI gebruike"
learnMore: "Meer leren"
misskeyUpdated: "Misskey is bijgewerkt!"
whatIsNew: "Wijzigingen tonen"
translate: "Vertalen"
translatedFrom: "Vertaald uit {x}"
accountDeletionInProgress: "De verwijdering van je gebruikersaccount wordt momenteel verwerkt."
usernameInfo: "Een naam die kan worden gebruikt om je gebruikersaccount op deze server te identificeren. Je kunt het alfabet (a~z, A~Z), cijfers (0~9) of underscores (_) gebruiken. Gebruikersnamen kunnen later niet worden gewijzigd."
aiChanMode: "Ai Mode"
devMode: "Ontwikkelaar modus"
keepCw: "Inhoudswaarschuwingen behouden"
pubSub: "Pub/Sub Gebruikersaccounts"
lastCommunication: "Laatste communicatie"
resolved: "Opgelost"
unresolved: "Onopgelost"
breakFollow: "Volger verwijderen"
breakFollowConfirm: "Deze volger echt weghalen?"
itsOn: "Ingeschakeld"
itsOff: "Uitgeschakeld"
on: "Op"
off: "Uit"
emailRequiredForSignup: "Vereist e-mailadres voor aanmelding"
unread: "Ongelezen"
filter: "Filter"
controlPanel: "Controlepaneel"
manageAccounts: "Gebruikersaccounts beheren"
makeReactionsPublic: "Reactiegeschiedenis publiceren"
makeReactionsPublicDescription: "Hierdoor wordt de lijst met al je eerdere reacties openbaar."
classic: "Classic"
muteThread: "Discussies dempen " muteThread: "Discussies dempen "
unmuteThread: "Dempen van discussie ongedaan maken" unmuteThread: "Dempen van discussie ongedaan maken"
followingVisibility: "Zichtbaarheid van gevolgden"
followersVisibility: "Zichtbaarheid van volgers"
continueThread: "Bekijk draad voortzetting"
deleteAccountConfirm: "Je gebruikersaccount wordt onherroepelijk verwijderd. Wil je nog steeds doorgaan?"
incorrectPassword: "Onjuist wachtwoord."
incorrectTotp: "Het eenmalige wachtwoord is incorrect of verlopen"
voteConfirm: "Bevestig je je stem op “{choice}”?"
hide: "Verbergen" hide: "Verbergen"
useDrawerReactionPickerForMobile: "Toon reactiekiezer als lade op mobiel"
welcomeBackWithName: "Welkom terug, {name}"
clickToFinishEmailVerification: "Druk op [{ok}] om de e-mailbevestiging af te ronden."
searchByGoogle: "Zoeken" searchByGoogle: "Zoeken"
threeMonths: "3 maanden"
oneYear: "1 jaar"
threeDays: "3 dagen"
cropImage: "Afbeelding bijsnijden" cropImage: "Afbeelding bijsnijden"
cropImageAsk: "Bijsnijdengevraagd" cropImageAsk: "Bijsnijdengevraagd"
file: "Bestanden" file: "Bestanden"
account: "Gebruikersaccounts"
pushNotification: "Pushberichten" pushNotification: "Pushberichten"
subscribePushNotification: "Push meldingen inschakelen" subscribePushNotification: "Push meldingen inschakelen"
unsubscribePushNotification: "Pushberichten uitschakelen" unsubscribePushNotification: "Pushberichten uitschakelen"
@ -426,20 +948,59 @@ pushNotificationAlreadySubscribed: "Pushberichtrn al ingeschakeld"
windowMaximize: "Maximaliseren" windowMaximize: "Maximaliseren"
windowRestore: "Herstellen" windowRestore: "Herstellen"
loggedInAsBot: "Momenteel als bot ingelogd" loggedInAsBot: "Momenteel als bot ingelogd"
show: "Weergave"
correspondingSourceIsAvailable: "De bijbehorende broncode is beschikbaar bij {anchor}"
invalidParamErrorDescription: "De aanvraagparameters zijn ongeldig. Dit komt meestal door een bug, maar kan ook omdat de invoer te lang is of iets dergelijks."
collapseRenotes: "Renotes die je al gezien hebt, inklappen"
collapseRenotesDescription: "Klapt notities in waar je al op gereageerd hebt of die je al gerenotet hebt."
prohibitedWords: "Verboden woorden"
prohibitedWordsDescription: "Activeert een foutmelding als er geprobeerd wordt een notitie met de ingestelde woorden te plaatsen. Meerdere woorden kunnen worden ingesteld, elk op hun eigen regel."
hiddenTags: "Verborgen hashtags"
hiddenTagsDescription: "Selecteer tags die niet worden weergegeven in de trends. Meerdere tags kunnen worden geregistreerd, elk op hun eigen regel."
enableStatsForFederatedInstances: "Statistieken van remote servers ontvangen"
limitWidthOfReaction: "Limiteert de maximale breedte van reacties en geef ze verkleind weer"
audio: "Audio"
audioFiles: "Audio"
archived: "Gearchiveerd"
unarchive: "Dearchiveren"
lookupConfirm: "Weet je zeker dat je dit wil opzoeken?"
openTagPageConfirm: "Wil je deze hashtagpagina openen?"
specifyHost: "Specificeer host"
icon: "Avatar" icon: "Avatar"
replies: "Antwoord" replies: "Antwoorden"
renotes: "Herdelen" renotes: "Herdelen"
followingOrFollower: "Gevolgd of volger"
confirmShowRepliesAll: "Dit is een onomkeerbare operatie. Weet je zeker dat reacties op anderen van iedereen die je volgt, wil weergeven in je tijdlijn?"
information: "Over"
_chat:
invitations: "Uitnodigen"
noHistory: "Geen geschiedenis gevonden"
members: "Leden"
home: "Startpagina"
send: "Stuur"
_delivery: _delivery:
stop: "Opgeschort" stop: "Opgeschort"
_type: _type:
none: "Publiceren" none: "Publiceren"
_role:
priority: "Prioriteit"
_priority:
low: "Lage"
middle: "Medium"
high: "Hoge"
_ffVisibility:
public: "Publiceren"
_ad:
back: "Terug"
_email: _email:
_follow: _follow:
title: "volgde jou" title: "volgde jou"
_theme: _theme:
description: "Beschrijving"
keys: keys:
mention: "Vermelding" mention: "Vermelding"
renote: "Herdelen" renote: "Herdelen"
divider: "Scheider"
_sfx: _sfx:
note: "Notities" note: "Notities"
notification: "Meldingen" notification: "Meldingen"
@ -464,6 +1025,7 @@ _profile:
name: "Naam" name: "Naam"
username: "Gebruikersnaam" username: "Gebruikersnaam"
_exportOrImport: _exportOrImport:
clips: "Clip aanmaken"
followingList: "Volgend" followingList: "Volgend"
muteList: "Dempen" muteList: "Dempen"
blockingList: "Blokkeren" blockingList: "Blokkeren"
@ -474,6 +1036,9 @@ _charts:
federation: "Federatie" federation: "Federatie"
_timelines: _timelines:
home: "Startpagina" home: "Startpagina"
_play:
script: "Script"
summary: "Beschrijving"
_pages: _pages:
blocks: blocks:
image: "Afbeeldingen" image: "Afbeeldingen"
@ -496,9 +1061,22 @@ _deck:
tl: "Tijdlijn" tl: "Tijdlijn"
antenna: "Antennes" antenna: "Antennes"
list: "Lijsten" list: "Lijsten"
channel: "Kanalen"
mentions: "Vermeldingen" mentions: "Vermeldingen"
_webhookSettings: _webhookSettings:
name: "Naam" name: "Naam"
active: "Ingeschakeld"
_abuseReport:
_notificationRecipient:
_recipientType:
mail: "Email"
_moderationLogTypes: _moderationLogTypes:
suspend: "Opschorten" suspend: "Opschorten"
resetPassword: "Wachtwoord terugzetten" resetPassword: "Wachtwoord terugzetten"
_reversi:
total: "Totaal"
_remoteLookupErrors:
_noSuchObject:
title: "Niet gevonden"
_search:
searchScopeAll: "Alle"

View file

@ -260,7 +260,6 @@ enableLocalTimeline: "Aktiver lokal tidslinje"
enableGlobalTimeline: "Aktiver global tidslinje" enableGlobalTimeline: "Aktiver global tidslinje"
disablingTimelinesInfo: "Administratorer og Moderatorer vil alltid ha tilgang til alle tidslinjer, selv om de ikke er aktivert." disablingTimelinesInfo: "Administratorer og Moderatorer vil alltid ha tilgang til alle tidslinjer, selv om de ikke er aktivert."
registration: "Registrer" registration: "Registrer"
enableRegistration: "Aktiver registrering av nye brukere"
invite: "Inviter" invite: "Inviter"
basicInfo: "Grunnleggende informasjon" basicInfo: "Grunnleggende informasjon"
pinnedUsers: "Festede brukrere" pinnedUsers: "Festede brukrere"
@ -300,8 +299,6 @@ text: "Tekst"
next: "Neste" next: "Neste"
retype: "Gjenta" retype: "Gjenta"
quoteAttached: "Sitat" quoteAttached: "Sitat"
noMessagesYet: "Ingen meldinger ennå"
newMessageExists: "Det er nye meldinger"
onlyOneFileCanBeAttached: "Du kan bare legge ved én fil i en melding" onlyOneFileCanBeAttached: "Du kan bare legge ved én fil i en melding"
invitations: "Inviter" invitations: "Inviter"
available: "Tilgjengelig" available: "Tilgjengelig"
@ -464,6 +461,12 @@ icon: "Avatar"
replies: "Svar" replies: "Svar"
renotes: "Renote" renotes: "Renote"
surrender: "Avbryt" surrender: "Avbryt"
information: "Informasjon"
_chat:
invitations: "Inviter"
members: "Medlemmer"
home: "Hjem"
send: "Send"
_delivery: _delivery:
stop: "Suspendert" stop: "Suspendert"
_initialAccountSetting: _initialAccountSetting:
@ -728,3 +731,8 @@ _abuseReport:
mail: "E-post" mail: "E-post"
_moderationLogTypes: _moderationLogTypes:
suspend: "Suspender" suspend: "Suspender"
_remoteLookupErrors:
_noSuchObject:
title: "Ikke funnet"
_search:
searchScopeAll: "Alle"

View file

@ -269,7 +269,6 @@ deleteAreYouSure: "Czy na pewno chcesz usunąć „{x}”?"
resetAreYouSure: "Czy na pewno chcesz zresetować?" resetAreYouSure: "Czy na pewno chcesz zresetować?"
areYouSure: "Na pewno?" areYouSure: "Na pewno?"
saved: "Zapisano" saved: "Zapisano"
messaging: "Wiadomości"
upload: "Wyślij" upload: "Wyślij"
keepOriginalUploading: "Zachowaj oryginalny obraz" keepOriginalUploading: "Zachowaj oryginalny obraz"
keepOriginalUploadingDescription: "Zapisuje oryginalnie przesłany obraz w niezmienionej postaci. Jeśli ta opcja jest wyłączona, po przesłaniu zostanie wygenerowana wersja do wyświetlenia w Internecie." keepOriginalUploadingDescription: "Zapisuje oryginalnie przesłany obraz w niezmienionej postaci. Jeśli ta opcja jest wyłączona, po przesłaniu zostanie wygenerowana wersja do wyświetlenia w Internecie."
@ -282,7 +281,6 @@ uploadFromUrlMayTakeTime: "Wysyłanie może chwilę potrwać."
explore: "Eksploruj" explore: "Eksploruj"
messageRead: "Przeczytano" messageRead: "Przeczytano"
noMoreHistory: "Nie ma dalszej historii" noMoreHistory: "Nie ma dalszej historii"
startMessaging: "Rozpocznij czat"
nUsersRead: "przeczytano przez {n}" nUsersRead: "przeczytano przez {n}"
agreeTo: "Wyrażam zgodę na {0}" agreeTo: "Wyrażam zgodę na {0}"
agree: "Zatwierdź" agree: "Zatwierdź"
@ -362,7 +360,6 @@ enableLocalTimeline: "Włącz lokalną oś czasu"
enableGlobalTimeline: "Włącz globalną oś czasu" enableGlobalTimeline: "Włącz globalną oś czasu"
disablingTimelinesInfo: "Administratorzy i moderatorzy będą zawsze mieć dostęp do wszystkich osi czasu, nawet gdy są one wyłączone." disablingTimelinesInfo: "Administratorzy i moderatorzy będą zawsze mieć dostęp do wszystkich osi czasu, nawet gdy są one wyłączone."
registration: "Zarejestruj się" registration: "Zarejestruj się"
enableRegistration: "Włącz rejestrację nowych użytkowników"
invite: "Zaproś" invite: "Zaproś"
driveCapacityPerLocalAccount: "Powierzchnia dyskowa na lokalnego użytkownika" driveCapacityPerLocalAccount: "Powierzchnia dyskowa na lokalnego użytkownika"
driveCapacityPerRemoteAccount: "Powierzchnia dyskowa na zdalnego użytkownika" driveCapacityPerRemoteAccount: "Powierzchnia dyskowa na zdalnego użytkownika"
@ -467,8 +464,6 @@ retype: "Wprowadź ponownie"
noteOf: "Wpisy {user}" noteOf: "Wpisy {user}"
quoteAttached: "Zacytowano" quoteAttached: "Zacytowano"
quoteQuestion: "Czy na pewno chcesz umieścić cytat?" quoteQuestion: "Czy na pewno chcesz umieścić cytat?"
noMessagesYet: "Nie napisano jeszcze wiadomości"
newMessageExists: "Masz nową wiadomość"
onlyOneFileCanBeAttached: "Możesz załączyć tylko jeden plik do wiadomości" onlyOneFileCanBeAttached: "Możesz załączyć tylko jeden plik do wiadomości"
signinRequired: "Proszę się zalogować" signinRequired: "Proszę się zalogować"
invitations: "Zaproś" invitations: "Zaproś"
@ -492,6 +487,10 @@ uiLanguage: "Język wyświetlania UI"
aboutX: "O {x}" aboutX: "O {x}"
emojiStyle: "Styl emoji" emojiStyle: "Styl emoji"
native: "Natywny" native: "Natywny"
menuStyle: "Styl Menu"
style: "Styl"
drawer: "Schowek"
popup: "Wyskakujące okienka"
showNoteActionsOnlyHover: "Pokazuj akcje notatek tylko po najechaniu myszką" showNoteActionsOnlyHover: "Pokazuj akcje notatek tylko po najechaniu myszką"
showReactionsCount: "Wyświetl liczbę reakcji na notatkę" showReactionsCount: "Wyświetl liczbę reakcji na notatkę"
noHistory: "Brak historii" noHistory: "Brak historii"
@ -574,6 +573,7 @@ ascendingOrder: "Rosnąco"
descendingOrder: "Malejąco" descendingOrder: "Malejąco"
scratchpad: "Brudnopis" scratchpad: "Brudnopis"
scratchpadDescription: "Brudnopis zawiera eksperymentalne środowisko dla AiScript. Możesz pisać, wykonywać i sprawdzać wyniki w interakcji z Misskey." scratchpadDescription: "Brudnopis zawiera eksperymentalne środowisko dla AiScript. Możesz pisać, wykonywać i sprawdzać wyniki w interakcji z Misskey."
uiInspector: "Inspektor UI"
output: "Wyjście" output: "Wyjście"
script: "Skrypt" script: "Skrypt"
disablePagesScript: "Wyłącz AiScript na Stronach" disablePagesScript: "Wyłącz AiScript na Stronach"
@ -654,6 +654,7 @@ smtpSecure: "Użyj niejawnego SSL/TLS dla połączeń SMTP"
smtpSecureInfo: "Wyłącz, jeżeli używasz STARTTLS" smtpSecureInfo: "Wyłącz, jeżeli używasz STARTTLS"
testEmail: "Przetestuj dostarczanie wiadomości e-mail" testEmail: "Przetestuj dostarczanie wiadomości e-mail"
wordMute: "Wyciszenie słowa" wordMute: "Wyciszenie słowa"
hardWordMute: "Wyciszaj przekleństwa"
regexpError: "Błąd wyrażenia regularnego" regexpError: "Błąd wyrażenia regularnego"
regexpErrorDescription: "Wystąpił błąd w wyrażeniu regularnym w linii {line} twoich {tab} wyciszeń:" regexpErrorDescription: "Wystąpił błąd w wyrażeniu regularnym w linii {line} twoich {tab} wyciszeń:"
instanceMute: "Wyciszone instancje" instanceMute: "Wyciszone instancje"
@ -826,6 +827,7 @@ administration: "Zarządzanie"
accounts: "Konta" accounts: "Konta"
switch: "Przełącz" switch: "Przełącz"
noMaintainerInformationWarning: "Informacje o administratorze nie są skonfigurowane." noMaintainerInformationWarning: "Informacje o administratorze nie są skonfigurowane."
noInquiryUrlWarning: "Adres URL zapytania nie został ustawiony"
noBotProtectionWarning: "Zabezpieczenie przed botami nie jest skonfigurowane." noBotProtectionWarning: "Zabezpieczenie przed botami nie jest skonfigurowane."
configure: "Skonfiguruj" configure: "Skonfiguruj"
postToGallery: "Opublikuj w galerii" postToGallery: "Opublikuj w galerii"
@ -890,6 +892,7 @@ followersVisibility: "Widoczność obserwujących"
continueThread: "Pokaż kontynuację wątku" continueThread: "Pokaż kontynuację wątku"
deleteAccountConfirm: "Spowoduje to nieodwracalne usunięcie Twojego konta. Kontynuować?" deleteAccountConfirm: "Spowoduje to nieodwracalne usunięcie Twojego konta. Kontynuować?"
incorrectPassword: "Nieprawidłowe hasło." incorrectPassword: "Nieprawidłowe hasło."
incorrectTotp: "Hasło pojedynczego użytku jest nie poprawne, lub straciło ważność"
voteConfirm: "Potwierdzić swój głos na \"{choice}\"?" voteConfirm: "Potwierdzić swój głos na \"{choice}\"?"
hide: "Ukryj" hide: "Ukryj"
useDrawerReactionPickerForMobile: "Wyświetlaj wybornik reakcji jako szufladę na urządzeniach mobilnych" useDrawerReactionPickerForMobile: "Wyświetlaj wybornik reakcji jako szufladę na urządzeniach mobilnych"
@ -914,6 +917,10 @@ oneHour: "1 godzina"
oneDay: "1 dzień" oneDay: "1 dzień"
oneWeek: "1 tydzień" oneWeek: "1 tydzień"
oneMonth: "jeden miesiąc" oneMonth: "jeden miesiąc"
threeMonths: "3 miesiące"
oneYear: "Rok"
threeDays: "3 dni"
reflectMayTakeTime: "Może minąć trochę czasu, zanim będzie to uwzględnione"
failedToFetchAccountInformation: "Nie udało się uzyskać informacji o koncie" failedToFetchAccountInformation: "Nie udało się uzyskać informacji o koncie"
rateLimitExceeded: "Limit szybkości przekroczony" rateLimitExceeded: "Limit szybkości przekroczony"
cropImage: "Przytnij obraz" cropImage: "Przytnij obraz"
@ -924,9 +931,11 @@ file: "Pliki"
recentNHours: "W ciągu ostatnich {n} godzin" recentNHours: "W ciągu ostatnich {n} godzin"
recentNDays: "W ciągu ostatnich {n} dni" recentNDays: "W ciągu ostatnich {n} dni"
noEmailServerWarning: "Serwer Email nie jest skonfigurowany" noEmailServerWarning: "Serwer Email nie jest skonfigurowany"
thereIsUnresolvedAbuseReportWarning: "Istnieją niewyjaśnione raporty"
recommended: "Zalecane" recommended: "Zalecane"
check: "Zweryfikuj" check: "Zweryfikuj"
driveCapOverrideLabel: "Zmień limit pojemności dysku użytkownika" driveCapOverrideLabel: "Zmień limit pojemności dysku użytkownika"
driveCapOverrideCaption: "Resetuje pojemność do wartości domyślnej, przez wpisanie wartości 0 lub niższej"
requireAdminForView: "Aby to zobaczyć, musisz być administratorem" requireAdminForView: "Aby to zobaczyć, musisz być administratorem"
isSystemAccount: "To jest konto stworzone i zarządzane przez system" isSystemAccount: "To jest konto stworzone i zarządzane przez system"
typeToConfirm: "Wprowadź {x}, aby potwierdzić" typeToConfirm: "Wprowadź {x}, aby potwierdzić"
@ -995,17 +1004,29 @@ unassign: "Cofnij przydzielenie"
color: "Kolor" color: "Kolor"
manageCustomEmojis: "Zarządzaj niestandardowymi Emoji" manageCustomEmojis: "Zarządzaj niestandardowymi Emoji"
manageAvatarDecorations: "Zarządzaj dekoracjami awatara" manageAvatarDecorations: "Zarządzaj dekoracjami awatara"
youCannotCreateAnymore: "Limit kreacji został przekroczony"
cannotPerformTemporary: "Opcja tymczasowo niedostępna"
cannotPerformTemporaryDescription: "Ta akcja nie może zostać wykonana, z powodu przekroczenia limitu wykonań. Prosimy poczekać chwilę i spróbować ponownie"
invalidParamError: "Błąd parametrów" invalidParamError: "Błąd parametrów"
invalidParamErrorDescription: "Wartości, które zostały podane są niepoprawne. Zwykle jest to spowodowane bugiem, lecz również może być to spowodowane przekroczeniem limitu wartości, lub podobnym problemem"
permissionDeniedError: "Odrzucono operacje" permissionDeniedError: "Odrzucono operacje"
permissionDeniedErrorDescription: "Konto nie posiada uprawnień" permissionDeniedErrorDescription: "Konto nie posiada uprawnień"
preset: "Konfiguracja" preset: "Konfiguracja"
selectFromPresets: "Wybierz konfiguracje" selectFromPresets: "Wybierz konfiguracje"
achievements: "Osiągnięcia" achievements: "Osiągnięcia"
gotInvalidResponseError: "Niepoprawna odpowiedź serwera"
gotInvalidResponseErrorDescription: "Wystąpił problem z Twoim połączeniem z Internetem, lub z serwerem. {Spróbuj ponownie} wkrótce."
thisPostMayBeAnnoying: "Ten wpis może obrażać pozostałych użytkowników"
thisPostMayBeAnnoyingHome: "Opublikuj na domowej osi czasu"
thisPostMayBeAnnoyingCancel: "Odrzuć" thisPostMayBeAnnoyingCancel: "Odrzuć"
thisPostMayBeAnnoyingIgnore: "Zignoruj i wyślij"
collapseRenotes: "Zwiń wpisy, które już zobaczyłeś"
collapseRenotesDescription: "Zwiń wpisy, na które już zareagowałeś lub udostępniłeś"
internalServerError: "Wewnętrzny błąd serwera" internalServerError: "Wewnętrzny błąd serwera"
internalServerErrorDescription: "Niespodziewany błąd po stronie serwera" internalServerErrorDescription: "Niespodziewany błąd po stronie serwera"
copyErrorInfo: "Kopiuj informacje o błędzie" copyErrorInfo: "Kopiuj informacje o błędzie"
joinThisServer: "Dołącz do chaty" joinThisServer: "Dołącz do chaty"
exploreOtherServers: "Szukaj innej instancji"
disableFederationOk: "Wyłącz federacje" disableFederationOk: "Wyłącz federacje"
invitationRequiredToRegister: "Ten serwer wymaga zaproszenia. Tylko osoby z zaproszeniem mogą się zarejestrować" invitationRequiredToRegister: "Ten serwer wymaga zaproszenia. Tylko osoby z zaproszeniem mogą się zarejestrować"
emailNotSupported: "Wysyłanie wiadomości E-mail nie jest obsługiwane na tym serwerze" emailNotSupported: "Wysyłanie wiadomości E-mail nie jest obsługiwane na tym serwerze"
@ -1019,6 +1040,14 @@ flip: "Odwróć"
lastNDays: "W ciągu ostatnich {n} dni" lastNDays: "W ciągu ostatnich {n} dni"
surrender: "Odrzuć" surrender: "Odrzuć"
gameRetry: "Spróbuj ponownie" gameRetry: "Spróbuj ponownie"
postForm: "Formularz tworzenia wpisu"
information: "Informacje"
_chat:
invitations: "Zaproś"
noHistory: "Brak historii"
members: "Członkowie"
home: "Strona główna"
send: "Wyślij"
_delivery: _delivery:
stop: "Zawieszono" stop: "Zawieszono"
_type: _type:
@ -1183,7 +1212,6 @@ _theme:
header: "Nagłówek" header: "Nagłówek"
navBg: "Tło paska bocznego" navBg: "Tło paska bocznego"
navFg: "Tekst paska bocznego" navFg: "Tekst paska bocznego"
navHoverFg: "Tekst paska bocznego (zbliżenie)"
navActive: "Tekst paska bocznego (aktywny)" navActive: "Tekst paska bocznego (aktywny)"
navIndicator: "Wskaźnik paska bocznego" navIndicator: "Wskaźnik paska bocznego"
link: "Odnośnik" link: "Odnośnik"
@ -1206,11 +1234,8 @@ _theme:
buttonHoverBg: "Tło przycisku (po najechaniu)" buttonHoverBg: "Tło przycisku (po najechaniu)"
inputBorder: "Obramowanie pola wejścia" inputBorder: "Obramowanie pola wejścia"
driveFolderBg: "Tło folderu na dysku" driveFolderBg: "Tło folderu na dysku"
wallpaperOverlay: "Nakładka tapety"
badge: "Odznaka" badge: "Odznaka"
messageBg: "Tło czatu" messageBg: "Tło czatu"
accentDarken: "Akcent (ciemniejszy)"
accentLighten: "Akcent (jaśniejszy)"
fgHighlighted: "Wyróżniony tekst" fgHighlighted: "Wyróżniony tekst"
_sfx: _sfx:
note: "Wpisy" note: "Wpisy"
@ -1275,6 +1300,7 @@ _permissions:
"write:gallery": "Edytuj swoją galerię" "write:gallery": "Edytuj swoją galerię"
"read:gallery-likes": "Wyświetlanie listy polubionych postów w galerii" "read:gallery-likes": "Wyświetlanie listy polubionych postów w galerii"
"write:gallery-likes": "Edytowanie listy polubionych postów w galerii" "write:gallery-likes": "Edytowanie listy polubionych postów w galerii"
"write:chat": "Tworzenie lub usuwanie wiadomości czatu"
_auth: _auth:
shareAccessTitle: "Przyznawanie uprawnień aplikacji" shareAccessTitle: "Przyznawanie uprawnień aplikacji"
shareAccess: "Czy chcesz autoryzować „{name}” do dostępu do tego konta?" shareAccess: "Czy chcesz autoryzować „{name}” do dostępu do tego konta?"
@ -1434,9 +1460,6 @@ _pages:
newPage: "Utwórz stronę" newPage: "Utwórz stronę"
editPage: "Edytuj tę stronę" editPage: "Edytuj tę stronę"
readPage: "Aktywowano widok źródła" readPage: "Aktywowano widok źródła"
created: "Pomyślnie utworzono stronę!"
updated: "Pomyślnie zaktualizowano stronę!"
deleted: "Strona została usunięta"
pageSetting: "Ustawienia strony" pageSetting: "Ustawienia strony"
nameAlreadyExists: "Określony adres URL strony już istnieje" nameAlreadyExists: "Określony adres URL strony już istnieje"
invalidNameTitle: "Podany adres URL strony jest nieprawidłowy" invalidNameTitle: "Podany adres URL strony jest nieprawidłowy"
@ -1558,3 +1581,9 @@ _moderationLogTypes:
resetPassword: "Zresetuj hasło" resetPassword: "Zresetuj hasło"
_reversi: _reversi:
total: "Łącznie" total: "Łącznie"
_remoteLookupErrors:
_noSuchObject:
title: "Nie znaleziono"
_search:
searchScopeAll: "Wszystkie"
searchScopeLocal: "Lokalne"

View file

@ -5,9 +5,13 @@ introMisskey: "Bem-vindo! O Misskey é um serviço de microblog descentralizado
poweredByMisskeyDescription: "{name} é uma instância da plataforma de código aberto <b>Misskey</b>." poweredByMisskeyDescription: "{name} é uma instância da plataforma de código aberto <b>Misskey</b>."
monthAndDay: "{day}/{month}" monthAndDay: "{day}/{month}"
search: "Pesquisar" search: "Pesquisar"
reset: "Redefinir"
notifications: "Notificações" notifications: "Notificações"
username: "Nome de usuário" username: "Nome de usuário"
password: "Senha" password: "Senha"
initialPasswordForSetup: "Senha para a configuração inicial"
initialPasswordIsIncorrect: "Senha para configuração inicial está incorreta"
initialPasswordForSetupDescription: "Use a senha configurada no arquivo de configuração se você instalou o Misskey manualmente.\nSe você estiver utilizando um serviço de hospedagem, utilize a senha fornecida.\nSe uma senha não foi configurada, deixe em branco e continue."
forgotPassword: "Esqueci-me da senha" forgotPassword: "Esqueci-me da senha"
fetchingAsApObject: "Buscando no Fediverso..." fetchingAsApObject: "Buscando no Fediverso..."
ok: "OK" ok: "OK"
@ -45,6 +49,7 @@ pin: "Fixar no perfil"
unpin: "Desafixar do perfil" unpin: "Desafixar do perfil"
copyContent: "Copiar conteúdos" copyContent: "Copiar conteúdos"
copyLink: "Copiar link" copyLink: "Copiar link"
copyRemoteLink: "Copiar endereço remoto"
copyLinkRenote: "Copiar o link da repostagem" copyLinkRenote: "Copiar o link da repostagem"
delete: "Excluir" delete: "Excluir"
deleteAndEdit: "Excluir e editar" deleteAndEdit: "Excluir e editar"
@ -196,7 +201,7 @@ followConfirm: "Tem certeza que quer seguir {name}?"
proxyAccount: "Conta proxy" proxyAccount: "Conta proxy"
proxyAccountDescription: "Uma conta de proxy é uma conta que assume o acompanhamento remoto de um usuário sob certas condições específicas. Por exemplo, quando um usuário inclui um usuário remoto em uma lista, mas ninguém na lista está seguindo o usuário remoto, a atividade não é entregue ao servidor. Nesse caso, a conta de proxy entra em ação para seguir o usuário remoto em vez disso." proxyAccountDescription: "Uma conta de proxy é uma conta que assume o acompanhamento remoto de um usuário sob certas condições específicas. Por exemplo, quando um usuário inclui um usuário remoto em uma lista, mas ninguém na lista está seguindo o usuário remoto, a atividade não é entregue ao servidor. Nesse caso, a conta de proxy entra em ação para seguir o usuário remoto em vez disso."
host: "Host" host: "Host"
selectSelf: "Escolher manualmente" selectSelf: "Selecionar a mim"
selectUser: "Selecionar usuário" selectUser: "Selecionar usuário"
recipient: "Destinatário" recipient: "Destinatário"
annotation: "Anotação" annotation: "Anotação"
@ -236,6 +241,8 @@ silencedInstances: "Instâncias silenciadas"
silencedInstancesDescription: "Liste o nome de hospedagem dos servidores que você deseja silenciar, separados por linha. Todas as contas desses servidores serão silenciada e poderão enviar solicitações para seguir, mas não poderão mencionar usuários locais sem segui-los. Isso não afetará servidores bloqueados." silencedInstancesDescription: "Liste o nome de hospedagem dos servidores que você deseja silenciar, separados por linha. Todas as contas desses servidores serão silenciada e poderão enviar solicitações para seguir, mas não poderão mencionar usuários locais sem segui-los. Isso não afetará servidores bloqueados."
mediaSilencedInstances: "Instâncias com mídia silenciadas" mediaSilencedInstances: "Instâncias com mídia silenciadas"
mediaSilencedInstancesDescription: "Liste o nome de hospedagem dos servidores cuja mídia você deseja silenciar, separados por linha. Todas as contas desses servidores serão consideradas sensíveis e não poderão utilizar emojis personalizados. Isso não afetará servidores bloqueados." mediaSilencedInstancesDescription: "Liste o nome de hospedagem dos servidores cuja mídia você deseja silenciar, separados por linha. Todas as contas desses servidores serão consideradas sensíveis e não poderão utilizar emojis personalizados. Isso não afetará servidores bloqueados."
federationAllowedHosts: "Servidores com federação permitida"
federationAllowedHostsDescription: "Especifique o endereço dos servidores em que deseja permitir a federação separados por linha."
muteAndBlock: "Silenciar e bloquear" muteAndBlock: "Silenciar e bloquear"
mutedUsers: "Usuários silenciados" mutedUsers: "Usuários silenciados"
blockedUsers: "Usuários bloqueados" blockedUsers: "Usuários bloqueados"
@ -282,7 +289,6 @@ deleteAreYouSure: "Deseja excluir \"{x}\"?"
resetAreYouSure: "Deseja reiniciar?" resetAreYouSure: "Deseja reiniciar?"
areYouSure: "Tem certeza?" areYouSure: "Tem certeza?"
saved: "Salvo" saved: "Salvo"
messaging: "Chat"
upload: "Fazer upload" upload: "Fazer upload"
keepOriginalUploading: "Manter a imagem original" keepOriginalUploading: "Manter a imagem original"
keepOriginalUploadingDescription: "Ao fazer o upload de uma imagem, ela será mantida em sua versão original. Caso desative esta opção, o navegador irá gerar uma versão da imagem otimizada para publicação na web durante o upload." keepOriginalUploadingDescription: "Ao fazer o upload de uma imagem, ela será mantida em sua versão original. Caso desative esta opção, o navegador irá gerar uma versão da imagem otimizada para publicação na web durante o upload."
@ -295,7 +301,7 @@ uploadFromUrlMayTakeTime: "Pode levar algum tempo para que o upload seja conclu
explore: "Explorar" explore: "Explorar"
messageRead: "Lida" messageRead: "Lida"
noMoreHistory: "Não existe histórico anterior" noMoreHistory: "Não existe histórico anterior"
startMessaging: "Iniciar conversação" startChat: "Iniciar conversa"
nUsersRead: "{n} pessoas leram" nUsersRead: "{n} pessoas leram"
agreeTo: "Eu concordo com {0}" agreeTo: "Eu concordo com {0}"
agree: "Concordar" agree: "Concordar"
@ -334,6 +340,7 @@ renameFolder: "Renomear Pasta"
deleteFolder: "Excluir pasta" deleteFolder: "Excluir pasta"
folder: "Pasta" folder: "Pasta"
addFile: "Adicionar arquivo" addFile: "Adicionar arquivo"
showFile: "Mostrar arquivos"
emptyDrive: "O drive está vazio" emptyDrive: "O drive está vazio"
emptyFolder: "A pasta está vazia" emptyFolder: "A pasta está vazia"
unableToDelete: "Não é possível excluir" unableToDelete: "Não é possível excluir"
@ -376,7 +383,6 @@ enableLocalTimeline: "Ativar linha do tempo local"
enableGlobalTimeline: "Ativar linha do tempo global" enableGlobalTimeline: "Ativar linha do tempo global"
disablingTimelinesInfo: "Se você desabilitar essas linhas do tempo, administradores e moderadores ainda poderão usá-las por conveniência." disablingTimelinesInfo: "Se você desabilitar essas linhas do tempo, administradores e moderadores ainda poderão usá-las por conveniência."
registration: "Registar" registration: "Registar"
enableRegistration: "Permitir que qualquer pessoa se registre"
invite: "Convidar" invite: "Convidar"
driveCapacityPerLocalAccount: "Capacidade do drive por usuário local" driveCapacityPerLocalAccount: "Capacidade do drive por usuário local"
driveCapacityPerRemoteAccount: "Capacidade do drive por usuário remoto" driveCapacityPerRemoteAccount: "Capacidade do drive por usuário remoto"
@ -418,6 +424,7 @@ antennaExcludeBots: "Ignorar contas de bot"
antennaKeywordsDescription: "Se você separá-lo com um espaço, será uma especificação AND, e se você separá-lo com uma quebra de linha, será uma especificação OR." antennaKeywordsDescription: "Se você separá-lo com um espaço, será uma especificação AND, e se você separá-lo com uma quebra de linha, será uma especificação OR."
notifyAntenna: "Notificar novas notas" notifyAntenna: "Notificar novas notas"
withFileAntenna: "Apenas notas com arquivos anexados" withFileAntenna: "Apenas notas com arquivos anexados"
excludeNotesInSensitiveChannel: "Excluir notas de canais sensíveis"
enableServiceworker: "Ative as notificações push para o seu navegador" enableServiceworker: "Ative as notificações push para o seu navegador"
antennaUsersDescription: "Especificar nomes de utilizador separados por quebras de linha" antennaUsersDescription: "Especificar nomes de utilizador separados por quebras de linha"
caseSensitive: "Maiúsculas e minúsculas" caseSensitive: "Maiúsculas e minúsculas"
@ -448,6 +455,7 @@ totpDescription: "Digite a senha de uso único informado pelo aplicativo autenti
moderator: "Moderador" moderator: "Moderador"
moderation: "Moderação" moderation: "Moderação"
moderationNote: "Nota de moderação" moderationNote: "Nota de moderação"
moderationNoteDescription: "Você pode preencher notas que serão compartilhadas apenas com moderadores."
addModerationNote: "Adicionar nota de moderação" addModerationNote: "Adicionar nota de moderação"
moderationLogs: "Logs de moderação" moderationLogs: "Logs de moderação"
nUsersMentioned: "Postado por {n} pessoas" nUsersMentioned: "Postado por {n} pessoas"
@ -483,8 +491,6 @@ noteOf: "Publicação de {user}"
quoteAttached: "Com citação" quoteAttached: "Com citação"
quoteQuestion: "Anexar como citação?" quoteQuestion: "Anexar como citação?"
attachAsFileQuestion: "O texto na área de transferência é muito longo. Você gostaria de anexá-lo como um arquivo de texto?" attachAsFileQuestion: "O texto na área de transferência é muito longo. Você gostaria de anexá-lo como um arquivo de texto?"
noMessagesYet: "Sem conversas até o momento"
newMessageExists: "Há uma nova mensagem"
onlyOneFileCanBeAttached: "Apenas um arquivo pode ser anexado a uma mensagem" onlyOneFileCanBeAttached: "Apenas um arquivo pode ser anexado a uma mensagem"
signinRequired: "É necessário se inscrever ou fazer login antes de continuar" signinRequired: "É necessário se inscrever ou fazer login antes de continuar"
signinOrContinueOnRemote: "Para continuar, você precisa mover o seu servidor ou entrar/cadastrar-se nesse servidor." signinOrContinueOnRemote: "Para continuar, você precisa mover o seu servidor ou entrar/cadastrar-se nesse servidor."
@ -509,6 +515,10 @@ uiLanguage: "Idioma de exibição da interface "
aboutX: "Sobre {x}" aboutX: "Sobre {x}"
emojiStyle: "Estilo de emojis" emojiStyle: "Estilo de emojis"
native: "Nativo" native: "Nativo"
menuStyle: "Estilo do menu"
style: "Estilo"
drawer: "Gaveta"
popup: "Pop-up"
showNoteActionsOnlyHover: "Exibir as ações da nota somente ao passar o cursor sobre ela" showNoteActionsOnlyHover: "Exibir as ações da nota somente ao passar o cursor sobre ela"
showReactionsCount: "Ver o número de reações nas notas" showReactionsCount: "Ver o número de reações nas notas"
noHistory: "Ainda não há histórico" noHistory: "Ainda não há histórico"
@ -576,6 +586,7 @@ masterVolume: "volume principal"
notUseSound: "Desabilitar som" notUseSound: "Desabilitar som"
useSoundOnlyWhenActive: "Apenas reproduzir sons quando Misskey estiver aberto." useSoundOnlyWhenActive: "Apenas reproduzir sons quando Misskey estiver aberto."
details: "Detalhes" details: "Detalhes"
renoteDetails: "Detalhes da repostagem"
chooseEmoji: "Selecione um emoji" chooseEmoji: "Selecione um emoji"
unableToProcess: "Não é possível concluir a operação" unableToProcess: "Não é possível concluir a operação"
recentUsed: "Usado recentemente" recentUsed: "Usado recentemente"
@ -591,6 +602,8 @@ ascendingOrder: "Ascendente"
descendingOrder: "Descendente" descendingOrder: "Descendente"
scratchpad: "Bloco de rascunho" scratchpad: "Bloco de rascunho"
scratchpadDescription: "O Bloco de rascunho fornece um ambiente experimental para AiScript. Permite escrever, executar e verificar os resultados do código para interagir com o Misskey." scratchpadDescription: "O Bloco de rascunho fornece um ambiente experimental para AiScript. Permite escrever, executar e verificar os resultados do código para interagir com o Misskey."
uiInspector: "Inspecionador de interface"
uiInspectorDescription: "Você pode ver a lista de servidores de componentes de interface na memória. Componentes da interface serão gerados pela função Ui:C:."
output: "Resultado" output: "Resultado"
script: "Script" script: "Script"
disablePagesScript: "Desabilitar scripts nas páginas" disablePagesScript: "Desabilitar scripts nas páginas"
@ -671,14 +684,19 @@ smtpSecure: "Use SSL/TLS implícito para conexões SMTP"
smtpSecureInfo: "Desative esta opção ao utilizar STARTTLS." smtpSecureInfo: "Desative esta opção ao utilizar STARTTLS."
testEmail: "Testar envio de e-mail" testEmail: "Testar envio de e-mail"
wordMute: "Silenciar palavras" wordMute: "Silenciar palavras"
hardWordMute: "SIlenciamento pesado de palavra" wordMuteDescription: "Minimizar notas que contêm a palavra ou frase especificada. Notas minimizadas são exibidas ao clicá-las."
hardWordMute: "Silenciar palavras (esconder posts)"
showMutedWord: "Exibir palavras silenciadas"
hardWordMuteDescription: "Esconder notas que contêm a palavra ou frase especificada. Diferente do silenciamento de palavras, a nota será completamente escondida."
regexpError: "Erro na expressão regular" regexpError: "Erro na expressão regular"
regexpErrorDescription: "Ocorreu um erro na expressão regular na linha {line} da palavra mutada {tab}:" regexpErrorDescription: "Ocorreu um erro na expressão regular na linha {line} da palavra mutada {tab}:"
instanceMute: "Instâncias silenciadas" instanceMute: "Instâncias silenciadas"
userSaysSomething: "{name} disse algo" userSaysSomething: "{name} disse algo"
userSaysSomethingAbout: "{name} disse algo sobre \"{word}\""
makeActive: "Ativar" makeActive: "Ativar"
display: "Visualizar" display: "Visualizar"
copy: "Copiar" copy: "Copiar"
copiedToClipboard: "Copiado à área de transferência"
metrics: "Métricas" metrics: "Métricas"
overview: "Visão geral" overview: "Visão geral"
logs: "Logs" logs: "Logs"
@ -909,6 +927,7 @@ followersVisibility: "Visibilidade dos seguidores"
continueThread: "Ver mais desta conversa" continueThread: "Ver mais desta conversa"
deleteAccountConfirm: "Deseja realmente excluir a conta?" deleteAccountConfirm: "Deseja realmente excluir a conta?"
incorrectPassword: "Senha inválida." incorrectPassword: "Senha inválida."
incorrectTotp: "A senha de uso único está incorreta ou expirou."
voteConfirm: "Deseja confirmar o seu voto em \"{choice}\"?" voteConfirm: "Deseja confirmar o seu voto em \"{choice}\"?"
hide: "Ocultar" hide: "Ocultar"
useDrawerReactionPickerForMobile: "Mostrar em formato de gaveta" useDrawerReactionPickerForMobile: "Mostrar em formato de gaveta"
@ -933,6 +952,9 @@ oneHour: "1 hora"
oneDay: "1 dia" oneDay: "1 dia"
oneWeek: "1 semana" oneWeek: "1 semana"
oneMonth: "1 mês" oneMonth: "1 mês"
threeMonths: "3 meses"
oneYear: "1 ano"
threeDays: "3 dias"
reflectMayTakeTime: "As mudanças podem demorar a aparecer." reflectMayTakeTime: "As mudanças podem demorar a aparecer."
failedToFetchAccountInformation: "Não foi possível obter informações da conta" failedToFetchAccountInformation: "Não foi possível obter informações da conta"
rateLimitExceeded: "Taxa limite excedido" rateLimitExceeded: "Taxa limite excedido"
@ -957,6 +979,7 @@ document: "Documentação"
numberOfPageCache: "Número de cache de página" numberOfPageCache: "Número de cache de página"
numberOfPageCacheDescription: "Aumentar isso melhora a conveniência, mas também resulta em maior carga e uso de memória." numberOfPageCacheDescription: "Aumentar isso melhora a conveniência, mas também resulta em maior carga e uso de memória."
logoutConfirm: "Gostaria de encerrar a sessão?" logoutConfirm: "Gostaria de encerrar a sessão?"
logoutWillClearClientData: "Sair irá remover as configurações do cliente do navegador. Para redefinir as configurações ao entrar, você deve habilitar o backup automático de configurações."
lastActiveDate: "Última data de uso" lastActiveDate: "Última data de uso"
statusbar: "Barra de status" statusbar: "Barra de status"
pleaseSelect: "Por favor, selecione." pleaseSelect: "Por favor, selecione."
@ -1073,6 +1096,7 @@ retryAllQueuesConfirmTitle: "Gostaria de tentar novamente agora?"
retryAllQueuesConfirmText: "Isso irá temporariamente aumentar a carga do servidor." retryAllQueuesConfirmText: "Isso irá temporariamente aumentar a carga do servidor."
enableChartsForRemoteUser: "Gerar gráficos estatísticos de usuários remotos" enableChartsForRemoteUser: "Gerar gráficos estatísticos de usuários remotos"
enableChartsForFederatedInstances: "Gerar gráficos estatísticos de instâncias remotas" enableChartsForFederatedInstances: "Gerar gráficos estatísticos de instâncias remotas"
enableStatsForFederatedInstances: "Receber estatísticas de servidores remotos"
showClipButtonInNoteFooter: "Adicionar \"Clip\" ao menu de ação de notas" showClipButtonInNoteFooter: "Adicionar \"Clip\" ao menu de ação de notas"
reactionsDisplaySize: "Tamanho de exibição das reações" reactionsDisplaySize: "Tamanho de exibição das reações"
limitWidthOfReaction: "Limita o comprimento máximo de reações e as exibe em tamanho reduzido" limitWidthOfReaction: "Limita o comprimento máximo de reações e as exibe em tamanho reduzido"
@ -1259,7 +1283,181 @@ confirmWhenRevealingSensitiveMedia: "Confirmar ao revelar mídia sensível"
sensitiveMediaRevealConfirm: "Essa mídia pode ser sensível. Deseja revelá-la?" sensitiveMediaRevealConfirm: "Essa mídia pode ser sensível. Deseja revelá-la?"
createdLists: "Listas criadas" createdLists: "Listas criadas"
createdAntennas: "Antenas criadas" createdAntennas: "Antenas criadas"
fromX: "De {x}"
genEmbedCode: "Gerar código de embed"
noteOfThisUser: "Notas por este usuário"
clipNoteLimitExceeded: "Não é possível adicionar mais notas ao clipe." clipNoteLimitExceeded: "Não é possível adicionar mais notas ao clipe."
performance: "Desempenho"
modified: "Modificado"
discard: "Descartar"
thereAreNChanges: "Há {n} mudança(s)"
signinWithPasskey: "Entrar com Passkey"
unknownWebAuthnKey: "Passkey desconhecida"
passkeyVerificationFailed: "A verificação com Passkey falhou."
passkeyVerificationSucceededButPasswordlessLoginDisabled: "A verificação com Passkey teve êxito, mas a entrada sem senha está desabilitada."
messageToFollower: "Mensagem aos seguidores"
target: "Alvo"
testCaptchaWarning: "Essa função é utilizada apenas para testar CAPTCHA. <strong>Não a use num ambiente de produção.</strong>"
prohibitedWordsForNameOfUser: "Palavras proibidas para nomes de usuário"
prohibitedWordsForNameOfUserDescription: "Se quaisquer palavras dessa lista forem incluídas no nome de usuário, seu uso será negado. Usuários com privilégios de moderador não serão afetados pela restrição."
yourNameContainsProhibitedWords: "O seu nome possui palavras proibidas"
yourNameContainsProhibitedWordsDescription: "Se você deseja utilizar esse nome, entre em contato com o administrador do servidor."
thisContentsAreMarkedAsSigninRequiredByAuthor: "O autor exige que você esteja cadastrado para ver"
lockdown: "Lockdown"
pleaseSelectAccount: "Selecione uma conta"
availableRoles: "Cargos disponíveis"
acknowledgeNotesAndEnable: "Ative após compreender as precauções."
federationSpecified: "Esse servidor opera com uma lista branca de federação. Interagir com servidores diferentes daqueles designados pela administração não é permitido."
federationDisabled: "Federação está desabilitada nesse servidor. Você não pode interagir com usuários de outros servidores."
confirmOnReact: "Confirmar ao reagir"
reactAreYouSure: "Você deseja adicionar uma reação \"{emoji}\"?"
markAsSensitiveConfirm: "Você deseja definir essa mídia como sensível?"
unmarkAsSensitiveConfirm: "Você deseja remover a definição dessa mídia como sensível?"
preferences: "Preferências"
accessibility: "Acessibilidade"
preferencesProfile: "Perfil de preferências"
copyPreferenceId: "Copiar ID de preferências"
resetToDefaultValue: "Reverter ao padrão"
overrideByAccount: "Sobrescrever pela conta"
untitled: "Sem título"
noName: "Sem nome"
skip: "Pular"
restore: "Redefinir"
syncBetweenDevices: "Sincronizar entre dispositivos"
preferenceSyncConflictTitle: "O valor configurado já existe no servidor."
preferenceSyncConflictText: "As preferências com a sincronização ativada irão salvar os seus valores no servidor. Porém, já existem valores no servidor. Qual conjunto de valores você deseja sobrescrever?"
preferenceSyncConflictChoiceServer: "Valor configurado no servidor"
preferenceSyncConflictChoiceDevice: "Valor configurado no dispositivo"
preferenceSyncConflictChoiceCancel: "Cancelar a habilitação de sincronização"
paste: "Colar"
emojiPalette: "Paleta de emojis"
postForm: "Campo de postagem"
textCount: "Contagem de caracteres"
information: "Informações"
chat: "Conversas"
migrateOldSettings: "Migrar configurações antigas de cliente"
migrateOldSettings_description: "Isso deve ser feito automaticamente. Caso o processo de migração tenha falhado, você pode acioná-lo manualmente. As informações atuais de migração serão substituídas."
compress: "Comprimir"
right: "Direita"
bottom: "Inferior"
top: "Superior"
embed: "Embed"
settingsMigrating: "Configurações estão sendo migradas, aguarde... (Você pode migrar manualmente em Configurações→Outros→Migrar configurações antigas de cliente)"
readonly: "Ler apenas"
goToDeck: "Voltar ao Deck"
federationJobs: "Tarefas de Federação"
_chat:
noMessagesYet: "Ainda não há mensagens"
newMessage: "Nova mensagem"
individualChat: "Conversa Particular"
individualChat_description: "Ter uma conversa particular com outra pessoa."
roomChat: "Conversa de Grupo"
roomChat_description: "Uma sala de conversas com várias pessoas. Você pode adicionar pessoas que não permitem conversas privadas se elas aceitarem o convite."
createRoom: "Criar Sala"
inviteUserToChat: "Convide usuários para começar a conversar"
yourRooms: "Salas criadas"
joiningRooms: "Salas ingressadas"
invitations: "Convidar"
noInvitations: "Sem convites"
history: "Histórico"
noHistory: "Ainda não há histórico"
noRooms: "Nenhuma sala encontrada"
inviteUser: "Convidar Usuários"
sentInvitations: "Convites Enviados"
join: "Entrar"
ignore: "Ignorar"
leave: "Deixar sala"
members: "Membros"
searchMessages: "Pesquisar mensagens"
home: "Início"
send: "Enviar"
newline: "Nova linha"
muteThisRoom: "Silenciar sala"
deleteRoom: "Excluir sala"
chatNotAvailableForThisAccountOrServer: "Conversas não estão habilitadas nesse servidor ou para essa conta."
chatIsReadOnlyForThisAccountOrServer: "Conversas são apenas para leitura nesse servidor ou para essa conta. Não é possível escrever novas mensagens ou criar/ingressar novas conversas."
chatNotAvailableInOtherAccount: "A função de conversas está desabilitadas para o outro usuário."
cannotChatWithTheUser: "Não é possível conversar com esse usuário."
cannotChatWithTheUser_description: "Conversas estão indisponíveis ou o outro usuário não as habilitou."
chatWithThisUser: "Conversar com usuário"
thisUserAllowsChatOnlyFromFollowers: "Esse usuário aceita conversar apenas com seguidores."
thisUserAllowsChatOnlyFromFollowing: "Esse usuário aceita conversar apenas com quem segue."
thisUserAllowsChatOnlyFromMutualFollowing: "Esse usuário aceita conversar apenas com seguidores mútuos."
thisUserNotAllowedChatAnyone: "Esse usuário não aceita conversar com ninguém."
chatAllowedUsers: "Com quem permitir conversas"
chatAllowedUsers_note: "Você pode conversar com qualquer um com quem tenha iniciado uma conversa independente dessa configuração."
_chatAllowedUsers:
everyone: "Todos"
followers: "Seus seguidores"
following: "Quem você segue"
mutual: "Seguidores mútuos"
none: "Ninguém"
_emojiPalette:
palettes: "Paleta"
enableSyncBetweenDevicesForPalettes: "Sincronizar paleta entre dispositivos"
paletteForMain: "Paleta principal"
paletteForReaction: "Paleta de reações"
_settings:
driveBanner: "Você consegue administrar e configurar o drive, conferir o seu uso e configurar as opções de envio de arquivos."
pluginBanner: "Você pode ampliar as funções do cliente com plugins. Você pode instalar plugins, configurar e administrar individualmente."
notificationsBanner: "Você pode configurar os tipos e intervalo das notificações do servidor, além de notificações push."
api: "API"
webhook: "Webhook"
serviceConnection: "Integração de serviço"
serviceConnectionBanner: "Administre e configure tokens de acesso e webhooks para interagir com aplicações e serviços externos."
accountData: "Dados da conta"
accountDataBanner: "Exportar e importar dados da conta."
muteAndBlockBanner: "Você pode configurar meios para esconder conteúdo e restringir ações de certos usuários."
accessibilityBanner: "Você pode personalizar o visual e comportamento do cliente, além de configurar modos de otimizar o uso."
privacyBanner: "Você pode configurar a privacidade da conta por meio da visibilidade do conteúdo, capacidade de descoberta e aprovação manual de seguidores."
securityBanner: "Você pode configurar a segurança da conta em ajustes como senha, meios de entrada, aplicativos de autenticação e chaves de acesso."
preferencesBanner: "Você pode configurar o comportamento geral do cliente segundo as suas preferências."
appearanceBanner: "Você pode configurar a aparência do cliente e ajustes de tela segundo as suas preferências."
soundsBanner: "Você pode configurar a reprodução de sons no cliente."
timelineAndNote: "Notas e linha do tempo"
makeEveryTextElementsSelectable: "Tornar todos os elementos de texto selecionáveis"
makeEveryTextElementsSelectable_description: "Habilitar isso pode reduzir a usabilidade em algumas situações"
useStickyIcons: "Fazer ícones acompanharem a rolagem da tela"
showNavbarSubButtons: "Mostrar sub-botões na barra de navegação"
ifOn: "Quando ligado"
ifOff: "Quando desligado"
enableSyncThemesBetweenDevices: "Sincronizar temas instalados entre dispositivos"
_chat:
showSenderName: "Exibir nome de usuário do remetente"
sendOnEnter: "Pressionar Enter para enviar"
_preferencesProfile:
profileName: "Nome do perfil"
profileNameDescription: "Defina o nome que identifica esse dispositivo."
profileNameDescription2: "Exemplo: \"Computador Principal\", \"Celular\""
_preferencesBackup:
autoBackup: "Backup automático"
restoreFromBackup: "Restaurar backup"
noBackupsFoundTitle: "Nenhum backup encontrado"
noBackupsFoundDescription: "Nenhum backup automático foi encontrado. Se você salvou um arquivo de backup manualmente, você pode importá-lo e restaurá-lo."
selectBackupToRestore: "Selecionar um backup para restaurar"
youNeedToNameYourProfileToEnableAutoBackup: "Um nome de perfil deve ser definido para habilitar o backup automático."
autoPreferencesBackupIsNotEnabledForThisDevice: "Backup automático de configurações não está habilitado no dispositivo."
backupFound: "Backup de configurações encontrado"
_accountSettings:
requireSigninToViewContents: "Exigir cadastro para ver o conteúdo"
requireSigninToViewContentsDescription1: "Exigir cadastro para ver todas as notas e outro conteúdo que você criou. Isso previne 'crawlers' de coletar os seus dados."
requireSigninToViewContentsDescription2: "Conteúdo não será exibido nas prévias de URL (OGP), incorporado em outras páginas web ou em servidores que não têm suporte a citações."
requireSigninToViewContentsDescription3: "Essas restrições podem não ser aplicadas a conteúdo federado de outros servidores."
makeNotesFollowersOnlyBefore: "Tornar notas passadas visíveis apenas para seguidores."
makeNotesFollowersOnlyBeforeDescription: "Com essa função ativada, apenas seguidores podem ver as notas anteriores à data e hora marcadas. Se isso for desativado, o status de publicação da nota será reestabelecido."
makeNotesHiddenBefore: "Tornar notas passadas privadas"
makeNotesHiddenBeforeDescription: "Com essa função ativada, apenas você poderá ver as notas anteriores à data e hora marcadas. Se isso for desativado, o status de publicação da nota será reestabelecido."
mayNotEffectForFederatedNotes: "Notas federadas a servidores remotos podem não ser afetadas."
mayNotEffectSomeSituations: "Essas restrições são simplificadas. Elas podem não ser aplicadas em algumas situações, como ao visualizar num servidor remoto ou durante a moderação."
notesHavePassedSpecifiedPeriod: "Notas que duraram um tempo específico."
notesOlderThanSpecifiedDateAndTime: "Notas antes do tempo específico."
_abuseUserReport:
forward: "Encaminhar"
forwardDescription: "Encaminhar a denúncia ao servidor remoto como uma conta anônima do sistema."
resolve: "Resolver"
accept: "Aceitar"
reject: "Rejeitar"
resolveTutorial: "Se a denúncia for legítima em conteúdo, selecione \"Aceitar\" para marcar o caso como resolvido afirmativamente.\nSe a denúncia for ilegítima em conteúdo, selecione \"Rejeitar\" para marcar o caso como resolvido negativamente."
_delivery: _delivery:
status: "Estado de entrega" status: "Estado de entrega"
stop: "Suspenso" stop: "Suspenso"
@ -1394,8 +1592,12 @@ _serverSettings:
fanoutTimelineDescription: "Melhora significativamente a performance do retorno da linha do tempo e reduz o impacto no banco de dados quando habilitado. Em contrapartida, o uso de memória do Redis aumentará. Considere desabilitar em casos de baixa disponibilidade de memória ou instabilidade do servidor." fanoutTimelineDescription: "Melhora significativamente a performance do retorno da linha do tempo e reduz o impacto no banco de dados quando habilitado. Em contrapartida, o uso de memória do Redis aumentará. Considere desabilitar em casos de baixa disponibilidade de memória ou instabilidade do servidor."
fanoutTimelineDbFallback: "\"Fallback\" ao banco de dados" fanoutTimelineDbFallback: "\"Fallback\" ao banco de dados"
fanoutTimelineDbFallbackDescription: "Quando habilitado, a linha do tempo irá recuar ao banco de dados caso consultas adicionais sejam feitas e ela não estiver em cache. Quando desabilitado, o impacto no servidor será reduzido ao eliminar o recuo, mas limita a quantidade de linhas do tempo que podem ser recebidas." fanoutTimelineDbFallbackDescription: "Quando habilitado, a linha do tempo irá recuar ao banco de dados caso consultas adicionais sejam feitas e ela não estiver em cache. Quando desabilitado, o impacto no servidor será reduzido ao eliminar o recuo, mas limita a quantidade de linhas do tempo que podem ser recebidas."
reactionsBufferingDescription: "Quando ativado, o desempenho durante a criação de uma reação será melhorado substancialmente, reduzindo a carga do banco de dados. Porém, a o uso de memória do Redis irá aumentar."
inquiryUrl: "URL de inquérito" inquiryUrl: "URL de inquérito"
inquiryUrlDescription: "Especifique um URL para um formulário de inquérito para a administração ou uma página web com informações de contato." inquiryUrlDescription: "Especifique um URL para um formulário de inquérito para a administração ou uma página web com informações de contato."
openRegistration: "Abrir a criação de contas"
openRegistrationWarning: "Abrir cadastros contém riscos. É recomendado apenas habilitá-los se houver um sistema de monitoramento contínuo e resolução imediata de problemas."
thisSettingWillAutomaticallyOffWhenModeratorsInactive: "Se nenhuma atividade da moderação for detectada por um tempo, essa configuração será desativada para prevenir spam."
_accountMigration: _accountMigration:
moveFrom: "Migrar outra conta para essa" moveFrom: "Migrar outra conta para essa"
moveFromSub: "Criar um 'alias' a outra conta" moveFromSub: "Criar um 'alias' a outra conta"
@ -1692,6 +1894,8 @@ _role:
descriptionOfIsExplorable: "Ao ativar, a lista de membros será pública na seção 'Explorar' e a linha do tempo do cargo ficará disponível." descriptionOfIsExplorable: "Ao ativar, a lista de membros será pública na seção 'Explorar' e a linha do tempo do cargo ficará disponível."
displayOrder: "Ordenação" displayOrder: "Ordenação"
descriptionOfDisplayOrder: "Quanto maior o número, maior a posição de destaque na interface do usuário." descriptionOfDisplayOrder: "Quanto maior o número, maior a posição de destaque na interface do usuário."
preserveAssignmentOnMoveAccount: "Preservar a associação de cargos durante a migração"
preserveAssignmentOnMoveAccount_description: "Quando ligado, esse cargo será encaminhado para a conta final quando houver migração de um usuário."
canEditMembersByModerator: "Permitir a edição de membros deste cargo por moderadores" canEditMembersByModerator: "Permitir a edição de membros deste cargo por moderadores"
descriptionOfCanEditMembersByModerator: "Quando ativado, os moderadores também poderão atribuir/remover usuários deste papel, além dos administradores. Quando desativado, apenas os administradores poderão fazê-lo." descriptionOfCanEditMembersByModerator: "Quando ativado, os moderadores também poderão atribuir/remover usuários deste papel, além dos administradores. Quando desativado, apenas os administradores poderão fazê-lo."
priority: "Prioridade" priority: "Prioridade"
@ -1727,6 +1931,12 @@ _role:
canSearchNotes: "Permitir a busca de notas" canSearchNotes: "Permitir a busca de notas"
canUseTranslator: "Uso do tradutor" canUseTranslator: "Uso do tradutor"
avatarDecorationLimit: "Número máximo de decorações de avatar que podem ser aplicadas" avatarDecorationLimit: "Número máximo de decorações de avatar que podem ser aplicadas"
canImportAntennas: "Permitir importação de antenas"
canImportBlocking: "Permitir importação de bloqueios"
canImportFollowing: "Permitir importação de usuários seguidos"
canImportMuting: "Permitir importação de silenciamentos"
canImportUserLists: "Permitir importação de listas"
chatAvailability: "Permitir Conversas"
_condition: _condition:
roleAssignedTo: "Atribuído a cargos manuais" roleAssignedTo: "Atribuído a cargos manuais"
isLocal: "Usuário local" isLocal: "Usuário local"
@ -1890,6 +2100,7 @@ _theme:
installed: "{name} foi instalado" installed: "{name} foi instalado"
installedThemes: "Temas instalados" installedThemes: "Temas instalados"
builtinThemes: "Temas nativos" builtinThemes: "Temas nativos"
instanceTheme: "Tema do servidor"
alreadyInstalled: "Esse tema já foi instalado" alreadyInstalled: "Esse tema já foi instalado"
invalid: "O formato desse tema é invalido" invalid: "O formato desse tema é invalido"
make: "Fazer um tema" make: "Fazer um tema"
@ -1922,7 +2133,6 @@ _theme:
header: "Cabeçalho" header: "Cabeçalho"
navBg: "Plano de fundo da barra lateral" navBg: "Plano de fundo da barra lateral"
navFg: "Texto da barra lateral" navFg: "Texto da barra lateral"
navHoverFg: "Texto da coluna lateral (Selecionado)"
navActive: "Texto da coluna lateral (Ativa)" navActive: "Texto da coluna lateral (Ativa)"
navIndicator: "Indicador da coluna lateral" navIndicator: "Indicador da coluna lateral"
link: "Link" link: "Link"
@ -1945,17 +2155,15 @@ _theme:
buttonHoverBg: "Plano de fundo de botão (Selecionado)" buttonHoverBg: "Plano de fundo de botão (Selecionado)"
inputBorder: "Borda de campo digitável" inputBorder: "Borda de campo digitável"
driveFolderBg: "Plano de fundo da pasta no Drive" driveFolderBg: "Plano de fundo da pasta no Drive"
wallpaperOverlay: "Sobreposição do papel de parede."
badge: "Emblema" badge: "Emblema"
messageBg: "Plano de fundo do chat" messageBg: "Plano de fundo do chat"
accentDarken: "Cor de destaque (Escurecida)"
accentLighten: "Cor de destaque (Esclarecida)"
fgHighlighted: "Texto Destacado" fgHighlighted: "Texto Destacado"
_sfx: _sfx:
note: "Posts" note: "Posts"
noteMy: "Própria nota" noteMy: "Própria nota"
notification: "Notificações" notification: "Notificações"
reaction: "Ao selecionar uma reação" reaction: "Ao selecionar uma reação"
chatMessage: "Mensagens em Conversas"
_soundSettings: _soundSettings:
driveFile: "Usar um arquivo de áudio do Drive." driveFile: "Usar um arquivo de áudio do Drive."
driveFileWarn: "Selecione um arquivo de áudio do Drive." driveFileWarn: "Selecione um arquivo de áudio do Drive."
@ -2102,6 +2310,8 @@ _permissions:
"read:clip-favorite": "Ver Clipes favoritados" "read:clip-favorite": "Ver Clipes favoritados"
"read:federation": "Ver dados de federação" "read:federation": "Ver dados de federação"
"write:report-abuse": "Reportar violação" "write:report-abuse": "Reportar violação"
"write:chat": "Compor ou editar mensagens de chat"
"read:chat": "Navegar Conversas"
_auth: _auth:
shareAccessTitle: "Conceder permissões do aplicativo" shareAccessTitle: "Conceder permissões do aplicativo"
shareAccess: "Você gostaria de autorizar \"{name}\" para acessar essa conta?" shareAccess: "Você gostaria de autorizar \"{name}\" para acessar essa conta?"
@ -2110,8 +2320,11 @@ _auth:
permissionAsk: "O aplicativo solicita as seguintes permissões" permissionAsk: "O aplicativo solicita as seguintes permissões"
pleaseGoBack: "Por favor, volte ao aplicativo" pleaseGoBack: "Por favor, volte ao aplicativo"
callback: "Retornando ao aplicativo" callback: "Retornando ao aplicativo"
accepted: "Acesso permitido"
denied: "Acesso negado" denied: "Acesso negado"
scopeUser: "Operar como o usuário a seguir"
pleaseLogin: "Por favor, entre para autorizar aplicativos." pleaseLogin: "Por favor, entre para autorizar aplicativos."
byClickingYouWillBeRedirectedToThisUrl: "Quando o acesso for permitido, você será redirecionado para o seguinte endereço"
_antennaSources: _antennaSources:
all: "Todas as notas" all: "Todas as notas"
homeTimeline: "Notas de usuários seguidos" homeTimeline: "Notas de usuários seguidos"
@ -2157,6 +2370,7 @@ _widgets:
chooseList: "Selecione uma lista" chooseList: "Selecione uma lista"
clicker: "Clicker" clicker: "Clicker"
birthdayFollowings: "Usuários de aniversário hoje" birthdayFollowings: "Usuários de aniversário hoje"
chat: "Conversas"
_cw: _cw:
hide: "Esconder" hide: "Esconder"
show: "Carregar mais" show: "Carregar mais"
@ -2220,6 +2434,9 @@ _profile:
changeBanner: "Mudar banner" changeBanner: "Mudar banner"
verifiedLinkDescription: "Ao inserir um URL que contém um link para essa conta, um ícone de verificação será exibido ao lado do campo" verifiedLinkDescription: "Ao inserir um URL que contém um link para essa conta, um ícone de verificação será exibido ao lado do campo"
avatarDecorationMax: "Você pode adicionar até {max} decorações." avatarDecorationMax: "Você pode adicionar até {max} decorações."
followedMessage: "Mensagem exibida quando alguém segue você"
followedMessageDescription: "Você pode definir uma curta mensagem que será exibida aos usuários que seguirem você."
followedMessageDescriptionForLockedAccount: "Se você aceita pedidos de seguidor manualmente, isso será exibido quando você aceitá-los."
_exportOrImport: _exportOrImport:
allNotes: "Todas as notas" allNotes: "Todas as notas"
favoritedNotes: "Notas nos favoritos" favoritedNotes: "Notas nos favoritos"
@ -2282,9 +2499,6 @@ _pages:
newPage: "Criar uma Página" newPage: "Criar uma Página"
editPage: "Editar essa Página" editPage: "Editar essa Página"
readPage: "Ver a fonte dessa Página" readPage: "Ver a fonte dessa Página"
created: "Página criada com sucesso"
updated: "Página atualizada com sucesso"
deleted: "Página excluída com sucesso"
pageSetting: "Configurações da página" pageSetting: "Configurações da página"
nameAlreadyExists: "O URL de Página especificado já existe" nameAlreadyExists: "O URL de Página especificado já existe"
invalidNameTitle: "O URL de Página especificado é inválido" invalidNameTitle: "O URL de Página especificado é inválido"
@ -2347,6 +2561,7 @@ _notification:
newNote: "Nova nota" newNote: "Nova nota"
unreadAntennaNote: "Antena {name}" unreadAntennaNote: "Antena {name}"
roleAssigned: "Cargo dado" roleAssigned: "Cargo dado"
chatRoomInvitationReceived: "Você foi convidado para uma conversa"
emptyPushNotificationMessage: "As notificações de alerta foram atualizadas" emptyPushNotificationMessage: "As notificações de alerta foram atualizadas"
achievementEarned: "Conquista desbloqueada" achievementEarned: "Conquista desbloqueada"
testNotification: "Notificação teste" testNotification: "Notificação teste"
@ -2358,6 +2573,10 @@ _notification:
renotedBySomeUsers: "{n} usuários repostaram a nota" renotedBySomeUsers: "{n} usuários repostaram a nota"
followedBySomeUsers: "{n} usuários te seguiram" followedBySomeUsers: "{n} usuários te seguiram"
flushNotification: "Limpar notificações" flushNotification: "Limpar notificações"
exportOfXCompleted: "Exportação de {x} foi concluída"
login: "Alguém entrou na conta"
createToken: "Uma token de acesso foi criada"
createTokenDescription: "Se você não faz ideia, exclua o token de acesso através de \"{text}\"."
_types: _types:
all: "Todas" all: "Todas"
note: "Novas notas" note: "Novas notas"
@ -2371,8 +2590,12 @@ _notification:
receiveFollowRequest: "Recebeu pedidos de seguidor" receiveFollowRequest: "Recebeu pedidos de seguidor"
followRequestAccepted: "Aceitou pedidos de seguidor" followRequestAccepted: "Aceitou pedidos de seguidor"
roleAssigned: "Cargo dado" roleAssigned: "Cargo dado"
chatRoomInvitationReceived: "Convite de conversa recebido"
achievementEarned: "Conquista desbloqueada" achievementEarned: "Conquista desbloqueada"
exportCompleted: "A exportação foi concluída"
login: "Iniciar sessão" login: "Iniciar sessão"
createToken: "Criar token de acesso"
test: "Notificação teste"
app: "Notificações de aplicativos conectados" app: "Notificações de aplicativos conectados"
_actions: _actions:
followBack: "te seguiu de volta" followBack: "te seguiu de volta"
@ -2381,6 +2604,9 @@ _notification:
_deck: _deck:
alwaysShowMainColumn: "Sempre mostrar a coluna principal" alwaysShowMainColumn: "Sempre mostrar a coluna principal"
columnAlign: "Alinhar colunas" columnAlign: "Alinhar colunas"
columnGap: "Margem entre colunas"
deckMenuPosition: "Posição do menu do deck"
navbarPosition: "Posição da barra de navegação"
addColumn: "Adicionar coluna" addColumn: "Adicionar coluna"
newNoteNotificationSettings: "Opções de notificação para novas notas" newNoteNotificationSettings: "Opções de notificação para novas notas"
configureColumn: "Configurar coluna" configureColumn: "Configurar coluna"
@ -2399,6 +2625,7 @@ _deck:
useSimpleUiForNonRootPages: "Usar UI simples para páginas navegadas" useSimpleUiForNonRootPages: "Usar UI simples para páginas navegadas"
usedAsMinWidthWhenFlexible: "A largura mínima será usada para isso quando o \"Ajuste automático da largura\" estiver ativado" usedAsMinWidthWhenFlexible: "A largura mínima será usada para isso quando o \"Ajuste automático da largura\" estiver ativado"
flexible: "Ajuste automático da largura" flexible: "Ajuste automático da largura"
enableSyncBetweenDevicesForProfiles: "Habilitar sincronização das informações do perfil entre dispositivos"
_columns: _columns:
main: "Principal" main: "Principal"
widgets: "Widgets" widgets: "Widgets"
@ -2410,6 +2637,7 @@ _deck:
mentions: "Menções" mentions: "Menções"
direct: "Notas diretas" direct: "Notas diretas"
roleTimeline: "Linha do tempo do cargo" roleTimeline: "Linha do tempo do cargo"
chat: "Conversas"
_dialog: _dialog:
charactersExceeded: "Você excedeu o limite de caracteres! Atualmente em {current} de {max}." charactersExceeded: "Você excedeu o limite de caracteres! Atualmente em {current} de {max}."
charactersBelow: "Você está abaixo do limite mínimo de caracteres! Atualmente em {current} of {min}." charactersBelow: "Você está abaixo do limite mínimo de caracteres! Atualmente em {current} of {min}."
@ -2438,7 +2666,10 @@ _webhookSettings:
abuseReport: "Quando receber um relatório de abuso" abuseReport: "Quando receber um relatório de abuso"
abuseReportResolved: "Quando relatórios de abuso forem resolvidos " abuseReportResolved: "Quando relatórios de abuso forem resolvidos "
userCreated: "Quando um usuário é criado" userCreated: "Quando um usuário é criado"
inactiveModeratorsWarning: "Quando moderadores estiverem inativos por um tempo"
inactiveModeratorsInvitationOnlyChanged: "Quando um moderador está inativo por um tempo e os cadastros passam a exigir convites"
deleteConfirm: "Você tem certeza de que deseja excluir o Webhook?" deleteConfirm: "Você tem certeza de que deseja excluir o Webhook?"
testRemarks: "Clique no botão à direita do interruptor para enviar um Webhook de teste com dados fictícios."
_abuseReport: _abuseReport:
_notificationRecipient: _notificationRecipient:
createRecipient: "Adicionar destinatário para relatórios de abuso" createRecipient: "Adicionar destinatário para relatórios de abuso"
@ -2482,6 +2713,8 @@ _moderationLogTypes:
markSensitiveDriveFile: "Arquivo marcado como sensível" markSensitiveDriveFile: "Arquivo marcado como sensível"
unmarkSensitiveDriveFile: "Arquivo desmarcado como sensível" unmarkSensitiveDriveFile: "Arquivo desmarcado como sensível"
resolveAbuseReport: "Relatório resolvido" resolveAbuseReport: "Relatório resolvido"
forwardAbuseReport: "Denúncia encaminhada"
updateAbuseReportNote: "Nota de moderação da denúncia atualizada"
createInvitation: "Convite gerado" createInvitation: "Convite gerado"
createAd: "Propaganda criada" createAd: "Propaganda criada"
deleteAd: "Propaganda excluída" deleteAd: "Propaganda excluída"
@ -2501,6 +2734,8 @@ _moderationLogTypes:
deletePage: "Remover página" deletePage: "Remover página"
deleteFlash: "Remover Play" deleteFlash: "Remover Play"
deleteGalleryPost: "Remover a publicação da galeria" deleteGalleryPost: "Remover a publicação da galeria"
deleteChatRoom: "Sala de Conversas Excluída"
updateProxyAccountDescription: "Atualizar descrição da conta de proxy"
_fileViewer: _fileViewer:
title: "Detalhes do arquivo" title: "Detalhes do arquivo"
type: "Tipo de arquivo" type: "Tipo de arquivo"
@ -2514,10 +2749,8 @@ _externalResourceInstaller:
checkVendorBeforeInstall: "Tenha certeza de que o distribuidor desse recurso é confiável antes da instalação." checkVendorBeforeInstall: "Tenha certeza de que o distribuidor desse recurso é confiável antes da instalação."
_plugin: _plugin:
title: "Deseja instalar esse plugin?" title: "Deseja instalar esse plugin?"
metaTitle: "Informações do plugin"
_theme: _theme:
title: "Deseja instalar esse tema?" title: "Deseja instalar esse tema?"
metaTitle: "Informações do tema"
_meta: _meta:
base: "Paleta de cores base" base: "Paleta de cores base"
_vendorInfo: _vendorInfo:
@ -2637,3 +2870,135 @@ _contextMenu:
app: "Aplicativo" app: "Aplicativo"
appWithShift: "Aplicativo com a tecla shift" appWithShift: "Aplicativo com a tecla shift"
native: "Nativo" native: "Nativo"
_gridComponent:
_error:
requiredValue: "Esse valor é necessário"
columnTypeNotSupport: "Validação de expressões regulares (RegEx) só é permitida em colunas type:text."
patternNotMatch: "Esse valor não se encaixa no padrão de {pattern}"
notUnique: "Valor deve ser único"
_roleSelectDialog:
notSelected: "Não selecionado"
_customEmojisManager:
_gridCommon:
copySelectionRows: "Copiar linhas selecionadas"
copySelectionRanges: "Copiar seleção"
deleteSelectionRows: "Excluir linhas selecionadas"
deleteSelectionRanges: "Excluir valores selecionados"
searchSettings: "Opções de busca"
searchSettingCaption: "Definir critérios detalhados de busca."
searchLimit: "Limite de busca"
sortOrder: "Ordem de classificação"
registrationLogs: "Histórico de registros"
registrationLogsCaption: "Atualizações e remoções de emoji serão gravadas no histórico. Atualizar, remover, mover a uma nova página ou recarregar limpará o histórico"
alertEmojisRegisterFailedDescription: "Não foi possível atualizar ou remover emojis. Por favor, confira o histórico de registro para mais detalhes."
_logs:
showSuccessLogSwitch: "Exibir sucessos no histórico"
failureLogNothing: "Não há registro de falhas."
logNothing: "Não há registros."
_remote:
selectionRowDetail: "Detalhes da linha selecionada"
importSelectionRows: "Importar linhas selecionadas"
importSelectionRangesRows: "Importar linhas no intervalo"
importEmojisButton: "Importar Emojis selecionados"
confirmImportEmojisTitle: "Importar Emojis"
confirmImportEmojisDescription: "Importar {count} Emoji(s) recebidos de um servidor remoto. Por favor, preste atenção na licença do Emoji. Tem certeza que deseja continuar?"
_local:
tabTitleList: "Emojis registrados"
tabTitleRegister: "Registro de Emoji"
_list:
emojisNothing: "Não há Emojis registrados."
markAsDeleteTargetRows: "Marcar linhas selecionadas para remoção"
markAsDeleteTargetRanges: "Marcar linhas no intervalo para remoção"
alertUpdateEmojisNothingDescription: "Não há Emojis atualizados."
alertDeleteEmojisNothingDescription: "Não há Emojis marcados para remoção."
confirmMovePage: "Deseja mudar de página?"
confirmChangeView: "Deseja mudar de seção?"
confirmUpdateEmojisDescription: "Atualizando {count} Emoji(s). Deseja continuar?"
confirmDeleteEmojisDescription: "Removendo {count} Emoji(s) marcado(s). Deseja continuar?"
confirmResetDescription: "Todas as mudanças serão redefinidas."
confirmMovePageDesciption: "Mudanças foram feitas nos Emojis dessa página. Se você sair sem salvar, todas serão descartadas."
dialogSelectRoleTitle: "Buscar por cargo que pode usar esse Emoji"
_register:
uploadSettingTitle: "Configurações de envio"
uploadSettingDescription: "Nessa tela, você pode configurar o comportamento ao enviar Emojis."
directoryToCategoryLabel: "Transformar as pastas em categorias"
directoryToCategoryCaption: "Quando você arrastar um diretório, converter o caminho das pastas no campo \"categoria\"."
emojiInputAreaCaption: "Selecione Emojis que você deseja registrar utilizando um dos métodos."
emojiInputAreaList1: "Arraste arquivos de imagem ou diretórios dentro desse quadro"
emojiInputAreaList2: "Clique nesse link para abrir a seleção de arquivos"
emojiInputAreaList3: "Clique nesse link para selecionar do drive"
confirmRegisterEmojisDescription: "Registrando os Emojis da lista como novos Emojis personalizados. Deseja continuar? (Para evitar sobrecarga, apenas {count} Emoji(s) podem ser registrados em uma única operação)"
confirmClearEmojisDescription: "Descartando edições e limpando Emojis da lista. Deseja continuar?"
confirmUploadEmojisDescription: "Enviando {count} arquivo(s) arrastados ao drive. Deseja continuar?"
_embedCodeGen:
title: "Personalizar código do embed"
header: "Exibir cabeçalho"
autoload: "Carregar mais automaticamente (obsoleto)"
maxHeight: "Altura máxima"
maxHeightDescription: "Colocar em 0 desabilita a altura máxima. Especifique um valor para prevenir uma expansão vertical contínua."
maxHeightWarn: "O limite de altura máxima está desabilitado (0). Se isso não for intencional, insira um valor para a altura máxima."
previewIsNotActual: "A exibição difere do embed original porque ela excede o tamanho da tela de prévia."
rounded: "Tornar arredondado"
border: "Adicionar uma borda ao quadro externo"
applyToPreview: "Aplicar para a prévia"
generateCode: "Gerar código de embed"
codeGenerated: "O código foi gerado"
codeGeneratedDescription: "Coloque o código no seu website para incorporar o conteúdo."
_selfXssPrevention:
warning: "AVISO"
title: "\"Cole algo nessa tela\" é uma fraude"
description1: "Se você colar algo aqui, um usuário malicioso pode sabotar a sua conta ou roubar informações pessoais."
description2: "Se você não entender exatamente o que está colando, %cpare agora e feche essa janela."
description3: "Para mais informação, clique no link. {link}"
_followRequest:
recieved: "Aplicação recebida"
sent: "Aplicação enviada"
_remoteLookupErrors:
_federationNotAllowed:
title: "Não foi possível se comunicar com o servidor"
description: "Comunicação com esse servidor pode ter sido desabilitada ou o servidor pode ter sido bloqueado.\nPor favor, entre em contato com o administrador do servidor."
_uriInvalid:
title: "Endereço inválido"
description: "Há um problema com o endereço inserido. Por favor, confira se você não inseriu caracteres inválidos."
_requestFailed:
title: "Solicitação falhou"
description: "Comunicação com esse servidor falhou. O servidor pode estar inativo. Além disso, confira se você não inseriu um endereço inválido ou inexistente."
_responseInvalid:
title: "Resposta inválida"
description: "Foi possível comunicar com o servidor, porém os dados obtidos foram incorretos."
_noSuchObject:
title: "Não encontrado"
description: "O recurso solicitado não foi encontrado, confira o endereço."
_captcha:
verify: "Por favor, verifique o CAPTCHA"
testSiteKeyMessage: "Você pode conferir a prévia inserindo valores de teste para o site e chaves secretas.\nVeja a página seguinte para mais detalhes."
_error:
_requestFailed:
title: "O pedido do CAPTCHA falhou"
text: "Por favor, tente novamente ou verifique as configurações."
_verificationFailed:
title: "A validação do CAPTCHA falhou"
text: "Por favor, verifique se as configurações estão corretas."
_unknown:
title: "Erro CAPTCHA"
text: "Houve um erro inexperado."
_bootErrors:
title: "Falha ao carregar"
serverError: "Se o problema persistir após esperar um momento e recarregar, contate a administração da instância com o seguinte ID de erro."
solution: "O seguinte pode resolver o problema."
solution1: "Atualize seu navegador e sistema operacional para a última versão."
solution2: "Desative o bloqueador de anúncios"
solution3: "Limpe o cache do navegador"
solution4: "Defina dom.webaudio.enabled como verdadeiro no Navegador Tor"
otherOption: "Outras opções"
otherOption1: "Excluir ajustes de cliente e cache"
otherOption2: "Iniciar o cliente simples"
otherOption3: "Iniciar ferramenta de reparo"
_search:
searchScopeAll: "Todos"
searchScopeLocal: "Local"
searchScopeServer: "Servidor específico"
searchScopeUser: "Usuário específico"
pleaseEnterServerHost: "Insira o endereço do servidor"
pleaseSelectUser: "Selecione um usuário"
serverHostPlaceholder: "Exemplo: misskey.example.com"

File diff suppressed because it is too large Load diff

View file

@ -8,6 +8,9 @@ search: "Поиск"
notifications: "Уведомления" notifications: "Уведомления"
username: "Имя пользователя" username: "Имя пользователя"
password: "Пароль" password: "Пароль"
initialPasswordForSetup: "Пароль для начала настройки"
initialPasswordIsIncorrect: "Пароль для запуска настройки неверен"
initialPasswordForSetupDescription: "Если вы установили Misskey самостоятельно, используйте пароль, который вы указали в файле конфигурации.\nЕсли вы используете что-то вроде хостинга Misskey, используйте предоставленный пароль.\nЕсли вы не установили пароль, оставьте его пустым и продолжайте."
forgotPassword: "Забыли пароль?" forgotPassword: "Забыли пароль?"
fetchingAsApObject: "Приём с других сайтов" fetchingAsApObject: "Приём с других сайтов"
ok: "Подтвердить" ok: "Подтвердить"
@ -15,7 +18,7 @@ gotIt: "Ясно!"
cancel: "Отмена" cancel: "Отмена"
noThankYou: "Нет, спасибо" noThankYou: "Нет, спасибо"
enterUsername: "Введите имя пользователя" enterUsername: "Введите имя пользователя"
renotedBy: "{user} репостнул(а)" renotedBy: "{user} делает репост"
noNotes: "Нет ни одной заметки" noNotes: "Нет ни одной заметки"
noNotifications: "Нет уведомлений" noNotifications: "Нет уведомлений"
instance: "Экземпляр" instance: "Экземпляр"
@ -232,6 +235,7 @@ clearCachedFilesConfirm: "Удалить все закэшированные ф
blockedInstances: "Заблокированные инстансы" blockedInstances: "Заблокированные инстансы"
blockedInstancesDescription: "Введите список инстансов, которые хотите заблокировать. Они больше не смогут обмениваться с вашим инстансом." blockedInstancesDescription: "Введите список инстансов, которые хотите заблокировать. Они больше не смогут обмениваться с вашим инстансом."
silencedInstances: "Заглушённые инстансы" silencedInstances: "Заглушённые инстансы"
federationAllowedHosts: "Серверы, поддерживающие федерацию"
muteAndBlock: "Скрытие и блокировка" muteAndBlock: "Скрытие и блокировка"
mutedUsers: "Скрытые пользователи" mutedUsers: "Скрытые пользователи"
blockedUsers: "Заблокированные пользователи" blockedUsers: "Заблокированные пользователи"
@ -278,7 +282,6 @@ deleteAreYouSure: "Хотите удалить «{x}»?"
resetAreYouSure: "На самом деле сбросить?" resetAreYouSure: "На самом деле сбросить?"
areYouSure: "Вы уверены?" areYouSure: "Вы уверены?"
saved: "Сохранено" saved: "Сохранено"
messaging: "Сообщения"
upload: "Загрузить" upload: "Загрузить"
keepOriginalUploading: "Сохранить исходное изображение" keepOriginalUploading: "Сохранить исходное изображение"
keepOriginalUploadingDescription: "Сохраняет исходную версию при загрузке изображений. Если выключить, то при загрузке браузер генерирует изображение для публикации." keepOriginalUploadingDescription: "Сохраняет исходную версию при загрузке изображений. Если выключить, то при загрузке браузер генерирует изображение для публикации."
@ -291,7 +294,6 @@ uploadFromUrlMayTakeTime: "Загрузка может занять некото
explore: "Обзор" explore: "Обзор"
messageRead: "Прочитали" messageRead: "Прочитали"
noMoreHistory: "История закончилась" noMoreHistory: "История закончилась"
startMessaging: "Начать общение"
nUsersRead: "Прочитали {n}" nUsersRead: "Прочитали {n}"
agreeTo: "Я соглашаюсь с {0}" agreeTo: "Я соглашаюсь с {0}"
agree: "Согласен" agree: "Согласен"
@ -330,6 +332,7 @@ renameFolder: "Переименовать папку"
deleteFolder: "Удалить папку" deleteFolder: "Удалить папку"
folder: "Папка" folder: "Папка"
addFile: "Добавить файл" addFile: "Добавить файл"
showFile: "Посмотреть файл"
emptyDrive: "Диск пуст" emptyDrive: "Диск пуст"
emptyFolder: "Папка пуста" emptyFolder: "Папка пуста"
unableToDelete: "Удаление невозможно" unableToDelete: "Удаление невозможно"
@ -372,7 +375,6 @@ enableLocalTimeline: "Включить локальную ленту"
enableGlobalTimeline: "Включить глобальную ленту" enableGlobalTimeline: "Включить глобальную ленту"
disablingTimelinesInfo: "У администраторов и модераторов есть доступ ко всем лентам, даже если они отключены." disablingTimelinesInfo: "У администраторов и модераторов есть доступ ко всем лентам, даже если они отключены."
registration: "Регистрация" registration: "Регистрация"
enableRegistration: "Разрешить регистрацию"
invite: "Пригласить" invite: "Пригласить"
driveCapacityPerLocalAccount: "Объём Диска на одного локального пользователя" driveCapacityPerLocalAccount: "Объём Диска на одного локального пользователя"
driveCapacityPerRemoteAccount: "Объём Диска на одного пользователя с другого экземпляра" driveCapacityPerRemoteAccount: "Объём Диска на одного пользователя с другого экземпляра"
@ -443,6 +445,7 @@ totp: "Приложение-аутентификатор"
totpDescription: "Описание приложения-аутентификатора" totpDescription: "Описание приложения-аутентификатора"
moderator: "Модератор" moderator: "Модератор"
moderation: "Модерация" moderation: "Модерация"
moderationNote: "Примечания модератора"
moderationLogs: "Журнал модерации" moderationLogs: "Журнал модерации"
nUsersMentioned: "Упомянуло пользователей: {n}" nUsersMentioned: "Упомянуло пользователей: {n}"
securityKeyAndPasskey: "Ключ безопасности и парольная фраза" securityKeyAndPasskey: "Ключ безопасности и парольная фраза"
@ -477,8 +480,6 @@ noteOf: "Что пишет {user}"
quoteAttached: "Цитата" quoteAttached: "Цитата"
quoteQuestion: "Хотите добавить цитату?" quoteQuestion: "Хотите добавить цитату?"
attachAsFileQuestion: "Текста в буфере обмена слишком много. Прикрепить как текстовый файл?" attachAsFileQuestion: "Текста в буфере обмена слишком много. Прикрепить как текстовый файл?"
noMessagesYet: "Пока ни одного сообщения"
newMessageExists: "Новое сообщение"
onlyOneFileCanBeAttached: "К сообщению можно прикрепить только один файл" onlyOneFileCanBeAttached: "К сообщению можно прикрепить только один файл"
signinRequired: "Пожалуйста, войдите" signinRequired: "Пожалуйста, войдите"
signinOrContinueOnRemote: "Чтобы продолжить, вам необходимо войти в аккаунт на своём сервере или зарегистрироваться / войти в аккаунт на этом." signinOrContinueOnRemote: "Чтобы продолжить, вам необходимо войти в аккаунт на своём сервере или зарегистрироваться / войти в аккаунт на этом."
@ -503,6 +504,8 @@ uiLanguage: "Язык интерфейса"
aboutX: "Описание {x}" aboutX: "Описание {x}"
emojiStyle: "Стиль эмодзи" emojiStyle: "Стиль эмодзи"
native: "Системные" native: "Системные"
menuStyle: "Стиль меню"
style: "Стиль"
showNoteActionsOnlyHover: "Показывать кнопки у заметок только при наведении" showNoteActionsOnlyHover: "Показывать кнопки у заметок только при наведении"
showReactionsCount: "Видеть количество реакций на заметках" showReactionsCount: "Видеть количество реакций на заметках"
noHistory: "История пока пуста" noHistory: "История пока пуста"
@ -1056,7 +1059,7 @@ hiddenTags: "Скрытые хештеги"
notesSearchNotAvailable: "Поиск заметок недоступен" notesSearchNotAvailable: "Поиск заметок недоступен"
license: "Лицензия" license: "Лицензия"
unfavoriteConfirm: "Удалить избранное?" unfavoriteConfirm: "Удалить избранное?"
myClips: "Мои клипы" myClips: "Мои подборки"
drivecleaner: "Очиститель дисков" drivecleaner: "Очиститель дисков"
retryAllQueuesNow: "Повторить все очереди сейчас" retryAllQueuesNow: "Повторить все очереди сейчас"
retryAllQueuesConfirmTitle: "Хотите попробовать ещё раз?" retryAllQueuesConfirmTitle: "Хотите попробовать ещё раз?"
@ -1098,16 +1101,18 @@ preservedUsernames: "Зарезервированные имена пользо
preservedUsernamesDescription: "Перечислите зарезервированные имена пользователей, отделяя их строками. Они станут недоступны при создании учётной записи. Это ограничение не применяется при создании учётной записи администраторами. Также, уже существующие учётные записи останутся без изменений." preservedUsernamesDescription: "Перечислите зарезервированные имена пользователей, отделяя их строками. Они станут недоступны при создании учётной записи. Это ограничение не применяется при создании учётной записи администраторами. Также, уже существующие учётные записи останутся без изменений."
createNoteFromTheFile: "Создать заметку из этого файла" createNoteFromTheFile: "Создать заметку из этого файла"
archive: "Архив" archive: "Архив"
unarchive: "Разархивировать"
channelArchiveConfirmTitle: "Переместить {name} в архив?" channelArchiveConfirmTitle: "Переместить {name} в архив?"
channelArchiveConfirmDescription: "Архивированные каналы перестанут отображаться в списке каналов или результатах поиска. В них также нельзя будет добавлять новые записи." channelArchiveConfirmDescription: "Архивированные каналы перестанут отображаться в списке каналов или результатах поиска. В них также нельзя будет добавлять новые записи."
thisChannelArchived: "Этот канал находится в архиве." thisChannelArchived: "Этот канал находится в архиве."
displayOfNote: "Отображение заметок" displayOfNote: "Отображение заметок"
initialAccountSetting: "Настройка профиля" initialAccountSetting: "Настройка профиля"
youFollowing: "Подписки" youFollowing: "Вы подписаны"
preventAiLearning: "Отказаться от использования в машинном обучении (Генеративный ИИ)" preventAiLearning: "Отказаться от использования в машинном обучении (Генеративный ИИ)"
preventAiLearningDescription: "Запросить краулеров не использовать опубликованный текст или изображения и т.д. для машинного обучения (Прогнозирующий / Генеративный ИИ) датасетов. Это достигается путём добавления \"noai\" HTTP-заголовка в ответ на соответствующий контент. Полного предотвращения через этот заголовок не избежать, так как он может быть просто проигнорирован." preventAiLearningDescription: "Запросить краулеров не использовать опубликованный текст или изображения и т.д. для машинного обучения (Прогнозирующий / Генеративный ИИ) датасетов. Это достигается путём добавления \"noai\" HTTP-заголовка в ответ на соответствующий контент. Полного предотвращения через этот заголовок не избежать, так как он может быть просто проигнорирован."
options: "Настройки ролей" options: "Настройки ролей"
specifyUser: "Указанный пользователь" specifyUser: "Указанный пользователь"
lookupConfirm: "Хотите узнать?"
openTagPageConfirm: "Открыть страницу этого хештега?" openTagPageConfirm: "Открыть страницу этого хештега?"
specifyHost: "Указать сайт" specifyHost: "Указать сайт"
failedToPreviewUrl: "Предварительный просмотр недоступен" failedToPreviewUrl: "Предварительный просмотр недоступен"
@ -1171,6 +1176,17 @@ keepOriginalFilename: "Сохранять исходное имя файла"
keepOriginalFilenameDescription: "Если вы выключите данную настройку, имена файлов будут автоматически заменены случайной строкой при загрузке." keepOriginalFilenameDescription: "Если вы выключите данную настройку, имена файлов будут автоматически заменены случайной строкой при загрузке."
alwaysConfirmFollow: "Всегда подтверждать подписку" alwaysConfirmFollow: "Всегда подтверждать подписку"
inquiry: "Связаться" inquiry: "Связаться"
messageToFollower: "Сообщение подписчикам"
postForm: "Форма отправки"
information: "Описание"
_chat:
invitations: "Пригласить"
noHistory: "История пока пуста"
members: "Участники"
home: "Главная"
send: "Отправить"
_settings:
webhook: "Вебхук"
_delivery: _delivery:
stop: "Заморожено" stop: "Заморожено"
_type: _type:
@ -1497,6 +1513,7 @@ _role:
rateLimitFactor: "Ограничение активности" rateLimitFactor: "Ограничение активности"
descriptionOfRateLimitFactor: "Меньшее значение — слабые ограничения, большее — сильные" descriptionOfRateLimitFactor: "Меньшее значение — слабые ограничения, большее — сильные"
canHideAds: "Может скрыть рекламу" canHideAds: "Может скрыть рекламу"
canImportFollowing: "Можно импортировать подписчиков"
_condition: _condition:
isLocal: "Местный" isLocal: "Местный"
isRemote: "Неместный" isRemote: "Неместный"
@ -1672,7 +1689,6 @@ _theme:
header: "Заголовок" header: "Заголовок"
navBg: "Фон боковой панели" navBg: "Фон боковой панели"
navFg: "Текст на боковой панели" navFg: "Текст на боковой панели"
navHoverFg: "Текст на боковой панели (под указателем)"
navActive: "Текст на боковой панели (активирован)" navActive: "Текст на боковой панели (активирован)"
navIndicator: "Индикатор на боковой панели" navIndicator: "Индикатор на боковой панели"
link: "Ссылка" link: "Ссылка"
@ -1695,11 +1711,8 @@ _theme:
buttonHoverBg: "Текст кнопки" buttonHoverBg: "Текст кнопки"
inputBorder: "Рамка поля ввода" inputBorder: "Рамка поля ввода"
driveFolderBg: "Фон папки «Диска»" driveFolderBg: "Фон папки «Диска»"
wallpaperOverlay: "Слой обоев"
badge: "Значок" badge: "Значок"
messageBg: "Фон беседы" messageBg: "Фон беседы"
accentDarken: "Фон (затемнённый)"
accentLighten: "Фон (осветлённый)"
fgHighlighted: "Подсвеченный текст" fgHighlighted: "Подсвеченный текст"
_sfx: _sfx:
note: "Заметки" note: "Заметки"
@ -1788,6 +1801,7 @@ _permissions:
"read:gallery-likes": "Просмотр списка понравившегося в галерее" "read:gallery-likes": "Просмотр списка понравившегося в галерее"
"write:gallery-likes": "Изменение списка понравившегося в галерее" "write:gallery-likes": "Изменение списка понравившегося в галерее"
"write:admin:reset-password": "Сбросить пароль пользователю" "write:admin:reset-password": "Сбросить пароль пользователю"
"write:chat": "Писать и удалять сообщения"
_auth: _auth:
shareAccessTitle: "Разрешения для приложений" shareAccessTitle: "Разрешения для приложений"
shareAccess: "Дать доступ для «{name}» к вашей учётной записи?" shareAccess: "Дать доступ для «{name}» к вашей учётной записи?"
@ -1965,9 +1979,6 @@ _pages:
newPage: "Создать страницу" newPage: "Создать страницу"
editPage: "Править страницу" editPage: "Править страницу"
readPage: "Читать страницу" readPage: "Читать страницу"
created: "Страница успешно создана."
updated: "Страница успешно обновлена."
deleted: "Страница успешно удалена."
pageSetting: "Настройки страницы" pageSetting: "Настройки страницы"
nameAlreadyExists: "Указанный адрес страницы уже существует." nameAlreadyExists: "Указанный адрес страницы уже существует."
invalidNameTitle: "Указанный адрес страницы недопустим." invalidNameTitle: "Указанный адрес страницы недопустим."
@ -2136,3 +2147,10 @@ _hemisphere:
caption: "Используется для некоторых настроек клиента для определения сезона." caption: "Используется для некоторых настроек клиента для определения сезона."
_reversi: _reversi:
total: "Всего" total: "Всего"
_remoteLookupErrors:
_noSuchObject:
title: "Не найдено"
_search:
searchScopeAll: "Все"
searchScopeLocal: "Местная"
searchScopeUser: "Указанный пользователь"

View file

@ -242,7 +242,6 @@ removeAreYouSure: "Naozaj chcete odstrániť \"{x}\"?"
deleteAreYouSure: "Naozaj chcete odstrániť \"{x}\"?" deleteAreYouSure: "Naozaj chcete odstrániť \"{x}\"?"
resetAreYouSure: "Naozaj resetovať?" resetAreYouSure: "Naozaj resetovať?"
saved: "Uložené" saved: "Uložené"
messaging: "Chat"
upload: "Nahrať súbor" upload: "Nahrať súbor"
keepOriginalUploading: "Zachovať pôvodný obrázok" keepOriginalUploading: "Zachovať pôvodný obrázok"
keepOriginalUploadingDescription: "Uloží pôvodný obrázok ako je. Ak je vypnuté, verzia pre web sa vygeneruje pri nahratí." keepOriginalUploadingDescription: "Uloží pôvodný obrázok ako je. Ak je vypnuté, verzia pre web sa vygeneruje pri nahratí."
@ -255,7 +254,6 @@ uploadFromUrlMayTakeTime: "Nahrávanie môže nejaký čas trvať."
explore: "Objavovať" explore: "Objavovať"
messageRead: "Prečítané" messageRead: "Prečítané"
noMoreHistory: "To je všetko" noMoreHistory: "To je všetko"
startMessaging: "Začať chat"
nUsersRead: "prečítané {n} používateľmi" nUsersRead: "prečítané {n} používateľmi"
agreeTo: "Súhlasím s {0}" agreeTo: "Súhlasím s {0}"
agreeBelow: "Súhlasím s nasledovným" agreeBelow: "Súhlasím s nasledovným"
@ -331,7 +329,6 @@ enableLocalTimeline: "Povoliť lokálnu časovú os"
enableGlobalTimeline: "Povoliť globálnu časovú os" enableGlobalTimeline: "Povoliť globálnu časovú os"
disablingTimelinesInfo: "Administrátori a moderátori majú vždy prístup ku všetkým časovým osiam, aj keď sú vypnuté." disablingTimelinesInfo: "Administrátori a moderátori majú vždy prístup ku všetkým časovým osiam, aj keď sú vypnuté."
registration: "Registrácia" registration: "Registrácia"
enableRegistration: "Povoliť registráciu nových používateľov"
invite: "Pozvať" invite: "Pozvať"
driveCapacityPerLocalAccount: "Kapacita disku pre používateľa" driveCapacityPerLocalAccount: "Kapacita disku pre používateľa"
driveCapacityPerRemoteAccount: "Kapacita disku pre vzdialeného používateľa" driveCapacityPerRemoteAccount: "Kapacita disku pre vzdialeného používateľa"
@ -429,8 +426,6 @@ retype: "Zadajte znovu"
noteOf: "Poznámky používateľa {user}" noteOf: "Poznámky používateľa {user}"
quoteAttached: "Citované" quoteAttached: "Citované"
quoteQuestion: "Pripojiť ako citát?" quoteQuestion: "Pripojiť ako citát?"
noMessagesYet: "Zatiaľ žiadne správy"
newMessageExists: "Máte novú správu"
onlyOneFileCanBeAttached: "Ku správe môžete priložiť len jeden súbor" onlyOneFileCanBeAttached: "Ku správe môžete priložiť len jeden súbor"
signinRequired: "Prihláste sa, prosím!" signinRequired: "Prihláste sa, prosím!"
invitations: "Pozvať" invitations: "Pozvať"
@ -918,6 +913,14 @@ renotes: "Preposlať"
sourceCode: "Zdrojový kód" sourceCode: "Zdrojový kód"
flip: "Preklopiť" flip: "Preklopiť"
lastNDays: "Posledných {n} dní" lastNDays: "Posledných {n} dní"
postForm: "Napísať poznámku"
information: "Informácie"
_chat:
invitations: "Pozvať"
noHistory: "Žiadna história"
members: "Členovia"
home: "Domov"
send: "Poslať"
_delivery: _delivery:
stop: "Zmrazené" stop: "Zmrazené"
_type: _type:
@ -1086,7 +1089,6 @@ _theme:
header: "Hlavička" header: "Hlavička"
navBg: "Pozadie bočného panela" navBg: "Pozadie bočného panela"
navFg: "Text bočného panela" navFg: "Text bočného panela"
navHoverFg: "Text bočného panela (pod kurzorom)"
navActive: "Text bočného panela (aktívny)" navActive: "Text bočného panela (aktívny)"
navIndicator: "Indikátor bočného panela" navIndicator: "Indikátor bočného panela"
link: "Odkaz" link: "Odkaz"
@ -1109,11 +1111,8 @@ _theme:
buttonHoverBg: "Pozadie tlačidla (pod kurzorom)" buttonHoverBg: "Pozadie tlačidla (pod kurzorom)"
inputBorder: "Okraj vstupného poľa" inputBorder: "Okraj vstupného poľa"
driveFolderBg: "Pozadie priečinu disku" driveFolderBg: "Pozadie priečinu disku"
wallpaperOverlay: "Vrstvenie pozadia"
badge: "Odznak" badge: "Odznak"
messageBg: "Pozadie chatu" messageBg: "Pozadie chatu"
accentDarken: "Akcent (stmavené)"
accentLighten: "Akcent (zosvetlené)"
fgHighlighted: "Zvýraznený text" fgHighlighted: "Zvýraznený text"
_sfx: _sfx:
note: "Poznámky" note: "Poznámky"
@ -1177,6 +1176,7 @@ _permissions:
"write:gallery": "Upravovať vašu galériu" "write:gallery": "Upravovať vašu galériu"
"read:gallery-likes": "Vidieť zoznam obľúbených príspevkov z galérie" "read:gallery-likes": "Vidieť zoznam obľúbených príspevkov z galérie"
"write:gallery-likes": "Upraviť zoznam obľúbených príspevov z galérie" "write:gallery-likes": "Upraviť zoznam obľúbených príspevov z galérie"
"write:chat": "Písať alebo odstraňovať správy v chate"
_auth: _auth:
shareAccess: "Prajete si povoliť \"{name}\", aby mal prístup k tomuto účtu?" shareAccess: "Prajete si povoliť \"{name}\", aby mal prístup k tomuto účtu?"
shareAccessAsk: "Naozaj chcete povoliť tejto aplikácii prístup k tomuto účtu?" shareAccessAsk: "Naozaj chcete povoliť tejto aplikácii prístup k tomuto účtu?"
@ -1333,9 +1333,6 @@ _pages:
newPage: "Vytvoriť novú stránku" newPage: "Vytvoriť novú stránku"
editPage: "Upraviť túto stránku" editPage: "Upraviť túto stránku"
readPage: "Zobrazenie zdroja aktívne" readPage: "Zobrazenie zdroja aktívne"
created: "Stránka úspešne vytvorená"
updated: "Stránka úspešne upravená"
deleted: "Stránka úspešne odstránená"
pageSetting: "Nastavenia stránky" pageSetting: "Nastavenia stránky"
nameAlreadyExists: "Zadaná URL stránku už existuje" nameAlreadyExists: "Zadaná URL stránku už existuje"
invalidNameTitle: "Zadaná URL stránku je nesprávna" invalidNameTitle: "Zadaná URL stránku je nesprávna"
@ -1450,3 +1447,9 @@ _moderationLogTypes:
resetPassword: "Resetovať heslo" resetPassword: "Resetovať heslo"
_reversi: _reversi:
total: "Celkom" total: "Celkom"
_remoteLookupErrors:
_noSuchObject:
title: "Nenájdené"
_search:
searchScopeAll: "Všetko"
searchScopeLocal: "Lokálne"

View file

@ -249,7 +249,6 @@ removeAreYouSure: "Är du säker att du vill radera \"{x}\"?"
deleteAreYouSure: "Är du säker att du vill radera \"{x}\"?" deleteAreYouSure: "Är du säker att du vill radera \"{x}\"?"
resetAreYouSure: "Vill du återställa?" resetAreYouSure: "Vill du återställa?"
saved: "Sparad" saved: "Sparad"
messaging: "Chatt"
upload: "Ladda upp" upload: "Ladda upp"
keepOriginalUploading: "Behåll originalbild" keepOriginalUploading: "Behåll originalbild"
keepOriginalUploadingDescription: "Sparar den originellt uppladdade bilden i sitt i befintliga skick. Om avstängd, kommer en webbversion bli genererad vid uppladdning." keepOriginalUploadingDescription: "Sparar den originellt uppladdade bilden i sitt i befintliga skick. Om avstängd, kommer en webbversion bli genererad vid uppladdning."
@ -262,7 +261,6 @@ uploadFromUrlMayTakeTime: "Det kan ta tid tills att uppladdningen blir klar."
explore: "Utforska" explore: "Utforska"
messageRead: "Läs" messageRead: "Läs"
noMoreHistory: "Det finns ingen mer historik" noMoreHistory: "Det finns ingen mer historik"
startMessaging: "Starta en chatt"
nUsersRead: "läst av {n}" nUsersRead: "läst av {n}"
agreeTo: "Jag accepterar {0}" agreeTo: "Jag accepterar {0}"
agree: "Överens" agree: "Överens"
@ -333,7 +331,6 @@ disconnectService: "Koppla från"
enableLocalTimeline: "Aktivera lokal tidslinje" enableLocalTimeline: "Aktivera lokal tidslinje"
enableGlobalTimeline: "Aktivera global tidslinje" enableGlobalTimeline: "Aktivera global tidslinje"
registration: "Registrera" registration: "Registrera"
enableRegistration: "Aktivera registrering av nya användare"
invite: "Inbjudan" invite: "Inbjudan"
inMb: "I megabyte" inMb: "I megabyte"
bannerUrl: "URL till banner-bilden" bannerUrl: "URL till banner-bilden"
@ -385,6 +382,7 @@ passwordLessLoginDescription: "Tillåter lösenordsfri inloggning med endast en
resetPassword: "Återställ Lösenord" resetPassword: "Återställ Lösenord"
newPasswordIs: "Det nya lösenordet är \"{password}\"" newPasswordIs: "Det nya lösenordet är \"{password}\""
share: "Dela" share: "Dela"
markAsReadAllTalkMessages: "Markera alla meddelanden som lästa"
help: "Hjälp" help: "Hjälp"
close: "Stäng" close: "Stäng"
invites: "Inbjudan" invites: "Inbjudan"
@ -393,12 +391,14 @@ transfer: "Överför"
text: "Text" text: "Text"
enable: "Aktivera" enable: "Aktivera"
next: "Nästa" next: "Nästa"
retype: "Ange igen"
invitations: "Inbjudan" invitations: "Inbjudan"
invitationCode: "Inbjudningskod" invitationCode: "Inbjudningskod"
available: "Tillgängligt" available: "Tillgängligt"
weakPassword: "Svagt Lösenord" weakPassword: "Svagt Lösenord"
normalPassword: "Medel Lösenord" normalPassword: "Medel Lösenord"
strongPassword: "Starkt Lösenord" strongPassword: "Starkt Lösenord"
signinWith: "Logga in med {x}"
signinFailed: "Kan inte logga in. Det angivna användarnamnet eller lösenordet är felaktigt." signinFailed: "Kan inte logga in. Det angivna användarnamnet eller lösenordet är felaktigt."
or: "eller" or: "eller"
language: "Språk" language: "Språk"
@ -410,70 +410,124 @@ existingAccount: "Existerande konto"
regenerate: "Regenerera" regenerate: "Regenerera"
fontSize: "Textstorlek" fontSize: "Textstorlek"
openImageInNewTab: "Öppna bild i ny flik" openImageInNewTab: "Öppna bild i ny flik"
appearance: "Utseende"
clientSettings: "Klientinställningar" clientSettings: "Klientinställningar"
accountSettings: "Kontoinställningar" accountSettings: "Kontoinställningar"
numberOfDays: "Antal dagar" numberOfDays: "Antal dagar"
objectStorageUseSSL: "Använd SSL"
serverLogs: "Serverloggar"
deleteAll: "Radera alla" deleteAll: "Radera alla"
sounds: "Ljud" sounds: "Ljud"
sound: "Ljud" sound: "Ljud"
listen: "Lyssna" listen: "Lyssna"
none: "Ingen" none: "Ingen"
volume: "Volym" volume: "Volym"
notUseSound: "Inaktivera ljud"
chooseEmoji: "Välj en emoji" chooseEmoji: "Välj en emoji"
recentUsed: "Senast använd" recentUsed: "Senast använd"
install: "Installera" install: "Installera"
uninstall: "Avinstallera" uninstall: "Avinstallera"
deleteAllFiles: "Radera alla filer"
deleteAllFilesConfirm: "Är du säker på att du vill radera alla filer?"
menu: "Meny" menu: "Meny"
addItem: "Lägg till objekt"
serviceworkerInfo: "Måste vara aktiverad för pushnotiser." serviceworkerInfo: "Måste vara aktiverad för pushnotiser."
enableInfiniteScroll: "Ladda mer automatiskt" enableInfiniteScroll: "Ladda mer automatiskt"
enablePlayer: "Öppna videospelare" enablePlayer: "Öppna videospelare"
description: "Beskrivning"
permission: "Behörigheter" permission: "Behörigheter"
enableAll: "Aktivera alla" enableAll: "Aktivera alla"
disableAll: "Inaktivera alla"
edit: "Ändra" edit: "Ändra"
enableEmail: "Aktivera epost-utskick" enableEmail: "Aktivera epost-utskick"
email: "E-post" email: "E-post"
emailAddress: "E-postadress"
smtpHost: "Värd" smtpHost: "Värd"
smtpUser: "Användarnamn" smtpUser: "Användarnamn"
smtpPass: "Lösenord" smtpPass: "Lösenord"
emptyToDisableSmtpAuth: "Lämna användarnamn och lösenord tomt för att avaktivera SMTP verifiering" emptyToDisableSmtpAuth: "Lämna användarnamn och lösenord tomt för att avaktivera SMTP verifiering"
makeActive: "Aktivera"
copy: "Kopiera"
overview: "Översikt"
logs: "Logg" logs: "Logg"
database: "Databas"
channel: "kanal" channel: "kanal"
create: "Skapa" create: "Skapa"
other: "Mer" other: "Mer"
abuseReports: "Rapporter"
reportAbuse: "Rapporter"
reportAbuseOf: "Rapportera {name}"
abuseReported: "Din rapport har skickats. Tack så mycket."
send: "Skicka" send: "Skicka"
openInNewTab: "Öppna i ny flik" openInNewTab: "Öppna i ny flik"
createNew: "Skapa ny" createNew: "Skapa ny"
private: "Privat"
i18nInfo: "Misskey översätts till många olika språk av volontärer. Du kan hjälpa till med översättningen på {link}." i18nInfo: "Misskey översätts till många olika språk av volontärer. Du kan hjälpa till med översättningen på {link}."
accountInfo: "Kontoinformation" accountInfo: "Kontoinformation"
followersCount: "Antal följare"
yes: "Ja"
no: "Nej"
clips: "Klipp" clips: "Klipp"
duplicate: "Duplicera" duplicate: "Duplicera"
reloadToApplySetting: "Inställningen tillämpas efter sidan laddas om. Vill du göra det nu?" reloadToApplySetting: "Inställningen tillämpas efter sidan laddas om. Vill du göra det nu?"
clearCache: "Rensa cache" clearCache: "Rensa cache"
onlineUsersCount: "{n} användare är online" onlineUsersCount: "{n} användare är online"
nUsers: "{n} användare"
nNotes: "{n} Noter" nNotes: "{n} Noter"
backgroundColor: "Bakgrundsbild" backgroundColor: "Bakgrundsbild"
textColor: "Text" textColor: "Text"
saveAs: "Spara som..."
saveConfirm: "Spara ändringar?"
youAreRunningUpToDateClient: "Klienten du använder är uppdaterat." youAreRunningUpToDateClient: "Klienten du använder är uppdaterat."
newVersionOfClientAvailable: "Ny version av klienten är tillgänglig." newVersionOfClientAvailable: "Ny version av klienten är tillgänglig."
editCode: "Redigera kod"
publish: "Publicera" publish: "Publicera"
typingUsers: "{users} skriver" typingUsers: "{users} skriver"
goBack: "Tillbaka"
addDescription: "Lägg till beskrivning"
info: "Om" info: "Om"
online: "Online"
active: "Aktiv"
offline: "Offline"
enabled: "Aktiverad" enabled: "Aktiverad"
quickAction: "Snabbåtgärder"
user: "Användare" user: "Användare"
gallery: "Galleri"
popularPosts: "Populära inlägg"
customCssWarn: "Den här inställningen borde bara ändrats av en som har rätta kunskaper. Om du ställer in det här fel så kan klienten sluta fungera rätt." customCssWarn: "Den här inställningen borde bara ändrats av en som har rätta kunskaper. Om du ställer in det här fel så kan klienten sluta fungera rätt."
global: "Global" global: "Global"
squareAvatars: "Visa fyrkantiga profilbilder" squareAvatars: "Visa fyrkantiga profilbilder"
sent: "Skicka" sent: "Skicka"
searchResult: "Sökresultat"
learnMore: "Läs mer"
misskeyUpdated: "Misskey har uppdaterats!" misskeyUpdated: "Misskey har uppdaterats!"
translate: "Översätt"
controlPanel: "Kontrollpanel"
manageAccounts: "Hantera konton"
incorrectPassword: "Fel lösenord." incorrectPassword: "Fel lösenord."
hide: "Dölj"
welcomeBackWithName: "Välkommen tillbaka, {name}" welcomeBackWithName: "Välkommen tillbaka, {name}"
clickToFinishEmailVerification: "Tryck på [{ok}] för att slutföra bekräftelsen på e-postadressen." clickToFinishEmailVerification: "Tryck på [{ok}] för att slutföra bekräftelsen på e-postadressen."
size: "Storlek"
searchByGoogle: "Sök" searchByGoogle: "Sök"
indefinitely: "Aldrig"
tenMinutes: "10 minuter"
oneHour: "En timme"
oneDay: "En dag"
oneWeek: "En vecka"
oneMonth: "En månad"
threeMonths: "3 månader"
oneYear: "1 år"
threeDays: "3 dagar"
file: "Filer" file: "Filer"
deleteAccount: "Radera konto"
label: "Etikett"
cannotUploadBecauseNoFreeSpace: "Kan inte ladda upp filen för att det finns inget lagringsutrymme kvar." cannotUploadBecauseNoFreeSpace: "Kan inte ladda upp filen för att det finns inget lagringsutrymme kvar."
cannotUploadBecauseExceedsFileSizeLimit: "Kan inte ladda upp filen för att den är större än filstorleksgränsen." cannotUploadBecauseExceedsFileSizeLimit: "Kan inte ladda upp filen för att den är större än filstorleksgränsen."
beta: "Beta"
enableAutoSensitive: "Automatisk NSFW markering" enableAutoSensitive: "Automatisk NSFW markering"
enableAutoSensitiveDescription: "Tillåter automatiskt detektering och marketing av NSFW media genom Maskininlärning när möjligt. Även om denna inställningen är avaktiverad, kan det vara aktiverat på hela instansen." enableAutoSensitiveDescription: "Tillåter automatiskt detektering och marketing av NSFW media genom Maskininlärning när möjligt. Även om denna inställningen är avaktiverad, kan det vara aktiverat på hela instansen."
move: "Flytta"
pushNotification: "Pushnotiser" pushNotification: "Pushnotiser"
subscribePushNotification: "Aktivera pushnotiser" subscribePushNotification: "Aktivera pushnotiser"
unsubscribePushNotification: "Avaktivera pushnotiser" unsubscribePushNotification: "Avaktivera pushnotiser"
@ -482,38 +536,92 @@ pushNotificationNotSupported: "Din webbläsare eller instans har inte stöd för
windowMaximize: "Maximera" windowMaximize: "Maximera"
windowMinimize: "Minimera" windowMinimize: "Minimera"
windowRestore: "Återställ" windowRestore: "Återställ"
tools: "Verktyg"
like: "Gilla"
pleaseDonate: "Misskey är en gratis programvara som används på {host}. Donera gärna för att göra utvecklingen ständigt, tack!" pleaseDonate: "Misskey är en gratis programvara som används på {host}. Donera gärna för att göra utvecklingen ständigt, tack!"
roles: "Roll"
role: "Roll"
color: "Färg"
resetPasswordConfirm: "Återställ verkligen ditt lösenord?" resetPasswordConfirm: "Återställ verkligen ditt lösenord?"
dataSaver: "Databesparing" dataSaver: "Databesparing"
icon: "Profilbild" icon: "Profilbild"
forYou: "För dig"
replies: "Svara" replies: "Svara"
renotes: "Omnotera" renotes: "Omnotera"
loadReplies: "Visa svar"
loadConversation: "Visa konversation"
authentication: "Autentisering"
sourceCode: "Källkod"
doReaction: "Lägg till reaktion"
code: "Kod"
gameRetry: "Försök igen"
inquiry: "Kontakt"
tryAgain: "Försök igen senare"
signinWithPasskey: "Logga in med nyckel"
unknownWebAuthnKey: "Okänd nyckel"
information: "Om"
_chat:
invitations: "Inbjudan"
members: "Medlemmar"
home: "Hem"
send: "Skicka"
_delivery: _delivery:
stop: "Suspenderad" stop: "Suspenderad"
_type: _type:
none: "Publiceras" none: "Publiceras"
_initialAccountSetting:
profileSetting: "Profilinställningar"
_initialTutorial:
_reaction:
title: "Vad är reaktioner?"
_achievements: _achievements:
_types: _types:
_open3windows: _open3windows:
title: "Flera Fönster" title: "Flera Fönster"
description: "Ha minst 3 fönster öppna samtidigt" description: "Ha minst 3 fönster öppna samtidigt"
_role:
edit: "Redigera roll"
_ffVisibility: _ffVisibility:
public: "Publicera" public: "Publicera"
private: "Privat"
_accountDelete:
accountDelete: "Radera konto"
_ad:
back: "Tillbaka"
_gallery:
like: "Gilla"
_email: _email:
_follow: _follow:
title: "följde dig" title: "följde dig"
_aboutMisskey:
source: "Källkod"
projectMembers: "Projektmedlemmar"
_channel: _channel:
setBanner: "Välj banner" setBanner: "Välj banner"
removeBanner: "Ta bort banner" removeBanner: "Ta bort banner"
nameAndDescription: "Namn och beskrivning"
_menuDisplay:
hide: "Dölj"
_theme: _theme:
description: "Beskrivning"
color: "Färg"
keys: keys:
mention: "Nämn" mention: "Nämn"
renote: "Omnotera" renote: "Omnotera"
_sfx: _sfx:
note: "Noter" note: "Noter"
notification: "Notifikationer" notification: "Notifikationer"
_ago:
justNow: "Just nu"
_2fa: _2fa:
step3Title: "Ange en autentiseringskod"
renewTOTPCancel: "Nej tack" renewTOTPCancel: "Nej tack"
_permissions:
"read:reactions": "Visa dina reaktioner"
"write:reactions": "Redigera dina reaktioner"
"write:admin:delete-account": "Radera användarkonto"
"write:admin:roles": "Hantera roller"
"read:admin:roles": "Visa roller"
_antennaSources: _antennaSources:
all: "Alla noter" all: "Alla noter"
homeTimeline: "Noter från följda användare" homeTimeline: "Noter från följda användare"
@ -530,13 +638,19 @@ _widgets:
_userList: _userList:
chooseList: "Välj lista" chooseList: "Välj lista"
_cw: _cw:
hide: "Dölj"
show: "Ladda mer" show: "Ladda mer"
chars: "{count} tecken"
files: "{count} fil(er)"
_poll:
infinite: "Aldrig"
_visibility: _visibility:
home: "Hem" home: "Hem"
followers: "Följare" followers: "Följare"
_profile: _profile:
name: "Namn" name: "Namn"
username: "Användarnamn" username: "Användarnamn"
metadataLabel: "Etikett"
changeAvatar: "Ändra profilbild" changeAvatar: "Ändra profilbild"
changeBanner: "Ändra banner" changeBanner: "Ändra banner"
_exportOrImport: _exportOrImport:
@ -547,9 +661,12 @@ _exportOrImport:
userLists: "Listor" userLists: "Listor"
_charts: _charts:
federation: "Federation" federation: "Federation"
activeUsers: "Aktiva användare"
_timelines: _timelines:
home: "Hem" home: "Hem"
global: "Global" global: "Global"
_play:
summary: "Beskrivning"
_pages: _pages:
blocks: blocks:
image: "Bilder" image: "Bilder"
@ -567,6 +684,8 @@ _notification:
reply: "Svara" reply: "Svara"
renote: "Omnotera" renote: "Omnotera"
_deck: _deck:
addColumn: "Lägg till kolumn"
deleteProfile: "Radera profil"
_columns: _columns:
notifications: "Notifikationer" notifications: "Notifikationer"
tl: "Tidslinje" tl: "Tidslinje"
@ -584,3 +703,12 @@ _abuseReport:
_moderationLogTypes: _moderationLogTypes:
suspend: "Suspendera" suspend: "Suspendera"
resetPassword: "Återställ Lösenord" resetPassword: "Återställ Lösenord"
_reversi:
blackOrWhite: "Svart/Vit"
rules: "Regler"
black: "Svart"
white: "Vit"
_selfXssPrevention:
warning: "VARNING"
_search:
searchScopeAll: "Allt"

View file

@ -5,9 +5,13 @@ introMisskey: "ยินดีต้อนรับทุกคนจ้า! Mis
poweredByMisskeyDescription: "{name} เป็นหนึ่งในเซิร์ฟเวอร์ของแพลตฟอร์มโอเพ่นซอร์ส <b>Misskey</b>" poweredByMisskeyDescription: "{name} เป็นหนึ่งในเซิร์ฟเวอร์ของแพลตฟอร์มโอเพ่นซอร์ส <b>Misskey</b>"
monthAndDay: "{month}/{day}" monthAndDay: "{month}/{day}"
search: "ค้นหา" search: "ค้นหา"
reset: "รีเซ็ต"
notifications: "เเจ้งเตือน" notifications: "เเจ้งเตือน"
username: "ชื่อผู้ใช้" username: "ชื่อผู้ใช้"
password: "รหัสผ่าน" password: "รหัสผ่าน"
initialPasswordForSetup: "รหัสผ่านเริ่มต้นสำหรับการตั้งค่า"
initialPasswordIsIncorrect: "รหัสผ่านเริ่มต้นสำหรับตั้งค่านั้นไม่ถูกต้องค่ะ"
initialPasswordForSetupDescription: "ถ้าหากคุณติดตั้ง Misskey เอง ให้ใช้รหัสผ่านที่คุณป้อนในไฟล์กำหนดค่า \nถ้าหากคุณกำลังใช้บริการโฮสต์ Misskey ให้ใช้รหัสผ่านที่ได้รับมา\nถ้ายังไม่มีรหัสผ่าน ให้ข้ามช่องรหัสผ่านไป แล้วกดต่อไป"
forgotPassword: "ลืมรหัสผ่าน" forgotPassword: "ลืมรหัสผ่าน"
fetchingAsApObject: "กำลังดึงข้อมูลจากสหพันธ์..." fetchingAsApObject: "กำลังดึงข้อมูลจากสหพันธ์..."
ok: "ตกลง" ok: "ตกลง"
@ -45,6 +49,7 @@ pin: "ปักหมุด"
unpin: "เลิกปักหมุด" unpin: "เลิกปักหมุด"
copyContent: "คัดลอกเนื้อหา" copyContent: "คัดลอกเนื้อหา"
copyLink: "คัดลอกลิงก์" copyLink: "คัดลอกลิงก์"
copyRemoteLink: "คัดลอกลิงค์ระยะไกล"
copyLinkRenote: "คัดลอกลิงก์รีโน้ต" copyLinkRenote: "คัดลอกลิงก์รีโน้ต"
delete: "ลบ" delete: "ลบ"
deleteAndEdit: "ลบและแก้ไข" deleteAndEdit: "ลบและแก้ไข"
@ -236,6 +241,8 @@ silencedInstances: "ปิดปากเซิร์ฟเวอร์นี้
silencedInstancesDescription: "ระบุโฮสต์ของเซิร์ฟเวอร์ที่ต้องการปิดปาก คั่นด้วยการขึ้นบรรทัดใหม่, บัญชีทั้งหมดของเซิร์ฟเวอร์ดังกล่าวจะถือว่าถูกปิดปากเช่นกัน ทำได้เฉพาะคำขอติดตามเท่านั้น และไม่สามารถกล่าวถึงบัญชีในเซิร์ฟเวอร์นี้ได้หากไม่ได้ถูกติดตามกลับ | สิ่งนี้ไม่มีผลต่ออินสแตนซ์ที่ถูกบล็อก" silencedInstancesDescription: "ระบุโฮสต์ของเซิร์ฟเวอร์ที่ต้องการปิดปาก คั่นด้วยการขึ้นบรรทัดใหม่, บัญชีทั้งหมดของเซิร์ฟเวอร์ดังกล่าวจะถือว่าถูกปิดปากเช่นกัน ทำได้เฉพาะคำขอติดตามเท่านั้น และไม่สามารถกล่าวถึงบัญชีในเซิร์ฟเวอร์นี้ได้หากไม่ได้ถูกติดตามกลับ | สิ่งนี้ไม่มีผลต่ออินสแตนซ์ที่ถูกบล็อก"
mediaSilencedInstances: "เซิร์ฟเวอร์ที่ถูกปิดปากสื่อ" mediaSilencedInstances: "เซิร์ฟเวอร์ที่ถูกปิดปากสื่อ"
mediaSilencedInstancesDescription: "ระบุโฮสต์ของเซิร์ฟเวอร์ที่ต้องการปิดปากสื่อ คั่นด้วยการขึ้นบรรทัดใหม่, ไฟล์ที่ถูกส่งจากบัญชีของเซิร์ฟเวอร์ดังกล่าวจะถือว่าถูกปิดปาก แล้วจะถูกติดเครื่องหมายว่ามีเนื้อหาละเอียดอ่อน และเอโมจิแบบกำหนดเองก็จะใช้ไม่ได้ด้วย | สิ่งนี้ไม่มีผลต่ออินสแตนซ์ที่ถูกบล็อก" mediaSilencedInstancesDescription: "ระบุโฮสต์ของเซิร์ฟเวอร์ที่ต้องการปิดปากสื่อ คั่นด้วยการขึ้นบรรทัดใหม่, ไฟล์ที่ถูกส่งจากบัญชีของเซิร์ฟเวอร์ดังกล่าวจะถือว่าถูกปิดปาก แล้วจะถูกติดเครื่องหมายว่ามีเนื้อหาละเอียดอ่อน และเอโมจิแบบกำหนดเองก็จะใช้ไม่ได้ด้วย | สิ่งนี้ไม่มีผลต่ออินสแตนซ์ที่ถูกบล็อก"
federationAllowedHosts: "เซิร์ฟเวอร์ที่เปิดให้บริการแบบเฟเดอเรชั่น"
federationAllowedHostsDescription: "ระบุชื่อโฮสต์ของเซิร์ฟเวอร์ที่คุณต้องการอนุญาตให้เชื่อมต่อแบบเฟเดอเรชั่น โดยต้องเว้นวรรคแต่ละบรรทัด"
muteAndBlock: "ปิดเสียงและบล็อก" muteAndBlock: "ปิดเสียงและบล็อก"
mutedUsers: "ผู้ใช้ที่ถูกปิดเสียง" mutedUsers: "ผู้ใช้ที่ถูกปิดเสียง"
blockedUsers: "ผู้ใช้ที่ถูกบล็อก" blockedUsers: "ผู้ใช้ที่ถูกบล็อก"
@ -282,7 +289,6 @@ deleteAreYouSure: "ต้องการลบ “{x}” ใช่ไหม?"
resetAreYouSure: "รีเซ็ตเลยไหม?" resetAreYouSure: "รีเซ็ตเลยไหม?"
areYouSure: "แน่ใจแล้วใช่ไหมคะ?" areYouSure: "แน่ใจแล้วใช่ไหมคะ?"
saved: "บันทึกแล้ว" saved: "บันทึกแล้ว"
messaging: "แชท"
upload: "อัปโหลด" upload: "อัปโหลด"
keepOriginalUploading: "เก็บภาพต้นฉบับ" keepOriginalUploading: "เก็บภาพต้นฉบับ"
keepOriginalUploadingDescription: "เก็บภาพต้นฉบับไว้เมื่ออัปโหลดภาพ หากปิด รูปภาพสำหรับการเผยแพร่ทางเว็บจะถูกสร้างขึ้นในเบราว์เซอร์เมื่อทำการอัปโหลด" keepOriginalUploadingDescription: "เก็บภาพต้นฉบับไว้เมื่ออัปโหลดภาพ หากปิด รูปภาพสำหรับการเผยแพร่ทางเว็บจะถูกสร้างขึ้นในเบราว์เซอร์เมื่อทำการอัปโหลด"
@ -295,7 +301,6 @@ uploadFromUrlMayTakeTime: "การอัปโหลดอาจใช้เ
explore: "สำรวจ" explore: "สำรวจ"
messageRead: "อ่านแล้ว" messageRead: "อ่านแล้ว"
noMoreHistory: "ไม่มีประวัติเพิ่มเติม" noMoreHistory: "ไม่มีประวัติเพิ่มเติม"
startMessaging: "เริ่มการสนทนา"
nUsersRead: "อ่านโดย {n}" nUsersRead: "อ่านโดย {n}"
agreeTo: "ฉันยอมรับ {0}" agreeTo: "ฉันยอมรับ {0}"
agree: "ยอมรับ" agree: "ยอมรับ"
@ -334,6 +339,7 @@ renameFolder: "เปลี่ยนชื่อโฟลเดอร์"
deleteFolder: "ลบโฟลเดอร์" deleteFolder: "ลบโฟลเดอร์"
folder: "โฟลเดอร์" folder: "โฟลเดอร์"
addFile: "เพิ่มไฟล์" addFile: "เพิ่มไฟล์"
showFile: "แสดงไฟล์"
emptyDrive: "ไดรฟ์ของคุณว่างเปล่านะ" emptyDrive: "ไดรฟ์ของคุณว่างเปล่านะ"
emptyFolder: "โฟลเดอร์นี้ว่างเปล่า" emptyFolder: "โฟลเดอร์นี้ว่างเปล่า"
unableToDelete: "ไม่สามารถลบออกได้" unableToDelete: "ไม่สามารถลบออกได้"
@ -376,7 +382,6 @@ enableLocalTimeline: "เปิดใช้งานไทม์ไลน์ท
enableGlobalTimeline: "เปิดใช้งานไทม์ไลน์ทั่วโลก" enableGlobalTimeline: "เปิดใช้งานไทม์ไลน์ทั่วโลก"
disablingTimelinesInfo: "ผู้ดูแลระบบและผู้ควบคุมจะสามารถเข้าถึงไทม์ไลน์ทั้งหมด ถึงแม้ว่าจะไม่ได้เปิดใช้งานก็ตาม" disablingTimelinesInfo: "ผู้ดูแลระบบและผู้ควบคุมจะสามารถเข้าถึงไทม์ไลน์ทั้งหมด ถึงแม้ว่าจะไม่ได้เปิดใช้งานก็ตาม"
registration: "ลงทะเบียน" registration: "ลงทะเบียน"
enableRegistration: "เปิดใช้งานการลงทะเบียนผู้ใช้ใหม่"
invite: "คำเชิญ" invite: "คำเชิญ"
driveCapacityPerLocalAccount: "ความจุของไดรฟ์ต่อผู้ใช้ท้องถิ่น" driveCapacityPerLocalAccount: "ความจุของไดรฟ์ต่อผู้ใช้ท้องถิ่น"
driveCapacityPerRemoteAccount: "ความจุของไดรฟ์ต่อผู้ใช้ระยะไกล" driveCapacityPerRemoteAccount: "ความจุของไดรฟ์ต่อผู้ใช้ระยะไกล"
@ -448,6 +453,7 @@ totpDescription: "ใช้แอปยืนยันตัวตนเพื
moderator: "ผู้ควบคุม" moderator: "ผู้ควบคุม"
moderation: "การกลั่นกรอง" moderation: "การกลั่นกรอง"
moderationNote: "โน้ตการกลั่นกรอง" moderationNote: "โน้ตการกลั่นกรอง"
moderationNoteDescription: "คุณสามารถใส่โน้ตส่วนตัวที่เฉพาะผู้ดูแลระบบเท่านั้นที่สามารถเข้าถึงได้"
addModerationNote: "เพิ่มโน้ตการกลั่นกรอง" addModerationNote: "เพิ่มโน้ตการกลั่นกรอง"
moderationLogs: "ปูมการควบคุมดูแล" moderationLogs: "ปูมการควบคุมดูแล"
nUsersMentioned: "กล่าวถึงโดยผู้ใช้ {n} ราย" nUsersMentioned: "กล่าวถึงโดยผู้ใช้ {n} ราย"
@ -483,8 +489,6 @@ noteOf: "โน้ตของ {user}"
quoteAttached: "อ้างอิง" quoteAttached: "อ้างอิง"
quoteQuestion: "ต้องการที่จะแนบมันเพื่ออ้างอิงใช่ไหม?" quoteQuestion: "ต้องการที่จะแนบมันเพื่ออ้างอิงใช่ไหม?"
attachAsFileQuestion: "ข้อความในคลิปบอร์ดยาวเกินไป คุณต้องการแนบเป็นไฟล์ข้อความหรือไม่?" attachAsFileQuestion: "ข้อความในคลิปบอร์ดยาวเกินไป คุณต้องการแนบเป็นไฟล์ข้อความหรือไม่?"
noMessagesYet: "ยังไม่มีข้อความ"
newMessageExists: "คุณมีข้อความใหม่"
onlyOneFileCanBeAttached: "สามารถแนบไฟล์ได้เพียงไฟล์เดียวต่อ 1 ข้อความ" onlyOneFileCanBeAttached: "สามารถแนบไฟล์ได้เพียงไฟล์เดียวต่อ 1 ข้อความ"
signinRequired: "ก่อนดำเนินการต่อ กรุณาลงทะเบียนหรือเข้าสู่ระบบ" signinRequired: "ก่อนดำเนินการต่อ กรุณาลงทะเบียนหรือเข้าสู่ระบบ"
signinOrContinueOnRemote: "เพื่อดำเนินการต่อได้ คุณต้องไปที่เซิร์ฟเวอร์ที่คุณใช้งานอยู่ หรือลงทะเบียน/เข้าสู่ระบบเซิร์ฟเวอร์นี้" signinOrContinueOnRemote: "เพื่อดำเนินการต่อได้ คุณต้องไปที่เซิร์ฟเวอร์ที่คุณใช้งานอยู่ หรือลงทะเบียน/เข้าสู่ระบบเซิร์ฟเวอร์นี้"
@ -509,6 +513,10 @@ uiLanguage: "ภาษาอินเทอร์เฟซผู้ใช้ง
aboutX: "เกี่ยวกับ {x}" aboutX: "เกี่ยวกับ {x}"
emojiStyle: "สไตล์ของเอโมจิ" emojiStyle: "สไตล์ของเอโมจิ"
native: "ภาษาแม่" native: "ภาษาแม่"
menuStyle: "สไตล์เมนู"
style: "สไตล์"
drawer: "ตัววาด"
popup: "ป๊อปอัพ"
showNoteActionsOnlyHover: "แสดงการดำเนินการโน้ตเมื่อโฮเวอร์(วางเมาส์เหนือ)เท่านั้น" showNoteActionsOnlyHover: "แสดงการดำเนินการโน้ตเมื่อโฮเวอร์(วางเมาส์เหนือ)เท่านั้น"
showReactionsCount: "แสดงจำนวนรีแอกชั่นในโน้ต" showReactionsCount: "แสดงจำนวนรีแอกชั่นในโน้ต"
noHistory: "ไม่มีประวัติ" noHistory: "ไม่มีประวัติ"
@ -591,6 +599,8 @@ ascendingOrder: "เรียงลำดับขึ้น"
descendingOrder: "เรียงลำดับลง" descendingOrder: "เรียงลำดับลง"
scratchpad: "Scratchpad" scratchpad: "Scratchpad"
scratchpadDescription: "Scratchpad ให้สภาพแวดล้อมสำหรับการทดลอง AiScript คุณสามารถเขียนโค้ด/สั่งดำเนินการ/ตรวจสอบผลลัพธ์ ของการโต้ตอบกับ Misskey ได้" scratchpadDescription: "Scratchpad ให้สภาพแวดล้อมสำหรับการทดลอง AiScript คุณสามารถเขียนโค้ด/สั่งดำเนินการ/ตรวจสอบผลลัพธ์ ของการโต้ตอบกับ Misskey ได้"
uiInspector: "ตัวตรวจสอบ UI"
uiInspectorDescription: "คุณสามารถตรวจสอบรายชื่อเซิร์ฟเวอร์ที่เกี่ยวข้องกับส่วนประกอบอินเตอร์เฟซผู้ใช้ (UI) บนหน่วยความจำของระบบ ส่วนประกอบ UI เหล่านี้จะถูกสร้างขึ้นโดยฟังก์ชัน Ui:C:"
output: "เอาท์พุต" output: "เอาท์พุต"
script: "สคริปต์" script: "สคริปต์"
disablePagesScript: "ปิดการใช้งาน AiScript บนเพจ" disablePagesScript: "ปิดการใช้งาน AiScript บนเพจ"
@ -672,10 +682,12 @@ smtpSecureInfo: "ปิดสิ่งนี้เมื่อใช้ STARTTLS
testEmail: "ทดสอบการส่งอีเมล" testEmail: "ทดสอบการส่งอีเมล"
wordMute: "ปิดเสียงคำ" wordMute: "ปิดเสียงคำ"
hardWordMute: "ปิดเสียงคำแบบแข็งโป๊ก" hardWordMute: "ปิดเสียงคำแบบแข็งโป๊ก"
hardWordMuteDescription: "ซ่อนหมายเหตุที่มีวลีที่ระบุ ต่างจากการปิดเสียงคำ โน้ตต่างๆ จะถูกซ่อนไว้อย่างสมบูรณ์"
regexpError: "เกิดข้อผิดพลาดใน regular expression" regexpError: "เกิดข้อผิดพลาดใน regular expression"
regexpErrorDescription: "เกิดข้อผิดพลาดใน regular expression บรรทัดที่ {line} ของการปิดเสียงคำ {tab} :" regexpErrorDescription: "เกิดข้อผิดพลาดใน regular expression บรรทัดที่ {line} ของการปิดเสียงคำ {tab} :"
instanceMute: "ปิดเสียงเซิร์ฟเวอร์" instanceMute: "ปิดเสียงเซิร์ฟเวอร์"
userSaysSomething: "{name} พูดอะไรบางอย่าง" userSaysSomething: "{name} พูดอะไรบางอย่าง"
userSaysSomethingAbout: "{name} พูดอะไรบางอย่างเกี่ยวกับ \"{word}\""
makeActive: "เปิดใช้งาน" makeActive: "เปิดใช้งาน"
display: "แสดงผล" display: "แสดงผล"
copy: "คัดลอก" copy: "คัดลอก"
@ -909,6 +921,7 @@ followersVisibility: "การมองเห็นผู้ที่กำล
continueThread: "ดูความต่อเนื่องเธรด" continueThread: "ดูความต่อเนื่องเธรด"
deleteAccountConfirm: "การดำเนินการนี้จะลบบัญชีของคุณอย่างถาวรเลยนะ แน่ใจหรอดำเนินการ?" deleteAccountConfirm: "การดำเนินการนี้จะลบบัญชีของคุณอย่างถาวรเลยนะ แน่ใจหรอดำเนินการ?"
incorrectPassword: "รหัสผ่านไม่ถูกต้อง" incorrectPassword: "รหัสผ่านไม่ถูกต้อง"
incorrectTotp: "รหัสยืนยันตัวตนแบบใช้ครั้งเดียวที่ท่านได้ระบุมานั้น ไม่ถูกต้องหรือหมดอายุลงแล้วค่ะ"
voteConfirm: "ต้องการโหวต “{choice}” ใช่ไหม?" voteConfirm: "ต้องการโหวต “{choice}” ใช่ไหม?"
hide: "ซ่อน" hide: "ซ่อน"
useDrawerReactionPickerForMobile: "แสดง ตัวจิ้มรีแอคชั่น เป็นแบบลิ้นชัก เมื่อใช้บนมือถือ" useDrawerReactionPickerForMobile: "แสดง ตัวจิ้มรีแอคชั่น เป็นแบบลิ้นชัก เมื่อใช้บนมือถือ"
@ -1073,6 +1086,7 @@ retryAllQueuesConfirmTitle: "ลองใหม่ทั้งหมดจริ
retryAllQueuesConfirmText: "สิ่งนี้จะเพิ่มการโหลดเซิร์ฟเวอร์ชั่วคราวนะ" retryAllQueuesConfirmText: "สิ่งนี้จะเพิ่มการโหลดเซิร์ฟเวอร์ชั่วคราวนะ"
enableChartsForRemoteUser: "สร้างแผนภูมิข้อมูลผู้ใช้ระยะไกล" enableChartsForRemoteUser: "สร้างแผนภูมิข้อมูลผู้ใช้ระยะไกล"
enableChartsForFederatedInstances: "สร้างแผนภูมิของเซิร์ฟเวอร์ระยะไกล" enableChartsForFederatedInstances: "สร้างแผนภูมิของเซิร์ฟเวอร์ระยะไกล"
enableStatsForFederatedInstances: "ดึงข้อมูลสถิติจากเซิร์ฟเวอร์ที่อยู่ห่างไกล"
showClipButtonInNoteFooter: "เพิ่ม “คลิป” ไปยังเมนูสั่งการของโน้ต" showClipButtonInNoteFooter: "เพิ่ม “คลิป” ไปยังเมนูสั่งการของโน้ต"
reactionsDisplaySize: "ขนาดของรีแอคชั่น" reactionsDisplaySize: "ขนาดของรีแอคชั่น"
limitWidthOfReaction: "จำกัดความกว้างสูงสุดของรีแอคชั่นและแสดงให้เล็กลง" limitWidthOfReaction: "จำกัดความกว้างสูงสุดของรีแอคชั่นและแสดงให้เล็กลง"
@ -1259,6 +1273,53 @@ confirmWhenRevealingSensitiveMedia: "ตรวจสอบก่อนแสด
sensitiveMediaRevealConfirm: "สื่อนี้มีเนื้อหาละเอียดอ่อน, ต้องการแสดงใช่ไหม?" sensitiveMediaRevealConfirm: "สื่อนี้มีเนื้อหาละเอียดอ่อน, ต้องการแสดงใช่ไหม?"
createdLists: "รายชื่อที่ถูกสร้าง" createdLists: "รายชื่อที่ถูกสร้าง"
createdAntennas: "เสาอากาศที่ถูกสร้าง" createdAntennas: "เสาอากาศที่ถูกสร้าง"
fromX: "จาก {x}"
genEmbedCode: "สร้างรหัสฝัง"
noteOfThisUser: "โน้ตโดยผู้ใช้นี้"
clipNoteLimitExceeded: "ไม่สามารถเพิ่มโน้ตเพิ่มเติมในคลิปนี้ได้อีกแล้ว"
performance: "ประสิทธิภาพ​"
modified: "แก้ไข"
discard: "ละทิ้ง"
thereAreNChanges: "มีอยู่ {n} เปลี่ยนแปลง(s)"
signinWithPasskey: "ลงชื่อเข้าใช้ด้วย Passkey"
unknownWebAuthnKey: "พาสคีย์ไม่ถูกต้องค่ะ"
passkeyVerificationFailed: "การยืนยันกุญแจดิจิทัลไม่สำเร็จค่ะ"
passkeyVerificationSucceededButPasswordlessLoginDisabled: "การยืนยันพาสคีย์สำเร็จแล้ว แต่การลงชื่อเข้าใช้แบบไม่ต้องใส่รหัสผ่านถูกปิดใช้งานแล้ว"
messageToFollower: "ข้อความถึงผู้ติดตาม"
target: "เป้า"
testCaptchaWarning: "ฟังก์ชันนี้มีไว้สำหรับทดสอบ CAPTCHA เท่านั้น\n<strong>ห้ามนำไปใช้ในระบบจริงโดยเด็ดขาด</strong>"
prohibitedWordsForNameOfUser: "คำนี้ไม่สามารถใช้เป็นชื่อผู้ใช้ได้"
prohibitedWordsForNameOfUserDescription: "หากมีสตริงใดๆ ในรายการนี้ปรากฏอยู่ในชื่อของผู้ใช้ ชื่อนั้นจะถูกปฏิเสธ ผู้ใช้ที่มีสิทธิ์แต่ผู้ดูแลระบบนั้นจะไม่ได้รับผลกระทบใดๆจากข้อจำกัดนี้ค่ะ"
yourNameContainsProhibitedWords: "ชื่อของคุณนั้นมีคำที่ต้องห้าม"
yourNameContainsProhibitedWordsDescription: "ถ้าหากคุณต้องการใช้ชื่อนี้ กรุณาติดต่อผู้ดูแลระบบของเซิร์ฟเวอร์นะค่ะ"
federationDisabled: "เซิร์ฟเวอร์นี้ปิดการใช้งานการรวมกลุ่ม คุณไม่สามารถโต้ตอบกับผู้ใช้บนเซิร์ฟเวอร์อื่นได้"
reactAreYouSure: "คุณต้องการที่จะตอบสนองต่อ \" {emoji}\" หรือไม่?"
markAsSensitiveConfirm: "คุณต้องการทำเครื่องหมายสื่อนี้ว่าละเอียดอ่อนหรือไม่?"
unmarkAsSensitiveConfirm: "คุณต้องการลบการกำหนดความไวของสื่อนี้หรือไม่?"
postForm: "แบบฟอร์มการโพสต์"
information: "เกี่ยวกับ"
right: "ขวา"
bottom: "ภายใต้"
_chat:
invitations: "คำเชิญ"
noHistory: "ไม่มีประวัติ"
members: "สมาชิก"
home: "หน้าหลัก"
send: "ส่ง"
_settings:
webhook: "Webhook"
_accountSettings:
requireSigninToViewContents: "ต้องเข้าสู่ระบบเพื่อดูเนื้อหา"
requireSigninToViewContentsDescription1: "ต้องเข้าสู่ระบบเพื่อดูบันทึกและเนื้อหาอื่น ๆ ทั้งหมดที่คุณสร้าง คาดว่าจะมีประสิทธิผลในการป้องกันไม่ให้ข้อมูลถูกเก็บรวบรวมโดยโปรแกรมรวบรวมข้อมูล"
requireSigninToViewContentsDescription2: "นอกจากนี้ จะไม่สามารถดูจากเซิร์ฟเวอร์ที่ไม่รองรับการดูตัวอย่าง URL (OGP), การฝังในหน้าเว็บ หรือการอ้างอิงหมายเหตุได้"
requireSigninToViewContentsDescription3: "เนื้อหาที่ถูกรวมเข้ากับเซิร์ฟเวอร์ระยะไกลอาจไม่อยู่ภายใต้ข้อจำกัดเหล่านี้"
_abuseUserReport:
forward: "ส่ง​ต่อ"
forwardDescription: "ส่งรายงานไปยังเซิร์ฟเวอร์ระยะไกลโดยใช้บัญชีระบบที่ไม่ระบุตัวตน"
resolve: "แก้ไข"
accept: "ยอมรับ"
reject: "ปฏิเสธ"
resolveTutorial: "ถ้าหากรายงานนี้มีเนื้อหาถูกต้อง ให้เลือก \"ยอมรับ\" เพื่อปิดเคสกรณีนี้โดยถือว่าได้รับการแก้ไขแล้ว\nถ้าหากเนื้อหาในรายงานนี้นั้นไม่ถูกต้อง ให้เลือก \"ปฏิเสธ\" เพื่อปิดเคสกรณีนี้โดยถือว่าไม่ได้รับการแก้ไข"
_delivery: _delivery:
status: "สถานะการจัดส่ง" status: "สถานะการจัดส่ง"
stop: "ระงับการส่ง" stop: "ระงับการส่ง"
@ -1393,8 +1454,10 @@ _serverSettings:
fanoutTimelineDescription: "เพิ่มประสิทธิภาพการดึงข้อมูลไทม์ไลน์อย่างมาก และลดภาระในฐานข้อมูลเมื่อเปิดใช้งาน ในทางกลับกัน การใช้หน่วยความจำของ Redis จะเพิ่มขึ้น ลองปิดการใช้งานนี้ในกรณีที่หน่วยความจำเซิร์ฟเวอร์เหลือน้อยหรือเซิร์ฟเวอร์ไม่เสถียร" fanoutTimelineDescription: "เพิ่มประสิทธิภาพการดึงข้อมูลไทม์ไลน์อย่างมาก และลดภาระในฐานข้อมูลเมื่อเปิดใช้งาน ในทางกลับกัน การใช้หน่วยความจำของ Redis จะเพิ่มขึ้น ลองปิดการใช้งานนี้ในกรณีที่หน่วยความจำเซิร์ฟเวอร์เหลือน้อยหรือเซิร์ฟเวอร์ไม่เสถียร"
fanoutTimelineDbFallback: "ฟอลแบ๊กกลับฐานข้อมูล" fanoutTimelineDbFallback: "ฟอลแบ๊กกลับฐานข้อมูล"
fanoutTimelineDbFallbackDescription: "เมื่อเปิดใช้งาน หากไม่ได้แคชไทม์ไลน์ ไทม์ไลน์จะฟอลแบ๊กไปยังฐานข้อมูลสำหรับการ query เพิ่มเติม การปิดใช้งานจะช่วยลดภาระของเซิร์ฟเวอร์ด้วยการกำจัดกระบวนฟอลแบ๊ก แต่มันก็จะจำกัดช่วงเวลาไทม์ไลน์ที่สามารถดึงข้อมูลได้" fanoutTimelineDbFallbackDescription: "เมื่อเปิดใช้งาน หากไม่ได้แคชไทม์ไลน์ ไทม์ไลน์จะฟอลแบ๊กไปยังฐานข้อมูลสำหรับการ query เพิ่มเติม การปิดใช้งานจะช่วยลดภาระของเซิร์ฟเวอร์ด้วยการกำจัดกระบวนฟอลแบ๊ก แต่มันก็จะจำกัดช่วงเวลาไทม์ไลน์ที่สามารถดึงข้อมูลได้"
reactionsBufferingDescription: "เมื่อเปิดใช้งานฟังก์ชันนี้ก็จะช่วยลด latency ในการสร้างปฏิกิริยา แต่อาจจะส่งผลให้ memory footprint ของ Redis เพิ่มขึ้นนะ"
inquiryUrl: "URL สำหรับการติดต่อสอบถาม" inquiryUrl: "URL สำหรับการติดต่อสอบถาม"
inquiryUrlDescription: "ระบุ URL ของหน้าเว็บที่มีแบบฟอร์มสำหรับติดต่อผู้ดูแลเซิร์ฟเวอร์ หรือข้อมูลการติดต่อของผู้ดูแลเซิร์ฟเวอร์" inquiryUrlDescription: "ระบุ URL ของหน้าเว็บที่มีแบบฟอร์มสำหรับติดต่อผู้ดูแลเซิร์ฟเวอร์ หรือข้อมูลการติดต่อของผู้ดูแลเซิร์ฟเวอร์"
thisSettingWillAutomaticallyOffWhenModeratorsInactive: "ถ้าหากไม่มีการตรวจสอบจากผู้ดูแลระบบหรือไม่มีความเคลื่อนไหวมาเป็นระยะเวลาหนึ่ง ระบบจะทำการปิดใช้งานฟังก์ชันนี้โดยอัตโนมัติ เพื่อลดความเสี่ยงในการถูกโจมตีด้วยสแปมและอื่นๆ"
_accountMigration: _accountMigration:
moveFrom: "ย้ายจากบัญชีอื่นมาที่บัญชีนี้" moveFrom: "ย้ายจากบัญชีอื่นมาที่บัญชีนี้"
moveFromSub: "สร้างนามแฝงไปยังบัญชีอื่น" moveFromSub: "สร้างนามแฝงไปยังบัญชีอื่น"
@ -1726,6 +1789,11 @@ _role:
canSearchNotes: "การใช้การค้นหาโน้ต" canSearchNotes: "การใช้การค้นหาโน้ต"
canUseTranslator: "การใช้งานแปล" canUseTranslator: "การใช้งานแปล"
avatarDecorationLimit: "จำนวนการตกแต่งไอคอนสูงสุดที่สามารถติดตั้งได้" avatarDecorationLimit: "จำนวนการตกแต่งไอคอนสูงสุดที่สามารถติดตั้งได้"
canImportAntennas: "อนุญาตให้นำเข้าเสาอากาศ"
canImportBlocking: "อนุญาตให้นำเข้าการบล็อก"
canImportFollowing: "อนุญาตให้นำเข้ารายการต่อไปนี้"
canImportMuting: "อนุญาตให้นำเข้าการปิดกั้น"
canImportUserLists: "อนุญาตให้นำเข้ารายการ"
_condition: _condition:
roleAssignedTo: "มอบหมายให้มีบทบาทแบบทำมือ" roleAssignedTo: "มอบหมายให้มีบทบาทแบบทำมือ"
isLocal: "ผู้ใช้ท้องถิ่น" isLocal: "ผู้ใช้ท้องถิ่น"
@ -1921,7 +1989,6 @@ _theme:
header: "ส่วนหัว" header: "ส่วนหัว"
navBg: "พื้นหลังแถบด้านข้าง" navBg: "พื้นหลังแถบด้านข้าง"
navFg: "ข้อความแถบด้านข้าง" navFg: "ข้อความแถบด้านข้าง"
navHoverFg: "ข้อความแถบด้านข้าง (โฮเวอร์)"
navActive: "ข้อความแถบด้านข้าง (ใช้งานอยู่)" navActive: "ข้อความแถบด้านข้าง (ใช้งานอยู่)"
navIndicator: "ตัวระบุแถบด้านข้าง" navIndicator: "ตัวระบุแถบด้านข้าง"
link: "ลิงก์" link: "ลิงก์"
@ -1944,11 +2011,8 @@ _theme:
buttonHoverBg: "ปุ่มพื้นหลัง (โฮเวอร์)" buttonHoverBg: "ปุ่มพื้นหลัง (โฮเวอร์)"
inputBorder: "เส้นขอบของช่องป้อนข้อมูล" inputBorder: "เส้นขอบของช่องป้อนข้อมูล"
driveFolderBg: "พื้นหลังโฟลเดอร์ไดรฟ์" driveFolderBg: "พื้นหลังโฟลเดอร์ไดรฟ์"
wallpaperOverlay: "วอลล์เปเปอร์ซ้อนทับ"
badge: "ตรา" badge: "ตรา"
messageBg: "พื้นหลังแชท" messageBg: "พื้นหลังแชท"
accentDarken: "สีหลัก (มืด)"
accentLighten: "สีหลัก (สว่าง)"
fgHighlighted: "ข้อความที่ไฮไลต์" fgHighlighted: "ข้อความที่ไฮไลต์"
_sfx: _sfx:
note: "โน้ต" note: "โน้ต"
@ -2101,6 +2165,7 @@ _permissions:
"read:clip-favorite": "ดูคลิปที่ถูกใจ" "read:clip-favorite": "ดูคลิปที่ถูกใจ"
"read:federation": "รับข้อมูลเกี่ยวกับสหพันธ์" "read:federation": "รับข้อมูลเกี่ยวกับสหพันธ์"
"write:report-abuse": "รายงานการละเมิด" "write:report-abuse": "รายงานการละเมิด"
"write:chat": "เขียนหรือลบข้อความแชท"
_auth: _auth:
shareAccessTitle: "การให้สิทธิ์แอปพลิเคชัน" shareAccessTitle: "การให้สิทธิ์แอปพลิเคชัน"
shareAccess: "คุณต้องการอนุญาตให้ \"{name}\" เข้าถึงบัญชีนี้เลยมั้ย?" shareAccess: "คุณต้องการอนุญาตให้ \"{name}\" เข้าถึงบัญชีนี้เลยมั้ย?"
@ -2219,6 +2284,9 @@ _profile:
changeBanner: "เปลี่ยนแบนเนอร์" changeBanner: "เปลี่ยนแบนเนอร์"
verifiedLinkDescription: "หากป้อน URL ที่มีลิงก์ไปยังโปรไฟล์ของคุณ ไอคอนการยืนยันความเป็นเจ้าของจะแสดงถัดจากฟิลด์นั้น ๆ" verifiedLinkDescription: "หากป้อน URL ที่มีลิงก์ไปยังโปรไฟล์ของคุณ ไอคอนการยืนยันความเป็นเจ้าของจะแสดงถัดจากฟิลด์นั้น ๆ"
avatarDecorationMax: "คุณสามารถเพิ่มการตกแต่งได้สูงสุด {max}" avatarDecorationMax: "คุณสามารถเพิ่มการตกแต่งได้สูงสุด {max}"
followedMessage: "ส่งข้อความเมื่อมีคนกดติดตาม"
followedMessageDescription: "ส่งข้อความเมื่อมีคนกดติดตามแล้ว"
followedMessageDescriptionForLockedAccount: "ถ้าหากคุณตั้งค่าให้คนอื่นต้องขออนุญาตก่อนที่จะติดตามคุณ ระบบจะขึ้นข้อความนี้ในตอนที่คุณอนุมัติให้เขาติดตาม"
_exportOrImport: _exportOrImport:
allNotes: "โน้ตทั้งหมด" allNotes: "โน้ตทั้งหมด"
favoritedNotes: "โน้ตที่ถูกใจไว้" favoritedNotes: "โน้ตที่ถูกใจไว้"
@ -2281,9 +2349,6 @@ _pages:
newPage: "สร้างหน้าเพจใหม่" newPage: "สร้างหน้าเพจใหม่"
editPage: "แก้ไขหน้าเพจ" editPage: "แก้ไขหน้าเพจ"
readPage: "กำลังดูแหล่งที่มาของเพจนี้" readPage: "กำลังดูแหล่งที่มาของเพจนี้"
created: "สร้างหน้าเพจสำเร็จเรียบร้อยแล้ว"
updated: "แก้ไขหน้าเพจสำเร็จเรียบร้อยแล้ว"
deleted: "ลบหน้าเพจสำเร็จเรียบร้อยแล้ว"
pageSetting: "การตั้งค่าหน้าเพจ" pageSetting: "การตั้งค่าหน้าเพจ"
nameAlreadyExists: "URL ของหน้าที่ระบุนั้นมีอยู่แล้ว" nameAlreadyExists: "URL ของหน้าที่ระบุนั้นมีอยู่แล้ว"
invalidNameTitle: "URL ของหน้าที่ระบุนั้นไม่ถูกต้อง" invalidNameTitle: "URL ของหน้าที่ระบุนั้นไม่ถูกต้อง"
@ -2311,6 +2376,7 @@ _pages:
eyeCatchingImageSet: "ตั้งค่าภาพขนาดย่อ" eyeCatchingImageSet: "ตั้งค่าภาพขนาดย่อ"
eyeCatchingImageRemove: "ลบภาพขนาดย่อ" eyeCatchingImageRemove: "ลบภาพขนาดย่อ"
chooseBlock: "เพิ่มบล็อค" chooseBlock: "เพิ่มบล็อค"
enterSectionTitle: "ป้อนชื่อหัวข้อ"
selectType: "เลือกชนิด" selectType: "เลือกชนิด"
contentBlocks: "เนื้อหา" contentBlocks: "เนื้อหา"
inputBlocks: "ป้อนข้อมูล" inputBlocks: "ป้อนข้อมูล"
@ -2356,6 +2422,8 @@ _notification:
renotedBySomeUsers: "รีโน้ตจากผู้ใช้ {n} ราย" renotedBySomeUsers: "รีโน้ตจากผู้ใช้ {n} ราย"
followedBySomeUsers: "มีผู้ติดตาม {n} ราย" followedBySomeUsers: "มีผู้ติดตาม {n} ราย"
flushNotification: "ล้างประวัติการแจ้งเตือน" flushNotification: "ล้างประวัติการแจ้งเตือน"
exportOfXCompleted: "การดำเนินการส่งออก {x} ได้เสร็จสิ้นลงแล้ว"
login: "มีคนล็อกอิน"
_types: _types:
all: "ทั้งหมด" all: "ทั้งหมด"
note: "โน้ตใหม่" note: "โน้ตใหม่"
@ -2370,7 +2438,9 @@ _notification:
followRequestAccepted: "อนุมัติให้ติดตามแล้ว" followRequestAccepted: "อนุมัติให้ติดตามแล้ว"
roleAssigned: "ให้บทบาท" roleAssigned: "ให้บทบาท"
achievementEarned: "ปลดล็อกความสำเร็จแล้ว" achievementEarned: "ปลดล็อกความสำเร็จแล้ว"
exportCompleted: "กระบวนการส่งออกข้อมูลได้เสร็จสิ้นสมบูรณ์แล้ว"
login: "เข้าสู่ระบบ" login: "เข้าสู่ระบบ"
test: "ทดสอบระบบแจ้งเตือน"
app: "การแจ้งเตือนจากแอปที่มีลิงก์" app: "การแจ้งเตือนจากแอปที่มีลิงก์"
_actions: _actions:
followBack: "ติดตามกลับด้วย" followBack: "ติดตามกลับด้วย"
@ -2436,7 +2506,10 @@ _webhookSettings:
abuseReport: "เมื่อมีการรายงานจากผู้ใช้" abuseReport: "เมื่อมีการรายงานจากผู้ใช้"
abuseReportResolved: "เมื่อมีการจัดการกับการรายงานจากผู้ใช้" abuseReportResolved: "เมื่อมีการจัดการกับการรายงานจากผู้ใช้"
userCreated: "เมื่อผู้ใช้ถูกสร้างขึ้น" userCreated: "เมื่อผู้ใช้ถูกสร้างขึ้น"
inactiveModeratorsWarning: "เมื่อผู้ดูแลระบบไม่ได้ใช้งานมานานระยะหนึ่ง"
inactiveModeratorsInvitationOnlyChanged: "เมื่อผู้ดูแลระบบที่ไม่ได้ใช้งานมานาน และเซิร์ฟเวอร์เปลี่ยนเป็นแบบเชิญเข้าร่วมเท่านั้น"
deleteConfirm: "ต้องการลบ Webhook ใช่ไหม?" deleteConfirm: "ต้องการลบ Webhook ใช่ไหม?"
testRemarks: "คลิกปุ่มทางด้านขวาของสวิตช์เพื่อส่ง Webhook ทดสอบที่มีข้อมูลจำลอง"
_abuseReport: _abuseReport:
_notificationRecipient: _notificationRecipient:
createRecipient: "เพิ่มปลายทางการแจ้งเตือนการรายงาน" createRecipient: "เพิ่มปลายทางการแจ้งเตือนการรายงาน"
@ -2480,6 +2553,8 @@ _moderationLogTypes:
markSensitiveDriveFile: "ทำเครื่องหมายไฟล์ว่ามีเนื้อหาละเอียดอ่อน" markSensitiveDriveFile: "ทำเครื่องหมายไฟล์ว่ามีเนื้อหาละเอียดอ่อน"
unmarkSensitiveDriveFile: "ยกเลิกทำเครื่องหมายไฟล์ว่ามีเนื้อหาละเอียดอ่อน" unmarkSensitiveDriveFile: "ยกเลิกทำเครื่องหมายไฟล์ว่ามีเนื้อหาละเอียดอ่อน"
resolveAbuseReport: "รายงานได้รับการแก้ไขแล้ว" resolveAbuseReport: "รายงานได้รับการแก้ไขแล้ว"
forwardAbuseReport: "ได้ส่งรายงานไปแล้ว"
updateAbuseReportNote: "โน้ตการกลั่นกรองที่รายงานไปนั้น ได้รับการอัปเดตแล้ว"
createInvitation: "สร้างรหัสเชิญ" createInvitation: "สร้างรหัสเชิญ"
createAd: "สร้างโฆษณาแล้ว" createAd: "สร้างโฆษณาแล้ว"
deleteAd: "ลบโฆษณาออกแล้ว" deleteAd: "ลบโฆษณาออกแล้ว"
@ -2495,6 +2570,10 @@ _moderationLogTypes:
createAbuseReportNotificationRecipient: "สร้างปลายทางการแจ้งเตือนการรายงาน" createAbuseReportNotificationRecipient: "สร้างปลายทางการแจ้งเตือนการรายงาน"
updateAbuseReportNotificationRecipient: "อัปเดตปลายทางการแจ้งเตือนการรายงาน" updateAbuseReportNotificationRecipient: "อัปเดตปลายทางการแจ้งเตือนการรายงาน"
deleteAbuseReportNotificationRecipient: "ลบปลายทางการแจ้งเตือนการรายงาน" deleteAbuseReportNotificationRecipient: "ลบปลายทางการแจ้งเตือนการรายงาน"
deleteAccount: "บัญชีถูกลบไปแล้ว"
deletePage: "เพจถูกลบออกไปแล้ว"
deleteFlash: "Play ถูกลบออกไปแล้ว"
deleteGalleryPost: "โพสต์แกลเลอรี่ถูกลบออกแล้ว"
_fileViewer: _fileViewer:
title: "รายละเอียดไฟล์" title: "รายละเอียดไฟล์"
type: "ประเภทไฟล์" type: "ประเภทไฟล์"
@ -2508,10 +2587,8 @@ _externalResourceInstaller:
checkVendorBeforeInstall: "โปรดตรวจสอบให้แน่ใจว่าแหล่งแจกหน่ายมีความน่าเชื่อถือก่อนทำการติดตั้ง" checkVendorBeforeInstall: "โปรดตรวจสอบให้แน่ใจว่าแหล่งแจกหน่ายมีความน่าเชื่อถือก่อนทำการติดตั้ง"
_plugin: _plugin:
title: "ต้องการติดตั้งปลั๊กอินนี้ใช่ไหม?" title: "ต้องการติดตั้งปลั๊กอินนี้ใช่ไหม?"
metaTitle: "ข้อมูลส่วนเสริม"
_theme: _theme:
title: "ต้องการติดตั้งธีมนี้ใช่ไหม?" title: "ต้องการติดตั้งธีมนี้ใช่ไหม?"
metaTitle: "ข้อมูลธีม"
_meta: _meta:
base: "โทนสีพื้นฐาน" base: "โทนสีพื้นฐาน"
_vendorInfo: _vendorInfo:
@ -2631,3 +2708,24 @@ _contextMenu:
app: "แอปพลิเคชัน" app: "แอปพลิเคชัน"
appWithShift: "แอปฟลิเคชันด้วยปุ่มยกแคร่ (Shift)" appWithShift: "แอปฟลิเคชันด้วยปุ่มยกแคร่ (Shift)"
native: "UI ของเบราว์เซอร์" native: "UI ของเบราว์เซอร์"
_embedCodeGen:
title: "ปรับแต่งโค้ดฝัง"
header: "แสดงส่วนหัว"
autoload: "โหลดเพิ่มโดยอัตโนมัติ (เลิกใช้แล้ว)"
maxHeight: "ความสูงสุด"
maxHeightDescription: "หากถ้าตั้งค่าเป็น 0 จะทำให้ไม่มีการจำกัดความสูงของวิดเจ็ต แต่ควรตั้งค่าเป็นตัวเลขอื่นๆ เพื่อไม่ให้วิดเจ็ตยืดตัวลงไปเรื่อยๆ"
maxHeightWarn: "การจำกัดความสูงสูงสุดถูกปิดใช้งาน (0) หากไม่ได้ตั้งใจให้เป็นเช่นนี้ โปรดตั้งค่าความสูงสูงสุดให้เป็นค่าอื่นๆแทน"
previewIsNotActual: "การแสดงผลนั้นต่างจากการฝังจริงเพราะเกินขอบเขตที่แสดงบนหน้าจอตัวอย่างนะ"
rounded: "ทำให้มันกลม"
border: "เพิ่มขอบให้กับกรอบด้านนอก"
applyToPreview: "นำไปใช้กับการแสดงตัวอย่าง"
generateCode: "สร้างโค้ดสำหรับการฝัง"
codeGenerated: "รหัสถูกสร้างขึ้นแล้ว"
codeGeneratedDescription: "นำโค้ดที่สร้างแล้วไปวางในเว็บไซต์ของคุณเพื่อฝังเนื้อหา"
_remoteLookupErrors:
_noSuchObject:
title: "ไม่พบหน้าที่ต้องการ"
_search:
searchScopeAll: "ทั้งหมด"
searchScopeLocal: "ท้องถิ่น"
searchScopeUser: "ผู้ใช้เฉพาะ"

View file

@ -8,6 +8,7 @@ search: "Arama"
notifications: "Bildirim" notifications: "Bildirim"
username: "Kullanıcı Adı" username: "Kullanıcı Adı"
password: "Şifre" password: "Şifre"
initialPasswordForSetup: ""
forgotPassword: "şifremi unuttum" forgotPassword: "şifremi unuttum"
fetchingAsApObject: "從聯邦宇宙取得中..." fetchingAsApObject: "從聯邦宇宙取得中..."
ok: "TAMAM" ok: "TAMAM"
@ -260,7 +261,6 @@ removeAreYouSure: "\"{x}\" silmek istediğinizden emin misiniz?"
deleteAreYouSure: "\"{x}\" silmek istediğinizden emin misiniz?" deleteAreYouSure: "\"{x}\" silmek istediğinizden emin misiniz?"
resetAreYouSure: "Sıfırlansın mı?" resetAreYouSure: "Sıfırlansın mı?"
saved: "Kaydedildi" saved: "Kaydedildi"
messaging: "Mesajlar"
upload: "Yükle" upload: "Yükle"
keepOriginalUploading: "Orijinal görseli koru" keepOriginalUploading: "Orijinal görseli koru"
keepOriginalUploadingDescription: "Orijinal olarak yüklenen görüntüyü olduğu gibi kaydeder. Kapatılırsa, yükleme sırasında web'de görüntülenecek bir sürüm oluşturulur." keepOriginalUploadingDescription: "Orijinal olarak yüklenen görüntüyü olduğu gibi kaydeder. Kapatılırsa, yükleme sırasında web'de görüntülenecek bir sürüm oluşturulur."
@ -273,7 +273,6 @@ uploadFromUrlMayTakeTime: "Yüklemenin tamamlanması biraz süre alabilir."
explore: "Keşfet" explore: "Keşfet"
messageRead: "Okundu" messageRead: "Okundu"
noMoreHistory: "Bundan öncesi yok" noMoreHistory: "Bundan öncesi yok"
startMessaging: "Yeni bir sohbet başlat"
nUsersRead: "{n} kişi okudu" nUsersRead: "{n} kişi okudu"
agreeTo: "Kabul Ediyorum: {0}" agreeTo: "Kabul Ediyorum: {0}"
agree: "Kabul Et" agree: "Kabul Et"
@ -344,14 +343,12 @@ today: "Bugün"
monthX: "{month} ay" monthX: "{month} ay"
pages: "Sayfalar" pages: "Sayfalar"
integration: "Entegrasyon" integration: "Entegrasyon"
enableRegistration: "Kayıtlara izin ver"
basicInfo: "Temel bilgiler" basicInfo: "Temel bilgiler"
pinnedUsers: "Sabitlenmiş kullanıcılar" pinnedUsers: "Sabitlenmiş kullanıcılar"
pinnedNotes: "Sabitlenen" pinnedNotes: "Sabitlenen"
manageAntennas: "Anten ayarları" manageAntennas: "Anten ayarları"
userList: "Listeler" userList: "Listeler"
resetPassword: "Şifre sıfırlama" resetPassword: "Şifre sıfırlama"
noMessagesYet: "Şimdilik mesaj yok"
details: "Detaylar" details: "Detaylar"
deck: "Güverte" deck: "Güverte"
smtpHost: "Sağlayıcı" smtpHost: "Sağlayıcı"
@ -378,6 +375,8 @@ addMemo: "Kısa not ekle"
icon: "Avatar" icon: "Avatar"
replies: "yanıt" replies: "yanıt"
renotes: "vazgeçme" renotes: "vazgeçme"
_chat:
home: "Ana sayfa"
_delivery: _delivery:
stop: "Askıya alınmış" stop: "Askıya alınmış"
_type: _type:
@ -460,3 +459,5 @@ _deck:
_moderationLogTypes: _moderationLogTypes:
suspend: "askıya al" suspend: "askıya al"
resetPassword: "Şifre sıfırlama" resetPassword: "Şifre sıfırlama"
_search:
searchScopeAll: "Tümü"

View file

@ -246,7 +246,6 @@ removeAreYouSure: "Ви впевнені, що хочете видалити \"{
deleteAreYouSure: "Ви впевнені, що хочете видалити \"{x}\"?" deleteAreYouSure: "Ви впевнені, що хочете видалити \"{x}\"?"
resetAreYouSure: "Справді скинути?" resetAreYouSure: "Справді скинути?"
saved: "Збережено" saved: "Збережено"
messaging: "Чати"
upload: "Завантажити" upload: "Завантажити"
keepOriginalUploading: "Зберегти оригінальне зображення" keepOriginalUploading: "Зберегти оригінальне зображення"
keepOriginalUploadingDescription: "Зберігає початково завантажене зображення як є. Якщо вимкнено, версія для відображення в Інтернеті буде створена під час завантаження." keepOriginalUploadingDescription: "Зберігає початково завантажене зображення як є. Якщо вимкнено, версія для відображення в Інтернеті буде створена під час завантаження."
@ -259,7 +258,6 @@ uploadFromUrlMayTakeTime: "Завантаження може зайняти де
explore: "Огляд" explore: "Огляд"
messageRead: "Прочитано" messageRead: "Прочитано"
noMoreHistory: "Подальшої історії немає" noMoreHistory: "Подальшої історії немає"
startMessaging: "Розпочати діалог"
nUsersRead: "Прочитали {n}" nUsersRead: "Прочитали {n}"
agreeTo: "Я погоджуюсь з {0}" agreeTo: "Я погоджуюсь з {0}"
agreeBelow: "Я погоджуюся з наведеним нижче" agreeBelow: "Я погоджуюся з наведеним нижче"
@ -334,7 +332,6 @@ enableLocalTimeline: "Увімкнути локальну стрічку"
enableGlobalTimeline: "Увімкнути глобальну стрічку" enableGlobalTimeline: "Увімкнути глобальну стрічку"
disablingTimelinesInfo: "Адміністратори та модератори завжди мають доступ до всіх стрічок, навіть якщо вони вимкнуті." disablingTimelinesInfo: "Адміністратори та модератори завжди мають доступ до всіх стрічок, навіть якщо вони вимкнуті."
registration: "Реєстрація" registration: "Реєстрація"
enableRegistration: "Дозволити реєстрацію"
invite: "Запросити" invite: "Запросити"
driveCapacityPerLocalAccount: "Об'єм диска на одного локального користувача" driveCapacityPerLocalAccount: "Об'єм диска на одного локального користувача"
driveCapacityPerRemoteAccount: "Об'єм диска на одного віддаленого користувача" driveCapacityPerRemoteAccount: "Об'єм диска на одного віддаленого користувача"
@ -428,8 +425,6 @@ retype: "Введіть ще раз"
noteOf: "Нотатка {user}" noteOf: "Нотатка {user}"
quoteAttached: "Цитата" quoteAttached: "Цитата"
quoteQuestion: "Ви хочете додати цитату?" quoteQuestion: "Ви хочете додати цитату?"
noMessagesYet: "Ще немає повідомлень"
newMessageExists: "Є нові повідомлення"
onlyOneFileCanBeAttached: "До повідомлення можна вкласти лише один файл" onlyOneFileCanBeAttached: "До повідомлення можна вкласти лише один файл"
signinRequired: "Будь ласка, авторизуйтесь" signinRequired: "Будь ласка, авторизуйтесь"
invitations: "Запрошення" invitations: "Запрошення"
@ -910,6 +905,14 @@ renotes: "Поширити"
sourceCode: "Вихідний код" sourceCode: "Вихідний код"
flip: "Перевернути" flip: "Перевернути"
lastNDays: "Останні {n} днів" lastNDays: "Останні {n} днів"
postForm: "Створення нотатки"
information: "Інформація"
_chat:
invitations: "Запросити"
noHistory: "Історія порожня"
members: "Учасники"
home: "Домівка"
send: "Відправити"
_delivery: _delivery:
stop: "Призупинено" stop: "Призупинено"
_type: _type:
@ -1280,7 +1283,6 @@ _theme:
header: "Заголовок" header: "Заголовок"
navBg: "Фон бокової панелі" navBg: "Фон бокової панелі"
navFg: "Текст бокової панелі" navFg: "Текст бокової панелі"
navHoverFg: "Текст бокової панелі (під курсором)"
navActive: "Текст бокової панелі (активне)" navActive: "Текст бокової панелі (активне)"
navIndicator: "Індикатор бокової панелі" navIndicator: "Індикатор бокової панелі"
link: "Посилання" link: "Посилання"
@ -1303,11 +1305,8 @@ _theme:
buttonHoverBg: "Фон кнопки (при наведенні)" buttonHoverBg: "Фон кнопки (при наведенні)"
inputBorder: "Край поля вводу" inputBorder: "Край поля вводу"
driveFolderBg: "Фон папки на диску" driveFolderBg: "Фон папки на диску"
wallpaperOverlay: "Накладання шпалер"
badge: "Значок" badge: "Значок"
messageBg: "Фон переписки" messageBg: "Фон переписки"
accentDarken: "Акцент (Затемлений)"
accentLighten: "Акцент (Освітлений)"
fgHighlighted: "Виділений текст" fgHighlighted: "Виділений текст"
_sfx: _sfx:
note: "Нотатки" note: "Нотатки"
@ -1366,6 +1365,7 @@ _permissions:
"read:channels": "Переглядати канали" "read:channels": "Переглядати канали"
"write:channels": "Змінювати канали" "write:channels": "Змінювати канали"
"read:gallery": "Перегляд галереї" "read:gallery": "Перегляд галереї"
"write:chat": "Створювати та видаляти повідомлення"
_auth: _auth:
shareAccess: "Ви хочете надати \"{name}\" доступ до цього акаунту?" shareAccess: "Ви хочете надати \"{name}\" доступ до цього акаунту?"
shareAccessAsk: "Ви впевнені, що хочете надати цій програмі доступ до вашого акаунту?" shareAccessAsk: "Ви впевнені, що хочете надати цій програмі доступ до вашого акаунту?"
@ -1514,9 +1514,6 @@ _pages:
newPage: "Створити сторінку" newPage: "Створити сторінку"
editPage: "Редагувати сторінку" editPage: "Редагувати сторінку"
readPage: "Перегляд вихідного коду" readPage: "Перегляд вихідного коду"
created: "Сторінка успішно створена."
updated: "Сторінка успішно оновлена."
deleted: "Сторінку видалено"
pageSetting: "Налаштування сторінки" pageSetting: "Налаштування сторінки"
nameAlreadyExists: "Вказана адреса сторінки вже існує." nameAlreadyExists: "Вказана адреса сторінки вже існує."
invalidNameTitle: "Вказана адреса сторінки неприпустима." invalidNameTitle: "Вказана адреса сторінки неприпустима."
@ -1625,3 +1622,9 @@ _moderationLogTypes:
resetPassword: "Скинути пароль" resetPassword: "Скинути пароль"
_reversi: _reversi:
total: "Всього" total: "Всього"
_remoteLookupErrors:
_noSuchObject:
title: "Не знайдено"
_search:
searchScopeAll: "Всі"
searchScopeLocal: "Локальна"

View file

@ -257,7 +257,6 @@ removeAreYouSure: "“{x}”ni olib tashlamoqchi ekanligingizga ishonchingiz kom
deleteAreYouSure: "“{x}”ni chindan ham yo'q qilmoqchimisiz?" deleteAreYouSure: "“{x}”ni chindan ham yo'q qilmoqchimisiz?"
resetAreYouSure: "Haqiqatan ham qayta tiklansinmi?" resetAreYouSure: "Haqiqatan ham qayta tiklansinmi?"
saved: "Saqlandi" saved: "Saqlandi"
messaging: "Suhbat"
upload: "Yuklash" upload: "Yuklash"
keepOriginalUploading: "Asl rasmni saqlang" keepOriginalUploading: "Asl rasmni saqlang"
keepOriginalUploadingDescription: "Rasmlarni yuklashda asl nusxasini saqlaydi. Agar o'chirilgan bo'lsa, brauzer yuklangandan keyin nashr qilish uchun rasm yaratadi." keepOriginalUploadingDescription: "Rasmlarni yuklashda asl nusxasini saqlaydi. Agar o'chirilgan bo'lsa, brauzer yuklangandan keyin nashr qilish uchun rasm yaratadi."
@ -270,7 +269,6 @@ uploadFromUrlMayTakeTime: "Yuklash tugallanishi uchun biroz vaqt ketishi mumkin.
explore: "Ko'rib chiqish" explore: "Ko'rib chiqish"
messageRead: "Oqildi" messageRead: "Oqildi"
noMoreHistory: "Buning ortida hech qanday hikoya yo'q" noMoreHistory: "Buning ortida hech qanday hikoya yo'q"
startMessaging: "Yangi suhbatni boshlash"
nUsersRead: "{n} tomonidan o'qildi" nUsersRead: "{n} tomonidan o'qildi"
agreeTo: "Men {0} ga roziman" agreeTo: "Men {0} ga roziman"
agree: "Rozi bo'lish" agree: "Rozi bo'lish"
@ -349,7 +347,6 @@ enableLocalTimeline: "Mahalliy vaqt mintaqasini yoqing"
enableGlobalTimeline: "Global vaqt mintaqasini yoqing" enableGlobalTimeline: "Global vaqt mintaqasini yoqing"
disablingTimelinesInfo: "Administratorlar va Moderatorlar har doim barcha vaqt jadvallariga kirish huquqiga ega bo'ladilar, hatto ular yoqilmagan bo'lsa ham." disablingTimelinesInfo: "Administratorlar va Moderatorlar har doim barcha vaqt jadvallariga kirish huquqiga ega bo'ladilar, hatto ular yoqilmagan bo'lsa ham."
registration: "Ro'yxatdan o'tish" registration: "Ro'yxatdan o'tish"
enableRegistration: "Ro'yxatdan o'tishni yoqing"
invite: "Taklif qilish" invite: "Taklif qilish"
driveCapacityPerLocalAccount: "Har bir mahalliy foydalanuvchi uchun disk maydoni" driveCapacityPerLocalAccount: "Har bir mahalliy foydalanuvchi uchun disk maydoni"
driveCapacityPerRemoteAccount: "Har bir masofaviy foydalanuvchi uchun disk maydoni" driveCapacityPerRemoteAccount: "Har bir masofaviy foydalanuvchi uchun disk maydoni"
@ -446,8 +443,6 @@ retype: "Qayta kiriting"
noteOf: "{user} tomonidan joylandi\n" noteOf: "{user} tomonidan joylandi\n"
quoteAttached: "Iqtibos" quoteAttached: "Iqtibos"
quoteQuestion: "Iqtibos sifatida qo'shilsinmi?" quoteQuestion: "Iqtibos sifatida qo'shilsinmi?"
noMessagesYet: "Bu yerda xabarlar yo'q"
newMessageExists: "Yangi xabarlar bor"
onlyOneFileCanBeAttached: "Faqat bitta faylni biriktirish mumkin" onlyOneFileCanBeAttached: "Faqat bitta faylni biriktirish mumkin"
signinRequired: "Davom etishdan oldin ro'yhatdan o'tishingiz yoki tizimga kirishingiz kerak" signinRequired: "Davom etishdan oldin ro'yhatdan o'tishingiz yoki tizimga kirishingiz kerak"
invitations: "Taklif qilish" invitations: "Taklif qilish"
@ -842,6 +837,13 @@ icon: "Avatar"
replies: "Javob berish" replies: "Javob berish"
renotes: "Qayta qayd etish" renotes: "Qayta qayd etish"
flip: "Teskari" flip: "Teskari"
information: "Haqida"
_chat:
invitations: "Taklif qilish"
noHistory: "Tarix yo'q"
members: "A'zolar"
home: "Bosh sahifa"
send: "Yuborish"
_delivery: _delivery:
stop: "To'xtatilgan" stop: "To'xtatilgan"
_type: _type:
@ -905,8 +907,6 @@ _theme:
mention: "Murojat" mention: "Murojat"
renote: "Qayta qayd etish" renote: "Qayta qayd etish"
divider: "Ajratrmoq" divider: "Ajratrmoq"
accentDarken: "Urg'u (Qoraytirilgan)"
accentLighten: "Urg'u (Yoritilgan)"
fgHighlighted: "Belgilangan matn" fgHighlighted: "Belgilangan matn"
_sfx: _sfx:
note: "Qaydlar" note: "Qaydlar"
@ -1005,9 +1005,6 @@ _play:
_pages: _pages:
newPage: "Yangi Sahifa yaratish" newPage: "Yangi Sahifa yaratish"
editPage: "Ushbu Sahifani tahrirlash" editPage: "Ushbu Sahifani tahrirlash"
created: "Sahifa muvaffaqiyatli yaratildi"
updated: "Sahifa muvaffaqiyatli tahrirlandi"
deleted: "Sahifa muvaffaqiyatli o'chirildi"
pageSetting: "Sahifa sozlamalari" pageSetting: "Sahifa sozlamalari"
nameAlreadyExists: "Ko'rsatilgan Sahifa URL'i allaqachon mavjud" nameAlreadyExists: "Ko'rsatilgan Sahifa URL'i allaqachon mavjud"
invalidNameTitle: "Ko'rsatilgan Sahifa URL'i yaroqsiz" invalidNameTitle: "Ko'rsatilgan Sahifa URL'i yaroqsiz"
@ -1095,3 +1092,9 @@ _moderationLogTypes:
resetPassword: "Parolni tiklash" resetPassword: "Parolni tiklash"
_reversi: _reversi:
total: "Jami" total: "Jami"
_remoteLookupErrors:
_noSuchObject:
title: "Topilmadi"
_search:
searchScopeAll: "Barcha"
searchScopeLocal: "Mahalliy"

View file

@ -1,13 +1,17 @@
--- ---
_lang_: "Tiếng Nhật" _lang_: "Tiếng Việt "
headlineMisskey: "Mạng xã hội liên hợp" headlineMisskey: "Mạng xã hội liên hợp"
introMisskey: "Xin chào! Misskey là một nền tảng tiểu blog phi tập trung mã nguồn mở.\nViết \"tút\" để chia sẻ những suy nghĩ của bạn 📡\nBằng \"biểu cảm\", bạn có thể bày tỏ nhanh chóng cảm xúc của bạn với các tút 👍\nHãy khám phá một thế giới mới! 🚀" introMisskey: "Xin chào! Misskey là một nền tảng tiểu blog phi tập trung mã nguồn mở.\nViết \"tút\" để chia sẻ những suy nghĩ của bạn 📡\nBằng \"biểu cảm\", bạn có thể bày tỏ nhanh chóng cảm xúc của bạn với các tút 👍\nHãy khám phá một thế giới mới! 🚀"
poweredByMisskeyDescription: "{name} là một trong những chủ máy của <b>Misskey</b> là nền tảng mã nguồn mở" poweredByMisskeyDescription: "{name} là một trong những chủ máy của <b>Misskey</b> là nền tảng mã nguồn mở"
monthAndDay: "{day} tháng {month}" monthAndDay: "{day} tháng {month}"
search: "Tìm kiếm" search: "Tìm kiếm"
reset: "cài lại"
notifications: "Thông báo" notifications: "Thông báo"
username: "Tên người dùng" username: "Tên người dùng"
password: "Mật khẩu" password: "Mật khẩu"
initialPasswordForSetup: "Mật khẩu ban đầu để thiết lập"
initialPasswordIsIncorrect: "Mật khẩu ban đầu đã nhập sai"
initialPasswordForSetupDescription: "Nếu bạn tự cài đặt Misskey, hãy sử dụng mật khẩu ban đầu của bạn đã nhập trong tệp cấu hình.\nNếu bạn đang sử dụng dịch vụ nào đó giống như dịch vụ lưu trữ của Misskey, hãy sử dụng mật khẩu ban đầu được cung cấp.\nNếu bạn chưa đặt mật khẩu ban đầu, vui lòng để trống và tiếp tục."
forgotPassword: "Quên mật khẩu" forgotPassword: "Quên mật khẩu"
fetchingAsApObject: "Đang nạp dữ liệu từ Fediverse..." fetchingAsApObject: "Đang nạp dữ liệu từ Fediverse..."
ok: "Đồng ý" ok: "Đồng ý"
@ -45,9 +49,10 @@ pin: "Ghim"
unpin: "Bỏ ghim" unpin: "Bỏ ghim"
copyContent: "Chép nội dung" copyContent: "Chép nội dung"
copyLink: "Chép liên kết" copyLink: "Chép liên kết"
copyRemoteLink: "Sao chép liên kết từ xa"
copyLinkRenote: "Sao chép liên kết ghi chú" copyLinkRenote: "Sao chép liên kết ghi chú"
delete: "Xóa" delete: "Xóa"
deleteAndEdit: "Sửa" deleteAndEdit: "Xóa và soạn thảo lại"
deleteAndEditConfirm: "Bạn có chắc muốn sửa tút này? Những biểu cảm, lượt trả lời và đăng lại sẽ bị mất." deleteAndEditConfirm: "Bạn có chắc muốn sửa tút này? Những biểu cảm, lượt trả lời và đăng lại sẽ bị mất."
addToList: "Thêm vào danh sách" addToList: "Thêm vào danh sách"
addToAntenna: "Thêm vào Ăngten" addToAntenna: "Thêm vào Ăngten"
@ -60,6 +65,7 @@ copyFileId: "Sao chép ID tập tin"
copyFolderId: "Sao chép ID thư mục" copyFolderId: "Sao chép ID thư mục"
copyProfileUrl: "Sao chép URL hồ sơ" copyProfileUrl: "Sao chép URL hồ sơ"
searchUser: "Tìm kiếm người dùng" searchUser: "Tìm kiếm người dùng"
searchThisUsersNotes: "Tìm kiếm ghi chú của người dùng"
reply: "Trả lời" reply: "Trả lời"
loadMore: "Tải thêm" loadMore: "Tải thêm"
showMore: "Xem thêm" showMore: "Xem thêm"
@ -108,11 +114,14 @@ enterEmoji: "Chèn emoji"
renote: "Đăng lại" renote: "Đăng lại"
unrenote: "Hủy đăng lại" unrenote: "Hủy đăng lại"
renoted: "Đã đăng lại." renoted: "Đã đăng lại."
renotedToX: "Đã cho thuê lại {name}."
cantRenote: "Không thể đăng lại tút này." cantRenote: "Không thể đăng lại tút này."
cantReRenote: "Không thể đăng lại một tút đăng lại." cantReRenote: "Không thể đăng lại một tút đăng lại."
quote: "Trích dẫn" quote: "Trích dẫn"
inChannelRenote: "Chia sẻ trong kênh này" inChannelRenote: "Chia sẻ trong kênh này"
inChannelQuote: "Trích dẫn trong kênh này" inChannelQuote: "Trích dẫn trong kênh này"
renoteToChannel: "Đăng lại tới kênh"
renoteToOtherChannel: "Đăng lại tới kênh khác"
pinnedNote: "Bài viết đã ghim" pinnedNote: "Bài viết đã ghim"
pinned: "Ghim" pinned: "Ghim"
you: "Bạn" you: "Bạn"
@ -122,6 +131,11 @@ add: "Thêm"
reaction: "Biểu cảm" reaction: "Biểu cảm"
reactions: "Biểu cảm" reactions: "Biểu cảm"
emojiPicker: "Bộ chọn biểu tượng cảm xúc" emojiPicker: "Bộ chọn biểu tượng cảm xúc"
pinnedEmojisForReactionSettingDescription: "Ghim các biểu tượng cảm xúc sẽ hiển thị khi phản hồi"
pinnedEmojisSettingDescription: "Ghim các biểu tượng cảm xúc sẽ hiển thị trong bảng chọn emoji"
emojiPickerDisplay: "Hiển thị bộ chọn"
overwriteFromPinnedEmojisForReaction: "Ghi đè thiết lập phản hồi"
overwriteFromPinnedEmojis: "Ghi đè thiết lập chung"
reactionSettingDescription2: "Kéo để sắp xếp, nhấn để xóa, nhấn \"+\" để thêm." reactionSettingDescription2: "Kéo để sắp xếp, nhấn để xóa, nhấn \"+\" để thêm."
rememberNoteVisibility: "Lưu kiểu tút mặc định" rememberNoteVisibility: "Lưu kiểu tút mặc định"
attachCancel: "Gỡ tập tin đính kèm" attachCancel: "Gỡ tập tin đính kèm"
@ -146,6 +160,7 @@ editList: "Chỉnh sửa danh sách"
selectChannel: "Lựa chọn kênh" selectChannel: "Lựa chọn kênh"
selectAntenna: "Chọn một antenna" selectAntenna: "Chọn một antenna"
editAntenna: "Chỉnh sửa Ăngten" editAntenna: "Chỉnh sửa Ăngten"
createAntenna: "Tạo Ăngten "
selectWidget: "Chọn tiện ích" selectWidget: "Chọn tiện ích"
editWidgets: "Sửa tiện ích" editWidgets: "Sửa tiện ích"
editWidgetsExit: "Xong" editWidgetsExit: "Xong"
@ -172,6 +187,10 @@ addAccount: "Thêm tài khoản"
reloadAccountsList: "Cập nhật danh sách tài khoản" reloadAccountsList: "Cập nhật danh sách tài khoản"
loginFailed: "Đăng nhập không thành công" loginFailed: "Đăng nhập không thành công"
showOnRemote: "Truy cập trang của người này" showOnRemote: "Truy cập trang của người này"
continueOnRemote: "Tiếp tục trên phiên bản từ xa"
chooseServerOnMisskeyHub: "Chọn một máy chủ từ Misskey Hub"
specifyServerHost: "Thiết lập một máy chủ"
inputHostName: "Nhập địa chỉ máy chủ"
general: "Tổng quan" general: "Tổng quan"
wallpaper: "Ảnh bìa" wallpaper: "Ảnh bìa"
setWallpaper: "Đặt ảnh bìa" setWallpaper: "Đặt ảnh bìa"
@ -182,6 +201,7 @@ followConfirm: "Bạn theo dõi {name}"
proxyAccount: "Tài khoản proxy" proxyAccount: "Tài khoản proxy"
proxyAccountDescription: "Tài khoản proxy là tài khoản hoạt động như một người theo dõi từ xa cho người dùng trong những điều kiện nhất định. Ví dụ: khi người dùng thêm người dùng từ xa vào danh sách, hoạt động của người dùng từ xa sẽ không được chuyển đến phiên bản nếu không có người dùng cục bộ nào theo dõi người dùng đó, vì vậy tài khoản proxy sẽ theo dõi." proxyAccountDescription: "Tài khoản proxy là tài khoản hoạt động như một người theo dõi từ xa cho người dùng trong những điều kiện nhất định. Ví dụ: khi người dùng thêm người dùng từ xa vào danh sách, hoạt động của người dùng từ xa sẽ không được chuyển đến phiên bản nếu không có người dùng cục bộ nào theo dõi người dùng đó, vì vậy tài khoản proxy sẽ theo dõi."
host: "Host" host: "Host"
selectSelf: "Chọn chính bạn"
selectUser: "Chọn người dùng" selectUser: "Chọn người dùng"
recipient: "Người nhận" recipient: "Người nhận"
annotation: "Bình luận" annotation: "Bình luận"
@ -196,6 +216,8 @@ perHour: "Mỗi Giờ"
perDay: "Mỗi Ngày" perDay: "Mỗi Ngày"
stopActivityDelivery: "Ngưng gửi hoạt động" stopActivityDelivery: "Ngưng gửi hoạt động"
blockThisInstance: "Chặn máy chủ này" blockThisInstance: "Chặn máy chủ này"
silenceThisInstance: "Máy chủ im lặng"
mediaSilenceThisInstance: "Tắt nội dung đa phương tiện từ máy chủ này"
operations: "Vận hành" operations: "Vận hành"
software: "Phần mềm" software: "Phần mềm"
version: "Phiên bản" version: "Phiên bản"
@ -215,6 +237,12 @@ clearCachedFiles: "Xóa bộ nhớ đệm"
clearCachedFilesConfirm: "Bạn có chắc muốn xóa sạch bộ nhớ đệm?" clearCachedFilesConfirm: "Bạn có chắc muốn xóa sạch bộ nhớ đệm?"
blockedInstances: "Máy chủ đã chặn" blockedInstances: "Máy chủ đã chặn"
blockedInstancesDescription: "Danh sách những máy chủ bạn muốn chặn. Chúng sẽ không thể giao tiếp với máy chủy này nữa." blockedInstancesDescription: "Danh sách những máy chủ bạn muốn chặn. Chúng sẽ không thể giao tiếp với máy chủy này nữa."
silencedInstances: "Máy chủ im lặng"
silencedInstancesDescription: "Đặt máy chủ mà bạn muốn tắt tiếng, phân tách bằng dấu xuống dòng. Tất cả tài khoản trên máy chủ bị tắt tiếng sẽ được coi là \"bị tắt tiếng\" và mọi hành động theo dõi sẽ được coi là yêu cầu. Không có tác dụng với những trường hợp bị chặn."
mediaSilencedInstances: "Các máy chủ đã tắt nội dung đa phương tiện "
mediaSilencedInstancesDescription: "Đặt máy chủ mà bạn muốn tắt nội dung đa phương tiện, phân tách bằng dấu xuống dòng. Tất cả tài khoản trên máy chủ bị tắt tiếng sẽ được coi là \"nhạy cảm\" và biểu tượng cảm xúc tùy chỉnh sẽ không thể được sử dụng. Không có tác dụng với những trường hợp bị chặn."
federationAllowedHosts: "Các máy chủ được phép liên kết"
federationAllowedHostsDescription: "Điền tên các máy chủ mà bạn muốn cho phép liên kết, cách nhau bởi dấu xuống dòng"
muteAndBlock: "Ẩn và Chặn" muteAndBlock: "Ẩn và Chặn"
mutedUsers: "Người đã ẩn" mutedUsers: "Người đã ẩn"
blockedUsers: "Người đã chặn" blockedUsers: "Người đã chặn"
@ -251,8 +279,8 @@ more: "Thêm nữa!"
featured: "Nổi bật" featured: "Nổi bật"
usernameOrUserId: "Tên người dùng hoặc ID" usernameOrUserId: "Tên người dùng hoặc ID"
noSuchUser: "Không tìm thấy người dùng" noSuchUser: "Không tìm thấy người dùng"
lookup: "Tìm kiếm" lookup: "Tra cứu"
announcements: "Thông báo" announcements: "Thông báo máy chủ"
imageUrl: "URL ảnh" imageUrl: "URL ảnh"
remove: "Xóa" remove: "Xóa"
removed: "Đã xóa" removed: "Đã xóa"
@ -261,7 +289,6 @@ deleteAreYouSure: "Bạn có chắc muốn xóa \"{x}\"?"
resetAreYouSure: "Bạn có chắc muốn đặt lại?" resetAreYouSure: "Bạn có chắc muốn đặt lại?"
areYouSure: "Bạn chắc chứ?" areYouSure: "Bạn chắc chứ?"
saved: "Đã lưu" saved: "Đã lưu"
messaging: "Trò chuyện"
upload: "Tải lên" upload: "Tải lên"
keepOriginalUploading: "Giữ hình ảnh gốc" keepOriginalUploading: "Giữ hình ảnh gốc"
keepOriginalUploadingDescription: "Giữ nguyên như hình ảnh được tải lên ban đầu. Nếu tắt, một phiên bản để hiển thị trên web sẽ được tạo khi tải lên." keepOriginalUploadingDescription: "Giữ nguyên như hình ảnh được tải lên ban đầu. Nếu tắt, một phiên bản để hiển thị trên web sẽ được tạo khi tải lên."
@ -274,7 +301,7 @@ uploadFromUrlMayTakeTime: "Sẽ mất một khoảng thời gian để tải lê
explore: "Khám phá" explore: "Khám phá"
messageRead: "Đã đọc" messageRead: "Đã đọc"
noMoreHistory: "Không còn gì để đọc" noMoreHistory: "Không còn gì để đọc"
startMessaging: "Bắt đầu trò chuyện" startChat: "Bắt đầu trò chuyện"
nUsersRead: "đọc bởi {n}" nUsersRead: "đọc bởi {n}"
agreeTo: "Tôi đồng ý {0}" agreeTo: "Tôi đồng ý {0}"
agree: "Đồng ý" agree: "Đồng ý"
@ -305,6 +332,7 @@ selectFile: "Chọn tập tin"
selectFiles: "Chọn nhiều tập tin" selectFiles: "Chọn nhiều tập tin"
selectFolder: "Chọn thư mục" selectFolder: "Chọn thư mục"
selectFolders: "Chọn nhiều thư mục" selectFolders: "Chọn nhiều thư mục"
fileNotSelected: "Chưa chọn tệp nào"
renameFile: "Đổi tên tập tin" renameFile: "Đổi tên tập tin"
folderName: "Tên thư mục" folderName: "Tên thư mục"
createFolder: "Tạo thư mục" createFolder: "Tạo thư mục"
@ -312,6 +340,7 @@ renameFolder: "Đổi tên thư mục"
deleteFolder: "Xóa thư mục" deleteFolder: "Xóa thư mục"
folder: "Thư mục" folder: "Thư mục"
addFile: "Thêm tập tin" addFile: "Thêm tập tin"
showFile: "Hiển thị tập tin"
emptyDrive: "Ổ đĩa của bạn trống trơn" emptyDrive: "Ổ đĩa của bạn trống trơn"
emptyFolder: "Thư mục trống" emptyFolder: "Thư mục trống"
unableToDelete: "Không thể xóa" unableToDelete: "Không thể xóa"
@ -354,7 +383,6 @@ enableLocalTimeline: "Bật bảng tin máy chủ"
enableGlobalTimeline: "Bật bảng tin liên hợp" enableGlobalTimeline: "Bật bảng tin liên hợp"
disablingTimelinesInfo: "Quản trị viên và Kiểm duyệt viên luôn có quyền truy cập mọi bảng tin, kể cả khi chúng không được bật." disablingTimelinesInfo: "Quản trị viên và Kiểm duyệt viên luôn có quyền truy cập mọi bảng tin, kể cả khi chúng không được bật."
registration: "Đăng ký" registration: "Đăng ký"
enableRegistration: "Cho phép đăng ký mới"
invite: "Mời" invite: "Mời"
driveCapacityPerLocalAccount: "Dung lượng ổ đĩa tối đa cho mỗi người dùng" driveCapacityPerLocalAccount: "Dung lượng ổ đĩa tối đa cho mỗi người dùng"
driveCapacityPerRemoteAccount: "Dung lượng ổ đĩa tối đa cho mỗi người dùng từ xa" driveCapacityPerRemoteAccount: "Dung lượng ổ đĩa tối đa cho mỗi người dùng từ xa"
@ -396,6 +424,7 @@ antennaExcludeBots: "Loại trừ các tài khoản bot"
antennaKeywordsDescription: "Phân cách bằng dấu cách cho điều kiện AND hoặc bằng xuống dòng cho điều kiện OR." antennaKeywordsDescription: "Phân cách bằng dấu cách cho điều kiện AND hoặc bằng xuống dòng cho điều kiện OR."
notifyAntenna: "Thông báo có tút mới" notifyAntenna: "Thông báo có tút mới"
withFileAntenna: "Chỉ những tút có media" withFileAntenna: "Chỉ những tút có media"
excludeNotesInSensitiveChannel: "Không hiển thị trong kênh nhạy cảm"
enableServiceworker: "Bật ServiceWorker" enableServiceworker: "Bật ServiceWorker"
antennaUsersDescription: "Liệt kê mỗi hàng một tên người dùng" antennaUsersDescription: "Liệt kê mỗi hàng một tên người dùng"
caseSensitive: "Trường hợp nhạy cảm" caseSensitive: "Trường hợp nhạy cảm"
@ -426,6 +455,7 @@ totpDescription: "Nhắn mã OTP bằng ứng dụng xác thực"
moderator: "Kiểm duyệt viên" moderator: "Kiểm duyệt viên"
moderation: "Kiểm duyệt" moderation: "Kiểm duyệt"
moderationNote: "Ghi chú kiểm duyệt" moderationNote: "Ghi chú kiểm duyệt"
moderationNoteDescription: "Bạn có thể điền vào những ghi chú chỉ được chia sẻ giữa những người kiểm duyệt."
addModerationNote: "Thêm ghi chú kiểm duyệt" addModerationNote: "Thêm ghi chú kiểm duyệt"
moderationLogs: "Nhật kí quản trị" moderationLogs: "Nhật kí quản trị"
nUsersMentioned: "Dùng bởi {n} người" nUsersMentioned: "Dùng bởi {n} người"
@ -461,10 +491,9 @@ noteOf: "Tút của {user}"
quoteAttached: "Trích dẫn" quoteAttached: "Trích dẫn"
quoteQuestion: "Trích dẫn lại?" quoteQuestion: "Trích dẫn lại?"
attachAsFileQuestion: "Văn bản ở trong bộ nhớ tạm rất dài. Bạn có muốn đăng nó dưới dạng một tệp văn bản không?" attachAsFileQuestion: "Văn bản ở trong bộ nhớ tạm rất dài. Bạn có muốn đăng nó dưới dạng một tệp văn bản không?"
noMessagesYet: "Chưa có tin nhắn"
newMessageExists: "Bạn có tin nhắn mới"
onlyOneFileCanBeAttached: "Bạn chỉ có thể đính kèm một tập tin" onlyOneFileCanBeAttached: "Bạn chỉ có thể đính kèm một tập tin"
signinRequired: "Vui lòng đăng nhập" signinRequired: "Vui lòng đăng nhập"
signinOrContinueOnRemote: "Để tiếp tục, bạn cần chuyển máy chủ hoặc đăng nhập/đăng ký ở máy chủ này."
invitations: "Mời" invitations: "Mời"
invitationCode: "Mã mời" invitationCode: "Mã mời"
checking: "Đang kiểm tra..." checking: "Đang kiểm tra..."
@ -486,7 +515,12 @@ uiLanguage: "Ngôn ngữ giao diện"
aboutX: "Giới thiệu {x}" aboutX: "Giới thiệu {x}"
emojiStyle: "Kiểu cách Emoji" emojiStyle: "Kiểu cách Emoji"
native: "Bản xứ" native: "Bản xứ"
menuStyle: "Kiểu Menu"
style: "Phong cách"
drawer: "Ngăn ứng dụng"
popup: "Cửa sổ bật lên"
showNoteActionsOnlyHover: "Chỉ hiển thị các hành động ghi chú khi di chuột" showNoteActionsOnlyHover: "Chỉ hiển thị các hành động ghi chú khi di chuột"
showReactionsCount: "Hiển thị số reaction trong bài đăng"
noHistory: "Không có dữ liệu" noHistory: "Không có dữ liệu"
signinHistory: "Lịch sử đăng nhập" signinHistory: "Lịch sử đăng nhập"
enableAdvancedMfm: "Xem bài MFM chất lượng cao." enableAdvancedMfm: "Xem bài MFM chất lượng cao."
@ -499,6 +533,7 @@ createAccount: "Tạo tài khoản"
existingAccount: "Tài khoản hiện có" existingAccount: "Tài khoản hiện có"
regenerate: "Tạo lại" regenerate: "Tạo lại"
fontSize: "Cỡ chữ" fontSize: "Cỡ chữ"
mediaListWithOneImageAppearance: "Chiều cao của danh sách nội dung đã phương tiện mà chỉ có một hình ảnh"
limitTo: "Giới hạn tỷ lệ {x}" limitTo: "Giới hạn tỷ lệ {x}"
noFollowRequests: "Bạn không có yêu cầu theo dõi nào" noFollowRequests: "Bạn không có yêu cầu theo dõi nào"
openImageInNewTab: "Mở ảnh trong tab mới" openImageInNewTab: "Mở ảnh trong tab mới"
@ -533,10 +568,12 @@ objectStorageUseSSLDesc: "Tắt nếu bạn không dùng HTTPS để kết nối
objectStorageUseProxy: "Kết nối thông qua Proxy" objectStorageUseProxy: "Kết nối thông qua Proxy"
objectStorageUseProxyDesc: "Tắt nếu bạn không dùng Proxy để kết nối API" objectStorageUseProxyDesc: "Tắt nếu bạn không dùng Proxy để kết nối API"
objectStorageSetPublicRead: "Đặt \"public-read\" khi tải lên" objectStorageSetPublicRead: "Đặt \"public-read\" khi tải lên"
s3ForcePathStyleDesc: "Nếu s3ForcePathStyle được bật, tên bucket phải được thêm vào địa chỉ URL thay vì chỉ có tên miền. Bạn có thể phải sử dụng thiết lập này nếu bạn sử dụng các dịch vụ như Minio mà bạn tự cung cấp."
serverLogs: "Nhật ký máy chủ" serverLogs: "Nhật ký máy chủ"
deleteAll: "Xóa tất cả" deleteAll: "Xóa tất cả"
showFixedPostForm: "Hiện khung soạn tút ở phía trên bảng tin" showFixedPostForm: "Hiện khung soạn tút ở phía trên bảng tin"
showFixedPostFormInChannel: "Hiển thị mẫu bài đăng ở phía trên bản tin" showFixedPostFormInChannel: "Hiển thị mẫu bài đăng ở phía trên bản tin"
withRepliesByDefaultForNewlyFollowed: "Mặc định hiển thị trả lời từ những người dùng mới theo dõi trong dòng thời gian"
newNoteRecived: "Đã nhận tút mới" newNoteRecived: "Đã nhận tút mới"
sounds: "Âm thanh" sounds: "Âm thanh"
sound: "Âm thanh" sound: "Âm thanh"
@ -547,7 +584,9 @@ popout: "Pop-out"
volume: "Âm lượng" volume: "Âm lượng"
masterVolume: "Âm thanh chung" masterVolume: "Âm thanh chung"
notUseSound: "Tắt tiếng" notUseSound: "Tắt tiếng"
useSoundOnlyWhenActive: "Chỉ phát âm thanh khi Misskey đang được hiển thị"
details: "Chi tiết" details: "Chi tiết"
renoteDetails: "Tìm hiểu thêm về đăng lại "
chooseEmoji: "Chọn emoji" chooseEmoji: "Chọn emoji"
unableToProcess: "Không thể hoàn tất hành động" unableToProcess: "Không thể hoàn tất hành động"
recentUsed: "Sử dụng gần đây" recentUsed: "Sử dụng gần đây"
@ -563,6 +602,7 @@ ascendingOrder: "Tăng dần"
descendingOrder: "Giảm dần" descendingOrder: "Giảm dần"
scratchpad: "Scratchpad" scratchpad: "Scratchpad"
scratchpadDescription: "Scratchpad cung cấp môi trường cho các thử nghiệm AiScript. Bạn có thể viết, thực thi và kiểm tra kết quả tương tác với Misskey trong đó." scratchpadDescription: "Scratchpad cung cấp môi trường cho các thử nghiệm AiScript. Bạn có thể viết, thực thi và kiểm tra kết quả tương tác với Misskey trong đó."
uiInspector: "Trình kiểm tra UI"
output: "Nguồn ra" output: "Nguồn ra"
script: "Kịch bản" script: "Kịch bản"
disablePagesScript: "Tắt AiScript trên Trang" disablePagesScript: "Tắt AiScript trên Trang"
@ -621,6 +661,7 @@ medium: "Vừa"
small: "Nhỏ" small: "Nhỏ"
generateAccessToken: "Tạo mã truy cập" generateAccessToken: "Tạo mã truy cập"
permission: "Cho phép " permission: "Cho phép "
adminPermission: "Quyền quản trị viên"
enableAll: "Bật toàn bộ" enableAll: "Bật toàn bộ"
disableAll: "Tắt toàn bộ" disableAll: "Tắt toàn bộ"
tokenRequested: "Cấp quyền truy cập vào tài khoản" tokenRequested: "Cấp quyền truy cập vào tài khoản"
@ -642,13 +683,19 @@ smtpSecure: "Dùng SSL/TLS ngầm định cho các kết nối SMTP"
smtpSecureInfo: "Tắt cái này nếu dùng STARTTLS" smtpSecureInfo: "Tắt cái này nếu dùng STARTTLS"
testEmail: "Kiểm tra vận chuyển email" testEmail: "Kiểm tra vận chuyển email"
wordMute: "Ẩn chữ" wordMute: "Ẩn chữ"
wordMuteDescription: "Thu nhỏ các bài đăng chứa các từ hoặc cụm từ nhất định. Các bài đăng này có thể được hiển thị khi click vào."
hardWordMute: "Ẩn cụm từ hoàn toàn"
showMutedWord: "Hiển thị từ đã ẩn"
hardWordMuteDescription: "Ẩn hoàn toàn các bài đăng chứa từ hoặc cụm từ. Khác với mute, bài đăng sẽ bị ẩn hoàn toàn."
regexpError: "Lỗi biểu thức" regexpError: "Lỗi biểu thức"
regexpErrorDescription: "Xảy ra lỗi biểu thức ở dòng {line} của {tab} chữ ẩn:" regexpErrorDescription: "Xảy ra lỗi biểu thức ở dòng {line} của {tab} chữ ẩn:"
instanceMute: "Những máy chủ ẩn" instanceMute: "Những máy chủ ẩn"
userSaysSomething: "{name} nói gì đó" userSaysSomething: "{name} nói gì đó"
userSaysSomethingAbout: "{name} đã nói gì đó về \"{word}\""
makeActive: "Kích hoạt" makeActive: "Kích hoạt"
display: "Hiển thị" display: "Hiển thị"
copy: "Sao chép" copy: "Sao chép"
copiedToClipboard: "Đã sao chép vào clipboard"
metrics: "Số liệu" metrics: "Số liệu"
overview: "Tổng quan" overview: "Tổng quan"
logs: "Nhật ký" logs: "Nhật ký"
@ -663,12 +710,14 @@ useGlobalSettingDesc: "Nếu được bật, cài đặt thông báo của bạn
other: "Khác" other: "Khác"
regenerateLoginToken: "Tạo lại mã đăng nhập" regenerateLoginToken: "Tạo lại mã đăng nhập"
regenerateLoginTokenDescription: "Tạo lại mã nội bộ có thể dùng để đăng nhập. Thông thường hành động này là không cần thiết. Nếu được tạo lại, tất cả các thiết bị sẽ bị đăng xuất." regenerateLoginTokenDescription: "Tạo lại mã nội bộ có thể dùng để đăng nhập. Thông thường hành động này là không cần thiết. Nếu được tạo lại, tất cả các thiết bị sẽ bị đăng xuất."
theKeywordWhenSearchingForCustomEmoji: "Đây là từ khoá được sử dụng để tìm kiếm emoji"
setMultipleBySeparatingWithSpace: "Tách nhiều mục nhập bằng dấu cách." setMultipleBySeparatingWithSpace: "Tách nhiều mục nhập bằng dấu cách."
fileIdOrUrl: "ID tập tin hoặc URL" fileIdOrUrl: "ID tập tin hoặc URL"
behavior: "Thao tác" behavior: "Thao tác"
sample: "Ví dụ" sample: "Ví dụ"
abuseReports: "Lượt báo cáo" abuseReports: "Lượt báo cáo"
reportAbuse: "Báo cáo" reportAbuse: "Báo cáo"
reportAbuseRenote: "Báo cáo bài đăng lại"
reportAbuseOf: "Báo cáo {name}" reportAbuseOf: "Báo cáo {name}"
fillAbuseReportDescription: "Vui lòng điền thông tin chi tiết về báo cáo này. Nếu đó là về một tút cụ thể, hãy kèm theo URL của tút." fillAbuseReportDescription: "Vui lòng điền thông tin chi tiết về báo cáo này. Nếu đó là về một tút cụ thể, hãy kèm theo URL của tút."
abuseReported: "Báo cáo đã được gửi. Cảm ơn bạn nhiều." abuseReported: "Báo cáo đã được gửi. Cảm ơn bạn nhiều."
@ -718,6 +767,7 @@ lockedAccountInfo: "Ghi chú của bạn sẽ hiển thị với bất kỳ ai,
alwaysMarkSensitive: "Luôn đánh dấu NSFW" alwaysMarkSensitive: "Luôn đánh dấu NSFW"
loadRawImages: "Tải ảnh gốc thay vì ảnh thu nhỏ" loadRawImages: "Tải ảnh gốc thay vì ảnh thu nhỏ"
disableShowingAnimatedImages: "Không phát ảnh động" disableShowingAnimatedImages: "Không phát ảnh động"
highlightSensitiveMedia: "Đánh dấu nội dung nhạy cảm"
verificationEmailSent: "Một email xác minh đã được gửi. Vui lòng nhấn vào liên kết đính kèm để hoàn tất xác minh." verificationEmailSent: "Một email xác minh đã được gửi. Vui lòng nhấn vào liên kết đính kèm để hoàn tất xác minh."
notSet: "Chưa đặt" notSet: "Chưa đặt"
emailVerified: "Email đã được xác minh" emailVerified: "Email đã được xác minh"
@ -811,6 +861,7 @@ administration: "Quản lý"
accounts: "Tài khoản của bạn" accounts: "Tài khoản của bạn"
switch: "Chuyển đổi" switch: "Chuyển đổi"
noMaintainerInformationWarning: "Chưa thiết lập thông tin vận hành." noMaintainerInformationWarning: "Chưa thiết lập thông tin vận hành."
noInquiryUrlWarning: "Địa chỉ hỏi đáp chưa được đặt"
noBotProtectionWarning: "Bảo vệ Bot chưa thiết lập." noBotProtectionWarning: "Bảo vệ Bot chưa thiết lập."
configure: "Thiết lập" configure: "Thiết lập"
postToGallery: "Tạo tút có ảnh" postToGallery: "Tạo tút có ảnh"
@ -875,6 +926,7 @@ followersVisibility: "Hiển thị người theo dõi"
continueThread: "Tiếp tục xem chuỗi tút" continueThread: "Tiếp tục xem chuỗi tút"
deleteAccountConfirm: "Điều này sẽ khiến tài khoản bị xóa vĩnh viễn. Vẫn tiếp tục?" deleteAccountConfirm: "Điều này sẽ khiến tài khoản bị xóa vĩnh viễn. Vẫn tiếp tục?"
incorrectPassword: "Sai mật khẩu." incorrectPassword: "Sai mật khẩu."
incorrectTotp: "Mã OTP không đúng hoặc đã quá hạn"
voteConfirm: "Xác nhận bình chọn \"{choice}\"?" voteConfirm: "Xác nhận bình chọn \"{choice}\"?"
hide: "Ẩn" hide: "Ẩn"
useDrawerReactionPickerForMobile: "Hiện bộ chọn biểu cảm dạng xổ ra trên điện thoại" useDrawerReactionPickerForMobile: "Hiện bộ chọn biểu cảm dạng xổ ra trên điện thoại"
@ -899,6 +951,9 @@ oneHour: "1 giờ"
oneDay: "1 ngày" oneDay: "1 ngày"
oneWeek: "1 tuần" oneWeek: "1 tuần"
oneMonth: "1 tháng" oneMonth: "1 tháng"
threeMonths: "3 tháng"
oneYear: "1 năm"
threeDays: "3 ngày "
reflectMayTakeTime: "Có thể mất một thời gian để điều này được áp dụng." reflectMayTakeTime: "Có thể mất một thời gian để điều này được áp dụng."
failedToFetchAccountInformation: "Không thể lấy thông tin tài khoản" failedToFetchAccountInformation: "Không thể lấy thông tin tài khoản"
rateLimitExceeded: "Giới hạn quá mức" rateLimitExceeded: "Giới hạn quá mức"
@ -923,6 +978,7 @@ document: "Tài liệu"
numberOfPageCache: "Số lượng trang bộ nhớ đệm" numberOfPageCache: "Số lượng trang bộ nhớ đệm"
numberOfPageCacheDescription: "Việc tăng con số này sẽ cải thiện sự thuận tiện cho người dùng nhưng gây ra nhiều áp lực hơn cho máy chủ cũng như sử dụng nhiều bộ nhớ hơn." numberOfPageCacheDescription: "Việc tăng con số này sẽ cải thiện sự thuận tiện cho người dùng nhưng gây ra nhiều áp lực hơn cho máy chủ cũng như sử dụng nhiều bộ nhớ hơn."
logoutConfirm: "Bạn có chắc muốn đăng xuất?" logoutConfirm: "Bạn có chắc muốn đăng xuất?"
logoutWillClearClientData: "Đăng xuất sẽ xoá các thiết lập của bạn khỏi trình duyệt. Để có thể khôi phục thiết lập khi đăng nhập lại, bạn phải bật tự động sao lưu cài đặt."
lastActiveDate: "Lần cuối vào" lastActiveDate: "Lần cuối vào"
statusbar: "Thanh trạng thái" statusbar: "Thanh trạng thái"
pleaseSelect: "Chọn một lựa chọn" pleaseSelect: "Chọn một lựa chọn"
@ -972,6 +1028,7 @@ neverShow: "Không hiển thị nữa"
remindMeLater: "Để sau" remindMeLater: "Để sau"
didYouLikeMisskey: "Bạn có ưa thích Mískey không?" didYouLikeMisskey: "Bạn có ưa thích Mískey không?"
pleaseDonate: "Misskey là phần mềm miễn phí mà {host} đang sử dụng. Xin mong bạn quyên góp cho chúng tôi để chúng tôi có thể tiếp tục phát triển dịch vụ này. Xin cảm ơn!!" pleaseDonate: "Misskey là phần mềm miễn phí mà {host} đang sử dụng. Xin mong bạn quyên góp cho chúng tôi để chúng tôi có thể tiếp tục phát triển dịch vụ này. Xin cảm ơn!!"
correspondingSourceIsAvailable: "Mã nguồn có thể được xem tại {anchor}"
roles: "Vai trò" roles: "Vai trò"
role: "Vai trò" role: "Vai trò"
noRole: "Bạn chưa được cấp quyền." noRole: "Bạn chưa được cấp quyền."
@ -999,23 +1056,41 @@ thisPostMayBeAnnoyingHome: "Đăng trên trang chính"
thisPostMayBeAnnoyingCancel: "Từ chối" thisPostMayBeAnnoyingCancel: "Từ chối"
thisPostMayBeAnnoyingIgnore: "Đăng bài để nguyên" thisPostMayBeAnnoyingIgnore: "Đăng bài để nguyên"
collapseRenotes: "Không hiển thị bài viết đã từng xem" collapseRenotes: "Không hiển thị bài viết đã từng xem"
collapseRenotesDescription: "Các bài đăng bị thu gọn mà bạn đã phản hồi hoặc đăng lại trước đây."
internalServerError: "Lỗi trong chủ máy" internalServerError: "Lỗi trong chủ máy"
internalServerErrorDescription: "Trong chủ máy lỗi bất ngờ xảy ra" internalServerErrorDescription: "Trong chủ máy lỗi bất ngờ xảy ra"
copyErrorInfo: "Sao chép thông tin lỗi" copyErrorInfo: "Sao chép thông tin lỗi"
joinThisServer: "Đăng ký trên chủ máy này" joinThisServer: "Đăng ký trên chủ máy này"
exploreOtherServers: "Tìm chủ máy khác" exploreOtherServers: "Tìm chủ máy khác"
letsLookAtTimeline: "Thử xem Timeline" letsLookAtTimeline: "Thử xem Timeline"
disableFederationConfirm: "Bạn có muốn làm điều đó mà không cần liên minh không?"
disableFederationConfirmWarn: "Ngay cả khi bị trì hoãn, bài đăng vẫn sẽ tiếp tục là công khai trừ khi được thiết lập khác. Bạn thường không cần phải làm điều này."
disableFederationOk: "Vô hiệu hoá" disableFederationOk: "Vô hiệu hoá"
invitationRequiredToRegister: "Phiên bản này chỉ dành cho người được mời. Bạn phải nhập mã mời hợp lệ để đăng ký."
emailNotSupported: "Máy chủ này không hỗ trợ gửi email" emailNotSupported: "Máy chủ này không hỗ trợ gửi email"
postToTheChannel: "Đăng lên kênh" postToTheChannel: "Đăng lên kênh"
cannotBeChangedLater: "Không thể thay đổi sau này." cannotBeChangedLater: "Không thể thay đổi sau này."
reactionAcceptance: "Phản ứng chấp nhận"
likeOnly: "Chỉ lượt thích" likeOnly: "Chỉ lượt thích"
likeOnlyForRemote: "Tất cả (chỉ bao gồm lượt thích trên các máy chủ khác)"
nonSensitiveOnly: "Chỉ nội dung không nhạy cảm"
nonSensitiveOnlyForLocalLikeOnlyForRemote: "Chỉ nội dung không nhạy cảm (chỉ bao gồm lượt thích từ máy chủ khác)"
rolesAssignedToMe: "Vai trò được giao cho tôi" rolesAssignedToMe: "Vai trò được giao cho tôi"
resetPasswordConfirm: "Bạn thực sự muốn đặt lại mật khẩu?" resetPasswordConfirm: "Bạn thực sự muốn đặt lại mật khẩu?"
sensitiveWords: "Các từ nhạy cảm" sensitiveWords: "Các từ nhạy cảm"
sensitiveWordsDescription: "Phạm vi của tất cả bài đăng chứa các từ được cấu hình sẽ tự động được đặt về \"Home\". Ban có thể thêm nhiều từ trên mỗi dòng."
sensitiveWordsDescription2: "Sử dụng dấu cách sẽ tạo cấu trúc AND và thêm dấu gạch xuôi để sử dụng như một regex."
prohibitedWords: "Các từ bị cấm" prohibitedWords: "Các từ bị cấm"
prohibitedWordsDescription: "Hiển thị lỗi khi đăng một bài đăng chứa các từ sau. Nhiều từ có thể được thêm bằng cách viết một từ trên mỗi dòng."
prohibitedWordsDescription2: "Sử dụng dấu cách sẽ tạo cấu trúc AND và thêm dấu gạch xuôi để sử dụng như một regex."
hiddenTags: "Hashtag ẩn"
hiddenTagsDescription: "Các hashtag này sẽ không được hiển thị trên danh sách Trending. Nhiều tag có thể được thêm bằng cách viết một tag trên mỗi dòng."
notesSearchNotAvailable: "Tìm kiếm bài đăng hiện không khả dụng."
license: "Giấy phép" license: "Giấy phép"
unfavoriteConfirm: "Bạn thực sự muốn xoá khỏi mục yêu thích?" unfavoriteConfirm: "Bạn thực sự muốn xoá khỏi mục yêu thích?"
myClips: "Các clip của tôi"
drivecleaner: "Trình dọn đĩa"
retryAllQueuesNow: "Thử lại cho tất cả hàng chờ"
retryAllQueuesConfirmTitle: "Bạn có muốn thử lại?" retryAllQueuesConfirmTitle: "Bạn có muốn thử lại?"
retryAllQueuesConfirmText: "Điều này sẽ tạm thời làm tăng mức độ tải của máy chủ." retryAllQueuesConfirmText: "Điều này sẽ tạm thời làm tăng mức độ tải của máy chủ."
enableChartsForRemoteUser: "Tạo biểu đồ người dùng từ xa" enableChartsForRemoteUser: "Tạo biểu đồ người dùng từ xa"
@ -1051,6 +1126,8 @@ options: "Tùy chọn"
specifyUser: "Người dùng chỉ định" specifyUser: "Người dùng chỉ định"
failedToPreviewUrl: "Không thể xem trước" failedToPreviewUrl: "Không thể xem trước"
update: "Cập nhật" update: "Cập nhật"
cancelReactionConfirm: "Bạn có muốn hủy phản ứng của mình không?"
changeReactionConfirm: "Bạn có muốn thay đổi phản ứng của mình không?"
later: "Để sau" later: "Để sau"
goToMisskey: "Tới Misskey" goToMisskey: "Tới Misskey"
installed: "Đã tải xuống" installed: "Đã tải xuống"
@ -1099,6 +1176,7 @@ mutualFollow: "Theo dõi lẫn nhau"
followingOrFollower: "Đang theo dõi hoặc người theo dõi" followingOrFollower: "Đang theo dõi hoặc người theo dõi"
externalServices: "Các dịch vụ bên ngoài" externalServices: "Các dịch vụ bên ngoài"
sourceCode: "Mã nguồn" sourceCode: "Mã nguồn"
repositoryUrlDescription: "Nếu bạn có kho lưu trữ mã nguồn có thể truy cập công khai, hãy nhập URL. Nếu bạn đang sử dụng Misskey theo mặc định (không thực hiện bất kỳ thay đổi nào đối với mã nguồn), hãy nhập https://github.com/misskey-dev/misskey."
feedback: "Phản hồi" feedback: "Phản hồi"
feedbackUrl: "URL phản hồi" feedbackUrl: "URL phản hồi"
privacyPolicy: "Chính sách bảo mật" privacyPolicy: "Chính sách bảo mật"
@ -1115,8 +1193,29 @@ releaseToRefresh: "Thả để làm mới"
refreshing: "Đang làm mới" refreshing: "Đang làm mới"
pullDownToRefresh: "Kéo xuống để làm mới" pullDownToRefresh: "Kéo xuống để làm mới"
cwNotationRequired: "Nếu \"Ẩn nội dung\" được bật thì cần phải có chú thích." cwNotationRequired: "Nếu \"Ẩn nội dung\" được bật thì cần phải có chú thích."
decorate: "Trang trí"
lastNDays: "{n} ngày trước" lastNDays: "{n} ngày trước"
userSaysSomethingSensitive: "Bài đăng có chứa các tập tin nhạy cảm từ {name}"
surrender: "Từ chối" surrender: "Từ chối"
signinWithPasskey: "Đăng nhập bằng mật khẩu của bạn"
passkeyVerificationFailed: "Xác minh mật khẩu không thành công."
messageToFollower: "Tin nhắn cho người theo dõi"
yourNameContainsProhibitedWords: "Tên bạn đang cố gắng đổi có chứa chuỗi ký tự bị cấm."
yourNameContainsProhibitedWordsDescription: "Tên có chứa chuỗi ký tự bị cấm. Nếu bạn muốn sử dụng tên này, hãy liên hệ với quản trị viên máy chủ của bạn."
federationDisabled: "Liên kết bị vô hiệu hóa trên máy chủ này. Bạn không thể tương tác với người dùng trên các máy chủ khác."
reactAreYouSure: "Bạn có muốn phản hồi với \" {emoji} \" không?"
paste: "dán"
postForm: "Mẫu đăng"
information: "Giới thiệu"
_chat:
invitations: "Mời"
noHistory: "Không có dữ liệu"
members: "Thành viên"
home: "Trang chính"
send: "Gửi"
_accountSettings:
requireSigninToViewContents: "Yêu cầu đăng nhập để xem nội dung"
requireSigninToViewContentsDescription1: "Yêu cầu đăng nhập để xem tất cả ghi chú và nội dung khác mà bạn tạo. Điều này được kỳ vọng sẽ có hiệu quả trong việc ngăn chặn thông tin bị thu thập bởi các trình thu thập thông tin."
_delivery: _delivery:
stop: "Đã vô hiệu hóa" stop: "Đã vô hiệu hóa"
_type: _type:
@ -1140,8 +1239,33 @@ _initialAccountSetting:
pushNotificationDescription: "Bật thông báo đẩy sẽ cho phép bạn nhận thông báo từ {name} trực tiếp từ thiết bị của bạn." pushNotificationDescription: "Bật thông báo đẩy sẽ cho phép bạn nhận thông báo từ {name} trực tiếp từ thiết bị của bạn."
initialAccountSettingCompleted: "Thiết lập tài khoản thành công!" initialAccountSettingCompleted: "Thiết lập tài khoản thành công!"
haveFun: "Hãy tận hưởng {name} nhé!" haveFun: "Hãy tận hưởng {name} nhé!"
youCanContinueTutorial: "Bạn có thể tiếp tục xem hướng dẫn về cách sử dụng {name} (Misskey) hoặc bạn có thể thoát khỏi phần thiết lập tại đây và bắt đầu sử dụng ngay lập tức."
startTutorial: "Bắt đầu hướng dẫn"
skipAreYouSure: "Bạn thực sự muốn bỏ qua mục thiết lập tài khoản?" skipAreYouSure: "Bạn thực sự muốn bỏ qua mục thiết lập tài khoản?"
laterAreYouSure: "Bạn thực sự muốn thiết lập tài khoản vào lúc khác?" laterAreYouSure: "Bạn thực sự muốn thiết lập tài khoản vào lúc khác?"
_initialTutorial:
launchTutorial: "Bắt đầu hướng dẫn"
title: "Hướng dẫn"
wellDone: "Làm tốt!"
skipAreYouSure: "Thoát khỏi hướng dẫn?"
_landing:
title: "Chào mừng đến với Hướng dẫn"
description: "Tại đây, bạn có thể tìm hiểu những điều cơ bản về cách sử dụng Misskey và các tính năng của nó."
_note:
title: "Bài Viết là gì?"
description: "Các bài đăng trên Misskey được gọi là 'Bài Viết'. Ghi chú được sắp xếp theo thứ tự thời gian trên dòng thời gian và được cập nhật theo thời gian thực."
_timeline:
home: "Bạn có thể xem ghi chú từ những tài khoản bạn theo dõi."
local: "Bạn có thể xem ghi chú từ tất cả người dùng trên máy chủ này."
social: "Ghi chú từ dòng thời gian Trang chủ và Địa phương sẽ được hiển thị."
global: "Bạn có thể xem ghi chú từ tất cả các máy chủ được kết nối."
_postNote:
_visibility:
home: "Chỉ công khai trên dòng thời gian Trang chủ. Những người truy cập trang cá nhân của bạn, thông qua người theo dõi và thông qua ghi chú lại có thể thấy thông tin đó."
_timelineDescription:
home: "Trong dòng thời gian Trang chính, bạn có thể xem ghi chú từ các tài khoản bạn theo dõi."
local: "Trong dòng thời gian cục bộ, bạn có thể xem ghi chú từ tất cả người dùng trên máy chủ này."
social: "Dòng thời gian Xã hội hiển thị các ghi chú từ cả dòng thời gian Trang chủ và Địa phương."
_serverSettings: _serverSettings:
iconUrl: "Biểu tượng URL" iconUrl: "Biểu tượng URL"
appIconResolutionMustBe: "Độ phân giải tối thiểu là {resolution}." appIconResolutionMustBe: "Độ phân giải tối thiểu là {resolution}."
@ -1302,7 +1426,7 @@ _achievements:
_postedAt0min0sec: _postedAt0min0sec:
title: "Tín hiệu báo giờ" title: "Tín hiệu báo giờ"
description: "Đăng bài vào 0 phút 0 giây" description: "Đăng bài vào 0 phút 0 giây"
flavor: "Piiiiiii ĐÂY LÀ TIẾNG NÓI VIỆT NAM" flavor: "Pin pop pop pop"
_selfQuote: _selfQuote:
title: "Nói đến bản thân" title: "Nói đến bản thân"
description: "Trích dẫn bài viết của mình" description: "Trích dẫn bài viết của mình"
@ -1524,7 +1648,6 @@ _theme:
header: "Ảnh bìa" header: "Ảnh bìa"
navBg: "Nền thanh bên" navBg: "Nền thanh bên"
navFg: "Chữ thanh bên" navFg: "Chữ thanh bên"
navHoverFg: "Chữ thanh bên (Khi chạm)"
navActive: "Chữ thanh bên (Khi chọn)" navActive: "Chữ thanh bên (Khi chọn)"
navIndicator: "Chỉ báo thanh bên" navIndicator: "Chỉ báo thanh bên"
link: "Đường dẫn" link: "Đường dẫn"
@ -1547,11 +1670,8 @@ _theme:
buttonHoverBg: "Nền nút (Chạm)" buttonHoverBg: "Nền nút (Chạm)"
inputBorder: "Đường viền khung soạn thảo" inputBorder: "Đường viền khung soạn thảo"
driveFolderBg: "Nền thư mục Ổ đĩa" driveFolderBg: "Nền thư mục Ổ đĩa"
wallpaperOverlay: "Lớp phủ hình nền"
badge: "Huy hiệu" badge: "Huy hiệu"
messageBg: "Nền chat" messageBg: "Nền chat"
accentDarken: "Màu phụ (Tối)"
accentLighten: "Màu phụ (Sáng)"
fgHighlighted: "Chữ nổi bật" fgHighlighted: "Chữ nổi bật"
_sfx: _sfx:
note: "Tút" note: "Tút"
@ -1626,6 +1746,7 @@ _permissions:
"write:gallery": "Sửa kho ảnh của tôi" "write:gallery": "Sửa kho ảnh của tôi"
"read:gallery-likes": "Xem danh sách các tút đã thích trong thư viện của tôi" "read:gallery-likes": "Xem danh sách các tút đã thích trong thư viện của tôi"
"write:gallery-likes": "Sửa danh sách các tút đã thích trong thư viện của tôi" "write:gallery-likes": "Sửa danh sách các tút đã thích trong thư viện của tôi"
"write:chat": "Soạn hoặc xóa tin nhắn"
_auth: _auth:
shareAccessTitle: "Cho phép truy cập app" shareAccessTitle: "Cho phép truy cập app"
shareAccess: "Bạn có muốn cho phép \"{name}\" truy cập vào tài khoản này không?" shareAccess: "Bạn có muốn cho phép \"{name}\" truy cập vào tài khoản này không?"
@ -1800,9 +1921,6 @@ _pages:
newPage: "Tạo Trang mới" newPage: "Tạo Trang mới"
editPage: "Sửa Trang này" editPage: "Sửa Trang này"
readPage: "Xem mã nguồn Trang này" readPage: "Xem mã nguồn Trang này"
created: "Trang đã được tạo thành công"
updated: "Trang đã được cập nhật thành công"
deleted: "Trang đã được xóa thành công"
pageSetting: "Cài đặt trang" pageSetting: "Cài đặt trang"
nameAlreadyExists: "URL Trang đã tồn tại" nameAlreadyExists: "URL Trang đã tồn tại"
invalidNameTitle: "URL Trang không hợp lệ" invalidNameTitle: "URL Trang không hợp lệ"
@ -1923,8 +2041,25 @@ _abuseReport:
_recipientType: _recipientType:
mail: "Email" mail: "Email"
_moderationLogTypes: _moderationLogTypes:
createRole: "Tạo một vai trò"
deleteRole: "Xóa vai trò"
updateRole: "Cập nhật vai trò"
assignRole: "Chỉ định cho vai trò"
unassignRole: "Bỏ gán vai trò"
suspend: "Vô hiệu hóa" suspend: "Vô hiệu hóa"
unsuspend: "Rã đông"
resetPassword: "Đặt lại mật khẩu" resetPassword: "Đặt lại mật khẩu"
createInvitation: "Tạo lời mời" createInvitation: "Tạo lời mời"
_reversi: _reversi:
total: "Tổng cộng" total: "Tổng cộng"
_customEmojisManager:
_local:
_list:
confirmDeleteEmojisDescription: "Xóa các biểu tượng cảm xúc {count} đã chọn. Bạn có muốn chạy nó không?"
_remoteLookupErrors:
_noSuchObject:
title: "Không tìm thấy"
_search:
searchScopeAll: "Tất cả"
searchScopeLocal: "Máy chủ này"
searchScopeUser: "Người dùng chỉ định"

View file

@ -5,6 +5,7 @@ introMisskey: "欢迎Misskey是一个开源的、去中心化的“微博客
poweredByMisskeyDescription: "{name} 是开源平台 <b>Misskey</b> 的服务器之一。" poweredByMisskeyDescription: "{name} 是开源平台 <b>Misskey</b> 的服务器之一。"
monthAndDay: "{month}月 {day}日" monthAndDay: "{month}月 {day}日"
search: "搜索" search: "搜索"
reset: "重置"
notifications: "通知" notifications: "通知"
username: "用户名" username: "用户名"
password: "密码" password: "密码"
@ -48,6 +49,7 @@ pin: "置顶"
unpin: "取消置顶" unpin: "取消置顶"
copyContent: "复制内容" copyContent: "复制内容"
copyLink: "复制链接" copyLink: "复制链接"
copyRemoteLink: "复制远程链接"
copyLinkRenote: "复制转帖链接" copyLinkRenote: "复制转帖链接"
delete: "删除" delete: "删除"
deleteAndEdit: "删除并编辑" deleteAndEdit: "删除并编辑"
@ -107,7 +109,7 @@ follow: "关注"
followRequest: "关注申请" followRequest: "关注申请"
followRequests: "关注申请" followRequests: "关注申请"
unfollow: "取消关注" unfollow: "取消关注"
followRequestPending: "关注请求批准" followRequestPending: "关注请求批准"
enterEmoji: "输入表情符号" enterEmoji: "输入表情符号"
renote: "转发" renote: "转发"
unrenote: "取消转发" unrenote: "取消转发"
@ -136,21 +138,21 @@ overwriteFromPinnedEmojisForReaction: "从「置顶(回应)」设置覆盖"
overwriteFromPinnedEmojis: "从全局设置覆盖" overwriteFromPinnedEmojis: "从全局设置覆盖"
reactionSettingDescription2: "拖动重新排序,单击删除,点击 + 添加。" reactionSettingDescription2: "拖动重新排序,单击删除,点击 + 添加。"
rememberNoteVisibility: "保存上次设置的可见性" rememberNoteVisibility: "保存上次设置的可见性"
attachCancel: "删除附件" attachCancel: "取消添加附件"
deleteFile: "删除文件" deleteFile: "删除文件"
markAsSensitive: "标记为敏感内容" markAsSensitive: "标记为敏感内容"
unmarkAsSensitive: "取消标记为敏感内容" unmarkAsSensitive: "取消标记为敏感内容"
enterFileName: "输入文件名" enterFileName: "输入文件名"
mute: "屏蔽" mute: "屏蔽"
unmute: "解除静音" unmute: "取消隐藏"
renoteMute: "屏蔽转帖" renoteMute: "隐藏转帖"
renoteUnmute: "解除屏蔽转帖" renoteUnmute: "解除隐藏转帖"
block: "拉黑" block: "屏蔽"
unblock: "取消拉黑" unblock: "取消屏蔽"
suspend: "冻结" suspend: "冻结"
unsuspend: "解除冻结" unsuspend: "解除冻结"
blockConfirm: "确定要拉黑吗?" blockConfirm: "确定要屏蔽吗?"
unblockConfirm: "确定要解除拉黑吗?" unblockConfirm: "确定要取消屏蔽吗?"
suspendConfirm: "要冻结吗?" suspendConfirm: "要冻结吗?"
unsuspendConfirm: "要解除冻结吗?" unsuspendConfirm: "要解除冻结吗?"
selectList: "选择列表" selectList: "选择列表"
@ -195,7 +197,7 @@ setWallpaper: "设置壁纸"
removeWallpaper: "移除壁纸" removeWallpaper: "移除壁纸"
searchWith: "搜索:{q}" searchWith: "搜索:{q}"
youHaveNoLists: "列表为空" youHaveNoLists: "列表为空"
followConfirm: "确定要关注 {name} 吗?" followConfirm: "确定要关注 {name} 吗?"
proxyAccount: "代理账户" proxyAccount: "代理账户"
proxyAccountDescription: "代理账户是在某些情况下替代用户进行远程关注用的账户。 例如说,当用户将一位远程用户放入一个列表中时,如果本地服务器上没有任何人关注这位远程用户,则这位远程用户的账户活动将不会被送到本地服务器上。作为替代,此时将使用代理账户进行关注。" proxyAccountDescription: "代理账户是在某些情况下替代用户进行远程关注用的账户。 例如说,当用户将一位远程用户放入一个列表中时,如果本地服务器上没有任何人关注这位远程用户,则这位远程用户的账户活动将不会被送到本地服务器上。作为替代,此时将使用代理账户进行关注。"
host: "主机名" host: "主机名"
@ -213,8 +215,8 @@ charts: "图表"
perHour: "每小时" perHour: "每小时"
perDay: "每天" perDay: "每天"
stopActivityDelivery: "停止发送活动" stopActivityDelivery: "停止发送活动"
blockThisInstance: "阻止此服务器向本服务器推流" blockThisInstance: "屏蔽此服务器"
silenceThisInstance: "使服务器静音" silenceThisInstance: "静音此服务器"
mediaSilenceThisInstance: "隐藏此服务器的媒体文件" mediaSilenceThisInstance: "隐藏此服务器的媒体文件"
operations: "操作" operations: "操作"
software: "软件" software: "软件"
@ -229,24 +231,24 @@ disk: "存储"
instanceInfo: "服务器信息" instanceInfo: "服务器信息"
statistics: "统计" statistics: "统计"
clearQueue: "清除队列" clearQueue: "清除队列"
clearQueueConfirmTitle: "确定清除队列?" clearQueueConfirmTitle: "确定清除队列"
clearQueueConfirmText: "未送达的帖子将不会被投递。 通常无需执行此操作。" clearQueueConfirmText: "未送达的帖子将不会被投递。 通常无需执行此操作。"
clearCachedFiles: "清除缓存" clearCachedFiles: "清除缓存"
clearCachedFilesConfirm: "确定要清除所有缓存的远程文件" clearCachedFilesConfirm: "确定要清除所有缓存的远程文件"
blockedInstances: "被封锁的服务器" blockedInstances: "被屏蔽的服务器"
blockedInstancesDescription: "设定要封锁的服务器,以换行分隔。被封锁的服务器将无法与本服务器进行交换通讯。子域名也同样会被封锁。" blockedInstancesDescription: "设定要屏蔽的服务器,以换行分隔。被屏蔽的服务器将无法与本服务器进行交换通讯。子域名也同样会被屏蔽。"
silencedInstances: "被静音的服务器" silencedInstances: "被静音的服务器"
silencedInstancesDescription: "设置要静音的服务器,以换行分隔。被静音的服务器内所有的账户将默认处于「静音」状态,仅能发送关注请求,并且在未关注状态下无法提及本地账户。被阻止的实例不受影响。" silencedInstancesDescription: "设置要静音的服务器,以换行分隔。被静音的服务器内所有的账户将默认处于「静音」状态,仅能发送关注请求,并且在未关注状态下无法提及本地账户。被阻止的实例不受影响。"
mediaSilencedInstances: "已隐藏媒体文件的服务器" mediaSilencedInstances: "已隐藏媒体文件的服务器"
mediaSilencedInstancesDescription: "设置要隐藏媒体文件的服务器,以换行分隔。被设置为隐藏媒体文件服务器内所有账号的文件均按照「敏感内容」处理,且将无法使用自定义表情符号。被阻止的实例不受影响。" mediaSilencedInstancesDescription: "设置要隐藏媒体文件的服务器,以换行分隔。被设置为隐藏媒体文件服务器内所有账号的文件均按照「敏感内容」处理,且将无法使用自定义表情符号。被阻止的实例不受影响。"
federationAllowedHosts: "允许联合的服务器" federationAllowedHosts: "允许联合的服务器"
federationAllowedHostsDescription: "设定允许联合的服务器,以换行分隔。" federationAllowedHostsDescription: "设定允许联合的服务器,以换行分隔。"
muteAndBlock: "静音/拉黑" muteAndBlock: "隐藏和屏蔽"
mutedUsers: "已静音用户" mutedUsers: "已隐藏用户"
blockedUsers: "已拉黑的用户" blockedUsers: "已屏蔽的用户"
noUsers: "无用户" noUsers: "无用户"
editProfile: "编辑资料" editProfile: "编辑资料"
noteDeleteConfirm: "要删除该帖子吗?" noteDeleteConfirm: "确定要删除该帖子吗?"
pinLimitExceeded: "无法置顶更多了" pinLimitExceeded: "无法置顶更多了"
intro: "Misskey 的部署结束啦!创建管理员账号吧!" intro: "Misskey 的部署结束啦!创建管理员账号吧!"
done: "完成" done: "完成"
@ -257,8 +259,8 @@ defaultValueIs: "默认值: {value}"
noCustomEmojis: "没有自定义表情符号" noCustomEmojis: "没有自定义表情符号"
noJobs: "没有任务" noJobs: "没有任务"
federating: "联合中" federating: "联合中"
blocked: "已拉黑" blocked: "已屏蔽"
suspended: "停止推流" suspended: "停止投递"
all: "全部" all: "全部"
subscribing: "已订阅" subscribing: "已订阅"
publishing: "投递中" publishing: "投递中"
@ -287,7 +289,6 @@ deleteAreYouSure: "要删掉「{x}」吗?"
resetAreYouSure: "恢复默认设置?" resetAreYouSure: "恢复默认设置?"
areYouSure: "你确定吗?" areYouSure: "你确定吗?"
saved: "已保存" saved: "已保存"
messaging: "聊天"
upload: "本地上传" upload: "本地上传"
keepOriginalUploading: "保留原图" keepOriginalUploading: "保留原图"
keepOriginalUploadingDescription: "上传图片时保留原始图片。关闭时浏览器会在上传时生成一张用于web发布的图片。" keepOriginalUploadingDescription: "上传图片时保留原始图片。关闭时浏览器会在上传时生成一张用于web发布的图片。"
@ -300,7 +301,7 @@ uploadFromUrlMayTakeTime: "上传可能需要一些时间完成。"
explore: "发现" explore: "发现"
messageRead: "已读" messageRead: "已读"
noMoreHistory: "没有更多的历史记录" noMoreHistory: "没有更多的历史记录"
startMessaging: "添加聊天" startChat: "开始聊天"
nUsersRead: "{n} 人已读" nUsersRead: "{n} 人已读"
agreeTo: "勾选则表示已阅读并同意 {0}" agreeTo: "勾选则表示已阅读并同意 {0}"
agree: "同意" agree: "同意"
@ -382,7 +383,6 @@ enableLocalTimeline: "启用本地时间线"
enableGlobalTimeline: "启用全局时间线" enableGlobalTimeline: "启用全局时间线"
disablingTimelinesInfo: "即使时间线功能被禁用,出于方便,管理员和监察员也可以继续使用。" disablingTimelinesInfo: "即使时间线功能被禁用,出于方便,管理员和监察员也可以继续使用。"
registration: "注册" registration: "注册"
enableRegistration: "允许任何人注册"
invite: "邀请" invite: "邀请"
driveCapacityPerLocalAccount: "每个用户的网盘容量" driveCapacityPerLocalAccount: "每个用户的网盘容量"
driveCapacityPerRemoteAccount: "每个远程用户的网盘容量" driveCapacityPerRemoteAccount: "每个远程用户的网盘容量"
@ -424,6 +424,7 @@ antennaExcludeBots: "排除机器人账户"
antennaKeywordsDescription: "AND 条件用空格分隔OR 条件用换行符分隔。" antennaKeywordsDescription: "AND 条件用空格分隔OR 条件用换行符分隔。"
notifyAntenna: "开启通知" notifyAntenna: "开启通知"
withFileAntenna: "仅带有附件的帖子" withFileAntenna: "仅带有附件的帖子"
excludeNotesInSensitiveChannel: "排除敏感频道内的帖子"
enableServiceworker: "启用 ServiceWorker" enableServiceworker: "启用 ServiceWorker"
antennaUsersDescription: "指定用户名,一行一个" antennaUsersDescription: "指定用户名,一行一个"
caseSensitive: "区分大小写" caseSensitive: "区分大小写"
@ -490,8 +491,6 @@ noteOf: "{user} 的帖子"
quoteAttached: "已引用" quoteAttached: "已引用"
quoteQuestion: "是否引用此链接内容?" quoteQuestion: "是否引用此链接内容?"
attachAsFileQuestion: "剪贴板内的文字过长。要转换为文本文件并添加吗?" attachAsFileQuestion: "剪贴板内的文字过长。要转换为文本文件并添加吗?"
noMessagesYet: "现在没有新的聊天"
newMessageExists: "新信息"
onlyOneFileCanBeAttached: "只能添加一个附件" onlyOneFileCanBeAttached: "只能添加一个附件"
signinRequired: "请先登录" signinRequired: "请先登录"
signinOrContinueOnRemote: "若要继续,需要转到您所使用的实例,或者在此服务器上注册或登录。" signinOrContinueOnRemote: "若要继续,需要转到您所使用的实例,或者在此服务器上注册或登录。"
@ -567,7 +566,7 @@ objectStorageRegionDesc: "指定一个可用区例如“xx-east-1”。 如
objectStorageUseSSL: "使用 SSL" objectStorageUseSSL: "使用 SSL"
objectStorageUseSSLDesc: "如果不使用 https 进行 API 连接,请关闭。" objectStorageUseSSLDesc: "如果不使用 https 进行 API 连接,请关闭。"
objectStorageUseProxy: "使用代理" objectStorageUseProxy: "使用代理"
objectStorageUseProxyDesc: "如果不使用代理进行 API 连接,请将其关闭。" objectStorageUseProxyDesc: "如果不使用代理进行 API 连接,请关闭。"
objectStorageSetPublicRead: "上传时设置为 public-read" objectStorageSetPublicRead: "上传时设置为 public-read"
s3ForcePathStyleDesc: "启用 s3ForcePathStyle 会强制将存储桶名称指定为 URL 中路径的一部分,而不是主机名。使用自托管 Minio 等时可能需要启用。" s3ForcePathStyleDesc: "启用 s3ForcePathStyle 会强制将存储桶名称指定为 URL 中路径的一部分,而不是主机名。使用自托管 Minio 等时可能需要启用。"
serverLogs: "服务器日志" serverLogs: "服务器日志"
@ -587,6 +586,7 @@ masterVolume: "主音量"
notUseSound: "静音" notUseSound: "静音"
useSoundOnlyWhenActive: "仅在 Misskey 活跃时输出声音" useSoundOnlyWhenActive: "仅在 Misskey 活跃时输出声音"
details: "详情" details: "详情"
renoteDetails: "转帖详情"
chooseEmoji: "选择表情符号" chooseEmoji: "选择表情符号"
unableToProcess: "操作无法完成" unableToProcess: "操作无法完成"
recentUsed: "最近使用" recentUsed: "最近使用"
@ -603,7 +603,7 @@ descendingOrder: "降序"
scratchpad: "AiScript 控制台" scratchpad: "AiScript 控制台"
scratchpadDescription: "AiScript 控制台为 AiScript 提供了实验环境。您可以编写代码与 Misskey 交互,运行并查看结果。" scratchpadDescription: "AiScript 控制台为 AiScript 提供了实验环境。您可以编写代码与 Misskey 交互,运行并查看结果。"
uiInspector: "UI 检查器" uiInspector: "UI 检查器"
uiInspectorDescription: "查看所有内存中由 UI 组件生成出的实例。UI 组件由 UI:C 系列函数所生成。" uiInspectorDescription: "查看内存中所有由 UI 组件生成出的实例。UI 组件由 UI:C 系列函数所生成。"
output: "输出" output: "输出"
script: "脚本" script: "脚本"
disablePagesScript: "禁用页面脚本" disablePagesScript: "禁用页面脚本"
@ -683,15 +683,20 @@ emptyToDisableSmtpAuth: "用户名和密码留空可以禁用 SMTP 验证"
smtpSecure: "在 SMTP 连接中使用隐式 SSL / TLS" smtpSecure: "在 SMTP 连接中使用隐式 SSL / TLS"
smtpSecureInfo: "使用 STARTTLS 时关闭。" smtpSecureInfo: "使用 STARTTLS 时关闭。"
testEmail: "邮件发送测试" testEmail: "邮件发送测试"
wordMute: "文字屏蔽" wordMute: "隐藏关键词"
hardWordMute: "屏蔽关键词" wordMuteDescription: "折叠包含指定关键词的帖子。被折叠的帖子可单击展开。"
hardWordMute: "隐藏硬关键词"
showMutedWord: "显示已隐藏的关键词"
hardWordMuteDescription: "隐藏包含指定关键词的帖子。与隐藏关键词不同,帖子将完全不会显示。"
regexpError: "正则表达式错误" regexpError: "正则表达式错误"
regexpErrorDescription: "{tab} 屏蔽文字的第 {line} 行的正则表达式有错误:" regexpErrorDescription: "{tab} 隐藏文字的第 {line} 行的正则表达式有错误:"
instanceMute: "被屏蔽的服务器" instanceMute: "已隐藏的服务器"
userSaysSomething: "{name} 说了什么,但是被屏蔽词过滤了" userSaysSomething: "{name} 说了什么,但是被屏蔽词过滤了"
userSaysSomethingAbout: "{name} 说了关于「{word}」的什么"
makeActive: "启用" makeActive: "启用"
display: "显示" display: "显示"
copy: "复制" copy: "复制"
copiedToClipboard: "已复制到剪贴板"
metrics: "指标" metrics: "指标"
overview: "概览" overview: "概览"
logs: "日志" logs: "日志"
@ -706,7 +711,7 @@ useGlobalSettingDesc: "启用时,将使用账户通知设置。关闭时,则
other: "其他" other: "其他"
regenerateLoginToken: "重新生成登录令牌" regenerateLoginToken: "重新生成登录令牌"
regenerateLoginTokenDescription: "重新生成用于登录的内部令牌。通常您不需要这样做。重新生成后,您将在所有设备上登出。" regenerateLoginTokenDescription: "重新生成用于登录的内部令牌。通常您不需要这样做。重新生成后,您将在所有设备上登出。"
theKeywordWhenSearchingForCustomEmoji: "这将是搜自定义表情符号时的关键词。" theKeywordWhenSearchingForCustomEmoji: "这将是搜自定义表情符号时的关键词。"
setMultipleBySeparatingWithSpace: "您可以使用空格分隔多个项目。" setMultipleBySeparatingWithSpace: "您可以使用空格分隔多个项目。"
fileIdOrUrl: "文件 ID 或者 URL" fileIdOrUrl: "文件 ID 或者 URL"
behavior: "行为" behavior: "行为"
@ -740,7 +745,7 @@ confirmToUnclipAlreadyClippedNote: "本帖已包含在便签 \"{name}\" 里。
public: "公开" public: "公开"
private: "私密" private: "私密"
i18nInfo: "Misskey 已经被志愿者们翻译成了各种语言。如果你也有兴趣,可以通过 {link} 帮助翻译。" i18nInfo: "Misskey 已经被志愿者们翻译成了各种语言。如果你也有兴趣,可以通过 {link} 帮助翻译。"
manageAccessTokens: "管理 Access Tokens" manageAccessTokens: "管理访问令牌"
accountInfo: "账户信息" accountInfo: "账户信息"
notesCount: "帖子数量" notesCount: "帖子数量"
repliesCount: "回复数量" repliesCount: "回复数量"
@ -759,7 +764,7 @@ driveFilesCount: "网盘的文件数"
driveUsage: "网盘的空间用量" driveUsage: "网盘的空间用量"
noCrawle: "要求搜索引擎不索引该用户" noCrawle: "要求搜索引擎不索引该用户"
noCrawleDescription: "要求搜索引擎不要收录(索引)您的用户页面,帖子,页面等。" noCrawleDescription: "要求搜索引擎不要收录(索引)您的用户页面,帖子,页面等。"
lockedAccountInfo: "即使启用该功能,只要您不将帖子可见范围设置为“仅关注者”,任何人都还是可以看到您的帖子。" lockedAccountInfo: "即使启用该功能,只要帖子可见范围不是「仅关注者」,任何人都可以看到您的帖子。"
alwaysMarkSensitive: "默认将媒体文件标记为敏感内容" alwaysMarkSensitive: "默认将媒体文件标记为敏感内容"
loadRawImages: "添加附件图像的缩略图时使用原始图像质量" loadRawImages: "添加附件图像的缩略图时使用原始图像质量"
disableShowingAnimatedImages: "不播放动画" disableShowingAnimatedImages: "不播放动画"
@ -846,7 +851,7 @@ active: "活动"
offline: "离线" offline: "离线"
notRecommended: "不推荐" notRecommended: "不推荐"
botProtection: "Bot防御" botProtection: "Bot防御"
instanceBlocking: "被阻拦的服务器" instanceBlocking: "屏蔽/静音的服务器"
selectAccount: "选择账户" selectAccount: "选择账户"
switchAccount: "切换账户" switchAccount: "切换账户"
enabled: "已启用" enabled: "已启用"
@ -856,9 +861,9 @@ user: "用户"
administration: "管理" administration: "管理"
accounts: "账户" accounts: "账户"
switch: "切换" switch: "切换"
noMaintainerInformationWarning: "管理员信息未设置。" noMaintainerInformationWarning: "尚未设置管理员信息。"
noInquiryUrlWarning: "尚未设置联络地址。" noInquiryUrlWarning: "尚未设置联络地址。"
noBotProtectionWarning: "Bot 防御未设置。" noBotProtectionWarning: "尚未设置 Bot 防御。"
configure: "设置" configure: "设置"
postToGallery: "发送到图库" postToGallery: "发送到图库"
postToHashtag: "投稿到这个标签" postToHashtag: "投稿到这个标签"
@ -874,11 +879,11 @@ priority: "优先级"
high: "高" high: "高"
middle: "中" middle: "中"
low: "低" low: "低"
emailNotConfiguredWarning: "电子邮件地址未设置。" emailNotConfiguredWarning: "尚未设置电子邮件地址。"
ratio: "比率" ratio: "比率"
previewNoteText: "预览文本" previewNoteText: "预览文本"
customCss: "自定义 CSS" customCss: "自定义 CSS"
customCssWarn: "这些设置必须有相关的基础知识,不当的配置可能导致客户端无法正常使用" customCssWarn: "这些设置必须有相关的基础知识,不当的配置可能导致客户端无法正常使用"
global: "全局" global: "全局"
squareAvatars: "显示方形头像图标" squareAvatars: "显示方形头像图标"
sent: "发送" sent: "发送"
@ -915,8 +920,8 @@ manageAccounts: "管理账户"
makeReactionsPublic: "将回应设置为公开" makeReactionsPublic: "将回应设置为公开"
makeReactionsPublicDescription: "将您发表过的回应设置成公开可见。" makeReactionsPublicDescription: "将您发表过的回应设置成公开可见。"
classic: "经典" classic: "经典"
muteThread: "屏蔽帖子列表" muteThread: "隐藏帖子列表"
unmuteThread: "取消屏蔽帖子列表" unmuteThread: "取消隐藏帖子列表"
followingVisibility: "关注的人的公开范围" followingVisibility: "关注的人的公开范围"
followersVisibility: "关注者的公开范围" followersVisibility: "关注者的公开范围"
continueThread: "查看更多帖子" continueThread: "查看更多帖子"
@ -939,7 +944,7 @@ searchByGoogle: "Google"
instanceDefaultLightTheme: "服务器默认浅色主题" instanceDefaultLightTheme: "服务器默认浅色主题"
instanceDefaultDarkTheme: "服务器默认深色主题" instanceDefaultDarkTheme: "服务器默认深色主题"
instanceDefaultThemeDescription: "以对象格式输入主题代码" instanceDefaultThemeDescription: "以对象格式输入主题代码"
mutePeriod: "屏蔽期限" mutePeriod: "隐藏期限"
period: "截止时间" period: "截止时间"
indefinitely: "永久" indefinitely: "永久"
tenMinutes: "10 分钟" tenMinutes: "10 分钟"
@ -947,6 +952,9 @@ oneHour: "1 小时"
oneDay: "1 天" oneDay: "1 天"
oneWeek: "1 周" oneWeek: "1 周"
oneMonth: "1 个月" oneMonth: "1 个月"
threeMonths: "3 个月"
oneYear: "1 年"
threeDays: "3 天"
reflectMayTakeTime: "可能需要一些时间才能体现出效果。" reflectMayTakeTime: "可能需要一些时间才能体现出效果。"
failedToFetchAccountInformation: "获取账户信息失败" failedToFetchAccountInformation: "获取账户信息失败"
rateLimitExceeded: "已超过速率限制" rateLimitExceeded: "已超过速率限制"
@ -971,6 +979,7 @@ document: "文档"
numberOfPageCache: "缓存页数" numberOfPageCache: "缓存页数"
numberOfPageCacheDescription: "设置较高的值会更方便用户,但设备的负载和内存使用量会增加。" numberOfPageCacheDescription: "设置较高的值会更方便用户,但设备的负载和内存使用量会增加。"
logoutConfirm: "是否确认登出?" logoutConfirm: "是否确认登出?"
logoutWillClearClientData: "登出时将会从浏览器中删除客户端的设置信息。如果想要在再次登入时恢复设置信息,请在设置里打开自动备份。"
lastActiveDate: "最后活跃时间" lastActiveDate: "最后活跃时间"
statusbar: "状态栏" statusbar: "状态栏"
pleaseSelect: "请选择" pleaseSelect: "请选择"
@ -1054,7 +1063,7 @@ internalServerErrorDescription: "内部服务器发生了预期外的错误"
copyErrorInfo: "复制错误信息" copyErrorInfo: "复制错误信息"
joinThisServer: "在本服务器上注册" joinThisServer: "在本服务器上注册"
exploreOtherServers: "探索其他服务器" exploreOtherServers: "探索其他服务器"
letsLookAtTimeline: "时间线" letsLookAtTimeline: "看看时间线"
disableFederationConfirm: "确定要禁用联合?" disableFederationConfirm: "确定要禁用联合?"
disableFederationConfirmWarn: "禁用联合不会将帖子设为私有。在大多数情况下,不需要禁用联合。" disableFederationConfirmWarn: "禁用联合不会将帖子设为私有。在大多数情况下,不需要禁用联合。"
disableFederationOk: "联合禁用" disableFederationOk: "联合禁用"
@ -1070,10 +1079,10 @@ nonSensitiveOnlyForLocalLikeOnlyForRemote: "仅限非敏感内容(远程仅点
rolesAssignedToMe: "指派给自己的角色" rolesAssignedToMe: "指派给自己的角色"
resetPasswordConfirm: "确定重置密码?" resetPasswordConfirm: "确定重置密码?"
sensitiveWords: "敏感词" sensitiveWords: "敏感词"
sensitiveWordsDescription: "将包含设置词的帖子的可见范围设置为首页。可以通过用换行符分隔来设置多个。" sensitiveWordsDescription: "包含这些词的帖子将只在首页可见。可用换行来设定多个词。"
sensitiveWordsDescription2: "AND 条件用空格分隔,正则表达式用斜线包裹。" sensitiveWordsDescription2: "AND 条件用空格分隔,正则表达式用斜线包裹。"
prohibitedWords: "禁用词" prohibitedWords: "禁用词"
prohibitedWordsDescription: "发布包含设定词汇的帖子时将出错。可用换行设定多个关键字" prohibitedWordsDescription: "发布包含设定词汇的帖子时将出错。可用换行设定多个关键字"
prohibitedWordsDescription2: "AND 条件用空格分隔,正则表达式用斜线包裹。" prohibitedWordsDescription2: "AND 条件用空格分隔,正则表达式用斜线包裹。"
hiddenTags: "隐藏标签" hiddenTags: "隐藏标签"
hiddenTagsDescription: "设定的标签将不会在时间线上显示。可使用换行来设置多个标签。" hiddenTagsDescription: "设定的标签将不会在时间线上显示。可使用换行来设置多个标签。"
@ -1116,7 +1125,7 @@ vertical: "纵向"
horizontal: "横向" horizontal: "横向"
position: "位置" position: "位置"
serverRules: "服务器规则" serverRules: "服务器规则"
pleaseConfirmBelowBeforeSignup: "在这个服务器上注册账号前,请确认以下信息。" pleaseConfirmBelowBeforeSignup: "如果要在此服务器上注册,需要确认并同意以下内容。"
pleaseAgreeAllToContinue: "必须全部勾选「同意」才能够继续。" pleaseAgreeAllToContinue: "必须全部勾选「同意」才能够继续。"
continue: "继续" continue: "继续"
preservedUsernames: "保留的用户名" preservedUsernames: "保留的用户名"
@ -1156,10 +1165,10 @@ turnOffToImprovePerformance: "关闭该选项可以提高性能。"
createInviteCode: "生成邀请码" createInviteCode: "生成邀请码"
createWithOptions: "使用选项来创建" createWithOptions: "使用选项来创建"
createCount: "发行数" createCount: "发行数"
inviteCodeCreated: "已创建邀请码" inviteCodeCreated: "已生成邀请码"
inviteLimitExceeded: "可供发行的邀请码已达上限。" inviteLimitExceeded: "可供生成的邀请码已达上限。"
createLimitRemaining: "可供发行的邀请码:剩余{limit}个" createLimitRemaining: "可供生成的邀请码:剩余 {limit} 个"
inviteLimitResetCycle: "可以在{time}内发行最多{limit}个邀请码。" inviteLimitResetCycle: "可以在 {time} 内生成最多 {limit} 个邀请码。"
expirationDate: "有效日期" expirationDate: "有效日期"
noExpirationDate: "不设置有效日期" noExpirationDate: "不设置有效日期"
inviteCodeUsedAt: "邀请码被使用的日期和时间" inviteCodeUsedAt: "邀请码被使用的日期和时间"
@ -1293,13 +1302,162 @@ prohibitedWordsForNameOfUser: "用户名中禁止的词"
prohibitedWordsForNameOfUserDescription: "更改用户名时,如果用户名中包含此列表里的词汇,用户的改名请求将被拒绝。持有管理员权限的用户不受此限制。" prohibitedWordsForNameOfUserDescription: "更改用户名时,如果用户名中包含此列表里的词汇,用户的改名请求将被拒绝。持有管理员权限的用户不受此限制。"
yourNameContainsProhibitedWords: "目标用户名包含违禁词" yourNameContainsProhibitedWords: "目标用户名包含违禁词"
yourNameContainsProhibitedWordsDescription: "用户名内含有违禁词。若想使用此用户名,请联系服务器管理员。" yourNameContainsProhibitedWordsDescription: "用户名内含有违禁词。若想使用此用户名,请联系服务器管理员。"
thisContentsAreMarkedAsSigninRequiredByAuthor: "根据发帖者的设定,需要登录才能显示"
lockdown: "锁定"
pleaseSelectAccount: "请选择帐户"
availableRoles: "可用角色"
acknowledgeNotesAndEnable: "理解注意事项后再开启。"
federationSpecified: "此服务器已开启联合白名单。只能与管理员指定的服务器通信。"
federationDisabled: "此服务器已禁用联合。无法与其它服务器上的用户通信。"
confirmOnReact: "发送回应前需要确认"
reactAreYouSure: "要用「{emoji}」进行回应吗?"
markAsSensitiveConfirm: "要将此媒体标记为敏感吗?"
unmarkAsSensitiveConfirm: "要将此媒体解除敏感标记吗?"
preferences: "设置"
accessibility: "辅助功能"
preferencesProfile: "设置的配置"
copyPreferenceId: "复制设置 ID"
resetToDefaultValue: "重置为默认值"
overrideByAccount: "用账户覆盖"
untitled: "未命名"
noName: "没有名字"
skip: "跳过"
restore: "恢复"
syncBetweenDevices: "设备间同步"
preferenceSyncConflictTitle: "服务器上已存在设定值"
preferenceSyncConflictText: "服务器上已有此设置的设定值。要覆盖哪个设定值?"
preferenceSyncConflictChoiceServer: "服务器上的设定值"
preferenceSyncConflictChoiceDevice: "设备上的设定值"
preferenceSyncConflictChoiceCancel: "取消同步"
paste: "粘贴"
emojiPalette: "表情符号调色板"
postForm: "投稿窗口"
textCount: "字数"
information: "关于"
chat: "聊天"
migrateOldSettings: "迁移旧设置信息"
migrateOldSettings_description: "通常设置信息将自动迁移。但如果由于某种原因迁移不成功,则可以手动触发迁移过程。当前的配置信息将被覆盖。"
compress: "压缩"
right: "右"
bottom: "下"
top: "上"
embed: "嵌入"
settingsMigrating: "正在迁移设置,请稍候。(之后也可以在设置 → 其它 → 迁移旧设置来手动迁移)"
readonly: "只读"
goToDeck: "返回至 Deck"
federationJobs: "联合作业"
driveAboutTip: "网盘可以显示以前上传的文件。<br>\n也可以在发布帖子时重复使用文件或在发布帖子前预先上传文件。<br>\n<b>删除文件时,其将从至今为止所有用到该文件的地方(如帖子、页面、头像、横幅)消失。</b><br>\n也可以新建文件夹来整理文件。"
_chat:
noMessagesYet: "还没有消息"
newMessage: "新消息"
individualChat: "私聊"
individualChat_description: "可以与特定用户进行一对一聊天。"
roomChat: "群聊"
roomChat_description: "可以进行多人聊天。\n就算用户未允许私聊只要接受了邀请仍可以聊天。"
createRoom: "创建房间"
inviteUserToChat: "邀请用户来开始聊天"
yourRooms: "已创建的房间"
joiningRooms: "已加入的房间"
invitations: "邀请"
noInvitations: "没有邀请"
history: "历史"
noHistory: "没有历史记录"
noRooms: "没有房间"
inviteUser: "邀请用户"
sentInvitations: "已发送的邀请"
join: "加入"
ignore: "忽略"
leave: "退出房间"
members: "成员"
searchMessages: "搜索消息"
home: "首页"
send: "发送"
newline: "换行"
muteThisRoom: "静音此房间"
deleteRoom: "删除房间"
chatNotAvailableForThisAccountOrServer: "此服务器或者账户还未开启聊天功能。"
chatIsReadOnlyForThisAccountOrServer: "此服务器或者账户内的聊天为只读。无法发布新信息或创建及加入群聊。"
chatNotAvailableInOtherAccount: "对方账户目前处于无法使用聊天的状态。"
cannotChatWithTheUser: "无法与此用户聊天"
cannotChatWithTheUser_description: "可能现在无法使用聊天,或者对方未开启聊天。"
chatWithThisUser: "聊天"
thisUserAllowsChatOnlyFromFollowers: "此用户仅接受关注者发起的聊天。"
thisUserAllowsChatOnlyFromFollowing: "此用户仅接受关注的人发起的聊天。"
thisUserAllowsChatOnlyFromMutualFollowing: "此用户仅接受互相关注的人发起的聊天。"
thisUserNotAllowedChatAnyone: "此用户不接受任何人发起的聊天。"
chatAllowedUsers: "谁可以发起聊天"
chatAllowedUsers_note: "主动发起聊天时,对方将不受此设置限制。"
_chatAllowedUsers:
everyone: "任何人"
followers: "仅关注者"
following: "仅关注的人"
mutual: "仅相互关注"
none: "没有人"
_emojiPalette:
palettes: "调色板"
enableSyncBetweenDevicesForPalettes: "启用调色板的设备间同步"
paletteForMain: "主调色板"
paletteForReaction: "回应用调色板"
_settings:
driveBanner: "可在此管理和设置网盘、确认使用量及配置上传文件的设置。"
pluginBanner: "使用插件可以扩展客户端的功能。可以在此安装、单独管理插件。"
notificationsBanner: "可在此设置从服务器接收的通知的种类和范围,以及推送通知的设置。"
api: "API"
webhook: "Webhook"
serviceConnection: "连接服务"
serviceConnectionBanner: "可在此管理用于连接外部应用或服务的访问令牌及 Webhook。"
accountData: "账户数据"
accountDataBanner: "可在此导入或导出帐户数据的存档。"
muteAndBlockBanner: "可在此设置隐藏内容,或限制指定用户能进行的操作。"
accessibilityBanner: "可在此设置客户端的显示及动态效果等辅助设置。"
privacyBanner: "可在此设置如内容可见性、可发现性、批准关注请求等账户隐私设置。"
securityBanner: "可在此设置如密码、登入方式、验证器、Passkey 等账户安全性设置。"
preferencesBanner: "可在此设置客户端的整体运作行为。"
appearanceBanner: "可在此设置客户端的外观及显示方式。"
soundsBanner: "可在此设置客户端播放的声音。"
timelineAndNote: "时间线和帖子"
makeEveryTextElementsSelectable: "使所有的文字均可选择"
makeEveryTextElementsSelectable_description: "若开启,在某些情况下可能降低用户体验。"
useStickyIcons: "使图标跟随滚动"
showNavbarSubButtons: "在导航栏中显示副按钮"
ifOn: "启用时"
ifOff: "关闭时"
_chat:
showSenderName: "显示发送者的名字"
sendOnEnter: "回车键发送"
_preferencesProfile:
profileName: "配置名"
profileNameDescription: "请指定用于识别此设备的名称"
profileNameDescription2: "如「PC」、「手机」等"
_preferencesBackup:
autoBackup: "自动备份"
restoreFromBackup: "从备份恢复"
noBackupsFoundTitle: "没有找到备份"
noBackupsFoundDescription: "没有找到自动备份。若有手动保存备份文件,可将其导入来恢复。"
selectBackupToRestore: "请选择要恢复的备份"
youNeedToNameYourProfileToEnableAutoBackup: "需指定配置名以开启自动备份。"
autoPreferencesBackupIsNotEnabledForThisDevice: "此设备未开启自动备份"
backupFound: "已找到备份"
_accountSettings:
requireSigninToViewContents: "需要登录才能显示内容"
requireSigninToViewContentsDescription1: "您发布的所有帖子将变成需要登入后才会显示。有望防止爬虫收集各种信息。"
requireSigninToViewContentsDescription2: "没有 URL 预览OGP、内嵌网页、引用帖子的功能的服务器也将无法显示。"
requireSigninToViewContentsDescription3: "这些限制可能不适用于联合到远程服务器的内容。"
makeNotesFollowersOnlyBefore: "可将过去的帖子设为仅关注者可见"
makeNotesFollowersOnlyBeforeDescription: "开启此设定时,超过设定的时间或日期后,帖子将变为仅关注者可见。关闭后帖子的公开状态将恢复成原本的设定。"
makeNotesHiddenBefore: "将过去的帖子设为私密"
makeNotesHiddenBeforeDescription: "开启此设定时,超过设定的时间或日期后,帖子将变为仅自己可见。关闭后帖子的公开状态将恢复成原本的设定。"
mayNotEffectForFederatedNotes: "与远程服务器联合的帖子在远端可能会没有效果。"
mayNotEffectSomeSituations: "此限制功能非常简单,在与远程服务器联合等情形时可能不适用。"
notesHavePassedSpecifiedPeriod: "超过指定时间的帖子"
notesOlderThanSpecifiedDateAndTime: "指定日期前的帖子"
_abuseUserReport: _abuseUserReport:
forward: "转发" forward: "转发"
forwardDescription: "目标是匿名系统账户,将把举报转发给远程服务器。" forwardDescription: "目标是匿名系统账户,将把举报转发给远程服务器。"
resolve: "解决" resolve: "解决"
accept: "确认" accept: "确认"
reject: "拒绝" reject: "拒绝"
resolveTutorial: "如果举报内容有理且已解决,选择「确认」将案件以肯定的态度标记为已解决。\n如果举报内容站不住脚选择「拒绝」将案件以否定的态度标记为已解决。" resolveTutorial: "如果认可举报并已解决,选择「确认」将案件以肯定的态度标记为已解决。\n如果不认可举报,选择「拒绝」将案件以否定的态度标记为已解决。"
_delivery: _delivery:
status: "投递状态" status: "投递状态"
stop: "停止投递" stop: "停止投递"
@ -1408,8 +1566,8 @@ _initialTutorial:
description: "对于服务器方针所要求要求的,又或者不适合直接展示的附件,请添加「敏感」标记。\n" description: "对于服务器方针所要求要求的,又或者不适合直接展示的附件,请添加「敏感」标记。\n"
tryThisFile: "试试看,将附加到此窗口的图像标注为敏感!" tryThisFile: "试试看,将附加到此窗口的图像标注为敏感!"
_exampleNote: _exampleNote:
note: "拆纳豆包装时出错了…" note: "拆纳豆包装时失手了…"
method: "要标注附件为敏感内容,请单击该文件以打开菜单,然后单击“标记为敏感内容”。" method: "要标注附件为敏感内容,请单击该文件以打开菜单,然后单击「标记为敏感内容」。"
sensitiveSucceeded: "附加文件时,请遵循服务器的条款来设置正确敏感设定。\n" sensitiveSucceeded: "附加文件时,请遵循服务器的条款来设置正确敏感设定。\n"
doItToContinue: "将图像标记为敏感后才能够继续" doItToContinue: "将图像标记为敏感后才能够继续"
_done: _done:
@ -1437,6 +1595,8 @@ _serverSettings:
reactionsBufferingDescription: "开启时可显著提高发送回应时的性能,及减轻数据库负荷。但 Redis 的内存用量会相应增加。" reactionsBufferingDescription: "开启时可显著提高发送回应时的性能,及减轻数据库负荷。但 Redis 的内存用量会相应增加。"
inquiryUrl: "联络地址" inquiryUrl: "联络地址"
inquiryUrlDescription: "用来指定诸如向服务运营商咨询的论坛地址,或记载了运营商联系方式之类的网页地址。" inquiryUrlDescription: "用来指定诸如向服务运营商咨询的论坛地址,或记载了运营商联系方式之类的网页地址。"
openRegistration: "开放注册"
openRegistrationWarning: "开放注册有风险。建议仅当能够持续监控服务器并在出现问题时能够立即响应时才打开它。"
thisSettingWillAutomaticallyOffWhenModeratorsInactive: "若在一段时间内没有检测到管理活动,为防止垃圾信息,此设定将自动关闭。" thisSettingWillAutomaticallyOffWhenModeratorsInactive: "若在一段时间内没有检测到管理活动,为防止垃圾信息,此设定将自动关闭。"
_accountMigration: _accountMigration:
moveFrom: "从别的账号迁移到此账户" moveFrom: "从别的账号迁移到此账户"
@ -1446,7 +1606,7 @@ _accountMigration:
moveTo: "把这个账户迁移到新的账户" moveTo: "把这个账户迁移到新的账户"
moveToLabel: "迁移后的账户" moveToLabel: "迁移后的账户"
moveCannotBeUndone: "一旦迁移账户,就无法撤销。" moveCannotBeUndone: "一旦迁移账户,就无法撤销。"
moveAccountDescription: "\n迁移到新帐户。\n ・现有的关注者自动关注新帐户\n ・此帐户的所有关注者都将被删除\n ・您将无法再使用此帐户发帖。\n关注者迁移是自动的但关注中迁移必须手动完成。请在迁移前在此帐户上导出关注列表并在迁移后立即在目标帐户上执行导入。\n屏蔽列表也是如此,因此您必须手动迁移它。\n此描述适用于该服务器Misskey v13.12.0 或更高版本)。其他 ActivityPub 软件(例如 Mastodon的行为可能有所不同。" moveAccountDescription: "\n迁移到新帐户。\n ・现有的关注者自动关注新帐户\n ・此帐户的所有关注者都将被删除\n ・您将无法再使用此帐户发帖。\n关注者迁移是自动的但关注中迁移必须手动完成。请在迁移前在此帐户上导出关注列表并在迁移后立即在目标帐户上执行导入。\n列表、隐藏、屏蔽也是如此,因此您必须手动迁移它。\n此描述适用于该服务器Misskey v13.12.0 或更高版本)。其他 ActivityPub 软件(例如 Mastodon的行为可能有所不同。"
moveAccountHowTo: "要进行账户迁移,请现在目标账户中为此账户建立一个别名。\n建立别名后请像这样输入目标账户@username@server.example.com" moveAccountHowTo: "要进行账户迁移,请现在目标账户中为此账户建立一个别名。\n建立别名后请像这样输入目标账户@username@server.example.com"
startMigration: "迁移" startMigration: "迁移"
migrationConfirm: "确定要把此账户迁移到 {account} 吗?一旦确定后,此操作无法取消,此账户也无法以原来的状态使用。\n同时请确认迁移后的账户已创造别名。" migrationConfirm: "确定要把此账户迁移到 {account} 吗?一旦确定后,此操作无法取消,此账户也无法以原来的状态使用。\n同时请确认迁移后的账户已创造别名。"
@ -1666,7 +1826,7 @@ _achievements:
title: "超高校级的幸运" title: "超高校级的幸运"
description: "每 10 秒有 0.005% 的概率自动获得" description: "每 10 秒有 0.005% 的概率自动获得"
_setNameToSyuilo: _setNameToSyuilo:
title: "像神一样呐" title: "上帝情结"
description: "将名称设定为 syuilo" description: "将名称设定为 syuilo"
_passedSinceAccountCreated1: _passedSinceAccountCreated1:
title: "一周年" title: "一周年"
@ -1685,9 +1845,9 @@ _achievements:
description: "在元旦登入" description: "在元旦登入"
flavor: "今年也请对本服务器多多指教!" flavor: "今年也请对本服务器多多指教!"
_cookieClicked: _cookieClicked:
title: "点击饼干小游戏" title: "饼干点点乐"
description: "点击了饼干" description: "点击了饼干"
flavor: "用错软件了?" flavor: "穿越了?"
_brainDiver: _brainDiver:
title: "Brain Diver" title: "Brain Diver"
description: "发布了包含 Brain Diver 链接的帖子" description: "发布了包含 Brain Diver 链接的帖子"
@ -1734,6 +1894,8 @@ _role:
descriptionOfIsExplorable: "打开后将公开角色时间线。如果角色不是公开的,就无法公开时间线。" descriptionOfIsExplorable: "打开后将公开角色时间线。如果角色不是公开的,就无法公开时间线。"
displayOrder: "显示顺序" displayOrder: "显示顺序"
descriptionOfDisplayOrder: "数字越大,显示位置越靠前。" descriptionOfDisplayOrder: "数字越大,显示位置越靠前。"
preserveAssignmentOnMoveAccount: "将分配状态继承到目标账户"
preserveAssignmentOnMoveAccount_description: "启用后,当迁移具有该角色的账户时,目标账户也会继承该角色。"
canEditMembersByModerator: "允许监察员编辑成员" canEditMembersByModerator: "允许监察员编辑成员"
descriptionOfCanEditMembersByModerator: "如果选中,监察员和管理员都能够为用户分配/取消分配角色。如果未选中,则只有管理员可以执行此操作。" descriptionOfCanEditMembersByModerator: "如果选中,监察员和管理员都能够为用户分配/取消分配角色。如果未选中,则只有管理员可以执行此操作。"
priority: "优先级" priority: "优先级"
@ -1753,11 +1915,12 @@ _role:
canManageCustomEmojis: "管理自定义表情符号" canManageCustomEmojis: "管理自定义表情符号"
canManageAvatarDecorations: "管理头像挂件" canManageAvatarDecorations: "管理头像挂件"
driveCapacity: "网盘容量" driveCapacity: "网盘容量"
maxFileSize: "可上传的最大文件大小"
alwaysMarkNsfw: "总是将文件标记为 NSFW" alwaysMarkNsfw: "总是将文件标记为 NSFW"
canUpdateBioMedia: "可以更新头像和横幅" canUpdateBioMedia: "可以更新头像和横幅"
pinMax: "帖子置顶数量限制" pinMax: "帖子置顶数量限制"
antennaMax: "可创建的最大天线数量" antennaMax: "可创建的最大天线数量"
wordMuteMax: "屏蔽词的字数限制" wordMuteMax: "隐藏词的字数限制"
webhookMax: "Webhook 创建数量限制" webhookMax: "Webhook 创建数量限制"
clipMax: "便签创建数量限制" clipMax: "便签创建数量限制"
noteEachClipsMax: "单个便签内的贴文数量限制" noteEachClipsMax: "单个便签内的贴文数量限制"
@ -1770,10 +1933,11 @@ _role:
canUseTranslator: "使用翻译功能" canUseTranslator: "使用翻译功能"
avatarDecorationLimit: "可添加头像挂件的最大个数" avatarDecorationLimit: "可添加头像挂件的最大个数"
canImportAntennas: "允许导入天线" canImportAntennas: "允许导入天线"
canImportBlocking: "允许导入拉黑列表" canImportBlocking: "允许导入屏蔽列表"
canImportFollowing: "允许导入关注列表" canImportFollowing: "允许导入关注列表"
canImportMuting: "允许导入屏蔽列表" canImportMuting: "允许导入隐藏列表"
canImportUserLists: "允许导入用户列表" canImportUserLists: "允许导入用户列表"
chatAvailability: "允许聊天"
_condition: _condition:
roleAssignedTo: "已分配给手动角色" roleAssignedTo: "已分配给手动角色"
isLocal: "是本地用户" isLocal: "是本地用户"
@ -1920,14 +2084,14 @@ _menuDisplay:
top: "顶部" top: "顶部"
hide: "隐藏" hide: "隐藏"
_wordMute: _wordMute:
muteWords: "禁用词" muteWords: "要隐藏的词"
muteWordsDescription: "AND 条件用空格分隔OR 条件用换行符分隔。" muteWordsDescription: "AND 条件用空格分隔OR 条件用换行符分隔。"
muteWordsDescription2: "正则表达式用斜线包裹" muteWordsDescription2: "正则表达式用斜线包裹"
_instanceMute: _instanceMute:
instanceMuteDescription: "屏蔽服务器中的所有帖子和转帖,包括这些服务器上的用户回复。" instanceMuteDescription: "隐藏服务器中的所有帖子和转帖,包括这些服务器上的用户回复。"
instanceMuteDescription2: "一行一个" instanceMuteDescription2: "一行一个"
title: "隐藏服务器已设置的帖子。" title: "下面实例中的帖子将被隐藏。"
heading: "屏蔽服务器" heading: "已隐藏的服务器"
_theme: _theme:
explore: "寻找主题" explore: "寻找主题"
install: "安装主题" install: "安装主题"
@ -1937,6 +2101,7 @@ _theme:
installed: "{name} 已安装" installed: "{name} 已安装"
installedThemes: "已安装的主题" installedThemes: "已安装的主题"
builtinThemes: "标准主题" builtinThemes: "标准主题"
instanceTheme: "服务器主题"
alreadyInstalled: "此主题已经安装" alreadyInstalled: "此主题已经安装"
invalid: "主题格式错误" invalid: "主题格式错误"
make: "制作主题" make: "制作主题"
@ -1969,7 +2134,6 @@ _theme:
header: "顶栏" header: "顶栏"
navBg: "侧边栏背景" navBg: "侧边栏背景"
navFg: "侧栏文本" navFg: "侧栏文本"
navHoverFg: "侧栏文本(悬停)"
navActive: "侧栏文本(活动)" navActive: "侧栏文本(活动)"
navIndicator: "侧栏标记" navIndicator: "侧栏标记"
link: "链接" link: "链接"
@ -1992,17 +2156,15 @@ _theme:
buttonHoverBg: "按钮背景(悬停)" buttonHoverBg: "按钮背景(悬停)"
inputBorder: "输入框边框" inputBorder: "输入框边框"
driveFolderBg: "网盘的文件夹背景" driveFolderBg: "网盘的文件夹背景"
wallpaperOverlay: "壁纸叠加层"
badge: "徽章" badge: "徽章"
messageBg: "聊天背景" messageBg: "聊天背景"
accentDarken: "强调色(深)"
accentLighten: "强调色(浅)"
fgHighlighted: "高亮显示文本" fgHighlighted: "高亮显示文本"
_sfx: _sfx:
note: "帖子" note: "帖子"
noteMy: "我的帖子" noteMy: "我的帖子"
notification: "通知" notification: "通知"
reaction: "选择回应时" reaction: "选择回应时"
chatMessage: "聊天信息"
_soundSettings: _soundSettings:
driveFile: "使用网盘内的音频" driveFile: "使用网盘内的音频"
driveFileWarn: "选择网盘上的文件" driveFileWarn: "选择网盘上的文件"
@ -2047,12 +2209,12 @@ _2fa:
step4: "从现在开始,任何登录操作都将要求您提供动态口令。" step4: "从现在开始,任何登录操作都将要求您提供动态口令。"
securityKeyNotSupported: "您的浏览器不支持安全密钥。" securityKeyNotSupported: "您的浏览器不支持安全密钥。"
registerTOTPBeforeKey: "要注册安全密钥或 Passkey请先设置验证器。" registerTOTPBeforeKey: "要注册安全密钥或 Passkey请先设置验证器。"
securityKeyInfo: "注册兼容 WebAuthn 的密钥,例如支持 FIDO2 的硬件安全密钥、设备上的生物识别功能、PIN 以及 Passkey 等。" securityKeyInfo: "注册兼容 WebAuthn 的密钥,例如支持 FIDO2 的硬件安全密钥、设备上的生物识别功能、PIN 以及 Passkey 等。"
registerSecurityKey: "注册安全密钥或 Passkey" registerSecurityKey: "注册安全密钥或 Passkey"
securityKeyName: "输入密钥名称" securityKeyName: "输入密钥名称"
tapSecurityKey: "请按照浏览器说明操作来注册安全密钥或 Passkey。" tapSecurityKey: "请按照浏览器说明操作来注册安全密钥或 Passkey。"
removeKey: "删除安全密钥" removeKey: "删除安全密钥"
removeKeyConfirm: "确定要删除 {name} 吗?" removeKeyConfirm: "确定要删除 {name} 吗?"
whyTOTPOnlyRenew: "当注册了安全密钥时,无法取消使用验证器。" whyTOTPOnlyRenew: "当注册了安全密钥时,无法取消使用验证器。"
renewTOTP: "重置验证器" renewTOTP: "重置验证器"
renewTOTPConfirm: "当前验证器的验证码及备用代码已失效" renewTOTPConfirm: "当前验证器的验证码及备用代码已失效"
@ -2067,8 +2229,8 @@ _2fa:
_permissions: _permissions:
"read:account": "查看账户信息" "read:account": "查看账户信息"
"write:account": "更改帐户信息" "write:account": "更改帐户信息"
"read:blocks": "查看黑名单" "read:blocks": "查看屏蔽列表"
"write:blocks": "编辑黑名单" "write:blocks": "编辑屏蔽列表"
"read:drive": "查看网盘" "read:drive": "查看网盘"
"write:drive": "管理网盘文件" "write:drive": "管理网盘文件"
"read:favorites": "查看收藏夹" "read:favorites": "查看收藏夹"
@ -2077,8 +2239,8 @@ _permissions:
"write:following": "关注/取消关注" "write:following": "关注/取消关注"
"read:messaging": "查看消息" "read:messaging": "查看消息"
"write:messaging": "撰写或删除消息" "write:messaging": "撰写或删除消息"
"read:mutes": "查看屏蔽列表" "read:mutes": "查看隐藏列表"
"write:mutes": "编辑屏蔽列表" "write:mutes": "编辑隐藏列表"
"write:notes": "撰写或删除帖子" "write:notes": "撰写或删除帖子"
"read:notifications": "查看通知" "read:notifications": "查看通知"
"write:notifications": "管理通知" "write:notifications": "管理通知"
@ -2149,6 +2311,8 @@ _permissions:
"read:clip-favorite": "查看便签的点赞" "read:clip-favorite": "查看便签的点赞"
"read:federation": "查看联合相关信息" "read:federation": "查看联合相关信息"
"write:report-abuse": "举报用户" "write:report-abuse": "举报用户"
"write:chat": "撰写或删除消息"
"read:chat": "查看聊天"
_auth: _auth:
shareAccessTitle: "应用程序授权许可" shareAccessTitle: "应用程序授权许可"
shareAccess: "您要授权允许 “{name}” 访问您的帐户吗?" shareAccess: "您要授权允许 “{name}” 访问您的帐户吗?"
@ -2157,8 +2321,11 @@ _auth:
permissionAsk: "这个应用程序需要以下权限" permissionAsk: "这个应用程序需要以下权限"
pleaseGoBack: "请返回到应用程序" pleaseGoBack: "请返回到应用程序"
callback: "回到应用程序" callback: "回到应用程序"
accepted: "已允许访问"
denied: "拒绝访问" denied: "拒绝访问"
scopeUser: "以下面的用户进行操作"
pleaseLogin: "在对应用进行授权许可之前,请先登录" pleaseLogin: "在对应用进行授权许可之前,请先登录"
byClickingYouWillBeRedirectedToThisUrl: "允许访问后将会自动重定向到以下 URL"
_antennaSources: _antennaSources:
all: "所有帖子" all: "所有帖子"
homeTimeline: "已关注用户的帖子" homeTimeline: "已关注用户的帖子"
@ -2204,6 +2371,7 @@ _widgets:
chooseList: "选择列表" chooseList: "选择列表"
clicker: "点击器" clicker: "点击器"
birthdayFollowings: "今天是他们的生日" birthdayFollowings: "今天是他们的生日"
chat: "聊天"
_cw: _cw:
hide: "隐藏" hide: "隐藏"
show: "查看更多" show: "查看更多"
@ -2257,7 +2425,7 @@ _profile:
name: "昵称" name: "昵称"
username: "用户名" username: "用户名"
description: "个人简介" description: "个人简介"
youCanIncludeHashtags: "你可以在个人简介中包含一些#标签。" youCanIncludeHashtags: "可以在个人简介中包含 #标签。"
metadata: "附加信息" metadata: "附加信息"
metadataEdit: "附加信息编辑" metadataEdit: "附加信息编辑"
metadataDescription: "最多可以在个人资料中以表格形式显示四条其他信息。" metadataDescription: "最多可以在个人资料中以表格形式显示四条其他信息。"
@ -2275,8 +2443,8 @@ _exportOrImport:
favoritedNotes: "收藏的帖子" favoritedNotes: "收藏的帖子"
clips: "便签" clips: "便签"
followingList: "关注中" followingList: "关注中"
muteList: "屏蔽" muteList: "隐藏"
blockingList: "拉黑" blockingList: "屏蔽"
userLists: "列表" userLists: "列表"
excludeMutingUsers: "排除屏蔽用户" excludeMutingUsers: "排除屏蔽用户"
excludeInactiveUsers: "排除不活跃用户" excludeInactiveUsers: "排除不活跃用户"
@ -2332,9 +2500,6 @@ _pages:
newPage: "创建页面" newPage: "创建页面"
editPage: "编辑页面" editPage: "编辑页面"
readPage: "查看页面" readPage: "查看页面"
created: "页面已创建"
updated: "页面已更新"
deleted: "该页面已被删除"
pageSetting: "页面设置" pageSetting: "页面设置"
nameAlreadyExists: "该页面 URL 已存在" nameAlreadyExists: "该页面 URL 已存在"
invalidNameTitle: "无效的页面 URL" invalidNameTitle: "无效的页面 URL"
@ -2361,7 +2526,7 @@ _pages:
fontSansSerif: "无衬线字体" fontSansSerif: "无衬线字体"
eyeCatchingImageSet: "设置封面图片" eyeCatchingImageSet: "设置封面图片"
eyeCatchingImageRemove: "删除封面图片" eyeCatchingImageRemove: "删除封面图片"
chooseBlock: "添加块" chooseBlock: "添加内容块"
enterSectionTitle: "输入会话标题" enterSectionTitle: "输入会话标题"
selectType: "选择类型" selectType: "选择类型"
contentBlocks: "内容" contentBlocks: "内容"
@ -2373,8 +2538,8 @@ _pages:
section: "章节" section: "章节"
image: "图片" image: "图片"
button: "按钮" button: "按钮"
dynamic: "动态块" dynamic: "动态内容块"
dynamicDescription: "这个块已经废弃。以后请使用{play}。" dynamicDescription: "这个内容块已经废弃。以后请使用{play}。"
note: "嵌入的帖子" note: "嵌入的帖子"
_note: _note:
id: "帖子 ID" id: "帖子 ID"
@ -2397,6 +2562,7 @@ _notification:
newNote: "新的帖子" newNote: "新的帖子"
unreadAntennaNote: "天线 {name}" unreadAntennaNote: "天线 {name}"
roleAssigned: "授予的角色" roleAssigned: "授予的角色"
chatRoomInvitationReceived: "受邀加入聊天室"
emptyPushNotificationMessage: "推送通知已更新" emptyPushNotificationMessage: "推送通知已更新"
achievementEarned: "获得成就" achievementEarned: "获得成就"
testNotification: "测试通知" testNotification: "测试通知"
@ -2408,8 +2574,10 @@ _notification:
renotedBySomeUsers: "{n} 人转发了" renotedBySomeUsers: "{n} 人转发了"
followedBySomeUsers: "被 {n} 人关注" followedBySomeUsers: "被 {n} 人关注"
flushNotification: "重置通知历史" flushNotification: "重置通知历史"
exportOfXCompleted: "已完成 {x} 导出" exportOfXCompleted: "已完成 {x} 导出"
login: "有新的登录" login: "有新的登录"
createToken: "访问令牌已创建"
createTokenDescription: "如果不明白其用途,请遵循「{text}」的指示删除访问令牌。"
_types: _types:
all: "全部" all: "全部"
note: "用户的新帖子" note: "用户的新帖子"
@ -2423,9 +2591,11 @@ _notification:
receiveFollowRequest: "收到关注请求" receiveFollowRequest: "收到关注请求"
followRequestAccepted: "关注请求已通过" followRequestAccepted: "关注请求已通过"
roleAssigned: "授予的角色" roleAssigned: "授予的角色"
chatRoomInvitationReceived: "受邀加入聊天室"
achievementEarned: "取得的成就" achievementEarned: "取得的成就"
exportCompleted: "已完成导出" exportCompleted: "已完成导出"
login: "登录" login: "登录"
createToken: "创建访问令牌"
test: "测试通知" test: "测试通知"
app: "关联应用的通知" app: "关联应用的通知"
_actions: _actions:
@ -2435,6 +2605,9 @@ _notification:
_deck: _deck:
alwaysShowMainColumn: "总是显示主列" alwaysShowMainColumn: "总是显示主列"
columnAlign: "列对齐" columnAlign: "列对齐"
columnGap: "列间距"
deckMenuPosition: "Deck 菜单位置"
navbarPosition: "导航栏位置"
addColumn: "添加列" addColumn: "添加列"
newNoteNotificationSettings: "新帖子通知设定" newNoteNotificationSettings: "新帖子通知设定"
configureColumn: "列设置" configureColumn: "列设置"
@ -2448,11 +2621,12 @@ _deck:
newProfile: "新建配置文件" newProfile: "新建配置文件"
deleteProfile: "删除配置文件" deleteProfile: "删除配置文件"
introduction: "将各列进行组合以创建您自己的界面!" introduction: "将各列进行组合以创建您自己的界面!"
introduction2: "可以随时通过屏幕右侧的 + 来添加列" introduction2: "可以随时通过屏幕右侧的 + 来添加列"
widgetsIntroduction: "从列菜单中,选择“小工具编辑”来添加小工具" widgetsIntroduction: "从列菜单中,选择“小工具编辑”来添加小工具"
useSimpleUiForNonRootPages: "用简易UI表示非根页面" useSimpleUiForNonRootPages: "用简易UI表示非根页面"
usedAsMinWidthWhenFlexible: "「自适应宽度」被启用的时候,这就是最小的宽度" usedAsMinWidthWhenFlexible: "「自适应宽度」被启用的时候,这就是最小的宽度"
flexible: "自适应宽度" flexible: "自适应宽度"
enableSyncBetweenDevicesForProfiles: "启用个人资料信息跨设备同步"
_columns: _columns:
main: "主列" main: "主列"
widgets: "小工具" widgets: "小工具"
@ -2464,6 +2638,7 @@ _deck:
mentions: "提及" mentions: "提及"
direct: "指定用户" direct: "指定用户"
roleTimeline: "角色时间线" roleTimeline: "角色时间线"
chat: "聊天"
_dialog: _dialog:
charactersExceeded: "已经超过了最大字符数! 当前字符数 {current} / 限制字符数 {max}" charactersExceeded: "已经超过了最大字符数! 当前字符数 {current} / 限制字符数 {max}"
charactersBelow: "低于最小字符数!当前字符数 {current} / 限制字符数 {min}" charactersBelow: "低于最小字符数!当前字符数 {current} / 限制字符数 {min}"
@ -2560,6 +2735,8 @@ _moderationLogTypes:
deletePage: "删除了页面" deletePage: "删除了页面"
deleteFlash: "删除了 Play" deleteFlash: "删除了 Play"
deleteGalleryPost: "删除了图库稿件" deleteGalleryPost: "删除了图库稿件"
deleteChatRoom: "删除聊天室"
updateProxyAccountDescription: "更新代理账户的简介"
_fileViewer: _fileViewer:
title: "文件信息" title: "文件信息"
type: "文件类型" type: "文件类型"
@ -2573,10 +2750,8 @@ _externalResourceInstaller:
checkVendorBeforeInstall: "请在安装前确保来源可靠" checkVendorBeforeInstall: "请在安装前确保来源可靠"
_plugin: _plugin:
title: "要安装此插件吗?" title: "要安装此插件吗?"
metaTitle: "插件信息"
_theme: _theme:
title: "要安装此主题吗?" title: "要安装此主题吗?"
metaTitle: "主题信息"
_meta: _meta:
base: "基本配色方案" base: "基本配色方案"
_vendorInfo: _vendorInfo:
@ -2696,6 +2871,66 @@ _contextMenu:
app: "应用" app: "应用"
appWithShift: "Shift 键应用" appWithShift: "Shift 键应用"
native: "浏览器的用户界面" native: "浏览器的用户界面"
_gridComponent:
_error:
requiredValue: "此值为必填项"
columnTypeNotSupport: "正则表达式验证仅支持 type:text 列。"
patternNotMatch: "此值与 {pattern} 的模式不一致"
notUnique: "此值必须唯一"
_roleSelectDialog:
notSelected: "未选中"
_customEmojisManager:
_gridCommon:
copySelectionRows: "复制所选行"
copySelectionRanges: "复制所选范围"
deleteSelectionRows: "删除所选行"
deleteSelectionRanges: "删除所选范围的行"
searchSettings: "搜索设置"
searchSettingCaption: "设置详细的搜索条件。"
searchLimit: "显示项目数"
sortOrder: "排序方式"
registrationLogs: "注册日志"
registrationLogsCaption: "将显示更新和删除表情符号的日志。执行更新或删除操作,又或者更改或重新加载页面时会消失。"
alertEmojisRegisterFailedDescription: "更新或删除表情符号失败。详情请确认注册日志。"
_logs:
showSuccessLogSwitch: "显示成功日志"
failureLogNothing: "没有失败日志。"
logNothing: "没有日志"
_remote:
selectionRowDetail: "所选行的详细信息"
importSelectionRows: "导入所选行"
importSelectionRangesRows: "导入所选范围的行"
importEmojisButton: "导入已选择的表情符号"
confirmImportEmojisTitle: "导入表情符号"
confirmImportEmojisDescription: "是否导入从远程服务器接收的 {count} 个表情符号?请密切关注表情符号的许可协议。"
_local:
tabTitleList: "已注册的表情符号列表"
tabTitleRegister: "注册表情符号"
_list:
emojisNothing: "没有已注册的表情符号。"
markAsDeleteTargetRows: "将所选行标记为删除对象"
markAsDeleteTargetRanges: "将所选范围的行标记为删除对象"
alertUpdateEmojisNothingDescription: "没有已更改的表情符号。"
alertDeleteEmojisNothingDescription: "没有被标记为删除对象的表情符号。"
confirmMovePage: "要离开此页吗?"
confirmChangeView: "要更改显示吗?"
confirmUpdateEmojisDescription: "要更新 {count} 个表情符号吗?"
confirmDeleteEmojisDescription: "要删除已选择的 {count} 个表情符号吗?"
confirmResetDescription: "至今为止所做的所有修改都将被重置。"
confirmMovePageDesciption: "此页面上的表情符号已更改。\n若不保存就离开此页此页面上所有的更改都将丢失。"
dialogSelectRoleTitle: "按角色搜索表情符号"
_register:
uploadSettingTitle: "上传设置"
uploadSettingDescription: "可以在此页面设置上传表情符号时的行为。"
directoryToCategoryLabel: "将目录名设为「category」"
directoryToCategoryCaption: "拖放目录时将目录名设置为「category」"
emojiInputAreaCaption: "请使用其中一种方法选择要注册的表情符号。"
emojiInputAreaList1: "在此区域内拖放图像文件或者目录"
emojiInputAreaList2: "单击此链接以从电脑中选择"
emojiInputAreaList3: "单击此链接以从网盘中选择"
confirmRegisterEmojisDescription: "要将列表内显示的表情符号替换为新的自定义表情符号吗?(为降低服务器负载,一次操作最多只能注册 {count} 个表情符号)"
confirmClearEmojisDescription: "要放弃编辑并将列表内表示的表情符号清空吗?"
confirmUploadEmojisDescription: "要将拖放的 {count} 个文件上传到网盘上吗?"
_embedCodeGen: _embedCodeGen:
title: "自定义嵌入代码" title: "自定义嵌入代码"
header: "显示标题" header: "显示标题"
@ -2710,3 +2945,61 @@ _embedCodeGen:
generateCode: "生成嵌入代码" generateCode: "生成嵌入代码"
codeGenerated: "已生成代码" codeGenerated: "已生成代码"
codeGeneratedDescription: "将生成的代码贴到网站上来使用。" codeGeneratedDescription: "将生成的代码贴到网站上来使用。"
_selfXssPrevention:
warning: "警告"
title: "「在此处粘贴什么东西」是欺诈行为。"
description1: "如果在此处粘贴了什么,恶意用户可能会接管账户或者盗取个人资料。"
description2: "如果不能完全理解将要粘贴的内容,%c 请立即停止操作并关闭这个窗口。"
description3: "详情请看这里。{link}"
_followRequest:
recieved: "已收到申请"
sent: "已发送申请"
_remoteLookupErrors:
_federationNotAllowed:
title: "无法与此服务器通信"
description: "与此服务器的通信可能被禁用,又或者是屏蔽了此服务器或被此服务器屏蔽了。\n请联系服务器的管理者。"
_uriInvalid:
title: "URI 有误"
description: "输入的 URI 有问题。请确认是否输入了 URI 中无法使用的字符。"
_requestFailed:
title: "请求失败"
description: "与该服务器的通信失败。对面服务器可能不可用。另外,请确认是否输入了无效或不存在的 URI。"
_responseInvalid:
title: "响应无效"
description: "成功与此服务器通信,但返回的数据无效。"
_noSuchObject:
title: "未找到"
description: "未找到请求的资源。请再次检查 URI。"
_captcha:
verify: "请通过 CAPTCHA 验证"
testSiteKeyMessage: "输入测试用的网站密钥及私密密钥后可以生成预览并检查,\n详情请看以下页面。"
_error:
_requestFailed:
title: "请求 CAPTCHA 失败"
text: "请稍后再试,又或者再检查一次设置。"
_verificationFailed:
title: "验证 CAPTCHA 失败"
text: "请再次确认设置是否正确。"
_unknown:
title: "CAPTCHA 错误"
text: "发生意外错误。"
_bootErrors:
title: "加载失败"
serverError: "请稍等片刻再重试。若问题仍无法解决,请将以下 Error ID 一起发送给管理员。"
solution: "以下方法或许可以解决问题:"
solution1: "将浏览器及操作系统更新到最新版本"
solution2: "禁用广告屏蔽插件"
solution3: "清除浏览器缓存"
solution4: "Tor Browser将 dom.webaudio.enabled 设定为 true"
otherOption: "其它选项"
otherOption1: "清除客户端设定与缓存"
otherOption2: "使用简易客户端"
otherOption3: "启动修复工具"
_search:
searchScopeAll: "全部"
searchScopeLocal: "本地"
searchScopeServer: "指定服务器"
searchScopeUser: "指定用户"
pleaseEnterServerHost: "请填写服务器主机名"
pleaseSelectUser: "请选择用户"
serverHostPlaceholder: "如misskey.example.com"

View file

@ -5,11 +5,12 @@ introMisskey: "歡迎Misskey 是一個開放原始碼且去中心化的社群
poweredByMisskeyDescription: "{name}是開放原始碼平臺 <b>Misskey</b> 的伺服器之一。" poweredByMisskeyDescription: "{name}是開放原始碼平臺 <b>Misskey</b> 的伺服器之一。"
monthAndDay: "{month} 月 {day} 日" monthAndDay: "{month} 月 {day} 日"
search: "搜尋" search: "搜尋"
reset: "重設"
notifications: "通知" notifications: "通知"
username: "使用者名稱" username: "使用者名稱"
password: "密碼" password: "密碼"
initialPasswordForSetup: "初始設定的密碼" initialPasswordForSetup: "啟動初始設定的密碼"
initialPasswordIsIncorrect: "初始設定的密碼錯誤。" initialPasswordIsIncorrect: "啟動初始設定的密碼錯誤。"
initialPasswordForSetupDescription: "如果您自己安裝了 Misskey請使用您在設定檔中輸入的密碼。\n如果您使用 Misskey 的託管服務之類的服務,請使用提供的密碼。\n如果您尚未設定密碼請將其留空並繼續。" initialPasswordForSetupDescription: "如果您自己安裝了 Misskey請使用您在設定檔中輸入的密碼。\n如果您使用 Misskey 的託管服務之類的服務,請使用提供的密碼。\n如果您尚未設定密碼請將其留空並繼續。"
forgotPassword: "忘記密碼" forgotPassword: "忘記密碼"
fetchingAsApObject: "從聯邦宇宙取得中..." fetchingAsApObject: "從聯邦宇宙取得中..."
@ -48,6 +49,7 @@ pin: "置頂"
unpin: "取消置頂" unpin: "取消置頂"
copyContent: "複製內容" copyContent: "複製內容"
copyLink: "複製連結" copyLink: "複製連結"
copyRemoteLink: "複製遠端的連結"
copyLinkRenote: "複製轉發的連結" copyLinkRenote: "複製轉發的連結"
delete: "刪除" delete: "刪除"
deleteAndEdit: "刪除並編輯" deleteAndEdit: "刪除並編輯"
@ -101,7 +103,7 @@ serverIsDead: "伺服器沒有回應。請稍等片刻再試。"
youShouldUpgradeClient: "請重新載入以使用新版客戶端顯示此頁面。" youShouldUpgradeClient: "請重新載入以使用新版客戶端顯示此頁面。"
enterListName: "輸入清單名稱" enterListName: "輸入清單名稱"
privacy: "隱私" privacy: "隱私"
makeFollowManuallyApprove: "手動審核追隨請求" makeFollowManuallyApprove: "追隨需要核准"
defaultNoteVisibility: "預設可見性" defaultNoteVisibility: "預設可見性"
follow: "追隨" follow: "追隨"
followRequest: "追隨請求" followRequest: "追隨請求"
@ -230,7 +232,7 @@ instanceInfo: "伺服器資訊"
statistics: "統計" statistics: "統計"
clearQueue: "清除佇列" clearQueue: "清除佇列"
clearQueueConfirmTitle: "確定要清除佇列嗎?" clearQueueConfirmTitle: "確定要清除佇列嗎?"
clearQueueConfirmText: "未發佈的貼文將不會發佈。您通常不需要確認。" clearQueueConfirmText: "未成功發佈的貼文將不會再嘗試發佈。通常不需要進行這項操作。"
clearCachedFiles: "清除快取資料" clearCachedFiles: "清除快取資料"
clearCachedFilesConfirm: "確定要清除所有遠端暫存資料嗎?" clearCachedFilesConfirm: "確定要清除所有遠端暫存資料嗎?"
blockedInstances: "已封鎖的伺服器" blockedInstances: "已封鎖的伺服器"
@ -287,12 +289,11 @@ deleteAreYouSure: "確定要刪掉「{x}」嗎?"
resetAreYouSure: "確定要重設嗎?" resetAreYouSure: "確定要重設嗎?"
areYouSure: "是否確定?" areYouSure: "是否確定?"
saved: "已儲存" saved: "已儲存"
messaging: "聊天"
upload: "上傳" upload: "上傳"
keepOriginalUploading: "保留原圖" keepOriginalUploading: "保留原圖"
keepOriginalUploadingDescription: "上傳圖片時保留原始圖片。關閉時,瀏覽器會在上傳時生成適用於網路傳送的版本。" keepOriginalUploadingDescription: "上傳圖片時保留原始圖片。關閉時,瀏覽器會在上傳時生成適用於網路傳送的版本。"
fromDrive: "從雲端空間" fromDrive: "從雲端空間中選擇"
fromUrl: "從 URL" fromUrl: "從 URL 上傳"
uploadFromUrl: "從網址上傳" uploadFromUrl: "從網址上傳"
uploadFromUrlDescription: "您要上傳的檔案網址" uploadFromUrlDescription: "您要上傳的檔案網址"
uploadFromUrlRequested: "已請求上傳" uploadFromUrlRequested: "已請求上傳"
@ -300,7 +301,7 @@ uploadFromUrlMayTakeTime: "還需要一些時間才能完成上傳。"
explore: "探索" explore: "探索"
messageRead: "已讀" messageRead: "已讀"
noMoreHistory: "沒有更多歷史紀錄" noMoreHistory: "沒有更多歷史紀錄"
startMessaging: "開始聊天" startChat: "開始聊天"
nUsersRead: "{n} 人已讀" nUsersRead: "{n} 人已讀"
agreeTo: "我同意{0}" agreeTo: "我同意{0}"
agree: "同意" agree: "同意"
@ -324,7 +325,7 @@ light: "淺色"
dark: "深色" dark: "深色"
lightThemes: "淺色佈景主題" lightThemes: "淺色佈景主題"
darkThemes: "深色佈景主題" darkThemes: "深色佈景主題"
syncDeviceDarkMode: "與設備的深色模式同步" syncDeviceDarkMode: "與裝置的深色模式同步"
drive: "雲端硬碟" drive: "雲端硬碟"
fileName: "檔案名稱" fileName: "檔案名稱"
selectFile: "選擇檔案" selectFile: "選擇檔案"
@ -366,7 +367,7 @@ normal: "正常"
instanceName: "伺服器名稱" instanceName: "伺服器名稱"
instanceDescription: "伺服器介紹" instanceDescription: "伺服器介紹"
maintainerName: "管理員名稱" maintainerName: "管理員名稱"
maintainerEmail: "管理員箱" maintainerEmail: "管理員箱"
tosUrl: "服務條款 URL" tosUrl: "服務條款 URL"
thisYear: "本年" thisYear: "本年"
thisMonth: "本月" thisMonth: "本月"
@ -382,7 +383,6 @@ enableLocalTimeline: "啟用本地時間軸"
enableGlobalTimeline: "啟用全域時間軸" enableGlobalTimeline: "啟用全域時間軸"
disablingTimelinesInfo: "為了方便,即使您關閉了時間軸功能,管理員和審查員仍可以繼續使用。" disablingTimelinesInfo: "為了方便,即使您關閉了時間軸功能,管理員和審查員仍可以繼續使用。"
registration: "註冊" registration: "註冊"
enableRegistration: "開放新使用者註冊"
invite: "邀請" invite: "邀請"
driveCapacityPerLocalAccount: "每個本地使用者的雲端硬碟容量" driveCapacityPerLocalAccount: "每個本地使用者的雲端硬碟容量"
driveCapacityPerRemoteAccount: "每個非本地用戶的雲端空間大小" driveCapacityPerRemoteAccount: "每個非本地用戶的雲端空間大小"
@ -424,6 +424,7 @@ antennaExcludeBots: "排除機器人帳戶"
antennaKeywordsDescription: "空格代表「以及」AND換行代表「或者」OR" antennaKeywordsDescription: "空格代表「以及」AND換行代表「或者」OR"
notifyAntenna: "通知有新貼文" notifyAntenna: "通知有新貼文"
withFileAntenna: "僅帶有附件的貼文" withFileAntenna: "僅帶有附件的貼文"
excludeNotesInSensitiveChannel: "排除敏感頻道的貼文"
enableServiceworker: "啟用瀏覽器的推播通知" enableServiceworker: "啟用瀏覽器的推播通知"
antennaUsersDescription: "填寫使用者名稱,以換行分隔" antennaUsersDescription: "填寫使用者名稱,以換行分隔"
caseSensitive: "區分大小寫" caseSensitive: "區分大小寫"
@ -458,13 +459,13 @@ moderationNoteDescription: "您可以編寫僅在審查員之間共用的註解
addModerationNote: "新增管理筆記" addModerationNote: "新增管理筆記"
moderationLogs: "管理日誌" moderationLogs: "管理日誌"
nUsersMentioned: "被 {n} 個人提及" nUsersMentioned: "被 {n} 個人提及"
securityKeyAndPasskey: "安全金鑰、Passkey" securityKeyAndPasskey: "安全金鑰、通行金鑰"
securityKey: "安全金鑰" securityKey: "安全金鑰"
lastUsed: "上次使用" lastUsed: "上次使用"
lastUsedAt: "上次使用:{t}" lastUsedAt: "上次使用:{t}"
unregister: "註銷" unregister: "註銷"
passwordLessLogin: "設置無密碼登入" passwordLessLogin: "無密碼登入"
passwordLessLoginDescription: "不使用密碼,以安全金鑰或 Passkey 登入" passwordLessLoginDescription: "不使用密碼,以安全金鑰或通行金鑰登入"
resetPassword: "重設密碼" resetPassword: "重設密碼"
newPasswordIs: "新密碼為「{password}」" newPasswordIs: "新密碼為「{password}」"
reduceUiAnimation: "減少介面的動態視覺" reduceUiAnimation: "減少介面的動態視覺"
@ -490,8 +491,6 @@ noteOf: "{user}的貼文"
quoteAttached: "引用" quoteAttached: "引用"
quoteQuestion: "是否要引用?" quoteQuestion: "是否要引用?"
attachAsFileQuestion: "剪貼簿的文字較長。請問是否要將其以文字檔的方式附加呢?" attachAsFileQuestion: "剪貼簿的文字較長。請問是否要將其以文字檔的方式附加呢?"
noMessagesYet: "沒有訊息"
newMessageExists: "有新的訊息"
onlyOneFileCanBeAttached: "只能加入一個附件" onlyOneFileCanBeAttached: "只能加入一個附件"
signinRequired: "請先登入" signinRequired: "請先登入"
signinOrContinueOnRemote: "若要繼續,需前往您所在的伺服器,或者註冊並登入此伺服器" signinOrContinueOnRemote: "若要繼續,需前往您所在的伺服器,或者註冊並登入此伺服器"
@ -520,7 +519,7 @@ menuStyle: "選單風格"
style: "風格" style: "風格"
drawer: "側邊欄" drawer: "側邊欄"
popup: "彈出式視窗" popup: "彈出式視窗"
showNoteActionsOnlyHover: "僅在游標停留時顯示貼文的" showNoteActionsOnlyHover: "僅於游標懸停時顯示貼文選項"
showReactionsCount: "顯示貼文的反應數目" showReactionsCount: "顯示貼文的反應數目"
noHistory: "沒有歷史紀錄" noHistory: "沒有歷史紀錄"
signinHistory: "登入歷史" signinHistory: "登入歷史"
@ -557,12 +556,12 @@ useObjectStorage: "使用物件儲存"
objectStorageBaseUrl: "Base URL" objectStorageBaseUrl: "Base URL"
objectStorageBaseUrlDesc: "用於引用的 URL。如果您使用的是 CDN 或反向代理,請指定其 URL例如 S3https://<bucket>.s3.amazonaws.com、GCShttps://storage.googleapis.com/<bucket>)。" objectStorageBaseUrlDesc: "用於引用的 URL。如果您使用的是 CDN 或反向代理,請指定其 URL例如 S3https://<bucket>.s3.amazonaws.com、GCShttps://storage.googleapis.com/<bucket>)。"
objectStorageBucket: "儲存空間Bucket" objectStorageBucket: "儲存空間Bucket"
objectStorageBucketDesc: "請填寫所用服務的儲存空間Bucket名稱。 " objectStorageBucketDesc: "請填寫所用服務的儲存Bucket名稱。 "
objectStoragePrefix: "前綴" objectStoragePrefix: "前綴"
objectStoragePrefixDesc: "它儲存在此前綴目錄下。" objectStoragePrefixDesc: "它儲存在此前綴目錄下。"
objectStorageEndpoint: "端點Endpoint" objectStorageEndpoint: "端點Endpoint"
objectStorageEndpointDesc: "如使用 AWS S3請留空。如使用其他服務請按照其說明文件以「<host>」或「<host>:<port>」的形式設定端點Endpoint。" objectStorageEndpointDesc: "如使用 AWS S3請留空。如使用其他服務請按照其說明文件以「<host>」或「<host>:<port>」的形式設定端點Endpoint。"
objectStorageRegion: "Region" objectStorageRegion: "Region"
objectStorageRegionDesc: "請填寫一個分區例如「xx-east-1」。 如果您使用的服務不設分區請留空或填寫「us-east-1」。" objectStorageRegionDesc: "請填寫一個分區例如「xx-east-1」。 如果您使用的服務不設分區請留空或填寫「us-east-1」。"
objectStorageUseSSL: "使用 SSL" objectStorageUseSSL: "使用 SSL"
objectStorageUseSSLDesc: "請在不使用 https 連接 API 時關閉" objectStorageUseSSLDesc: "請在不使用 https 連接 API 時關閉"
@ -585,8 +584,9 @@ popout: "彈出式視窗"
volume: "音量" volume: "音量"
masterVolume: "主音量" masterVolume: "主音量"
notUseSound: "關閉音效" notUseSound: "關閉音效"
useSoundOnlyWhenActive: "瀏覽器在前景運作時Misskey 才會發出音效" useSoundOnlyWhenActive: "僅在 Misskey 於前景運作時發出音效"
details: "詳細資訊" details: "詳細資訊"
renoteDetails: "轉發貼文的細節"
chooseEmoji: "選擇您的表情符號" chooseEmoji: "選擇您的表情符號"
unableToProcess: "操作無法完成" unableToProcess: "操作無法完成"
recentUsed: "最近使用" recentUsed: "最近使用"
@ -679,19 +679,24 @@ smtpHost: "主機"
smtpPort: "埠" smtpPort: "埠"
smtpUser: "使用者名稱" smtpUser: "使用者名稱"
smtpPass: "密碼" smtpPass: "密碼"
emptyToDisableSmtpAuth: "留空使用者名稱和密碼以關閉SMTP驗證。" emptyToDisableSmtpAuth: "將使用者名稱和密碼留空以關閉 SMTP 驗證。"
smtpSecure: "在 SMTP 連接中使用隱式 SSL/TLS" smtpSecure: "在 SMTP 連接中使用隱式 SSL/TLS"
smtpSecureInfo: "使用 STARTTLS 時關閉。" smtpSecureInfo: "使用 STARTTLS 時關閉。"
testEmail: "測試郵件發送" testEmail: "測試郵件發送"
wordMute: "被靜音的文字" wordMute: "被靜音的文字"
wordMuteDescription: "將包含指定語句的貼文最小化。 點擊最小化的貼文即可顯示。"
hardWordMute: "硬文字靜音" hardWordMute: "硬文字靜音"
showMutedWord: "顯示靜音字"
hardWordMuteDescription: "隱藏含有指定語句的貼文。 與詞彙靜音不同的是,貼文將完全隱藏不見。"
regexpError: "正規表達式錯誤" regexpError: "正規表達式錯誤"
regexpErrorDescription: "{tab} 靜音文字的第 {line} 行的正規表達式有錯誤:" regexpErrorDescription: "{tab} 靜音文字的第 {line} 行的正規表達式有錯誤:"
instanceMute: "被靜音的實例" instanceMute: "被靜音的實例"
userSaysSomething: "{name}說了什麼" userSaysSomething: "{name}說了什麼"
userSaysSomethingAbout: "{name} 說了一些關於「{word}」的話"
makeActive: "啟用" makeActive: "啟用"
display: "檢視" display: "檢視"
copy: "複製" copy: "複製"
copiedToClipboard: "已複製到剪貼簿"
metrics: "指標" metrics: "指標"
overview: "概覽" overview: "概覽"
logs: "日誌" logs: "日誌"
@ -705,7 +710,7 @@ useGlobalSetting: "使用全域設定"
useGlobalSettingDesc: "啟用時,將使用帳戶通知設定。停用時,則可以單獨設定。" useGlobalSettingDesc: "啟用時,將使用帳戶通知設定。停用時,則可以單獨設定。"
other: "其他" other: "其他"
regenerateLoginToken: "重新產生登入權杖" regenerateLoginToken: "重新產生登入權杖"
regenerateLoginTokenDescription: "重新產生用於登入的內部權杖。一般情況下是不需要這樣做的。重新產生後,所有裝置將會被登出。" regenerateLoginTokenDescription: "重新產生用於登入的內部權杖。通常不需要使用此功能。重新產生後,所有裝置都將被登出。"
theKeywordWhenSearchingForCustomEmoji: "這是搜尋自訂表情符號時的關鍵字" theKeywordWhenSearchingForCustomEmoji: "這是搜尋自訂表情符號時的關鍵字"
setMultipleBySeparatingWithSpace: "您可以使用空格分隔多個項目。" setMultipleBySeparatingWithSpace: "您可以使用空格分隔多個項目。"
fileIdOrUrl: "檔案 ID 或 URL" fileIdOrUrl: "檔案 ID 或 URL"
@ -739,7 +744,7 @@ unclip: "解除摘錄"
confirmToUnclipAlreadyClippedNote: "此貼文已包含在摘錄「{name}」中。 你想將貼文從這個摘錄中排除嗎?" confirmToUnclipAlreadyClippedNote: "此貼文已包含在摘錄「{name}」中。 你想將貼文從這個摘錄中排除嗎?"
public: "公開" public: "公開"
private: "私密" private: "私密"
i18nInfo: "Misskey 已被志願者們翻譯成各種語言版本。您可以瀏覽 {link} 幫助翻譯。" i18nInfo: "Misskey 已被志願者們翻譯成各種語言版本。您可以前往 {link} 以協助翻譯。"
manageAccessTokens: "管理存取權杖" manageAccessTokens: "管理存取權杖"
accountInfo: "帳戶資訊" accountInfo: "帳戶資訊"
notesCount: "貼文數量" notesCount: "貼文數量"
@ -759,12 +764,12 @@ driveFilesCount: "雲端硬碟檔案數量"
driveUsage: "雲端硬碟使用量" driveUsage: "雲端硬碟使用量"
noCrawle: "拒絕搜尋引擎索引" noCrawle: "拒絕搜尋引擎索引"
noCrawleDescription: "要求網路搜尋引擎不要索引你的個人資料頁、貼文及頁面等。" noCrawleDescription: "要求網路搜尋引擎不要索引你的個人資料頁、貼文及頁面等。"
lockedAccountInfo: "即使你通過了追隨者請求,除非你將貼文的可見性設定為 「追隨者」,否則任何人都能看見你的貼文。" lockedAccountInfo: "即使追隨需要核准,除非你將貼文的可見性設定為 「追隨者」,否則任何人都能看見你的貼文。"
alwaysMarkSensitive: "預設標記檔案為敏感內容" alwaysMarkSensitive: "預設標記檔案為敏感內容"
loadRawImages: "以原始圖檔顯示附件圖檔的縮圖" loadRawImages: "以原始圖檔顯示附件圖檔的縮圖"
disableShowingAnimatedImages: "不播放動態圖檔" disableShowingAnimatedImages: "不播放動態圖檔"
highlightSensitiveMedia: "強調敏感標記" highlightSensitiveMedia: "強調敏感標記"
verificationEmailSent: "已發送驗證電子郵件。請點擊進入電子郵件中的鏈接完成驗證。" verificationEmailSent: "已發送驗證電子郵件。請點擊進入電子郵件中的連結以完成驗證。"
notSet: "未設定" notSet: "未設定"
emailVerified: "已成功驗證您的電子郵件地址" emailVerified: "已成功驗證您的電子郵件地址"
noteFavoritesCount: "我的最愛貼文的數目" noteFavoritesCount: "我的最愛貼文的數目"
@ -775,7 +780,7 @@ useSystemFont: "使用系統預設的字型"
clips: "摘錄" clips: "摘錄"
experimentalFeatures: "實驗中的功能" experimentalFeatures: "實驗中的功能"
experimental: "實驗性" experimental: "實驗性"
thisIsExperimentalFeature: "這是實驗性的功能。可能會有變更規格和不能正常動作的可能性。" thisIsExperimentalFeature: "這是一項實驗性功能,其行為會隨需要進行調整,也可能無法正常運作。"
developer: "開發者" developer: "開發者"
makeExplorable: "使自己的帳戶更容易被找到" makeExplorable: "使自己的帳戶更容易被找到"
makeExplorableDescription: "如果關閉,帳戶將不會被顯示在「探索」頁面中。" makeExplorableDescription: "如果關閉,帳戶將不會被顯示在「探索」頁面中。"
@ -821,7 +826,7 @@ apply: "套用"
receiveAnnouncementFromInstance: "接收來自伺服器的通知" receiveAnnouncementFromInstance: "接收來自伺服器的通知"
emailNotification: "郵件通知" emailNotification: "郵件通知"
publish: "發布" publish: "發布"
inChannelSearch: "頻道搜尋" inChannelSearch: "頻道搜尋"
useReactionPickerForContextMenu: "點擊右鍵開啟反應選擇器" useReactionPickerForContextMenu: "點擊右鍵開啟反應選擇器"
typingUsers: "{users}輸入中" typingUsers: "{users}輸入中"
jumpToSpecifiedDate: "跳轉到特定日期" jumpToSpecifiedDate: "跳轉到特定日期"
@ -925,7 +930,7 @@ incorrectPassword: "密碼錯誤。"
incorrectTotp: "一次性密碼錯誤,或者已過期。" incorrectTotp: "一次性密碼錯誤,或者已過期。"
voteConfirm: "確定投給「{choice}」?" voteConfirm: "確定投給「{choice}」?"
hide: "隱藏" hide: "隱藏"
useDrawerReactionPickerForMobile: "在移動設備上使用抽屜顯示" useDrawerReactionPickerForMobile: "在行動裝置上使用抽屜顯示"
welcomeBackWithName: "歡迎回來,{name}" welcomeBackWithName: "歡迎回來,{name}"
clickToFinishEmailVerification: "點擊 [{ok}] 完成電子郵件地址認證。" clickToFinishEmailVerification: "點擊 [{ok}] 完成電子郵件地址認證。"
overridedDeviceKind: "裝置類型" overridedDeviceKind: "裝置類型"
@ -947,6 +952,9 @@ oneHour: "一小時"
oneDay: "一天" oneDay: "一天"
oneWeek: "一週" oneWeek: "一週"
oneMonth: "一個月" oneMonth: "一個月"
threeMonths: "3 個月"
oneYear: "1 年"
threeDays: "3 日"
reflectMayTakeTime: "可能需要一些時間才會出現效果。" reflectMayTakeTime: "可能需要一些時間才會出現效果。"
failedToFetchAccountInformation: "取得帳戶資訊失敗" failedToFetchAccountInformation: "取得帳戶資訊失敗"
rateLimitExceeded: "已超過速率限制" rateLimitExceeded: "已超過速率限制"
@ -971,6 +979,7 @@ document: "文件"
numberOfPageCache: "快取頁面數" numberOfPageCache: "快取頁面數"
numberOfPageCacheDescription: "增加數量會提高便利性,但也會增加負荷與記憶體使用量。" numberOfPageCacheDescription: "增加數量會提高便利性,但也會增加負荷與記憶體使用量。"
logoutConfirm: "確定要登出嗎?" logoutConfirm: "確定要登出嗎?"
logoutWillClearClientData: "當您登出時,客戶端的設定資訊將從瀏覽器中清除。為了能夠在重新登入時恢復您的設定資訊,請啟用設定內的自動備份選項。"
lastActiveDate: "上次使用日期及時間" lastActiveDate: "上次使用日期及時間"
statusbar: "狀態列" statusbar: "狀態列"
pleaseSelect: "請選擇" pleaseSelect: "請選擇"
@ -1003,7 +1012,7 @@ unsubscribePushNotification: "停用推播通知"
pushNotificationAlreadySubscribed: "推播通知啟用中" pushNotificationAlreadySubscribed: "推播通知啟用中"
pushNotificationNotSupported: "瀏覽器或伺服器不支援推播通知" pushNotificationNotSupported: "瀏覽器或伺服器不支援推播通知"
sendPushNotificationReadMessage: "如果已閱讀通知與訊息,就刪除推播通知" sendPushNotificationReadMessage: "如果已閱讀通知與訊息,就刪除推播通知"
sendPushNotificationReadMessageCaption: "「{emptyPushNotificationMessage}」通知將立刻顯示。可能會更消耗裝置電池。" sendPushNotificationReadMessageCaption: "可能會導致裝置的電池消耗量增加。"
windowMaximize: "最大化" windowMaximize: "最大化"
windowMinimize: "最小化" windowMinimize: "最小化"
windowRestore: "復原" windowRestore: "復原"
@ -1116,7 +1125,7 @@ vertical: "直向"
horizontal: "橫向" horizontal: "橫向"
position: "位置" position: "位置"
serverRules: "伺服器規則" serverRules: "伺服器規則"
pleaseConfirmBelowBeforeSignup: "在本伺服器註冊之前,請確認下列事項。" pleaseConfirmBelowBeforeSignup: "在本伺服器註冊之前,必須確認並同意以下內容。"
pleaseAgreeAllToContinue: "必須全部勾選「同意」才能繼續。" pleaseAgreeAllToContinue: "必須全部勾選「同意」才能繼續。"
continue: "繼續" continue: "繼續"
preservedUsernames: "保留的使用者名稱" preservedUsernames: "保留的使用者名稱"
@ -1172,20 +1181,20 @@ used: "已使用"
expired: "過期" expired: "過期"
doYouAgree: "你同意嗎?" doYouAgree: "你同意嗎?"
beSureToReadThisAsItIsImportant: "重要,請務必閱讀。" beSureToReadThisAsItIsImportant: "重要,請務必閱讀。"
iHaveReadXCarefullyAndAgree: "我已仔細閱讀並同意「{x}」的容。" iHaveReadXCarefullyAndAgree: "我已仔細閱讀並同意「{x}」的容。"
dialog: "對話方塊" dialog: "對話方塊"
icon: "圖示" icon: "圖示"
forYou: "給您" forYou: "給您"
currentAnnouncements: "最新公告" currentAnnouncements: "最新公告"
pastAnnouncements: "歷史公告" pastAnnouncements: "歷史公告"
youHaveUnreadAnnouncements: "有未讀的公告。" youHaveUnreadAnnouncements: "有未讀的公告。"
useSecurityKey: "請按照瀏覽器或設備上的說明使用安全金鑰或 Passkey。" useSecurityKey: "請按照瀏覽器或裝置上的說明來使用安全金鑰或通行金鑰。"
replies: "回覆" replies: "回覆"
renotes: "轉發" renotes: "轉發"
loadReplies: "閱覽回覆" loadReplies: "閱覽回覆"
loadConversation: "閱覽對話" loadConversation: "閱覽對話"
pinnedList: "已置頂的清單" pinnedList: "已置頂的清單"
keepScreenOn: "保持設備螢幕開啟" keepScreenOn: "保持裝置螢幕開啟"
verifiedLink: "已驗證連結" verifiedLink: "已驗證連結"
notifyNotes: "開啟貼文通知" notifyNotes: "開啟貼文通知"
unnotifyNotes: "關閉貼文通知" unnotifyNotes: "關閉貼文通知"
@ -1196,9 +1205,9 @@ showRenotes: "顯示其他人的轉發貼文"
edited: "已編輯" edited: "已編輯"
notificationRecieveConfig: "接受通知的設定" notificationRecieveConfig: "接受通知的設定"
mutualFollow: "互相追隨" mutualFollow: "互相追隨"
followingOrFollower: "追隨中或追隨者" followingOrFollower: "追隨中或追隨者"
fileAttachedOnly: "只顯示包含附件的貼文" fileAttachedOnly: "只顯示包含附件的貼文"
showRepliesToOthersInTimeline: "顯示給其他人的回覆" showRepliesToOthersInTimeline: "在時間軸上顯示給其他人的回覆"
hideRepliesToOthersInTimeline: "在時間軸上隱藏給其他人的回覆" hideRepliesToOthersInTimeline: "在時間軸上隱藏給其他人的回覆"
showRepliesToOthersInTimelineAll: "在時間軸包含追隨中所有人的回覆" showRepliesToOthersInTimelineAll: "在時間軸包含追隨中所有人的回覆"
hideRepliesToOthersInTimelineAll: "在時間軸不包含追隨中所有人的回覆" hideRepliesToOthersInTimelineAll: "在時間軸不包含追隨中所有人的回覆"
@ -1238,9 +1247,9 @@ reloadRequiredToApplySettings: "需要重新載入頁面設定才能生效。"
remainingN: "剩餘:{n}" remainingN: "剩餘:{n}"
overwriteContentConfirm: "確定要覆蓋目前的內容嗎?" overwriteContentConfirm: "確定要覆蓋目前的內容嗎?"
seasonalScreenEffect: "隨季節變換畫面的呈現" seasonalScreenEffect: "隨季節變換畫面的呈現"
decorate: "設置頭像裝飾" decorate: "裝飾"
addMfmFunction: "插入 MFM 功能語法" addMfmFunction: "插入 MFM 功能語法"
enableQuickAddMfmFunction: "顯示高級 MFM 選擇器" enableQuickAddMfmFunction: "顯示進階 MFM 選擇器"
bubbleGame: "氣泡遊戲" bubbleGame: "氣泡遊戲"
sfx: "音效" sfx: "音效"
soundWillBePlayed: "將播放音效" soundWillBePlayed: "將播放音效"
@ -1265,9 +1274,9 @@ useBackupCode: "使用備用驗證碼"
launchApp: "啟動 APP" launchApp: "啟動 APP"
useNativeUIForVideoAudioPlayer: "使用瀏覽器的 UI 播放影片與音訊" useNativeUIForVideoAudioPlayer: "使用瀏覽器的 UI 播放影片與音訊"
keepOriginalFilename: "保留原始檔名" keepOriginalFilename: "保留原始檔名"
keepOriginalFilenameDescription: "如果關閉此設,上傳時檔案名稱會自動替換為隨機字串。" keepOriginalFilenameDescription: "如果關閉此設,上傳時檔案名稱會自動替換為隨機字串。"
noDescription: "沒有說明文字" noDescription: "沒有說明文字"
alwaysConfirmFollow: "隨時總是確認" alwaysConfirmFollow: "隨時總是確認"
inquiry: "聯絡我們" inquiry: "聯絡我們"
tryAgain: "請再試一次。" tryAgain: "請再試一次。"
confirmWhenRevealingSensitiveMedia: "要顯示敏感媒體時需確認" confirmWhenRevealingSensitiveMedia: "要顯示敏感媒體時需確認"
@ -1282,10 +1291,10 @@ performance: "性能"
modified: "已變更" modified: "已變更"
discard: "取消" discard: "取消"
thereAreNChanges: "有 {n} 處的變更" thereAreNChanges: "有 {n} 處的變更"
signinWithPasskey: "使用密碼金鑰登入" signinWithPasskey: "使用通行金鑰登入"
unknownWebAuthnKey: "未註冊的金鑰。" unknownWebAuthnKey: "未註冊的通行金鑰。"
passkeyVerificationFailed: "驗證金鑰失敗。" passkeyVerificationFailed: "驗證通行金鑰失敗。"
passkeyVerificationSucceededButPasswordlessLoginDisabled: "雖然驗證金鑰成功,但是無密碼登入的方式是停用的。" passkeyVerificationSucceededButPasswordlessLoginDisabled: "雖然驗證通行金鑰成功,但是無密碼登入的方式是停用的。"
messageToFollower: "給追隨者的訊息" messageToFollower: "給追隨者的訊息"
target: "目標 " target: "目標 "
testCaptchaWarning: "此功能用於 CAPTCHA 的測試。<strong>請勿在正式環境中使用。</strong>" testCaptchaWarning: "此功能用於 CAPTCHA 的測試。<strong>請勿在正式環境中使用。</strong>"
@ -1293,6 +1302,156 @@ prohibitedWordsForNameOfUser: "禁止使用的字詞(使用者名稱)"
prohibitedWordsForNameOfUserDescription: "如果使用者名稱包含此清單中的任何字串,則拒絕重新命名使用者。 具有審查員權限的使用者不受此限制的影響。" prohibitedWordsForNameOfUserDescription: "如果使用者名稱包含此清單中的任何字串,則拒絕重新命名使用者。 具有審查員權限的使用者不受此限制的影響。"
yourNameContainsProhibitedWords: "您嘗試更改的名稱包含禁止的字串" yourNameContainsProhibitedWords: "您嘗試更改的名稱包含禁止的字串"
yourNameContainsProhibitedWordsDescription: "名稱中包含禁止使用的字串。 如果您想使用此名稱,請聯絡您的伺服器管理員。" yourNameContainsProhibitedWordsDescription: "名稱中包含禁止使用的字串。 如果您想使用此名稱,請聯絡您的伺服器管理員。"
thisContentsAreMarkedAsSigninRequiredByAuthor: "作者將其設定為需要登入才能顯示。"
lockdown: "鎖定"
pleaseSelectAccount: "請選擇帳戶"
availableRoles: "可用角色"
acknowledgeNotesAndEnable: "了解注意事項後再開啟。"
federationSpecified: "此伺服器以白名單聯邦的方式運作。除了管理員指定的伺服器外,它無法與其他伺服器互動。"
federationDisabled: "此伺服器未開啟站台聯邦。無法與其他伺服器上的使用者互動。"
confirmOnReact: "在做出反應前先確認"
reactAreYouSure: "用「 {emoji} 」反應嗎?"
markAsSensitiveConfirm: "要將這個媒體設定為敏感嗎?"
unmarkAsSensitiveConfirm: "要解除這個媒體的敏感設定嗎?"
preferences: "環境設定"
accessibility: "輔助工具"
preferencesProfile: "設定檔案"
copyPreferenceId: "複製設定 ID"
resetToDefaultValue: "還原成預設值"
overrideByAccount: "覆寫帳號"
untitled: "無標題"
noName: "沒有名稱"
skip: "跳過"
restore: "還原"
syncBetweenDevices: "裝置之間的同步化"
preferenceSyncConflictTitle: "伺服器上存在設定值"
preferenceSyncConflictText: "已啟用同步的設定項目會將設定值儲存至伺服器,並已找到該設定項目在伺服器上儲存的設定值。請選擇要使用哪個設定值進行覆寫。"
preferenceSyncConflictChoiceServer: "伺服器設定值"
preferenceSyncConflictChoiceDevice: "裝置的設定值"
preferenceSyncConflictChoiceCancel: "取消啟用同步"
paste: "貼上"
emojiPalette: "表情符號調色盤"
postForm: "發文視窗"
textCount: "字數"
information: "關於"
chat: "聊天"
migrateOldSettings: "遷移舊設定資訊"
migrateOldSettings_description: "通常情況下,這會自動進行,但若因某些原因未能順利遷移,您可以手動觸發遷移處理。請注意,當前的設定資訊將會被覆寫。"
compress: "壓縮"
right: "右"
bottom: "下"
top: "上"
embed: "嵌入"
settingsMigrating: "正在移轉設定。請稍候……(之後也可以到「設定 → 其他 → 舊設定資訊移轉」中手動進行移轉)"
readonly: "唯讀"
goToDeck: "回去甲板"
federationJobs: "聯邦通訊作業"
driveAboutTip: "在「雲端硬碟」中,會顯示過去上傳的檔案列表。<br>\n可以在附加到貼文時重新利用或者事先上傳之後再用於發布。<br>\n<b>請注意,刪除檔案後,之前使用過該檔案的所有地方(貼文、頁面、大頭貼、橫幅等)也會一併無法顯示。</b><br>\n也可以建立資料夾來整理檔案。"
_chat:
noMessagesYet: "尚無訊息"
newMessage: "新訊息"
individualChat: "ㄧ對一聊天室"
individualChat_description: "可以與特定使用者進行一對一的聊天。"
roomChat: "多人聊天室"
roomChat_description: "可以進行多人聊天。\n此外即使是未允許個人聊天的使用者只要對方接受也可以進行聊天。"
createRoom: "建立聊天室"
inviteUserToChat: "邀請使用者開始聊天"
yourRooms: "已建立的聊天室"
joiningRooms: "已加入的聊天室"
invitations: "邀請"
noInvitations: "沒有邀請"
history: "歷史紀錄"
noHistory: "沒有歷史紀錄"
noRooms: "沒有可用的聊天室"
inviteUser: "邀請使用者"
sentInvitations: "已傳送的邀請"
join: "加入"
ignore: "忽視"
leave: "退出聊天室"
members: "成員"
searchMessages: "搜尋聊天訊息"
home: "首頁"
send: "發送"
newline: "換行"
muteThisRoom: "此聊天室已靜音"
deleteRoom: "刪除聊天室"
chatNotAvailableForThisAccountOrServer: "這個伺服器或這個帳號的聊天功能尚未啟用。"
chatIsReadOnlyForThisAccountOrServer: "在此伺服器或此帳戶上的聊天是唯讀的。您無法發布新訊息、建立或加入聊天室。"
chatNotAvailableInOtherAccount: "對方的帳號無法使用聊天功能。"
cannotChatWithTheUser: "無法與此使用者聊天"
cannotChatWithTheUser_description: "聊天功能目前無法使用,或對方尚未開放聊天功能。"
chatWithThisUser: "聊天"
thisUserAllowsChatOnlyFromFollowers: "此使用者僅接受來自追隨者的聊天訊息。"
thisUserAllowsChatOnlyFromFollowing: "此使用者僅接受自己追隨的使用者傳送聊天訊息。"
thisUserAllowsChatOnlyFromMutualFollowing: "此使用者只接受互相追隨的使用者傳送聊天訊息。"
thisUserNotAllowedChatAnyone: "此使用者不接受來自任何人的聊天訊息。"
chatAllowedUsers: "允許聊天的對象"
chatAllowedUsers_note: "無論此設定為何,您仍可與自己曾發送過聊天訊息的對象進行聊天。"
_chatAllowedUsers:
everyone: "任何人"
followers: "追隨自己的使用者"
following: "只有您追隨的使用者"
mutual: "互相追隨"
none: "無"
_emojiPalette:
palettes: "調色盤"
enableSyncBetweenDevicesForPalettes: "啟用裝置與裝置之間的調色盤同步化"
paletteForMain: "主要使用的調色盤"
paletteForReaction: "反應用的調色盤"
_settings:
driveBanner: "您可以管理和設定雲端硬碟、確認使用量,以及調整上傳檔案時的設定。"
pluginBanner: "可使用外掛擴充用戶端的功能。您可以安裝外掛,實施個別的設定與管理。"
notificationsBanner: "您可以設定從伺服器接收通知的類型和範圍,以及推送通知。"
api: "API"
webhook: "Webhook"
serviceConnection: "服務整合"
serviceConnectionBanner: "您可以管理和設定存取權杖與 Webhooks以便與外部應用程式和服務整合。"
accountData: "帳戶資料"
accountDataBanner: "您可以管理帳戶資料的匯出 / 匯入。"
muteAndBlockBanner: "您可以設定和管理要隱藏的內容,並限制特定使用者的行動。"
accessibilityBanner: "可針對客戶端的視覺和行為進行個人化設定,以達到更佳的使用效果。"
privacyBanner: "您可以調整帳戶的隱私設定,例如內容的可見性、尋找內容的容易程度,以及追隨是否需要核准。"
securityBanner: "您可以設定與帳戶安全性相關的設定,例如密碼、登入方式、驗證應用程式和通行金鑰。"
preferencesBanner: "您可以根據喜好設定用戶端的整體行為。"
appearanceBanner: "您可以根據喜好設定與用戶端外觀和顯示方式相關的設定。"
soundsBanner: "您可以調整用戶端播放的聲音設定。"
timelineAndNote: "時間軸及貼文"
makeEveryTextElementsSelectable: "允許選取所有文字"
makeEveryTextElementsSelectable_description: "啟用此功能後,可能會在某些情境下降低可用性。"
useStickyIcons: "使大頭貼跟隨捲動"
showNavbarSubButtons: "在導覽列顯示輔助按鈕"
ifOn: "開啟時"
ifOff: "關閉時"
enableSyncThemesBetweenDevices: "在裝置之間同步已安裝的主題"
_chat:
showSenderName: "顯示發送者的名稱"
sendOnEnter: "按下 Enter 發送訊息"
_preferencesProfile:
profileName: "設定檔案名稱"
profileNameDescription: "設定一個名稱來識別此裝置。"
profileNameDescription2: "例如:「主要個人電腦」、「智慧型手機」等"
_preferencesBackup:
autoBackup: "自動備份"
restoreFromBackup: "從備份還原"
noBackupsFoundTitle: "找不到備份檔"
noBackupsFoundDescription: "沒有找到自動建立的備份,但如果您手動儲存了備份檔案,則可以匯入並還原。"
selectBackupToRestore: "選擇要還原的備份"
youNeedToNameYourProfileToEnableAutoBackup: "要啟用自動備份,必須設定檔案名稱。"
autoPreferencesBackupIsNotEnabledForThisDevice: "此裝置未啟用自動備份設定。"
backupFound: "找到設定的備份"
_accountSettings:
requireSigninToViewContents: "須登入以顯示內容"
requireSigninToViewContentsDescription1: "必須登入才會顯示您建立的貼文等內容。可望有效防止資訊被爬蟲蒐集。"
requireSigninToViewContentsDescription2: "針對您貼文的 URL 預覽 (OGP) 與網頁嵌入功能將會無法使用。而不支援引用貼文的伺服器,也將停止顯示。"
requireSigninToViewContentsDescription3: "這些限制可能不適用於被聯邦發送至遠端伺服器的內容。"
makeNotesFollowersOnlyBefore: "讓過去的貼文僅對追隨者顯示"
makeNotesFollowersOnlyBeforeDescription: "啟用此功能後,超過設定的日期和時間或超過設定時間的貼文將僅對追隨者顯示。 如果您再次停用它,貼文的公開狀態也會恢復原狀。"
makeNotesHiddenBefore: "隱藏過去的貼文"
makeNotesHiddenBeforeDescription: "啟用此功能後,超過設定的日期和時間或超過設定時間的貼文將僅對自己顯示(私密化)。 如果您再次停用它,貼文的公開狀態也會恢復原狀。"
mayNotEffectForFederatedNotes: "聯邦發送至遠端伺服器的貼文可能會不受影響。"
mayNotEffectSomeSituations: "這些限制僅是簡化版本。在某些情況下,例如在遠端伺服器上瀏覽或進行審核時,可能不會套用這些限制。"
notesHavePassedSpecifiedPeriod: "早於指定時間的貼文"
notesOlderThanSpecifiedDateAndTime: "指定時間和日期之前的貼文"
_abuseUserReport: _abuseUserReport:
forward: "轉發" forward: "轉發"
forwardDescription: "以匿名系統帳戶將檢舉轉發至遠端伺服器。" forwardDescription: "以匿名系統帳戶將檢舉轉發至遠端伺服器。"
@ -1346,7 +1505,7 @@ _initialAccountSetting:
theseSettingsCanEditLater: "這裡的設定可以在之後變更。" theseSettingsCanEditLater: "這裡的設定可以在之後變更。"
youCanEditMoreSettingsInSettingsPageLater: "除此之外,還可以在「設定」頁面進行各種設定。之後請確認看看。" youCanEditMoreSettingsInSettingsPageLater: "除此之外,還可以在「設定」頁面進行各種設定。之後請確認看看。"
followUsers: "為了構築時間軸,試著追隨您感興趣的使用者吧。" followUsers: "為了構築時間軸,試著追隨您感興趣的使用者吧。"
pushNotificationDescription: "啟用推送通知,就可以在設備上接收{name}的通知。" pushNotificationDescription: "啟用推送通知後,就可以在裝置上接收來自{name}的通知了。"
initialAccountSettingCompleted: "初始設定完成了!" initialAccountSettingCompleted: "初始設定完成了!"
haveFun: "盡情享受{name}吧!" haveFun: "盡情享受{name}吧!"
youCanContinueTutorial: "您可以繼續學習如何使用{name}(Misskey),也可以就此打住,立即開始使用。" youCanContinueTutorial: "您可以繼續學習如何使用{name}(Misskey),也可以就此打住,立即開始使用。"
@ -1366,12 +1525,12 @@ _initialTutorial:
description: "在Misskey上發布的內容稱為「貼文」。貼文在時間軸上按時間順序排列並即時更新。" description: "在Misskey上發布的內容稱為「貼文」。貼文在時間軸上按時間順序排列並即時更新。"
reply: "您可以回覆貼文,並像討論串一樣繼續對話。" reply: "您可以回覆貼文,並像討論串一樣繼續對話。"
renote: "您可以將此貼文分享到自己的時間軸。您也可以在引用時添加文字。" renote: "您可以將此貼文分享到自己的時間軸。您也可以在引用時添加文字。"
reaction: "您可以加反應。詳細資訊將在下一頁進行說明。" reaction: "您可以反應。詳細資訊將在下一頁進行說明。"
menu: "可執行各種操作,如查看貼文詳細資訊和複製連結。" menu: "可執行各種操作,如查看貼文詳細資訊和複製連結。"
_reaction: _reaction:
title: "什麼是反應?" title: "什麼是反應?"
description: "您可以在貼文中添加「反應」。您可以使用反應輕鬆隨意地表達「最愛/大心」所無法傳達的細微差別。" description: "您可以在貼文中加上「反應」。有些用「最愛/大心」無法傳達的感想,可以用反應輕鬆地表達出來。"
letsTryReacting: "可以透過點擊貼文上的「+」按鈕來添加反應。請嘗試在此範例貼文添加反應!" letsTryReacting: "按一下貼文上的「+」按鈕即可加入反應。試著對此範例貼文加上反應!"
reactToContinue: "添加反應以繼續教學課程。" reactToContinue: "添加反應以繼續教學課程。"
reactNotification: "當有人對您的貼文做出反應時會即時接收到通知。" reactNotification: "當有人對您的貼文做出反應時會即時接收到通知。"
reactDone: "按下「-」按鈕可以取消反應。" reactDone: "按下「-」按鈕可以取消反應。"
@ -1405,7 +1564,7 @@ _initialTutorial:
useCases: "伺服器的服務條款可能會規範特定的貼文需要使用隱藏內容,除此之外也會用在隱藏劇情洩漏與敏感內容的貼文。" useCases: "伺服器的服務條款可能會規範特定的貼文需要使用隱藏內容,除此之外也會用在隱藏劇情洩漏與敏感內容的貼文。"
_howToMakeAttachmentsSensitive: _howToMakeAttachmentsSensitive:
title: "如何標記上傳附件為敏感內容?" title: "如何標記上傳附件為敏感內容?"
description: "如果伺服器服務條款有規範,又或者不希望上傳附件直接被看見,可以設置為「敏感內容」" description: "如果伺服器的服務條款有規範,又或者不適合直接展示的附件,請記得加上「敏感」標記。"
tryThisFile: "試試看!把附加在發文表單的圖像檔案標記為敏感內容。" tryThisFile: "試試看!把附加在發文表單的圖像檔案標記為敏感內容。"
_exampleNote: _exampleNote:
note: "打開納豆的包裝失敗了…" note: "打開納豆的包裝失敗了…"
@ -1437,7 +1596,9 @@ _serverSettings:
reactionsBufferingDescription: "啟用時,可以顯著提高建立反應時的效能並減少資料庫的負載。 但是Redis 記憶體使用量會增加。" reactionsBufferingDescription: "啟用時,可以顯著提高建立反應時的效能並減少資料庫的負載。 但是Redis 記憶體使用量會增加。"
inquiryUrl: "聯絡表單網址" inquiryUrl: "聯絡表單網址"
inquiryUrlDescription: "指定伺服器運營者的聯絡表單網址,或包含運營者聯絡資訊網頁的網址。" inquiryUrlDescription: "指定伺服器運營者的聯絡表單網址,或包含運營者聯絡資訊網頁的網址。"
thisSettingWillAutomaticallyOffWhenModeratorsInactive: "為了防止 spam如果一段期間內沒有偵測到審查員的活動此設定將自動關閉。" openRegistration: "允許建立帳戶"
openRegistrationWarning: "開放註冊伴隨著風險。 建議只有在伺服器受到持續監控,並準備好在出現問題時能立即處理的情況下才開放註冊。"
thisSettingWillAutomaticallyOffWhenModeratorsInactive: "如果在一段期間內沒有偵測到任何審查員活動,此設定將自動關閉,以防止垃圾內容。"
_accountMigration: _accountMigration:
moveFrom: "從其他帳戶遷移到這個帳戶" moveFrom: "從其他帳戶遷移到這個帳戶"
moveFromSub: "為另一個帳戶建立別名" moveFromSub: "為另一個帳戶建立別名"
@ -1451,7 +1612,7 @@ _accountMigration:
startMigration: "遷移" startMigration: "遷移"
migrationConfirm: "確定要將這個帳戶遷移至 {account} 嗎?一旦遷移就無法撤銷,也就無法以原來的狀態使用這個帳戶。\n另外請確認在要遷移到的帳戶已經建立了一個別名。" migrationConfirm: "確定要將這個帳戶遷移至 {account} 嗎?一旦遷移就無法撤銷,也就無法以原來的狀態使用這個帳戶。\n另外請確認在要遷移到的帳戶已經建立了一個別名。"
movedAndCannotBeUndone: "帳戶已遷移。\n遷移無法撤消。" movedAndCannotBeUndone: "帳戶已遷移。\n遷移無法撤消。"
postMigrationNote: "取消追蹤此帳戶將在遷移操作後 24 小時執行。\n 此帳戶有 0 個關注者/關注者。 您的關注者仍然可以看到此帳戶的關注者帖子,因為您不會被取消關注。" postMigrationNote: "將在完成遷移的 24 小時後取消追隨所有帳號。\n此帳戶的追隨中/追隨者人數將歸零。由於不會解除粉絲對您的追隨,因此他們仍然可以繼續閱覽此帳戶內僅對追隨者公開的貼文。"
movedTo: "要遷移到的帳戶:" movedTo: "要遷移到的帳戶:"
_achievements: _achievements:
earnedAt: "獲得日期" earnedAt: "獲得日期"
@ -1734,6 +1895,8 @@ _role:
descriptionOfIsExplorable: "若開啟則公開角色時間軸。若角色不是公開的,則無法公開時間軸。" descriptionOfIsExplorable: "若開啟則公開角色時間軸。若角色不是公開的,則無法公開時間軸。"
displayOrder: "顯示順序" displayOrder: "顯示順序"
descriptionOfDisplayOrder: "數字越大顯示在UI上的越上面。" descriptionOfDisplayOrder: "數字越大顯示在UI上的越上面。"
preserveAssignmentOnMoveAccount: "將指派狀態承接至轉移後的帳戶"
preserveAssignmentOnMoveAccount_description: "開啟此選項後,當具備此角色的帳戶被移轉時,該角色也會承接至轉移後的帳戶。"
canEditMembersByModerator: "允許編輯審查員的成員" canEditMembersByModerator: "允許編輯審查員的成員"
descriptionOfCanEditMembersByModerator: "如果開啟,管理員與審查員都可以為使用者指派/解除指派該角色。如果關閉,則只有管理員可以執行。" descriptionOfCanEditMembersByModerator: "如果開啟,管理員與審查員都可以為使用者指派/解除指派該角色。如果關閉,則只有管理員可以執行。"
priority: "優先級" priority: "優先級"
@ -1753,6 +1916,7 @@ _role:
canManageCustomEmojis: "管理自訂表情符號" canManageCustomEmojis: "管理自訂表情符號"
canManageAvatarDecorations: "管理頭像裝飾" canManageAvatarDecorations: "管理頭像裝飾"
driveCapacity: "雲端硬碟容量" driveCapacity: "雲端硬碟容量"
maxFileSize: "可上傳的最大檔案大小"
alwaysMarkNsfw: "總是將檔案標記為NSFW" alwaysMarkNsfw: "總是將檔案標記為NSFW"
canUpdateBioMedia: "允許更新大頭貼和橫幅" canUpdateBioMedia: "允許更新大頭貼和橫幅"
pinMax: "置頂貼文的最大數量" pinMax: "置頂貼文的最大數量"
@ -1768,12 +1932,13 @@ _role:
canHideAds: "不顯示廣告" canHideAds: "不顯示廣告"
canSearchNotes: "可否搜尋貼文" canSearchNotes: "可否搜尋貼文"
canUseTranslator: "使用翻譯功能" canUseTranslator: "使用翻譯功能"
avatarDecorationLimit: "頭像裝飾的最大設置量" avatarDecorationLimit: "頭像可掛上的最大裝飾數量"
canImportAntennas: "允許匯入天線" canImportAntennas: "允許匯入天線"
canImportBlocking: "允許匯入封鎖名單" canImportBlocking: "允許匯入封鎖名單"
canImportFollowing: "允許匯入隨名單" canImportFollowing: "允許匯入隨名單"
canImportMuting: "允許匯入靜音名單" canImportMuting: "允許匯入靜音名單"
canImportUserLists: "允許匯入清單" canImportUserLists: "允許匯入清單"
chatAvailability: "允許聊天"
_condition: _condition:
roleAssignedTo: "手動指派角色完成" roleAssignedTo: "手動指派角色完成"
isLocal: "本地使用者" isLocal: "本地使用者"
@ -1927,7 +2092,7 @@ _instanceMute:
instanceMuteDescription: "包括對被靜音伺服器上的使用者的回覆,被設定的伺服器上所有貼文及轉發都會被靜音。" instanceMuteDescription: "包括對被靜音伺服器上的使用者的回覆,被設定的伺服器上所有貼文及轉發都會被靜音。"
instanceMuteDescription2: "設定時以換行進行分隔" instanceMuteDescription2: "設定時以換行進行分隔"
title: "將隱藏被設定的伺服器貼文。" title: "將隱藏被設定的伺服器貼文。"
heading: "將伺服器靜音" heading: "要靜音的伺服器"
_theme: _theme:
explore: "探索佈景主題" explore: "探索佈景主題"
install: "安裝佈景主題" install: "安裝佈景主題"
@ -1937,6 +2102,7 @@ _theme:
installed: "{name}已安裝" installed: "{name}已安裝"
installedThemes: "已經安裝的佈景主題" installedThemes: "已經安裝的佈景主題"
builtinThemes: "標準佈景主題" builtinThemes: "標準佈景主題"
instanceTheme: "伺服器的主題"
alreadyInstalled: "已安裝此佈景主題" alreadyInstalled: "已安裝此佈景主題"
invalid: "佈景主題格式錯誤" invalid: "佈景主題格式錯誤"
make: "製作佈景主題" make: "製作佈景主題"
@ -1969,7 +2135,6 @@ _theme:
header: "標題" header: "標題"
navBg: "側邊欄的背景 " navBg: "側邊欄的背景 "
navFg: "側邊欄的文字" navFg: "側邊欄的文字"
navHoverFg: "側邊欄文字(懸浮) "
navActive: "側邊欄文字(活動)" navActive: "側邊欄文字(活動)"
navIndicator: "側邊欄指示符" navIndicator: "側邊欄指示符"
link: "連結" link: "連結"
@ -1992,17 +2157,15 @@ _theme:
buttonHoverBg: "按鈕背景 (漂浮)" buttonHoverBg: "按鈕背景 (漂浮)"
inputBorder: "輸入框邊框" inputBorder: "輸入框邊框"
driveFolderBg: "雲端硬碟文件夾背景" driveFolderBg: "雲端硬碟文件夾背景"
wallpaperOverlay: "壁紙覆蓋層"
badge: "徽章" badge: "徽章"
messageBg: "私訊背景" messageBg: "私訊背景"
accentDarken: "強調色(黑暗)"
accentLighten: "強調色(明亮)"
fgHighlighted: "突顯文字" fgHighlighted: "突顯文字"
_sfx: _sfx:
note: "貼文" note: "貼文"
noteMy: "我的貼文" noteMy: "我的貼文"
notification: "通知" notification: "通知"
reaction: "選擇反應時" reaction: "選擇反應時"
chatMessage: "聊天訊息"
_soundSettings: _soundSettings:
driveFile: "使用雲端硬碟的音效檔案" driveFile: "使用雲端硬碟的音效檔案"
driveFileWarn: "請選擇雲端硬碟中的檔案" driveFileWarn: "請選擇雲端硬碟中的檔案"
@ -2046,11 +2209,11 @@ _2fa:
setupCompleted: "設定完成" setupCompleted: "設定完成"
step4: "從現在開始,任何登入操作都將要求您提供權杖。" step4: "從現在開始,任何登入操作都將要求您提供權杖。"
securityKeyNotSupported: "您的瀏覽器不支援安全金鑰。" securityKeyNotSupported: "您的瀏覽器不支援安全金鑰。"
registerTOTPBeforeKey: "如要註冊安全金鑰或 Passkey,請先設定驗證應用程式。" registerTOTPBeforeKey: "如要註冊安全金鑰或通行金鑰,請先設定驗證應用程式。"
securityKeyInfo: "您可以設定使用支援 FIDO2 的硬體安全鎖、終端設備的指紋認證,或者 PIN 碼來登入。" securityKeyInfo: "註冊 WebAuthn 衍生的金鑰,例如支援 FIDO2 的硬體安全金鑰、裝置生物識別、PIN 鎖和通行金鑰。"
registerSecurityKey: "註冊安全金鑰或 Passkey" registerSecurityKey: "註冊安全金鑰或通行金鑰"
securityKeyName: "輸入金鑰名稱" securityKeyName: "輸入金鑰名稱"
tapSecurityKey: "按照瀏覽器的說明註冊安全金鑰或 Passkey。" tapSecurityKey: "按照瀏覽器的說明註冊安全金鑰或通行金鑰。"
removeKey: "刪除安全金鑰" removeKey: "刪除安全金鑰"
removeKeyConfirm: "要刪除{name}嗎?" removeKeyConfirm: "要刪除{name}嗎?"
whyTOTPOnlyRenew: "如果註冊了安全金鑰,則無法解除驗證應用程式的設定。" whyTOTPOnlyRenew: "如果註冊了安全金鑰,則無法解除驗證應用程式的設定。"
@ -2149,6 +2312,8 @@ _permissions:
"read:clip-favorite": "查看摘錄的讚" "read:clip-favorite": "查看摘錄的讚"
"read:federation": "查看站台聯邦的相關資訊" "read:federation": "查看站台聯邦的相關資訊"
"write:report-abuse": "檢舉違規行為" "write:report-abuse": "檢舉違規行為"
"write:chat": "撰寫或刪除訊息"
"read:chat": "查看聊天訊息"
_auth: _auth:
shareAccessTitle: "應用程式的存取權限" shareAccessTitle: "應用程式的存取權限"
shareAccess: "要授權「“{name}”」存取您的帳戶嗎?" shareAccess: "要授權「“{name}”」存取您的帳戶嗎?"
@ -2157,8 +2322,11 @@ _auth:
permissionAsk: "此應用程式需要以下權限" permissionAsk: "此應用程式需要以下權限"
pleaseGoBack: "請返回至應用程式" pleaseGoBack: "請返回至應用程式"
callback: "回到應用程式" callback: "回到應用程式"
accepted: "已授予存取權限"
denied: "拒絕訪問" denied: "拒絕訪問"
scopeUser: "以下列使用者身分操作"
pleaseLogin: "必須登入以提供應用程式的存取權限。" pleaseLogin: "必須登入以提供應用程式的存取權限。"
byClickingYouWillBeRedirectedToThisUrl: "如果授予存取權限,就會自動導向到以下的網址"
_antennaSources: _antennaSources:
all: "全部貼文" all: "全部貼文"
homeTimeline: "來自已追隨使用者的貼文" homeTimeline: "來自已追隨使用者的貼文"
@ -2204,6 +2372,7 @@ _widgets:
chooseList: "選擇清單" chooseList: "選擇清單"
clicker: "點擊器" clicker: "點擊器"
birthdayFollowings: "今天生日的使用者" birthdayFollowings: "今天生日的使用者"
chat: "聊天"
_cw: _cw:
hide: "隱藏" hide: "隱藏"
show: "顯示內容" show: "顯示內容"
@ -2262,14 +2431,14 @@ _profile:
metadataEdit: "編輯附加資訊" metadataEdit: "編輯附加資訊"
metadataDescription: "可以在個人資料中以表格形式顯示其他資訊。" metadataDescription: "可以在個人資料中以表格形式顯示其他資訊。"
metadataLabel: "標籤" metadataLabel: "標籤"
metadataContent: "容" metadataContent: "容"
changeAvatar: "更換大頭貼" changeAvatar: "更換大頭貼"
changeBanner: "變更橫幅圖像" changeBanner: "變更橫幅圖像"
verifiedLinkDescription: "如果輸入包含您個人資料的網站 URL欄位旁邊將出現驗證圖示。" verifiedLinkDescription: "如果輸入包含您個人資料的網站 URL欄位旁邊將出現驗證圖示。"
avatarDecorationMax: "最多可以設置 {max} 個裝飾。" avatarDecorationMax: "最多可以設置 {max} 個裝飾。"
followedMessage: "被追隨時的訊息" followedMessage: "被追隨時的訊息"
followedMessageDescription: "可以設定被追隨時顯示給對方的訊息。" followedMessageDescription: "可以設定被追隨時顯示給對方的訊息。"
followedMessageDescriptionForLockedAccount: "如果追隨是需要審核的話,在允許追隨請求之後顯示。" followedMessageDescriptionForLockedAccount: "如果追隨需要核准的話,將在通過追隨請求之後顯示。"
_exportOrImport: _exportOrImport:
allNotes: "所有貼文" allNotes: "所有貼文"
favoritedNotes: "「我的最愛」貼文" favoritedNotes: "「我的最愛」貼文"
@ -2332,9 +2501,6 @@ _pages:
newPage: "建立頁面" newPage: "建立頁面"
editPage: "編輯頁面" editPage: "編輯頁面"
readPage: "正在檢視原始碼" readPage: "正在檢視原始碼"
created: "頁面已建立"
updated: "頁面已更新"
deleted: "頁面已被刪除"
pageSetting: "頁面設定" pageSetting: "頁面設定"
nameAlreadyExists: "該頁面 URL 已存在" nameAlreadyExists: "該頁面 URL 已存在"
invalidNameTitle: "無效的頁面 URL" invalidNameTitle: "無效的頁面 URL"
@ -2378,7 +2544,7 @@ _pages:
note: "嵌式貼文" note: "嵌式貼文"
_note: _note:
id: "貼文ID" id: "貼文ID"
idDescription: "您也可以粘貼筆記 URL 並進行設置。 " idDescription: "您也可以貼上貼文 URL 來進行設定。 "
detailed: "顯示詳細內容" detailed: "顯示詳細內容"
_relayStatus: _relayStatus:
requesting: "等待核准" requesting: "等待核准"
@ -2392,11 +2558,12 @@ _notification:
youRenoted: "{name} 轉發了你的貼文" youRenoted: "{name} 轉發了你的貼文"
youWereFollowed: "您有新的追隨者" youWereFollowed: "您有新的追隨者"
youReceivedFollowRequest: "您有新的追隨請求" youReceivedFollowRequest: "您有新的追隨請求"
yourFollowRequestAccepted: "您的追隨請求已通過" yourFollowRequestAccepted: "您的追隨請求已被核准"
pollEnded: "問卷調查已產生結果" pollEnded: "問卷調查已產生結果"
newNote: "新的貼文" newNote: "新的貼文"
unreadAntennaNote: "天線 {name}" unreadAntennaNote: "天線 {name}"
roleAssigned: "已授予角色" roleAssigned: "已授予角色"
chatRoomInvitationReceived: "您被邀請加入聊天室"
emptyPushNotificationMessage: "推送通知已更新" emptyPushNotificationMessage: "推送通知已更新"
achievementEarned: "獲得成就" achievementEarned: "獲得成就"
testNotification: "通知測試" testNotification: "通知測試"
@ -2410,22 +2577,26 @@ _notification:
flushNotification: "重置通知歷史紀錄" flushNotification: "重置通知歷史紀錄"
exportOfXCompleted: "{x} 的匯出已完成。" exportOfXCompleted: "{x} 的匯出已完成。"
login: "已登入" login: "已登入"
createToken: "已產生存取權杖"
createTokenDescription: "如果您不知道,請透過「{text}」刪除存取權杖。"
_types: _types:
all: "全部 " all: "全部 "
note: "使用者的最新貼文" note: "使用者的最新貼文"
follow: "追隨中" follow: "追隨中"
mention: "提及" mention: "提及"
reply: "回覆" reply: "回覆"
renote: "轉發貼文" renote: "轉發"
quote: "引用" quote: "引用"
reaction: "反應" reaction: "反應"
pollEnded: "問卷調查結束" pollEnded: "問卷調查結束"
receiveFollowRequest: "已收到追隨請求" receiveFollowRequest: "已收到追隨請求"
followRequestAccepted: "追隨請求已接受" followRequestAccepted: "追隨請求已接受"
roleAssigned: "已授予角色" roleAssigned: "已授予角色"
chatRoomInvitationReceived: "已被邀請加入聊天室"
achievementEarned: "獲得成就" achievementEarned: "獲得成就"
exportCompleted: "已完成匯出。" exportCompleted: "已完成匯出。"
login: "登入" login: "登入"
createToken: "建立存取權杖"
test: "通知測試" test: "通知測試"
app: "應用程式通知" app: "應用程式通知"
_actions: _actions:
@ -2435,6 +2606,9 @@ _notification:
_deck: _deck:
alwaysShowMainColumn: "總是顯示主欄" alwaysShowMainColumn: "總是顯示主欄"
columnAlign: "對齊欄位" columnAlign: "對齊欄位"
columnGap: "欄與欄之間的邊距"
deckMenuPosition: "多欄模式的選單位置"
navbarPosition: "導覽列位置"
addColumn: "新增欄位" addColumn: "新增欄位"
newNoteNotificationSettings: "新貼文通知的設定" newNoteNotificationSettings: "新貼文通知的設定"
configureColumn: "欄位的設定" configureColumn: "欄位的設定"
@ -2453,6 +2627,7 @@ _deck:
useSimpleUiForNonRootPages: "用簡易介面顯示非根頁面" useSimpleUiForNonRootPages: "用簡易介面顯示非根頁面"
usedAsMinWidthWhenFlexible: "如果啟用「自動調整寬度」,此為最小寬度" usedAsMinWidthWhenFlexible: "如果啟用「自動調整寬度」,此為最小寬度"
flexible: "自動調整寬度" flexible: "自動調整寬度"
enableSyncBetweenDevicesForProfiles: "啟用裝置與裝置之間的設定檔資料同步化"
_columns: _columns:
main: "主列" main: "主列"
widgets: "小工具" widgets: "小工具"
@ -2464,6 +2639,7 @@ _deck:
mentions: "提及" mentions: "提及"
direct: "指定使用者" direct: "指定使用者"
roleTimeline: "角色時間軸" roleTimeline: "角色時間軸"
chat: "聊天"
_dialog: _dialog:
charactersExceeded: "您的貼文太長了!現時字數 {current}/限制字數 {max}" charactersExceeded: "您的貼文太長了!現時字數 {current}/限制字數 {max}"
charactersBelow: "您的貼文太短了!現時字數 {current}/限制字數 {min}" charactersBelow: "您的貼文太短了!現時字數 {current}/限制字數 {min}"
@ -2560,6 +2736,8 @@ _moderationLogTypes:
deletePage: "刪除頁面" deletePage: "刪除頁面"
deleteFlash: "刪除 Play" deleteFlash: "刪除 Play"
deleteGalleryPost: "刪除相簿的貼文" deleteGalleryPost: "刪除相簿的貼文"
deleteChatRoom: "刪除聊天室"
updateProxyAccountDescription: "更新代理帳戶的說明"
_fileViewer: _fileViewer:
title: "檔案詳細資訊" title: "檔案詳細資訊"
type: "檔案類型 " type: "檔案類型 "
@ -2573,10 +2751,8 @@ _externalResourceInstaller:
checkVendorBeforeInstall: "安裝前請確認提供者是可信賴的。" checkVendorBeforeInstall: "安裝前請確認提供者是可信賴的。"
_plugin: _plugin:
title: "要安裝此外掛嘛?" title: "要安裝此外掛嘛?"
metaTitle: "外掛資訊"
_theme: _theme:
title: "要安裝此佈景主題嗎?" title: "要安裝此佈景主題嗎?"
metaTitle: "佈景主題資訊"
_meta: _meta:
base: "基本配色方案" base: "基本配色方案"
_vendorInfo: _vendorInfo:
@ -2602,7 +2778,7 @@ _externalResourceInstaller:
description: "已取得資料但解析 AiScript 時發生錯誤,導致無法載入。請聯絡外掛作者。請檢查 Javascript 控制台以取得錯誤詳細資訊。" description: "已取得資料但解析 AiScript 時發生錯誤,導致無法載入。請聯絡外掛作者。請檢查 Javascript 控制台以取得錯誤詳細資訊。"
_pluginInstallFailed: _pluginInstallFailed:
title: "外掛安裝失敗" title: "外掛安裝失敗"
description: "安裝插件時出現問題。請再試一次。請參閱 Javascript 控制台以取得錯誤詳細資訊。" description: "安裝外掛時出現問題。請再試一次。可參閱 Javascript 控制台以取得錯誤詳細資訊。"
_themeParseFailed: _themeParseFailed:
title: "佈景主題解析錯誤" title: "佈景主題解析錯誤"
description: "已取得資料但解析佈景主題時發生錯誤,導致無法載入。請聯絡佈景主題的作者。請檢查 Javascript 控制台以取得錯誤詳細資訊。" description: "已取得資料但解析佈景主題時發生錯誤,導致無法載入。請聯絡佈景主題的作者。請檢查 Javascript 控制台以取得錯誤詳細資訊。"
@ -2621,11 +2797,11 @@ _dataSaver:
description: "將不再自動載入網址預覽縮圖。" description: "將不再自動載入網址預覽縮圖。"
_code: _code:
title: "程式碼突出顯示" title: "程式碼突出顯示"
description: "如果使用了 MFM 的程式碼突顯標記,則在點擊之前不會載入。程式碼突顯要求加載每種程式語言的突顯定義檔案,但由於這些檔案不再自動載入,因此有望減少資料流量。" description: "如果使用了程式碼突顯語法(如 MFM則在點擊之前不會被載入。由於需要為對應的程式語言下載突顯定義檔案因此關閉自動載入有助於減少資料流量。"
_hemisphere: _hemisphere:
N: "北半球" N: "北半球"
S: "南半球" S: "南半球"
caption: "在某些客戶端的設定中,用於判斷季節。" caption: "某些客戶端的設定會用此來判斷季節。"
_reversi: _reversi:
reversi: "黑白棋" reversi: "黑白棋"
gameSettings: "對弈設定" gameSettings: "對弈設定"
@ -2696,6 +2872,66 @@ _contextMenu:
app: "應用程式" app: "應用程式"
appWithShift: "Shift 鍵應用程式" appWithShift: "Shift 鍵應用程式"
native: "瀏覽器的使用者介面" native: "瀏覽器的使用者介面"
_gridComponent:
_error:
requiredValue: "此值為必填欄位"
columnTypeNotSupport: "正規表達式驗證僅支援 type:text 的欄位。"
patternNotMatch: "此值不符合 {pattern} 中的樣式。"
notUnique: "此值必須是唯一的"
_roleSelectDialog:
notSelected: "未選擇"
_customEmojisManager:
_gridCommon:
copySelectionRows: "複製選取的行"
copySelectionRanges: "複製選取的範圍"
deleteSelectionRows: "刪除所選的行"
deleteSelectionRanges: "刪除選取範圍的行"
searchSettings: "搜尋設定"
searchSettingCaption: "詳細設定搜尋條件。"
searchLimit: "顯示的數量"
sortOrder: "排序"
registrationLogs: "登錄日誌"
registrationLogsCaption: "會顯示更新或刪除表情符號時的日誌。進行更新或刪除操作,或切換頁面、重新載入後,日誌將會消失。"
alertEmojisRegisterFailedDescription: "更新或刪除表情符號失敗。詳情請查看登錄日誌。"
_logs:
showSuccessLogSwitch: "顯示成功日誌"
failureLogNothing: "沒有失敗的日誌。"
logNothing: "沒有日誌。"
_remote:
selectionRowDetail: "選取行的詳細資訊"
importSelectionRows: "匯入選取的行"
importSelectionRangesRows: "匯入選取範圍的行"
importEmojisButton: "匯入勾選的表情符號"
confirmImportEmojisTitle: "匯入表情符號"
confirmImportEmojisDescription: "將從遠端接收的{count}個表情符號進行匯入。請務必注意表情符號的授權。是否執行此操作?"
_local:
tabTitleList: "已登錄的表情符號列表"
tabTitleRegister: "登錄表情符號"
_list:
emojisNothing: "沒有登錄的表情符號。"
markAsDeleteTargetRows: "將選取的行設為刪除對象"
markAsDeleteTargetRanges: "將選取範圍的行設為刪除對象\n"
alertUpdateEmojisNothingDescription: "沒有選取需要變更的表情符號。"
alertDeleteEmojisNothingDescription: "沒有選取需要刪除的表情符號。"
confirmMovePage: "要移動到其他頁面嗎?"
confirmChangeView: "要更改顯示方式嗎?"
confirmUpdateEmojisDescription: "將更新{count}個表情符號。是否執行此操作?"
confirmDeleteEmojisDescription: "將刪除勾選的{count}個表情符號。是否執行此操作?"
confirmResetDescription: "目前所做的所有變更都會重設。"
confirmMovePageDesciption: "此頁面的表情符號已被更改。 \n若未儲存就直接離開此頁面則在此頁面進行的所有更改將會被捨棄。"
dialogSelectRoleTitle: "根據表情符號設定的角色進行搜尋"
_register:
uploadSettingTitle: "上傳設定"
uploadSettingDescription: "您可以在此畫面設定表情符號上傳時的操作。"
directoryToCategoryLabel: "在「類別」欄位中輸入目錄名稱"
directoryToCategoryCaption: "拖放目錄時,請在「類別」欄位中輸入目錄名稱。"
emojiInputAreaCaption: "以下列其中一種方式選擇您想要註冊的表情符號"
emojiInputAreaList1: "將圖片檔案或目錄拖放到此框中"
emojiInputAreaList2: "點擊此連結從電腦中選擇"
emojiInputAreaList3: "點擊此連結從雲端硬碟中選擇"
confirmRegisterEmojisDescription: "將列表中顯示的表情符號登錄為新的自定表情符號。是否確定?(為避免過高負荷,每次操作最多可登錄{count}個表情符號)"
confirmClearEmojisDescription: "放棄編輯內容並清除列表中顯示的表情符號。是否確定?"
confirmUploadEmojisDescription: "將拖放的{count}個檔案上傳到雲端硬碟。是否執行此操作?"
_embedCodeGen: _embedCodeGen:
title: "自訂嵌入程式碼" title: "自訂嵌入程式碼"
header: "檢視標頭 " header: "檢視標頭 "
@ -2710,3 +2946,61 @@ _embedCodeGen:
generateCode: "建立嵌入程式碼" generateCode: "建立嵌入程式碼"
codeGenerated: "已產生程式碼" codeGenerated: "已產生程式碼"
codeGeneratedDescription: "請將產生的程式碼貼到您的網站上。" codeGeneratedDescription: "請將產生的程式碼貼到您的網站上。"
_selfXssPrevention:
warning: "警告"
title: "「在此畫面貼上一些內容」完全是個騙局。"
description1: "如果您在此處貼上任何內容,惡意使用者可能會接管您的帳戶或竊取您的個人資訊。"
description2: "如果您不確切知道要貼上的內容,%c 請立即停止工作並關閉此視窗。"
description3: "細節請看這裡。{link}"
_followRequest:
recieved: "收到的請求"
sent: "送出的請求"
_remoteLookupErrors:
_federationNotAllowed:
title: "無法與這個伺服器通訊"
description: "與此伺服器的通訊可能被停用、或封鎖了該伺服器,或被該伺服器封鎖。\n請聯繫您的伺服器管理員。"
_uriInvalid:
title: "URI 不正確"
description: "輸入的 URI 有問題。請檢查是否輸入了 URI 中不能使用的字元。"
_requestFailed:
title: "請求失敗"
description: "與此伺服器的通訊失敗。可能是對方伺服器斷線。 此外,請檢查是否輸入了不正確或不存在的 URI。"
_responseInvalid:
title: "回應不正確"
description: "雖然能夠與這個伺服器通訊,但是取得的資料不正確。"
_noSuchObject:
title: "查無項目"
description: "無法找到所要求的資源,請再次檢查 URI。"
_captcha:
verify: "請通過 CAPTCHA 驗證"
testSiteKeyMessage: "可以輸入網站金鑰和秘密金鑰的測試值來檢查預覽。\n詳細資訊請參閱以下頁面。"
_error:
_requestFailed:
title: "CAPTCHA 請求失敗"
text: "請過一段時間後再執行,或再次檢查設定。"
_verificationFailed:
title: "CAPTCHA 驗證失敗"
text: "請再次檢查設定是否正確。"
_unknown:
title: "CAPTCHA 錯誤"
text: "發生了意外的錯誤。"
_bootErrors:
title: "載入失敗"
serverError: "如果稍等片刻並重新載入後問題仍然存在,請聯絡您的伺服器管理員並提供以下的錯誤 ID。"
solution: "執行以下操作或許可以解決問題。"
solution1: "將瀏覽器和作業系統更新至最新版本"
solution2: "停用廣告攔截器"
solution3: "清除瀏覽器的快取"
solution4: "Tor 瀏覽器)將 dom.webaudio.enabled 設為 true"
otherOption: "其他選項"
otherOption1: "刪除用戶端設定和快取"
otherOption2: "啟動簡易用戶端"
otherOption3: "啟動修復工具"
_search:
searchScopeAll: "全部"
searchScopeLocal: "本地"
searchScopeServer: "指定伺服器"
searchScopeUser: "指定使用者"
pleaseEnterServerHost: "請輸入伺服器的主機名稱"
pleaseSelectUser: "請選擇使用者"
serverHostPlaceholder: "例misskey.example.com"

View file

@ -1,6 +1,6 @@
{ {
"name": "sharkey", "name": "sharkey",
"version": "2024.9.1", "version": "2025.4.4",
"codename": "shonk", "codename": "shonk",
"repository": { "repository": {
"type": "git", "type": "git",
@ -27,9 +27,9 @@
"start": "pnpm check:connect && cd packages/backend && MK_WARNED_ABOUT_CONFIG=true node ./built/boot/entry.js", "start": "pnpm check:connect && cd packages/backend && MK_WARNED_ABOUT_CONFIG=true node ./built/boot/entry.js",
"start:test": "cd packages/backend && cross-env NODE_ENV=test node ./built/boot/entry.js", "start:test": "cd packages/backend && cross-env NODE_ENV=test node ./built/boot/entry.js",
"init": "pnpm migrate", "init": "pnpm migrate",
"migrate": "cd packages/backend && pnpm migrate", "migrate": "pnpm --filter backend migrate",
"revert": "cd packages/backend && pnpm revert", "revert": "pnpm --filter backend revert",
"check:connect": "cd packages/backend && pnpm check:connect", "check:connect": "pnpm --filter backend check:connect",
"migrateandstart": "pnpm migrate && pnpm start", "migrateandstart": "pnpm migrate && pnpm start",
"watch": "pnpm dev", "watch": "pnpm dev",
"dev": "node scripts/dev.mjs", "dev": "node scripts/dev.mjs",
@ -40,7 +40,7 @@
"cy:open": "pnpm cypress open --browser --e2e --config-file=cypress.config.ts", "cy:open": "pnpm cypress open --browser --e2e --config-file=cypress.config.ts",
"cy:run": "pnpm cypress run", "cy:run": "pnpm cypress run",
"e2e": "pnpm start-server-and-test start:test http://localhost:61812 cy:run", "e2e": "pnpm start-server-and-test start:test http://localhost:61812 cy:run",
"e2e-dev-container": "cp ./.config/cypress-devcontainer.yml ./.config/test.yml && pnpm start-server-and-test start:test http://localhost:61812 cy:run", "e2e-dev-container": "ncp ./.config/cypress-devcontainer.yml ./.config/test.yml && pnpm start-server-and-test start:test http://localhost:61812 cy:run",
"jest": "cd packages/backend && pnpm jest", "jest": "cd packages/backend && pnpm jest",
"jest-and-coverage": "cd packages/backend && pnpm jest-and-coverage", "jest-and-coverage": "cd packages/backend && pnpm jest-and-coverage",
"test": "pnpm -r test", "test": "pnpm -r test",
@ -50,32 +50,35 @@
"cleanall": "pnpm clean-all" "cleanall": "pnpm clean-all"
}, },
"resolutions": { "resolutions": {
"chokidar": "3.5.3", "chokidar": "4.0.3",
"lodash": "4.17.21" "lodash": "4.17.21"
}, },
"dependencies": { "dependencies": {
"cssnano": "6.1.2", "js-yaml": "4.1.0"
"execa": "8.0.1", },
"fast-glob": "3.3.2", "optionalDependencies": {
"ignore-walk": "6.0.5", "cypress": "14.3.2"
"js-yaml": "4.1.0",
"postcss": "8.4.47",
"tar": "6.2.1",
"terser": "5.33.0",
"typescript": "5.6.2",
"esbuild": "0.23.1",
"glob": "11.0.0"
}, },
"devDependencies": { "devDependencies": {
"@misskey-dev/eslint-plugin": "2.0.3", "@misskey-dev/eslint-plugin": "2.1.0",
"@types/node": "20.14.12", "@types/node": "22.15.2",
"@typescript-eslint/eslint-plugin": "7.17.0", "@typescript-eslint/eslint-plugin": "8.31.0",
"@typescript-eslint/parser": "7.17.0", "@typescript-eslint/parser": "8.31.0",
"cross-env": "7.0.3", "cross-env": "7.0.3",
"cypress": "13.14.2", "cssnano": "7.0.6",
"eslint": "9.8.0", "esbuild": "0.25.3",
"globals": "15.9.0", "eslint": "9.25.1",
"execa": "9.5.2",
"fast-glob": "3.3.3",
"glob": "11.0.2",
"globals": "16.1.0",
"ncp": "2.0.0", "ncp": "2.0.0",
"start-server-and-test": "2.0.8" "pnpm": "9.6.0",
"ignore-walk": "7.0.0",
"postcss": "8.5.3",
"start-server-and-test": "2.0.11",
"tar": "7.4.3",
"terser": "5.39.0",
"typescript": "5.8.3"
} }
} }

View file

@ -1,5 +1,5 @@
{ {
"$schema": "https://json.schemastore.org/swcrc", "$schema": "https://swc.rs/schema.json",
"jsc": { "jsc": {
"parser": { "parser": {
"syntax": "typescript", "syntax": "typescript",

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

View file

@ -12,7 +12,7 @@ export default [
languageOptions: { languageOptions: {
parserOptions: { parserOptions: {
parser: tsParser, parser: tsParser,
project: ['./tsconfig.json', './test/tsconfig.json'], project: ['./tsconfig.json', './test/tsconfig.json', './test-federation/tsconfig.json'],
sourceType: 'module', sourceType: 'module',
tsconfigRootDir: import.meta.dirname, tsconfigRootDir: import.meta.dirname,
}, },

View file

@ -0,0 +1,13 @@
/*
* For a detailed explanation regarding each configuration property and type check, visit:
* https://jestjs.io/docs/en/configuration.html
*/
const base = require('./jest.config.cjs');
module.exports = {
...base,
testMatch: [
'<rootDir>/test-federation/test/**/*.test.ts',
],
};

View file

@ -0,0 +1,17 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
export class ScheduleNote1699437894737 {
name = 'ScheduleNote1699437894737'
async up(queryRunner) {
await queryRunner.query(`CREATE TABLE "note_schedule" ("id" character varying(32) NOT NULL, "note" jsonb NOT NULL, "userId" character varying(260) NOT NULL, "scheduledAt" TIMESTAMP WITH TIME ZONE NOT NULL, CONSTRAINT "PK_3a1ae2db41988f4994268218436" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_e798958c40009bf0cdef4f28b5" ON "note_schedule" ("userId") `);
}
async down(queryRunner) {
await queryRunner.query(`DROP TABLE "note_schedule"`);
}
}

View file

@ -0,0 +1,18 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
export class OptimizeEmojiIndex1709126576000 {
name = 'OptimizeEmojiIndex1709126576000'
async up(queryRunner) {
await queryRunner.query(`CREATE INDEX "IDX_EMOJI_ROLE_IDS" ON "emoji" using gin ("roleIdsThatCanBeUsedThisEmojiAsReaction")`)
await queryRunner.query(`CREATE INDEX "IDX_EMOJI_CATEGORY" ON "emoji" ("category")`)
}
async down(queryRunner) {
await queryRunner.query(`DROP INDEX "IDX_EMOJI_CATEGORY"`)
await queryRunner.query(`DROP INDEX "IDX_EMOJI_ROLE_IDS"`)
}
}

View file

@ -0,0 +1,16 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
export class EnableStatsForFederatedInstances1727318020265 {
name = 'EnableStatsForFederatedInstances1727318020265'
async up(queryRunner) {
await queryRunner.query(`ALTER TABLE "meta" ADD "enableStatsForFederatedInstances" boolean NOT NULL DEFAULT true`);
}
async down(queryRunner) {
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "enableStatsForFederatedInstances"`);
}
}

View file

@ -0,0 +1,18 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
export class RefineAbuseUserReport1728085812127 {
name = 'RefineAbuseUserReport1728085812127'
async up(queryRunner) {
await queryRunner.query(`ALTER TABLE "abuse_user_report" ADD "moderationNote" character varying(8192) NOT NULL DEFAULT ''`);
await queryRunner.query(`ALTER TABLE "abuse_user_report" ADD "resolvedAs" character varying(128)`);
}
async down(queryRunner) {
await queryRunner.query(`ALTER TABLE "abuse_user_report" DROP COLUMN "resolvedAs"`);
await queryRunner.query(`ALTER TABLE "abuse_user_report" DROP COLUMN "moderationNote"`);
}
}

View file

@ -0,0 +1,16 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
export class Testcaptcha1728550878802 {
name = 'Testcaptcha1728550878802'
async up(queryRunner) {
await queryRunner.query(`ALTER TABLE "meta" ADD "enableTestcaptcha" boolean NOT NULL DEFAULT false`);
}
async down(queryRunner) {
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "enableTestcaptcha"`);
}
}

View file

@ -0,0 +1,14 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
export class ProhibitedWordsForNameOfUser1728634286056 {
async up(queryRunner) {
await queryRunner.query(`ALTER TABLE "meta" ADD "prohibitedWordsForNameOfUser" character varying(1024) array NOT NULL DEFAULT '{}'`);
}
async down(queryRunner) {
await queryRunner.query(`ALTER TABLE "meta" DROP COLUMN "prohibitedWordsForNameOfUser"`);
}
}

View file

@ -0,0 +1,16 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
export class SigninRequiredForShowContents1729333924409 {
name = 'SigninRequiredForShowContents1729333924409'
async up(queryRunner) {
await queryRunner.query(`ALTER TABLE "user" ADD "requireSigninToViewContents" boolean NOT NULL DEFAULT false`);
}
async down(queryRunner) {
await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "requireSigninToViewContents"`);
}
}

View file

@ -0,0 +1,18 @@
/*
* SPDX-FileCopyrightText: syuilo and misskey-project
* SPDX-License-Identifier: AGPL-3.0-only
*/
export class MakeNotesHiddenBefore1729486255072 {
name = 'MakeNotesHiddenBefore1729486255072'
async up(queryRunner) {
await queryRunner.query(`ALTER TABLE "user" ADD "makeNotesFollowersOnlyBefore" integer`);
await queryRunner.query(`ALTER TABLE "user" ADD "makeNotesHiddenBefore" integer`);
}
async down(queryRunner) {
await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "makeNotesHiddenBefore"`);
await queryRunner.query(`ALTER TABLE "user" DROP COLUMN "makeNotesFollowersOnlyBefore"`);
}
}

View file

@ -0,0 +1,28 @@
/*
* SPDX-FileCopyrightText: hazelnoot and other Sharkey contributors
* SPDX-License-Identifier: AGPL-3.0-only
*/
export class AddActivityLog1731565470048 {
name = 'AddActivityLog1731565470048'
async up(queryRunner) {
await queryRunner.query(`CREATE TABLE "activity_context" ("md5" text NOT NULL, "json" jsonb NOT NULL, CONSTRAINT "PK_activity_context" PRIMARY KEY ("md5"))`);
await queryRunner.query(`CREATE INDEX "IDK_activity_context_md5" ON "activity_context" ("md5") `);
await queryRunner.query(`CREATE TABLE "activity_log" ("id" character varying(32) NOT NULL, "at" TIMESTAMP WITH TIME ZONE NOT NULL, "key_id" text NOT NULL, "host" text NOT NULL, "verified" boolean NOT NULL, "accepted" boolean NOT NULL, "result" text NOT NULL, "activity" jsonb NOT NULL, "context_hash" text, "auth_user_id" character varying(32), CONSTRAINT "PK_activity_log" PRIMARY KEY ("id"))`);
await queryRunner.query(`CREATE INDEX "IDX_activity_log_at" ON "activity_log" ("at") `);
await queryRunner.query(`CREATE INDEX "IDX_activity_log_host" ON "activity_log" ("host") `);
await queryRunner.query(`ALTER TABLE "activity_log" ADD CONSTRAINT "FK_activity_log_context_hash" FOREIGN KEY ("context_hash") REFERENCES "activity_context"("md5") ON DELETE CASCADE ON UPDATE NO ACTION`);
await queryRunner.query(`ALTER TABLE "activity_log" ADD CONSTRAINT "FK_activity_log_auth_user_id" FOREIGN KEY ("auth_user_id") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
}
async down(queryRunner) {
await queryRunner.query(`ALTER TABLE "activity_log" DROP CONSTRAINT "FK_activity_log_auth_user_id"`);
await queryRunner.query(`ALTER TABLE "activity_log" DROP CONSTRAINT "FK_activity_log_context_hash"`);
await queryRunner.query(`DROP INDEX "public"."IDX_activity_log_host"`);
await queryRunner.query(`DROP INDEX "public"."IDX_activity_log_at"`);
await queryRunner.query(`DROP TABLE "activity_log"`);
await queryRunner.query(`DROP INDEX "public"."IDK_activity_context_md5"`);
await queryRunner.query(`DROP TABLE "activity_context"`);
}
}

View file

@ -0,0 +1,19 @@
/*
* SPDX-FileCopyrightText: hazelnoot and other Sharkey contributors
* SPDX-License-Identifier: AGPL-3.0-only
*/
export class ActivityLogTiming1731909785724 {
name = 'ActivityLogTiming1731909785724'
async up(queryRunner) {
await queryRunner.query(`ALTER TABLE "activity_log" ADD "duration" double precision NOT NULL DEFAULT '0'`);
await queryRunner.query(`ALTER TABLE "activity_log" ALTER COLUMN "result" DROP NOT NULL`);
}
async down(queryRunner) {
await queryRunner.query(`UPDATE "activity_log" SET "result" = 'not processed' WHERE "result" IS NULL`);
await queryRunner.query(`ALTER TABLE "activity_log" ALTER COLUMN "result" SET NOT NULL`);
await queryRunner.query(`ALTER TABLE "activity_log" DROP COLUMN "duration"`);
}
}

View file

@ -0,0 +1,16 @@
/*
* SPDX-FileCopyrightText: hazelnoot and other Sharkey contributors
* SPDX-License-Identifier: AGPL-3.0-only
*/
export class RenameActivityLogIndexes1731910422761 {
name = 'RenameActivityLogIndexes1731910422761'
async up(queryRunner) {
await queryRunner.query(`DROP INDEX "public"."IDK_activity_context_md5"`);
}
async down(queryRunner) {
await queryRunner.query(`CREATE INDEX "IDK_activity_context_md5" ON "activity_context" ("md5") `);
}
}

View file

@ -0,0 +1,20 @@
/*
* SPDX-FileCopyrightText: hazelnoot and other Sharkey contributors
* SPDX-License-Identifier: AGPL-3.0-only
*/
export class NullableActivityLogDuration1731935047347 {
name = 'NullableActivityLogDuration1731935047347'
async up(queryRunner) {
await queryRunner.query(`ALTER TABLE "activity_log" ALTER COLUMN "duration" DROP NOT NULL`);
await queryRunner.query(`ALTER TABLE "activity_log" ALTER COLUMN "duration" DROP DEFAULT`);
await queryRunner.query(`UPDATE "activity_log" SET "duration" = NULL WHERE "duration" = 0`);
}
async down(queryRunner) {
await queryRunner.query(`UPDATE "activity_log" SET "duration" = 0 WHERE "duration" IS NULL`);
await queryRunner.query(`ALTER TABLE "activity_log" ALTER COLUMN "duration" SET DEFAULT '0'`);
await queryRunner.query(`ALTER TABLE "activity_log" ALTER COLUMN "duration" SET NOT NULL`);
}
}

Some files were not shown because too many files have changed in this diff Show more