diff --git a/CHANGELOG.md b/CHANGELOG.md index e16a9bd5f2..98115a192c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,145 @@ +#### v3.10.2 (2024-10-18) + +##### Chores + +* incrementing version number - v3.10.1 (cca3a644) +* update changelog for v3.10.1 (d63a8cca) +* incrementing version number - v3.10.0 (b60a9b4e) +* incrementing version number - v3.9.1 (f120c91c) +* incrementing version number - v3.9.0 (4880f32d) +* incrementing version number - v3.8.4 (4833f9a6) +* incrementing version number - v3.8.3 (97ce2c44) +* incrementing version number - v3.8.2 (72d91251) +* incrementing version number - v3.8.1 (527326f7) +* incrementing version number - v3.8.0 (e228a6eb) +* incrementing version number - v3.7.5 (6882894d) +* incrementing version number - v3.7.4 (6678744c) +* incrementing version number - v3.7.3 (2d62b6f6) +* incrementing version number - v3.7.2 (cc257e7e) +* incrementing version number - v3.7.1 (712365a5) +* incrementing version number - v3.7.0 (9a6153d7) +* incrementing version number - v3.6.7 (86a17e38) +* incrementing version number - v3.6.6 (6604bf37) +* incrementing version number - v3.6.5 (6c653625) +* incrementing version number - v3.6.4 (83d131b4) +* incrementing version number - v3.6.3 (fc7d2bfd) +* incrementing version number - v3.6.2 (0f577a57) +* incrementing version number - v3.6.1 (f1a69468) +* incrementing version number - v3.6.0 (4cdf85f8) +* incrementing version number - v3.5.3 (ed0e8783) +* incrementing version number - v3.5.2 (52fbb2da) +* incrementing version number - v3.5.1 (4c543488) +* incrementing version number - v3.5.0 (d06fb4f0) +* incrementing version number - v3.4.3 (5c984250) +* incrementing version number - v3.4.2 (3f0dac38) +* incrementing version number - v3.4.1 (01e69574) +* incrementing version number - v3.4.0 (fd9247c5) +* incrementing version number - v3.3.9 (5805e770) +* incrementing version number - v3.3.8 (a5603565) +* incrementing version number - v3.3.7 (b26f1744) +* incrementing version number - v3.3.6 (7fb38792) +* incrementing version number - v3.3.4 (a67f84ea) +* incrementing version number - v3.3.3 (f94d239b) +* incrementing version number - v3.3.2 (ec9dac97) +* incrementing version number - v3.3.1 (151cc68f) +* incrementing version number - v3.3.0 (fc1ad70f) +* incrementing version number - v3.2.3 (b06d3e63) +* incrementing version number - v3.2.2 (758ecfcd) +* incrementing version number - v3.2.1 (20145074) +* incrementing version number - v3.2.0 (9ecac38e) +* incrementing version number - v3.1.7 (0b4e81ab) +* incrementing version number - v3.1.6 (b3a3b130) +* incrementing version number - v3.1.5 (ec19343a) +* incrementing version number - v3.1.4 (2452783c) +* incrementing version number - v3.1.3 (3b4e9d3f) +* incrementing version number - v3.1.2 (40fa3489) +* incrementing version number - v3.1.1 (40250733) +* incrementing version number - v3.1.0 (0cb386bd) +* incrementing version number - v3.0.1 (26f6ea49) +* incrementing version number - v3.0.0 (224e08cd) + +##### Bug Fixes + +* closes #12848, add missing purge class (64779352) + +##### Performance Improvements + +* make unread faster if there are 60k+ unread topics (f53f1394) + +##### Refactors + +* single line (120b184e) +* hide modal and show alert on success (a309918e) +* more immediate feedback on category purge (72ccb870) + +#### v3.10.1 (2024-10-09) + +##### Chores + +* up composer (a5f3d097) +* incrementing version number - v3.10.0 (b60a9b4e) +* update changelog for v3.10.0 (a9da495d) +* incrementing version number - v3.9.1 (f120c91c) +* incrementing version number - v3.9.0 (4880f32d) +* incrementing version number - v3.8.4 (4833f9a6) +* incrementing version number - v3.8.3 (97ce2c44) +* incrementing version number - v3.8.2 (72d91251) +* incrementing version number - v3.8.1 (527326f7) +* incrementing version number - v3.8.0 (e228a6eb) +* incrementing version number - v3.7.5 (6882894d) +* incrementing version number - v3.7.4 (6678744c) +* incrementing version number - v3.7.3 (2d62b6f6) +* incrementing version number - v3.7.2 (cc257e7e) +* incrementing version number - v3.7.1 (712365a5) +* incrementing version number - v3.7.0 (9a6153d7) +* incrementing version number - v3.6.7 (86a17e38) +* incrementing version number - v3.6.6 (6604bf37) +* incrementing version number - v3.6.5 (6c653625) +* incrementing version number - v3.6.4 (83d131b4) +* incrementing version number - v3.6.3 (fc7d2bfd) +* incrementing version number - v3.6.2 (0f577a57) +* incrementing version number - v3.6.1 (f1a69468) +* incrementing version number - v3.6.0 (4cdf85f8) +* incrementing version number - v3.5.3 (ed0e8783) +* incrementing version number - v3.5.2 (52fbb2da) +* incrementing version number - v3.5.1 (4c543488) +* incrementing version number - v3.5.0 (d06fb4f0) +* incrementing version number - v3.4.3 (5c984250) +* incrementing version number - v3.4.2 (3f0dac38) +* incrementing version number - v3.4.1 (01e69574) +* incrementing version number - v3.4.0 (fd9247c5) +* incrementing version number - v3.3.9 (5805e770) +* incrementing version number - v3.3.8 (a5603565) +* incrementing version number - v3.3.7 (b26f1744) +* incrementing version number - v3.3.6 (7fb38792) +* incrementing version number - v3.3.4 (a67f84ea) +* incrementing version number - v3.3.3 (f94d239b) +* incrementing version number - v3.3.2 (ec9dac97) +* incrementing version number - v3.3.1 (151cc68f) +* incrementing version number - v3.3.0 (fc1ad70f) +* incrementing version number - v3.2.3 (b06d3e63) +* incrementing version number - v3.2.2 (758ecfcd) +* incrementing version number - v3.2.1 (20145074) +* incrementing version number - v3.2.0 (9ecac38e) +* incrementing version number - v3.1.7 (0b4e81ab) +* incrementing version number - v3.1.6 (b3a3b130) +* incrementing version number - v3.1.5 (ec19343a) +* incrementing version number - v3.1.4 (2452783c) +* incrementing version number - v3.1.3 (3b4e9d3f) +* incrementing version number - v3.1.2 (40fa3489) +* incrementing version number - v3.1.1 (40250733) +* incrementing version number - v3.1.0 (0cb386bd) +* incrementing version number - v3.0.1 (26f6ea49) +* incrementing version number - v3.0.0 (224e08cd) + +##### Bug Fixes + +* **deps:** bump 2factor (712767f6) + +##### Refactors + +* don't block ./nodebb upgrade if suggested modules are not loaded (39f57f9e) + #### v3.10.0 (2024-09-25) ##### Chores diff --git a/install/package.json b/install/package.json index ce5eaafe9d..5f1285ebc1 100644 --- a/install/package.json +++ b/install/package.json @@ -201,4 +201,4 @@ "url": "https://github.com/barisusakli" } ] -} +} \ No newline at end of file diff --git a/public/language/nb/email.json b/public/language/nb/email.json index 1a4f7a3a78..7c9610590d 100644 --- a/public/language/nb/email.json +++ b/public/language/nb/email.json @@ -36,8 +36,8 @@ "digest.title.day": "Ditt daglige sammendrag", "digest.title.week": "Ditt ukentlige sammendrag", "digest.title.month": "Ditt månedlige sammendrag", - "notif.chat.new-message-from-user": "New message from \"%1\"", - "notif.chat.new-message-from-user-in-room": "New message from %1 in room %2", + "notif.chat.new-message-from-user": "Ny melding fra \"%1\"", + "notif.chat.new-message-from-user-in-room": "Ny melding fra %1 i rom %2", "notif.chat.cta": "Klikk her for å fortsette samtalen", "notif.chat.unsub.info": "Denne samtale-varselen ble sendt til deg basert på dine innstillinger for abonnering.", "notif.post.unsub.info": "Dette innleggsvarselet ble sendt til deg basert på dine innstillinger for abonnering.", diff --git a/public/language/nb/pages.json b/public/language/nb/pages.json index 8cc898510e..c216bc868d 100644 --- a/public/language/nb/pages.json +++ b/public/language/nb/pages.json @@ -51,10 +51,10 @@ "account/watched-tags": "%1's overvåkede tagger", "account/bookmarks": "%1's bokmerkede innlegg", "account/settings": "Brukerinnstillinger", - "account/settings-of": "Changing settings of %1", + "account/settings-of": "Endre innstillingen på %1", "account/watched": "Innlegg overvåket av %1", "account/ignored": "Emner ignorert av %1", - "account/read": "Topics read by %1", + "account/read": "Emner lest av %1", "account/upvoted": "Innlegg stemt opp av %1", "account/downvoted": "Innlegg nedstemt av %1", "account/best": "Beste innlegg skrevet av %1", diff --git a/public/language/nb/topic.json b/public/language/nb/topic.json index 534e88072e..86137ac4d2 100644 --- a/public/language/nb/topic.json +++ b/public/language/nb/topic.json @@ -15,7 +15,7 @@ "replies-to-this-post": "%1 Svar", "one-reply-to-this-post": "1 Svar", "last-reply-time": "Siste svar", - "reply-options": "Reply options", + "reply-options": "Alternativer for svar", "reply-as-topic": "Svar som tråd", "guest-login-reply": "Logg inn for å besvare", "login-to-view": "🔒 Logg inn for å se", @@ -28,14 +28,14 @@ "move": "Flytt", "change-owner": "Bytt eier", "fork": "Forgren", - "link": "Link", + "link": "Lenk til", "share": "Del", "tools": "Verktøy", "locked": "Låst", "pinned": "Festet", "pinned-with-expiry": "Festet til %1", "scheduled": "Planlagt", - "deleted": "Deleted", + "deleted": "Slettet", "moved": "Flyttet", "moved-from": "Flyttet fra %1", "copy-code": "Kopier kode", @@ -114,7 +114,7 @@ "thread-tools.purge": "Rensk tråd", "thread-tools.purge-confirm": "Er du sikker på at du vil renske denne tråden?", "thread-tools.merge-topics": "Flett emner", - "thread-tools.merge": "Merge Topic", + "thread-tools.merge": "Flett emne", "topic-move-success": "Denne tråden vil straks bli flyttet til \"%1\". Klikk her for å angre.", "topic-move-multiple-success": "Disse emnene vil straks bli flyttet til \"%1\". Klikk her for å angre.", "topic-move-all-success": "Alle emner vil straks bli flyttet til \"%1\". Klikk her for å angre.", diff --git a/public/language/zh-CN/admin/development/info.json b/public/language/zh-CN/admin/development/info.json index bc2790c78e..b7a4410f29 100644 --- a/public/language/zh-CN/admin/development/info.json +++ b/public/language/zh-CN/admin/development/info.json @@ -19,7 +19,7 @@ "registered": "已注册", "sockets": "接口", - "connection-count": "Connection Count", + "connection-count": "连接数", "guests": "游客", "info": "信息" diff --git a/public/language/zh-CN/admin/extend/widgets.json b/public/language/zh-CN/admin/extend/widgets.json index 0377d7549f..ae88ff7e71 100644 --- a/public/language/zh-CN/admin/extend/widgets.json +++ b/public/language/zh-CN/admin/extend/widgets.json @@ -9,11 +9,11 @@ "containers.none": "无", "container.well": "Well", "container.jumbotron": "超大屏幕", - "container.card": "卡", - "container.card-header": "卡标题", - "container.card-body": "卡内容", - "container.title": "Title", - "container.body": "Body", + "container.card": "卡片", + "container.card-header": "卡片标题", + "container.card-body": "卡片内容", + "container.title": "标题", + "container.body": "内容", "container.alert": "警报", "alert.confirm-delete": "确认删除此窗口部件?", diff --git a/public/language/zh-CN/admin/settings/chat.json b/public/language/zh-CN/admin/settings/chat.json index 73db01fd1e..3651d8b596 100644 --- a/public/language/zh-CN/admin/settings/chat.json +++ b/public/language/zh-CN/admin/settings/chat.json @@ -1,5 +1,5 @@ { - "zero-is-disabled": "Enter 0 to disable this restriction", + "zero-is-disabled": "输入 0 可禁用此限制", "chat-settings": "聊天设置", "disable": "禁用聊天", "disable-editing": "禁止编辑/删除聊天消息", @@ -7,9 +7,9 @@ "max-length": "聊天信息的最大长度", "max-chat-room-name-length": "聊天室名称最大长度", "max-room-size": "聊天室的最多用户数", - "delay": "Time between chat messages (ms)", - "notification-delay": "Notification delay for chat messages", - "notification-delay-help": "Additional messages sent between this time are collated, and the user is notified once per delay period. Set this to 0 to disable the delay.", - "restrictions.seconds-edit-after": "Number of seconds a chat message will remain editable.", - "restrictions.seconds-delete-after": "Number of seconds a chat message will remain deletable." + "delay": "发言频率(毫秒)", + "notification-delay": "聊天信息的通知延迟", + "notification-delay-help": "服务器可能无法承受即时通讯所带来的资源占用,因此在这段时间内发送的其他信息将被整理,并在每个延迟期通知用户一次。设置为 0 则禁用延迟。", + "restrictions.seconds-edit-after": "聊天信息保持可编辑状态的秒数。", + "restrictions.seconds-delete-after": "聊天信息保持可撤回状态的秒数。" } \ No newline at end of file diff --git a/public/language/zh-CN/admin/settings/email.json b/public/language/zh-CN/admin/settings/email.json index 8f9081112f..8899c0ff33 100644 --- a/public/language/zh-CN/admin/settings/email.json +++ b/public/language/zh-CN/admin/settings/email.json @@ -13,7 +13,7 @@ "smtp-transport-help": "您可以从列表中选取一个已知的服务或自定义。", "smtp-transport.service": "选择服务", "smtp-transport.service-custom": "自定义", - "smtp-transport.service-help": "Select a service name above in order to use the known information about it. Alternatively, select "Custom Service" and enter the details below.", + "smtp-transport.service-help": "选取一个上方的服务以便使用已知的信息。或选择 " 自定义 " 并在下方输入详细信息。", "smtp-transport.gmail-warning1": "如果您使用 GMail 作为您的邮件提供商,您需要生成一个“App 密码”让 NodeBB 可以正常鉴权。您可以在App 密码页生成一个。", "smtp-transport.gmail-warning2": "对此替代办法的更多信息,请查阅关于此问题的NodeMailer 文章。一个替代方法可能是使用一种第三方的邮件插件,例如 SendGrid,Mailgun,等等。在此浏览可用的插件。", "smtp-transport.auto-enable-toast": "您似乎在配置一个 SMTP 通信。我们为您启用了 “SMTP 通信” 选项。", diff --git a/public/language/zh-CN/admin/settings/reputation.json b/public/language/zh-CN/admin/settings/reputation.json index e52b42c74e..4432cfa2b8 100644 --- a/public/language/zh-CN/admin/settings/reputation.json +++ b/public/language/zh-CN/admin/settings/reputation.json @@ -2,14 +2,14 @@ "reputation": "声望设置", "disable": "禁用声望系统", "disable-down-voting": "禁用 踩", - "upvote-visibility": "Up Vote visibility", - "upvote-visibility-all": "Everyone can see up votes", - "upvote-visibility-loggedin": "Only logged in users can see up votes", - "upvote-visibility-privileged": "Only privileged users like admins & moderators can see up votes", - "downvote-visibility": "Down Vote visibility", - "downvote-visibility-all": "Everyone can see down votes", - "downvote-visibility-loggedin": "Only logged in users can see down votes", - "downvote-visibility-privileged": "Only privileged users like admins & moderators can see down votes", + "upvote-visibility": "顶 投票数量可见性", + "upvote-visibility-all": "所有人可见", + "upvote-visibility-loggedin": "仅登录用户可见", + "upvote-visibility-privileged": "仅管理员和版主等特权用户可见", + "downvote-visibility": "踩 投票数量可见性", + "downvote-visibility-all": "所有人可见", + "downvote-visibility-loggedin": "仅登录用户可见", + "downvote-visibility-privileged": "仅管理员和版主等特权用户可见", "thresholds": "操作限制", "min-rep-upvote": "顶帖子 需要的最低声望", "upvotes-per-day": "每天顶的次数(设置为0则表示无限制)", diff --git a/public/language/zh-CN/error.json b/public/language/zh-CN/error.json index d69ab6db14..e20eb07d08 100644 --- a/public/language/zh-CN/error.json +++ b/public/language/zh-CN/error.json @@ -153,7 +153,7 @@ "about-me-too-long": "抱歉,您的关于我不能超过 %1 个字符。", "cant-chat-with-yourself": "您不能和自己聊天!", "chat-restricted": "此用户限制了他的聊天消息。必须他先关注您,您才能和他聊天。", - "chat-user-blocked": "You have been blocked by this user.", + "chat-user-blocked": "您已被该用户屏蔽。", "chat-disabled": "聊天系统已关闭", "too-many-messages": "您发送了太多消息,请稍等片刻。", "invalid-chat-message": "无效的聊天信息", diff --git a/public/language/zh-CN/modules.json b/public/language/zh-CN/modules.json index 47d80bb820..2137715749 100644 --- a/public/language/zh-CN/modules.json +++ b/public/language/zh-CN/modules.json @@ -1,9 +1,9 @@ { "chat.room-id": "房间 %1", "chat.chatting-with": "与聊天", - "chat.placeholder": "Type chat message here, drag & drop images", - "chat.placeholder.mobile": "Type chat message", - "chat.placeholder.message-room": "Message #%1", + "chat.placeholder": "在此处输入聊天信息,拖放图片", + "chat.placeholder.mobile": "输入聊天信息", + "chat.placeholder.message-room": "消息 #%1", "chat.scroll-up-alert": "转到最近的信息", "chat.usernames-and-x-others": "%1 和 %2 其他人", "chat.chat-with-usernames": "与聊天", diff --git a/public/language/zh-CN/notifications.json b/public/language/zh-CN/notifications.json index 4f7ee60a75..d7f6a5342f 100644 --- a/public/language/zh-CN/notifications.json +++ b/public/language/zh-CN/notifications.json @@ -75,7 +75,7 @@ "email-confirmed": "电子邮箱已确认", "email-confirmed-message": "感谢您验证您的电子邮箱。您的帐户现已完全激活。", "email-confirm-error-message": "验证的您电子邮箱地址时出现了问题。可能是因为验证码无效或已过期。", - "email-confirm-error-message-already-validated": "Your email address was already validated.", + "email-confirm-error-message-already-validated": "您的电子邮件地址已通过验证。", "email-confirm-sent": "确认邮件已发送。", "none": "无", "notification-only": "用通知提醒我", diff --git a/public/language/zh-CN/themes/harmony.json b/public/language/zh-CN/themes/harmony.json index 735b239628..64cc85a607 100644 --- a/public/language/zh-CN/themes/harmony.json +++ b/public/language/zh-CN/themes/harmony.json @@ -7,8 +7,8 @@ "login-register-to-search": "登录或注册以进行搜索。", "settings.title": "主题设置", "settings.enableQuickReply": "启用快速回复", - "settings.enableBreadcrumbs": "Show breadcrumbs in Category and Topic pages", - "settings.enableBreadcrumbs.why": "Breadcrumbs are visible in most pages for ease-of-navigation. The base design of the category and topic pages has alternative means to link back to parent pages, but the breadcrumb can be toggled off to reduce clutter.", + "settings.enableBreadcrumbs": "在版块和主题页面中显示面包屑导航", + "settings.enableBreadcrumbs.why": "为了方便浏览,大多数页面都具有面包屑导航。不过版块和主题页面里也有回到上级页面的替代链接,因此您也可以选择关闭面包屑导航来减少页面杂乱感。", "settings.centerHeaderElements": "标题元素居中", "settings.mobileTopicTeasers": "在移动设备显示话题预告", "settings.stickyToolbar": "附着工具条", diff --git a/public/language/zh-CN/user.json b/public/language/zh-CN/user.json index 5e7083777a..a9ce6f6d43 100644 --- a/public/language/zh-CN/user.json +++ b/public/language/zh-CN/user.json @@ -39,7 +39,7 @@ "reputation": "声望", "bookmarks": "书签", "watched-categories": "已关注的版块", - "watched-tags": "Watched tags", + "watched-tags": "已关注的标签", "change-all": "更改全部", "watched": "已关注", "ignored": "忽略", @@ -66,7 +66,7 @@ "change-picture": "更改头像", "change-username": "更改用户名", "change-email": "更改电子邮箱", - "email-updated": "Email Updated", + "email-updated": "电子邮箱已更新", "email-same-as-password": "请输入您当前的密码以继续 –您已经再次输入了您的新电子邮箱", "edit": "编辑", "edit-profile": "编辑资料", @@ -79,7 +79,7 @@ "change-password": "更改密码", "change-password-error": "无效的密码!", "change-password-error-wrong-current": "您的当前密码不正确!", - "change-password-error-same-password": "Your new password matches your current password, please use a new password.", + "change-password-error-same-password": "新密码不能与当前密码一致,请输入一个新密码", "change-password-error-match": "两次输入的密码必须相同!", "change-password-error-privileges": "您无权更改此密码。", "change-password-success": "您的密码已更新!", @@ -115,7 +115,7 @@ "has-no-topics": "此用户还未发布任何主题。", "has-no-watched-topics": "此用户还未关注任何主题。", "has-no-ignored-topics": "此用户尚未忽略任何主题。", - "has-no-read-topics": "This user hasn't read any topics yet.", + "has-no-read-topics": "该用户尚未阅读过任何主题。", "has-no-upvoted-posts": "此用户还未顶过任何帖子。", "has-no-downvoted-posts": "此用户还未踩过任何帖子。", "has-no-controversial-posts": "此用户没有任何踩过的帖子。", diff --git a/public/src/admin/manage/category.js b/public/src/admin/manage/category.js index b6255fa251..7a6e85486e 100644 --- a/public/src/admin/manage/category.js +++ b/public/src/admin/manage/category.js @@ -131,14 +131,14 @@ define('admin/manage/category', [ }, 1000); api.del('/categories/' + ajaxify.data.category.cid).then(() => { + if (intervalId) { + clearInterval(intervalId); + } + modal.modal('hide'); + alerts.success('[[admin/manage/categories:alert.purge-success]]'); setTimeout(() => { - if (intervalId) { - clearInterval(intervalId); - } - modal.modal('hide'); - alerts.success('[[admin/manage/categories:alert.purge-success]]'); ajaxify.go('admin/manage/categories'); - }, 5000); + }, 2500); }).catch(alerts.error); return false; diff --git a/src/topics/create.js b/src/topics/create.js index 6c077b9c6d..40b85ee5c0 100644 --- a/src/topics/create.js +++ b/src/topics/create.js @@ -170,8 +170,7 @@ module.exports = function (Topics) { Topics.reply = async function (data) { data = await plugins.hooks.fire('filter:topic.reply', data); - const { tid } = data; - const { uid } = data; + const { tid, uid } = data; const [topicData, isAdmin] = await Promise.all([ Topics.getTopicData(tid), diff --git a/src/topics/unread.js b/src/topics/unread.js index 0e657a94f7..676bb0647e 100644 --- a/src/topics/unread.js +++ b/src/topics/unread.js @@ -199,7 +199,7 @@ module.exports = function (Topics) { } const cids = params.cid || await getWatchedTrackedCids(params.uid); const keys = cids.map(cid => `cid:${cid}:tids:lastposttime`); - return await db.getSortedSetRevRangeByScoreWithScores(keys, 0, -1, '+inf', params.cutoff); + return await db.getSortedSetRevRangeByScoreWithScores(keys, 0, 200, '+inf', params.cutoff); } async function getWatchedTrackedCids(uid) { @@ -218,7 +218,7 @@ module.exports = function (Topics) { params.cid.map(cid => `cid:${cid}:tids:lastposttime`) : 'topics:recent'; - const recentTopicData = await db.getSortedSetRevRangeByScoreWithScores(keys, 0, -1, '+inf', params.cutoff); + const recentTopicData = await db.getSortedSetRevRangeByScoreWithScores(keys, 0, 200, '+inf', params.cutoff); const isFollowed = await db.isSortedSetMembers(`uid:${params.uid}:followed_tids`, recentTopicData.map(t => t.tid)); return recentTopicData.filter((t, i) => isFollowed[i]); } diff --git a/src/views/admin/manage/category.tpl b/src/views/admin/manage/category.tpl index 2aeffa2509..74fad5201c 100644 --- a/src/views/admin/manage/category.tpl +++ b/src/views/admin/manage/category.tpl @@ -210,7 +210,7 @@ {{{ end }}} -