Merge branch 'develop'
This commit is contained in:
commit
6e7e11e061
11
CHANGELOG.md
11
CHANGELOG.md
|
@ -10,6 +10,17 @@
|
|||
You should also include the user name that made the change.
|
||||
-->
|
||||
|
||||
## 12.107.0 (2022/02/12)
|
||||
|
||||
### Improvements
|
||||
- クライアント: テーマを追加 @syuilo
|
||||
|
||||
### Bugfixes
|
||||
- API: stats APIで内部エラーが発生する問題を修正 @syuilo
|
||||
- クライアント: ソフトミュートですべてがマッチしてしまう場合があるのを修正 @tamaina
|
||||
- クライアント: デバイスのスクリーンのセーフエリアを考慮するように @syuilo
|
||||
- クライアント: 一部環境でサイドバーの投稿ボタンが表示されない問題を修正 @syuilo
|
||||
|
||||
## 12.106.3 (2022/02/11)
|
||||
|
||||
### Improvements
|
||||
|
|
|
@ -831,6 +831,8 @@ smartphone: "Smartphone"
|
|||
tablet: "Tablet"
|
||||
auto: "Automatisch"
|
||||
themeColor: "Instanzfarbe"
|
||||
size: "Größe"
|
||||
numberOfColumn: "Spaltenanzahl"
|
||||
_emailUnavailable:
|
||||
used: "Diese Email-Adresse wird bereits verwendet"
|
||||
format: "Das Format dieser Email-Adresse ist ungültig"
|
||||
|
|
|
@ -829,6 +829,8 @@ smartphone: "Smartphone"
|
|||
tablet: "Tablet"
|
||||
auto: "Auto"
|
||||
themeColor: "Theme Color"
|
||||
size: "Size"
|
||||
numberOfColumn: "Number of columns"
|
||||
_emailUnavailable:
|
||||
used: "This email address is already being used"
|
||||
format: "The format of this email address is invalid"
|
||||
|
|
|
@ -830,6 +830,8 @@ smartphone: "Smartfón"
|
|||
tablet: "Tablet"
|
||||
auto: "Automaticky"
|
||||
themeColor: "Farba témy"
|
||||
size: "Veľkosť"
|
||||
numberOfColumn: "Počet stĺpcov"
|
||||
_emailUnavailable:
|
||||
used: "Táto emailová adresa sa už používa"
|
||||
format: "Formát emailovej adresy je nesprávny"
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "misskey",
|
||||
"version": "12.106.3",
|
||||
"version": "12.107.0",
|
||||
"codename": "indigo",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
import define from '../define';
|
||||
import { NoteReactions, Notes, Users } from '@/models/index';
|
||||
import { federationChart, driveChart } from '@/services/chart/index';
|
||||
import { Instances, NoteReactions, Notes, Users } from '@/models/index';
|
||||
import { } from '@/services/chart/index';
|
||||
|
||||
export const meta = {
|
||||
requireCredential: false,
|
||||
|
@ -63,7 +63,7 @@ export default define(meta, async () => {
|
|||
Users.count({ where: { host: null }, cache: 3600000 }),
|
||||
NoteReactions.count({ cache: 3600000 }), // 1 hour
|
||||
//NoteReactions.count({ where: { userHost: null }, cache: 3600000 }),
|
||||
federationChart.getChart('hour', 1, null).then(chart => chart.instance.total[0]),
|
||||
Instances.count({ cache: 3600000 }),
|
||||
]);
|
||||
|
||||
return {
|
||||
|
|
|
@ -180,12 +180,12 @@ const setPosition = () => {
|
|||
el.value.style.top = top + 'px';
|
||||
};
|
||||
|
||||
let loopHandler;
|
||||
|
||||
onMounted(() => {
|
||||
nextTick(() => {
|
||||
setPosition();
|
||||
|
||||
let loopHandler;
|
||||
|
||||
const loop = () => {
|
||||
loopHandler = window.requestAnimationFrame(() => {
|
||||
setPosition();
|
||||
|
@ -194,12 +194,12 @@ onMounted(() => {
|
|||
};
|
||||
|
||||
loop();
|
||||
});
|
||||
});
|
||||
|
||||
onUnmounted(() => {
|
||||
window.cancelAnimationFrame(loopHandler);
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
|
|
@ -95,8 +95,7 @@ window.addEventListener('resize', () => {
|
|||
if (['smartphone', 'tablet'].includes(deviceKind)) {
|
||||
const viewport = document.getElementsByName('viewport').item(0);
|
||||
viewport.setAttribute('content',
|
||||
`${viewport.getAttribute('content')},minimum-scale=1,maximum-scale=1,user-scalable=no`);
|
||||
document.head.appendChild(viewport);
|
||||
`${viewport.getAttribute('content')}, minimum-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover`);
|
||||
}
|
||||
|
||||
//#region Set lang attr
|
||||
|
|
|
@ -7,7 +7,11 @@ export function checkWordMute(note: Record<string, any>, me: Record<string, any>
|
|||
|
||||
const matched = mutedWords.some(filter => {
|
||||
if (Array.isArray(filter)) {
|
||||
return filter.every(keyword => note.text!.includes(keyword));
|
||||
// Clean up
|
||||
const filteredFilter = filter.filter(keyword => keyword !== '');
|
||||
if (filteredFilter.length === 0) return false;
|
||||
|
||||
return filteredFilter.every(keyword => note.text!.includes(keyword));
|
||||
} else {
|
||||
// represents RegExp
|
||||
const regexp = filter.match(/^\/(.+)\/(.*)$/);
|
||||
|
|
|
@ -20,6 +20,7 @@ export const builtinThemes = [
|
|||
require('@/themes/l-apricot.json5'),
|
||||
require('@/themes/l-rainy.json5'),
|
||||
require('@/themes/l-vivid.json5'),
|
||||
require('@/themes/l-cherry.json5'),
|
||||
require('@/themes/l-sushi.json5'),
|
||||
|
||||
require('@/themes/d-dark.json5'),
|
||||
|
@ -27,6 +28,7 @@ export const builtinThemes = [
|
|||
require('@/themes/d-astro.json5'),
|
||||
require('@/themes/d-future.json5'),
|
||||
require('@/themes/d-botanical.json5'),
|
||||
require('@/themes/d-cherry.json5'),
|
||||
require('@/themes/d-pumpkin.json5'),
|
||||
require('@/themes/d-black.json5'),
|
||||
] as Theme[];
|
||||
|
|
20
packages/client/src/themes/d-cherry.json5
Normal file
20
packages/client/src/themes/d-cherry.json5
Normal file
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
id: '679b3b87-a4e9-4789-8696-b56c15cc33b0',
|
||||
|
||||
name: 'Mi Cherry Dark',
|
||||
author: 'syuilo',
|
||||
|
||||
base: 'dark',
|
||||
|
||||
props: {
|
||||
accent: 'rgb(255, 89, 117)',
|
||||
bg: 'rgb(28, 28, 37)',
|
||||
fg: 'rgb(236, 239, 244)',
|
||||
panel: 'rgb(35, 35, 47)',
|
||||
renote: '@accent',
|
||||
link: '@accent',
|
||||
mention: '@accent',
|
||||
hashtag: '@accent',
|
||||
divider: 'rgb(63, 63, 80)',
|
||||
},
|
||||
}
|
21
packages/client/src/themes/l-cherry.json5
Normal file
21
packages/client/src/themes/l-cherry.json5
Normal file
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
id: 'ac168876-f737-4074-a3fc-a370c732ef48',
|
||||
|
||||
name: 'Mi Cherry Light',
|
||||
author: 'syuilo',
|
||||
|
||||
base: 'light',
|
||||
|
||||
props: {
|
||||
accent: 'rgb(219, 96, 114)',
|
||||
bg: 'rgb(254, 248, 249)',
|
||||
fg: 'rgb(152, 13, 26)',
|
||||
panel: 'rgb(255, 255, 255)',
|
||||
renote: '@accent',
|
||||
link: 'rgb(156, 187, 5)',
|
||||
mention: '@accent',
|
||||
hashtag: '@accent',
|
||||
divider: 'rgba(134, 51, 51, 0.1)',
|
||||
inputBorderHover: 'rgb(238, 221, 222)',
|
||||
},
|
||||
}
|
|
@ -305,7 +305,7 @@ export default defineComponent({
|
|||
|
||||
&.post:before {
|
||||
width: calc(100% - 28px);
|
||||
height: min-content;
|
||||
height: auto;
|
||||
aspect-ratio: 1/1;
|
||||
border-radius: 100%;
|
||||
}
|
||||
|
|
|
@ -276,7 +276,7 @@ export default defineComponent({
|
|||
}
|
||||
|
||||
> * {
|
||||
font-size: 22px;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
&:disabled {
|
||||
|
|
|
@ -340,13 +340,14 @@ const wallpaper = localStorage.getItem('wallpaper') != null;
|
|||
z-index: 1000;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
padding: 16px;
|
||||
padding: 16px 16px calc(env(safe-area-inset-bottom, 0px) + 16px) 16px;
|
||||
display: flex;
|
||||
width: 100%;
|
||||
box-sizing: border-box;
|
||||
-webkit-backdrop-filter: var(--blur, blur(32px));
|
||||
backdrop-filter: var(--blur, blur(32px));
|
||||
background-color: var(--header);
|
||||
border-top: solid 0.5px var(--divider);
|
||||
|
||||
> .button {
|
||||
position: relative;
|
||||
|
@ -392,7 +393,7 @@ const wallpaper = localStorage.getItem('wallpaper') != null;
|
|||
}
|
||||
|
||||
> * {
|
||||
font-size: 22px;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
&:disabled {
|
||||
|
|
Loading…
Reference in a new issue