fix(frontend): WebGL2コンテキストの初期化に失敗するとMisskeyが起動できなくなる問題を修正 (#13587)
* Fixed startup crash with seasonal effects
(cherry picked from commit eba0c2cc61
)
* Update Changelog
* Update Changelog
---------
Co-authored-by: Leah <kevinlukej@gmail.com>
This commit is contained in:
parent
dcfab918e9
commit
b65203c9f8
3 changed files with 29 additions and 21 deletions
|
@ -13,6 +13,8 @@
|
||||||
- Fix: 一部のページ内リンクが正しく動作しない問題を修正
|
- Fix: 一部のページ内リンクが正しく動作しない問題を修正
|
||||||
- Fix: 周年の実績が閏年を考慮しない問題を修正
|
- Fix: 周年の実績が閏年を考慮しない問題を修正
|
||||||
- Fix: ローカルURLのプレビューポップアップが左上に表示される
|
- Fix: ローカルURLのプレビューポップアップが左上に表示される
|
||||||
|
- Fix: WebGL2をサポートしないブラウザで「季節に応じた画面の演出」が有効になっているとき、Misskeyが起動できなくなる問題を修正
|
||||||
|
(Cherry-picked from https://activitypub.software/TransFem-org/Sharkey/-/merge_requests/459)
|
||||||
|
|
||||||
### Server
|
### Server
|
||||||
- Enhance: エンドポイント`antennas/update`の必須項目を`antennaId`のみに
|
- Enhance: エンドポイント`antennas/update`の必須項目を`antennaId`のみに
|
||||||
|
|
|
@ -75,27 +75,31 @@ export async function mainBoot() {
|
||||||
mainRouter.push('/search');
|
mainRouter.push('/search');
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
try {
|
||||||
if (defaultStore.state.enableSeasonalScreenEffect) {
|
if (defaultStore.state.enableSeasonalScreenEffect) {
|
||||||
const month = new Date().getMonth() + 1;
|
const month = new Date().getMonth() + 1;
|
||||||
if (defaultStore.state.hemisphere === 'S') {
|
if (defaultStore.state.hemisphere === 'S') {
|
||||||
// ▼南半球
|
// ▼南半球
|
||||||
if (month === 7 || month === 8) {
|
if (month === 7 || month === 8) {
|
||||||
const SnowfallEffect = (await import('@/scripts/snowfall-effect.js')).SnowfallEffect;
|
const SnowfallEffect = (await import('@/scripts/snowfall-effect.js')).SnowfallEffect;
|
||||||
new SnowfallEffect({}).render();
|
new SnowfallEffect({}).render();
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// ▼北半球
|
||||||
|
if (month === 12 || month === 1) {
|
||||||
|
const SnowfallEffect = (await import('@/scripts/snowfall-effect.js')).SnowfallEffect;
|
||||||
|
new SnowfallEffect({}).render();
|
||||||
|
} else if (month === 3 || month === 4) {
|
||||||
|
const SakuraEffect = (await import('@/scripts/snowfall-effect.js')).SnowfallEffect;
|
||||||
|
new SakuraEffect({
|
||||||
|
sakura: true,
|
||||||
|
}).render();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
}
|
||||||
// ▼北半球
|
} catch (error) {
|
||||||
if (month === 12 || month === 1) {
|
// console.error(error);
|
||||||
const SnowfallEffect = (await import('@/scripts/snowfall-effect.js')).SnowfallEffect;
|
console.error('Failed to initialise the seasonal screen effect canvas context:', error);
|
||||||
new SnowfallEffect({}).render();
|
|
||||||
} else if (month === 3 || month === 4) {
|
|
||||||
const SakuraEffect = (await import('@/scripts/snowfall-effect.js')).SnowfallEffect;
|
|
||||||
new SakuraEffect({
|
|
||||||
sakura: true,
|
|
||||||
}).render();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($i) {
|
if ($i) {
|
||||||
|
|
|
@ -155,7 +155,9 @@ export class SnowfallEffect {
|
||||||
max: 0.125,
|
max: 0.125,
|
||||||
easing: 0.0005,
|
easing: 0.0005,
|
||||||
};
|
};
|
||||||
|
/**
|
||||||
|
* @throws {Error} - Thrown when it fails to get WebGL context for the canvas
|
||||||
|
*/
|
||||||
constructor(options: {
|
constructor(options: {
|
||||||
sakura?: boolean;
|
sakura?: boolean;
|
||||||
}) {
|
}) {
|
||||||
|
|
Loading…
Reference in a new issue