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); | ||||
| 		}); | ||||
| 	}); | ||||
| }); | ||||
| 
 | ||||
| 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[]; | ||||
|  |  | |||
|  | @ -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)', | ||||
| 	}, | ||||
| } | ||||
|  | @ -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 New Issue