* New translations ja-JP.yml (Korean)
* New translations ja-JP.yml (Korean)
* New translations ja-JP.yml (Korean)
* New translations ja-JP.yml (Korean)
* New translations ja-JP.yml (Korean)
* New translations ja-JP.yml (Esperanto)
* New translations ja-JP.yml (Esperanto)
* New translations ja-JP.yml (Esperanto)
* New translations ja-JP.yml (Esperanto)
* New translations ja-JP.yml (Esperanto)
* New translations ja-JP.yml (Esperanto)
* New translations ja-JP.yml (Esperanto)
* New translations ja-JP.yml (Esperanto)
* New translations ja-JP.yml (Esperanto)
* New translations ja-JP.yml (Esperanto)
* New translations ja-JP.yml (Esperanto)
* New translations ja-JP.yml (Esperanto)
* New translations ja-JP.yml (Esperanto)
* New translations ja-JP.yml (Esperanto)
* New translations ja-JP.yml (Esperanto)
* Update ja-JP.yml
* Added settable config for muted instances
* added psql query for removal of muted notes
* Added filtering and trimming for instance mutes
* cleaned up filtering of bad instance mutes and added a refresh at the end for the list on the client
* Added notification & streaming timeline muting
* Updated changelog
* Added missing semicolon
* Apply japanese string suggestions from robflop
Co-authored-by: Robin B. <robflop98@outlook.com>
* Changed Ja-JP instance mute title string to one suggested by sousuke
Co-authored-by: sousuke0422 <sousuke20xx@gmail.com>
* Update ja-JP instanceMuteDescription based on sousuke's suggestion
Co-authored-by: sousuke0422 <sousuke20xx@gmail.com>
* added notification mute
* added notification and note children muting
* Fixed a bug where local notifications were getting filtered on cold start
* Fixed instance mute imports
* Fixed not saving/loading instance mutes
* removed en-US translations for instance mute
* moved instance mute migration to js
* changed settings index back to spaces
* removed destructuring assignment from notification stream in instance mute check call
Co-authored-by: tamaina <tamaina@hotmail.co.jp>
* added .note accessor for checking note data instead of notification data
* changed note to use Packed<'Note'> instead of any and removed usage of snake case
Co-authored-by: tamaina <tamaina@hotmail.co.jp>
* changed notification mute check to check specifically for notification host
* changed to using single quotes
* moved @click to the end for the linter
* revert unnecessary changes
* restored newlines
* whitespace removal
Co-authored-by: syuilo <syuilotan@yahoo.co.jp>
Co-authored-by: Robin B. <robflop98@outlook.com>
Co-authored-by: sousuke0422 <sousuke20xx@gmail.com>
Co-authored-by: puffaboo <emilis@jigglypuff.club>
Co-authored-by: tamaina <tamaina@hotmail.co.jp>
* New translations ja-JP.yml (Turkish)
* New translations ja-JP.yml (Turkish)
* New translations ja-JP.yml (Turkish)
* New translations ja-JP.yml (Turkish)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* refactor: deduplicate renote button into component
For now the renoters tooltip just uses the reaction viewer component
with a fixed emoji symbol instead.
* chore: remove unnecessary CSS
* fix: forgot to rename variable
* enhance: use own tooltip instead of reaction viewer
* clean up style
* fix additional renoters number
* rename file to better represent content
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations stream.md (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations links.md (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations timeline.md (English)
* New translations pages.md (English)
* New translations timeline.md (English)
* New translations keyboard-shortcut.md (English)
* New translations theme.md (English)
* New translations theme.md (English)
* New translations ja-JP.yml (Arabic)
* New translations glossary.md (Arabic)
* New translations note.md (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations note.md (Arabic)
* New translations share-page.md (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Esperanto)
* New translations share-page.md (Esperanto)
* New translations share-page.md (Esperanto)
* New translations share-page.md (Esperanto)
* New translations share-page.md (Esperanto)
* New translations share-page.md (Esperanto)
* New translations share-page.md (Esperanto)
* New translations share-page.md (Esperanto)
* New translations custom-emoji.md (Portuguese)
* New translations theme.md (Portuguese)
* New translations widgets.md (Portuguese)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (Arabic)
* New translations ja-JP.yml (English)
* New translations ja-JP.yml (German)
* add note preview
* use if
* add draftedNote property
* custom emojis work
* Only show CW on preview when enabled
* move button to top
* fix css style
* move truncate function to separate file to reuse it
* truncate image descriptions
* show image description limit in UI
* correctly treat null
Co-authored-by: nullobsi <me@nullob.si>
* make truncate Unicode-aware
The strings that truncate returns should now be valid Unicode.
PostgreSQL also counts Unicode Code Points instead of bytes so this
should be correct.
* move truncate to internal, validate in API
Truncating could also be done in src/services/drive/add-file.ts or
src/services/drive/upload-from-url.ts but those would also affect
local images. But local images should result in a hard error if the
image comment is too long.
* avoid overwriting
Co-authored-by: nullobsi <me@nullob.si>
* Add sparkle mfm animation ✨
* Cleanup sparkle effect
+ spaces -> tabs and other codestyle
+ use proper image
+ listen for resizes
+ use font-size to determine particle size (for fun with x2/3/4 stacking)
* fix#7749
* fix
* fix logout behavior when there is no push subscription
* fix logout behavior when there is no push subscription 2
* clean up service worker registration
* fix lint
* remove submodules
* truncate user information if it is too long
Some AP software allows for user names or summaries to be very long.
Misskey can not handle this and the profile page can not be opened and
no activities from such users can be seen.
Instead, the user name and summary are cut off after the maximum length
so misskey can still process the activities of the profile.
Co-authored-by: Toast <toast@toast.cafe>
* fix code style
Co-authored-by: Toast <toast@toast.cafe>
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
* AP Actorの修正
* Add ActivityPub test
* Fix person
* Test
* ap test
* Revert "Test"
This reverts commit 3c493eff4e89f94fd33f25189ba3bc96ef4366b3.
* Test comment
* fix
* fix
* Update inbox
* indent
* nl
* indent
* TODO
* Fix inbox
* Update test
* Updated divisions to math.div on Reversi (game.board.vue)
* Update src/client/pages/reversi/game.board.vue
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
* Oops. Forgot to put it all through parenthesis
* Imported sass:math
* Fixes on drive.vue
* Forgot the stupid comma
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
* Test shutdown
* Revert "Test shutdown"
This reverts commit 85182e7dd196cdd9ecb46cfb50adaabd04c5ba60.
* Skip beforeShutdown in test
* Wait shutdown in test
* Revert "Skip beforeShutdown in test"
This reverts commit 79c33ab53615e8fa4820d2abfc2494cba55c441c.
* Revert "Revert "Skip beforeShutdown in test""
This reverts commit 3423133a137c79b64f3ff6ef9dbe433a441a47b0.
* recieve image descriptions under the name property
* fix other components
* use comment for alt and title
* allow editing of file comment
* allow editing of file comment in note dialog
* federate note comments
* use file instead of this
* backend should accept comment on update
* update now actually accepts comment
* allow multiline descriptions
* image should also have description attached
* Update locales/ja-JP.yml
Co-authored-by: rinsuki <428rinsuki+git@gmail.com>
* Use custom component with side-by-side image
* improve usability on mobile devices
* revert changes
* Update post-form-attaches.vue
* Update drive.file.vue
* Update media-caption.vue
Co-authored-by: rinsuki <428rinsuki+git@gmail.com>
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
* New translations ja-JP.yml (German)
* New translations ja-JP.yml (Polish)
* New translations ja-JP.yml (Polish)
* New translations timelines.md (Polish)
* New translations ja-JP.yml (Polish)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations aiscript.md (Indonesian)
* New translations aiscript.md (Indonesian)
* New translations api.md (Indonesian)
* New translations api.md (Indonesian)
* New translations custom-emoji.md (Indonesian)
* New translations timelines.md (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations follow.md (Indonesian)
* New translations timelines.md (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations create-plugin.md (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations theme.md (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations stream.md (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Dutch)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations deck.md (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations theme.md (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations keyboard-shortcut.md (Indonesian)
* New translations pages.md (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations theme.md (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations reversi-bot.md (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (Indonesian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Korean)
* New translations ja-JP.yml (Korean)
* 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 (English)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations reversi-bot.md (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Italian)
* 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 (French)
* 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 (French)
* 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 (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations follow.md (French)
* New translations deck.md (French)
* New translations deck.md (French)
* New translations mute.md (French)
* New translations mute.md (French)
* New translations mute.md (French)
* New translations reaction.md (French)
* New translations reaction.md (French)
* New translations reaction.md (French)
* New translations ja-JP.yml (French)
* New translations custom-emoji.md (French)
* New translations theme.md (French)
* New translations theme.md (French)
* New translations mfm.md (Korean)
* New translations ja-JP.yml (Korean)
* New translations keyboard-shortcut.md (Korean)
* New translations theme.md (French)
* New translations theme.md (French)
* New translations theme.md (French)
* New translations theme.md (French)
* New translations theme.md (French)
* New translations theme.md (French)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (French)
* New translations aiscript.md (French)
* 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 (Italian)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations pages.md (French)
* New translations pages.md (French)
* New translations pages.md (French)
* New translations pages.md (French)
* New translations pages.md (French)
* New translations pages.md (French)
* New translations pages.md (French)
* New translations pages.md (French)
* New translations pages.md (French)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
* Update api document in admin/announcements
* Update api document in announcements
* Update api document in i/read-announcements
* Update api document in username/available
* Update api document & Fix typo in API 403 error
* Update api document
* Update api document
* Update api document
* Fix API permission definition
* Update api document
* Update api document
* Update api document
* Update api document
* Update api document
* Update api document
* Update api document
* Update api document
* Fix bug in users (api)
* Apply reviews #6757
* Apply reviews #6757
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations follow.md (French)
* New translations keyboard-shortcut.md (French)
* New translations timelines.md (French)
* New translations keyboard-shortcut.md (French)
* New translations keyboard-shortcut.md (French)
* New translations keyboard-shortcut.md (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations aiscript.md (French)
* 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 (French)
* 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 deck.md (French)
* New translations ja-JP.yml (French)
* New translations deck.md (French)
* New translations keyboard-shortcut.md (French)
* New translations mute.md (French)
* New translations mfm.md (French)
* New translations ja-JP.yml (French)
* New translations mute.md (French)
* New translations reaction.md (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations theme.md (French)
* New translations ja-JP.yml (French)
* New translations theme.md (French)
* 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 timelines.md (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (French)
* New translations keyboard-shortcut.md (French)
* New translations timelines.md (French)
* 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 (French)
* 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 (French)
* New translations ja-JP.yml (French)
* New translations ja-JP.yml (German)
* New translations ja-JP.yml (English)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Italian)
* New translations ja-JP.yml (Italian)
Add 'localOnly' to packedNoteSchema
Related: #7174
Add 'emojis' to packedNoteSchema
Add 'reactions' to packedNoteSchema
Related: #7174
Add 'renoteCount' to packedNoteSchema
Related: #7174
Add 'repliesCount' to packedNoteSchema
Add 'uri' to packedNoteSchema
Add 'url' to packedNoteSchema
Add: _featuredId_ to packedNoteSchema
Add '_prId_' to packedNoteSchema
Add 'myReaction' to packedNoteSchema
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (German)
* New translations ja-JP.yml (English)
* New translations ja-JP.yml (German)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Spanish)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Spanish)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Russian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (Ukrainian)
* New translations ja-JP.yml (German)
* New translations ja-JP.yml (English)
curl -LSs -w '\n' -X POST -d '{"title":"[AUTOMATED] Update README.md","body":"*This pull request was created by a tool.*","head":"'$__MISSKEY_HEAD'","base":"'$__MISSKEY_BRANCH'"}' -- "https://api.github.com/repos/$__MISSKEY_REPO/pulls?access_token=$__MISSKEY_GITHUB_TOKEN"
**ℹ️ Important:** This project uses Japanese as its major language, **but you do not need to translate and write the Issues/PRs in Japanese.**
Also, you might receive comments on your Issue/PR in Japanese, but you do not need to reply to them in Japanese as well.\
The accuracy of translation into Japanese is not high, so it will be easier for us to understand if you write it in the original language.
It will also allow the reader to use the translation tool of their preference if necessary.
## Issues
Feature suggestions and bug reports are filed in https://github.com/syuilo/misskey/issues .
Before creating an issue, please check the following:
- To avoid duplication, please search for similar issues before creating a new issue.
- Do not use Issues to ask questions or troubleshooting.
- Issues should only be used to feature requests, suggestions, and bug tracking.
- Please ask questions or troubleshooting in the [Misskey Forum](https://forum.misskey.io/) or [Discord](https://discord.gg/Wp8gVStHW3).
* Please search existing issues to avoid duplication. If your issue is already filed, please add your reaction or comment to the existing one.
* If you have multiple independent issues, please submit them separately.
## Before implementation
When you want to add a feature or fix a bug, **first have the design and policy reviewed in an Issue** (if it is not there, please make one). Without this step, there is a high possibility that the PR will not be merged even if it is implemented.
## Branches
* **master** branch is tracking the latest release and used for production purposes.
* **develop** branch is where we work for the next release.
* **l10n_develop** branch is reserved for localization management.
Also, when you start implementation, assign yourself to the Issue (if you cannot do it yourself, ask another member to assign you). By expressing your intention to work the Issue, you can prevent conflicts in the work.
## Well-known branches
- **`master`** branch is tracking the latest release and used for production purposes.
- **`develop`** branch is where we work for the next release.
- When you create a PR, basically target it to this branch.
- **`l10n_develop`** branch is reserved for localization management.
## Creating a PR
Thank you for your PR! Before creating a PR, please check the following:
- If possible, prefix the title with a keyword that identifies the type of this PR, as shown below.
- Also, make sure that the granularity of this PR is appropriate. Please do not include more than one type of change or interest in a single PR.
- If there is an Issue which will be resolved by this PR, please include a reference to the Issue in the text.
- Please add the summary of the changes to [`CHANGELOG.md`](/CHANGELOG.md). However, this is not necessary for changes that do not affect the users, such as refactoring.
- Check if there are any documents that need to be created or updated due to this change.
- If you have added a feature or fixed a bug, please add a test case if possible.
- Please make sure that tests and Lint are passed in advance.
- You can run it with `npm run test` and `npm run lint`. [See more info](#testing)
- If this PR includes UI changes, please attach a screenshot in the text.
Thanks for your cooperation 🤗
## Localization (l10n)
Misskey uses [Crowdin](https://crowdin.com/project/misskey) for localization management.
@ -28,21 +49,46 @@ If your language is not listed in Crowdin, please open an issue.
Misskey uses CircleCI for executing automated tests.
Configuration files are located in [`/.circleci`](/.circleci).
Misskey uses GitHub Actions for executing automated tests.
Configuration files are located in [`/.github/workflows`](/.github/workflows).
## Vue
Misskey uses Vue(v3) as its front-end framework.
**When creating a new component, please use the Composition API (and [setup sugar](https://v3.vuejs.org/api/sfc-script-setup.html)) instead of the Options API.**
Some of the existing components are implemented in the Options API, but it is an old implementation. Refactors that migrate those components to the Composition API are also welcome.
## Adding MisskeyRoom items
* Use English for material, object and texture names.
@ -50,121 +96,16 @@ Configuration files are located in [`/.circleci`](/.circleci).
* Your PR should include all source files (e.g. `.png`, `.blend`) of your models (for later editing).
* Your PR must include the glTF binary files (`.glb`) of your models.
* Add a locale key `room.furnitures.YOUR_ITEM` at [`/locales/ja-JP.yml`](/locales/ja-JP.yml).
* Add a furniture definition at [`/src/client/app/common/scripts/room/furnitures.json5`](/src/client/app/common/scripts/room/furnitures.json5).
* Add a furniture definition at [`src/client/scripts/room/furnitures.json5`](src/client/scripts/room/furnitures.json5).
If you have no experience on 3D modeling, we suggest to use the free 3DCG software [Blender](https://www.blender.org/).
You can find information on glTF 2.0 at [glTF 2.0 — Blender Manual]( https://docs.blender.org/manual/en/dev/addons/io_scene_gltf2.html).
## FAQ
## Notes
### How to resolve conflictions occurred at yarn.lock?
Just execute `yarn` to fix it.
## Glossary
### AP
Stands for _**A**ctivity**P**ub_.
### MFM
Stands for _**M**isskey **F**lavored **M**arkdown_.
### Mk
Stands for _**M**iss**k**ey_.
### SW
Stands for _**S**ervice**W**orker_.
### Nyaize
Convert な(na) to にゃ(nya)
#### Denyaize
Revert Nyaize
## TypeScript Coding Style
### Do not omit semicolons
This is to avoid Automatic Semicolon Insertion (ASI) hazard.
**🌎 A forever evolving, interplanetary microblogging platform. 🚀**
**A forever evolving, professional microblogging platform.**
**Misskey** is a distributed microblogging platform with advanced features such as Reactions and a highly customizable UI.
<palign="justify">
<ahref="https://join.misskey.page/">Misskey</a> is a decentralized microblogging platform born on Earth.
Since it exists within the Fediverse (a universe where various social media platforms are organized),
it is mutually linked with other social media platforms.
Why don't you take a short break from the hustle and bustle of the city, and dive into a new Internet? <ahref="https://join.misskey.page/">Find an instance!</a>
</p>
[Learn more](https://misskey-hub.net/)
---
[✨ Find an instance](https://misskey-hub.net/instances.html)
•
[📦 Create your own instance](https://misskey-hub.net/docs/install.html)
•
[🛠️ Contribute](./CONTRIBUTING.md)
•
[🚀 Join the community](https://discord.gg/Wp8gVStHW3)
---
<ahref="https://www.patreon.com/syuilo"><imgsrc="https://c5.patreon.com/external/logo/become_a_patron_button@2x.png"alt="Become a Patron!"width="160"/></a>
Reactions are the simplest way to respond to others' posts. Simply pick a reaction emote from the list! Reactions on Misskey are much more expressive than other social media services which only allow “liking”.
Customize the UI to your own tastes! No UI will work for everyone, so Misskey is completely customizable. Make Misskey *yours* by editing the style, adjusting timeline layouts, and placing widgets.
Organize and store your files! Want to post a picture you have already uploaded? Wish you could organize your files into folders? Misskey Drive is a solution!
</p>
---
...and more! Experience Misskey with your own eyes at [misskey.io](https://misskey.io/) or join one of the [other instances](https://joinmisskey.github.io/) that are available.
introMisskey:"Vítejte! Misskey je otevřený a decentralizovaný microblogový servis.\n\"Poznámkami\" můžete sdílet co se zrovna děje se všemi ve Vašem okolí. 📡\nPomocí \"reakcí\" můžete sdílet své názory a pocity na ostatní poznámky. 👍\nPojďte objevovat nový svět! 🚀"
monthAndDay:"{day}. {month}."
search:"Vyhledávání"
notifications:"Oznámení"
username:"Uživatelské jméno"
password:"Heslo"
forgotPassword:"Zapomenuté heslo"
fetchingAsApObject:"Načítám data z Fediversu..."
ok:"Potvrdit"
gotIt:"Rozumím!"
cancel:"Zrušit"
enterUsername:"Zadej uživatelské jméno"
renotedBy:"{user} přeposla/a"
noNotes:"Žádné poznámky"
noNotifications:"Žádná oznámení"
instance:"Instance"
settings:"Nastavení"
basicSettings:"Obecná nastavení"
otherSettings:"Rozšířená nastavení"
openInWindow:"Otevřít v novém okně"
profile:"Váš profil"
timeline:"Časová osa"
noAccountDescription:"Tento uživatel zatím nenapsal svou biografii."
login:"Přihlásit se"
loggingIn:"Probíhá přihlašování"
logout:"Odhlásit"
signup:"Registrace"
uploading:"Nahrávám"
save:"Uložit"
users:"Uživatelé"
addUser:"Přidat uživatele"
favorite:"Oblíbené"
favorites:"Oblíbené"
unfavorite:"Odebrat z oblízených"
favorited:"Přidáno do oblíbených"
alreadyFavorited:"Už je mezi oblíbenými"
cantFavorite:"Nepodařilo se přidat mezi oblíbené."
pin:"Připnout"
unpin:"Odepnout"
copyContent:"Zkopírovat obsah"
copyLink:"Kopírovat odkaz"
delete:"Smazat"
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."
addToList:"Přidat do seznamu"
sendMessage:"Odeslat zprávu"
copyUsername:"Kopírovat uživatelské jméno"
searchUser:"Vyhledat uživatele"
reply:"Odpovědět"
loadMore:"Zobrazit více"
showMore:"Zobrazit více"
youGotNewFollower:"Máte nového následovníka"
mention:"Zmínění"
mentions:"Zmínění"
importAndExport:"Import a export"
import:"Importovat"
export:"Exportovat"
files:"Soubor(ů)"
download:"Stáhnout"
unfollowConfirm:"Jste si jisti že už nechcete sledovat {name}?"
importRequested:"Požádali jste o export. To může chvilku trvat."
lists:"Seznamy"
noLists:"Nemáte žádné seznamy"
note:"Poznámka"
notes:"Poznámky"
following:"Sledovaní"
followers:"Sledující"
followsYou:"Sledují vás"
createList:"Vytvořit seznam"
manageLists:"Spravovat seznam"
error:"Chyba"
somethingHappened:"Jejda. Něco se nepovedlo."
retry:"Opakovat"
pageLoadError:"Nepodařilo se načíst stránku"
enterListName:"Jméno seznamu"
privacy:"Soukromí"
follow:"Sledovaní"
unfollow:"Přestat sledovat"
renote:"Přeposlat"
cantReRenote:"Odpověď nemůže být odstraněna."
quote:"Citovat"
pinned:"Připnout"
you:"Vy"
clickToShow:"Klikněte pro zobrazení"
sensitive:"NSFW"
add:"Přidat"
reaction:"Reakce"
reactionSettingDescription2:"Přetažením změníte pořadí, kliknutím smažete, zmáčkněte \"+\" k přidání"
blockConfirm:"Jste si jistí že chcete zablokovat tento účet?"
unblockConfirm:"Jste si jistí že chcete odblokovat tento účet?"
suspendConfirm:"Jste si jistí že chcete suspendovat tenhle účet?"
unsuspendConfirm:"Jste si jistí že chcete obnovit tenhle účet?"
selectList:"Vybrat seznam"
selectAntenna:"Vyberte Anténu"
selectWidget:"Zvolte widget"
editWidgets:"Upravit widget"
editWidgetsExit:"Hotovo"
customEmojis:"Vlastní emoji"
emoji:"Emoji"
emojis:"Emoji"
emojiName:"Jméno emoji"
emojiUrl:"URL obrázku"
addEmoji:"Přidat emoji"
settingGuide:"Doporučené nastavení"
cacheRemoteFiles:"Ukládání vzdálených souborů do mezipaměti"
cacheRemoteFilesDescription:"Zakázání tohoto nastavení způsobí, že vzdálené soubory budou odkazovány přímo, místo aby byly ukládány do mezipaměti. Tím se ušetří úložiště na serveru, ale zvýší se provoz, protože se negenerují miniatury."
flagAsBot:"Tento účet je bot"
flagAsBotDescription:"Pokud je tento účet kontrolován programem zaškrtněte tuto možnost. To označí tento účet jako bot pro ostatní vývojáře a zabrání tak nekonečným interakcím s ostatními boty a upraví Misskey systém aby se choval k tomuhle účtu jako bot."
flagAsCat:"Tenhle účet je kočka"
flagAsCatDescription:"Vyberte tuto možnost aby tento účet byl označen jako kočka."
autoAcceptFollowed:"Automaticky akceptovat následování od účtů které sledujete"
addAccount:"Přidat účet"
loginFailed:"Přihlášení se nezdařilo."
showOnRemote:"Více na původním profilu"
general:"Obecně"
wallpaper:"Obrázek na pozadí"
setWallpaper:"Nastavení obrázku na pozadí"
removeWallpaper:"Odstranit pozadí"
youHaveNoLists:"Nemáte žádné seznamy"
proxyAccount:"Proxy účet"
proxyAccountDescription:"Proxy účet je účet, který za určitých podmínek sleduje uživatele na dálku vaším jménem. Například když uživatel zařadí vzdáleného uživatele do seznamu, pokud nikdo nesleduje uživatele na seznamu, aktivita nebude doručena instanci, takže místo toho bude uživatele sledovat účet proxy."
introMisskey:"¡Bienvenido/a! Misskey es un servicio de microblogging descentralizado de código abierto.\nEscribe \"notas\" para compartir lo que te ocurre ahora o para contar sobre ti a todos 📡\nCon la función de \"reacciones\", puedes también añadir una reacción rápida a las notas de todos 👍\nExplora un nuevo mundo 🚀"
monthAndDay:"{day}/{month}"
search:"Buscar"
notifications:"Notificaciones"
username:"Nombre de usuario"
password:"Contraseña"
forgotPassword:"Olvidé mi Contraseña"
fetchingAsApObject:"Buscando en el fediverso"
ok:"OK"
gotIt:"Entendido"
@ -33,6 +35,9 @@ addUser: "Agregar usuario"
favorite:"Favorito"
favorites:"Favoritos"
unfavorite:"Quitar de favoritos"
favorited:"Añadido a favoritos"
alreadyFavorited:"Ya había sido añadido a favoritos"
cantFavorite:"No fue añadido a favoritos"
pin:"Fijar"
unpin:"Desfijar"
copyContent:"Copiar contenido"
@ -46,6 +51,7 @@ copyUsername: "Copiar nombre de usuario"
searchUser:"Búsqueda de usuarios"
reply:"Responder"
loadMore:"Ver más"
showMore:"Ver más"
youGotNewFollower:"te ha seguido"
receiveFollowRequest:"Recibiste una solicitud de seguimiento"
followRequestAccepted:"La solicitud de seguimiento fue aceptada"
@ -87,14 +93,18 @@ followRequestPending: "Solicitudes de seguimiento pendientes"
enterEmoji:"Ingresar emojis"
renote:"Renotar"
unrenote:"Quitar renota"
renoted:"Renotado"
cantRenote:"No se puede renotar este post"
cantReRenote:"No se puede renotar una renota"
quote:"Citar"
pinnedNote:"Nota fijada"
pinned:"Fijar"
you:"Tú"
clickToShow:"Click para ver"
sensitive:"Marcado como sensible"
add:"Agregar"
reaction:"Reacción"
reactionSettingDescription:"Asigne sus reacción favoritas que desean anclar en el selector de reacciones."
reactionSettingDescription2:"Arrastre para reordenar, click para borrar, apriete la tecla + para añadir."
cacheRemoteFiles:"Mantener en cache los archivos remotos"
cacheRemoteFilesDescription:"Si desactiva esta configuración, Los archivos remotos se cargarán desde el link directo sin usar la caché. Con eso se puede ahorrar almacenamiento del servidor, pero eso aumentará el tráfico al no crear miniaturas."
flagAsBot:"Esta cuenta es un bot"
flagAsBotDescription:"En caso de que esta cuenta fuera usada por un programa, active esta opción. Al hacerlo, esta opción servirá para otros desarrolladores para evitar cadenas infinitas de reacciones, y ajustará los sistemas internos de Misskey para que trate a esta cuenta como un bot."
flagAsCat:"Esta cuenta es un gato"
flagAsCatDescription:"En caso de que declare que esta cuenta es de un gato, active esta opción."
autoAcceptFollowed:"Aceptar automáticamente las solicitudes de seguimiento de los usuarios que sigues"
addAcount:"Agregar cuenta"
addAccount:"Agregar Cuenta"
loginFailed:"Error al iniciar sesión."
showOnRemote:"Ver en una instancia remota"
general:"General"
@ -214,6 +227,8 @@ imageUrl: "URL de la imágen"
remove:"Borrar"
removed:"Borrado"
removeAreYouSure:"¿Desea borrar \"{x}\"?"
deleteAreYouSure:"¿Desea borrar \"{x}\"?"
resetAreYouSure:"¿Desea reestablecer?"
saved:"Guardado"
messaging:"Chat"
upload:"Subir"
@ -264,6 +279,7 @@ emptyDrive: "El drive está vacío"
emptyFolder:"La carpeta está vacía"
unableToDelete:"No se puede borrar"
inputNewFileName:"Ingrese un nuevo nombre de archivo"
inputNewDescription:"Ingrese nueva descripción"
inputNewFolderName:"Ingrese un nuevo nombre de la carpeta"
circularReferenceFolder:"La carpeta de destino es una sub-carpeta de la carpeta que quieres mover."
hasChildFilesOrFolders:"No se puede borrar esta carpeta. No está vacía."
@ -295,8 +311,8 @@ monthX: "Mes {month}"
yearX:"Año {year}"
pages:"Páginas"
integration:"Integración"
connectSerice:"Conectarse"
disconnectSerice:"Desconectarse"
connectService:"Conectar"
disconnectService:"Desconectar"
enableLocalTimeline:"Habilitar linea de tiempo local"
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"
@ -310,9 +326,14 @@ driveCapacityPerRemoteAccount: "Capacidad del drive por usuario remoto"
inMb:"En megabytes"
iconUrl:"URL de la imagen del avatar"
bannerUrl:"URL de la imagen del banner"
backgroundImageUrl:"URL de la imagen de fondo"
basicInfo:"Información básica"
pinnedUsers:"Usuarios fijados"
pinnedUsersDescription:"Describir los usuarios que quiere fijar en la página \"Descubrir\" separados por una linea nueva"
pinnedPages:"Páginas fijadas"
pinnedPagesDescription:"Describa las rutas de las páginas que desea fijar a la página principal de la instancia, separadas por lineas nuevas"
pinnedClipId:"Id del clip fijado"
pinnedNotes:"Nota fijada"
hcaptcha:"hCaptcha"
enableHcaptcha:"Habilitar hCaptcha"
hcaptchaSiteKey:"Clave del sitio"
@ -331,7 +352,6 @@ antennaExcludeKeywords: "Palabras clave para excluir"
antennaKeywordsDescription:"Separar con espacios es una declaración AND, separar con una linea nueva es una declaración OR"
notifyAntenna:"Notificar nueva nota"
withFileAntenna:"Sólo notas con archivos adjuntados"
serviceworker:"ServiceWorker"
enableServiceworker:"Activar ServiceWorker"
antennaUsersDescription:"Elegir nombres de usuarios separados por una linea nueva"
caseSensitive:"Distinguir mayúsculas de minúsculas"
newPasswordIs:"La nueva contraseña es \"{password}\""
autoNoteWatch:"Ver nota automáticamente"
autoNoteWatchDescription:"Recibe notificaciones sobre las notas de otros usuarios que a los que respondiste y reaccionaste"
reduceUiAnimation:"Reducir la animación de la UI"
share:"Compartir"
notFound:"No se encuentra"
@ -429,6 +440,7 @@ signinWith: "Inicie sesión con {x}"
signinFailed:"Autenticación fallida. Asegúrate de haber usado el nombre de usuario y contraseña correctos."
tapSecurityKey:"Toque la clave de seguridad"
or:"O"
language:"Idioma"
uiLanguage:"Idioma de visualización de la interfaz"
groupInvited:"Invitado al grupo"
aboutX:"Acerca de {x}"
@ -436,13 +448,14 @@ useOsNativeEmojis: "Usa los emojis nativos de la plataforma"
youHaveNoGroups:"Sin grupos"
joinOrCreateGroup:"Obtenga una invitación para unirse al grupos o puede crear su propio grupo."
noHistory:"No hay datos en el historial"
signinHistory:"Historial de ingresos"
disableAnimatedMfm:"Deshabilitar MFM que tiene animaciones"
doing:"Voy en camino"
category:"Categoría"
tags:"Etiqueta"
docSource:"Fuente de este documento"
createAccount:"Crear cuenta"
existingAcount:"Cuentas existentes"
existingAccount:"Cuenta existente"
regenerate:"Regenerar"
fontSize:"Tamaño de la letra"
noFollowRequests:"No hay solicitudes de seguimiento"
@ -488,6 +501,7 @@ none: "Ninguna"
showInPage:"Mostrar en la página"
popout:"Popout"
volume:"Volumen"
masterVolume:"Volumen principal"
details:"Detalles"
chooseEmoji:"Elije un emoji"
unableToProcess:"La operación no se puede llevar a cabo"
@ -514,7 +528,9 @@ removeAllFollowing: "Retener todos los siguientes"
removeAllFollowingDescription:"Cancelar todos los siguientes del servidor {host}. Ejecutar en caso de que esta instancia haya dejado de existir"
userSuspended:"Este usuario ha sido suspendido."
userSilenced:"Este usuario ha sido silenciado."
sidebar:"Barra lateral"
yourAccountSuspendedTitle:"Esta cuenta ha sido suspendida"
yourAccountSuspendedDescription:"Esta cuenta ha sido suspendida debido a violaciones de los términos de servicio del servidor y otras razones. Para más información, póngase en contacto con el administrador. Por favor, no cree una nueva cuenta."
useStarForReactionFallback:"En caso de que los emojis de reacciones no sean claros, usar en su lugar una estrella"
emailConfig:"Configuración del servidor de correos"
emailServer:"Servidor de correo"
enableEmail:"Activar el envío de correos electrónicos"
emailConfigInfo:"Usar en caso de validación de correo electrónico y pedido de contraseña"
email:"Correo electrónico"
email:"Correo"
emailAddress:"Correo electrónico"
smtpConfig:"Configuración del servidor SMTP"
smtpHost:"Host"
smtpPort:"Puerto"
@ -585,7 +609,7 @@ regenerateLoginToken: "Regenerar token de login"
regenerateLoginTokenDescription:"Regenerar el token usado internamente durante el login. No siempre es necesario hacerlo. Al hacerlo de nuevo, se deslogueará en todos los dispositivos."
setMultipleBySeparatingWithSpace:"Puedes añadir mas de uno, separado por espacios."
fileIdOrUrl:"Id del archivo o URL"
chatOpenBehavior:"Comportamiento al abrir el chat"
behavior:"Comportamiento"
sample:"Muestra"
abuseReports:"Reportes"
reportAbuse:"Reportar"
@ -598,9 +622,189 @@ openInNewTab: "Abrir en una Nueva Pestaña"
openInSideView:"Abrir en una vista al costado"
defaultNavigationBehaviour:"Navegación por defecto"
editTheseSettingsMayBreakAccount:"Editar estas configuraciones puede dañar su cuenta."
instanceTicker:"Información de notas de la instancia"
waitingFor:"Esperando a {x}"
random:"Aleatorio"
system:"Sistema"
switchUi:"Cambiar interfaz de usuario"
desktop:"Escritorio"
clip:"Clip"
createNew:"Crear"
optional:"Opcional"
createNewClip:"Crear clip nuevo"
public:"Público"
i18nInfo:"Misskey está siendo traducido a varios idiomas gracias a voluntarios. Se puede colaborar traduciendo en {link}"
manageAccessTokens:"Administrar tokens de acceso"
accountInfo:"Información de la Cuenta"
notesCount:"Cantidad de notas"
repliesCount:"Cantidad de respuestas hechas"
renotesCount:"Cantidad de renotas hechas"
repliedCount:"Cantidad de respuestas recibidas"
renotedCount:"Cantidad de renotas recibidas"
followingCount:"Cantidad de seguidos"
followersCount:"Cantidad de seguidores"
sentReactionsCount:"Cantidad de reacciones hechas"
receivedReactionsCount:"Cantidad de reacciones recibidas"
pollVotesCount:"Cantidad de votaciones hechas"
pollVotedCount:"Cantidad de votaciones recibidas"
yes:"Si"
no:"No"
driveFilesCount:"Cantidad de archivos en el drive"
driveUsage:"Uso del drive"
noCrawle:"Rechazar indexación del crawler"
noCrawleDescription:"Pedir a los motores de búsqueda que no indexen tu perfil, notas, páginas, etc."
lockedAccountInfo:"A menos que configures la visibilidad de tus notas como \"Sólo seguidores\", tus notas serán visibles para cualquiera, incluso si requieres que los seguidores sean aprobados manualmente."
alwaysMarkSensitive:"Marcar los medios de comunicación como contenido sensible por defecto"
loadRawImages:"Cargar las imágenes originales en lugar de mostrar las miniaturas"
verificationEmailSent:"Se le ha enviado un correo electrónico de confirmación. Por favor, acceda al enlace proporcionado en el correo electrónico para completar la configuración."
notSet:"Sin especificar"
emailVerified:"Su dirección de correo electrónico ha sido verificada."
noteFavoritesCount:"Número de notas favoritas"
pageLikesCount:"Número de favoritos en la página"
pageLikedCount:"Número de favoritos de su página"
reversiCount:"Numero de partidas Reversi"
contact:"Contacto"
useSystemFont:"Utilizar la tipografía por defecto del sistema"
makeExplorable:"Hacer visible la cuenta en \"Explorar\""
makeExplorableDescription:"Si desactiva esta opción, su cuenta no aparecerá en la sección \"Explorar\"."
showGapBetweenNotesInTimeline:"Mostrar un intervalo entre notas en la línea de tiempo"
duplicate:"Duplicar"
left:"Izquierda"
center:"Centrar"
wide:"Ancho"
narrow:"Estrecho"
reloadToApplySetting:"Esta configuración sólo se aplicará después de recargar la página. ¿Recargar ahora?"
showTitlebar:"Mostrar la barra de título"
clearCache:"Limpiar caché"
onlineUsersCount:"{n} usuarios en línea"
nUsers:"{n} Usuarios"
nNotes:"{n} Notas"
sendErrorReports:"Envíar informe de errores"
sendErrorReportsDescription:"Si habilita esta opción, ayudará a mejorar la calidad de Misskey compartiendo información detallada sobre los errores cuando se produzca un problema.\nEsto incluye información como la versión de su sistema operativo, el tipo de navegador que utiliza, su historial de actividad, etc."
myTheme:"Mi Tema"
backgroundColor:"Fondo"
accentColor:"Acento"
textColor:"Texto"
saveAs:"Guardar como…"
advanced:"Avanzado"
value:"Valores"
createdAt:"Fecha de creación"
updatedAt:"Actualizado"
saveConfirm:"¿Guardar cambios?"
deleteConfirm:"¿Desea eliminarlo?"
invalidValue:"Este no es un valor válido."
registry:"Registro"
closeAccount:"Cerrar cuenta"
currentVersion:"Versión actual"
latestVersion:"Última versión"
youAreRunningUpToDateClient:"Está utilizando la versión más reciente de su cliente."
newVersionOfClientAvailable:"Hay una versión más nueva de su cliente disponible."
usageAmount:"Uso"
capacity:"Capacidad"
inUse:"Usado"
editCode:"Editar código"
goBack:"Deseleccionar"
info:"Información"
user:"Usuarios"
administration:"Administrar"
expiration:"Termina el"
middle:"Mediano"
customCssWarn:"Este ajuste sólo debe utilizarse si se sabe lo que hace. Introducir valores inadecuados puede hacer que el cliente deje de funcionar con normalidad."
global:"Global"
squareAvatars:"Mostrar iconos cuadrados"
sent:"Enviar"
received:"Recibido"
searchResult:"Resultados de búsqueda"
hashtags:"Hashtag"
troubleshooting:"Solución de problemas"
useBlurEffect:"Utilizar efecto de desenfoque en la interfaz de usuario"
learnMore:"Ver más"
misskeyUpdated:"¡Misskey ha sido actualizado!"
whatIsNew:"Mostrar cambios"
translate:"Traducir"
translatedFrom:"Traducido de {x}"
accountDeletionInProgress:"La eliminación de la cuenta está en curso"
usernameInfo:"Un nombre que identifique su cuenta de otras en este servidor. Puede utilizar el alfabeto (a~z, A~Z), dígitos (0~9) o guiones bajos (_). Los nombres de usuario no se pueden cambiar posteriormente."
aiChanMode:"Modo Ai"
keepCw:"Mantener la advertencia de contenido"
pubSub:"Cuentas Pub/Sub"
lastCommunication:"Última comunicación"
resolved:"Resuelto"
unresolved:"Sin resolver"
controlPanel:"Panel de control"
hide:"Ocultar"
_accountDelete:
accountDelete:"Eliminar Cuenta"
_ad:
back:"Deseleccionar"
_gallery:
unlike:"Quitar me gusta"
_email:
_follow:
title:"te ha seguido"
_registry:
key:"Clave"
keys:"Clave"
_mfm:
cheatSheet:"Hoja de referencia de MFM"
intro:"MFM es un lenguaje de marcado dedicado que se puede usar en varios lugares dentro de Misskey. Aquí puede ver una lista de sintaxis disponibles en MFM."
mention:"Menciones"
mentionDescription:"El signo @ seguido de un nombre de usuario se puede utilizar para notificar a un usuario en particular."
hashtag:"Hashtag"
url:"URL"
link:"Vínculo"
bold:"Negrita"
center:"Centrar"
blockCode:"Código (bloque)"
blockCodeDescription:"Código de resaltado de sintaxis, como programas de varias líneas con bloques."
quote:"Citar"
emoji:"Emojis personalizados"
search:"Buscar"
flip:"Echar de un capirotazo"
flipDescription:"Voltea el contenido hacia arriba / abajo o hacia la izquierda / derecha."
font:"Fuente"
rotate:"Rotar"
_reversi:
reversi:"Reversi"
gameSettings:"Configuración del juego"
chooseBoard:"Elegir tablero"
blackOrWhite:"Blancas/Negras"
blackIs:"{name} juega con fichas negras"
rules:"Reglas"
botSettings:"Opciones del bot"
thisGameIsStartedSoon:"El juego empezará en segundos"
waitingForOther:"Esperando el turno del adversario"
waitingForMe:"Esperando mi turno"
waitingBoth:"Prepárate"
ready:"Listo"
cancelReady:"No estoy listo"
opponentTurn:"Turno del adversario"
myTurn:"Mi turno"
turnOf:"Turno de {name}"
pastTurnOf:"Turno de {name}"
surrender:"Rendirse"
surrendered:"Por rendirse"
drawn:"Empate"
won:"{name} ha ganado"
black:"Negro"
white:"Blanco"
total:"Total"
turnCount:"Turno {count}"
myGames:"Mis juegos"
allGames:"Todos los juegos"
ended:"Finalizado"
playing:"Jugando"
isLlotheo:"El que tenga menos fichas gana (LLoTheO)"
introMisskey:"환영합니다! Misskey 는 오픈 소스 분산형 마이크로 블로그 서비스입니다.\n\"노트\" 를 작성해서, 지금 일어나고 있는 일을 공유하거나, 당신만의 이야기를 모두에게 발신하세요📡\n\"리액션\" 기능으로, 친구의 노트에 총알같이 반응을 추가할 수도 있습니다👍\n새로운 세계를 탐험해 보세요🚀"
monthAndDay:"{month}월 {day}일"
search:"검색"
notifications:"알림"
username:"유저명"
password:"비밀번호"
forgotPassword:"비밀번호 재설정"
fetchingAsApObject:"연합에서 조회 중"
ok:"OK"
gotIt:"알겠어요"
@ -16,6 +18,9 @@ noNotes: "노트가 없습니다"
noNotifications:"표시할 알림이 없습니다"
instance:"인스턴스"
settings:"설정"
basicSettings:"기본 설정"
otherSettings:"기타 설정"
openInWindow:"창으로 열기"
profile:"프로필"
timeline:"타임라인"
noAccountDescription:"자기소개가 없습니다"
@ -30,6 +35,9 @@ addUser: "유저 추가"
favorite:"즐겨찾기"
favorites:"즐겨찾기"
unfavorite:"즐겨찾기에서 제거"
favorited:"즐겨찾기에 등록했습니다"
alreadyFavorited:"이미 즐겨찾기에 등록되어 있습니다"
cantFavorite:"즐겨찾기에 등록하지 못했습니다"
pin:"프로필에 고정"
unpin:"프로필에서 고정 해제"
copyContent:"내용 복사"
@ -40,8 +48,10 @@ deleteAndEditConfirm: "이 노트를 삭제한 뒤 다시 편집하시겠습니
addToList:"리스트에 추가"
sendMessage:"메시지 보내기"
copyUsername:"유저명 복사"
searchUser:"사용자 검색"
reply:"답글"
loadMore:"더 보기"
showMore:"더 보기"
youGotNewFollower:"새로운 팔로워가 있습니다"
receiveFollowRequest:"새로운 팔로우 요청이 있습니다"
followRequestAccepted:"팔로우가 수락되었습니다"
@ -66,7 +76,13 @@ followers: "팔로워"
followsYou:"당신을 팔로우합니다"
createList:"리스트 만들기"
manageLists:"리스트 관리"
error:"오류"
somethingHappened:"오류가 발생했습니다"
retry:"다시 시도"
pageLoadError:"페이지를 불러오지 못했습니다."
pageLoadErrorDescription:"네트워크 연결 또는 브라우저 캐시로 인해 발생했을 가능성이 높습니다. 캐시를 삭제하거나, 잠시 후 다시 시도해 주세요."
serverIsDead:"서버로부터 응답이 없습니다. 잠시 후 다시 시도해주세요."
youShouldUpgradeClient:"이 페이지를 표시하려면 새로고침하여 새로운 버전의 클라이언트를 이용해 주십시오."
reactionSettingDescription:"리액션 선택 상자에 표시할 리액션을 설정합니다."
reactionSettingDescription2:"끌어서 순서 변경, 클릭해서 삭제, +를 눌러서 추가할 수 있습니다."
rememberNoteVisibility:"공개 범위를 기억하기"
attachCancel:"첨부 취소"
markAsSensitive:"열람주의로 설정"
@ -105,8 +125,11 @@ unsuspendConfirm: "이 계정의 정지를 해제하시겠습니까?"
selectList:"리스트 선택"
selectAntenna:"안테나 선택"
selectWidget:"위젯 선택"
editWidgets:"위젯 편집"
editWidgetsExit:"편집 종료"
customEmojis:"커스텀 이모지"
emoji:"이모지"
emojis:"이모지"
emojiName:"이모지 이름"
emojiUrl:"이모지 URL"
addEmoji:"이모지 추가"
@ -114,9 +137,11 @@ settingGuide: "추천 설정"
cacheRemoteFiles:"리모트 파일을 캐시"
cacheRemoteFilesDescription:"이 설정을 해지하면 리모트 파일을 캐시하지 않고 해당 파일을 직접 링크하게 됩니다. 그에 따라 서버의 저장 공간을 절약할 수 있지만, 썸네일이 생성되지 않기 때문에 통신량이 증가합니다."
flagAsBot:"나는 봇입니다"
flagAsBotDescription:"이 계정을 자동화된 수단으로 운용할 경우에 활성화해 주세요. 이 플래그를 활성화하면, 다른 봇이 이를 참고하여 봇 끼리의 무한 연쇄 반응을 회피하거나, 이 계정의 시스템 상에서의 취급이 Bot 운영에 최적화되는 등의 변화가 생깁니다."
flagAsCat:"나는 고양이다냥"
flagAsCatDescription:"이 계정이 고양이라면 활성화 해주세요."
autoAcceptFollowed:"팔로우 중인 유저로부터의 팔로우 요청을 자동 수락"
addAcount:"계정 추가"
addAccount:"계정 추가"
loginFailed:"로그인에 실패했습니다"
showOnRemote:"리모트에서 보기"
general:"일반"
@ -204,6 +229,8 @@ imageUrl: "이미지 URL"
remove:"삭제"
removed:"삭제하였습니다"
removeAreYouSure:"\"{x}\" 을(를) 삭제하시겠습니까?"
deleteAreYouSure:"\"{x}\" 을(를) 삭제하시겠습니까?"
resetAreYouSure:"초기화 하시겠습니까?"
saved:"저장하였습니다"
messaging:"대화"
upload:"업로드"
@ -254,6 +281,7 @@ emptyDrive: "드라이브가 비어 있습니다"
emptyFolder:"폴더가 비어 있습니다"
unableToDelete:"삭제할 수 없습니다"
inputNewFileName:"바꿀 파일명을 입력해 주세요"
inputNewDescription:"새 캡션을 입력해 주세요"
inputNewFolderName:"바꿀 폴더명을 입력해 주세요"
circularReferenceFolder:"지정한 폴더가 이동할 폴더의 하위 폴더입니다."
hasChildFilesOrFolders:"이 폴더는 비어있지 않기 때문에 삭제할 수 없습니다."
@ -262,6 +290,7 @@ rename: "이름 변경"
avatar:"아바타"
banner:"배너"
nsfw:"열람주의"
whenServerDisconnected:"서버와의 접속이 끊겼을 때"
disconnectedFromServer:"서버와의 연결이 끊어졌습니다"
reload:"새로고침"
doNothing:"무시하기"
@ -284,8 +313,8 @@ monthX: "{month}월"
yearX:"{year}년"
pages:"페이지"
integration:"연동"
connectSerice:"접속"
disconnectSerice:"연결 끊기"
connectService:"계정 연동"
disconnectService:"계정 연동 해제"
enableLocalTimeline:"로컬 타임라인 활성화"
enableGlobalTimeline:"글로벌 타임라인 활성화"
disablingTimelinesInfo:"특정 타임라인을 비활성화하더라도 관리자 및 모더레이터는 계속 사용할 수 있습니다."
introMisskey:"Welkom! Misskey is een open source, gedecentraliseerde microblogdienst.\nMaak \"notities\" om je gedachten te delen met iedereen om je heen. 📡\nMet \"reacties\" kun je ook snel je mening geven over berichten van anderen. 👍\nLaten we een nieuwe wereld verkennen! 🚀"
monthAndDay:"{day} {month}"
search:"Zoeken"
notifications:"Meldingen"
username:"Gebruikersnaam"
password:"Wachtwoord"
forgotPassword:"Wachtwoord vergeten"
fetchingAsApObject:"Ophalen vanuit de Fediverse"
ok:"Ok"
gotIt:"Begrepen"
cancel:"Annuleren"
enterUsername:"Voer een gebruikersnaam in"
renotedBy:"Hergedeeld door {user}"
noNotes:"Geen notities"
noNotifications:"Geen meldingen"
instance:"Server"
settings:"Instellingen"
basicSettings:"Basisinstellingen"
otherSettings:"Overige instellingen"
openInWindow:"In een venster openen"
profile:"Profiel"
timeline:"Tijdlijn"
noAccountDescription:"Deze gebruiker heeft nog geen bio geschreven"
login:"Inloggen"
loggingIn:"Aan het inloggen"
logout:"Afmelden"
signup:"Registreren"
uploading:"Bezig met uploaden"
save:"Opslaan"
users:"Gebruikers"
addUser:"Toevoegen gebruiker"
favorite:"Favorieten"
favorites:"Toevoegen aan favorieten"
unfavorite:"Verwijderen uit favorieten"
favorited:"Toegevoegd aan favorieten."
alreadyFavorited:"Al toegevoegd aan favorieten"
cantFavorite:"Kon niet toevoegen aan favorieten"
pin:"Vastmaken aan profielpagina"
unpin:"Losmaken van profielpagina"
copyContent:"Kopiëren inhoud"
copyLink:"Kopiëren link"
delete:"Verwijderen"
deleteAndEdit:"Verwijderen en bewerken"
deleteAndEditConfirm:"Weet je zeker dat je deze notitie wilt verwijderen en dan bewerken? Je verliest alle reacties, herdelingen en antwoorden erop."
addToList:"Aan lijst toevoegen"
sendMessage:"Verstuur bericht"
copyUsername:"Kopiëren gebruikersnaam "
searchUser:"Zoeken een gebruiker"
reply:"Antwoord"
loadMore:"Laad meer"
showMore:"Toon meer"
youGotNewFollower:"volgde jou"
receiveFollowRequest:"Volgverzoek ontvangen"
followRequestAccepted:"Volgverzoek geaccepteerd"
mention:"Vermelding"
mentions:"Vermeldingen"
directNotes:"Directe notities"
importAndExport:"Import / export"
import:"Import"
export:"Export"
files:"Bestanden"
download:"Downloaden"
driveFileDeleteConfirm:"Weet je zeker dat je het bestand \"{name}\" wilt verwijderen? Notities met dit bestand als bijlage worden ook verwijderd."
unfollowConfirm:"Weet je zeker dat je {name} wilt ontvolgen?"
exportRequested:"Je hebt een export aangevraagd. Dit kan een tijdje duren. Het wordt toegevoegd aan je Drive zodra het is voltooid."
importRequested:"Je hebt een import aangevraagd. Dit kan even duren."
lists:"Lijsten"
noLists:"Je hebt geen lijsten"
note:"Notitie"
notes:"Notities"
following:"Volgend"
followers:"Volgers"
followsYou:"Volgt jou"
createList:"Creëer lijst"
manageLists:"Beheren lijsten"
error:"Fout"
somethingHappened:"Er is iets misgegaan."
retry:"Probeer opnieuw"
pageLoadError:"Pagina laden mislukt"
pageLoadErrorDescription:"Dit wordt normaal gesproken veroorzaakt door netwerkfouten of door de cache van de browser. Probeer de cache te wissen en probeer het na een tijdje wachten opnieuw."
serverIsDead:"De server reageert niet. Wacht even en probeer het opnieuw."
youShouldUpgradeClient:"Werk je client bij om deze pagina te zien."
enterListName:"Voer de naam van de lijst in"
privacy:"Privacy"
makeFollowManuallyApprove:"Volgverzoeken vergen een goedkeuring"
defaultNoteVisibility:"Standaard zichtbaarheid"
follow:"Volgen"
followRequest:"Verzoek om te mogen volgen"
followRequests:"Volgverzoeken"
unfollow:"Ontvolgen"
followRequestPending:"Wachten op goedkeuring volgverzoek"
enterEmoji:"Voer een emoji in"
renote:"Herdelen"
unrenote:"Stop herdelen"
renoted:"Herdeeld"
cantRenote:"Dit bericht kan niet worden herdeeld"
cantReRenote:"Een herdeling kan niet worden herdeeld"
quote:"Quote"
pinnedNote:"Vastgemaakte notitie"
pinned:"Vastmaken aan profielpagina"
you:"Jij"
clickToShow:"Klik om te bekijken"
sensitive:"NSFW"
add:"Toevoegen"
reaction:"Reacties"
reactionSettingDescription2:"Sleep om opnieuw te ordenen, Klik om te verwijderen, Druk op \"+\" om toe te voegen"
rememberNoteVisibility:"Vergeet niet de notitie zichtbaarheidsinstellingen"
attachCancel:"Verwijder bijlage"
markAsSensitive:"Markeren als NSFW"
unmarkAsSensitive:"Geen NSFW"
enterFileName:"Invoeren bestandsnaam"
mute:"Dempen"
unmute:"Stop dempen"
block:"Blokkeren"
unblock:"Deblokkeren"
suspend:"Opschorten"
unsuspend:"Heractiveren"
blockConfirm:"Weet je zeker dat je dit account wil blokkeren?"
searchWith:"Zoeken: {q}"
youHaveNoLists:"Je hebt geen lijsten"
followConfirm:"Weet je zeker dat je {name} wilt volgen?"
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."
stopActivityDelivery:"Stop met versturen activiteiten"
blockThisInstance:"Blokkeer deze server"
operations:"Verwerkingen"
software:"Software"
version:"Versie"
metadata:"Metadata"
withNFiles:"{n} bestand(en)"
monitor:"Monitor"
jobQueue:"Job Queue"
cpuAndMemory:"CPU en geheugen"
network:"Netwerk"
disk:"Schijfruimte"
instanceInfo:"Serverinformatie"
statistics:"Statistieken"
clearQueue:"Wachtrij wissen"
clearQueueConfirmTitle:"Weet je zeker dat je de wachtrji leeg wil maken?"
clearQueueConfirmText:"Niet-bezorgde biljetten die nog in de wachtrij staan, worden niet gefedereerd. Meestal is deze operatie niet nodig."
clearCachedFiles:"Cache opschonen"
clearCachedFilesConfirm:"Weet je zeker dat je alle externe bestanden in de cache wilt verwijderen?"
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."
muteAndBlock:"Gedempt en geblokkeerd"
mutedUsers:"Gedempte gebruikers"
blockedUsers:"Geblokkeerde gebruikers"
noUsers:"Er zijn geen gebruikers."
editProfile:"Bewerk Profiel"
noteDeleteConfirm:"Ben je zeker dat je dit bericht wil verwijderen?"
pinLimitExceeded:"Je kunt geen berichten meer vastprikken"
intro:"Installatie van Misskey geëindigd! Maak nu een beheerder aan."
done:"Klaar"
processing:"Bezig met verwerken"
preview:"Voorbeeld"
default:"Standaard"
noCustomEmojis:"Er zijn geen emojis"
noJobs:"Er zijn geen taken"
federating:"Federeren"
blocked:"Geblokkeerd"
suspended:"Opgeschort"
all:"Alle"
subscribing:"Abonneren"
publishing:"Publiceren"
notResponding:"Reageert niet"
instanceFollowing:"Volgend op server"
instanceFollowers:"Volgers op server"
instanceUsers:"Gebruikers van deze server"
changePassword:"Wachtwoord wijzigen"
security:"Beveiliging"
retypedNotMatch:"Invoer komt niet overeen"
currentPassword:"Huidig wachtwoord"
newPassword:"Nieuwe wachtwoord"
newPasswordRetype:"Nieuw wachtwoord (herhalen)"
attachFile:"Bestanden toevoegen"
more:"Meer!"
featured:"Uitgelicht"
usernameOrUserId:"Gebruikersnaam of id"
noSuchUser:"Gebruiker niet gevonden"
lookup:"Opzoeken"
announcements:"Aankondigingen"
imageUrl:"AfbeeldingsURL"
remove:"Verwijderen"
removed:"Succesvol verwijderd"
removeAreYouSure:"Weet je zeker dat je \"{x}\" wil verwijderen?"
deleteAreYouSure:"Weet je zeker dat je \"{x}\" wil verwijderen?"
resetAreYouSure:"Resetten?"
saved:"Opgeslagen"
messaging:"Chat"
upload:"Uploaden"
fromDrive:"Van schijf"
fromUrl:"Van URL"
uploadFromUrl:"Uploaden vanaf een URL"
uploadFromUrlDescription:"URL van het bestand dat je wil uploaden"
uploadFromUrlRequested:"Uploadverzoek"
uploadFromUrlMayTakeTime:"Het kan even duren voordat het uploaden voltooid is."
explore:"Verkennen"
games:"Misskey spellen"
messageRead:"Lezen"
noMoreHistory:"Er is geen verdere geschiedenis"
startMessaging:"Start een gesprek"
nUsersRead:"gelezen door {n}"
agreeTo:"Ik stem in met {0}"
tos:"Gebruiksvoorwaarden"
start:"Aan de slag"
home:"Startpagina"
remoteUserCaution:"Aangezien deze gebruiker van een externe server afkomstig is, kan de weergegeven informatie onvolledig zijn."
activity:"Activiteit"
images:"Afbeeldingen"
birthday:"Geboortedatum"
yearsOld:"{age} jaar"
registeredDate:"Inschrijvingsdatum"
location:"Locatie"
theme:"Thema's"
themeForLightMode:"Thema voor gebruik in de lichte modus"
themeForDarkMode:"Thema voor gebruik in de donkere modus"
light:"Licht"
dark:"Donker"
lightThemes:"Licht thema's"
darkThemes:"Donkere thema's"
syncDeviceDarkMode:"Synchroniseer donkere modus met je apparaatinstellingen"
drive:"Schijf"
fileName:"Bestandsnaam"
selectFile:"Kies een bestand"
selectFiles:"Selecteer bestanden"
selectFolder:"Kies een map"
selectFolders:"Kies mappen"
renameFile:"Wijzig bestandsnaam"
folderName:"Mapnaam"
createFolder:"Map aanmaken"
renameFolder:"Map hernoemen"
nsfw:"NSFW"
pinnedNotes:"Vastgemaakte notitie"
userList:"Lijsten"
smtpHost:"Server"
smtpUser:"Gebruikersnaam"
smtpPass:"Wachtwoord"
clearCache:"Cache opschonen"
user:"Gebruikers"
muteThread:"Discussies dempen "
unmuteThread:"Dempen van discussie ongedaan maken"
introMisskey:"Açık kaynaklı bir dağıtılmış mikroblog hizmeti olan Misskey'e hoş geldiniz.\nMisskey, neler olup bittiğini paylaşmak ve herkese sizden bahsetmek için \"notlar\" oluşturmanıza olanak tanıyan, açık kaynaklı, dağıtılmış bir mikroblog hizmetidir.\nHerkesin notlarına kendi tepkilerinizi hızlıca eklemek için \"Tepkiler\" özelliğini de kullanabilirsiniz👍.\nYeni bir dünyayı keşfedin🚀."
monthAndDay:"{month}Ay {day}Gün"
search:"Arama"
notifications:"Bildirim"
username:"Kullanıcı Adı"
password:"Şifre"
forgotPassword:"şifremi unuttum"
ok:"TAMAM"
gotIt:"Anladım"
cancel:"İptal"
enterUsername:"Kullanıcı adınızı giriniz"
noNotes:"Notlar mevcut değil."
noNotifications:"Bildirim bulunmuyor"
settings:"Ayarlar"
basicSettings:"Temel Ayarlar"
otherSettings:"Diğer Ayarlar"
openInWindow:"Bir pencere ile aç"
profile:"Profil"
timeline:"Zaman çizelgesi"
noAccountDescription:"Bu kullanıcı henüz biyografisini yazmadı"
login:"Giriş Yap "
logout:"Çıkış Yap"
signup:"Kayıt Ol"
uploading:"Yükleniyor"
users:"Kullanıcı"
addUser:"Kullanıcı Ekle"
favorite:"Favoriler"
favorites:"Favoriler"
unfavorite:"Favorilerden Kaldır"
favorited:"Favorilerime eklendi."
alreadyFavorited:"Zaten favorilerinizde kayıtlı."
pin:"Sabitlenmiş"
unpin:"Sabitlemeyi kaldır"
copyContent:"İçeriği kopyala"
copyLink:"Bağlantıyı Kopyala"
delete:"Sil"
deleteAndEdit:"Sil ve yeniden düzenle"
deleteAndEditConfirm:"Bu notu silip yeniden düzenlemek istiyor musunuz? Bu nota ilişkin tüm Tepkiler, Yeniden Notlar ve Yanıtlar da silinecektir."
awaitqueryRunner.query(`CREATE TYPE "log_level_enum" AS ENUM('error', 'warning', 'info', 'success', 'debug')`);
awaitqueryRunner.query(`CREATE TABLE "log" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "domain" character varying(64) array NOT NULL DEFAULT '{}'::varchar[], "level" "log_level_enum" NOT NULL, "worker" character varying(8) NOT NULL, "machine" character varying(128) NOT NULL, "message" character varying(1024) NOT NULL, "data" jsonb NOT NULL DEFAULT '{}', CONSTRAINT "PK_350604cbdf991d5930d9e618fbd" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_8e4eb51a35d81b64dda28eed0a" ON "log" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_8cb40cfc8f3c28261e6f887b03" ON "log" ("domain") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_584b536b49e53ac81beb39a177" ON "log" ("level") `);
awaitqueryRunner.query(`CREATE TABLE "drive_folder" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "name" character varying(128) NOT NULL, "userId" character varying(32), "parentId" character varying(32), CONSTRAINT "PK_7a0c089191f5ebdc214e0af808a" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_02878d441ceae15ce060b73daf" ON "drive_folder" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_f4fc06e49c0171c85f1c48060d" ON "drive_folder" ("userId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_00ceffb0cdc238b3233294f08f" ON "drive_folder" ("parentId") `);
awaitqueryRunner.query(`CREATE TABLE "drive_file" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32), "userHost" character varying(128), "md5" character varying(32) NOT NULL, "name" character varying(256) NOT NULL, "type" character varying(128) NOT NULL, "size" integer NOT NULL, "comment" character varying(512), "properties" jsonb NOT NULL DEFAULT '{}', "storedInternal" boolean NOT NULL, "url" character varying(512) NOT NULL, "thumbnailUrl" character varying(512), "webpublicUrl" character varying(512), "accessKey" character varying(256), "thumbnailAccessKey" character varying(256), "webpublicAccessKey" character varying(256), "uri" character varying(512), "src" character varying(512), "folderId" character varying(32), "isSensitive" boolean NOT NULL DEFAULT false, "isLink" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_43ddaaaf18c9e68029b7cbb032e" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_c8dfad3b72196dd1d6b5db168a" ON "drive_file" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_860fa6f6c7df5bb887249fba22" ON "drive_file" ("userId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_92779627994ac79277f070c91e" ON "drive_file" ("userHost") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_37bb9a1b4585f8a3beb24c62d6" ON "drive_file" ("md5") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_a40b8df8c989d7db937ea27cf6" ON "drive_file" ("type") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_d85a184c2540d2deba33daf642" ON "drive_file" ("accessKey") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_e74022ce9a074b3866f70e0d27" ON "drive_file" ("thumbnailAccessKey") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_c55b2b7c284d9fef98026fc88e" ON "drive_file" ("webpublicAccessKey") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_e5848eac4940934e23dbc17581" ON "drive_file" ("uri") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_bb90d1956dafc4068c28aa7560" ON "drive_file" ("folderId") `);
awaitqueryRunner.query(`CREATE TABLE "user" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "updatedAt" TIMESTAMP WITH TIME ZONE, "lastFetchedAt" TIMESTAMP WITH TIME ZONE, "username" character varying(128) NOT NULL, "usernameLower" character varying(128) NOT NULL, "name" character varying(128), "followersCount" integer NOT NULL DEFAULT 0, "followingCount" integer NOT NULL DEFAULT 0, "notesCount" integer NOT NULL DEFAULT 0, "avatarId" character varying(32), "bannerId" character varying(32), "tags" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], "avatarUrl" character varying(512), "bannerUrl" character varying(512), "avatarColor" character varying(32), "bannerColor" character varying(32), "isSuspended" boolean NOT NULL DEFAULT false, "isSilenced" boolean NOT NULL DEFAULT false, "isLocked" boolean NOT NULL DEFAULT false, "isBot" boolean NOT NULL DEFAULT false, "isCat" boolean NOT NULL DEFAULT false, "isAdmin" boolean NOT NULL DEFAULT false, "isModerator" boolean NOT NULL DEFAULT false, "isVerified" boolean NOT NULL DEFAULT false, "emojis" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], "host" character varying(128), "inbox" character varying(512), "sharedInbox" character varying(512), "featured" character varying(512), "uri" character varying(512), "token" character(16), CONSTRAINT "UQ_a854e557b1b14814750c7c7b0c9" UNIQUE ("token"), CONSTRAINT "REL_58f5c71eaab331645112cf8cfa" UNIQUE ("avatarId"), CONSTRAINT "REL_afc64b53f8db3707ceb34eb28e" UNIQUE ("bannerId"), CONSTRAINT "PK_cace4a159ff9f2512dd42373760" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_e11e649824a45d8ed01d597fd9" ON "user" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_80ca6e6ef65fb9ef34ea8c90f4" ON "user" ("updatedAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_a27b942a0d6dcff90e3ee9b5e8" ON "user" ("usernameLower") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_fa99d777623947a5b05f394cae" ON "user" ("tags") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_3252a5df8d5bbd16b281f7799e" ON "user" ("host") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_be623adaa4c566baf5d29ce0c8" ON "user" ("uri") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_a854e557b1b14814750c7c7b0c" ON "user" ("token") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_5deb01ae162d1d70b80d064c27" ON "user" ("usernameLower", "host") `);
awaitqueryRunner.query(`CREATE TABLE "app" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32), "secret" character varying(64) NOT NULL, "name" character varying(128) NOT NULL, "description" character varying(512) NOT NULL, "permission" character varying(64) array NOT NULL, "callbackUrl" character varying(512), CONSTRAINT "PK_9478629fc093d229df09e560aea" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_048a757923ed8b157e9895da53" ON "app" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_3f5b0899ef90527a3462d7c2cb" ON "app" ("userId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_f49922d511d666848f250663c4" ON "app" ("secret") `);
awaitqueryRunner.query(`CREATE TABLE "access_token" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "token" character varying(128) NOT NULL, "hash" character varying(128) NOT NULL, "userId" character varying(32) NOT NULL, "appId" character varying(32) NOT NULL, CONSTRAINT "PK_f20f028607b2603deabd8182d12" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_70ba8f6af34bc924fc9e12adb8" ON "access_token" ("token") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_64c327441248bae40f7d92f34f" ON "access_token" ("hash") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_9949557d0e1b2c19e5344c171e" ON "access_token" ("userId") `);
awaitqueryRunner.query(`CREATE TYPE "note_visibility_enum" AS ENUM('public', 'home', 'followers', 'specified')`);
awaitqueryRunner.query(`CREATE TABLE "note" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "replyId" character varying(32), "renoteId" character varying(32), "text" text, "name" character varying(256), "cw" character varying(512), "appId" character varying(32), "userId" character varying(32) NOT NULL, "viaMobile" boolean NOT NULL DEFAULT false, "localOnly" boolean NOT NULL DEFAULT false, "renoteCount" smallint NOT NULL DEFAULT 0, "repliesCount" smallint NOT NULL DEFAULT 0, "reactions" jsonb NOT NULL DEFAULT '{}', "visibility" "note_visibility_enum" NOT NULL, "uri" character varying(512), "score" integer NOT NULL DEFAULT 0, "fileIds" character varying(32) array NOT NULL DEFAULT '{}'::varchar[], "attachedFileTypes" character varying(256) array NOT NULL DEFAULT '{}'::varchar[], "visibleUserIds" character varying(32) array NOT NULL DEFAULT '{}'::varchar[], "mentions" character varying(32) array NOT NULL DEFAULT '{}'::varchar[], "mentionedRemoteUsers" text NOT NULL DEFAULT '[]', "emojis" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], "tags" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], "hasPoll" boolean NOT NULL DEFAULT false, "geo" jsonb DEFAULT null, "userHost" character varying(128), "replyUserId" character varying(32), "replyUserHost" character varying(128), "renoteUserId" character varying(32), "renoteUserHost" character varying(128), CONSTRAINT "PK_96d0c172a4fba276b1bbed43058" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_e7c0567f5261063592f022e9b5" ON "note" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_17cb3553c700a4985dff5a30ff" ON "note" ("replyId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_52ccc804d7c69037d558bac4c9" ON "note" ("renoteId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_5b87d9d19127bd5d92026017a7" ON "note" ("userId") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_153536c67d05e9adb24e99fc2b" ON "note" ("uri") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_51c063b6a133a9cb87145450f5" ON "note" ("fileIds") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_25dfc71b0369b003a4cd434d0b" ON "note" ("attachedFileTypes") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_796a8c03959361f97dc2be1d5c" ON "note" ("visibleUserIds") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_54ebcb6d27222913b908d56fd8" ON "note" ("mentions") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_88937d94d7443d9a99a76fa5c0" ON "note" ("tags") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_7125a826ab192eb27e11d358a5" ON "note" ("userHost") `);
awaitqueryRunner.query(`CREATE TABLE "poll_vote" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, "choice" integer NOT NULL, CONSTRAINT "PK_fd002d371201c472490ba89c6a0" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_0fb627e1c2f753262a74f0562d" ON "poll_vote" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_66d2bd2ee31d14bcc23069a89f" ON "poll_vote" ("userId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_aecfbd5ef60374918e63ee95fa" ON "poll_vote" ("noteId") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_50bd7164c5b78f1f4a42c4d21f" ON "poll_vote" ("userId", "noteId", "choice") `);
awaitqueryRunner.query(`CREATE TABLE "note_reaction" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, "reaction" character varying(128) NOT NULL, CONSTRAINT "PK_767ec729b108799b587a3fcc9cf" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_01f4581f114e0ebd2bbb876f0b" ON "note_reaction" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_13761f64257f40c5636d0ff95e" ON "note_reaction" ("userId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_45145e4953780f3cd5656f0ea6" ON "note_reaction" ("noteId") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_ad0c221b25672daf2df320a817" ON "note_reaction" ("userId", "noteId") `);
awaitqueryRunner.query(`CREATE TABLE "note_watching" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, "noteUserId" character varying(32) NOT NULL, CONSTRAINT "PK_49286fdb23725945a74aa27d757" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_318cdf42a9cfc11f479bd802bb" ON "note_watching" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_b0134ec406e8d09a540f818288" ON "note_watching" ("userId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_03e7028ab8388a3f5e3ce2a861" ON "note_watching" ("noteId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_44499765eec6b5489d72c4253b" ON "note_watching" ("noteUserId") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_a42c93c69989ce1d09959df4cf" ON "note_watching" ("userId", "noteId") `);
awaitqueryRunner.query(`CREATE TABLE "note_unread" ("id" character varying(32) NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, "noteUserId" character varying(32) NOT NULL, "isSpecified" boolean NOT NULL, CONSTRAINT "PK_1904eda61a784f57e6e51fa9c1f" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_56b0166d34ddae49d8ef7610bb" ON "note_unread" ("userId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_e637cba4dc4410218c4251260e" ON "note_unread" ("noteId") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_d908433a4953cc13216cd9c274" ON "note_unread" ("userId", "noteId") `);
awaitqueryRunner.query(`CREATE TABLE "notification" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "notifieeId" character varying(32) NOT NULL, "notifierId" character varying(32) NOT NULL, "type" character varying(32) NOT NULL, "isRead" boolean NOT NULL DEFAULT false, "noteId" character varying(32), "reaction" character varying(128), "choice" integer, CONSTRAINT "PK_705b6c7cdf9b2c2ff7ac7872cb7" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_b11a5e627c41d4dc3170f1d370" ON "notification" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_3c601b70a1066d2c8b517094cb" ON "notification" ("notifieeId") `);
awaitqueryRunner.query(`CREATE TABLE "meta" ("id" character varying(32) NOT NULL, "name" character varying(128), "description" character varying(1024), "maintainerName" character varying(128), "maintainerEmail" character varying(128), "announcements" jsonb NOT NULL DEFAULT '[]', "disableRegistration" boolean NOT NULL DEFAULT false, "disableLocalTimeline" boolean NOT NULL DEFAULT false, "disableGlobalTimeline" boolean NOT NULL DEFAULT false, "enableEmojiReaction" boolean NOT NULL DEFAULT true, "useStarForReactionFallback" boolean NOT NULL DEFAULT false, "langs" character varying(64) array NOT NULL DEFAULT '{}'::varchar[], "hiddenTags" character varying(256) array NOT NULL DEFAULT '{}'::varchar[], "blockedHosts" character varying(256) array NOT NULL DEFAULT '{}'::varchar[], "mascotImageUrl" character varying(512) DEFAULT '/assets/ai.png', "bannerUrl" character varying(512), "errorImageUrl" character varying(512) DEFAULT 'https://xn--931a.moe/aiart/yubitun.png', "iconUrl" character varying(512), "cacheRemoteFiles" boolean NOT NULL DEFAULT true, "proxyAccount" character varying(128), "enableRecaptcha" boolean NOT NULL DEFAULT false, "recaptchaSiteKey" character varying(64), "recaptchaSecretKey" character varying(64), "localDriveCapacityMb" integer NOT NULL DEFAULT 1024, "remoteDriveCapacityMb" integer NOT NULL DEFAULT 32, "maxNoteTextLength" integer NOT NULL DEFAULT 500, "summalyProxy" character varying(128), "enableEmail" boolean NOT NULL DEFAULT false, "email" character varying(128), "smtpSecure" boolean NOT NULL DEFAULT false, "smtpHost" character varying(128), "smtpPort" integer, "smtpUser" character varying(128), "smtpPass" character varying(128), "enableServiceWorker" boolean NOT NULL DEFAULT false, "swPublicKey" character varying(128), "swPrivateKey" character varying(128), "enableTwitterIntegration" boolean NOT NULL DEFAULT false, "twitterConsumerKey" character varying(128), "twitterConsumerSecret" character varying(128), "enableGithubIntegration" boolean NOT NULL DEFAULT false, "githubClientId" character varying(128), "githubClientSecret" character varying(128), "enableDiscordIntegration" boolean NOT NULL DEFAULT false, "discordClientId" character varying(128), "discordClientSecret" character varying(128), CONSTRAINT "PK_c4c17a6c2bd7651338b60fc590b" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE TABLE "following" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "followeeId" character varying(32) NOT NULL, "followerId" character varying(32) NOT NULL, "followerHost" character varying(128), "followerInbox" character varying(512), "followerSharedInbox" character varying(512), "followeeHost" character varying(128), "followeeInbox" character varying(512), "followeeSharedInbox" character varying(512), CONSTRAINT "PK_c76c6e044bdf76ecf8bfb82a645" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_582f8fab771a9040a12961f3e7" ON "following" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_24e0042143a18157b234df186c" ON "following" ("followeeId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_6516c5a6f3c015b4eed39978be" ON "following" ("followerId") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_307be5f1d1252e0388662acb96" ON "following" ("followerId", "followeeId") `);
awaitqueryRunner.query(`CREATE TABLE "instance" ("id" character varying(32) NOT NULL, "caughtAt" TIMESTAMP WITH TIME ZONE NOT NULL, "host" character varying(128) NOT NULL, "system" character varying(64), "usersCount" integer NOT NULL DEFAULT 0, "notesCount" integer NOT NULL DEFAULT 0, "followingCount" integer NOT NULL DEFAULT 0, "followersCount" integer NOT NULL DEFAULT 0, "driveUsage" integer NOT NULL DEFAULT 0, "driveFiles" integer NOT NULL DEFAULT 0, "latestRequestSentAt" TIMESTAMP WITH TIME ZONE, "latestStatus" integer, "latestRequestReceivedAt" TIMESTAMP WITH TIME ZONE, "lastCommunicatedAt" TIMESTAMP WITH TIME ZONE NOT NULL, "isNotResponding" boolean NOT NULL DEFAULT false, "isMarkedAsClosed" boolean NOT NULL DEFAULT false, CONSTRAINT "PK_eaf60e4a0c399c9935413e06474" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_2cd3b2a6b4cf0b910b260afe08" ON "instance" ("caughtAt") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_8d5afc98982185799b160e10eb" ON "instance" ("host") `);
awaitqueryRunner.query(`CREATE TABLE "muting" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "muteeId" character varying(32) NOT NULL, "muterId" character varying(32) NOT NULL, CONSTRAINT "PK_2e92d06c8b5c602eeb27ca9ba48" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_f86d57fbca33c7a4e6897490cc" ON "muting" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_ec96b4fed9dae517e0dbbe0675" ON "muting" ("muteeId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_93060675b4a79a577f31d260c6" ON "muting" ("muterId") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_1eb9d9824a630321a29fd3b290" ON "muting" ("muterId", "muteeId") `);
awaitqueryRunner.query(`CREATE TABLE "sw_subscription" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "endpoint" character varying(512) NOT NULL, "auth" character varying(256) NOT NULL, "publickey" character varying(128) NOT NULL, CONSTRAINT "PK_e8f763631530051b95eb6279b91" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_97754ca6f2baff9b4abb7f853d" ON "sw_subscription" ("userId") `);
awaitqueryRunner.query(`CREATE TABLE "blocking" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "blockeeId" character varying(32) NOT NULL, "blockerId" character varying(32) NOT NULL, CONSTRAINT "PK_e5d9a541cc1965ee7e048ea09dd" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_b9a354f7941c1e779f3b33aea6" ON "blocking" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_2cd4a2743a99671308f5417759" ON "blocking" ("blockeeId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_0627125f1a8a42c9a1929edb55" ON "blocking" ("blockerId") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_98a1bc5cb30dfd159de056549f" ON "blocking" ("blockerId", "blockeeId") `);
awaitqueryRunner.query(`CREATE TABLE "user_list" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "name" character varying(128) NOT NULL, CONSTRAINT "PK_87bab75775fd9b1ff822b656402" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_b7fcefbdd1c18dce86687531f9" ON "user_list" ("userId") `);
awaitqueryRunner.query(`CREATE TABLE "user_list_joining" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "userListId" character varying(32) NOT NULL, CONSTRAINT "PK_11abb3768da1c5f8de101c9df45" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_d844bfc6f3f523a05189076efa" ON "user_list_joining" ("userId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_605472305f26818cc93d1baaa7" ON "user_list_joining" ("userListId") `);
awaitqueryRunner.query(`CREATE TABLE "hashtag" ("id" character varying(32) NOT NULL, "name" character varying(128) NOT NULL, "mentionedUserIds" character varying(32) array NOT NULL, "mentionedUsersCount" integer NOT NULL DEFAULT 0, "mentionedLocalUserIds" character varying(32) array NOT NULL, "mentionedLocalUsersCount" integer NOT NULL DEFAULT 0, "mentionedRemoteUserIds" character varying(32) array NOT NULL, "mentionedRemoteUsersCount" integer NOT NULL DEFAULT 0, "attachedUserIds" character varying(32) array NOT NULL, "attachedUsersCount" integer NOT NULL DEFAULT 0, "attachedLocalUserIds" character varying(32) array NOT NULL, "attachedLocalUsersCount" integer NOT NULL DEFAULT 0, "attachedRemoteUserIds" character varying(32) array NOT NULL, "attachedRemoteUsersCount" integer NOT NULL DEFAULT 0, CONSTRAINT "PK_cb36eb8af8412bfa978f1165d78" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_347fec870eafea7b26c8a73bac" ON "hashtag" ("name") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_2710a55f826ee236ea1a62698f" ON "hashtag" ("mentionedUsersCount") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_0e206cec573f1edff4a3062923" ON "hashtag" ("mentionedLocalUsersCount") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_4c02d38a976c3ae132228c6fce" ON "hashtag" ("mentionedRemoteUsersCount") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_d57f9030cd3af7f63ffb1c267c" ON "hashtag" ("attachedUsersCount") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_0c44bf4f680964145f2a68a341" ON "hashtag" ("attachedLocalUsersCount") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_0b03cbcd7e6a7ce068efa8ecc2" ON "hashtag" ("attachedRemoteUsersCount") `);
awaitqueryRunner.query(`CREATE TABLE "note_favorite" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, CONSTRAINT "PK_af0da35a60b9fa4463a62082b36" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_47f4b1892f5d6ba8efb3057d81" ON "note_favorite" ("userId") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_0f4fb9ad355f3effff221ef245" ON "note_favorite" ("userId", "noteId") `);
awaitqueryRunner.query(`CREATE TABLE "abuse_user_report" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "reporterId" character varying(32) NOT NULL, "comment" character varying(512) NOT NULL, CONSTRAINT "PK_87873f5f5cc5c321a1306b2d18c" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_db2098070b2b5a523c58181f74" ON "abuse_user_report" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_d049123c413e68ca52abe73420" ON "abuse_user_report" ("userId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_04cc96756f89d0b7f9473e8cdf" ON "abuse_user_report" ("reporterId") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_5cd442c3b2e74fdd99dae20243" ON "abuse_user_report" ("userId", "reporterId") `);
awaitqueryRunner.query(`CREATE TABLE "registration_ticket" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "code" character varying(64) NOT NULL, CONSTRAINT "PK_f11696b6fafcf3662d4292734f8" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_0ff69e8dfa9fe31bb4a4660f59" ON "registration_ticket" ("code") `);
awaitqueryRunner.query(`CREATE TABLE "messaging_message" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "recipientId" character varying(32) NOT NULL, "text" character varying(4096), "isRead" boolean NOT NULL DEFAULT false, "fileId" character varying(32), CONSTRAINT "PK_db398fd79dc95d0eb8c30456eaa" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_e21cd3646e52ef9c94aaf17c2e" ON "messaging_message" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_5377c307783fce2b6d352e1203" ON "messaging_message" ("userId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_cac14a4e3944454a5ce7daa514" ON "messaging_message" ("recipientId") `);
awaitqueryRunner.query(`CREATE TABLE "signin" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "ip" character varying(128) NOT NULL, "headers" jsonb NOT NULL, "success" boolean NOT NULL, CONSTRAINT "PK_9e96ddc025712616fc492b3b588" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_2c308dbdc50d94dc625670055f" ON "signin" ("userId") `);
awaitqueryRunner.query(`CREATE TABLE "auth_session" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "token" character varying(128) NOT NULL, "userId" character varying(32), "appId" character varying(32) NOT NULL, CONSTRAINT "PK_19354ed146424a728c1112a8cbf" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_62cb09e1129f6ec024ef66e183" ON "auth_session" ("token") `);
awaitqueryRunner.query(`CREATE TABLE "follow_request" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "followeeId" character varying(32) NOT NULL, "followerId" character varying(32) NOT NULL, "requestId" character varying(128), "followerHost" character varying(128), "followerInbox" character varying(512), "followerSharedInbox" character varying(512), "followeeHost" character varying(128), "followeeInbox" character varying(512), "followeeSharedInbox" character varying(512), CONSTRAINT "PK_53a9aa3725f7a3deb150b39dbfc" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_12c01c0d1a79f77d9f6c15fadd" ON "follow_request" ("followeeId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_a7fd92dd6dc519e6fb435dd108" ON "follow_request" ("followerId") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_d54a512b822fac7ed52800f6b4" ON "follow_request" ("followerId", "followeeId") `);
awaitqueryRunner.query(`CREATE TABLE "emoji" ("id" character varying(32) NOT NULL, "updatedAt" TIMESTAMP WITH TIME ZONE, "name" character varying(128) NOT NULL, "host" character varying(128), "url" character varying(512) NOT NULL, "uri" character varying(512), "type" character varying(64), "aliases" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], CONSTRAINT "PK_df74ce05e24999ee01ea0bc50a3" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_b37dafc86e9af007e3295c2781" ON "emoji" ("name") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_5900e907bb46516ddf2871327c" ON "emoji" ("host") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_4f4d35e1256c84ae3d1f0eab10" ON "emoji" ("name", "host") `);
awaitqueryRunner.query(`CREATE TABLE "reversi_game" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "startedAt" TIMESTAMP WITH TIME ZONE, "user1Id" character varying(32) NOT NULL, "user2Id" character varying(32) NOT NULL, "user1Accepted" boolean NOT NULL DEFAULT false, "user2Accepted" boolean NOT NULL DEFAULT false, "black" integer, "isStarted" boolean NOT NULL DEFAULT false, "isEnded" boolean NOT NULL DEFAULT false, "winnerId" character varying(32), "surrendered" character varying(32), "logs" jsonb NOT NULL DEFAULT '[]', "map" character varying(64) array NOT NULL, "bw" character varying(32) NOT NULL, "isLlotheo" boolean NOT NULL DEFAULT false, "canPutEverywhere" boolean NOT NULL DEFAULT false, "loopedBoard" boolean NOT NULL DEFAULT false, "form1" jsonb DEFAULT null, "form2" jsonb DEFAULT null, "crc32" character varying(32), CONSTRAINT "PK_76b30eeba71b1193ad7c5311c3f" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_b46ec40746efceac604142be1c" ON "reversi_game" ("createdAt") `);
awaitqueryRunner.query(`CREATE TABLE "reversi_matching" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "parentId" character varying(32) NOT NULL, "childId" character varying(32) NOT NULL, CONSTRAINT "PK_880bd0afbab232f21c8b9d146cf" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_b604d92d6c7aec38627f6eaf16" ON "reversi_matching" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_3b25402709dd9882048c2bbade" ON "reversi_matching" ("parentId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_e247b23a3c9b45f89ec1299d06" ON "reversi_matching" ("childId") `);
awaitqueryRunner.query(`CREATE TABLE "user_note_pining" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "userId" character varying(32) NOT NULL, "noteId" character varying(32) NOT NULL, CONSTRAINT "PK_a6a2dad4ae000abce2ea9d9b103" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_bfbc6f79ba4007b4ce5097f08d" ON "user_note_pining" ("userId") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_410cd649884b501c02d6e72738" ON "user_note_pining" ("userId", "noteId") `);
awaitqueryRunner.query(`CREATE TYPE "poll_notevisibility_enum" AS ENUM('public', 'home', 'followers', 'specified')`);
awaitqueryRunner.query(`CREATE TABLE "poll" ("noteId" character varying(32) NOT NULL, "expiresAt" TIMESTAMP WITH TIME ZONE, "multiple" boolean NOT NULL, "choices" character varying(128) array NOT NULL DEFAULT '{}'::varchar[], "votes" integer array NOT NULL, "noteVisibility" "poll_notevisibility_enum" NOT NULL, "userId" character varying(32) NOT NULL, "userHost" character varying(128), CONSTRAINT "REL_da851e06d0dfe2ef397d8b1bf1" UNIQUE ("noteId"), CONSTRAINT "PK_da851e06d0dfe2ef397d8b1bf1b" PRIMARY KEY ("noteId"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_0610ebcfcfb4a18441a9bcdab2" ON "poll" ("userId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_7fa20a12319c7f6dc3aed98c0a" ON "poll" ("userHost") `);
awaitqueryRunner.query(`CREATE TABLE "user_keypair" ("userId" character varying(32) NOT NULL, "publicKey" character varying(4096) NOT NULL, "privateKey" character varying(4096) NOT NULL, CONSTRAINT "REL_f4853eb41ab722fe05f81cedeb" UNIQUE ("userId"), CONSTRAINT "PK_f4853eb41ab722fe05f81cedeb6" PRIMARY KEY ("userId"))`);
awaitqueryRunner.query(`CREATE TABLE "user_publickey" ("userId" character varying(32) NOT NULL, "keyId" character varying(256) NOT NULL, "keyPem" character varying(4096) NOT NULL, CONSTRAINT "REL_10c146e4b39b443ede016f6736" UNIQUE ("userId"), CONSTRAINT "PK_10c146e4b39b443ede016f6736d" PRIMARY KEY ("userId"))`);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_171e64971c780ebd23fae140bb" ON "user_publickey" ("keyId") `);
awaitqueryRunner.query(`CREATE TABLE "user_profile" ("userId" character varying(32) NOT NULL, "location" character varying(128), "birthday" character(10), "description" character varying(1024), "fields" jsonb NOT NULL DEFAULT '[]', "url" character varying(512), "email" character varying(128), "emailVerifyCode" character varying(128), "emailVerified" boolean NOT NULL DEFAULT false, "twoFactorTempSecret" character varying(128), "twoFactorSecret" character varying(128), "twoFactorEnabled" boolean NOT NULL DEFAULT false, "password" character varying(128), "clientData" jsonb NOT NULL DEFAULT '{}', "autoWatch" boolean NOT NULL DEFAULT false, "autoAcceptFollowed" boolean NOT NULL DEFAULT false, "alwaysMarkNsfw" boolean NOT NULL DEFAULT false, "carefulBot" boolean NOT NULL DEFAULT false, "twitter" boolean NOT NULL DEFAULT false, "twitterAccessToken" character varying(64) DEFAULT null, "twitterAccessTokenSecret" character varying(64) DEFAULT null, "twitterUserId" character varying(64) DEFAULT null, "twitterScreenName" character varying(64) DEFAULT null, "github" boolean NOT NULL DEFAULT false, "githubAccessToken" character varying(64) DEFAULT null, "githubId" integer DEFAULT null, "githubLogin" character varying(64) DEFAULT null, "discord" boolean NOT NULL DEFAULT false, "discordAccessToken" character varying(64) DEFAULT null, "discordRefreshToken" character varying(64) DEFAULT null, "discordExpiresDate" integer DEFAULT null, "discordId" character varying(64) DEFAULT null, "discordUsername" character varying(64) DEFAULT null, "discordDiscriminator" character varying(64) DEFAULT null, "userHost" character varying(128), CONSTRAINT "REL_51cb79b5555effaf7d69ba1cff" UNIQUE ("userId"), CONSTRAINT "PK_51cb79b5555effaf7d69ba1cff9" PRIMARY KEY ("userId"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_dce530b98e454793dac5ec2f5a" ON "user_profile" ("userHost") `);
awaitqueryRunner.query(`CREATE TYPE "__chart__active_users_span_enum" AS ENUM('hour', 'day')`);
awaitqueryRunner.query(`CREATE TABLE "__chart__active_users" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__active_users_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_count" bigint NOT NULL, "___remote_count" bigint NOT NULL, CONSTRAINT "PK_317237a9f733b970604a11e314f" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE TYPE "__chart__drive_span_enum" AS ENUM('hour', 'day')`);
awaitqueryRunner.query(`CREATE TABLE "__chart__drive" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__drive_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_totalCount" bigint NOT NULL, "___local_totalSize" bigint NOT NULL, "___local_incCount" bigint NOT NULL, "___local_incSize" bigint NOT NULL, "___local_decCount" bigint NOT NULL, "___local_decSize" bigint NOT NULL, "___remote_totalCount" bigint NOT NULL, "___remote_totalSize" bigint NOT NULL, "___remote_incCount" bigint NOT NULL, "___remote_incSize" bigint NOT NULL, "___remote_decCount" bigint NOT NULL, "___remote_decSize" bigint NOT NULL, CONSTRAINT "PK_f96bc548a765cd4b3b354221ce7" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE TYPE "__chart__federation_span_enum" AS ENUM('hour', 'day')`);
awaitqueryRunner.query(`CREATE TABLE "__chart__federation" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__federation_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___instance_total" bigint NOT NULL, "___instance_inc" bigint NOT NULL, "___instance_dec" bigint NOT NULL, CONSTRAINT "PK_b39dcd31a0fe1a7757e348e85fd" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE TYPE "__chart__hashtag_span_enum" AS ENUM('hour', 'day')`);
awaitqueryRunner.query(`CREATE TABLE "__chart__hashtag" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__hashtag_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_count" bigint NOT NULL, "___remote_count" bigint NOT NULL, CONSTRAINT "PK_c32f1ea2b44a5d2f7881e37f8f9" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE TYPE "__chart__instance_span_enum" AS ENUM('hour', 'day')`);
awaitqueryRunner.query(`CREATE TABLE "__chart__instance" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__instance_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___requests_failed" bigint NOT NULL, "___requests_succeeded" bigint NOT NULL, "___requests_received" bigint NOT NULL, "___notes_total" bigint NOT NULL, "___notes_inc" bigint NOT NULL, "___notes_dec" bigint NOT NULL, "___notes_diffs_normal" bigint NOT NULL, "___notes_diffs_reply" bigint NOT NULL, "___notes_diffs_renote" bigint NOT NULL, "___users_total" bigint NOT NULL, "___users_inc" bigint NOT NULL, "___users_dec" bigint NOT NULL, "___following_total" bigint NOT NULL, "___following_inc" bigint NOT NULL, "___following_dec" bigint NOT NULL, "___followers_total" bigint NOT NULL, "___followers_inc" bigint NOT NULL, "___followers_dec" bigint NOT NULL, "___drive_totalFiles" bigint NOT NULL, "___drive_totalUsage" bigint NOT NULL, "___drive_incFiles" bigint NOT NULL, "___drive_incUsage" bigint NOT NULL, "___drive_decFiles" bigint NOT NULL, "___drive_decUsage" bigint NOT NULL, CONSTRAINT "PK_1267c67c7c2d47b4903975f2c00" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE TYPE "__chart__network_span_enum" AS ENUM('hour', 'day')`);
awaitqueryRunner.query(`CREATE TABLE "__chart__network" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__network_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___incomingRequests" bigint NOT NULL, "___outgoingRequests" bigint NOT NULL, "___totalTime" bigint NOT NULL, "___incomingBytes" bigint NOT NULL, "___outgoingBytes" bigint NOT NULL, CONSTRAINT "PK_bc4290c2e27fad14ef0c1ca93f3" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE TYPE "__chart__notes_span_enum" AS ENUM('hour', 'day')`);
awaitqueryRunner.query(`CREATE TABLE "__chart__notes" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__notes_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_total" bigint NOT NULL, "___local_inc" bigint NOT NULL, "___local_dec" bigint NOT NULL, "___local_diffs_normal" bigint NOT NULL, "___local_diffs_reply" bigint NOT NULL, "___local_diffs_renote" bigint NOT NULL, "___remote_total" bigint NOT NULL, "___remote_inc" bigint NOT NULL, "___remote_dec" bigint NOT NULL, "___remote_diffs_normal" bigint NOT NULL, "___remote_diffs_reply" bigint NOT NULL, "___remote_diffs_renote" bigint NOT NULL, CONSTRAINT "PK_0aec823fa85c7f901bdb3863b14" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE TYPE "__chart__per_user_drive_span_enum" AS ENUM('hour', 'day')`);
awaitqueryRunner.query(`CREATE TABLE "__chart__per_user_drive" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__per_user_drive_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___totalCount" bigint NOT NULL, "___totalSize" bigint NOT NULL, "___incCount" bigint NOT NULL, "___incSize" bigint NOT NULL, "___decCount" bigint NOT NULL, "___decSize" bigint NOT NULL, CONSTRAINT "PK_d0ef23d24d666e1a44a0cd3d208" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE TYPE "__chart__per_user_following_span_enum" AS ENUM('hour', 'day')`);
awaitqueryRunner.query(`CREATE TABLE "__chart__per_user_following" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__per_user_following_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_followings_total" bigint NOT NULL, "___local_followings_inc" bigint NOT NULL, "___local_followings_dec" bigint NOT NULL, "___local_followers_total" bigint NOT NULL, "___local_followers_inc" bigint NOT NULL, "___local_followers_dec" bigint NOT NULL, "___remote_followings_total" bigint NOT NULL, "___remote_followings_inc" bigint NOT NULL, "___remote_followings_dec" bigint NOT NULL, "___remote_followers_total" bigint NOT NULL, "___remote_followers_inc" bigint NOT NULL, "___remote_followers_dec" bigint NOT NULL, CONSTRAINT "PK_85bb1b540363a29c2fec83bd907" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE TYPE "__chart__per_user_notes_span_enum" AS ENUM('hour', 'day')`);
awaitqueryRunner.query(`CREATE TABLE "__chart__per_user_notes" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__per_user_notes_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___total" bigint NOT NULL, "___inc" bigint NOT NULL, "___dec" bigint NOT NULL, "___diffs_normal" bigint NOT NULL, "___diffs_reply" bigint NOT NULL, "___diffs_renote" bigint NOT NULL, CONSTRAINT "PK_334acf6e915af2f29edc11b8e50" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE TYPE "__chart__per_user_reaction_span_enum" AS ENUM('hour', 'day')`);
awaitqueryRunner.query(`CREATE TABLE "__chart__per_user_reaction" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__per_user_reaction_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_count" bigint NOT NULL, "___remote_count" bigint NOT NULL, CONSTRAINT "PK_984f54dae441e65b633e8d27a7f" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE TYPE "__chart__test_grouped_span_enum" AS ENUM('hour', 'day')`);
awaitqueryRunner.query(`CREATE TABLE "__chart__test_grouped" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__test_grouped_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___foo_total" bigint NOT NULL, "___foo_inc" bigint NOT NULL, "___foo_dec" bigint NOT NULL, CONSTRAINT "PK_f4a2b175d308695af30d4293272" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE TYPE "__chart__test_unique_span_enum" AS ENUM('hour', 'day')`);
awaitqueryRunner.query(`CREATE TABLE "__chart__test_unique" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__test_unique_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___foo" bigint NOT NULL, CONSTRAINT "PK_409bac9c97cc612d8500012319d" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE TYPE "__chart__test_span_enum" AS ENUM('hour', 'day')`);
awaitqueryRunner.query(`CREATE TABLE "__chart__test" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__test_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___foo_total" bigint NOT NULL, "___foo_inc" bigint NOT NULL, "___foo_dec" bigint NOT NULL, CONSTRAINT "PK_b4bc31dffbd1b785276a3ecfc1e" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE TYPE "__chart__users_span_enum" AS ENUM('hour', 'day')`);
awaitqueryRunner.query(`CREATE TABLE "__chart__users" ("id" SERIAL NOT NULL, "date" integer NOT NULL, "group" character varying(128), "span" "__chart__users_span_enum" NOT NULL, "unique" jsonb NOT NULL DEFAULT '{}', "___local_total" bigint NOT NULL, "___local_inc" bigint NOT NULL, "___local_dec" bigint NOT NULL, "___remote_total" bigint NOT NULL, "___remote_inc" bigint NOT NULL, "___remote_dec" bigint NOT NULL, CONSTRAINT "PK_4dfcf2c78d03524b9eb2c99d328" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`ALTER TABLE "drive_folder" ADD CONSTRAINT "FK_f4fc06e49c0171c85f1c48060d2" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "drive_folder" ADD CONSTRAINT "FK_00ceffb0cdc238b3233294f08f2" FOREIGN KEY ("parentId") REFERENCES "drive_folder"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "drive_file" ADD CONSTRAINT "FK_860fa6f6c7df5bb887249fba22e" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "drive_file" ADD CONSTRAINT "FK_bb90d1956dafc4068c28aa7560a" FOREIGN KEY ("folderId") REFERENCES "drive_folder"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "user" ADD CONSTRAINT "FK_58f5c71eaab331645112cf8cfa5" FOREIGN KEY ("avatarId") REFERENCES "drive_file"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "user" ADD CONSTRAINT "FK_afc64b53f8db3707ceb34eb28e2" FOREIGN KEY ("bannerId") REFERENCES "drive_file"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "app" ADD CONSTRAINT "FK_3f5b0899ef90527a3462d7c2cb3" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "access_token" ADD CONSTRAINT "FK_9949557d0e1b2c19e5344c171e9" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "access_token" ADD CONSTRAINT "FK_a3ff16c90cc87a82a0b5959e560" FOREIGN KEY ("appId") REFERENCES "app"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "note" ADD CONSTRAINT "FK_17cb3553c700a4985dff5a30ff5" FOREIGN KEY ("replyId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "note" ADD CONSTRAINT "FK_52ccc804d7c69037d558bac4c96" FOREIGN KEY ("renoteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "note" ADD CONSTRAINT "FK_ec5c201576192ba8904c345c5cc" FOREIGN KEY ("appId") REFERENCES "app"("id") ON DELETE SET NULL ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "note" ADD CONSTRAINT "FK_5b87d9d19127bd5d92026017a7b" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "poll_vote" ADD CONSTRAINT "FK_66d2bd2ee31d14bcc23069a89f8" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "poll_vote" ADD CONSTRAINT "FK_aecfbd5ef60374918e63ee95fa7" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "note_reaction" ADD CONSTRAINT "FK_13761f64257f40c5636d0ff95ee" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "note_reaction" ADD CONSTRAINT "FK_45145e4953780f3cd5656f0ea6a" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "note_watching" ADD CONSTRAINT "FK_b0134ec406e8d09a540f8182888" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "note_watching" ADD CONSTRAINT "FK_03e7028ab8388a3f5e3ce2a8619" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "note_unread" ADD CONSTRAINT "FK_56b0166d34ddae49d8ef7610bb9" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "note_unread" ADD CONSTRAINT "FK_e637cba4dc4410218c4251260e4" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "notification" ADD CONSTRAINT "FK_3c601b70a1066d2c8b517094cb9" FOREIGN KEY ("notifieeId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "notification" ADD CONSTRAINT "FK_3b4e96eec8d36a8bbb9d02aa710" FOREIGN KEY ("notifierId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "notification" ADD CONSTRAINT "FK_769cb6b73a1efe22ddf733ac453" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "following" ADD CONSTRAINT "FK_24e0042143a18157b234df186c3" FOREIGN KEY ("followeeId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "following" ADD CONSTRAINT "FK_6516c5a6f3c015b4eed39978be5" FOREIGN KEY ("followerId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "muting" ADD CONSTRAINT "FK_ec96b4fed9dae517e0dbbe0675c" FOREIGN KEY ("muteeId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "muting" ADD CONSTRAINT "FK_93060675b4a79a577f31d260c67" FOREIGN KEY ("muterId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "sw_subscription" ADD CONSTRAINT "FK_97754ca6f2baff9b4abb7f853dd" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "blocking" ADD CONSTRAINT "FK_2cd4a2743a99671308f5417759e" FOREIGN KEY ("blockeeId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "blocking" ADD CONSTRAINT "FK_0627125f1a8a42c9a1929edb552" FOREIGN KEY ("blockerId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "user_list" ADD CONSTRAINT "FK_b7fcefbdd1c18dce86687531f99" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "user_list_joining" ADD CONSTRAINT "FK_d844bfc6f3f523a05189076efaa" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "user_list_joining" ADD CONSTRAINT "FK_605472305f26818cc93d1baaa74" FOREIGN KEY ("userListId") REFERENCES "user_list"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "note_favorite" ADD CONSTRAINT "FK_47f4b1892f5d6ba8efb3057d81a" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "note_favorite" ADD CONSTRAINT "FK_0e00498f180193423c992bc4370" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "abuse_user_report" ADD CONSTRAINT "FK_d049123c413e68ca52abe734203" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "abuse_user_report" ADD CONSTRAINT "FK_04cc96756f89d0b7f9473e8cdf3" FOREIGN KEY ("reporterId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "messaging_message" ADD CONSTRAINT "FK_5377c307783fce2b6d352e1203b" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "messaging_message" ADD CONSTRAINT "FK_cac14a4e3944454a5ce7daa5142" FOREIGN KEY ("recipientId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "messaging_message" ADD CONSTRAINT "FK_535def119223ac05ad3fa9ef64b" FOREIGN KEY ("fileId") REFERENCES "drive_file"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "signin" ADD CONSTRAINT "FK_2c308dbdc50d94dc625670055f7" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "auth_session" ADD CONSTRAINT "FK_c072b729d71697f959bde66ade0" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "auth_session" ADD CONSTRAINT "FK_dbe037d4bddd17b03a1dc778dee" FOREIGN KEY ("appId") REFERENCES "app"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "follow_request" ADD CONSTRAINT "FK_12c01c0d1a79f77d9f6c15fadd2" FOREIGN KEY ("followeeId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "follow_request" ADD CONSTRAINT "FK_a7fd92dd6dc519e6fb435dd108f" FOREIGN KEY ("followerId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "reversi_game" ADD CONSTRAINT "FK_f7467510c60a45ce5aca6292743" FOREIGN KEY ("user1Id") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "reversi_game" ADD CONSTRAINT "FK_6649a4e8c5d5cf32fb03b5da9f6" FOREIGN KEY ("user2Id") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "reversi_matching" ADD CONSTRAINT "FK_3b25402709dd9882048c2bbade0" FOREIGN KEY ("parentId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "reversi_matching" ADD CONSTRAINT "FK_e247b23a3c9b45f89ec1299d066" FOREIGN KEY ("childId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "user_note_pining" ADD CONSTRAINT "FK_bfbc6f79ba4007b4ce5097f08d6" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "user_note_pining" ADD CONSTRAINT "FK_68881008f7c3588ad7ecae471cf" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "poll" ADD CONSTRAINT "FK_da851e06d0dfe2ef397d8b1bf1b" FOREIGN KEY ("noteId") REFERENCES "note"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "user_keypair" ADD CONSTRAINT "FK_f4853eb41ab722fe05f81cedeb6" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "user_publickey" ADD CONSTRAINT "FK_10c146e4b39b443ede016f6736d" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "user_profile" ADD CONSTRAINT "FK_51cb79b5555effaf7d69ba1cff9" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`CREATE TYPE "page_visibility_enum" AS ENUM('public', 'followers', 'specified')`);
awaitqueryRunner.query(`CREATE TABLE "page" ("id" character varying(32) NOT NULL, "createdAt" TIMESTAMP WITH TIME ZONE NOT NULL, "updatedAt" TIMESTAMP WITH TIME ZONE NOT NULL, "title" character varying(256) NOT NULL, "name" character varying(256) NOT NULL, "summary" character varying(256), "alignCenter" boolean NOT NULL, "font" character varying(32) NOT NULL, "userId" character varying(32) NOT NULL, "eyeCatchingImageId" character varying(32), "content" jsonb NOT NULL DEFAULT '[]', "variables" jsonb NOT NULL DEFAULT '[]', "visibility" "page_visibility_enum" NOT NULL, "visibleUserIds" character varying(32) array NOT NULL DEFAULT '{}'::varchar[], CONSTRAINT "PK_742f4117e065c5b6ad21b37ba1f" PRIMARY KEY ("id"))`);
awaitqueryRunner.query(`CREATE INDEX "IDX_fbb4297c927a9b85e9cefa2eb1" ON "page" ("createdAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_af639b066dfbca78b01a920f8a" ON "page" ("updatedAt") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_b82c19c08afb292de4600d99e4" ON "page" ("name") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_ae1d917992dd0c9d9bbdad06c4" ON "page" ("userId") `);
awaitqueryRunner.query(`CREATE INDEX "IDX_90148bbc2bf0854428786bfc15" ON "page" ("visibleUserIds") `);
awaitqueryRunner.query(`CREATE UNIQUE INDEX "IDX_2133ef8317e4bdb839c0dcbf13" ON "page" ("userId", "name") `);
awaitqueryRunner.query(`ALTER TABLE "page" ADD CONSTRAINT "FK_ae1d917992dd0c9d9bbdad06c4a" FOREIGN KEY ("userId") REFERENCES "user"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "page" ADD CONSTRAINT "FK_3126dd7c502c9e4d7597ef7ef10" FOREIGN KEY ("eyeCatchingImageId") REFERENCES "drive_file"("id") ON DELETE CASCADE ON UPDATE NO ACTION`);
awaitqueryRunner.query(`ALTER TABLE "meta" DROP COLUMN "pinnedUsers"`);
}
}
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.