forked from FoundKeyGang/FoundKey
Merge remote-tracking branch 'upstream/main' into nyaaa
This commit is contained in:
commit
1d8fca7c1d
5 changed files with 70 additions and 23 deletions
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -5,6 +5,9 @@
|
|||
# Intelij-IDEA
|
||||
/.idea
|
||||
|
||||
# Sublime Text
|
||||
/*.sublime-*
|
||||
|
||||
# nano
|
||||
.swp
|
||||
|
||||
|
|
46
CHANGELOG.md
46
CHANGELOG.md
|
@ -7,40 +7,56 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
This changelog covers changes since Misskey v12.111.1, the version prior to the FoundKey fork.
|
||||
For older Misskey versions, see [CHANGELOG-OLD.md](./CHANGELOG-OLD.md).
|
||||
|
||||
## [Unreleased]
|
||||
## Unreleased
|
||||
### Added
|
||||
- Client: Readded group pages
|
||||
- Client: add re-collapsing to quoted notes
|
||||
|
||||
### Changed
|
||||
- Client: Use consistent date formatting based on language setting
|
||||
- Client: Add threshold to reduce occurances of "future" timestamps
|
||||
|
||||
### Removed
|
||||
- Okteto config and Helm chart
|
||||
- Client: acrylic styling
|
||||
|
||||
### Fixed
|
||||
- Server: Blocking remote accounts
|
||||
|
||||
## 13.0.0-preview1 - 2022-08-05
|
||||
### Added
|
||||
- Server: Replies can now be fetched recursively.
|
||||
|
||||
### Changed
|
||||
- Server: Replies/quotes cannot have a more open visibility than the parent post
|
||||
- Client: Searching in the emoji picker is now case insensitive
|
||||
- Client: MFM search button changed to a no-op
|
||||
- Client: Fix URL-encoded routing
|
||||
- Server: Allow GET method for some endpoints
|
||||
- Server: Add rate limit to i/notifications
|
||||
- Server: Improve performance
|
||||
- Server: Supports IPv6 on Redis transport
|
||||
IPv4/IPv6 is used by default. You can tune this behavior via `redis.family`
|
||||
- Server: Mutes and blocks now apply recursively to replies and renotes
|
||||
- Server: Admins can now delete accounts
|
||||
- Client: Improve control panel
|
||||
- Client: Show warning in control panel when there is an unresolved abuse report
|
||||
- Client: For notes with specified visibility, show recipients when hovering over visibility symbol.
|
||||
- Client: Add rss-ticker widget
|
||||
- Client: Removing entries from a clip
|
||||
- Client: Searching in the emoji picker is now case insensitive
|
||||
- Client: MFM search button changed to a no-op
|
||||
- Client: Fix URL-encoded routing
|
||||
- Client: Poll highlights in explore page
|
||||
- Make possible to delete an account by admin
|
||||
- Improve player detection in URL preview
|
||||
- Add Badge Image to Push Notification
|
||||
- Server: Improve performance
|
||||
- Server: Supports IPv6 on Redis transport.
|
||||
IPv4/IPv6 is used by default. You can tune this behavior via `redis.family`.
|
||||
- Custom Emoji pages have been merged into the Instance Info page
|
||||
- Mutes and blocks now apply recursively to replies and renotes.
|
||||
- Client: Improve player detection in URL preview
|
||||
- Client: Add Badge Image to Push Notification
|
||||
- Client: Custom Emoji pages have been merged into the Instance Info page
|
||||
|
||||
### Removed
|
||||
- Ability to show advertisements
|
||||
- Server: ID generation methods other than `aid`
|
||||
- Client: Ability to show advertisements
|
||||
|
||||
### Fixed
|
||||
- Server: Video thumbnails are now generated properly
|
||||
- Server: Ensure temp directory cleanup
|
||||
- Favicons of remote instances now show up
|
||||
- Client: Favicons of remote instances now show up
|
||||
- Client: Fix switch to receive email notifications
|
||||
- Client: Page freezes when trying to open configuration page of existing webhooks
|
||||
- Client: Fix a bug where new chat messages don't show up
|
||||
|
@ -48,4 +64,4 @@ For older Misskey versions, see [CHANGELOG-OLD.md](./CHANGELOG-OLD.md).
|
|||
- Client: Add padding to pages
|
||||
|
||||
### Security
|
||||
- Hide metadata of private notes
|
||||
- Server: Hide metadata of private notes
|
||||
|
|
|
@ -9,22 +9,26 @@
|
|||
<script lang="ts" setup>
|
||||
import { onUnmounted } from 'vue';
|
||||
import { i18n } from '@/i18n';
|
||||
import { lang } from '@/config';
|
||||
|
||||
const props = withDefaults(defineProps<{
|
||||
time: Date | string;
|
||||
format?: 'both' | 'date' | 'time';
|
||||
mode?: 'relative' | 'absolute' | 'detail';
|
||||
utc?: boolean;
|
||||
}>(), {
|
||||
format: 'both',
|
||||
mode: 'relative',
|
||||
utc: false,
|
||||
});
|
||||
|
||||
const _time = typeof props.time === 'string' ? new Date(props.time) : props.time;
|
||||
const absolute = ((): string => {
|
||||
const options = props.utc ? { timeZone: 'UTC' } : {};
|
||||
switch (props.format) {
|
||||
case 'date': return _time.toLocaleDateString();
|
||||
case 'time': return _time.toLocaleTimeString();
|
||||
default: return _time.toLocaleString();
|
||||
case 'date': return _time.toLocaleDateString(lang ?? 'en-US', options);
|
||||
case 'time': return _time.toLocaleTimeString(lang ?? 'en-US', options);
|
||||
default: return _time.toLocaleString(lang ?? 'en-US', options);
|
||||
}
|
||||
})();
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<template>
|
||||
<div class="wrmlmaau" :class="{ collapsed }">
|
||||
<div class="wrmlmaau" :class="{ collapsed, isLong }">
|
||||
<div class="body">
|
||||
<span v-if="note.deletedAt" style="opacity: 0.5">({{ i18n.ts.deleted }})</span>
|
||||
<MkA v-if="note.replyId" class="reply" :to="`/notes/${note.replyId}`"><i class="fas fa-reply"></i></MkA>
|
||||
|
@ -14,9 +14,12 @@
|
|||
<summary>{{ i18n.ts.poll }}</summary>
|
||||
<XPoll :note="note"/>
|
||||
</details>
|
||||
<button v-if="collapsed" class="fade _button" @click="collapsed = false">
|
||||
<button v-if="isLong && collapsed" class="fade _button" @click="collapsed = false">
|
||||
<span>{{ i18n.ts.showMore }}</span>
|
||||
</button>
|
||||
<button v-if="isLong && !collapsed" class="showLess _button" @click="collapsed = true">
|
||||
<span>{{ i18n.ts.showLess }}</span>
|
||||
</button>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
@ -30,11 +33,14 @@ const props = defineProps<{
|
|||
note: misskey.entities.Note;
|
||||
}>();
|
||||
|
||||
const collapsed = $ref(
|
||||
|
||||
const isLong = (
|
||||
props.note.cw == null && props.note.text != null && (
|
||||
(props.note.text.split('\n').length > 9) ||
|
||||
(props.note.text.length > 500)
|
||||
));
|
||||
)
|
||||
);
|
||||
const collapsed = $ref(props.note.cw == null && isLong);
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
@ -84,5 +90,23 @@ const collapsed = $ref(
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.isLong {
|
||||
> .showLess {
|
||||
width: 100%;
|
||||
margin-top: 1em;
|
||||
position: sticky;
|
||||
bottom: 1em;
|
||||
|
||||
> span {
|
||||
display: inline-block;
|
||||
background: var(--panel);
|
||||
padding: 6px 10px;
|
||||
font-size: 0.8em;
|
||||
border-radius: 999px;
|
||||
box-shadow: 0 0 7px 7px var(--bg);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -51,7 +51,7 @@
|
|||
</dl>
|
||||
<dl v-if="user.birthday" class="field">
|
||||
<dt class="name"><i class="fas fa-birthday-cake fa-fw"></i> {{ i18n.ts.birthday }}</dt>
|
||||
<dd class="value"><MkTime format="date" mode="detail" :time="user.birthday"/></dd>
|
||||
<dd class="value"><MkTime format="date" mode="detail" :time="user.birthday" :utc="true"/></dd>
|
||||
</dl>
|
||||
<dl class="field">
|
||||
<dt class="name"><i class="fas fa-calendar-alt fa-fw"></i> {{ i18n.ts.registeredDate }}</dt>
|
||||
|
|
Loading…
Reference in a new issue