mirror of
https://github.com/Daichimarukana/uwuzu.git
synced 2026-06-04 19:14:41 +00:00
uwuzu v1.6.9 Hapuego
This commit is contained in:
+3
-2
@@ -576,6 +576,7 @@ main h1 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.userheader .icon {
|
.userheader .icon {
|
||||||
|
position: relative;
|
||||||
margin-left: 24px;
|
margin-left: 24px;
|
||||||
margin-right: 24px;
|
margin-right: 24px;
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -603,8 +604,8 @@ main h1 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.userheader .icon .status {
|
.userheader .icon .status {
|
||||||
position: relative;
|
position: absolute;
|
||||||
left: calc(-24px + -8px);
|
left: calc(148px - 32px);
|
||||||
top: calc(32px - 4px);
|
top: calc(32px - 4px);
|
||||||
width: 24px;
|
width: 24px;
|
||||||
height: 24px;
|
height: 24px;
|
||||||
|
|||||||
+21
-10
@@ -16,7 +16,8 @@ async function replaceMentions(text) {
|
|||||||
let index = 0;
|
let index = 0;
|
||||||
|
|
||||||
// aタグの一時置き換え
|
// aタグの一時置き換え
|
||||||
text = text.replace(/<a\b[^>]*>.*?<\/a>/gi, (match) => {
|
const ignoreRegex = /<a\b[^>]*>.*?<\/a>|<span class="inline">.*?<\/span>|<pre class="codeblock"><code>.*?<\/code><\/pre>/gis;
|
||||||
|
text = text.replace(ignoreRegex, (match) => {
|
||||||
const placeholder = `\u2063{{PLACEHOLDER${index}}}\u2063`;
|
const placeholder = `\u2063{{PLACEHOLDER${index}}}\u2063`;
|
||||||
placeholders.push(match);
|
placeholders.push(match);
|
||||||
index++;
|
index++;
|
||||||
@@ -134,9 +135,20 @@ function saveEmojiCache() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async function replaceCustomEmojis(text) {
|
async function replaceCustomEmojis(text) {
|
||||||
const emojiMatches = [...text.matchAll(/:([a-zA-Z0-9_]+):/g)];
|
const placeholders = [];
|
||||||
if (emojiMatches.length === 0) return text;
|
let index = 0;
|
||||||
|
|
||||||
|
const ignoreRegex = /<a\b[^>]*>.*?<\/a>|<span class="inline">.*?<\/span>|<pre class="codeblock"><code>.*?<\/code><\/pre>/gis;
|
||||||
|
text = text.replace(ignoreRegex, (match) => {
|
||||||
|
const placeholder = `\u2063{{PLACEHOLDER_EMOJI_${index}}}\u2063`;
|
||||||
|
placeholders.push(match);
|
||||||
|
index++;
|
||||||
|
return placeholder;
|
||||||
|
});
|
||||||
|
|
||||||
|
const emojiMatches = [...text.matchAll(/:([a-zA-Z0-9_]+):/g)];
|
||||||
|
|
||||||
|
if (emojiMatches.length > 0) {
|
||||||
const uniqueEmojis = [...new Set(emojiMatches.map(match => match[1]))];
|
const uniqueEmojis = [...new Set(emojiMatches.map(match => match[1]))];
|
||||||
const emojisToFetch = uniqueEmojis.filter(name => !emojiCache[name] && !fetchingEmojis[name]);
|
const emojisToFetch = uniqueEmojis.filter(name => !emojiCache[name] && !fetchingEmojis[name]);
|
||||||
|
|
||||||
@@ -153,8 +165,6 @@ async function replaceCustomEmojis(text) {
|
|||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
timeout: 30000,
|
timeout: 30000,
|
||||||
success: function (response) {
|
success: function (response) {
|
||||||
if (response.success && response.emojis) {
|
|
||||||
for (const name of emojisToFetch) {
|
|
||||||
if (response.success && response.emojis) {
|
if (response.success && response.emojis) {
|
||||||
for (const name of emojisToFetch) {
|
for (const name of emojisToFetch) {
|
||||||
if (response.emojis[name]) {
|
if (response.emojis[name]) {
|
||||||
@@ -164,8 +174,6 @@ async function replaceCustomEmojis(text) {
|
|||||||
emojiCache[name] = null;
|
emojiCache[name] = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
for (const name of emojisToFetch) {
|
for (const name of emojisToFetch) {
|
||||||
emojiCache[name] = null;
|
emojiCache[name] = null;
|
||||||
@@ -195,10 +203,13 @@ async function replaceCustomEmojis(text) {
|
|||||||
|
|
||||||
text = text.replace(/:([a-zA-Z0-9_]+):/g, (_, name) => {
|
text = text.replace(/:([a-zA-Z0-9_]+):/g, (_, name) => {
|
||||||
const url = emojiCache[name];
|
const url = emojiCache[name];
|
||||||
if (url === undefined) return `:${name}:`; // 未取得
|
if (url === undefined || url === null) return `:${name}:`;
|
||||||
if (url === null) return `:${name}:`; // 存在しない
|
return `<img src="${url}" alt=":${name}:" onerror="this.onerror=null;this.src='../img/sysimage/errorimage/emoji_404.png'">`;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
return `<img src="${url}" alt=":${name}:" onerror="this.onerror=null;this.src='../img/sysimage/errorimage/emoji_404.png'">`; // ここで生成
|
placeholders.forEach((original, i) => {
|
||||||
|
text = text.replace(`\u2063{{PLACEHOLDER_EMOJI_${i}}}\u2063`, original);
|
||||||
});
|
});
|
||||||
|
|
||||||
return text;
|
return text;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
uwuzu
|
uwuzu
|
||||||
1.6.8
|
1.6.9
|
||||||
2025/12/30
|
2025/12/30
|
||||||
daichimarukana,putonfps
|
daichimarukana,putonfps
|
||||||
@@ -1,8 +1,13 @@
|
|||||||
## リリースノートだぜぇぇぇぇぇぇい!!!!!!!
|
## リリースノートだぜぇぇぇぇぇぇい!!!!!!!
|
||||||
ここにはuwuzuの更新情報を載せてくぜぇ~!(いやまてテンションおかしいだろ...)
|
ここにはuwuzuの更新情報を載せてくぜぇ~!(いやまてテンションおかしいだろ...)
|
||||||
|
|
||||||
|
## Version 1.6.9 (Hapuego)
|
||||||
|
2025/12/30
|
||||||
|
fix: ユーザープロフィールページでのオンラインステータスのUIが崩れないように修正しました!
|
||||||
|
fix: ユーズでインラインコード・コードブロックを使用している際に、インラインコード・コードブロック内にメンションまたはカスタム絵文字が含まれていた際に、それらが変換されてしまう問題を修正しました!
|
||||||
|
|
||||||
## Version 1.6.8 (Hapuego)
|
## Version 1.6.8 (Hapuego)
|
||||||
2025/12/26
|
2025/12/30
|
||||||
fix: 不要なコードを削除しました!
|
fix: 不要なコードを削除しました!
|
||||||
fix: 一部UIの崩れを修正しました!
|
fix: 一部UIの崩れを修正しました!
|
||||||
fix: アポストロフィーが正しく表示されない問題を修正しました!
|
fix: アポストロフィーが正しく表示されない問題を修正しました!
|
||||||
@@ -31,6 +36,7 @@ new: 管理者向けAPIを追加しました!
|
|||||||
- 通報を解決する
|
- 通報を解決する
|
||||||
new: AIによる学習を拒否する機能を強化しました!
|
new: AIによる学習を拒否する機能を強化しました!
|
||||||
これにより、AIによる学習を拒否する設定がオンの場合に、uwuzu上で画像を表示すると画像の下に「No AI 機械学習への利用を一切拒否します。」と表示されるようになります。
|
これにより、AIによる学習を拒否する設定がオンの場合に、uwuzu上で画像を表示すると画像の下に「No AI 機械学習への利用を一切拒否します。」と表示されるようになります。
|
||||||
|
uwuzu_database.sqlは更新済みです。
|
||||||
|
|
||||||
## Version 1.6.7 (Hapuego)
|
## Version 1.6.7 (Hapuego)
|
||||||
2025/12/26
|
2025/12/26
|
||||||
|
|||||||
+3
-21
@@ -1,31 +1,13 @@
|
|||||||
{
|
{
|
||||||
"software": "uwuzu",
|
"software": "uwuzu",
|
||||||
"version": "1.6.8",
|
"version": "1.6.9",
|
||||||
"release_date": "2025/12/30",
|
"release_date": "2025/12/30",
|
||||||
"release_notes": "このアップデートには、アポストロフィーが正しく表示されない問題の修正や、一部ページでブックマーク追加時に画面上からお知らせが出ない問題の修正など、いくつかのバグ修正が含まれます!\nまた、新機能でオンラインステータス機能と管理者向けAPIが含まれます!\n詳細はリリースノートをご確認ください。",
|
"release_notes": "このアップデートには、ユーザープロフィールページにてオンラインステータスが潰れてしまう問題と、ユーズのインラインコードに関するバグの修正が含まれます!\n詳細はリリースノートをご確認ください。",
|
||||||
"notices": "アップデートの前にデータベース構造の更新が必要です。リリースノートの案内に沿って更新をしてからアップデートをしてください。\nアップデート前にデータのバックアップを行うことをおすすめします!",
|
"notices": "アップデート前にデータのバックアップを行うことをおすすめします!",
|
||||||
"files": {
|
"files": {
|
||||||
"overwrite": [
|
"overwrite": [
|
||||||
"/uwuzu_error_code.txt",
|
|
||||||
"/api/auth.php",
|
|
||||||
"/api/admin/reports/index.php",
|
|
||||||
"/api/admin/reports/resolve.php",
|
|
||||||
"/api/admin/users/index.php",
|
|
||||||
"/api/admin/users/sanction.php",
|
|
||||||
"/api/users/index.php",
|
|
||||||
"/bookmark/index.php",
|
|
||||||
"/css/home.css",
|
"/css/home.css",
|
||||||
"/function/function.php",
|
|
||||||
"/home/index.php",
|
|
||||||
"/js/nsfw_event.js",
|
|
||||||
"/js/view_function.js",
|
"/js/view_function.js",
|
||||||
"/others/index.php",
|
|
||||||
"/search/index.php",
|
|
||||||
"/settings/index.php",
|
|
||||||
"/settings_admin/overview_admin.php",
|
|
||||||
"/settings_admin/userinfo.php",
|
|
||||||
"/ueuse/index.php",
|
|
||||||
"/user/index.php",
|
|
||||||
"/server/uwuzuabout.txt",
|
"/server/uwuzuabout.txt",
|
||||||
"/server/uwuzuinfo.txt",
|
"/server/uwuzuinfo.txt",
|
||||||
"/server/uwuzurelease.txt"
|
"/server/uwuzurelease.txt"
|
||||||
|
|||||||
Reference in New Issue
Block a user