commit
19053339d9
|
|
@ -11,6 +11,7 @@ jobs:
|
||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
issues: write
|
issues: write
|
||||||
|
pull-requests: write
|
||||||
steps:
|
steps:
|
||||||
- name: Reply
|
- name: Reply
|
||||||
uses: actions/github-script@v6
|
uses: actions/github-script@v6
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,9 @@
|
||||||
|
## 2025.10.2
|
||||||
|
|
||||||
|
### Client
|
||||||
|
- Fix: アプリ内からキャッシュをクリアするとテーマ再適用するまでレンダリングが正しく行われない問題を修正
|
||||||
|
- Fix: 期限が無期限のアンケートに投票できない問題を修正
|
||||||
|
|
||||||
## 2025.10.1
|
## 2025.10.1
|
||||||
|
|
||||||
### General
|
### General
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "misskey",
|
"name": "misskey",
|
||||||
"version": "2025.10.1",
|
"version": "2025.10.2",
|
||||||
"codename": "nasubi",
|
"codename": "nasubi",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
|
|
|
||||||
|
|
@ -257,12 +257,8 @@ function onImagePointerdown(ev: PointerEvent) {
|
||||||
xOffset /= 2;
|
xOffset /= 2;
|
||||||
yOffset /= 2;
|
yOffset /= 2;
|
||||||
|
|
||||||
const rect = canvasEl.value.getBoundingClientRect();
|
let startX = ev.offsetX - xOffset;
|
||||||
const pointerOffsetX = ev.clientX - rect.left;
|
let startY = ev.offsetY - yOffset;
|
||||||
const pointerOffsetY = ev.clientY - rect.top;
|
|
||||||
|
|
||||||
let startX = pointerOffsetX - xOffset;
|
|
||||||
let startY = pointerOffsetY - yOffset;
|
|
||||||
|
|
||||||
if (AW / AH < BW / BH) { // 横長
|
if (AW / AH < BW / BH) { // 横長
|
||||||
startX = startX / (Math.max(AW, AH) / Math.max(BH / BW, 1));
|
startX = startX / (Math.max(AW, AH) / Math.max(BH / BW, 1));
|
||||||
|
|
@ -315,11 +311,9 @@ function onImagePointerdown(ev: PointerEvent) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
_move(ev.clientX, ev.clientY);
|
_move(ev.offsetX, ev.offsetY);
|
||||||
|
|
||||||
function _move(pointerClientX: number, pointerClientY: number) {
|
function _move(pointerX: number, pointerY: number) {
|
||||||
const pointerX = pointerClientX - rect.left;
|
|
||||||
const pointerY = pointerClientY - rect.top;
|
|
||||||
let x = pointerX - xOffset;
|
let x = pointerX - xOffset;
|
||||||
let y = pointerY - yOffset;
|
let y = pointerY - yOffset;
|
||||||
|
|
||||||
|
|
@ -346,7 +340,7 @@ function onImagePointerdown(ev: PointerEvent) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function move(ev: PointerEvent) {
|
function move(ev: PointerEvent) {
|
||||||
_move(ev.clientX, ev.clientY);
|
_move(ev.offsetX, ev.offsetY);
|
||||||
}
|
}
|
||||||
|
|
||||||
function up() {
|
function up() {
|
||||||
|
|
|
||||||
|
|
@ -58,7 +58,7 @@ const remaining = computed(() => {
|
||||||
});
|
});
|
||||||
|
|
||||||
const total = computed(() => sum(props.choices.map(x => x.votes)));
|
const total = computed(() => sum(props.choices.map(x => x.votes)));
|
||||||
const closed = computed(() => remaining.value <= 0);
|
const closed = computed(() => props.expiresAt != null && remaining.value <= 0);
|
||||||
const isVoted = computed(() => !props.multiple && props.choices.some(c => c.isVoted));
|
const isVoted = computed(() => !props.multiple && props.choices.some(c => c.isVoted));
|
||||||
const timer = computed(() => i18n.tsx._poll[
|
const timer = computed(() => i18n.tsx._poll[
|
||||||
remaining.value >= 86400 ? 'remainingDays' :
|
remaining.value >= 86400 ? 'remainingDays' :
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ SPDX-License-Identifier: AGPL-3.0-only
|
||||||
<header :class="$style.header">
|
<header :class="$style.header">
|
||||||
<div :class="$style.headerLeft">
|
<div :class="$style.headerLeft">
|
||||||
<button v-if="!fixed" :class="$style.cancel" class="_button" @click="cancel"><i class="ti ti-x"></i></button>
|
<button v-if="!fixed" :class="$style.cancel" class="_button" @click="cancel"><i class="ti ti-x"></i></button>
|
||||||
<button v-click-anime v-tooltip="i18n.ts.switchAccount" :class="$style.account" class="_button" @click="openAccountMenu">
|
<button v-click-anime v-tooltip="i18n.ts.account" :class="$style.account" class="_button" @click="openAccountMenu">
|
||||||
<img :class="$style.avatar" :src="(postAccount ?? $i).avatarUrl" style="border-radius: 100%;"/>
|
<img :class="$style.avatar" :src="(postAccount ?? $i).avatarUrl" style="border-radius: 100%;"/>
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -242,3 +242,9 @@ export async function installTheme(code: string): Promise<void> {
|
||||||
if (!theme) return;
|
if (!theme) return;
|
||||||
await addTheme(theme);
|
await addTheme(theme);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export function clearAppliedThemeCache() {
|
||||||
|
miLocalStorage.removeItem('theme');
|
||||||
|
miLocalStorage.removeItem('themeId');
|
||||||
|
miLocalStorage.removeItem('themeCachedVersion');
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,14 +9,15 @@ import * as os from '@/os.js';
|
||||||
import { miLocalStorage } from '@/local-storage.js';
|
import { miLocalStorage } from '@/local-storage.js';
|
||||||
import { fetchCustomEmojis } from '@/custom-emojis.js';
|
import { fetchCustomEmojis } from '@/custom-emojis.js';
|
||||||
import { fetchInstance } from '@/instance.js';
|
import { fetchInstance } from '@/instance.js';
|
||||||
|
import { clearAppliedThemeCache } from '@/theme.js';
|
||||||
|
|
||||||
export async function clearCache() {
|
export async function clearCache() {
|
||||||
os.waiting();
|
os.waiting();
|
||||||
miLocalStorage.removeItem('instance');
|
miLocalStorage.removeItem('instance');
|
||||||
miLocalStorage.removeItem('instanceCachedAt');
|
miLocalStorage.removeItem('instanceCachedAt');
|
||||||
miLocalStorage.removeItem('theme');
|
|
||||||
miLocalStorage.removeItem('emojis');
|
miLocalStorage.removeItem('emojis');
|
||||||
miLocalStorage.removeItem('lastEmojisFetchedAt');
|
miLocalStorage.removeItem('lastEmojisFetchedAt');
|
||||||
|
clearAppliedThemeCache();
|
||||||
await misskeyApiGet('clear-browser-cache', {}).catch(() => {
|
await misskeyApiGet('clear-browser-cache', {}).catch(() => {
|
||||||
// ignore
|
// ignore
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"name": "misskey-js",
|
"name": "misskey-js",
|
||||||
"version": "2025.10.1",
|
"version": "2025.10.2",
|
||||||
"description": "Misskey SDK for JavaScript",
|
"description": "Misskey SDK for JavaScript",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"main": "./built/index.js",
|
"main": "./built/index.js",
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue