diff --git a/.github/workflows/giteabot.yml b/.github/workflows/giteabot.yml
index efa9fe047a..5ffde2e75e 100644
--- a/.github/workflows/giteabot.yml
+++ b/.github/workflows/giteabot.yml
@@ -1,9 +1,16 @@
name: giteabot
on:
+ # When main advances, rerun merge queue maintenance so the oldest
+ # reviewed/wait-merge PR can be updated against the new base promptly.
+ push:
+ branches:
+ - main
# pull_request_target gives this workflow access to GITEABOT_TOKEN on PRs from
# forks, which the bot needs to write labels, statuses and comments. Safe here
# because the job only runs a pinned action and never checks out PR HEAD.
+ # These PR lifecycle events drive label maintenance, queue maintenance, and
+ # explicit bot actions triggered by relevant label changes.
pull_request_target: # zizmor: ignore[dangerous-triggers]
types:
- opened
@@ -13,13 +20,19 @@ on:
- closed
- review_requested
- review_request_removed
+ # Review events keep review-derived state such as lgtm labels and status checks
+ # in sync after approvals, edits, or dismissals.
pull_request_review:
types:
- submitted
- edited
- dismissed
+ # Periodic maintenance is still useful as a backstop for queue cleanup and
+ # other housekeeping, even though main pushes now trigger it promptly.
schedule:
- cron: "15 3 * * *"
+ # Allow maintainers to rerun selected checks manually when debugging bot
+ # behavior without waiting for another repository event.
workflow_dispatch:
inputs:
checks:
diff --git a/models/migrations/migrations.go b/models/migrations/migrations.go
index 86528f1499..06b6a7eaa6 100644
--- a/models/migrations/migrations.go
+++ b/models/migrations/migrations.go
@@ -415,7 +415,8 @@ func prepareMigrationTasks() []*migration {
newMigration(335, "Add reusable workflow fields and action_run_attempt_job_id_index table for ActionRunJob", v1_27.AddReusableWorkflowFieldsToActionRunJob),
newMigration(336, "Add ActionRunJobSummary table", v1_27.AddActionRunJobSummaryTable),
newMigration(337, "Add visibility to team", v1_27.AddVisibilityToTeam),
- newMigration(338, "Add new table project_workflow", v1_27.AddProjectWorkflow),
+ newMigration(338, "Expand legacy MSSQL issue/comment long-text columns", v1_27.ExpandIssueAndCommentLongTextFieldsForMSSQL),
+ newMigration(339, "Add new table project_workflow", v1_27.AddProjectWorkflow),
}
return preparedMigrations
}
diff --git a/models/migrations/v1_27/v338.go b/models/migrations/v1_27/v338.go
index a6109ecb46..a495907174 100644
--- a/models/migrations/v1_27/v338.go
+++ b/models/migrations/v1_27/v338.go
@@ -4,21 +4,70 @@
package v1_27
import (
+ "fmt"
+ "strings"
+
"gitea.dev/models/db"
- "gitea.dev/modules/timeutil"
+ "gitea.dev/models/migrations/base"
+
+ "xorm.io/xorm/schemas"
)
-func AddProjectWorkflow(x db.EngineMigration) error {
- type ProjectWorkflow struct {
- ID int64
- ProjectID int64 `xorm:"INDEX"`
- WorkflowEvent string
- WorkflowFilters string `xorm:"TEXT JSON"`
- WorkflowActions string `xorm:"TEXT JSON"`
- Enabled bool `xorm:"DEFAULT true"`
- CreatedUnix timeutil.TimeStamp `xorm:"created"`
- UpdatedUnix timeutil.TimeStamp `xorm:"updated"`
+type issueWithLongTextContent struct {
+ Content string `xorm:"LONGTEXT"`
+}
+
+func (issueWithLongTextContent) TableName() string {
+ return "issue"
+}
+
+type commentWithLongTextFields struct {
+ Content string `xorm:"LONGTEXT"`
+ PatchQuoted string `xorm:"LONGTEXT patch"`
+}
+
+func (commentWithLongTextFields) TableName() string {
+ return "comment"
+}
+
+func isMSSQLMaxTextColumn(column *schemas.Column) bool {
+ if column.Length != -1 {
+ return false
+ }
+ return strings.EqualFold(column.SQLType.Name, schemas.Varchar) || strings.EqualFold(column.SQLType.Name, schemas.NVarchar)
+}
+
+func modifyLongTextColumnsForMSSQL(x db.EngineMigration, bean any, columnNames ...string) error {
+ table, err := x.TableInfo(bean)
+ if err != nil {
+ return err
}
- return x.Sync(&ProjectWorkflow{})
+ for _, columnName := range columnNames {
+ column := table.GetColumn(columnName)
+ if column == nil {
+ return fmt.Errorf("column %s does not exist in table %s", columnName, table.Name)
+ }
+ if isMSSQLMaxTextColumn(column) {
+ continue
+ }
+ if err := base.ModifyColumn(x, table.Name, column); err != nil {
+ return fmt.Errorf("modify %s.%s: %w", table.Name, columnName, err)
+ }
+ }
+
+ return nil
+}
+
+// ExpandIssueAndCommentLongTextFieldsForMSSQL expands legacy MSSQL nvarchar(4000)
+// columns to nvarchar(max) so PR push comments and long issue content are not truncated.
+func ExpandIssueAndCommentLongTextFieldsForMSSQL(x db.EngineMigration) error {
+ if x.Dialect().URI().DBType != schemas.MSSQL {
+ return nil
+ }
+
+ if err := modifyLongTextColumnsForMSSQL(x, new(issueWithLongTextContent), "content"); err != nil {
+ return err
+ }
+ return modifyLongTextColumnsForMSSQL(x, new(commentWithLongTextFields), "content", "patch")
}
diff --git a/models/migrations/v1_27/v338_test.go b/models/migrations/v1_27/v338_test.go
new file mode 100644
index 0000000000..4e47253779
--- /dev/null
+++ b/models/migrations/v1_27/v338_test.go
@@ -0,0 +1,52 @@
+// Copyright 2026 The Gitea Authors. All rights reserved.
+// SPDX-License-Identifier: MIT
+
+package v1_27
+
+import (
+ "strings"
+ "testing"
+
+ "gitea.dev/models/migrations/migrationtest"
+ "gitea.dev/modules/setting"
+
+ "github.com/stretchr/testify/require"
+)
+
+type issueBeforeLongTextMSSQLMigration struct {
+ ID int64 `xorm:"pk autoincr"`
+ Content string `xorm:"VARCHAR(4000)"`
+}
+
+func (issueBeforeLongTextMSSQLMigration) TableName() string {
+ return "issue"
+}
+
+type commentBeforeLongTextMSSQLMigration struct {
+ ID int64 `xorm:"pk autoincr"`
+ Content string `xorm:"VARCHAR(4000)"`
+ Patch string `xorm:"VARCHAR(4000) patch"`
+}
+
+func (commentBeforeLongTextMSSQLMigration) TableName() string {
+ return "comment"
+}
+
+func Test_ExpandIssueAndCommentLongTextFieldsForMSSQL(t *testing.T) {
+ if !setting.Database.Type.IsMSSQL() {
+ t.Skip("Only MSSQL needs to expand legacy nvarchar(4000) long-text columns")
+ }
+
+ x, deferrable := migrationtest.PrepareTestEnv(t, 0, new(issueBeforeLongTextMSSQLMigration), new(commentBeforeLongTextMSSQLMigration))
+ defer deferrable()
+
+ require.NoError(t, ExpandIssueAndCommentLongTextFieldsForMSSQL(x))
+ require.NoError(t, ExpandIssueAndCommentLongTextFieldsForMSSQL(x))
+
+ longText := strings.Repeat("x", 5000)
+ _, err := x.Insert(&issueBeforeLongTextMSSQLMigration{Content: longText})
+ require.NoError(t, err)
+
+ _, err = x.Insert(&commentBeforeLongTextMSSQLMigration{Content: longText, Patch: longText})
+ require.NoError(t, err)
+}
diff --git a/models/migrations/v1_27/v339.go b/models/migrations/v1_27/v339.go
new file mode 100644
index 0000000000..a6109ecb46
--- /dev/null
+++ b/models/migrations/v1_27/v339.go
@@ -0,0 +1,24 @@
+// Copyright 2026 The Gitea Authors. All rights reserved.
+// SPDX-License-Identifier: MIT
+
+package v1_27
+
+import (
+ "gitea.dev/models/db"
+ "gitea.dev/modules/timeutil"
+)
+
+func AddProjectWorkflow(x db.EngineMigration) error {
+ type ProjectWorkflow struct {
+ ID int64
+ ProjectID int64 `xorm:"INDEX"`
+ WorkflowEvent string
+ WorkflowFilters string `xorm:"TEXT JSON"`
+ WorkflowActions string `xorm:"TEXT JSON"`
+ Enabled bool `xorm:"DEFAULT true"`
+ CreatedUnix timeutil.TimeStamp `xorm:"created"`
+ UpdatedUnix timeutil.TimeStamp `xorm:"updated"`
+ }
+
+ return x.Sync(&ProjectWorkflow{})
+}
diff --git a/options/locale/locale_zh-CN.json b/options/locale/locale_zh-CN.json
index 03c6e417ce..7c3d45f528 100644
--- a/options/locale/locale_zh-CN.json
+++ b/options/locale/locale_zh-CN.json
@@ -2865,6 +2865,14 @@
"org.teams.all_repositories_read_permission_desc": "此团队授予读取所有仓库的访问权限: 成员可以查看和克隆仓库。",
"org.teams.all_repositories_write_permission_desc": "此团队授予修改所有仓库的访问权限: 成员可以查看和推送至仓库。",
"org.teams.all_repositories_admin_permission_desc": "该团队拥有 管理 所有仓库的权限:团队成员可以读取、克隆、推送以及添加其它仓库协作者。",
+ "org.teams.visibility": "可见性",
+ "org.teams.visibility_private": "私有",
+ "org.teams.visibility_private_helper": "仅对团队成员和组织所有者可见。",
+ "org.teams.visibility_limited": "受限",
+ "org.teams.visibility_limited_helper": "对组织所有成员可见。",
+ "org.teams.visibility_public": "公开",
+ "org.teams.visibility_public_helper": "对任何登录用户可见。",
+ "org.teams.owners_visibility_fixed": "所有者的团队可见性无法更改。",
"org.teams.invite.title": "您已被邀请加入组织 %s 中的团队 %s。",
"org.teams.invite.by": "邀请人 %s",
"org.teams.invite.description": "请点击下面的按钮加入团队。",
diff --git a/package.json b/package.json
index ff7f8f1be0..137d5a0783 100644
--- a/package.json
+++ b/package.json
@@ -69,7 +69,7 @@
"vanilla-colorful": "0.7.2",
"vite": "8.0.16",
"vite-string-plugin": "2.0.4",
- "vue": "3.5.35",
+ "vue": "3.5.37",
"vue-bar-graph": "2.2.0",
"vue-chartjs": "5.3.3"
},
@@ -83,7 +83,7 @@
"@types/jquery": "4.0.1",
"@types/js-yaml": "4.0.9",
"@types/katex": "0.16.8",
- "@types/node": "25.9.2",
+ "@types/node": "25.9.3",
"@types/pdfobject": "2.2.5",
"@types/sortablejs": "1.15.9",
"@types/swagger-ui-dist": "3.30.6",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 61615ef6f5..90b34abce4 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -94,7 +94,7 @@ importers:
version: 2.6.2
'@vitejs/plugin-vue':
specifier: 6.0.7
- version: 6.0.7(vite@8.0.16(@types/node@25.9.2)(esbuild@0.28.1)(jiti@2.7.0))(vue@3.5.35(typescript@6.0.3))
+ version: 6.0.7(vite@8.0.16(@types/node@25.9.3)(esbuild@0.28.1)(jiti@2.7.0))(vue@3.5.37(typescript@6.0.3))
ansi_up:
specifier: 6.0.6
version: 6.0.6
@@ -193,19 +193,19 @@ importers:
version: 0.7.2
vite:
specifier: 8.0.16
- version: 8.0.16(@types/node@25.9.2)(esbuild@0.28.1)(jiti@2.7.0)
+ version: 8.0.16(@types/node@25.9.3)(esbuild@0.28.1)(jiti@2.7.0)
vite-string-plugin:
specifier: 2.0.4
- version: 2.0.4(vite@8.0.16(@types/node@25.9.2)(esbuild@0.28.1)(jiti@2.7.0))
+ version: 2.0.4(vite@8.0.16(@types/node@25.9.3)(esbuild@0.28.1)(jiti@2.7.0))
vue:
- specifier: 3.5.35
- version: 3.5.35(typescript@6.0.3)
+ specifier: 3.5.37
+ version: 3.5.37(typescript@6.0.3)
vue-bar-graph:
specifier: 2.2.0
version: 2.2.0(typescript@6.0.3)
vue-chartjs:
specifier: 5.3.3
- version: 5.3.3(chart.js@4.5.1)(vue@3.5.35(typescript@6.0.3))
+ version: 5.3.3(chart.js@4.5.1)(vue@3.5.37(typescript@6.0.3))
devDependencies:
'@eslint-community/eslint-plugin-eslint-comments':
specifier: 4.7.2
@@ -235,8 +235,8 @@ importers:
specifier: 0.16.8
version: 0.16.8
'@types/node':
- specifier: 25.9.2
- version: 25.9.2
+ specifier: 25.9.3
+ version: 25.9.3
'@types/pdfobject':
specifier: 2.2.5
version: 2.2.5
@@ -257,7 +257,7 @@ importers:
version: 8.61.0(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3)
'@vitest/eslint-plugin':
specifier: 1.6.20
- version: 1.6.20(@typescript-eslint/eslint-plugin@8.61.0(@typescript-eslint/parser@8.61.0(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3))(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3))(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3)(vitest@4.1.8(@types/node@25.9.2)(happy-dom@20.10.2)(jsdom@20.0.3)(vite@8.0.16(@types/node@25.9.2)(esbuild@0.28.1)(jiti@2.7.0)))
+ version: 1.6.20(@typescript-eslint/eslint-plugin@8.61.0(@typescript-eslint/parser@8.61.0(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3))(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3))(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3)(vitest@4.1.8(@types/node@25.9.3)(happy-dom@20.10.2)(jsdom@20.0.3)(vite@8.0.16(@types/node@25.9.3)(esbuild@0.28.1)(jiti@2.7.0)))
eslint:
specifier: 10.4.1
version: 10.4.1(jiti@2.7.0)
@@ -347,7 +347,7 @@ importers:
version: 17.18.0
vitest:
specifier: 4.1.8
- version: 4.1.8(@types/node@25.9.2)(happy-dom@20.10.2)(jsdom@20.0.3)(vite@8.0.16(@types/node@25.9.2)(esbuild@0.28.1)(jiti@2.7.0))
+ version: 4.1.8(@types/node@25.9.3)(happy-dom@20.10.2)(jsdom@20.0.3)(vite@8.0.16(@types/node@25.9.3)(esbuild@0.28.1)(jiti@2.7.0))
vue-tsc:
specifier: 3.3.4
version: 3.3.4(typescript@6.0.3)
@@ -1359,8 +1359,8 @@ packages:
'@types/ms@2.1.0':
resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
- '@types/node@25.9.2':
- resolution: {integrity: sha512-G05zqtJhcDLb8uslf5EjCxXg9G1KQxiV8OS0R26IC//Eoyitzqe8z37I7cqvnZlrlSfgocQRfSn/AHBZJJFyGw==}
+ '@types/node@25.9.3':
+ resolution: {integrity: sha512-603BddQMv3pUcr4U2dhujk83N2tTDVr/34wII2B6bJy6g+8WD6yUb11jszNs0gdi4PesVWl7ABt8nYMVpnLUcg==}
'@types/pdfobject@2.2.5':
resolution: {integrity: sha512-7gD5tqc/RUDq0PyoLemL0vEHxBYi+zY0WVaFAx/Y0jBsXFgot1vB9No1GhDZGwRGJMCIZbgAb74QG9MTyTNU/g==}
@@ -1647,37 +1647,37 @@ packages:
'@volar/typescript@2.4.28':
resolution: {integrity: sha512-Ja6yvWrbis2QtN4ClAKreeUZPVYMARDYZl9LMEv1iQ1QdepB6wn0jTRxA9MftYmYa4DQ4k/DaSZpFPUfxl8giw==}
- '@vue/compiler-core@3.5.35':
- resolution: {integrity: sha512-BUmHaR1J+O+CKZ9uJucdVTEr1LHsdyvv7vG3eNRhK3CczEHeMd/LtsHAuD7PbrxvI2envCY2v7HI1vC1aBRzKw==}
+ '@vue/compiler-core@3.5.37':
+ resolution: {integrity: sha512-TfQz4bsBQTPoTeBWTUPJPq+4FCTTXg2pbp8TjjAyrGaLAu9nfrZTxKLf6mdAlclnwtyUToFaMQu7QRS63Qek1g==}
- '@vue/compiler-dom@3.5.35':
- resolution: {integrity: sha512-k+bprkXxuqhVajgTx5mUHuir7TwQzUKOWR40ng1ncAqQRPnrLngGGgqVEEhOnTMlc8btHYVKmrP8s5Qyg0hvYA==}
+ '@vue/compiler-dom@3.5.37':
+ resolution: {integrity: sha512-oqfl/QaCVEWxphALFEZ7m+q9z+Sghz9ZCcoJ/oplTGxsOgx2czVzSZxkMkzQrWIahywOeyGHdg9ml/WUz3DMzw==}
- '@vue/compiler-sfc@3.5.35':
- resolution: {integrity: sha512-G5VPMcXTSywXBgtFOZOnHKBxKSrwXUcvY1iaF5/hRcy7t0J6CH/d8ha9F4nzi00Fax1eLV0QHM7v4mQu68jydw==}
+ '@vue/compiler-sfc@3.5.37':
+ resolution: {integrity: sha512-hYu+efs678xaPHYxhFRK3ZhkQ/FueMVnROooZqemOYlyQBQg06qkIrpyAUrUWWqMLfifgOdWwU6CL6FuTRvP4A==}
- '@vue/compiler-ssr@3.5.35':
- resolution: {integrity: sha512-rGhAeXgdM7/ffTJGXT69rCCdTmjDewnFuUZfBQQHTdcEBeWdT5HCGY60y2ytLJr9/Dsu7IntUi5z/w0h6Rjnzw==}
+ '@vue/compiler-ssr@3.5.37':
+ resolution: {integrity: sha512-ihbdCLJLXFKV3efEQlFfzy6TLHRuOQ/+dze2vZfg0DIncVxkcUxwCqPewCiSVdWXFeoiuMMON87wpt+G+yT22A==}
'@vue/language-core@3.3.4':
resolution: {integrity: sha512-IuHqQ5zGGOE7CXP72VX6A42IVeIzYv4WAhO6arej11TRNqtdZfGyH8Yr2FOCaDX0dSQG+JwULLoFHGY1igYVjQ==}
- '@vue/reactivity@3.5.35':
- resolution: {integrity: sha512-tVc+SsHConvh/Lz64qq1pP3rYArBmK42xonovEcxY74SQtvctZodG/zhq54P5dr38cVuw25d27cPNRdlMidpGQ==}
+ '@vue/reactivity@3.5.37':
+ resolution: {integrity: sha512-M7j7YF68IUd2uFNIqhwybpzUG/Sk9HUtk+ULmC+g6JeZ80LyCyGnjv6SYBR86t3fyyuYlZUSb18yu4UYLgw5jg==}
- '@vue/runtime-core@3.5.35':
- resolution: {integrity: sha512-A/xFNX9loIcWDygeQuNCfKuh0CoYBzxhqEMNah5TSFg9Z53DrFYEN2qi5CU9necjM1OWYegYREUTHmXTmhfXtg==}
+ '@vue/runtime-core@3.5.37':
+ resolution: {integrity: sha512-N0IWRirNPzJp/DuUCR9M+obVUHZArMkmldRApKsJRIWA+XDO6iwF4Zh94HP6uCzYVgWVwr8YuKeWF4H52VxTbw==}
- '@vue/runtime-dom@3.5.35':
- resolution: {integrity: sha512-odrJ1C391dbGnyDRh8U+rnP7J2amIEzfmRk5vXy7xi3aZhEXofTvpi0T4HJb6jlNqQZTNPR5MPHSB3RHNkIORA==}
+ '@vue/runtime-dom@3.5.37':
+ resolution: {integrity: sha512-9VkutCFwfVOiMRH7mgi7QapsqC8Hxcow3DLvBKf+mRH88P94Ib/D/u6l/ln62ST+fIvmsOO7+Db99LzWv9slJg==}
- '@vue/server-renderer@3.5.35':
- resolution: {integrity: sha512-NkebSOYdB97wi8OQcO3HqzZSlymJi/aWsN/7h74OSVhRTm6qGs3Jp3e0rCXynmWwSlKeRrnlIug+ilYoHBmQDA==}
+ '@vue/server-renderer@3.5.37':
+ resolution: {integrity: sha512-CP7nbxJb1Zc0/oeBqu6CtMf9TN64fz6qE75BZ8mWh04zAEya8EAZmqH2gRQWkoUUjFqv9i7h/mV+E4/LL4JXXw==}
peerDependencies:
- vue: 3.5.35
+ vue: 3.5.37
- '@vue/shared@3.5.35':
- resolution: {integrity: sha512-zSbjL7gRXwks2ZQLRGCajBtBXEOXW9Ddhn/HvSdrGkE2dqGnumzW8XtusRrxrE9LvqtiqDXQ+A60Hp6mvdYxfA==}
+ '@vue/shared@3.5.37':
+ resolution: {integrity: sha512-JzFx4aYGz+EtBl8zzw8XECNWSmNXTrU5jpub3T1lQ+2X5Ys9QzHWafxhE+E5qS2Ry/mVl8o2QqrwRGYYOFYguw==}
abab@2.0.6:
resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==}
@@ -4841,8 +4841,8 @@ packages:
peerDependencies:
typescript: '>=5.0.0'
- vue@3.5.35:
- resolution: {integrity: sha512-cx89fnr+0kVGHiNFG6y6s0bdjypJRFNZn6x3WPstNdQR1bi1mbB7h4v5IBGTsPJU3nK1+0Iqj3Zf+hZWMieR4Q==}
+ vue@3.5.37:
+ resolution: {integrity: sha512-So4bMq165gsD4+hDVC1/bcbsOpTlUFGGkpuH2sx9vCflChIWahy4C0K4ZcX/COe0ad1IToIRT3VQz0dl4XPihg==}
peerDependencies:
typescript: '*'
peerDependenciesMeta:
@@ -5542,14 +5542,14 @@ snapshots:
dependencies:
'@jest/fake-timers': 29.7.0
'@jest/types': 29.6.3
- '@types/node': 25.9.2
+ '@types/node': 25.9.3
jest-mock: 29.7.0
'@jest/fake-timers@29.7.0':
dependencies:
'@jest/types': 29.6.3
'@sinonjs/fake-timers': 10.3.0
- '@types/node': 25.9.2
+ '@types/node': 25.9.3
jest-message-util: 29.7.0
jest-mock: 29.7.0
jest-util: 29.7.0
@@ -5563,7 +5563,7 @@ snapshots:
'@jest/schemas': 29.6.3
'@types/istanbul-lib-coverage': 2.0.6
'@types/istanbul-reports': 3.0.4
- '@types/node': 25.9.2
+ '@types/node': 25.9.3
'@types/yargs': 17.0.35
chalk: 4.1.2
@@ -6060,7 +6060,7 @@ snapshots:
'@types/jsdom@20.0.1':
dependencies:
- '@types/node': 25.9.2
+ '@types/node': 25.9.3
'@types/tough-cookie': 4.0.5
parse5: 7.3.0
@@ -6074,7 +6074,7 @@ snapshots:
'@types/ms@2.1.0': {}
- '@types/node@25.9.2':
+ '@types/node@25.9.3':
dependencies:
undici-types: 7.24.6
@@ -6105,7 +6105,7 @@ snapshots:
'@types/ws@8.18.1':
dependencies:
- '@types/node': 25.9.2
+ '@types/node': 25.9.3
'@types/yargs-parser@21.0.3': {}
@@ -6358,13 +6358,13 @@ snapshots:
d3-selection: 3.0.0
d3-transition: 3.0.1(d3-selection@3.0.0)
- '@vitejs/plugin-vue@6.0.7(vite@8.0.16(@types/node@25.9.2)(esbuild@0.28.1)(jiti@2.7.0))(vue@3.5.35(typescript@6.0.3))':
+ '@vitejs/plugin-vue@6.0.7(vite@8.0.16(@types/node@25.9.3)(esbuild@0.28.1)(jiti@2.7.0))(vue@3.5.37(typescript@6.0.3))':
dependencies:
'@rolldown/pluginutils': 1.0.1
- vite: 8.0.16(@types/node@25.9.2)(esbuild@0.28.1)(jiti@2.7.0)
- vue: 3.5.35(typescript@6.0.3)
+ vite: 8.0.16(@types/node@25.9.3)(esbuild@0.28.1)(jiti@2.7.0)
+ vue: 3.5.37(typescript@6.0.3)
- '@vitest/eslint-plugin@1.6.20(@typescript-eslint/eslint-plugin@8.61.0(@typescript-eslint/parser@8.61.0(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3))(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3))(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3)(vitest@4.1.8(@types/node@25.9.2)(happy-dom@20.10.2)(jsdom@20.0.3)(vite@8.0.16(@types/node@25.9.2)(esbuild@0.28.1)(jiti@2.7.0)))':
+ '@vitest/eslint-plugin@1.6.20(@typescript-eslint/eslint-plugin@8.61.0(@typescript-eslint/parser@8.61.0(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3))(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3))(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3)(vitest@4.1.8(@types/node@25.9.3)(happy-dom@20.10.2)(jsdom@20.0.3)(vite@8.0.16(@types/node@25.9.3)(esbuild@0.28.1)(jiti@2.7.0)))':
dependencies:
'@typescript-eslint/scope-manager': 8.61.0
'@typescript-eslint/utils': 8.61.0(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3)
@@ -6372,7 +6372,7 @@ snapshots:
optionalDependencies:
'@typescript-eslint/eslint-plugin': 8.61.0(@typescript-eslint/parser@8.61.0(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3))(eslint@10.4.1(jiti@2.7.0))(typescript@6.0.3)
typescript: 6.0.3
- vitest: 4.1.8(@types/node@25.9.2)(happy-dom@20.10.2)(jsdom@20.0.3)(vite@8.0.16(@types/node@25.9.2)(esbuild@0.28.1)(jiti@2.7.0))
+ vitest: 4.1.8(@types/node@25.9.3)(happy-dom@20.10.2)(jsdom@20.0.3)(vite@8.0.16(@types/node@25.9.3)(esbuild@0.28.1)(jiti@2.7.0))
transitivePeerDependencies:
- supports-color
@@ -6385,13 +6385,13 @@ snapshots:
chai: 6.2.2
tinyrainbow: 3.1.0
- '@vitest/mocker@4.1.8(vite@8.0.16(@types/node@25.9.2)(esbuild@0.28.1)(jiti@2.7.0))':
+ '@vitest/mocker@4.1.8(vite@8.0.16(@types/node@25.9.3)(esbuild@0.28.1)(jiti@2.7.0))':
dependencies:
'@vitest/spy': 4.1.8
estree-walker: 3.0.3
magic-string: 0.30.21
optionalDependencies:
- vite: 8.0.16(@types/node@25.9.2)(esbuild@0.28.1)(jiti@2.7.0)
+ vite: 8.0.16(@types/node@25.9.3)(esbuild@0.28.1)(jiti@2.7.0)
'@vitest/pretty-format@4.1.8':
dependencies:
@@ -6429,69 +6429,69 @@ snapshots:
path-browserify: 1.0.1
vscode-uri: 3.1.0
- '@vue/compiler-core@3.5.35':
+ '@vue/compiler-core@3.5.37':
dependencies:
'@babel/parser': 7.29.7
- '@vue/shared': 3.5.35
+ '@vue/shared': 3.5.37
entities: 7.0.1
estree-walker: 2.0.2
source-map-js: 1.2.1
- '@vue/compiler-dom@3.5.35':
+ '@vue/compiler-dom@3.5.37':
dependencies:
- '@vue/compiler-core': 3.5.35
- '@vue/shared': 3.5.35
+ '@vue/compiler-core': 3.5.37
+ '@vue/shared': 3.5.37
- '@vue/compiler-sfc@3.5.35':
+ '@vue/compiler-sfc@3.5.37':
dependencies:
'@babel/parser': 7.29.7
- '@vue/compiler-core': 3.5.35
- '@vue/compiler-dom': 3.5.35
- '@vue/compiler-ssr': 3.5.35
- '@vue/shared': 3.5.35
+ '@vue/compiler-core': 3.5.37
+ '@vue/compiler-dom': 3.5.37
+ '@vue/compiler-ssr': 3.5.37
+ '@vue/shared': 3.5.37
estree-walker: 2.0.2
magic-string: 0.30.21
postcss: 8.5.15
source-map-js: 1.2.1
- '@vue/compiler-ssr@3.5.35':
+ '@vue/compiler-ssr@3.5.37':
dependencies:
- '@vue/compiler-dom': 3.5.35
- '@vue/shared': 3.5.35
+ '@vue/compiler-dom': 3.5.37
+ '@vue/shared': 3.5.37
'@vue/language-core@3.3.4':
dependencies:
'@volar/language-core': 2.4.28
- '@vue/compiler-dom': 3.5.35
- '@vue/shared': 3.5.35
+ '@vue/compiler-dom': 3.5.37
+ '@vue/shared': 3.5.37
alien-signals: 3.2.1
muggle-string: 0.4.1
path-browserify: 1.0.1
picomatch: 4.0.4
- '@vue/reactivity@3.5.35':
+ '@vue/reactivity@3.5.37':
dependencies:
- '@vue/shared': 3.5.35
+ '@vue/shared': 3.5.37
- '@vue/runtime-core@3.5.35':
+ '@vue/runtime-core@3.5.37':
dependencies:
- '@vue/reactivity': 3.5.35
- '@vue/shared': 3.5.35
+ '@vue/reactivity': 3.5.37
+ '@vue/shared': 3.5.37
- '@vue/runtime-dom@3.5.35':
+ '@vue/runtime-dom@3.5.37':
dependencies:
- '@vue/reactivity': 3.5.35
- '@vue/runtime-core': 3.5.35
- '@vue/shared': 3.5.35
+ '@vue/reactivity': 3.5.37
+ '@vue/runtime-core': 3.5.37
+ '@vue/shared': 3.5.37
csstype: 3.2.3
- '@vue/server-renderer@3.5.35(vue@3.5.35(typescript@6.0.3))':
+ '@vue/server-renderer@3.5.37(vue@3.5.37(typescript@6.0.3))':
dependencies:
- '@vue/compiler-ssr': 3.5.35
- '@vue/shared': 3.5.35
- vue: 3.5.35(typescript@6.0.3)
+ '@vue/compiler-ssr': 3.5.37
+ '@vue/shared': 3.5.37
+ vue: 3.5.37(typescript@6.0.3)
- '@vue/shared@3.5.35': {}
+ '@vue/shared@3.5.37': {}
abab@2.0.6: {}
@@ -6700,7 +6700,7 @@ snapshots:
buffer-image-size@0.6.4:
dependencies:
- '@types/node': 25.9.2
+ '@types/node': 25.9.3
buffer@5.7.1:
dependencies:
@@ -8049,7 +8049,7 @@ snapshots:
happy-dom@20.10.2:
dependencies:
- '@types/node': 25.9.2
+ '@types/node': 25.9.3
'@types/whatwg-mimetype': 3.0.2
'@types/ws': 8.18.1
buffer-image-size: 0.6.4
@@ -8365,7 +8365,7 @@ snapshots:
'@jest/fake-timers': 29.7.0
'@jest/types': 29.6.3
'@types/jsdom': 20.0.1
- '@types/node': 25.9.2
+ '@types/node': 25.9.3
jest-mock: 29.7.0
jest-util: 29.7.0
jsdom: 20.0.3
@@ -8389,13 +8389,13 @@ snapshots:
jest-mock@29.7.0:
dependencies:
'@jest/types': 29.6.3
- '@types/node': 25.9.2
+ '@types/node': 25.9.3
jest-util: 29.7.0
jest-util@29.7.0:
dependencies:
'@jest/types': 29.6.3
- '@types/node': 25.9.2
+ '@types/node': 25.9.3
chalk: 4.1.2
ci-info: 3.9.0
graceful-fs: 4.2.11
@@ -10019,11 +10019,11 @@ snapshots:
core-util-is: 1.0.2
extsprintf: 1.3.0
- vite-string-plugin@2.0.4(vite@8.0.16(@types/node@25.9.2)(esbuild@0.28.1)(jiti@2.7.0)):
+ vite-string-plugin@2.0.4(vite@8.0.16(@types/node@25.9.3)(esbuild@0.28.1)(jiti@2.7.0)):
dependencies:
- vite: 8.0.16(@types/node@25.9.2)(esbuild@0.28.1)(jiti@2.7.0)
+ vite: 8.0.16(@types/node@25.9.3)(esbuild@0.28.1)(jiti@2.7.0)
- vite@8.0.16(@types/node@25.9.2)(esbuild@0.28.1)(jiti@2.7.0):
+ vite@8.0.16(@types/node@25.9.3)(esbuild@0.28.1)(jiti@2.7.0):
dependencies:
lightningcss: 1.32.0
picomatch: 4.0.4
@@ -10031,15 +10031,15 @@ snapshots:
rolldown: 1.0.3
tinyglobby: 0.2.17
optionalDependencies:
- '@types/node': 25.9.2
+ '@types/node': 25.9.3
esbuild: 0.28.1
fsevents: 2.3.3
jiti: 2.7.0
- vitest@4.1.8(@types/node@25.9.2)(happy-dom@20.10.2)(jsdom@20.0.3)(vite@8.0.16(@types/node@25.9.2)(esbuild@0.28.1)(jiti@2.7.0)):
+ vitest@4.1.8(@types/node@25.9.3)(happy-dom@20.10.2)(jsdom@20.0.3)(vite@8.0.16(@types/node@25.9.3)(esbuild@0.28.1)(jiti@2.7.0)):
dependencies:
'@vitest/expect': 4.1.8
- '@vitest/mocker': 4.1.8(vite@8.0.16(@types/node@25.9.2)(esbuild@0.28.1)(jiti@2.7.0))
+ '@vitest/mocker': 4.1.8(vite@8.0.16(@types/node@25.9.3)(esbuild@0.28.1)(jiti@2.7.0))
'@vitest/pretty-format': 4.1.8
'@vitest/runner': 4.1.8
'@vitest/snapshot': 4.1.8
@@ -10056,10 +10056,10 @@ snapshots:
tinyexec: 1.2.4
tinyglobby: 0.2.17
tinyrainbow: 3.1.0
- vite: 8.0.16(@types/node@25.9.2)(esbuild@0.28.1)(jiti@2.7.0)
+ vite: 8.0.16(@types/node@25.9.3)(esbuild@0.28.1)(jiti@2.7.0)
why-is-node-running: 2.3.0
optionalDependencies:
- '@types/node': 25.9.2
+ '@types/node': 25.9.3
happy-dom: 20.10.2
jsdom: 20.0.3
transitivePeerDependencies:
@@ -10069,14 +10069,14 @@ snapshots:
vue-bar-graph@2.2.0(typescript@6.0.3):
dependencies:
- vue: 3.5.35(typescript@6.0.3)
+ vue: 3.5.37(typescript@6.0.3)
transitivePeerDependencies:
- typescript
- vue-chartjs@5.3.3(chart.js@4.5.1)(vue@3.5.35(typescript@6.0.3)):
+ vue-chartjs@5.3.3(chart.js@4.5.1)(vue@3.5.37(typescript@6.0.3)):
dependencies:
chart.js: 4.5.1
- vue: 3.5.35(typescript@6.0.3)
+ vue: 3.5.37(typescript@6.0.3)
vue-eslint-parser@10.4.0(eslint@10.4.1(jiti@2.7.0)):
dependencies:
@@ -10096,13 +10096,13 @@ snapshots:
'@vue/language-core': 3.3.4
typescript: 6.0.3
- vue@3.5.35(typescript@6.0.3):
+ vue@3.5.37(typescript@6.0.3):
dependencies:
- '@vue/compiler-dom': 3.5.35
- '@vue/compiler-sfc': 3.5.35
- '@vue/runtime-dom': 3.5.35
- '@vue/server-renderer': 3.5.35(vue@3.5.35(typescript@6.0.3))
- '@vue/shared': 3.5.35
+ '@vue/compiler-dom': 3.5.37
+ '@vue/compiler-sfc': 3.5.37
+ '@vue/runtime-dom': 3.5.37
+ '@vue/server-renderer': 3.5.37(vue@3.5.37(typescript@6.0.3))
+ '@vue/shared': 3.5.37
optionalDependencies:
typescript: 6.0.3