From 6906d87375633b083d3e04b603500ffd423cf054 Mon Sep 17 00:00:00 2001 From: Junyi Date: Wed, 15 Jan 2025 16:59:58 +0800 Subject: [PATCH 001/125] fix(plugin-workflow): fix repeat field component (#6067) --- .../src/client/triggers/schedule/RepeatField.tsx | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/plugins/@nocobase/plugin-workflow/src/client/triggers/schedule/RepeatField.tsx b/packages/plugins/@nocobase/plugin-workflow/src/client/triggers/schedule/RepeatField.tsx index 53bbe3e00b..206f8b273a 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/client/triggers/schedule/RepeatField.tsx +++ b/packages/plugins/@nocobase/plugin-workflow/src/client/triggers/schedule/RepeatField.tsx @@ -49,7 +49,12 @@ function CommonRepeatField({ value, onChange }) { return ( onChange(v * option.value)} + onChange={(v) => { + if (!v) { + return; + } + onChange(v * option.value); + }} min={1} addonBefore={t('Every')} addonAfter={t(option.unitText)} @@ -71,9 +76,9 @@ export function RepeatField({ value = null, onChange }) { onChange('0 * * * * *'); return; } - onChange(v); + onChange(typeof typeValue === 'number' ? Math.round((value / typeValue) * v) : v); }, - [onChange], + [onChange, typeValue, value], ); return ( From 04b35407395a1da380dae555d3b125aef8b86657 Mon Sep 17 00:00:00 2001 From: Junyi Date: Wed, 15 Jan 2025 17:42:49 +0800 Subject: [PATCH 002/125] chore(plugin-workflow): cherry pick (#6057) * refactor(plugin-workflow): change api of manually execute (#5850) * feat: add subflow node * feat: add execution event * feat: add force option * feat: avoid recurring call * feat: add stack to execution * feat: add cyclic call validator * feat: collection trigger add execution stack * fix: stack * fix: manual execute * refactor(plugin-workflow): adjust api and implementent * chore: revert locale back * feat: trigger field set add scope variables * feat: add changeOnSelect * feat: variables support ID reference * feat: change locale * refactor(plugin-workflow): support execute by passing filterByTk for a record * refactor(plugin-workflow): adjust props name * fix(plugin-workflow): fix execute variable context * fix(plugin-workflow): fix variables and locales * chore(plugin-workflow): remove demo code * fix(plugin-workflow): fix import * fix(plugin-workflow): fix build error --------- Co-authored-by: mytharcher * fix(plugin-workflow): fix schedule picker value (#6039) * fix(plugin-workflow): fix variable compoent onchange (#5964) --------- Co-authored-by: shz --- .../schema-component/antd/variable/Input.tsx | 2 +- .../src/client/ActionTrigger.tsx | 104 ++++++++--- .../src/locale/zh-CN.json | 4 +- .../src/server/ActionTrigger.ts | 37 ++-- .../client/instruction/AssigneesSelect.tsx | 2 +- .../src/client/FlowContext.tsx | 6 + .../src/client/WorkflowCanvas.tsx | 173 +++++++++--------- .../TriggerCollectionRecordSelect.tsx | 17 +- .../src/client/triggers/collection.tsx | 2 +- .../triggers/schedule/ScheduleModes.tsx | 21 ++- .../schedule/TriggerScheduleConfig.tsx | 11 +- .../src/client/triggers/schedule/index.tsx | 2 + .../plugin-workflow/src/client/variable.tsx | 38 +++- .../plugin-workflow/src/locale/zh-CN.json | 2 +- .../plugin-workflow/src/server/Plugin.ts | 47 ++++- .../src/server/actions/workflows.ts | 7 +- .../src/server/collections/executions.ts | 8 + .../server/instructions/CreateInstruction.ts | 2 +- .../server/instructions/DestroyInstruction.ts | 2 +- .../server/instructions/UpdateInstruction.ts | 2 +- .../src/server/triggers/CollectionTrigger.ts | 82 +++++---- .../DateFieldScheduleTrigger.ts | 30 +++ .../ScheduleTrigger/StaticScheduleTrigger.ts | 4 + .../server/triggers/ScheduleTrigger/index.ts | 10 +- .../src/server/triggers/index.ts | 2 +- 25 files changed, 420 insertions(+), 197 deletions(-) diff --git a/packages/core/client/src/schema-component/antd/variable/Input.tsx b/packages/core/client/src/schema-component/antd/variable/Input.tsx index 66a0f2e6ec..75d83ec2aa 100644 --- a/packages/core/client/src/schema-component/antd/variable/Input.tsx +++ b/packages/core/client/src/schema-component/antd/variable/Input.tsx @@ -434,7 +434,7 @@ export function Input(props: VariableInputProps) { style={{ overflow: 'hidden' }} className={cx('ant-input', { 'ant-input-disabled': disabled }, hashId)} > - + {variableText.map((item, index) => { return ( diff --git a/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/client/ActionTrigger.tsx b/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/client/ActionTrigger.tsx index 8febd10089..03593e56af 100644 --- a/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/client/ActionTrigger.tsx +++ b/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/client/ActionTrigger.tsx @@ -9,7 +9,13 @@ import { useForm } from '@formily/react'; -import { SchemaInitializerItemType, parseCollectionName, useCollectionDataSource, useCompile } from '@nocobase/client'; +import { + SchemaInitializerItemType, + parseCollectionName, + useCollectionDataSource, + useCompile, + RemoteSelect, +} from '@nocobase/client'; import { Trigger, CollectionBlockInitializer, @@ -19,8 +25,10 @@ import { RadioWithTooltip, useGetCollectionFields, TriggerCollectionRecordSelect, + WorkflowVariableWrapper, } from '@nocobase/plugin-workflow/client'; import { NAMESPACE, useLang } from '../locale'; +import React from 'react'; const COLLECTION_TRIGGER_ACTION = { CREATE: 'create', @@ -36,8 +44,8 @@ function useVariables(config, options) { const getMainCollectionFields = useGetCollectionFields(); const langTriggerData = useLang('Trigger data'); - const langUserSubmittedForm = useLang('User submitted action'); - const langRoleSubmittedForm = useLang('Role of user submitted action'); + const langUserSubmittedForm = useLang('User acted'); + const langRoleSubmittedForm = useLang('Role of user acted'); const result = [ ...getCollectionFieldOptions({ // depth, @@ -198,8 +206,8 @@ export default class extends Trigger { triggerFieldset = { data: { type: 'object', - title: `{{t("Trigger data", { ns: "${NAMESPACE}" })}}`, - description: `{{t("Choose a record of the collection to trigger.", { ns: "workflow" })}}`, + title: `{{t("Trigger data", { ns: "workflow" })}}`, + description: `{{t("Choose a record or primary key of a record in the collection to trigger.", { ns: "workflow" })}}`, 'x-decorator': 'FormItem', 'x-component': 'TriggerCollectionRecordSelect', default: null, @@ -207,37 +215,90 @@ export default class extends Trigger { }, userId: { type: 'number', - title: `{{t("User submitted action", { ns: "${NAMESPACE}" })}}`, + title: `{{t("User acted", { ns: "${NAMESPACE}" })}}`, 'x-decorator': 'FormItem', - 'x-component': 'RemoteSelect', + 'x-component': 'WorkflowVariableWrapper', 'x-component-props': { - fieldNames: { - label: 'nickname', - value: 'id', + nullable: false, + changeOnSelect: true, + variableOptions: { + types: [ + (field) => { + if (field.isForeignKey || field.type === 'context') { + return field.target === 'users'; + } + return field.collectionName === 'users' && field.name === 'id'; + }, + ], }, - service: { - resource: 'users', + render(props) { + return ( + + ); }, - manual: false, }, + // properties: { + // remoteSelect: { + // 'x-component': 'RemoteSelect', + // 'x-component-props': { + // fieldNames: { + // label: 'nickname', + // value: 'id', + // }, + // service: { + // resource: 'users', + // }, + // manual: false, + // }, + // }, + // }, default: null, required: true, }, roleName: { type: 'string', - title: `{{t("Role of user submitted action", { ns: "${NAMESPACE}" })}}`, + title: `{{t("Role of user acted", { ns: "${NAMESPACE}" })}}`, 'x-decorator': 'FormItem', - 'x-component': 'RemoteSelect', + 'x-component': 'WorkflowVariableWrapper', 'x-component-props': { - fieldNames: { - label: 'title', - value: 'name', + nullable: false, + changeOnSelect: true, + variableOptions: { + types: [ + (field) => { + if (field.isForeignKey) { + return field.target === 'roles'; + } + return field.collectionName === 'roles' && field.name === 'name'; + }, + ], }, - service: { - resource: 'roles', + render(props) { + return ( + + ); }, - manual: false, }, + // 'x-component-props': { + // fieldNames: { + // label: 'title', + // value: 'name', + // }, + // service: { + // resource: 'roles', + // }, + // manual: false, + // }, default: null, }, }; @@ -252,6 +313,7 @@ export default class extends Trigger { RadioWithTooltip, CheckboxGroupWithTooltip, TriggerCollectionRecordSelect, + WorkflowVariableWrapper, }; isActionTriggerable = (config, context) => { return !config.global && ['submit', 'customize:save', 'customize:update'].includes(context.buttonAction); diff --git a/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/locale/zh-CN.json b/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/locale/zh-CN.json index adcfecee52..595330d341 100644 --- a/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/locale/zh-CN.json +++ b/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/locale/zh-CN.json @@ -12,6 +12,6 @@ "Update record action": "更新记录操作", "Associations to use": "待使用的关系数据", "Trigger data": "触发器数据", - "User submitted action": "提交操作的用户", - "Role of user submitted action": "提交操作用户的角色" + "User acted": "操作者", + "Role of user acted": "操作者角色" } diff --git a/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/server/ActionTrigger.ts b/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/server/ActionTrigger.ts index e7f5f2768d..14bcbbb94c 100644 --- a/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/server/ActionTrigger.ts +++ b/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/server/ActionTrigger.ts @@ -177,7 +177,7 @@ export default class extends Trigger { } for (const event of syncGroup) { - await this.workflow.trigger(event[0], event[1], { httpContext: context }); + await this.workflow.trigger(event[0], event[1]); } for (const event of asyncGroup) { @@ -185,18 +185,27 @@ export default class extends Trigger { } } - async execute(workflow: WorkflowModel, context: Context, options: EventOptions) { - const { values } = context.action.params; + async execute(workflow: WorkflowModel, values, options: EventOptions) { + // const { values } = context.action.params; const [dataSourceName, collectionName] = parseCollectionName(workflow.config.collection); const { collectionManager } = this.workflow.app.dataSourceManager.dataSources.get(dataSourceName); const { filterTargetKey, repository } = collectionManager.getCollection(collectionName); - const filterByTk = Array.isArray(filterTargetKey) - ? pick( - values.data, - filterTargetKey.sort((a, b) => a.localeCompare(b)), - ) - : values.data[filterTargetKey]; - const UserRepo = context.app.db.getRepository('users'); + + let { data } = values; + let filterByTk; + let loadNeeded = false; + if (data && typeof data === 'object') { + filterByTk = Array.isArray(filterTargetKey) + ? pick( + data, + filterTargetKey.sort((a, b) => a.localeCompare(b)), + ) + : data[filterTargetKey]; + } else { + filterByTk = data; + loadNeeded = true; + } + const UserRepo = this.workflow.app.db.getRepository('users'); const actor = await UserRepo.findOne({ filterByTk: values.userId, appends: ['roles'], @@ -207,8 +216,7 @@ export default class extends Trigger { const { roles, ...user } = actor.desensitize().get(); const roleName = values.roleName || roles?.[0]?.name; - let { data } = values; - if (workflow.config.appends?.length) { + if (loadNeeded || workflow.config.appends?.length) { data = await repository.findOne({ filterByTk, appends: workflow.config.appends, @@ -221,10 +229,7 @@ export default class extends Trigger { user, roleName, }, - { - ...options, - httpContext: context, - }, + options, ); } } diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/instruction/AssigneesSelect.tsx b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/instruction/AssigneesSelect.tsx index 42e5c0f4ac..f7c44ea561 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/instruction/AssigneesSelect.tsx +++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/instruction/AssigneesSelect.tsx @@ -12,7 +12,7 @@ import { RemoteSelect, Variable } from '@nocobase/client'; import { useWorkflowVariableOptions } from '@nocobase/plugin-workflow/client'; function isUserKeyField(field) { - if (field.isForeignKey) { + if (field.isForeignKey || field.type === 'context') { return field.target === 'users'; } return field.collectionName === 'users' && field.name === 'id'; diff --git a/packages/plugins/@nocobase/plugin-workflow/src/client/FlowContext.tsx b/packages/plugins/@nocobase/plugin-workflow/src/client/FlowContext.tsx index 78d44e704c..0082fad11c 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/client/FlowContext.tsx +++ b/packages/plugins/@nocobase/plugin-workflow/src/client/FlowContext.tsx @@ -14,3 +14,9 @@ export const FlowContext = React.createContext({}); export function useFlowContext() { return useContext(FlowContext); } + +export const CurrentWorkflowContext = React.createContext({}); + +export function useCurrentWorkflowContext() { + return useContext(CurrentWorkflowContext); +} diff --git a/packages/plugins/@nocobase/plugin-workflow/src/client/WorkflowCanvas.tsx b/packages/plugins/@nocobase/plugin-workflow/src/client/WorkflowCanvas.tsx index 2844ee2617..a8f0722568 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/client/WorkflowCanvas.tsx +++ b/packages/plugins/@nocobase/plugin-workflow/src/client/WorkflowCanvas.tsx @@ -12,6 +12,8 @@ import { Trans, useTranslation } from 'react-i18next'; import { Link, useNavigate } from 'react-router-dom'; import { Alert, App, Breadcrumb, Button, Dropdown, Result, Spin, Switch, Tag, Tooltip } from 'antd'; import { DownOutlined, EllipsisOutlined, RightOutlined } from '@ant-design/icons'; +import { NoticeType } from 'antd/es/message/interface'; +import { useField, useForm } from '@formily/react'; import { ActionContextProvider, ResourceActionProvider, @@ -30,10 +32,11 @@ import { } from '@nocobase/client'; import { dayjs } from '@nocobase/utils/client'; +import PluginWorkflowClient from '.'; import { CanvasContent } from './CanvasContent'; import { ExecutionStatusColumn } from './components/ExecutionStatus'; import { ExecutionLink } from './ExecutionLink'; -import { FlowContext, useFlowContext } from './FlowContext'; +import { CurrentWorkflowContext, FlowContext, useFlowContext } from './FlowContext'; import { lang, NAMESPACE } from './locale'; import { executionSchema } from './schemas/executions'; import useStyles from './style'; @@ -41,10 +44,8 @@ import { linkNodes, getWorkflowDetailPath } from './utils'; import { Fieldset } from './components/Fieldset'; import { useRefreshActionProps } from './hooks/useRefreshActionProps'; import { useTrigger } from './triggers'; -import { useField, useForm } from '@formily/react'; import { ExecutionStatusOptionsMap } from './constants'; -import PluginWorkflowClient from '.'; -import { NoticeType } from 'antd/es/message/interface'; +import { HideVariableContext } from './variable'; function ExecutionResourceProvider({ request, filter = {}, ...others }) { const { workflow } = useFlowContext(); @@ -144,99 +145,103 @@ function ExecuteActionButton() { const trigger = useTrigger(); return ( - + + + }} + /> + + ); } diff --git a/packages/plugins/@nocobase/plugin-workflow/src/client/components/TriggerCollectionRecordSelect.tsx b/packages/plugins/@nocobase/plugin-workflow/src/client/components/TriggerCollectionRecordSelect.tsx index 7d834a7966..ca1f085b11 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/client/components/TriggerCollectionRecordSelect.tsx +++ b/packages/plugins/@nocobase/plugin-workflow/src/client/components/TriggerCollectionRecordSelect.tsx @@ -11,17 +11,17 @@ import React from 'react'; import { parseCollectionName, RemoteSelect, useApp } from '@nocobase/client'; -import { useFlowContext } from '../FlowContext'; +import { useCurrentWorkflowContext } from '../FlowContext'; +import { WorkflowVariableWrapper } from '../variable'; export function TriggerCollectionRecordSelect(props) { - const { workflow } = useFlowContext(); + const workflow = useCurrentWorkflowContext(); const app = useApp(); const [dataSourceName, collectionName] = parseCollectionName(workflow.config.collection); const { collectionManager } = app.dataSourceManager.getDataSource(dataSourceName); const collection = collectionManager.getCollection(collectionName); - - return ( + const render = (props) => ( ); + return ( + + ); } diff --git a/packages/plugins/@nocobase/plugin-workflow/src/client/triggers/collection.tsx b/packages/plugins/@nocobase/plugin-workflow/src/client/triggers/collection.tsx index ba3e501a1b..cffc660711 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/client/triggers/collection.tsx +++ b/packages/plugins/@nocobase/plugin-workflow/src/client/triggers/collection.tsx @@ -197,7 +197,7 @@ export default class extends Trigger { data: { type: 'object', title: `{{t("Trigger data", { ns: "${NAMESPACE}" })}}`, - description: `{{t("Choose a record of the collection to trigger.", { ns: "${NAMESPACE}" })}}`, + description: `{{t("Choose a record or primary key of a record in the collection to trigger.", { ns: "${NAMESPACE}" })}}`, 'x-decorator': 'FormItem', 'x-component': 'TriggerCollectionRecordSelect', default: null, diff --git a/packages/plugins/@nocobase/plugin-workflow/src/client/triggers/schedule/ScheduleModes.tsx b/packages/plugins/@nocobase/plugin-workflow/src/client/triggers/schedule/ScheduleModes.tsx index a1a96dd3b0..2fd816fd60 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/client/triggers/schedule/ScheduleModes.tsx +++ b/packages/plugins/@nocobase/plugin-workflow/src/client/triggers/schedule/ScheduleModes.tsx @@ -7,9 +7,12 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { NAMESPACE } from '../../locale'; +import React from 'react'; +import { DatePicker } from 'antd'; +import { NAMESPACE, lang } from '../../locale'; import { appends, collection } from '../../schemas/collection'; import { SCHEDULE_MODE } from './constants'; +import { dayjs } from '@nocobase/utils/client'; export const ScheduleModes = { [SCHEDULE_MODE.STATIC]: { @@ -73,13 +76,21 @@ export const ScheduleModes = { type: 'string', title: `{{t('Execute on', { ns: "${NAMESPACE}" })}}`, 'x-decorator': 'FormItem', - 'x-component': 'DatePicker', + 'x-component': 'WorkflowVariableWrapper', 'x-component-props': { - showTime: true, - placeholder: `{{t('Current time', { ns: "${NAMESPACE}" })}}`, + // showTime: true, + // placeholder: `{{t('Current time', { ns: "${NAMESPACE}" })}}`, + nullable: false, + changeOnSelect: true, + render(props) { + return ; + }, }, }, }, + validate(config) { + return Boolean(config.startsOn); + }, }, [SCHEDULE_MODE.DATE_FIELD]: { fieldset: { @@ -180,7 +191,7 @@ export const ScheduleModes = { data: { type: 'object', title: `{{t("Trigger data", { ns: "${NAMESPACE}" })}}`, - description: `{{t("Choose a record of the collection to trigger.", { ns: "${NAMESPACE}" })}}`, + description: `{{t("Choose a record or an ID reference of the collection to trigger.", { ns: "${NAMESPACE}" })}}`, 'x-decorator': 'FormItem', 'x-component': 'TriggerCollectionRecordSelect', default: null, diff --git a/packages/plugins/@nocobase/plugin-workflow/src/client/triggers/schedule/TriggerScheduleConfig.tsx b/packages/plugins/@nocobase/plugin-workflow/src/client/triggers/schedule/TriggerScheduleConfig.tsx index db63ba25aa..8b5d2750bf 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/client/triggers/schedule/TriggerScheduleConfig.tsx +++ b/packages/plugins/@nocobase/plugin-workflow/src/client/triggers/schedule/TriggerScheduleConfig.tsx @@ -9,14 +9,15 @@ import React from 'react'; -import { SchemaComponent } from '@nocobase/client'; -import { useFlowContext } from '../../FlowContext'; -import { useTrigger } from '..'; +import { SchemaComponent, usePlugin } from '@nocobase/client'; +import WorkflowPlugin from '../..'; +import { useCurrentWorkflowContext } from '../../FlowContext'; import { ScheduleModes } from './ScheduleModes'; export function TriggerScheduleConfig() { - const { workflow } = useFlowContext(); - const trigger = useTrigger(); + const workflow = useCurrentWorkflowContext(); + const workflowPlugin = usePlugin(WorkflowPlugin); + const trigger = workflowPlugin.triggers.get(workflow.type); return ( ; } + +/** + * @experimental + */ +export function WorkflowVariableWrapper(props): JSX.Element { + const { render, variableOptions, changeOnSelect, nullable, ...others } = props; + const hideVariable = useHideVariable(); + const scope = useWorkflowVariableOptions(variableOptions); + + if (!hideVariable && scope?.length > 0) { + return ( + + {render?.(others)} + + ); + } + + return render?.(others); +} + +/** + * @experimental + */ +export const HideVariableContext = createContext(false); + +/** + * @experimental + */ +export function useHideVariable() { + return useContext(HideVariableContext); +} diff --git a/packages/plugins/@nocobase/plugin-workflow/src/locale/zh-CN.json b/packages/plugins/@nocobase/plugin-workflow/src/locale/zh-CN.json index 97418a9fea..57a1f7bfee 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/locale/zh-CN.json +++ b/packages/plugins/@nocobase/plugin-workflow/src/locale/zh-CN.json @@ -73,7 +73,7 @@ "Preload associations": "预加载关联数据", "Please select the associated fields that need to be accessed in subsequent nodes. With more than two levels of to-many associations may cause performance issue, please use with caution.": "请选中需要在后续节点中被访问的关系字段。超过两层的对多关联可能会导致性能问题,请谨慎使用。", - "Choose a record of the collection to trigger.": "选择数据表中的一行记录来触发。", + "Choose a record or primary key of a record in the collection to trigger.": "选择数据表中的一行记录或者记录的主键来触发。", "Schedule event": "定时任务", "Triggered according to preset time conditions. Suitable for one-time or periodic tasks, such as sending notifications and cleaning data on a schedule.": "按预设的时间条件定时触发。适用于一次性或周期性的任务,如定时发送通知、清理数据等。", diff --git a/packages/plugins/@nocobase/plugin-workflow/src/server/Plugin.ts b/packages/plugins/@nocobase/plugin-workflow/src/server/Plugin.ts index b6005f66a6..18618d0c38 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/server/Plugin.ts +++ b/packages/plugins/@nocobase/plugin-workflow/src/server/Plugin.ts @@ -48,6 +48,9 @@ export type EventOptions = { context?: any; deferred?: boolean; manually?: boolean; + force?: boolean; + stack?: Array; + onTriggerFail?: Function; [key: string]: any; } & Transactionable; @@ -378,7 +381,7 @@ export default class PluginWorkflowServer extends Plugin { logger.debug(`ignored event data:`, context); return; } - if (!options.manually && !workflow.enabled) { + if (!options.force && !options.manually && !workflow.enabled) { logger.warn(`workflow ${workflow.id} is not enabled, event will be ignored`); return; } @@ -467,6 +470,33 @@ export default class PluginWorkflowServer extends Plugin { this.dispatch(); } + private async validateEvent(workflow: WorkflowModel, context: any, options: EventOptions) { + const trigger = this.triggers.get(workflow.type); + const triggerValid = await trigger.validateEvent(workflow, context, options); + if (!triggerValid) { + return false; + } + + const { stack } = options; + let valid = true; + if (stack?.length > 0) { + const existed = await workflow.countExecutions({ + where: { + id: stack, + }, + transaction: options.transaction, + }); + + if (existed) { + this.getLogger(workflow.id).warn( + `workflow ${workflow.id} has already been triggered in stacks executions (${stack}), and newly triggering will be skipped.`, + ); + + valid = false; + } + } + return valid; + } private async createExecution( workflow: WorkflowModel, context, @@ -475,13 +505,13 @@ export default class PluginWorkflowServer extends Plugin { const { deferred } = options; const transaction = await this.useDataSourceTransaction('main', options.transaction, true); const sameTransaction = options.transaction === transaction; - const trigger = this.triggers.get(workflow.type); - const valid = await trigger.validateEvent(workflow, context, { ...options, transaction }); + const valid = await this.validateEvent(workflow, context, { ...options, transaction }); if (!valid) { if (!sameTransaction) { await transaction.commit(); } - return null; + options.onTriggerFail?.(workflow, context, options); + return Promise.reject(new Error('event is not valid')); } let execution; @@ -491,6 +521,7 @@ export default class PluginWorkflowServer extends Plugin { context, key: workflow.key, eventKey: options.eventKey ?? randomUUID(), + stack: options.stack, status: deferred ? EXECUTION_STATUS.STARTED : EXECUTION_STATUS.QUEUEING, }, { transaction }, @@ -552,8 +583,8 @@ export default class PluginWorkflowServer extends Plugin { if (execution?.status === EXECUTION_STATUS.QUEUEING && !this.executing && !this.pending.length) { this.pending.push([execution]); } - } catch (err) { - logger.error(`failed to create execution: ${err.message}`, err); + } catch (error) { + logger.error(`failed to create execution:`, { error }); // this.events.push(event); // NOTE: retry will cause infinite loop } @@ -663,7 +694,7 @@ export default class PluginWorkflowServer extends Plugin { return processor; } - async execute(workflow: WorkflowModel, context: Context, options: EventOptions = {}) { + async execute(workflow: WorkflowModel, values, options: EventOptions = {}) { const trigger = this.triggers.get(workflow.type); if (!trigger) { throw new Error(`trigger type "${workflow.type}" of workflow ${workflow.id} is not registered`); @@ -671,7 +702,7 @@ export default class PluginWorkflowServer extends Plugin { if (!trigger.execute) { throw new Error(`"execute" method of trigger ${workflow.type} is not implemented`); } - return trigger.execute(workflow, context, options); + return trigger.execute(workflow, values, options); } /** diff --git a/packages/plugins/@nocobase/plugin-workflow/src/server/actions/workflows.ts b/packages/plugins/@nocobase/plugin-workflow/src/server/actions/workflows.ts index 174ff2622c..37d212e6c2 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/server/actions/workflows.ts +++ b/packages/plugins/@nocobase/plugin-workflow/src/server/actions/workflows.ts @@ -108,7 +108,10 @@ export async function trigger(context: Context, next) { export async function execute(context: Context, next) { const plugin = context.app.pm.get(Plugin) as Plugin; - const { filterByTk, autoRevision } = context.action.params; + const { filterByTk, values, autoRevision } = context.action.params; + if (!values) { + return context.throw(400, 'values is required'); + } if (!filterByTk) { return context.throw(400, 'filterByTk is required'); } @@ -124,7 +127,7 @@ export async function execute(context: Context, next) { const { executed } = workflow; let processor; try { - processor = (await plugin.execute(workflow, context, { manually: true })) as Processor; + processor = (await plugin.execute(workflow, values, { manually: true })) as Processor; if (!processor) { return context.throw(400, 'workflow not triggered'); } diff --git a/packages/plugins/@nocobase/plugin-workflow/src/server/collections/executions.ts b/packages/plugins/@nocobase/plugin-workflow/src/server/collections/executions.ts index 9d9b88a9b9..c7a04aca38 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/server/collections/executions.ts +++ b/packages/plugins/@nocobase/plugin-workflow/src/server/collections/executions.ts @@ -42,5 +42,13 @@ export default { type: 'integer', name: 'status', }, + { + type: 'json', + name: 'stack', + }, + { + type: 'json', + name: 'output', + }, ], } as CollectionOptions; diff --git a/packages/plugins/@nocobase/plugin-workflow/src/server/instructions/CreateInstruction.ts b/packages/plugins/@nocobase/plugin-workflow/src/server/instructions/CreateInstruction.ts index 84be0cfa38..4726e1f2d9 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/server/instructions/CreateInstruction.ts +++ b/packages/plugins/@nocobase/plugin-workflow/src/server/instructions/CreateInstruction.ts @@ -29,7 +29,7 @@ export class CreateInstruction extends Instruction { const created = await repository.create({ ...options, context: { - stack: Array.from(new Set((processor.execution.context.stack ?? []).concat(processor.execution.id))), + stack: Array.from(new Set((processor.execution.stack ?? []).concat(processor.execution.id))), }, transaction, }); diff --git a/packages/plugins/@nocobase/plugin-workflow/src/server/instructions/DestroyInstruction.ts b/packages/plugins/@nocobase/plugin-workflow/src/server/instructions/DestroyInstruction.ts index fea1104c59..7ef6247224 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/server/instructions/DestroyInstruction.ts +++ b/packages/plugins/@nocobase/plugin-workflow/src/server/instructions/DestroyInstruction.ts @@ -27,7 +27,7 @@ export class DestroyInstruction extends Instruction { const result = await repository.destroy({ ...options, context: { - stack: Array.from(new Set((processor.execution.context.stack ?? []).concat(processor.execution.id))), + stack: Array.from(new Set((processor.execution.stack ?? []).concat(processor.execution.id))), }, transaction: this.workflow.useDataSourceTransaction(dataSourceName, processor.transaction), }); diff --git a/packages/plugins/@nocobase/plugin-workflow/src/server/instructions/UpdateInstruction.ts b/packages/plugins/@nocobase/plugin-workflow/src/server/instructions/UpdateInstruction.ts index 953d3ee9b3..dbfa565ecb 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/server/instructions/UpdateInstruction.ts +++ b/packages/plugins/@nocobase/plugin-workflow/src/server/instructions/UpdateInstruction.ts @@ -27,7 +27,7 @@ export class UpdateInstruction extends Instruction { const result = await repository.update({ ...options, context: { - stack: Array.from(new Set((processor.execution.context.stack ?? []).concat(processor.execution.id))), + stack: Array.from(new Set((processor.execution.stack ?? []).concat(processor.execution.id))), }, transaction: this.workflow.useDataSourceTransaction(dataSourceName, processor.transaction), }); diff --git a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/CollectionTrigger.ts b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/CollectionTrigger.ts index dbe3033d3b..d10aeda67d 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/CollectionTrigger.ts +++ b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/CollectionTrigger.ts @@ -59,23 +59,24 @@ export default class CollectionTrigger extends Trigger { if (!ctx) { return; } - + const { stack } = options.context ?? {}; if (workflow.sync) { await this.workflow.trigger(workflow, ctx, { transaction, + stack, }); } else { if (transaction) { transaction.afterCommit(() => { - this.workflow.trigger(workflow, ctx); + this.workflow.trigger(workflow, ctx, { stack }); }); } else { - this.workflow.trigger(workflow, ctx); + this.workflow.trigger(workflow, ctx, { stack }); } } } - async prepare(workflow: WorkflowModel, data: Model | Record, options) { + async prepare(workflow: WorkflowModel, data: Model | Record | string | number, options) { const { condition, changed, mode, appends } = workflow.config; const [dataSourceName, collectionName] = parseCollectionName(workflow.config.collection); const { collectionManager } = this.workflow.app.dataSourceManager.dataSources.get(dataSourceName); @@ -83,9 +84,23 @@ export default class CollectionTrigger extends Trigger { const { transaction, context } = options; const { repository, filterTargetKey } = collection; + let target = data; + let filterByTk; + let loadNeeded = false; + if (target && typeof target === 'object') { + filterByTk = Array.isArray(filterTargetKey) + ? pick( + target, + filterTargetKey.sort((a, b) => a.localeCompare(b)), + ) + : target[filterTargetKey]; + } else { + filterByTk = target; + loadNeeded = true; + } // NOTE: if no configured fields changed, do not trigger if ( - data instanceof Model && + target instanceof Model && changed && changed.length && changed @@ -93,14 +108,11 @@ export default class CollectionTrigger extends Trigger { const field = collection.getField(name); return field && !['linkTo', 'hasOne', 'hasMany', 'belongsToMany'].includes(field.options.type); }) - .every((name) => !data.changedWithAssociations(getFieldRawName(collection, name))) + .every((name) => !(target).changedWithAssociations(getFieldRawName(collection, name))) ) { return null; } - const filterByTk = Array.isArray(filterTargetKey) - ? pick(data, filterTargetKey) - : { [filterTargetKey]: data[filterTargetKey] }; // NOTE: if no configured condition, or not match, do not trigger if (isValidFilter(condition) && !(mode & MODE_BITMAP.DESTROY)) { // TODO: change to map filter format to calculation format @@ -117,17 +129,14 @@ export default class CollectionTrigger extends Trigger { } } - let result = data; - - if (appends?.length && !(mode & MODE_BITMAP.DESTROY)) { + if (loadNeeded || (appends?.length && !(mode & MODE_BITMAP.DESTROY))) { const includeFields = appends.reduce((set, field) => { set.add(field.split('.')[0]); set.add(field); return set; }, new Set()); - // @ts-ignore - result = await repository.findOne({ + target = await repository.findOne({ filterByTk, appends: Array.from(includeFields), transaction, @@ -135,8 +144,7 @@ export default class CollectionTrigger extends Trigger { } return { - data: toJSON(result), - stack: context?.stack, + data: toJSON(target), }; } @@ -195,31 +203,31 @@ export default class CollectionTrigger extends Trigger { } } - async validateEvent(workflow: WorkflowModel, context: any, options: Transactionable): Promise { - if (context.stack) { - const existed = await workflow.countExecutions({ - where: { - id: context.stack, - }, - transaction: options.transaction, - }); + // async validateEvent(workflow: WorkflowModel, context: any, options: Transactionable): Promise { + // if (context.stack) { + // const existed = await workflow.countExecutions({ + // where: { + // id: context.stack, + // }, + // transaction: options.transaction, + // }); - if (existed) { - this.workflow - .getLogger(workflow.id) - .warn( - `workflow ${workflow.id} has already been triggered in stack executions (${context.stack}), and newly triggering will be skipped.`, - ); + // if (existed) { + // this.workflow + // .getLogger(workflow.id) + // .warn( + // `workflow ${workflow.id} has already been triggered in stack executions (${context.stack}), and newly triggering will be skipped.`, + // ); - return false; - } - } + // return false; + // } + // } - return true; - } + // return true; + // } - async execute(workflow: WorkflowModel, context: Context, options: EventOptions) { - const ctx = await this.prepare(workflow, context.action.params.values?.data, options); + async execute(workflow: WorkflowModel, values, options: EventOptions) { + const ctx = await this.prepare(workflow, values?.data, options); const [dataSourceName] = parseCollectionName(workflow.config.collection); const { transaction } = options; return this.workflow.trigger(workflow, ctx, { diff --git a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/DateFieldScheduleTrigger.ts b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/DateFieldScheduleTrigger.ts index 4e2f9ba5b4..58d0d5756e 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/DateFieldScheduleTrigger.ts +++ b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/DateFieldScheduleTrigger.ts @@ -13,6 +13,7 @@ import type Plugin from '../../Plugin'; import type { WorkflowModel } from '../../types'; import { parseDateWithoutMs, SCHEDULE_MODE } from './utils'; import { parseCollectionName, SequelizeCollectionManager, SequelizeDataSource } from '@nocobase/data-source-manager'; +import { pick } from 'lodash'; export type ScheduleOnField = { field: string; @@ -407,4 +408,33 @@ export default class DateFieldScheduleTrigger { this.events.delete(name); } } + + async execute(workflow, values, options) { + const [dataSourceName, collectionName] = parseCollectionName(workflow.config.collection); + const { collectionManager } = this.workflow.app.dataSourceManager.dataSources.get(dataSourceName); + const { filterTargetKey, repository } = collectionManager.getCollection(collectionName); + + let { data } = values; + let filterByTk; + let loadNeeded = false; + if (data && typeof data === 'object') { + filterByTk = Array.isArray(filterTargetKey) + ? pick( + data, + filterTargetKey.sort((a, b) => a.localeCompare(b)), + ) + : data[filterTargetKey]; + } else { + filterByTk = data; + loadNeeded = true; + } + if (loadNeeded || workflow.config.appends?.length) { + data = await repository.findOne({ + filterByTk, + appends: workflow.config.appends, + }); + } + + return this.workflow.trigger(workflow, { ...values, data, date: values?.date ?? new Date() }, options); + } } diff --git a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/StaticScheduleTrigger.ts b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/StaticScheduleTrigger.ts index 3d2fdbcbb4..9552ceae22 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/StaticScheduleTrigger.ts +++ b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/StaticScheduleTrigger.ts @@ -136,4 +136,8 @@ export default class StaticScheduleTrigger { off(workflow) { this.schedule(workflow, null, false); } + + execute(workflow, values, options) { + return this.workflow.trigger(workflow, { ...values, date: values?.date ?? new Date() }, options); + } } diff --git a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/index.ts b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/index.ts index 18b9863c46..f0da376bd1 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/index.ts +++ b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/index.ts @@ -8,6 +8,7 @@ */ import { Context } from '@nocobase/actions'; +import { parseCollectionName } from '@nocobase/data-source-manager'; import Trigger from '..'; import type Plugin from '../../Plugin'; import DateFieldScheduleTrigger from './DateFieldScheduleTrigger'; @@ -46,9 +47,12 @@ export default class ScheduleTrigger extends Trigger { } } - async execute(workflow, context: Context, options) { - const { values } = context.action.params; - return this.workflow.trigger(workflow, { ...values, date: values?.date ?? new Date() }, options); + async execute(workflow, values: any, options) { + const mode = workflow.config.mode; + const trigger = this.getTrigger(mode); + if (trigger) { + return trigger.execute(workflow, values, options); + } } // async validateEvent(workflow: WorkflowModel, context: any, options: Transactionable): Promise { diff --git a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/index.ts b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/index.ts index 9b8a924604..fec0cab04f 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/index.ts +++ b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/index.ts @@ -23,7 +23,7 @@ export abstract class Trigger { sync?: boolean; execute?( workflow: WorkflowModel, - context: any, + values: any, options: Transactionable, ): void | Processor | Promise; } From 2c936b6eb108997058acde9e4a782b7e53c414d9 Mon Sep 17 00:00:00 2001 From: chenos Date: Wed, 15 Jan 2025 21:05:35 +0800 Subject: [PATCH 003/125] feat: improve the extensibility of file-storage (#6071) --- packages/core/client/src/pm/PluginCard.tsx | 24 ++++++++++--------- .../src/plugin-manager/plugin-manager.ts | 8 +++---- .../plugin-file-manager/src/server/index.ts | 8 ++++++- .../plugin-file-manager/src/server/server.ts | 8 ++++++- .../src/server/storages/index.ts | 6 +++-- packages/presets/nocobase/src/server/index.ts | 1 + 6 files changed, 36 insertions(+), 19 deletions(-) diff --git a/packages/core/client/src/pm/PluginCard.tsx b/packages/core/client/src/pm/PluginCard.tsx index 9971006f8e..67c5f150a8 100644 --- a/packages/core/client/src/pm/PluginCard.tsx +++ b/packages/core/client/src/pm/PluginCard.tsx @@ -97,17 +97,19 @@ function PluginInfo(props: IPluginInfo) { `} actions={[ } key={'1'}> - { - event.stopPropagation(); - }} - rel="noreferrer" - > - {t('Docs')} - + {homepage && ( + { + event.stopPropagation(); + }} + rel="noreferrer" + > + {t('Docs')} + + )} {updatable && ( (name: string | typeof Plugin | (new () => T)): T { if (typeof name === 'string') { - return this.app.pm.pluginAliases.get(name); + return this.app.pm.pluginAliases.get(name) as any; } - return this.app.pm.pluginInstances.get(name); + return this.app.pm.pluginInstances.get(name as any) as any; } has(name: string | typeof Plugin) { @@ -277,7 +277,7 @@ export class PluginManager { return this.app.pm.pluginInstances.has(name); } - del(name: string | typeof Plugin) { + del(name: any) { const instance = this.get(name); if (instance) { this.app.pm.pluginAliases.delete(instance.name); diff --git a/packages/plugins/@nocobase/plugin-file-manager/src/server/index.ts b/packages/plugins/@nocobase/plugin-file-manager/src/server/index.ts index 19825bc354..37b4265659 100644 --- a/packages/plugins/@nocobase/plugin-file-manager/src/server/index.ts +++ b/packages/plugins/@nocobase/plugin-file-manager/src/server/index.ts @@ -7,5 +7,11 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ +import { StorageEngine } from 'multer'; + export * from '../constants'; -export { default } from './server'; +export { AttachmentModel, default, IStorage, PluginFileManagerServer, StorageModel } from './server'; + +export { StorageType } from './storages'; + +export { StorageEngine }; diff --git a/packages/plugins/@nocobase/plugin-file-manager/src/server/server.ts b/packages/plugins/@nocobase/plugin-file-manager/src/server/server.ts index b18acbfbe1..32f9eda076 100644 --- a/packages/plugins/@nocobase/plugin-file-manager/src/server/server.ts +++ b/packages/plugins/@nocobase/plugin-file-manager/src/server/server.ts @@ -42,10 +42,14 @@ export type UploadFileOptions = { documentRoot?: string; }; -export default class PluginFileManagerServer extends Plugin { +export class PluginFileManagerServer extends Plugin { storageTypes = new Registry(); storagesCache = new Map(); + registerStorageType(type: string, options: IStorage) { + this.storageTypes.register(type, options); + } + async createFileRecord(options: FileRecordOptions) { const { values, storageName, collectionName, filePath, transaction } = options; const collection = this.db.getCollection(collectionName); @@ -251,3 +255,5 @@ export default class PluginFileManagerServer extends Plugin { this.app.db.interfaceManager.registerInterfaceType('attachment', AttachmentInterface); } } + +export default PluginFileManagerServer; diff --git a/packages/plugins/@nocobase/plugin-file-manager/src/server/storages/index.ts b/packages/plugins/@nocobase/plugin-file-manager/src/server/storages/index.ts index 8009b17315..5d053b4f7b 100644 --- a/packages/plugins/@nocobase/plugin-file-manager/src/server/storages/index.ts +++ b/packages/plugins/@nocobase/plugin-file-manager/src/server/storages/index.ts @@ -7,8 +7,8 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { StorageEngine } from 'multer'; import Application from '@nocobase/server'; +import { StorageEngine } from 'multer'; export interface StorageModel { id?: number; @@ -40,6 +40,8 @@ export interface IStorage { export abstract class StorageType implements IStorage { abstract make(storage: StorageModel): StorageEngine; - abstract defaults(): StorageModel; abstract delete(storage: StorageModel, records: AttachmentModel[]): Promise<[number, AttachmentModel[]]>; + defaults(): StorageModel { + return {} as any; + } } diff --git a/packages/presets/nocobase/src/server/index.ts b/packages/presets/nocobase/src/server/index.ts index 0a1724d41f..172c072fba 100644 --- a/packages/presets/nocobase/src/server/index.ts +++ b/packages/presets/nocobase/src/server/index.ts @@ -74,6 +74,7 @@ export class PresetNocoBase extends Plugin { builtIn: !!instance?.builtIn, keywords: packageJson.keywords, author: packageJson.author, + homepage: packageJson[`homepage.${locale}`] || packageJson.homepage, packageJson, removable: !instance?.enabled && !this.app.db.hasCollection('applications'), displayName: packageJson?.[`displayName.${locale}`] || packageJson?.displayName || name, From 9af7fb951cdf212144bd7bdcc8aa7b9b3fa5ff31 Mon Sep 17 00:00:00 2001 From: Zeke Zhang <958414905@qq.com> Date: Thu, 16 Jan 2025 04:32:17 +0800 Subject: [PATCH 004/125] fix(mobile): fix SafeArea not working issue (#6068) --- .../@nocobase/plugin-mobile/src/client/mobile/Mobile.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/plugins/@nocobase/plugin-mobile/src/client/mobile/Mobile.tsx b/packages/plugins/@nocobase/plugin-mobile/src/client/mobile/Mobile.tsx index f8f7227a67..bdbf47c9f3 100644 --- a/packages/plugins/@nocobase/plugin-mobile/src/client/mobile/Mobile.tsx +++ b/packages/plugins/@nocobase/plugin-mobile/src/client/mobile/Mobile.tsx @@ -53,7 +53,10 @@ export const Mobile = () => { viewportMeta.setAttribute('name', 'viewport'); document.head.appendChild(viewportMeta); } - viewportMeta.setAttribute('content', 'width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no'); + viewportMeta.setAttribute( + 'content', + 'width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no,viewport-fit=cover', + ); document.body.style.backgroundColor = PageBackgroundColor; document.body.style.overflow = 'hidden'; From 7c246743d18642b3528d6a2b2695e780baef7931 Mon Sep 17 00:00:00 2001 From: "nocobase[bot]" <179432756+nocobase[bot]@users.noreply.github.com> Date: Wed, 15 Jan 2025 21:41:45 +0000 Subject: [PATCH 005/125] =?UTF-8?q?chore(versions):=20=F0=9F=98=8A=20publi?= =?UTF-8?q?sh=20v1.4.25?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lerna.json | 2 +- packages/core/acl/package.json | 6 +- packages/core/actions/package.json | 8 +- packages/core/app/package.json | 10 +- packages/core/auth/package.json | 12 +- packages/core/build/package.json | 2 +- packages/core/cache/package.json | 2 +- packages/core/cli/package.json | 6 +- packages/core/client/package.json | 8 +- .../core/create-nocobase-app/package.json | 2 +- .../core/data-source-manager/package.json | 12 +- packages/core/database/package.json | 6 +- packages/core/devtools/package.json | 8 +- packages/core/evaluators/package.json | 4 +- packages/core/logger/package.json | 2 +- packages/core/resourcer/package.json | 4 +- packages/core/sdk/package.json | 2 +- packages/core/server/package.json | 26 ++-- packages/core/telemetry/package.json | 4 +- packages/core/test/package.json | 4 +- packages/core/utils/package.json | 2 +- .../plugins/@nocobase/plugin-acl/package.json | 2 +- .../plugin-action-bulk-edit/package.json | 2 +- .../plugin-action-bulk-update/package.json | 2 +- .../plugin-action-custom-request/package.json | 2 +- .../plugin-action-duplicate/package.json | 2 +- .../plugin-action-export/package.json | 2 +- .../plugin-action-import/package.json | 2 +- .../plugin-action-print/package.json | 2 +- .../@nocobase/plugin-api-doc/package.json | 2 +- .../@nocobase/plugin-api-keys/package.json | 2 +- .../@nocobase/plugin-audit-logs/package.json | 2 +- .../@nocobase/plugin-auth-sms/package.json | 2 +- .../@nocobase/plugin-auth/package.json | 2 +- .../plugin-backup-restore/package.json | 2 +- .../plugin-block-iframe/package.json | 2 +- .../plugin-block-workbench/package.json | 2 +- .../@nocobase/plugin-calendar/package.json | 2 +- .../@nocobase/plugin-charts/package.json | 2 +- .../@nocobase/plugin-client/package.json | 2 +- .../plugin-collection-sql/package.json | 2 +- .../plugin-collection-tree/package.json | 2 +- .../plugin-data-source-main/package.json | 2 +- .../plugin-data-source-manager/package.json | 2 +- .../plugin-data-visualization/package.json | 2 +- .../plugin-disable-pm-add/package.json | 2 +- .../plugin-error-handler/package.json | 2 +- .../plugin-field-china-region/package.json | 2 +- .../plugin-field-formula/package.json | 2 +- .../plugin-field-m2m-array/package.json | 2 +- .../plugin-field-markdown-vditor/package.json | 2 +- .../plugin-field-sequence/package.json | 2 +- .../plugin-file-manager/package.json | 2 +- .../@nocobase/plugin-gantt/package.json | 2 +- .../package.json | 2 +- .../@nocobase/plugin-kanban/package.json | 2 +- .../plugin-localization/package.json | 2 +- .../@nocobase/plugin-logger/package.json | 2 +- .../plugins/@nocobase/plugin-map/package.json | 2 +- .../plugin-mobile-client/package.json | 2 +- .../@nocobase/plugin-mobile/package.json | 2 +- .../plugin-mock-collections/package.json | 2 +- .../plugin-multi-app-manager/package.json | 2 +- .../package.json | 2 +- .../plugin-notification-email/package.json | 2 +- .../package.json | 2 +- .../plugin-notification-manager/package.json | 2 +- .../plugin-notifications/package.json | 2 +- .../plugin-public-forms/package.json | 2 +- .../plugin-sample-hello/package.json | 2 +- .../plugin-snapshot-field/package.json | 2 +- .../plugin-system-settings/package.json | 2 +- .../plugin-theme-editor/package.json | 2 +- .../plugin-ui-schema-storage/package.json | 2 +- .../plugin-user-data-sync/package.json | 2 +- .../@nocobase/plugin-users/package.json | 2 +- .../plugin-verification/package.json | 2 +- .../package.json | 2 +- .../plugin-workflow-aggregate/package.json | 2 +- .../plugin-workflow-delay/package.json | 2 +- .../package.json | 2 +- .../plugin-workflow-loop/package.json | 2 +- .../plugin-workflow-mailer/package.json | 2 +- .../plugin-workflow-manual/package.json | 2 +- .../plugin-workflow-notification/package.json | 2 +- .../plugin-workflow-parallel/package.json | 2 +- .../plugin-workflow-request/package.json | 2 +- .../plugin-workflow-sql/package.json | 2 +- .../plugin-workflow-test/package.json | 2 +- .../@nocobase/plugin-workflow/package.json | 4 +- packages/presets/nocobase/package.json | 134 +++++++++--------- 91 files changed, 203 insertions(+), 203 deletions(-) diff --git a/lerna.json b/lerna.json index 3ded965b68..cb8b4c9496 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.4.24", + "version": "1.4.25", "npmClient": "yarn", "useWorkspaces": true, "npmClientArgs": [ diff --git a/packages/core/acl/package.json b/packages/core/acl/package.json index 020bc65cf0..e622dc9983 100644 --- a/packages/core/acl/package.json +++ b/packages/core/acl/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/acl", - "version": "1.4.24", + "version": "1.4.25", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/resourcer": "1.4.24", - "@nocobase/utils": "1.4.24", + "@nocobase/resourcer": "1.4.25", + "@nocobase/utils": "1.4.25", "minimatch": "^5.1.1" }, "repository": { diff --git a/packages/core/actions/package.json b/packages/core/actions/package.json index c04aec302b..52f2789e04 100644 --- a/packages/core/actions/package.json +++ b/packages/core/actions/package.json @@ -1,14 +1,14 @@ { "name": "@nocobase/actions", - "version": "1.4.24", + "version": "1.4.25", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/cache": "1.4.24", - "@nocobase/database": "1.4.24", - "@nocobase/resourcer": "1.4.24" + "@nocobase/cache": "1.4.25", + "@nocobase/database": "1.4.25", + "@nocobase/resourcer": "1.4.25" }, "repository": { "type": "git", diff --git a/packages/core/app/package.json b/packages/core/app/package.json index 96d0cf4e5b..6bcd6f5cb3 100644 --- a/packages/core/app/package.json +++ b/packages/core/app/package.json @@ -1,17 +1,17 @@ { "name": "@nocobase/app", - "version": "1.4.24", + "version": "1.4.25", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/database": "1.4.24", - "@nocobase/preset-nocobase": "1.4.24", - "@nocobase/server": "1.4.24" + "@nocobase/database": "1.4.25", + "@nocobase/preset-nocobase": "1.4.25", + "@nocobase/server": "1.4.25" }, "devDependencies": { - "@nocobase/client": "1.4.24" + "@nocobase/client": "1.4.25" }, "repository": { "type": "git", diff --git a/packages/core/auth/package.json b/packages/core/auth/package.json index f512f0c60b..f08b0fb7bb 100644 --- a/packages/core/auth/package.json +++ b/packages/core/auth/package.json @@ -1,16 +1,16 @@ { "name": "@nocobase/auth", - "version": "1.4.24", + "version": "1.4.25", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/actions": "1.4.24", - "@nocobase/cache": "1.4.24", - "@nocobase/database": "1.4.24", - "@nocobase/resourcer": "1.4.24", - "@nocobase/utils": "1.4.24", + "@nocobase/actions": "1.4.25", + "@nocobase/cache": "1.4.25", + "@nocobase/database": "1.4.25", + "@nocobase/resourcer": "1.4.25", + "@nocobase/utils": "1.4.25", "@types/jsonwebtoken": "^8.5.8", "jsonwebtoken": "^8.5.1" }, diff --git a/packages/core/build/package.json b/packages/core/build/package.json index 68f431e873..e134352225 100644 --- a/packages/core/build/package.json +++ b/packages/core/build/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/build", - "version": "1.4.24", + "version": "1.4.25", "description": "Library build tool based on rollup.", "main": "lib/index.js", "types": "./lib/index.d.ts", diff --git a/packages/core/cache/package.json b/packages/core/cache/package.json index 2f2426933a..2ba7c62cc6 100644 --- a/packages/core/cache/package.json +++ b/packages/core/cache/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/cache", - "version": "1.4.24", + "version": "1.4.25", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", diff --git a/packages/core/cli/package.json b/packages/core/cli/package.json index 7515e6d2bd..abb31f791d 100644 --- a/packages/core/cli/package.json +++ b/packages/core/cli/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/cli", - "version": "1.4.24", + "version": "1.4.25", "description": "", "license": "AGPL-3.0", "main": "./src/index.js", @@ -8,7 +8,7 @@ "nocobase": "./bin/index.js" }, "dependencies": { - "@nocobase/app": "1.4.24", + "@nocobase/app": "1.4.25", "@types/fs-extra": "^11.0.1", "@umijs/utils": "3.5.20", "chalk": "^4.1.1", @@ -25,7 +25,7 @@ "tsx": "^4.19.0" }, "devDependencies": { - "@nocobase/devtools": "1.4.24" + "@nocobase/devtools": "1.4.25" }, "repository": { "type": "git", diff --git a/packages/core/client/package.json b/packages/core/client/package.json index 53d7fbfcd2..21bd25727c 100644 --- a/packages/core/client/package.json +++ b/packages/core/client/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/client", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "lib/index.js", "module": "es/index.mjs", @@ -27,9 +27,9 @@ "@formily/reactive-react": "^2.2.27", "@formily/shared": "^2.2.27", "@formily/validator": "^2.2.27", - "@nocobase/evaluators": "1.4.24", - "@nocobase/sdk": "1.4.24", - "@nocobase/utils": "1.4.24", + "@nocobase/evaluators": "1.4.25", + "@nocobase/sdk": "1.4.25", + "@nocobase/utils": "1.4.25", "ahooks": "^3.7.2", "antd": "5.12.8", "antd-style": "3.7.1", diff --git a/packages/core/create-nocobase-app/package.json b/packages/core/create-nocobase-app/package.json index ea0b029c76..85d55131f9 100755 --- a/packages/core/create-nocobase-app/package.json +++ b/packages/core/create-nocobase-app/package.json @@ -1,6 +1,6 @@ { "name": "create-nocobase-app", - "version": "1.4.24", + "version": "1.4.25", "main": "src/index.js", "license": "AGPL-3.0", "dependencies": { diff --git a/packages/core/data-source-manager/package.json b/packages/core/data-source-manager/package.json index a67d337e63..28fad8cdbd 100644 --- a/packages/core/data-source-manager/package.json +++ b/packages/core/data-source-manager/package.json @@ -1,16 +1,16 @@ { "name": "@nocobase/data-source-manager", - "version": "1.4.24", + "version": "1.4.25", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/actions": "1.4.24", - "@nocobase/cache": "1.4.24", - "@nocobase/database": "1.4.24", - "@nocobase/resourcer": "1.4.24", - "@nocobase/utils": "1.4.24", + "@nocobase/actions": "1.4.25", + "@nocobase/cache": "1.4.25", + "@nocobase/database": "1.4.25", + "@nocobase/resourcer": "1.4.25", + "@nocobase/utils": "1.4.25", "@types/jsonwebtoken": "^8.5.8", "jsonwebtoken": "^8.5.1" }, diff --git a/packages/core/database/package.json b/packages/core/database/package.json index 665c38a89c..fab7267269 100644 --- a/packages/core/database/package.json +++ b/packages/core/database/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/database", - "version": "1.4.24", + "version": "1.4.25", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", "dependencies": { - "@nocobase/logger": "1.4.24", - "@nocobase/utils": "1.4.24", + "@nocobase/logger": "1.4.25", + "@nocobase/utils": "1.4.25", "async-mutex": "^0.3.2", "chalk": "^4.1.1", "cron-parser": "4.4.0", diff --git a/packages/core/devtools/package.json b/packages/core/devtools/package.json index aaa09c2e95..9fa9d9e801 100644 --- a/packages/core/devtools/package.json +++ b/packages/core/devtools/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/devtools", - "version": "1.4.24", + "version": "1.4.25", "description": "", "license": "AGPL-3.0", "main": "./src/index.js", "dependencies": { - "@nocobase/build": "1.4.24", - "@nocobase/client": "1.4.24", - "@nocobase/test": "1.4.24", + "@nocobase/build": "1.4.25", + "@nocobase/client": "1.4.25", + "@nocobase/test": "1.4.25", "@types/koa": "^2.13.4", "@types/koa-bodyparser": "^4.3.4", "@types/lodash": "^4.14.177", diff --git a/packages/core/evaluators/package.json b/packages/core/evaluators/package.json index 51cb21d171..b0f931696e 100644 --- a/packages/core/evaluators/package.json +++ b/packages/core/evaluators/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/evaluators", - "version": "1.4.24", + "version": "1.4.25", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", "dependencies": { "@formulajs/formulajs": "4.4.9", - "@nocobase/utils": "1.4.24", + "@nocobase/utils": "1.4.25", "mathjs": "^10.6.0" }, "repository": { diff --git a/packages/core/logger/package.json b/packages/core/logger/package.json index 149098f1f9..d0fbbdb83f 100644 --- a/packages/core/logger/package.json +++ b/packages/core/logger/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/logger", - "version": "1.4.24", + "version": "1.4.25", "description": "nocobase logging library", "license": "AGPL-3.0", "main": "./lib/index.js", diff --git a/packages/core/resourcer/package.json b/packages/core/resourcer/package.json index 2bbf2f7a84..e12c58bcff 100644 --- a/packages/core/resourcer/package.json +++ b/packages/core/resourcer/package.json @@ -1,12 +1,12 @@ { "name": "@nocobase/resourcer", - "version": "1.4.24", + "version": "1.4.25", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", "dependencies": { - "@nocobase/utils": "1.4.24", + "@nocobase/utils": "1.4.25", "deepmerge": "^4.2.2", "koa-compose": "^4.1.0", "lodash": "^4.17.21", diff --git a/packages/core/sdk/package.json b/packages/core/sdk/package.json index 785ce17f4a..75ca1b4bd4 100644 --- a/packages/core/sdk/package.json +++ b/packages/core/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/sdk", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/packages/core/server/package.json b/packages/core/server/package.json index d3ab3a4e92..9766baa2c7 100644 --- a/packages/core/server/package.json +++ b/packages/core/server/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/server", - "version": "1.4.24", + "version": "1.4.25", "main": "lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", @@ -10,18 +10,18 @@ "@koa/cors": "^3.1.0", "@koa/multer": "^3.0.2", "@koa/router": "^9.4.0", - "@nocobase/acl": "1.4.24", - "@nocobase/actions": "1.4.24", - "@nocobase/auth": "1.4.24", - "@nocobase/cache": "1.4.24", - "@nocobase/data-source-manager": "1.4.24", - "@nocobase/database": "1.4.24", - "@nocobase/evaluators": "1.4.24", - "@nocobase/logger": "1.4.24", - "@nocobase/resourcer": "1.4.24", - "@nocobase/sdk": "1.4.24", - "@nocobase/telemetry": "1.4.24", - "@nocobase/utils": "1.4.24", + "@nocobase/acl": "1.4.25", + "@nocobase/actions": "1.4.25", + "@nocobase/auth": "1.4.25", + "@nocobase/cache": "1.4.25", + "@nocobase/data-source-manager": "1.4.25", + "@nocobase/database": "1.4.25", + "@nocobase/evaluators": "1.4.25", + "@nocobase/logger": "1.4.25", + "@nocobase/resourcer": "1.4.25", + "@nocobase/sdk": "1.4.25", + "@nocobase/telemetry": "1.4.25", + "@nocobase/utils": "1.4.25", "@types/decompress": "4.2.7", "@types/ini": "^1.3.31", "@types/koa-send": "^4.1.3", diff --git a/packages/core/telemetry/package.json b/packages/core/telemetry/package.json index f0ecb018c4..5b3dae8bd0 100644 --- a/packages/core/telemetry/package.json +++ b/packages/core/telemetry/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/telemetry", - "version": "1.4.24", + "version": "1.4.25", "description": "nocobase telemetry library", "license": "AGPL-3.0", "main": "./lib/index.js", @@ -11,7 +11,7 @@ "directory": "packages/telemetry" }, "dependencies": { - "@nocobase/utils": "1.4.24", + "@nocobase/utils": "1.4.25", "@opentelemetry/api": "^1.7.0", "@opentelemetry/instrumentation": "^0.46.0", "@opentelemetry/resources": "^1.19.0", diff --git a/packages/core/test/package.json b/packages/core/test/package.json index 4dac191a5b..d4960e4dea 100644 --- a/packages/core/test/package.json +++ b/packages/core/test/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/test", - "version": "1.4.24", + "version": "1.4.25", "main": "lib/index.js", "module": "./src/index.ts", "types": "./lib/index.d.ts", @@ -51,7 +51,7 @@ }, "dependencies": { "@faker-js/faker": "8.1.0", - "@nocobase/server": "1.4.24", + "@nocobase/server": "1.4.25", "@playwright/test": "^1.45.3", "@testing-library/jest-dom": "^6.4.2", "@testing-library/react": "^14.0.0", diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index 9f60cce15e..5581d66e6b 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/utils", - "version": "1.4.24", + "version": "1.4.25", "main": "lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", diff --git a/packages/plugins/@nocobase/plugin-acl/package.json b/packages/plugins/@nocobase/plugin-acl/package.json index fc7c50a8b0..f2320836a6 100644 --- a/packages/plugins/@nocobase/plugin-acl/package.json +++ b/packages/plugins/@nocobase/plugin-acl/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "权限控制", "description": "Based on roles, resources, and actions, access control can precisely manage interface configuration permissions, data operation permissions, menu access permissions, and plugin permissions.", "description.zh-CN": "基于角色、资源和操作的权限控制,可以精确控制界面配置权限、数据操作权限、菜单访问权限、插件权限。", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/acl", diff --git a/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json b/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json index ad892ea104..91fa545f3f 100644 --- a/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json +++ b/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-bulk-edit", - "version": "1.4.24", + "version": "1.4.25", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-bulk-edit", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-bulk-edit", diff --git a/packages/plugins/@nocobase/plugin-action-bulk-update/package.json b/packages/plugins/@nocobase/plugin-action-bulk-update/package.json index e2b1dd9055..1bcd89009d 100644 --- a/packages/plugins/@nocobase/plugin-action-bulk-update/package.json +++ b/packages/plugins/@nocobase/plugin-action-bulk-update/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-bulk-update", - "version": "1.4.24", + "version": "1.4.25", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-bulk-update", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-bulk-update", diff --git a/packages/plugins/@nocobase/plugin-action-custom-request/package.json b/packages/plugins/@nocobase/plugin-action-custom-request/package.json index 02e30a0047..542e4bc349 100644 --- a/packages/plugins/@nocobase/plugin-action-custom-request/package.json +++ b/packages/plugins/@nocobase/plugin-action-custom-request/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-custom-request", - "version": "1.4.24", + "version": "1.4.25", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-custom-request", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-custom-request", diff --git a/packages/plugins/@nocobase/plugin-action-duplicate/package.json b/packages/plugins/@nocobase/plugin-action-duplicate/package.json index 65ab3d7af3..6766aa0b51 100644 --- a/packages/plugins/@nocobase/plugin-action-duplicate/package.json +++ b/packages/plugins/@nocobase/plugin-action-duplicate/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-duplicate", - "version": "1.4.24", + "version": "1.4.25", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-duplicate", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-duplicate", diff --git a/packages/plugins/@nocobase/plugin-action-export/package.json b/packages/plugins/@nocobase/plugin-action-export/package.json index 0846b0fa17..b2edbca30b 100644 --- a/packages/plugins/@nocobase/plugin-action-export/package.json +++ b/packages/plugins/@nocobase/plugin-action-export/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "操作:导出记录", "description": "Export filtered records to excel, you can configure which fields to export.", "description.zh-CN": "导出筛选后的记录到 Excel 中,可以配置导出哪些字段。", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-export", diff --git a/packages/plugins/@nocobase/plugin-action-import/package.json b/packages/plugins/@nocobase/plugin-action-import/package.json index b01d8c69aa..e17bf17945 100644 --- a/packages/plugins/@nocobase/plugin-action-import/package.json +++ b/packages/plugins/@nocobase/plugin-action-import/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "操作:导入记录", "description": "Import records using excel templates. You can configure which fields to import and templates will be generated automatically.", "description.zh-CN": "使用 Excel 模板导入数据,可以配置导入哪些字段,自动生成模板。", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-import", diff --git a/packages/plugins/@nocobase/plugin-action-print/package.json b/packages/plugins/@nocobase/plugin-action-print/package.json index 8aab7a4a68..00668ca708 100644 --- a/packages/plugins/@nocobase/plugin-action-print/package.json +++ b/packages/plugins/@nocobase/plugin-action-print/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-print", - "version": "1.4.24", + "version": "1.4.25", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-print", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-print", diff --git a/packages/plugins/@nocobase/plugin-api-doc/package.json b/packages/plugins/@nocobase/plugin-api-doc/package.json index f69e7a882b..7e0c15a681 100644 --- a/packages/plugins/@nocobase/plugin-api-doc/package.json +++ b/packages/plugins/@nocobase/plugin-api-doc/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-api-doc", - "version": "1.4.24", + "version": "1.4.25", "displayName": "API documentation", "displayName.zh-CN": "API 文档", "description": "An OpenAPI documentation generator for NocoBase HTTP API.", diff --git a/packages/plugins/@nocobase/plugin-api-keys/package.json b/packages/plugins/@nocobase/plugin-api-keys/package.json index b81350dced..d73fb19431 100644 --- a/packages/plugins/@nocobase/plugin-api-keys/package.json +++ b/packages/plugins/@nocobase/plugin-api-keys/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "认证:API 密钥", "description": "Allows users to use API key to access application's HTTP API", "description.zh-CN": "允许用户使用 API 密钥访问应用的 HTTP API", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/api-keys", diff --git a/packages/plugins/@nocobase/plugin-audit-logs/package.json b/packages/plugins/@nocobase/plugin-audit-logs/package.json index 3bce012a97..eafd193e00 100644 --- a/packages/plugins/@nocobase/plugin-audit-logs/package.json +++ b/packages/plugins/@nocobase/plugin-audit-logs/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-audit-logs", - "version": "1.4.24", + "version": "1.4.25", "displayName": "Audit logs (deprecated)", "displayName.zh-CN": "审计日志(废弃)", "description": "This plugin is deprecated. There will be a new audit log plugin in the future.", diff --git a/packages/plugins/@nocobase/plugin-auth-sms/package.json b/packages/plugins/@nocobase/plugin-auth-sms/package.json index 46c8bf4a79..2efde940f7 100644 --- a/packages/plugins/@nocobase/plugin-auth-sms/package.json +++ b/packages/plugins/@nocobase/plugin-auth-sms/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "认证:短信", "description": "SMS authentication.", "description.zh-CN": "通过短信验证码认证身份。", - "version": "1.4.24", + "version": "1.4.25", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/auth-sms", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/auth-sms", diff --git a/packages/plugins/@nocobase/plugin-auth/package.json b/packages/plugins/@nocobase/plugin-auth/package.json index fc23027437..97ac01066d 100644 --- a/packages/plugins/@nocobase/plugin-auth/package.json +++ b/packages/plugins/@nocobase/plugin-auth/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-auth", - "version": "1.4.24", + "version": "1.4.25", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/auth", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/auth", diff --git a/packages/plugins/@nocobase/plugin-backup-restore/package.json b/packages/plugins/@nocobase/plugin-backup-restore/package.json index daffcae6b7..431af08c7f 100644 --- a/packages/plugins/@nocobase/plugin-backup-restore/package.json +++ b/packages/plugins/@nocobase/plugin-backup-restore/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "应用的备份与还原(废弃)", "description": "Backup and restore applications for scenarios such as application replication, migration, and upgrades.", "description.zh-CN": "备份和还原应用,可用于应用的复制、迁移、升级等场景。", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/backup-restore", diff --git a/packages/plugins/@nocobase/plugin-block-iframe/package.json b/packages/plugins/@nocobase/plugin-block-iframe/package.json index 9d94aff07e..ae1962004e 100644 --- a/packages/plugins/@nocobase/plugin-block-iframe/package.json +++ b/packages/plugins/@nocobase/plugin-block-iframe/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "区块:iframe", "description": "Create an iframe block on the page to embed and display external web pages or content.", "description.zh-CN": "在页面上创建和管理iframe,用于嵌入和展示外部网页或内容。", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/block-iframe", diff --git a/packages/plugins/@nocobase/plugin-block-workbench/package.json b/packages/plugins/@nocobase/plugin-block-workbench/package.json index c876a1e808..39d0fe3f68 100644 --- a/packages/plugins/@nocobase/plugin-block-workbench/package.json +++ b/packages/plugins/@nocobase/plugin-block-workbench/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-block-workbench", - "version": "1.4.24", + "version": "1.4.25", "displayName": "Block: Action panel", "displayName.zh-CN": "区块:操作面板", "description": "Centrally manages and displays various actions, allowing users to efficiently perform tasks. It supports extensibility, with current action types including pop-ups, links, scanning, and custom requests.", diff --git a/packages/plugins/@nocobase/plugin-calendar/package.json b/packages/plugins/@nocobase/plugin-calendar/package.json index 151ee1e32f..904e93aa89 100644 --- a/packages/plugins/@nocobase/plugin-calendar/package.json +++ b/packages/plugins/@nocobase/plugin-calendar/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-calendar", - "version": "1.4.24", + "version": "1.4.25", "displayName": "Calendar", "displayName.zh-CN": "日历", "description": "Provides callendar collection template and block for managing date data, typically for date/time related information such as events, appointments, tasks, and so on.", diff --git a/packages/plugins/@nocobase/plugin-charts/package.json b/packages/plugins/@nocobase/plugin-charts/package.json index 42b90e18f1..162f63027b 100644 --- a/packages/plugins/@nocobase/plugin-charts/package.json +++ b/packages/plugins/@nocobase/plugin-charts/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "图表(废弃)", "description": "The plugin has been deprecated, please use the data visualization plugin instead.", "description.zh-CN": "已废弃插件,请使用数据可视化插件代替。", - "version": "1.4.24", + "version": "1.4.25", "main": "./dist/server/index.js", "license": "AGPL-3.0", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-client/package.json b/packages/plugins/@nocobase/plugin-client/package.json index 82f77881f4..3b6dd1d72e 100644 --- a/packages/plugins/@nocobase/plugin-client/package.json +++ b/packages/plugins/@nocobase/plugin-client/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "WEB 客户端", "description": "Provides a client interface for the NocoBase server", "description.zh-CN": "为 NocoBase 服务端提供客户端界面", - "version": "1.4.24", + "version": "1.4.25", "main": "./dist/server/index.js", "license": "AGPL-3.0", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-collection-sql/package.json b/packages/plugins/@nocobase/plugin-collection-sql/package.json index 041e27f0b8..1884757fa7 100644 --- a/packages/plugins/@nocobase/plugin-collection-sql/package.json +++ b/packages/plugins/@nocobase/plugin-collection-sql/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表: SQL", "description": "Provides SQL collection template", "description.zh-CN": "提供 SQL 数据表模板", - "version": "1.4.24", + "version": "1.4.25", "homepage": "https://docs-cn.nocobase.com/handbook/collection-sql", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/collection-sql", "main": "dist/server/index.js", diff --git a/packages/plugins/@nocobase/plugin-collection-tree/package.json b/packages/plugins/@nocobase/plugin-collection-tree/package.json index d32b69e5ae..b446a7473c 100644 --- a/packages/plugins/@nocobase/plugin-collection-tree/package.json +++ b/packages/plugins/@nocobase/plugin-collection-tree/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-collection-tree", - "version": "1.4.24", + "version": "1.4.25", "displayName": "Collection: Tree", "displayName.zh-CN": "数据表:树", "description": "Provides tree collection template", diff --git a/packages/plugins/@nocobase/plugin-data-source-main/package.json b/packages/plugins/@nocobase/plugin-data-source-main/package.json index 9912aff677..6bd4bd67a3 100644 --- a/packages/plugins/@nocobase/plugin-data-source-main/package.json +++ b/packages/plugins/@nocobase/plugin-data-source-main/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据源:主数据库", "description": "NocoBase main database, supports relational databases such as PostgreSQL, MySQL, MariaDB and so on.", "description.zh-CN": "NocoBase 主数据库,支持 PostgreSQL、MySQL、MariaDB 等关系型数据库。", - "version": "1.4.24", + "version": "1.4.25", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/data-source-main", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/data-source-main", diff --git a/packages/plugins/@nocobase/plugin-data-source-manager/package.json b/packages/plugins/@nocobase/plugin-data-source-manager/package.json index 1af974a460..198d2a9b5e 100644 --- a/packages/plugins/@nocobase/plugin-data-source-manager/package.json +++ b/packages/plugins/@nocobase/plugin-data-source-manager/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-data-source-manager", - "version": "1.4.24", + "version": "1.4.25", "main": "dist/server/index.js", "displayName": "Data source manager", "displayName.zh-CN": "数据源管理", diff --git a/packages/plugins/@nocobase/plugin-data-visualization/package.json b/packages/plugins/@nocobase/plugin-data-visualization/package.json index cfbbf593f6..5d27479d6e 100644 --- a/packages/plugins/@nocobase/plugin-data-visualization/package.json +++ b/packages/plugins/@nocobase/plugin-data-visualization/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-data-visualization", - "version": "1.4.24", + "version": "1.4.25", "displayName": "Data visualization", "displayName.zh-CN": "数据可视化", "description": "Provides data visualization feature, including chart block and chart filter block, support line charts, area charts, bar charts and more than a dozen kinds of charts, you can also extend more chart types.", diff --git a/packages/plugins/@nocobase/plugin-disable-pm-add/package.json b/packages/plugins/@nocobase/plugin-disable-pm-add/package.json index b9faf99204..381353aadc 100644 --- a/packages/plugins/@nocobase/plugin-disable-pm-add/package.json +++ b/packages/plugins/@nocobase/plugin-disable-pm-add/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-disable-pm-add", - "version": "1.4.24", + "version": "1.4.25", "main": "./dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-error-handler/package.json b/packages/plugins/@nocobase/plugin-error-handler/package.json index d4343852a0..35e1c38049 100644 --- a/packages/plugins/@nocobase/plugin-error-handler/package.json +++ b/packages/plugins/@nocobase/plugin-error-handler/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "错误处理器", "description": "Handling application errors and exceptions.", "description.zh-CN": "处理应用程序中的错误和异常。", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "./dist/server/index.js", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-field-china-region/package.json b/packages/plugins/@nocobase/plugin-field-china-region/package.json index cd1b79bdb8..b70160fb41 100644 --- a/packages/plugins/@nocobase/plugin-field-china-region/package.json +++ b/packages/plugins/@nocobase/plugin-field-china-region/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-field-china-region", - "version": "1.4.24", + "version": "1.4.25", "displayName": "Collection field: administrative divisions of China", "displayName.zh-CN": "数据表字段:中国行政区划", "description": "Provides data and field type for administrative divisions of China.", diff --git a/packages/plugins/@nocobase/plugin-field-formula/package.json b/packages/plugins/@nocobase/plugin-field-formula/package.json index ccc30e3c98..d84c41030c 100644 --- a/packages/plugins/@nocobase/plugin-field-formula/package.json +++ b/packages/plugins/@nocobase/plugin-field-formula/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:公式", "description": "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.", "description.zh-CN": "可以配置并存储同一条记录的多字段值之间的计算结果,支持 Math.js 和 Excel formula functions 两种引擎", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-formula", diff --git a/packages/plugins/@nocobase/plugin-field-m2m-array/package.json b/packages/plugins/@nocobase/plugin-field-m2m-array/package.json index ceea7faa7e..c9fddbf9ac 100644 --- a/packages/plugins/@nocobase/plugin-field-m2m-array/package.json +++ b/packages/plugins/@nocobase/plugin-field-m2m-array/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:多对多 (数组)", "description": "Allows to create many to many relationships between two models by storing an array of unique keys of the target model.", "description.zh-CN": "支持通过在数组中存储目标表唯一键的方式建立多对多关系。", - "version": "1.4.24", + "version": "1.4.25", "main": "dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json b/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json index e55d02f665..1c8d73707d 100644 --- a/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json +++ b/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:Markdown(Vditor)", "description": "Used to store Markdown and render it using Vditor editor, supports common Markdown syntax such as list, code, quote, etc., and supports uploading images, recordings, etc.It also allows for instant rendering, where what you see is what you get.", "description.zh-CN": "用于存储 Markdown,并使用 Vditor 编辑器渲染,支持常见 Markdown 语法,如列表,代码,引用等,并支持上传图片,录音等。同时可以做到即时渲染,所见即所得。", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-markdown-vditor", diff --git a/packages/plugins/@nocobase/plugin-field-sequence/package.json b/packages/plugins/@nocobase/plugin-field-sequence/package.json index 2f3ae95da0..bc3b89c7f9 100644 --- a/packages/plugins/@nocobase/plugin-field-sequence/package.json +++ b/packages/plugins/@nocobase/plugin-field-sequence/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:自动编码", "description": "Automatically generate codes based on configured rules, supporting combinations of dates, numbers, and text.", "description.zh-CN": "根据配置的规则自动生成编码,支持日期、数字、文本的组合。", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-sequence", diff --git a/packages/plugins/@nocobase/plugin-file-manager/package.json b/packages/plugins/@nocobase/plugin-file-manager/package.json index 6662ca0f12..4f94458cdf 100644 --- a/packages/plugins/@nocobase/plugin-file-manager/package.json +++ b/packages/plugins/@nocobase/plugin-file-manager/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-file-manager", - "version": "1.4.24", + "version": "1.4.25", "displayName": "File manager", "displayName.zh-CN": "文件管理器", "description": "Provides files storage services with files collection template and attachment field.", diff --git a/packages/plugins/@nocobase/plugin-gantt/package.json b/packages/plugins/@nocobase/plugin-gantt/package.json index 4c02303a13..f134a7ffe5 100644 --- a/packages/plugins/@nocobase/plugin-gantt/package.json +++ b/packages/plugins/@nocobase/plugin-gantt/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-gantt", - "version": "1.4.24", + "version": "1.4.25", "displayName": "Block: Gantt", "displayName.zh-CN": "区块:甘特图", "description": "Provides Gantt block.", diff --git a/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json b/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json index 3644ef0815..7838436c63 100644 --- a/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json +++ b/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "可视化数据表管理", "description": "An ER diagram-like tool. Currently only the Master database is supported.", "description.zh-CN": "类似 ER 图的工具,目前只支持主数据库。", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/graph-collection-manager", diff --git a/packages/plugins/@nocobase/plugin-kanban/package.json b/packages/plugins/@nocobase/plugin-kanban/package.json index 55ddc76d69..e5b6c56275 100644 --- a/packages/plugins/@nocobase/plugin-kanban/package.json +++ b/packages/plugins/@nocobase/plugin-kanban/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-kanban", - "version": "1.4.24", + "version": "1.4.25", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/block-kanban", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/block-kanban", diff --git a/packages/plugins/@nocobase/plugin-localization/package.json b/packages/plugins/@nocobase/plugin-localization/package.json index 69472695c7..5f6e9db7db 100644 --- a/packages/plugins/@nocobase/plugin-localization/package.json +++ b/packages/plugins/@nocobase/plugin-localization/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-localization", - "version": "1.4.24", + "version": "1.4.25", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/localization-management", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/localization-management", diff --git a/packages/plugins/@nocobase/plugin-logger/package.json b/packages/plugins/@nocobase/plugin-logger/package.json index c7762757dc..6610285162 100644 --- a/packages/plugins/@nocobase/plugin-logger/package.json +++ b/packages/plugins/@nocobase/plugin-logger/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "日志", "description": "Server-side logs, mainly including API request logs and system runtime logs, and allows to package and download log files.", "description.zh-CN": "服务端日志,主要包括接口请求日志和系统运行日志,并支持打包和下载日志文件。", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/logger", diff --git a/packages/plugins/@nocobase/plugin-map/package.json b/packages/plugins/@nocobase/plugin-map/package.json index 570208b1cc..70c360cfc3 100644 --- a/packages/plugins/@nocobase/plugin-map/package.json +++ b/packages/plugins/@nocobase/plugin-map/package.json @@ -2,7 +2,7 @@ "name": "@nocobase/plugin-map", "displayName": "Block: Map", "displayName.zh-CN": "区块:地图", - "version": "1.4.24", + "version": "1.4.25", "description": "Map block, support Gaode map and Google map, you can also extend more map types.", "description.zh-CN": "地图区块,支持高德地图和 Google 地图,你也可以扩展更多地图类型。", "license": "AGPL-3.0", diff --git a/packages/plugins/@nocobase/plugin-mobile-client/package.json b/packages/plugins/@nocobase/plugin-mobile-client/package.json index d3872fc817..ee614a6829 100644 --- a/packages/plugins/@nocobase/plugin-mobile-client/package.json +++ b/packages/plugins/@nocobase/plugin-mobile-client/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-mobile-client", - "version": "1.4.24", + "version": "1.4.25", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/mobile-client", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/mobile-client", diff --git a/packages/plugins/@nocobase/plugin-mobile/package.json b/packages/plugins/@nocobase/plugin-mobile/package.json index 3357df10de..d402cd681c 100644 --- a/packages/plugins/@nocobase/plugin-mobile/package.json +++ b/packages/plugins/@nocobase/plugin-mobile/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-mobile", - "version": "1.4.24", + "version": "1.4.25", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/mobile", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/mobile", diff --git a/packages/plugins/@nocobase/plugin-mock-collections/package.json b/packages/plugins/@nocobase/plugin-mock-collections/package.json index 1e0ecd2b1f..3419868d8d 100644 --- a/packages/plugins/@nocobase/plugin-mock-collections/package.json +++ b/packages/plugins/@nocobase/plugin-mock-collections/package.json @@ -2,7 +2,7 @@ "name": "@nocobase/plugin-mock-collections", "displayName": "mock-collections", "description": "mock-collections", - "version": "1.4.24", + "version": "1.4.25", "main": "./dist/server/index.js", "license": "AGPL-3.0", "peerDependencies": { diff --git a/packages/plugins/@nocobase/plugin-multi-app-manager/package.json b/packages/plugins/@nocobase/plugin-multi-app-manager/package.json index 64a4dc4af4..4cedcf8e16 100644 --- a/packages/plugins/@nocobase/plugin-multi-app-manager/package.json +++ b/packages/plugins/@nocobase/plugin-multi-app-manager/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "多应用管理器", "description": "Dynamically create multiple apps without separate deployments.", "description.zh-CN": "无需单独部署即可动态创建多个应用。", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/multi-app-manager", diff --git a/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json b/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json index 5163ee8b4b..69aac41232 100644 --- a/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json +++ b/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "多应用数据表共享", "description": "", "description.zh-CN": "", - "version": "1.4.24", + "version": "1.4.25", "main": "./dist/server/index.js", "devDependencies": { "@formily/react": "2.x", diff --git a/packages/plugins/@nocobase/plugin-notification-email/package.json b/packages/plugins/@nocobase/plugin-notification-email/package.json index 08b1edbaae..458e998ecd 100644 --- a/packages/plugins/@nocobase/plugin-notification-email/package.json +++ b/packages/plugins/@nocobase/plugin-notification-email/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-notification-email", - "version": "1.4.24", + "version": "1.4.25", "displayName": "Notification: Email", "displayName.zh-CN": "通知:电子邮件", "description": "Used for sending email notifications with built-in SMTP transport.", diff --git a/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json b/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json index 3688f419a4..8dbeab8134 100644 --- a/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json +++ b/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-notification-in-app-message", - "version": "1.4.24", + "version": "1.4.25", "displayName": "Notification: In-app message", "displayName.zh-CN": "通知:站内信", "description": "It supports users in receiving real-time message notifications within the NocoBase application.", diff --git a/packages/plugins/@nocobase/plugin-notification-manager/package.json b/packages/plugins/@nocobase/plugin-notification-manager/package.json index 1ca2f30b52..4060ce2201 100644 --- a/packages/plugins/@nocobase/plugin-notification-manager/package.json +++ b/packages/plugins/@nocobase/plugin-notification-manager/package.json @@ -4,7 +4,7 @@ "description": "Provides a unified management service that includes channel configuration, logging, and other features, supporting the configuration of various notification channels, including in-app message and email.", "displayName.zh-CN": "通知管理", "description.zh-CN": "提供统一的管理服务,涵盖渠道配置、日志记录等功能,支持多种通知渠道的配置,包括站内信和电子邮件等。", - "version": "1.4.24", + "version": "1.4.25", "main": "dist/server/index.js", "devDependencies": { "@ant-design/icons": "5.x", diff --git a/packages/plugins/@nocobase/plugin-notifications/package.json b/packages/plugins/@nocobase/plugin-notifications/package.json index 6927b02501..77ad8babad 100644 --- a/packages/plugins/@nocobase/plugin-notifications/package.json +++ b/packages/plugins/@nocobase/plugin-notifications/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-notifications", - "version": "1.4.24", + "version": "1.4.25", "description": "", "license": "AGPL-3.0", "main": "./dist/server/index.js", diff --git a/packages/plugins/@nocobase/plugin-public-forms/package.json b/packages/plugins/@nocobase/plugin-public-forms/package.json index b0eec6746a..26d4198f91 100644 --- a/packages/plugins/@nocobase/plugin-public-forms/package.json +++ b/packages/plugins/@nocobase/plugin-public-forms/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-public-forms", - "version": "1.4.24", + "version": "1.4.25", "main": "dist/server/index.js", "displayName": "Public forms", "displayName.zh-CN": "公开表单", diff --git a/packages/plugins/@nocobase/plugin-sample-hello/package.json b/packages/plugins/@nocobase/plugin-sample-hello/package.json index 96fd3bcb13..9d0130c12a 100644 --- a/packages/plugins/@nocobase/plugin-sample-hello/package.json +++ b/packages/plugins/@nocobase/plugin-sample-hello/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-sample-hello", - "version": "1.4.24", + "version": "1.4.25", "main": "./dist/server/index.js", "displayName": "Hello", "displayName.zh-CN": "Hello", diff --git a/packages/plugins/@nocobase/plugin-snapshot-field/package.json b/packages/plugins/@nocobase/plugin-snapshot-field/package.json index a015f5411c..3ce4a298d0 100644 --- a/packages/plugins/@nocobase/plugin-snapshot-field/package.json +++ b/packages/plugins/@nocobase/plugin-snapshot-field/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:关系快照", "description": "When adding a new record, create a snapshot for its relational record and save in the new record. The snapshot will not be updated when the relational record is updated.", "description.zh-CN": "在添加数据时,为它的关系数据创建快照,并保存在当前的数据中。关系数据更新时,快照不会更新。", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-snapshot", diff --git a/packages/plugins/@nocobase/plugin-system-settings/package.json b/packages/plugins/@nocobase/plugin-system-settings/package.json index a10bc1a971..0d5ef1aac5 100644 --- a/packages/plugins/@nocobase/plugin-system-settings/package.json +++ b/packages/plugins/@nocobase/plugin-system-settings/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "系统设置", "description": "Used to adjust the system title, logo, language, etc.", "description.zh-CN": "用于调整系统的标题、LOGO、语言等。", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/system-settings", diff --git a/packages/plugins/@nocobase/plugin-theme-editor/package.json b/packages/plugins/@nocobase/plugin-theme-editor/package.json index fff9de7050..09f76de381 100644 --- a/packages/plugins/@nocobase/plugin-theme-editor/package.json +++ b/packages/plugins/@nocobase/plugin-theme-editor/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-theme-editor", - "version": "1.4.24", + "version": "1.4.25", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/theme-editor", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/theme-editor", diff --git a/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json b/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json index 35f16ab8a1..e3eaec36fd 100644 --- a/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json +++ b/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "UI schema 存储服务", "description": "Provides centralized UI schema storage service.", "description.zh-CN": "提供中心化的 UI schema 存储服务。", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/ui-schema-storage", diff --git a/packages/plugins/@nocobase/plugin-user-data-sync/package.json b/packages/plugins/@nocobase/plugin-user-data-sync/package.json index 9eb35076bd..bf5e2b525c 100644 --- a/packages/plugins/@nocobase/plugin-user-data-sync/package.json +++ b/packages/plugins/@nocobase/plugin-user-data-sync/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "用户数据同步", "description": "Reigster and manage extensible user data synchronization sources, with HTTP API provided by default. Support for synchronizing data to resources such as users and departments.", "description.zh-CN": "注册和管理可扩展的用户数据同步来源,默认提供 HTTP API。支持向用户和部门等资源同步数据。", - "version": "1.4.24", + "version": "1.4.25", "main": "dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-users/package.json b/packages/plugins/@nocobase/plugin-users/package.json index 2463cf18c1..d6e62cf254 100644 --- a/packages/plugins/@nocobase/plugin-users/package.json +++ b/packages/plugins/@nocobase/plugin-users/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "用户", "description": "Provides basic user model, as well as created by and updated by fields.", "description.zh-CN": "提供了基础的用户模型,以及创建人和最后更新人字段。", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/users", diff --git a/packages/plugins/@nocobase/plugin-verification/package.json b/packages/plugins/@nocobase/plugin-verification/package.json index d9f4e30741..d34e21da39 100644 --- a/packages/plugins/@nocobase/plugin-verification/package.json +++ b/packages/plugins/@nocobase/plugin-verification/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "验证码", "description": "verification setting.", "description.zh-CN": "验证码配置。", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/verification", diff --git a/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json b/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json index dd07858368..4fe70e7049 100644 --- a/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:操作后事件", "description": "Triggered after the completion of a request initiated through an action button or API, such as after adding, updating, deleting data, or \"submit to workflow\". Suitable for data processing, sending notifications, etc., after actions are completed.", "description.zh-CN": "通过操作按钮或 API 发起请求并在执行完成后触发,比如新增、更新、删除数据或者“提交至工作流”之后。适用于在操作完成后进行数据处理、发送通知等。", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/plugins/workflow-action-trigger", diff --git a/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json b/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json index f64734ba94..89ba9e9bd2 100644 --- a/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:聚合查询节点", "description": "Used to aggregate data against the database in workflow, such as: statistics, sum, average, etc.", "description.zh-CN": "可用于在工作流中对数据库进行聚合查询,如:统计数量、求和、平均值等。", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-aggregate", diff --git a/packages/plugins/@nocobase/plugin-workflow-delay/package.json b/packages/plugins/@nocobase/plugin-workflow-delay/package.json index b540ef6d42..5f7a6bfeee 100644 --- a/packages/plugins/@nocobase/plugin-workflow-delay/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-delay/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:延时节点", "description": "Could be used in workflow parallel branch for waiting other branches.", "description.zh-CN": "可用于工作流并行分支中等待其他分支执行完成。", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-delay", diff --git a/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json b/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json index 2c58ba51ed..0277d18300 100644 --- a/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:动态表达式计算节点", "description": "Useful plugin for doing dynamic calculation based on expression collection records in workflow.", "description.zh-CN": "用于在工作流中进行基于数据行的动态表达式计算。", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-dynamic-calculation", diff --git a/packages/plugins/@nocobase/plugin-workflow-loop/package.json b/packages/plugins/@nocobase/plugin-workflow-loop/package.json index 3a5e74a377..9b6d68d3b4 100644 --- a/packages/plugins/@nocobase/plugin-workflow-loop/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-loop/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:循环节点", "description": "Used to repeat the sub-process processing of each value in an array, and can also be used for fixed times of sub-process processing.", "description.zh-CN": "用于对一个数组中的每个值进行重复的子流程处理,也可用于固定次数的重复子流程处理。", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-loop", diff --git a/packages/plugins/@nocobase/plugin-workflow-mailer/package.json b/packages/plugins/@nocobase/plugin-workflow-mailer/package.json index 7b0f51d4e0..fd983b4c50 100644 --- a/packages/plugins/@nocobase/plugin-workflow-mailer/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-mailer/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:邮件发送节点", "description": "Send email in workflow.", "description.zh-CN": "可用于在工作流中发送电子邮件。", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-smtp-mailer", diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/package.json b/packages/plugins/@nocobase/plugin-workflow-manual/package.json index ce1f1f55da..d2f1cdc723 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-manual/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:人工处理节点", "description": "Could be used for workflows which some of decisions are made by users.", "description.zh-CN": "用于人工控制部分决策的流程。", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-manual", diff --git a/packages/plugins/@nocobase/plugin-workflow-notification/package.json b/packages/plugins/@nocobase/plugin-workflow-notification/package.json index e9ae0cdb2c..1f90b51c63 100644 --- a/packages/plugins/@nocobase/plugin-workflow-notification/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-notification/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:通知节点", "description": "Send notification in workflow.", "description.zh-CN": "可用于在工作流中发送各类通知。", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-smtp-mailer", diff --git a/packages/plugins/@nocobase/plugin-workflow-parallel/package.json b/packages/plugins/@nocobase/plugin-workflow-parallel/package.json index e79e4f868e..6408a80cbd 100644 --- a/packages/plugins/@nocobase/plugin-workflow-parallel/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-parallel/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:并行分支节点", "description": "Could be used for parallel execution of branch processes in the workflow.", "description.zh-CN": "用于在工作流中需要并行执行的分支流程。", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-parallel", diff --git a/packages/plugins/@nocobase/plugin-workflow-request/package.json b/packages/plugins/@nocobase/plugin-workflow-request/package.json index e24471cd2f..46610020a8 100644 --- a/packages/plugins/@nocobase/plugin-workflow-request/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-request/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:HTTP 请求节点", "description": "Send HTTP requests to any HTTP service for data interaction in workflow.", "description.zh-CN": "可用于在工作流中向任意 HTTP 服务发送请求,进行数据交互。", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-request", diff --git a/packages/plugins/@nocobase/plugin-workflow-sql/package.json b/packages/plugins/@nocobase/plugin-workflow-sql/package.json index a769da998b..b04257c54e 100644 --- a/packages/plugins/@nocobase/plugin-workflow-sql/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-sql/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:SQL 节点", "description": "Execute SQL statements in workflow.", "description.zh-CN": "可用于在工作流中对数据库执行任意 SQL 语句。", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-sql", diff --git a/packages/plugins/@nocobase/plugin-workflow-test/package.json b/packages/plugins/@nocobase/plugin-workflow-test/package.json index ed64778bc3..5cf5b4397c 100644 --- a/packages/plugins/@nocobase/plugin-workflow-test/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-test/package.json @@ -2,7 +2,7 @@ "name": "@nocobase/plugin-workflow-test", "displayName": "Workflow: test kit", "displayName.zh-CN": "工作流:测试工具包", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "dist/server/index.js", "types": "./dist/server/index.d.ts", diff --git a/packages/plugins/@nocobase/plugin-workflow/package.json b/packages/plugins/@nocobase/plugin-workflow/package.json index b03abc7d18..1babbb9236 100644 --- a/packages/plugins/@nocobase/plugin-workflow/package.json +++ b/packages/plugins/@nocobase/plugin-workflow/package.json @@ -4,13 +4,13 @@ "displayName.zh-CN": "工作流", "description": "A powerful BPM tool that provides foundational support for business automation, with the capability to extend unlimited triggers and nodes.", "description.zh-CN": "一个强大的 BPM 工具,为业务自动化提供基础支持,并且可任意扩展更多的触发器和节点。", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/workflow", "dependencies": { - "@nocobase/plugin-workflow-test": "1.4.24" + "@nocobase/plugin-workflow-test": "1.4.25" }, "devDependencies": { "@ant-design/icons": "5.x", diff --git a/packages/presets/nocobase/package.json b/packages/presets/nocobase/package.json index 5529984f72..64498d4368 100644 --- a/packages/presets/nocobase/package.json +++ b/packages/presets/nocobase/package.json @@ -1,76 +1,76 @@ { "name": "@nocobase/preset-nocobase", - "version": "1.4.24", + "version": "1.4.25", "license": "AGPL-3.0", "main": "./lib/server/index.js", "dependencies": { "@formily/json-schema": "2.x", - "@nocobase/plugin-acl": "1.4.24", - "@nocobase/plugin-action-bulk-edit": "1.4.24", - "@nocobase/plugin-action-bulk-update": "1.4.24", - "@nocobase/plugin-action-custom-request": "1.4.24", - "@nocobase/plugin-action-duplicate": "1.4.24", - "@nocobase/plugin-action-export": "1.4.24", - "@nocobase/plugin-action-import": "1.4.24", - "@nocobase/plugin-action-print": "1.4.24", - "@nocobase/plugin-api-doc": "1.4.24", - "@nocobase/plugin-api-keys": "1.4.24", - "@nocobase/plugin-audit-logs": "1.4.24", - "@nocobase/plugin-auth": "1.4.24", - "@nocobase/plugin-auth-sms": "1.4.24", - "@nocobase/plugin-backup-restore": "1.4.24", - "@nocobase/plugin-block-iframe": "1.4.24", - "@nocobase/plugin-block-workbench": "1.4.24", - "@nocobase/plugin-calendar": "1.4.24", - "@nocobase/plugin-charts": "1.4.24", - "@nocobase/plugin-client": "1.4.24", - "@nocobase/plugin-collection-sql": "1.4.24", - "@nocobase/plugin-collection-tree": "1.4.24", - "@nocobase/plugin-data-source-main": "1.4.24", - "@nocobase/plugin-data-source-manager": "1.4.24", - "@nocobase/plugin-data-visualization": "1.4.24", - "@nocobase/plugin-error-handler": "1.4.24", - "@nocobase/plugin-field-china-region": "1.4.24", - "@nocobase/plugin-field-formula": "1.4.24", - "@nocobase/plugin-field-m2m-array": "1.4.24", - "@nocobase/plugin-field-markdown-vditor": "1.4.24", - "@nocobase/plugin-field-sequence": "1.4.24", - "@nocobase/plugin-file-manager": "1.4.24", - "@nocobase/plugin-gantt": "1.4.24", - "@nocobase/plugin-graph-collection-manager": "1.4.24", - "@nocobase/plugin-kanban": "1.4.24", - "@nocobase/plugin-localization": "1.4.24", - "@nocobase/plugin-logger": "1.4.24", - "@nocobase/plugin-map": "1.4.24", - "@nocobase/plugin-mobile": "1.4.24", - "@nocobase/plugin-mobile-client": "1.4.24", - "@nocobase/plugin-mock-collections": "1.4.24", - "@nocobase/plugin-multi-app-manager": "1.4.24", - "@nocobase/plugin-multi-app-share-collection": "1.4.24", - "@nocobase/plugin-notification-email": "1.4.24", - "@nocobase/plugin-notification-in-app-message": "1.4.24", - "@nocobase/plugin-notification-manager": "1.4.24", - "@nocobase/plugin-public-forms": "1.4.24", - "@nocobase/plugin-snapshot-field": "1.4.24", - "@nocobase/plugin-system-settings": "1.4.24", - "@nocobase/plugin-theme-editor": "1.4.24", - "@nocobase/plugin-ui-schema-storage": "1.4.24", - "@nocobase/plugin-user-data-sync": "1.4.24", - "@nocobase/plugin-users": "1.4.24", - "@nocobase/plugin-verification": "1.4.24", - "@nocobase/plugin-workflow": "1.4.24", - "@nocobase/plugin-workflow-action-trigger": "1.4.24", - "@nocobase/plugin-workflow-aggregate": "1.4.24", - "@nocobase/plugin-workflow-delay": "1.4.24", - "@nocobase/plugin-workflow-dynamic-calculation": "1.4.24", - "@nocobase/plugin-workflow-loop": "1.4.24", - "@nocobase/plugin-workflow-mailer": "1.4.24", - "@nocobase/plugin-workflow-manual": "1.4.24", - "@nocobase/plugin-workflow-notification": "1.4.24", - "@nocobase/plugin-workflow-parallel": "1.4.24", - "@nocobase/plugin-workflow-request": "1.4.24", - "@nocobase/plugin-workflow-sql": "1.4.24", - "@nocobase/server": "1.4.24", + "@nocobase/plugin-acl": "1.4.25", + "@nocobase/plugin-action-bulk-edit": "1.4.25", + "@nocobase/plugin-action-bulk-update": "1.4.25", + "@nocobase/plugin-action-custom-request": "1.4.25", + "@nocobase/plugin-action-duplicate": "1.4.25", + "@nocobase/plugin-action-export": "1.4.25", + "@nocobase/plugin-action-import": "1.4.25", + "@nocobase/plugin-action-print": "1.4.25", + "@nocobase/plugin-api-doc": "1.4.25", + "@nocobase/plugin-api-keys": "1.4.25", + "@nocobase/plugin-audit-logs": "1.4.25", + "@nocobase/plugin-auth": "1.4.25", + "@nocobase/plugin-auth-sms": "1.4.25", + "@nocobase/plugin-backup-restore": "1.4.25", + "@nocobase/plugin-block-iframe": "1.4.25", + "@nocobase/plugin-block-workbench": "1.4.25", + "@nocobase/plugin-calendar": "1.4.25", + "@nocobase/plugin-charts": "1.4.25", + "@nocobase/plugin-client": "1.4.25", + "@nocobase/plugin-collection-sql": "1.4.25", + "@nocobase/plugin-collection-tree": "1.4.25", + "@nocobase/plugin-data-source-main": "1.4.25", + "@nocobase/plugin-data-source-manager": "1.4.25", + "@nocobase/plugin-data-visualization": "1.4.25", + "@nocobase/plugin-error-handler": "1.4.25", + "@nocobase/plugin-field-china-region": "1.4.25", + "@nocobase/plugin-field-formula": "1.4.25", + "@nocobase/plugin-field-m2m-array": "1.4.25", + "@nocobase/plugin-field-markdown-vditor": "1.4.25", + "@nocobase/plugin-field-sequence": "1.4.25", + "@nocobase/plugin-file-manager": "1.4.25", + "@nocobase/plugin-gantt": "1.4.25", + "@nocobase/plugin-graph-collection-manager": "1.4.25", + "@nocobase/plugin-kanban": "1.4.25", + "@nocobase/plugin-localization": "1.4.25", + "@nocobase/plugin-logger": "1.4.25", + "@nocobase/plugin-map": "1.4.25", + "@nocobase/plugin-mobile": "1.4.25", + "@nocobase/plugin-mobile-client": "1.4.25", + "@nocobase/plugin-mock-collections": "1.4.25", + "@nocobase/plugin-multi-app-manager": "1.4.25", + "@nocobase/plugin-multi-app-share-collection": "1.4.25", + "@nocobase/plugin-notification-email": "1.4.25", + "@nocobase/plugin-notification-in-app-message": "1.4.25", + "@nocobase/plugin-notification-manager": "1.4.25", + "@nocobase/plugin-public-forms": "1.4.25", + "@nocobase/plugin-snapshot-field": "1.4.25", + "@nocobase/plugin-system-settings": "1.4.25", + "@nocobase/plugin-theme-editor": "1.4.25", + "@nocobase/plugin-ui-schema-storage": "1.4.25", + "@nocobase/plugin-user-data-sync": "1.4.25", + "@nocobase/plugin-users": "1.4.25", + "@nocobase/plugin-verification": "1.4.25", + "@nocobase/plugin-workflow": "1.4.25", + "@nocobase/plugin-workflow-action-trigger": "1.4.25", + "@nocobase/plugin-workflow-aggregate": "1.4.25", + "@nocobase/plugin-workflow-delay": "1.4.25", + "@nocobase/plugin-workflow-dynamic-calculation": "1.4.25", + "@nocobase/plugin-workflow-loop": "1.4.25", + "@nocobase/plugin-workflow-mailer": "1.4.25", + "@nocobase/plugin-workflow-manual": "1.4.25", + "@nocobase/plugin-workflow-notification": "1.4.25", + "@nocobase/plugin-workflow-parallel": "1.4.25", + "@nocobase/plugin-workflow-request": "1.4.25", + "@nocobase/plugin-workflow-sql": "1.4.25", + "@nocobase/server": "1.4.25", "cronstrue": "^2.11.0", "fs-extra": "^11.1.1" }, From b9a57514106a391c3b56f55e20cc49b7ebb9d5d3 Mon Sep 17 00:00:00 2001 From: "nocobase[bot]" <179432756+nocobase[bot]@users.noreply.github.com> Date: Wed, 15 Jan 2025 21:50:56 +0000 Subject: [PATCH 006/125] docs: update changelogs --- CHANGELOG.md | 18 ++++++++++++++++++ CHANGELOG.zh-CN.md | 18 ++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 917f81ef1a..0e605b7bee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,24 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [v1.4.25](https://github.com/nocobase/nocobase/compare/v1.4.24...v1.4.25) - 2025-01-15 + +### 🚀 Improvements + +- **[client]** Improve the extensibility of file-storage ([#6071](https://github.com/nocobase/nocobase/pull/6071)) by @chenos + +- **[Workflow]** Fix repeat field component in schedule configuration ([#6067](https://github.com/nocobase/nocobase/pull/6067)) by @mytharcher + +### 🐛 Bug Fixes + +- **[Mobile]** Fix the issue of bottom buttons being obscured on mobile devices ([#6068](https://github.com/nocobase/nocobase/pull/6068)) by @zhangzhonghe + +- **[Workflow: Custom action event]** Fix context for http collection by @mytharcher + +- **[Backup manager]** Fixed a possible backup error when the collection-fdw plugin is not enabled by @gchust + +- **[Departments]** Fix custom action event cannot be triggered on departments collection by @mytharcher + ## [v1.4.24](https://github.com/nocobase/nocobase/compare/v1.4.23...v1.4.24) - 2025-01-14 ### 🚀 Improvements diff --git a/CHANGELOG.zh-CN.md b/CHANGELOG.zh-CN.md index 97ba5da330..e229dd571e 100644 --- a/CHANGELOG.zh-CN.md +++ b/CHANGELOG.zh-CN.md @@ -5,6 +5,24 @@ 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/), 并且本项目遵循 [语义化版本](https://semver.org/spec/v2.0.0.html)。 +## [v1.4.25](https://github.com/nocobase/nocobase/compare/v1.4.24...v1.4.25) - 2025-01-15 + +### 🚀 优化 + +- **[client]** 改进文件存储扩展 ([#6071](https://github.com/nocobase/nocobase/pull/6071)) by @chenos + +- **[工作流]** 修复定时任务重复配置字段组件的问题 ([#6067](https://github.com/nocobase/nocobase/pull/6067)) by @mytharcher + +### 🐛 修复 + +- **[移动端]** 修复移动端底部按钮被遮挡的问题 ([#6068](https://github.com/nocobase/nocobase/pull/6068)) by @zhangzhonghe + +- **[工作流:自定义操作事件]** 修复自定义操作事件中对数据的查询请求 by @mytharcher + +- **[备份管理器]** 修复 collection-fdw 插件未开启时可能出现的备份报错 by @gchust + +- **[部门]** 修复部门表无法触发自定义工作流的问题 by @mytharcher + ## [v1.4.24](https://github.com/nocobase/nocobase/compare/v1.4.23...v1.4.24) - 2025-01-14 ### 🚀 优化 From 11cf17b5e247d6a4b928bba219e4b28b1226a831 Mon Sep 17 00:00:00 2001 From: "nocobase[bot]" <179432756+nocobase[bot]@users.noreply.github.com> Date: Thu, 16 Jan 2025 01:12:01 +0000 Subject: [PATCH 007/125] =?UTF-8?q?chore(versions):=20=F0=9F=98=8A=20publi?= =?UTF-8?q?sh=20v1.5.0-beta.29?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lerna.json | 2 +- packages/core/acl/package.json | 6 +- packages/core/actions/package.json | 8 +- packages/core/app/package.json | 10 +- packages/core/auth/package.json | 12 +- packages/core/build/package.json | 2 +- packages/core/cache/package.json | 2 +- packages/core/cli/package.json | 6 +- packages/core/client/package.json | 8 +- .../core/create-nocobase-app/package.json | 2 +- .../core/data-source-manager/package.json | 12 +- packages/core/database/package.json | 6 +- packages/core/devtools/package.json | 8 +- packages/core/evaluators/package.json | 4 +- packages/core/lock-manager/package.json | 4 +- packages/core/logger/package.json | 2 +- packages/core/resourcer/package.json | 4 +- packages/core/sdk/package.json | 2 +- packages/core/server/package.json | 28 ++-- packages/core/telemetry/package.json | 4 +- packages/core/test/package.json | 4 +- packages/core/utils/package.json | 2 +- .../plugins/@nocobase/plugin-acl/package.json | 2 +- .../plugin-action-bulk-edit/package.json | 2 +- .../plugin-action-bulk-update/package.json | 2 +- .../plugin-action-custom-request/package.json | 2 +- .../plugin-action-duplicate/package.json | 2 +- .../plugin-action-export/package.json | 2 +- .../plugin-action-import/package.json | 2 +- .../plugin-action-print/package.json | 2 +- .../@nocobase/plugin-api-doc/package.json | 2 +- .../@nocobase/plugin-api-keys/package.json | 2 +- .../plugin-async-task-manager/package.json | 2 +- .../@nocobase/plugin-audit-logs/package.json | 2 +- .../@nocobase/plugin-auth-sms/package.json | 2 +- .../@nocobase/plugin-auth/package.json | 2 +- .../plugin-backup-restore/package.json | 2 +- .../plugin-block-iframe/package.json | 2 +- .../plugin-block-workbench/package.json | 2 +- .../@nocobase/plugin-calendar/package.json | 2 +- .../@nocobase/plugin-charts/package.json | 2 +- .../@nocobase/plugin-client/package.json | 2 +- .../plugin-collection-sql/package.json | 2 +- .../plugin-collection-tree/package.json | 2 +- .../plugin-data-source-main/package.json | 2 +- .../plugin-data-source-manager/package.json | 2 +- .../plugin-data-visualization/package.json | 2 +- .../plugin-disable-pm-add/package.json | 2 +- .../plugin-error-handler/package.json | 2 +- .../plugin-field-china-region/package.json | 2 +- .../plugin-field-formula/package.json | 2 +- .../plugin-field-m2m-array/package.json | 2 +- .../plugin-field-markdown-vditor/package.json | 2 +- .../plugin-field-sequence/package.json | 2 +- .../@nocobase/plugin-field-sort/package.json | 2 +- .../plugin-file-manager/package.json | 2 +- .../@nocobase/plugin-gantt/package.json | 2 +- .../package.json | 2 +- .../@nocobase/plugin-kanban/package.json | 2 +- .../plugin-localization/package.json | 2 +- .../@nocobase/plugin-logger/package.json | 2 +- .../plugins/@nocobase/plugin-map/package.json | 2 +- .../plugin-mobile-client/package.json | 2 +- .../@nocobase/plugin-mobile/package.json | 2 +- .../plugin-mock-collections/package.json | 2 +- .../plugin-multi-app-manager/package.json | 2 +- .../package.json | 2 +- .../plugin-notification-email/package.json | 2 +- .../package.json | 2 +- .../plugin-notification-manager/package.json | 2 +- .../plugin-notifications/package.json | 2 +- .../plugin-public-forms/package.json | 2 +- .../plugin-sample-hello/package.json | 2 +- .../plugin-snapshot-field/package.json | 2 +- .../plugin-system-settings/package.json | 2 +- .../plugin-theme-editor/package.json | 2 +- .../plugin-ui-schema-storage/package.json | 2 +- .../plugin-user-data-sync/package.json | 2 +- .../@nocobase/plugin-users/package.json | 2 +- .../plugin-verification/package.json | 2 +- .../package.json | 2 +- .../plugin-workflow-aggregate/package.json | 2 +- .../plugin-workflow-delay/package.json | 2 +- .../package.json | 2 +- .../plugin-workflow-loop/package.json | 2 +- .../plugin-workflow-mailer/package.json | 2 +- .../plugin-workflow-manual/package.json | 2 +- .../plugin-workflow-notification/package.json | 2 +- .../plugin-workflow-parallel/package.json | 2 +- .../plugin-workflow-request/package.json | 2 +- .../plugin-workflow-sql/package.json | 2 +- .../plugin-workflow-test/package.json | 2 +- .../@nocobase/plugin-workflow/package.json | 4 +- packages/presets/nocobase/package.json | 138 +++++++++--------- 94 files changed, 210 insertions(+), 210 deletions(-) diff --git a/lerna.json b/lerna.json index 528b26fc7f..f9c87b958c 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "npmClient": "yarn", "useWorkspaces": true, "npmClientArgs": [ diff --git a/packages/core/acl/package.json b/packages/core/acl/package.json index cc51881da2..83ebe02f63 100644 --- a/packages/core/acl/package.json +++ b/packages/core/acl/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/acl", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/resourcer": "1.5.0-beta.28", - "@nocobase/utils": "1.5.0-beta.28", + "@nocobase/resourcer": "1.5.0-beta.29", + "@nocobase/utils": "1.5.0-beta.29", "minimatch": "^5.1.1" }, "repository": { diff --git a/packages/core/actions/package.json b/packages/core/actions/package.json index 9d1266c817..a538fdc30a 100644 --- a/packages/core/actions/package.json +++ b/packages/core/actions/package.json @@ -1,14 +1,14 @@ { "name": "@nocobase/actions", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/cache": "1.5.0-beta.28", - "@nocobase/database": "1.5.0-beta.28", - "@nocobase/resourcer": "1.5.0-beta.28" + "@nocobase/cache": "1.5.0-beta.29", + "@nocobase/database": "1.5.0-beta.29", + "@nocobase/resourcer": "1.5.0-beta.29" }, "repository": { "type": "git", diff --git a/packages/core/app/package.json b/packages/core/app/package.json index 3f268d1d5f..1537651a54 100644 --- a/packages/core/app/package.json +++ b/packages/core/app/package.json @@ -1,17 +1,17 @@ { "name": "@nocobase/app", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/database": "1.5.0-beta.28", - "@nocobase/preset-nocobase": "1.5.0-beta.28", - "@nocobase/server": "1.5.0-beta.28" + "@nocobase/database": "1.5.0-beta.29", + "@nocobase/preset-nocobase": "1.5.0-beta.29", + "@nocobase/server": "1.5.0-beta.29" }, "devDependencies": { - "@nocobase/client": "1.5.0-beta.28" + "@nocobase/client": "1.5.0-beta.29" }, "repository": { "type": "git", diff --git a/packages/core/auth/package.json b/packages/core/auth/package.json index 9c14749a10..20c2313036 100644 --- a/packages/core/auth/package.json +++ b/packages/core/auth/package.json @@ -1,16 +1,16 @@ { "name": "@nocobase/auth", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/actions": "1.5.0-beta.28", - "@nocobase/cache": "1.5.0-beta.28", - "@nocobase/database": "1.5.0-beta.28", - "@nocobase/resourcer": "1.5.0-beta.28", - "@nocobase/utils": "1.5.0-beta.28", + "@nocobase/actions": "1.5.0-beta.29", + "@nocobase/cache": "1.5.0-beta.29", + "@nocobase/database": "1.5.0-beta.29", + "@nocobase/resourcer": "1.5.0-beta.29", + "@nocobase/utils": "1.5.0-beta.29", "@types/jsonwebtoken": "^8.5.8", "jsonwebtoken": "^8.5.1" }, diff --git a/packages/core/build/package.json b/packages/core/build/package.json index ef785877c2..552ecf0f7b 100644 --- a/packages/core/build/package.json +++ b/packages/core/build/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/build", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "description": "Library build tool based on rollup.", "main": "lib/index.js", "types": "./lib/index.d.ts", diff --git a/packages/core/cache/package.json b/packages/core/cache/package.json index 22a98b5a8e..7ce5831240 100644 --- a/packages/core/cache/package.json +++ b/packages/core/cache/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/cache", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", diff --git a/packages/core/cli/package.json b/packages/core/cli/package.json index aeb6dea4a4..2278bf32f9 100644 --- a/packages/core/cli/package.json +++ b/packages/core/cli/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/cli", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "description": "", "license": "AGPL-3.0", "main": "./src/index.js", @@ -8,7 +8,7 @@ "nocobase": "./bin/index.js" }, "dependencies": { - "@nocobase/app": "1.5.0-beta.28", + "@nocobase/app": "1.5.0-beta.29", "@types/fs-extra": "^11.0.1", "@umijs/utils": "3.5.20", "chalk": "^4.1.1", @@ -25,7 +25,7 @@ "tsx": "^4.19.0" }, "devDependencies": { - "@nocobase/devtools": "1.5.0-beta.28" + "@nocobase/devtools": "1.5.0-beta.29" }, "repository": { "type": "git", diff --git a/packages/core/client/package.json b/packages/core/client/package.json index 36df1d34a9..46c6c1f072 100644 --- a/packages/core/client/package.json +++ b/packages/core/client/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/client", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "lib/index.js", "module": "es/index.mjs", @@ -27,9 +27,9 @@ "@formily/reactive-react": "^2.2.27", "@formily/shared": "^2.2.27", "@formily/validator": "^2.2.27", - "@nocobase/evaluators": "1.5.0-beta.28", - "@nocobase/sdk": "1.5.0-beta.28", - "@nocobase/utils": "1.5.0-beta.28", + "@nocobase/evaluators": "1.5.0-beta.29", + "@nocobase/sdk": "1.5.0-beta.29", + "@nocobase/utils": "1.5.0-beta.29", "ahooks": "^3.7.2", "antd": "5.12.8", "antd-style": "3.7.1", diff --git a/packages/core/create-nocobase-app/package.json b/packages/core/create-nocobase-app/package.json index 8f0e3c42b2..ad651144f7 100755 --- a/packages/core/create-nocobase-app/package.json +++ b/packages/core/create-nocobase-app/package.json @@ -1,6 +1,6 @@ { "name": "create-nocobase-app", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "main": "src/index.js", "license": "AGPL-3.0", "dependencies": { diff --git a/packages/core/data-source-manager/package.json b/packages/core/data-source-manager/package.json index 9e4db3ba5a..cf74273ab8 100644 --- a/packages/core/data-source-manager/package.json +++ b/packages/core/data-source-manager/package.json @@ -1,16 +1,16 @@ { "name": "@nocobase/data-source-manager", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/actions": "1.5.0-beta.28", - "@nocobase/cache": "1.5.0-beta.28", - "@nocobase/database": "1.5.0-beta.28", - "@nocobase/resourcer": "1.5.0-beta.28", - "@nocobase/utils": "1.5.0-beta.28", + "@nocobase/actions": "1.5.0-beta.29", + "@nocobase/cache": "1.5.0-beta.29", + "@nocobase/database": "1.5.0-beta.29", + "@nocobase/resourcer": "1.5.0-beta.29", + "@nocobase/utils": "1.5.0-beta.29", "@types/jsonwebtoken": "^8.5.8", "jsonwebtoken": "^8.5.1" }, diff --git a/packages/core/database/package.json b/packages/core/database/package.json index aa909b40de..e07c542dcd 100644 --- a/packages/core/database/package.json +++ b/packages/core/database/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/database", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", "dependencies": { - "@nocobase/logger": "1.5.0-beta.28", - "@nocobase/utils": "1.5.0-beta.28", + "@nocobase/logger": "1.5.0-beta.29", + "@nocobase/utils": "1.5.0-beta.29", "async-mutex": "^0.3.2", "chalk": "^4.1.1", "cron-parser": "4.4.0", diff --git a/packages/core/devtools/package.json b/packages/core/devtools/package.json index 1134081896..5e246f0e03 100644 --- a/packages/core/devtools/package.json +++ b/packages/core/devtools/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/devtools", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "description": "", "license": "AGPL-3.0", "main": "./src/index.js", "dependencies": { - "@nocobase/build": "1.5.0-beta.28", - "@nocobase/client": "1.5.0-beta.28", - "@nocobase/test": "1.5.0-beta.28", + "@nocobase/build": "1.5.0-beta.29", + "@nocobase/client": "1.5.0-beta.29", + "@nocobase/test": "1.5.0-beta.29", "@types/koa": "^2.13.4", "@types/koa-bodyparser": "^4.3.4", "@types/lodash": "^4.14.177", diff --git a/packages/core/evaluators/package.json b/packages/core/evaluators/package.json index e5ca48afdd..d8d9bf24c0 100644 --- a/packages/core/evaluators/package.json +++ b/packages/core/evaluators/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/evaluators", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", "dependencies": { "@formulajs/formulajs": "4.4.9", - "@nocobase/utils": "1.5.0-beta.28", + "@nocobase/utils": "1.5.0-beta.29", "mathjs": "^10.6.0" }, "repository": { diff --git a/packages/core/lock-manager/package.json b/packages/core/lock-manager/package.json index ac92eaa7b0..a8e683a671 100644 --- a/packages/core/lock-manager/package.json +++ b/packages/core/lock-manager/package.json @@ -1,10 +1,10 @@ { "name": "@nocobase/lock-manager", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "main": "lib/index.js", "license": "AGPL-3.0", "devDependencies": { - "@nocobase/utils": "1.5.0-beta.28", + "@nocobase/utils": "1.5.0-beta.29", "async-mutex": "^0.5.0" } } diff --git a/packages/core/logger/package.json b/packages/core/logger/package.json index 9d3a040bba..cfa0678be2 100644 --- a/packages/core/logger/package.json +++ b/packages/core/logger/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/logger", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "description": "nocobase logging library", "license": "AGPL-3.0", "main": "./lib/index.js", diff --git a/packages/core/resourcer/package.json b/packages/core/resourcer/package.json index c18cc955b4..f1141c6702 100644 --- a/packages/core/resourcer/package.json +++ b/packages/core/resourcer/package.json @@ -1,12 +1,12 @@ { "name": "@nocobase/resourcer", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", "dependencies": { - "@nocobase/utils": "1.5.0-beta.28", + "@nocobase/utils": "1.5.0-beta.29", "deepmerge": "^4.2.2", "koa-compose": "^4.1.0", "lodash": "^4.17.21", diff --git a/packages/core/sdk/package.json b/packages/core/sdk/package.json index c57da3dd39..b353449441 100644 --- a/packages/core/sdk/package.json +++ b/packages/core/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/sdk", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/packages/core/server/package.json b/packages/core/server/package.json index 439eef0588..be80adffb9 100644 --- a/packages/core/server/package.json +++ b/packages/core/server/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/server", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "main": "lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", @@ -10,19 +10,19 @@ "@koa/cors": "^3.1.0", "@koa/multer": "^3.0.2", "@koa/router": "^9.4.0", - "@nocobase/acl": "1.5.0-beta.28", - "@nocobase/actions": "1.5.0-beta.28", - "@nocobase/auth": "1.5.0-beta.28", - "@nocobase/cache": "1.5.0-beta.28", - "@nocobase/data-source-manager": "1.5.0-beta.28", - "@nocobase/database": "1.5.0-beta.28", - "@nocobase/evaluators": "1.5.0-beta.28", - "@nocobase/lock-manager": "1.5.0-beta.28", - "@nocobase/logger": "1.5.0-beta.28", - "@nocobase/resourcer": "1.5.0-beta.28", - "@nocobase/sdk": "1.5.0-beta.28", - "@nocobase/telemetry": "1.5.0-beta.28", - "@nocobase/utils": "1.5.0-beta.28", + "@nocobase/acl": "1.5.0-beta.29", + "@nocobase/actions": "1.5.0-beta.29", + "@nocobase/auth": "1.5.0-beta.29", + "@nocobase/cache": "1.5.0-beta.29", + "@nocobase/data-source-manager": "1.5.0-beta.29", + "@nocobase/database": "1.5.0-beta.29", + "@nocobase/evaluators": "1.5.0-beta.29", + "@nocobase/lock-manager": "1.5.0-beta.29", + "@nocobase/logger": "1.5.0-beta.29", + "@nocobase/resourcer": "1.5.0-beta.29", + "@nocobase/sdk": "1.5.0-beta.29", + "@nocobase/telemetry": "1.5.0-beta.29", + "@nocobase/utils": "1.5.0-beta.29", "@types/decompress": "4.2.7", "@types/ini": "^1.3.31", "@types/koa-send": "^4.1.3", diff --git a/packages/core/telemetry/package.json b/packages/core/telemetry/package.json index a3ff0f0187..a52622d85a 100644 --- a/packages/core/telemetry/package.json +++ b/packages/core/telemetry/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/telemetry", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "description": "nocobase telemetry library", "license": "AGPL-3.0", "main": "./lib/index.js", @@ -11,7 +11,7 @@ "directory": "packages/telemetry" }, "dependencies": { - "@nocobase/utils": "1.5.0-beta.28", + "@nocobase/utils": "1.5.0-beta.29", "@opentelemetry/api": "^1.7.0", "@opentelemetry/instrumentation": "^0.46.0", "@opentelemetry/resources": "^1.19.0", diff --git a/packages/core/test/package.json b/packages/core/test/package.json index 5917412ceb..42ac70a47c 100644 --- a/packages/core/test/package.json +++ b/packages/core/test/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/test", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "main": "lib/index.js", "module": "./src/index.ts", "types": "./lib/index.d.ts", @@ -51,7 +51,7 @@ }, "dependencies": { "@faker-js/faker": "8.1.0", - "@nocobase/server": "1.5.0-beta.28", + "@nocobase/server": "1.5.0-beta.29", "@playwright/test": "^1.45.3", "@testing-library/jest-dom": "^6.4.2", "@testing-library/react": "^14.0.0", diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index 1ae896faee..3240aff220 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/utils", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "main": "lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", diff --git a/packages/plugins/@nocobase/plugin-acl/package.json b/packages/plugins/@nocobase/plugin-acl/package.json index 95ee5edda1..2c1b9d582e 100644 --- a/packages/plugins/@nocobase/plugin-acl/package.json +++ b/packages/plugins/@nocobase/plugin-acl/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "权限控制", "description": "Based on roles, resources, and actions, access control can precisely manage interface configuration permissions, data operation permissions, menu access permissions, and plugin permissions.", "description.zh-CN": "基于角色、资源和操作的权限控制,可以精确控制界面配置权限、数据操作权限、菜单访问权限、插件权限。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/acl", diff --git a/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json b/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json index f48d1dfbce..b1500da5e9 100644 --- a/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json +++ b/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-bulk-edit", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-bulk-edit", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-bulk-edit", diff --git a/packages/plugins/@nocobase/plugin-action-bulk-update/package.json b/packages/plugins/@nocobase/plugin-action-bulk-update/package.json index cf37098b63..0169008611 100644 --- a/packages/plugins/@nocobase/plugin-action-bulk-update/package.json +++ b/packages/plugins/@nocobase/plugin-action-bulk-update/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-bulk-update", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-bulk-update", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-bulk-update", diff --git a/packages/plugins/@nocobase/plugin-action-custom-request/package.json b/packages/plugins/@nocobase/plugin-action-custom-request/package.json index 9227963db0..fc40fbdb61 100644 --- a/packages/plugins/@nocobase/plugin-action-custom-request/package.json +++ b/packages/plugins/@nocobase/plugin-action-custom-request/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-custom-request", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-custom-request", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-custom-request", diff --git a/packages/plugins/@nocobase/plugin-action-duplicate/package.json b/packages/plugins/@nocobase/plugin-action-duplicate/package.json index c3aee1164b..3f0803bb5e 100644 --- a/packages/plugins/@nocobase/plugin-action-duplicate/package.json +++ b/packages/plugins/@nocobase/plugin-action-duplicate/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-duplicate", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-duplicate", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-duplicate", diff --git a/packages/plugins/@nocobase/plugin-action-export/package.json b/packages/plugins/@nocobase/plugin-action-export/package.json index e5b598efac..ced38d6692 100644 --- a/packages/plugins/@nocobase/plugin-action-export/package.json +++ b/packages/plugins/@nocobase/plugin-action-export/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "操作:导出记录", "description": "Export filtered records to excel, you can configure which fields to export.", "description.zh-CN": "导出筛选后的记录到 Excel 中,可以配置导出哪些字段。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-export", diff --git a/packages/plugins/@nocobase/plugin-action-import/package.json b/packages/plugins/@nocobase/plugin-action-import/package.json index f541beefb3..152b711b98 100644 --- a/packages/plugins/@nocobase/plugin-action-import/package.json +++ b/packages/plugins/@nocobase/plugin-action-import/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "操作:导入记录", "description": "Import records using excel templates. You can configure which fields to import and templates will be generated automatically.", "description.zh-CN": "使用 Excel 模板导入数据,可以配置导入哪些字段,自动生成模板。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-import", diff --git a/packages/plugins/@nocobase/plugin-action-print/package.json b/packages/plugins/@nocobase/plugin-action-print/package.json index 0604d27c38..1450e9bd09 100644 --- a/packages/plugins/@nocobase/plugin-action-print/package.json +++ b/packages/plugins/@nocobase/plugin-action-print/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-print", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-print", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-print", diff --git a/packages/plugins/@nocobase/plugin-api-doc/package.json b/packages/plugins/@nocobase/plugin-api-doc/package.json index 7faa8e34ba..c448dc83cc 100644 --- a/packages/plugins/@nocobase/plugin-api-doc/package.json +++ b/packages/plugins/@nocobase/plugin-api-doc/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-api-doc", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "displayName": "API documentation", "displayName.zh-CN": "API 文档", "description": "An OpenAPI documentation generator for NocoBase HTTP API.", diff --git a/packages/plugins/@nocobase/plugin-api-keys/package.json b/packages/plugins/@nocobase/plugin-api-keys/package.json index 2ed5ad34d8..9038e5a785 100644 --- a/packages/plugins/@nocobase/plugin-api-keys/package.json +++ b/packages/plugins/@nocobase/plugin-api-keys/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "认证:API 密钥", "description": "Allows users to use API key to access application's HTTP API", "description.zh-CN": "允许用户使用 API 密钥访问应用的 HTTP API", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/api-keys", diff --git a/packages/plugins/@nocobase/plugin-async-task-manager/package.json b/packages/plugins/@nocobase/plugin-async-task-manager/package.json index 9386d48524..8958fe469e 100644 --- a/packages/plugins/@nocobase/plugin-async-task-manager/package.json +++ b/packages/plugins/@nocobase/plugin-async-task-manager/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "异步任务管理器", "description": "Manage and monitor asynchronous tasks such as data import/export. Support task progress tracking and notification.", "description.zh-CN": "管理和监控数据导入导出等异步任务。支持任务进度跟踪和通知。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "main": "dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-audit-logs/package.json b/packages/plugins/@nocobase/plugin-audit-logs/package.json index 32a3906148..959604006e 100644 --- a/packages/plugins/@nocobase/plugin-audit-logs/package.json +++ b/packages/plugins/@nocobase/plugin-audit-logs/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-audit-logs", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "displayName": "Audit logs (deprecated)", "displayName.zh-CN": "审计日志(废弃)", "description": "This plugin is deprecated. There will be a new audit log plugin in the future.", diff --git a/packages/plugins/@nocobase/plugin-auth-sms/package.json b/packages/plugins/@nocobase/plugin-auth-sms/package.json index 94e8672690..c1246416c4 100644 --- a/packages/plugins/@nocobase/plugin-auth-sms/package.json +++ b/packages/plugins/@nocobase/plugin-auth-sms/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "认证:短信", "description": "SMS authentication.", "description.zh-CN": "通过短信验证码认证身份。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/auth-sms", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/auth-sms", diff --git a/packages/plugins/@nocobase/plugin-auth/package.json b/packages/plugins/@nocobase/plugin-auth/package.json index 65af8d4b59..2bc06690a1 100644 --- a/packages/plugins/@nocobase/plugin-auth/package.json +++ b/packages/plugins/@nocobase/plugin-auth/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-auth", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/auth", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/auth", diff --git a/packages/plugins/@nocobase/plugin-backup-restore/package.json b/packages/plugins/@nocobase/plugin-backup-restore/package.json index d88b3fc1ca..9581e1abdc 100644 --- a/packages/plugins/@nocobase/plugin-backup-restore/package.json +++ b/packages/plugins/@nocobase/plugin-backup-restore/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "应用的备份与还原(废弃)", "description": "Backup and restore applications for scenarios such as application replication, migration, and upgrades.", "description.zh-CN": "备份和还原应用,可用于应用的复制、迁移、升级等场景。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/backup-restore", diff --git a/packages/plugins/@nocobase/plugin-block-iframe/package.json b/packages/plugins/@nocobase/plugin-block-iframe/package.json index a3157d6c8e..a2715ad5ac 100644 --- a/packages/plugins/@nocobase/plugin-block-iframe/package.json +++ b/packages/plugins/@nocobase/plugin-block-iframe/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "区块:iframe", "description": "Create an iframe block on the page to embed and display external web pages or content.", "description.zh-CN": "在页面上创建和管理iframe,用于嵌入和展示外部网页或内容。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/block-iframe", diff --git a/packages/plugins/@nocobase/plugin-block-workbench/package.json b/packages/plugins/@nocobase/plugin-block-workbench/package.json index 880fb88b3c..dca69472e3 100644 --- a/packages/plugins/@nocobase/plugin-block-workbench/package.json +++ b/packages/plugins/@nocobase/plugin-block-workbench/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-block-workbench", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "displayName": "Block: Action panel", "displayName.zh-CN": "区块:操作面板", "description": "Centrally manages and displays various actions, allowing users to efficiently perform tasks. It supports extensibility, with current action types including pop-ups, links, scanning, and custom requests.", diff --git a/packages/plugins/@nocobase/plugin-calendar/package.json b/packages/plugins/@nocobase/plugin-calendar/package.json index 4c88968a20..b5ece9fea0 100644 --- a/packages/plugins/@nocobase/plugin-calendar/package.json +++ b/packages/plugins/@nocobase/plugin-calendar/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-calendar", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "displayName": "Calendar", "displayName.zh-CN": "日历", "description": "Provides callendar collection template and block for managing date data, typically for date/time related information such as events, appointments, tasks, and so on.", diff --git a/packages/plugins/@nocobase/plugin-charts/package.json b/packages/plugins/@nocobase/plugin-charts/package.json index 92913a0420..84fa24b3bb 100644 --- a/packages/plugins/@nocobase/plugin-charts/package.json +++ b/packages/plugins/@nocobase/plugin-charts/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "图表(废弃)", "description": "The plugin has been deprecated, please use the data visualization plugin instead.", "description.zh-CN": "已废弃插件,请使用数据可视化插件代替。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "main": "./dist/server/index.js", "license": "AGPL-3.0", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-client/package.json b/packages/plugins/@nocobase/plugin-client/package.json index 3218f37498..8686de4f3d 100644 --- a/packages/plugins/@nocobase/plugin-client/package.json +++ b/packages/plugins/@nocobase/plugin-client/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "WEB 客户端", "description": "Provides a client interface for the NocoBase server", "description.zh-CN": "为 NocoBase 服务端提供客户端界面", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "main": "./dist/server/index.js", "license": "AGPL-3.0", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-collection-sql/package.json b/packages/plugins/@nocobase/plugin-collection-sql/package.json index 5f4c59a183..6c2f300b1b 100644 --- a/packages/plugins/@nocobase/plugin-collection-sql/package.json +++ b/packages/plugins/@nocobase/plugin-collection-sql/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表: SQL", "description": "Provides SQL collection template", "description.zh-CN": "提供 SQL 数据表模板", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "homepage": "https://docs-cn.nocobase.com/handbook/collection-sql", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/collection-sql", "main": "dist/server/index.js", diff --git a/packages/plugins/@nocobase/plugin-collection-tree/package.json b/packages/plugins/@nocobase/plugin-collection-tree/package.json index 026e73c8a6..0b5302117f 100644 --- a/packages/plugins/@nocobase/plugin-collection-tree/package.json +++ b/packages/plugins/@nocobase/plugin-collection-tree/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-collection-tree", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "displayName": "Collection: Tree", "displayName.zh-CN": "数据表:树", "description": "Provides tree collection template", diff --git a/packages/plugins/@nocobase/plugin-data-source-main/package.json b/packages/plugins/@nocobase/plugin-data-source-main/package.json index 0dedcbb79f..0d24162616 100644 --- a/packages/plugins/@nocobase/plugin-data-source-main/package.json +++ b/packages/plugins/@nocobase/plugin-data-source-main/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据源:主数据库", "description": "NocoBase main database, supports relational databases such as PostgreSQL, MySQL, MariaDB and so on.", "description.zh-CN": "NocoBase 主数据库,支持 PostgreSQL、MySQL、MariaDB 等关系型数据库。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/data-source-main", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/data-source-main", diff --git a/packages/plugins/@nocobase/plugin-data-source-manager/package.json b/packages/plugins/@nocobase/plugin-data-source-manager/package.json index d2ce92166c..69ad30114b 100644 --- a/packages/plugins/@nocobase/plugin-data-source-manager/package.json +++ b/packages/plugins/@nocobase/plugin-data-source-manager/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-data-source-manager", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "main": "dist/server/index.js", "displayName": "Data source manager", "displayName.zh-CN": "数据源管理", diff --git a/packages/plugins/@nocobase/plugin-data-visualization/package.json b/packages/plugins/@nocobase/plugin-data-visualization/package.json index 97d1176aba..56630aa795 100644 --- a/packages/plugins/@nocobase/plugin-data-visualization/package.json +++ b/packages/plugins/@nocobase/plugin-data-visualization/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-data-visualization", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "displayName": "Data visualization", "displayName.zh-CN": "数据可视化", "description": "Provides data visualization feature, including chart block and chart filter block, support line charts, area charts, bar charts and more than a dozen kinds of charts, you can also extend more chart types.", diff --git a/packages/plugins/@nocobase/plugin-disable-pm-add/package.json b/packages/plugins/@nocobase/plugin-disable-pm-add/package.json index 6ec8848e2d..dccddd7321 100644 --- a/packages/plugins/@nocobase/plugin-disable-pm-add/package.json +++ b/packages/plugins/@nocobase/plugin-disable-pm-add/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-disable-pm-add", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "main": "./dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-error-handler/package.json b/packages/plugins/@nocobase/plugin-error-handler/package.json index c89adf06ff..7a3d5445dc 100644 --- a/packages/plugins/@nocobase/plugin-error-handler/package.json +++ b/packages/plugins/@nocobase/plugin-error-handler/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "错误处理器", "description": "Handling application errors and exceptions.", "description.zh-CN": "处理应用程序中的错误和异常。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "./dist/server/index.js", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-field-china-region/package.json b/packages/plugins/@nocobase/plugin-field-china-region/package.json index 549ffd5d14..df6fa9bee9 100644 --- a/packages/plugins/@nocobase/plugin-field-china-region/package.json +++ b/packages/plugins/@nocobase/plugin-field-china-region/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-field-china-region", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "displayName": "Collection field: administrative divisions of China", "displayName.zh-CN": "数据表字段:中国行政区划", "description": "Provides data and field type for administrative divisions of China.", diff --git a/packages/plugins/@nocobase/plugin-field-formula/package.json b/packages/plugins/@nocobase/plugin-field-formula/package.json index 417f3f65ca..b2748a0805 100644 --- a/packages/plugins/@nocobase/plugin-field-formula/package.json +++ b/packages/plugins/@nocobase/plugin-field-formula/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:公式", "description": "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.", "description.zh-CN": "可以配置并存储同一条记录的多字段值之间的计算结果,支持 Math.js 和 Excel formula functions 两种引擎", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-formula", diff --git a/packages/plugins/@nocobase/plugin-field-m2m-array/package.json b/packages/plugins/@nocobase/plugin-field-m2m-array/package.json index 435d7dbb10..dbcdff9824 100644 --- a/packages/plugins/@nocobase/plugin-field-m2m-array/package.json +++ b/packages/plugins/@nocobase/plugin-field-m2m-array/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:多对多 (数组)", "description": "Allows to create many to many relationships between two models by storing an array of unique keys of the target model.", "description.zh-CN": "支持通过在数组中存储目标表唯一键的方式建立多对多关系。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "main": "dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json b/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json index 4cd5f84d39..a02128a6e7 100644 --- a/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json +++ b/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:Markdown(Vditor)", "description": "Used to store Markdown and render it using Vditor editor, supports common Markdown syntax such as list, code, quote, etc., and supports uploading images, recordings, etc.It also allows for instant rendering, where what you see is what you get.", "description.zh-CN": "用于存储 Markdown,并使用 Vditor 编辑器渲染,支持常见 Markdown 语法,如列表,代码,引用等,并支持上传图片,录音等。同时可以做到即时渲染,所见即所得。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-markdown-vditor", diff --git a/packages/plugins/@nocobase/plugin-field-sequence/package.json b/packages/plugins/@nocobase/plugin-field-sequence/package.json index cc94f62dab..b631ea5b09 100644 --- a/packages/plugins/@nocobase/plugin-field-sequence/package.json +++ b/packages/plugins/@nocobase/plugin-field-sequence/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:自动编码", "description": "Automatically generate codes based on configured rules, supporting combinations of dates, numbers, and text.", "description.zh-CN": "根据配置的规则自动生成编码,支持日期、数字、文本的组合。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-sequence", diff --git a/packages/plugins/@nocobase/plugin-field-sort/package.json b/packages/plugins/@nocobase/plugin-field-sort/package.json index 7f95c78ecc..5f5fd51254 100644 --- a/packages/plugins/@nocobase/plugin-field-sort/package.json +++ b/packages/plugins/@nocobase/plugin-field-sort/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-field-sort", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "displayName": "Collection field: Sort", "displayName.zh-CN": "数据表字段:排序", diff --git a/packages/plugins/@nocobase/plugin-file-manager/package.json b/packages/plugins/@nocobase/plugin-file-manager/package.json index 2f6590d388..1c42e45be5 100644 --- a/packages/plugins/@nocobase/plugin-file-manager/package.json +++ b/packages/plugins/@nocobase/plugin-file-manager/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-file-manager", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "displayName": "File manager", "displayName.zh-CN": "文件管理器", "description": "Provides files storage services with files collection template and attachment field.", diff --git a/packages/plugins/@nocobase/plugin-gantt/package.json b/packages/plugins/@nocobase/plugin-gantt/package.json index b6b26aea5b..361e37c5df 100644 --- a/packages/plugins/@nocobase/plugin-gantt/package.json +++ b/packages/plugins/@nocobase/plugin-gantt/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-gantt", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "displayName": "Block: Gantt", "displayName.zh-CN": "区块:甘特图", "description": "Provides Gantt block.", diff --git a/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json b/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json index 7fdef563e0..de46b6200a 100644 --- a/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json +++ b/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "可视化数据表管理", "description": "An ER diagram-like tool. Currently only the Master database is supported.", "description.zh-CN": "类似 ER 图的工具,目前只支持主数据库。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/graph-collection-manager", diff --git a/packages/plugins/@nocobase/plugin-kanban/package.json b/packages/plugins/@nocobase/plugin-kanban/package.json index 988bfbd7d5..26dbf3bf24 100644 --- a/packages/plugins/@nocobase/plugin-kanban/package.json +++ b/packages/plugins/@nocobase/plugin-kanban/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-kanban", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/block-kanban", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/block-kanban", diff --git a/packages/plugins/@nocobase/plugin-localization/package.json b/packages/plugins/@nocobase/plugin-localization/package.json index c6e142d2bd..939eba1a45 100644 --- a/packages/plugins/@nocobase/plugin-localization/package.json +++ b/packages/plugins/@nocobase/plugin-localization/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-localization", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/localization-management", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/localization-management", diff --git a/packages/plugins/@nocobase/plugin-logger/package.json b/packages/plugins/@nocobase/plugin-logger/package.json index eb8e480b35..4aa9ed0460 100644 --- a/packages/plugins/@nocobase/plugin-logger/package.json +++ b/packages/plugins/@nocobase/plugin-logger/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "日志", "description": "Server-side logs, mainly including API request logs and system runtime logs, and allows to package and download log files.", "description.zh-CN": "服务端日志,主要包括接口请求日志和系统运行日志,并支持打包和下载日志文件。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/logger", diff --git a/packages/plugins/@nocobase/plugin-map/package.json b/packages/plugins/@nocobase/plugin-map/package.json index fd4cafdeb3..02bbd3d732 100644 --- a/packages/plugins/@nocobase/plugin-map/package.json +++ b/packages/plugins/@nocobase/plugin-map/package.json @@ -2,7 +2,7 @@ "name": "@nocobase/plugin-map", "displayName": "Block: Map", "displayName.zh-CN": "区块:地图", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "description": "Map block, support Gaode map and Google map, you can also extend more map types.", "description.zh-CN": "地图区块,支持高德地图和 Google 地图,你也可以扩展更多地图类型。", "license": "AGPL-3.0", diff --git a/packages/plugins/@nocobase/plugin-mobile-client/package.json b/packages/plugins/@nocobase/plugin-mobile-client/package.json index 34c890438a..26c22898b4 100644 --- a/packages/plugins/@nocobase/plugin-mobile-client/package.json +++ b/packages/plugins/@nocobase/plugin-mobile-client/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-mobile-client", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/mobile-client", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/mobile-client", diff --git a/packages/plugins/@nocobase/plugin-mobile/package.json b/packages/plugins/@nocobase/plugin-mobile/package.json index 7d290765b3..1c99254646 100644 --- a/packages/plugins/@nocobase/plugin-mobile/package.json +++ b/packages/plugins/@nocobase/plugin-mobile/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-mobile", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/mobile", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/mobile", diff --git a/packages/plugins/@nocobase/plugin-mock-collections/package.json b/packages/plugins/@nocobase/plugin-mock-collections/package.json index 85745a372f..d07ab2463f 100644 --- a/packages/plugins/@nocobase/plugin-mock-collections/package.json +++ b/packages/plugins/@nocobase/plugin-mock-collections/package.json @@ -2,7 +2,7 @@ "name": "@nocobase/plugin-mock-collections", "displayName": "mock-collections", "description": "mock-collections", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "main": "./dist/server/index.js", "license": "AGPL-3.0", "peerDependencies": { diff --git a/packages/plugins/@nocobase/plugin-multi-app-manager/package.json b/packages/plugins/@nocobase/plugin-multi-app-manager/package.json index 6ba8b1cab1..0afd196374 100644 --- a/packages/plugins/@nocobase/plugin-multi-app-manager/package.json +++ b/packages/plugins/@nocobase/plugin-multi-app-manager/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "多应用管理器", "description": "Dynamically create multiple apps without separate deployments.", "description.zh-CN": "无需单独部署即可动态创建多个应用。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/multi-app-manager", diff --git a/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json b/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json index eea72cf592..c20326c48e 100644 --- a/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json +++ b/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "多应用数据表共享", "description": "", "description.zh-CN": "", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "main": "./dist/server/index.js", "devDependencies": { "@formily/react": "2.x", diff --git a/packages/plugins/@nocobase/plugin-notification-email/package.json b/packages/plugins/@nocobase/plugin-notification-email/package.json index dce229b9fe..a5db27a32e 100644 --- a/packages/plugins/@nocobase/plugin-notification-email/package.json +++ b/packages/plugins/@nocobase/plugin-notification-email/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-notification-email", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "displayName": "Notification: Email", "displayName.zh-CN": "通知:电子邮件", "description": "Used for sending email notifications with built-in SMTP transport.", diff --git a/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json b/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json index c98db7fb69..4e13030934 100644 --- a/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json +++ b/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-notification-in-app-message", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "displayName": "Notification: In-app message", "displayName.zh-CN": "通知:站内信", "description": "It supports users in receiving real-time message notifications within the NocoBase application.", diff --git a/packages/plugins/@nocobase/plugin-notification-manager/package.json b/packages/plugins/@nocobase/plugin-notification-manager/package.json index d9d88c539f..c15ad0d5dd 100644 --- a/packages/plugins/@nocobase/plugin-notification-manager/package.json +++ b/packages/plugins/@nocobase/plugin-notification-manager/package.json @@ -4,7 +4,7 @@ "description": "Provides a unified management service that includes channel configuration, logging, and other features, supporting the configuration of various notification channels, including in-app message and email.", "displayName.zh-CN": "通知管理", "description.zh-CN": "提供统一的管理服务,涵盖渠道配置、日志记录等功能,支持多种通知渠道的配置,包括站内信和电子邮件等。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "main": "dist/server/index.js", "devDependencies": { "@ant-design/icons": "5.x", diff --git a/packages/plugins/@nocobase/plugin-notifications/package.json b/packages/plugins/@nocobase/plugin-notifications/package.json index 87acda76da..e8ad5694ad 100644 --- a/packages/plugins/@nocobase/plugin-notifications/package.json +++ b/packages/plugins/@nocobase/plugin-notifications/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-notifications", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "description": "", "license": "AGPL-3.0", "main": "./dist/server/index.js", diff --git a/packages/plugins/@nocobase/plugin-public-forms/package.json b/packages/plugins/@nocobase/plugin-public-forms/package.json index 3e8d98a1d1..c148c553c0 100644 --- a/packages/plugins/@nocobase/plugin-public-forms/package.json +++ b/packages/plugins/@nocobase/plugin-public-forms/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-public-forms", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "main": "dist/server/index.js", "displayName": "Public forms", "displayName.zh-CN": "公开表单", diff --git a/packages/plugins/@nocobase/plugin-sample-hello/package.json b/packages/plugins/@nocobase/plugin-sample-hello/package.json index 28580fdecd..9b59bdfb31 100644 --- a/packages/plugins/@nocobase/plugin-sample-hello/package.json +++ b/packages/plugins/@nocobase/plugin-sample-hello/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-sample-hello", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "main": "./dist/server/index.js", "displayName": "Hello", "displayName.zh-CN": "Hello", diff --git a/packages/plugins/@nocobase/plugin-snapshot-field/package.json b/packages/plugins/@nocobase/plugin-snapshot-field/package.json index e3bc013adc..dc052d5223 100644 --- a/packages/plugins/@nocobase/plugin-snapshot-field/package.json +++ b/packages/plugins/@nocobase/plugin-snapshot-field/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:关系快照", "description": "When adding a new record, create a snapshot for its relational record and save in the new record. The snapshot will not be updated when the relational record is updated.", "description.zh-CN": "在添加数据时,为它的关系数据创建快照,并保存在当前的数据中。关系数据更新时,快照不会更新。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-snapshot", diff --git a/packages/plugins/@nocobase/plugin-system-settings/package.json b/packages/plugins/@nocobase/plugin-system-settings/package.json index 1074e0eaeb..f192cf7bd2 100644 --- a/packages/plugins/@nocobase/plugin-system-settings/package.json +++ b/packages/plugins/@nocobase/plugin-system-settings/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "系统设置", "description": "Used to adjust the system title, logo, language, etc.", "description.zh-CN": "用于调整系统的标题、LOGO、语言等。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/system-settings", diff --git a/packages/plugins/@nocobase/plugin-theme-editor/package.json b/packages/plugins/@nocobase/plugin-theme-editor/package.json index 9859af0418..2871e52e8a 100644 --- a/packages/plugins/@nocobase/plugin-theme-editor/package.json +++ b/packages/plugins/@nocobase/plugin-theme-editor/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-theme-editor", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/theme-editor", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/theme-editor", diff --git a/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json b/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json index a6b605eb33..2e0f678a57 100644 --- a/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json +++ b/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "UI schema 存储服务", "description": "Provides centralized UI schema storage service.", "description.zh-CN": "提供中心化的 UI schema 存储服务。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/ui-schema-storage", diff --git a/packages/plugins/@nocobase/plugin-user-data-sync/package.json b/packages/plugins/@nocobase/plugin-user-data-sync/package.json index 00d51c31bb..97129da524 100644 --- a/packages/plugins/@nocobase/plugin-user-data-sync/package.json +++ b/packages/plugins/@nocobase/plugin-user-data-sync/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "用户数据同步", "description": "Reigster and manage extensible user data synchronization sources, with HTTP API provided by default. Support for synchronizing data to resources such as users and departments.", "description.zh-CN": "注册和管理可扩展的用户数据同步来源,默认提供 HTTP API。支持向用户和部门等资源同步数据。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "main": "dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-users/package.json b/packages/plugins/@nocobase/plugin-users/package.json index 1a95d3cd10..7420d44a6c 100644 --- a/packages/plugins/@nocobase/plugin-users/package.json +++ b/packages/plugins/@nocobase/plugin-users/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "用户", "description": "Provides basic user model, as well as created by and updated by fields.", "description.zh-CN": "提供了基础的用户模型,以及创建人和最后更新人字段。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/users", diff --git a/packages/plugins/@nocobase/plugin-verification/package.json b/packages/plugins/@nocobase/plugin-verification/package.json index 518b3e3371..1a29a79364 100644 --- a/packages/plugins/@nocobase/plugin-verification/package.json +++ b/packages/plugins/@nocobase/plugin-verification/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "验证码", "description": "verification setting.", "description.zh-CN": "验证码配置。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/verification", diff --git a/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json b/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json index dbdb6f1706..0471bad88d 100644 --- a/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:操作后事件", "description": "Triggered after the completion of a request initiated through an action button or API, such as after adding, updating, deleting data, or \"submit to workflow\". Suitable for data processing, sending notifications, etc., after actions are completed.", "description.zh-CN": "通过操作按钮或 API 发起请求并在执行完成后触发,比如新增、更新、删除数据或者“提交至工作流”之后。适用于在操作完成后进行数据处理、发送通知等。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/plugins/workflow-action-trigger", diff --git a/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json b/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json index 68df02749f..2e9a38aefa 100644 --- a/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:聚合查询节点", "description": "Used to aggregate data against the database in workflow, such as: statistics, sum, average, etc.", "description.zh-CN": "可用于在工作流中对数据库进行聚合查询,如:统计数量、求和、平均值等。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-aggregate", diff --git a/packages/plugins/@nocobase/plugin-workflow-delay/package.json b/packages/plugins/@nocobase/plugin-workflow-delay/package.json index f4e6c34181..5290a0776f 100644 --- a/packages/plugins/@nocobase/plugin-workflow-delay/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-delay/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:延时节点", "description": "Could be used in workflow parallel branch for waiting other branches.", "description.zh-CN": "可用于工作流并行分支中等待其他分支执行完成。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-delay", diff --git a/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json b/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json index a45ca3a46b..255d186a90 100644 --- a/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:动态表达式计算节点", "description": "Useful plugin for doing dynamic calculation based on expression collection records in workflow.", "description.zh-CN": "用于在工作流中进行基于数据行的动态表达式计算。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-dynamic-calculation", diff --git a/packages/plugins/@nocobase/plugin-workflow-loop/package.json b/packages/plugins/@nocobase/plugin-workflow-loop/package.json index ae67b5b895..62949adaf9 100644 --- a/packages/plugins/@nocobase/plugin-workflow-loop/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-loop/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:循环节点", "description": "Used to repeat the sub-process processing of each value in an array, and can also be used for fixed times of sub-process processing.", "description.zh-CN": "用于对一个数组中的每个值进行重复的子流程处理,也可用于固定次数的重复子流程处理。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-loop", diff --git a/packages/plugins/@nocobase/plugin-workflow-mailer/package.json b/packages/plugins/@nocobase/plugin-workflow-mailer/package.json index d94aa1ac0d..478b982cd1 100644 --- a/packages/plugins/@nocobase/plugin-workflow-mailer/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-mailer/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:邮件发送节点", "description": "Send email in workflow.", "description.zh-CN": "可用于在工作流中发送电子邮件。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-smtp-mailer", diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/package.json b/packages/plugins/@nocobase/plugin-workflow-manual/package.json index 7fd7cdfbb6..70bd6b20ce 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-manual/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:人工处理节点", "description": "Could be used for workflows which some of decisions are made by users.", "description.zh-CN": "用于人工控制部分决策的流程。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-manual", diff --git a/packages/plugins/@nocobase/plugin-workflow-notification/package.json b/packages/plugins/@nocobase/plugin-workflow-notification/package.json index 92426b1ca9..5d4bb39c0b 100644 --- a/packages/plugins/@nocobase/plugin-workflow-notification/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-notification/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:通知节点", "description": "Send notification in workflow.", "description.zh-CN": "可用于在工作流中发送各类通知。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-smtp-mailer", diff --git a/packages/plugins/@nocobase/plugin-workflow-parallel/package.json b/packages/plugins/@nocobase/plugin-workflow-parallel/package.json index 34d7fdefb8..37708c9259 100644 --- a/packages/plugins/@nocobase/plugin-workflow-parallel/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-parallel/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:并行分支节点", "description": "Could be used for parallel execution of branch processes in the workflow.", "description.zh-CN": "用于在工作流中需要并行执行的分支流程。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-parallel", diff --git a/packages/plugins/@nocobase/plugin-workflow-request/package.json b/packages/plugins/@nocobase/plugin-workflow-request/package.json index f41b8c05d9..7dcd7fedcd 100644 --- a/packages/plugins/@nocobase/plugin-workflow-request/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-request/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:HTTP 请求节点", "description": "Send HTTP requests to any HTTP service for data interaction in workflow.", "description.zh-CN": "可用于在工作流中向任意 HTTP 服务发送请求,进行数据交互。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-request", diff --git a/packages/plugins/@nocobase/plugin-workflow-sql/package.json b/packages/plugins/@nocobase/plugin-workflow-sql/package.json index cde9640163..dae18b2311 100644 --- a/packages/plugins/@nocobase/plugin-workflow-sql/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-sql/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:SQL 节点", "description": "Execute SQL statements in workflow.", "description.zh-CN": "可用于在工作流中对数据库执行任意 SQL 语句。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-sql", diff --git a/packages/plugins/@nocobase/plugin-workflow-test/package.json b/packages/plugins/@nocobase/plugin-workflow-test/package.json index 46548d66e7..3ac80b3b93 100644 --- a/packages/plugins/@nocobase/plugin-workflow-test/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-test/package.json @@ -2,7 +2,7 @@ "name": "@nocobase/plugin-workflow-test", "displayName": "Workflow: test kit", "displayName.zh-CN": "工作流:测试工具包", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "dist/server/index.js", "types": "./dist/server/index.d.ts", diff --git a/packages/plugins/@nocobase/plugin-workflow/package.json b/packages/plugins/@nocobase/plugin-workflow/package.json index 70399481bb..a4ff1c6bf8 100644 --- a/packages/plugins/@nocobase/plugin-workflow/package.json +++ b/packages/plugins/@nocobase/plugin-workflow/package.json @@ -4,13 +4,13 @@ "displayName.zh-CN": "工作流", "description": "A powerful BPM tool that provides foundational support for business automation, with the capability to extend unlimited triggers and nodes.", "description.zh-CN": "一个强大的 BPM 工具,为业务自动化提供基础支持,并且可任意扩展更多的触发器和节点。", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/workflow", "dependencies": { - "@nocobase/plugin-workflow-test": "1.5.0-beta.28" + "@nocobase/plugin-workflow-test": "1.5.0-beta.29" }, "devDependencies": { "@ant-design/icons": "5.x", diff --git a/packages/presets/nocobase/package.json b/packages/presets/nocobase/package.json index 68f7386fed..4e98b5f99f 100644 --- a/packages/presets/nocobase/package.json +++ b/packages/presets/nocobase/package.json @@ -1,78 +1,78 @@ { "name": "@nocobase/preset-nocobase", - "version": "1.5.0-beta.28", + "version": "1.5.0-beta.29", "license": "AGPL-3.0", "main": "./lib/server/index.js", "dependencies": { "@formily/json-schema": "2.x", - "@nocobase/plugin-acl": "1.5.0-beta.28", - "@nocobase/plugin-action-bulk-edit": "1.5.0-beta.28", - "@nocobase/plugin-action-bulk-update": "1.5.0-beta.28", - "@nocobase/plugin-action-custom-request": "1.5.0-beta.28", - "@nocobase/plugin-action-duplicate": "1.5.0-beta.28", - "@nocobase/plugin-action-export": "1.5.0-beta.28", - "@nocobase/plugin-action-import": "1.5.0-beta.28", - "@nocobase/plugin-action-print": "1.5.0-beta.28", - "@nocobase/plugin-api-doc": "1.5.0-beta.28", - "@nocobase/plugin-api-keys": "1.5.0-beta.28", - "@nocobase/plugin-async-task-manager": "1.5.0-beta.28", - "@nocobase/plugin-audit-logs": "1.5.0-beta.28", - "@nocobase/plugin-auth": "1.5.0-beta.28", - "@nocobase/plugin-auth-sms": "1.5.0-beta.28", - "@nocobase/plugin-backup-restore": "1.5.0-beta.28", - "@nocobase/plugin-block-iframe": "1.5.0-beta.28", - "@nocobase/plugin-block-workbench": "1.5.0-beta.28", - "@nocobase/plugin-calendar": "1.5.0-beta.28", - "@nocobase/plugin-charts": "1.5.0-beta.28", - "@nocobase/plugin-client": "1.5.0-beta.28", - "@nocobase/plugin-collection-sql": "1.5.0-beta.28", - "@nocobase/plugin-collection-tree": "1.5.0-beta.28", - "@nocobase/plugin-data-source-main": "1.5.0-beta.28", - "@nocobase/plugin-data-source-manager": "1.5.0-beta.28", - "@nocobase/plugin-data-visualization": "1.5.0-beta.28", - "@nocobase/plugin-error-handler": "1.5.0-beta.28", - "@nocobase/plugin-field-china-region": "1.5.0-beta.28", - "@nocobase/plugin-field-formula": "1.5.0-beta.28", - "@nocobase/plugin-field-m2m-array": "1.5.0-beta.28", - "@nocobase/plugin-field-markdown-vditor": "1.5.0-beta.28", - "@nocobase/plugin-field-sequence": "1.5.0-beta.28", - "@nocobase/plugin-field-sort": "1.5.0-beta.28", - "@nocobase/plugin-file-manager": "1.5.0-beta.28", - "@nocobase/plugin-gantt": "1.5.0-beta.28", - "@nocobase/plugin-graph-collection-manager": "1.5.0-beta.28", - "@nocobase/plugin-kanban": "1.5.0-beta.28", - "@nocobase/plugin-localization": "1.5.0-beta.28", - "@nocobase/plugin-logger": "1.5.0-beta.28", - "@nocobase/plugin-map": "1.5.0-beta.28", - "@nocobase/plugin-mobile": "1.5.0-beta.28", - "@nocobase/plugin-mobile-client": "1.5.0-beta.28", - "@nocobase/plugin-mock-collections": "1.5.0-beta.28", - "@nocobase/plugin-multi-app-manager": "1.5.0-beta.28", - "@nocobase/plugin-multi-app-share-collection": "1.5.0-beta.28", - "@nocobase/plugin-notification-email": "1.5.0-beta.28", - "@nocobase/plugin-notification-in-app-message": "1.5.0-beta.28", - "@nocobase/plugin-notification-manager": "1.5.0-beta.28", - "@nocobase/plugin-public-forms": "1.5.0-beta.28", - "@nocobase/plugin-snapshot-field": "1.5.0-beta.28", - "@nocobase/plugin-system-settings": "1.5.0-beta.28", - "@nocobase/plugin-theme-editor": "1.5.0-beta.28", - "@nocobase/plugin-ui-schema-storage": "1.5.0-beta.28", - "@nocobase/plugin-user-data-sync": "1.5.0-beta.28", - "@nocobase/plugin-users": "1.5.0-beta.28", - "@nocobase/plugin-verification": "1.5.0-beta.28", - "@nocobase/plugin-workflow": "1.5.0-beta.28", - "@nocobase/plugin-workflow-action-trigger": "1.5.0-beta.28", - "@nocobase/plugin-workflow-aggregate": "1.5.0-beta.28", - "@nocobase/plugin-workflow-delay": "1.5.0-beta.28", - "@nocobase/plugin-workflow-dynamic-calculation": "1.5.0-beta.28", - "@nocobase/plugin-workflow-loop": "1.5.0-beta.28", - "@nocobase/plugin-workflow-mailer": "1.5.0-beta.28", - "@nocobase/plugin-workflow-manual": "1.5.0-beta.28", - "@nocobase/plugin-workflow-notification": "1.5.0-beta.28", - "@nocobase/plugin-workflow-parallel": "1.5.0-beta.28", - "@nocobase/plugin-workflow-request": "1.5.0-beta.28", - "@nocobase/plugin-workflow-sql": "1.5.0-beta.28", - "@nocobase/server": "1.5.0-beta.28", + "@nocobase/plugin-acl": "1.5.0-beta.29", + "@nocobase/plugin-action-bulk-edit": "1.5.0-beta.29", + "@nocobase/plugin-action-bulk-update": "1.5.0-beta.29", + "@nocobase/plugin-action-custom-request": "1.5.0-beta.29", + "@nocobase/plugin-action-duplicate": "1.5.0-beta.29", + "@nocobase/plugin-action-export": "1.5.0-beta.29", + "@nocobase/plugin-action-import": "1.5.0-beta.29", + "@nocobase/plugin-action-print": "1.5.0-beta.29", + "@nocobase/plugin-api-doc": "1.5.0-beta.29", + "@nocobase/plugin-api-keys": "1.5.0-beta.29", + "@nocobase/plugin-async-task-manager": "1.5.0-beta.29", + "@nocobase/plugin-audit-logs": "1.5.0-beta.29", + "@nocobase/plugin-auth": "1.5.0-beta.29", + "@nocobase/plugin-auth-sms": "1.5.0-beta.29", + "@nocobase/plugin-backup-restore": "1.5.0-beta.29", + "@nocobase/plugin-block-iframe": "1.5.0-beta.29", + "@nocobase/plugin-block-workbench": "1.5.0-beta.29", + "@nocobase/plugin-calendar": "1.5.0-beta.29", + "@nocobase/plugin-charts": "1.5.0-beta.29", + "@nocobase/plugin-client": "1.5.0-beta.29", + "@nocobase/plugin-collection-sql": "1.5.0-beta.29", + "@nocobase/plugin-collection-tree": "1.5.0-beta.29", + "@nocobase/plugin-data-source-main": "1.5.0-beta.29", + "@nocobase/plugin-data-source-manager": "1.5.0-beta.29", + "@nocobase/plugin-data-visualization": "1.5.0-beta.29", + "@nocobase/plugin-error-handler": "1.5.0-beta.29", + "@nocobase/plugin-field-china-region": "1.5.0-beta.29", + "@nocobase/plugin-field-formula": "1.5.0-beta.29", + "@nocobase/plugin-field-m2m-array": "1.5.0-beta.29", + "@nocobase/plugin-field-markdown-vditor": "1.5.0-beta.29", + "@nocobase/plugin-field-sequence": "1.5.0-beta.29", + "@nocobase/plugin-field-sort": "1.5.0-beta.29", + "@nocobase/plugin-file-manager": "1.5.0-beta.29", + "@nocobase/plugin-gantt": "1.5.0-beta.29", + "@nocobase/plugin-graph-collection-manager": "1.5.0-beta.29", + "@nocobase/plugin-kanban": "1.5.0-beta.29", + "@nocobase/plugin-localization": "1.5.0-beta.29", + "@nocobase/plugin-logger": "1.5.0-beta.29", + "@nocobase/plugin-map": "1.5.0-beta.29", + "@nocobase/plugin-mobile": "1.5.0-beta.29", + "@nocobase/plugin-mobile-client": "1.5.0-beta.29", + "@nocobase/plugin-mock-collections": "1.5.0-beta.29", + "@nocobase/plugin-multi-app-manager": "1.5.0-beta.29", + "@nocobase/plugin-multi-app-share-collection": "1.5.0-beta.29", + "@nocobase/plugin-notification-email": "1.5.0-beta.29", + "@nocobase/plugin-notification-in-app-message": "1.5.0-beta.29", + "@nocobase/plugin-notification-manager": "1.5.0-beta.29", + "@nocobase/plugin-public-forms": "1.5.0-beta.29", + "@nocobase/plugin-snapshot-field": "1.5.0-beta.29", + "@nocobase/plugin-system-settings": "1.5.0-beta.29", + "@nocobase/plugin-theme-editor": "1.5.0-beta.29", + "@nocobase/plugin-ui-schema-storage": "1.5.0-beta.29", + "@nocobase/plugin-user-data-sync": "1.5.0-beta.29", + "@nocobase/plugin-users": "1.5.0-beta.29", + "@nocobase/plugin-verification": "1.5.0-beta.29", + "@nocobase/plugin-workflow": "1.5.0-beta.29", + "@nocobase/plugin-workflow-action-trigger": "1.5.0-beta.29", + "@nocobase/plugin-workflow-aggregate": "1.5.0-beta.29", + "@nocobase/plugin-workflow-delay": "1.5.0-beta.29", + "@nocobase/plugin-workflow-dynamic-calculation": "1.5.0-beta.29", + "@nocobase/plugin-workflow-loop": "1.5.0-beta.29", + "@nocobase/plugin-workflow-mailer": "1.5.0-beta.29", + "@nocobase/plugin-workflow-manual": "1.5.0-beta.29", + "@nocobase/plugin-workflow-notification": "1.5.0-beta.29", + "@nocobase/plugin-workflow-parallel": "1.5.0-beta.29", + "@nocobase/plugin-workflow-request": "1.5.0-beta.29", + "@nocobase/plugin-workflow-sql": "1.5.0-beta.29", + "@nocobase/server": "1.5.0-beta.29", "cronstrue": "^2.11.0", "fs-extra": "^11.1.1" }, From 4e10bee1611d86d531b796881ee93d540d1dec46 Mon Sep 17 00:00:00 2001 From: Zeke Zhang <958414905@qq.com> Date: Thu, 16 Jan 2025 09:34:47 +0800 Subject: [PATCH 008/125] fix(defaultValue): fix the issue where the default value of easy reading mode is not taking effect (#6066) * test: add e2e test * fix: ensure proper dependency tracking --- .../form-create/schemaSettings.test.ts | 248 ++++++++++++++++++ .../antd/association-field/ReadPretty.tsx | 10 +- 2 files changed, 256 insertions(+), 2 deletions(-) diff --git a/packages/core/client/src/modules/blocks/data-blocks/form/__e2e__/form-create/schemaSettings.test.ts b/packages/core/client/src/modules/blocks/data-blocks/form/__e2e__/form-create/schemaSettings.test.ts index 347cdb026e..e210a3172e 100644 --- a/packages/core/client/src/modules/blocks/data-blocks/form/__e2e__/form-create/schemaSettings.test.ts +++ b/packages/core/client/src/modules/blocks/data-blocks/form/__e2e__/form-create/schemaSettings.test.ts @@ -780,6 +780,254 @@ test.describe('set default value', () => { await expect(page.getByLabel('block-item-CollectionField-').getByRole('textbox')).toHaveValue('Super Admin'); }); + + test('easy reading', async ({ page, mockPage, mockRecords }) => { + await mockPage({ + collections: [ + { + name: 'collection_1', + fields: [ + { + name: 'm2o', + interface: 'm2o', + target: 'collection_2', + }, + { + name: 'm2o_2', + interface: 'm2o', + target: 'collection_2', + }, + ], + }, + { + name: 'collection_2', + }, + ], + pageSchema: { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + 'x-component': 'Page', + properties: { + '7kj0c20cftn': { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + 'x-component': 'Grid', + 'x-initializer': 'page:addBlock', + properties: { + omaogkkx2ec: { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + 'x-component': 'Grid.Row', + 'x-app-version': '1.5.0-beta.28', + properties: { + cdiy18aj1ug: { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + 'x-component': 'Grid.Col', + 'x-app-version': '1.5.0-beta.28', + properties: { + wtyaf2xemgb: { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + 'x-acl-action-props': { + skipScopeCheck: true, + }, + 'x-acl-action': 'collection_1:create', + 'x-decorator': 'FormBlockProvider', + 'x-use-decorator-props': 'useCreateFormBlockDecoratorProps', + 'x-decorator-props': { + dataSource: 'main', + collection: 'collection_1', + }, + 'x-toolbar': 'BlockSchemaToolbar', + 'x-settings': 'blockSettings:createForm', + 'x-component': 'CardItem', + 'x-app-version': '1.5.0-beta.28', + properties: { + cp1f3ggdy5e: { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + 'x-component': 'FormV2', + 'x-use-component-props': 'useCreateFormBlockProps', + 'x-app-version': '1.5.0-beta.28', + properties: { + grid: { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + 'x-component': 'Grid', + 'x-initializer': 'form:configureFields', + 'x-app-version': '1.5.0-beta.28', + properties: { + '3a5awam8yz3': { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + 'x-component': 'Grid.Row', + 'x-app-version': '1.5.0-beta.28', + properties: { + '7895fn3fxwx': { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + 'x-component': 'Grid.Col', + 'x-app-version': '1.5.0-beta.28', + properties: { + m2o: { + _isJSONSchemaObject: true, + version: '2.0', + type: 'string', + 'x-toolbar': 'FormItemSchemaToolbar', + 'x-settings': 'fieldSettings:FormItem', + 'x-component': 'CollectionField', + 'x-decorator': 'FormItem', + 'x-collection-field': 'collection_1.m2o', + 'x-component-props': { + fieldNames: { + label: 'id', + value: 'id', + }, + }, + 'x-app-version': '1.5.0-beta.28', + 'x-uid': 'bx3vx09ykir', + 'x-async': false, + 'x-index': 1, + }, + }, + 'x-uid': 'lkaqolxp5qv', + 'x-async': false, + 'x-index': 1, + }, + }, + 'x-uid': '1ljx4q7tvth', + 'x-async': false, + 'x-index': 1, + }, + jg7epacpge9: { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + 'x-component': 'Grid.Row', + 'x-app-version': '1.5.0-beta.28', + properties: { + '9upq531yh61': { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + 'x-component': 'Grid.Col', + 'x-app-version': '1.5.0-beta.28', + properties: { + m2o_2: { + 'x-uid': 'ionq23oqorg', + _isJSONSchemaObject: true, + version: '2.0', + type: 'string', + 'x-toolbar': 'FormItemSchemaToolbar', + 'x-settings': 'fieldSettings:FormItem', + 'x-component': 'CollectionField', + 'x-decorator': 'FormItem', + 'x-collection-field': 'collection_1.m2o_2', + 'x-component-props': { + fieldNames: { + label: 'id', + value: 'id', + }, + }, + 'x-app-version': '1.5.0-beta.28', + 'x-read-pretty': true, + 'x-disabled': false, + default: '{{$nForm.m2o}}', + 'x-async': false, + 'x-index': 1, + }, + }, + 'x-uid': 'i7ebjgsford', + 'x-async': false, + 'x-index': 1, + }, + }, + 'x-uid': 'mkm21x783fl', + 'x-async': false, + 'x-index': 2, + }, + }, + 'x-uid': 'fpaalp1zmth', + 'x-async': false, + 'x-index': 1, + }, + ofw9x3hrdjx: { + _isJSONSchemaObject: true, + version: '2.0', + type: 'void', + 'x-initializer': 'createForm:configureActions', + 'x-component': 'ActionBar', + 'x-component-props': { + layout: 'one-column', + }, + 'x-app-version': '1.5.0-beta.28', + 'x-uid': 'litw9kt4c0j', + 'x-async': false, + 'x-index': 2, + }, + }, + 'x-uid': 'eyvufccf8sl', + 'x-async': false, + 'x-index': 1, + }, + }, + 'x-uid': 'h97bmbe1jwi', + 'x-async': false, + 'x-index': 1, + }, + }, + 'x-uid': '65nov2oolvr', + 'x-async': false, + 'x-index': 1, + }, + }, + 'x-uid': 'snhlffsnqz7', + 'x-async': false, + 'x-index': 1, + }, + }, + 'x-uid': '031qbdov70d', + 'x-async': false, + 'x-index': 1, + }, + }, + 'x-uid': 'h5ytr3kqoto', + 'x-async': true, + 'x-index': 1, + }, + }).goto(); + await mockRecords('collection_2', 3); + + // 1. 设置 `m2o` 字段的值后,`m2o_2` 字段的值会自动更新(因为 `m2o_2` 的默认值是 `{{$nForm.m2o}}`) + await page + .getByLabel('block-item-CollectionField-collection_1-form-collection_1.m2o-m2o') + .getByTestId('select-object-single') + .click(); + await page.getByRole('option', { name: '1' }).click(); + await expect(page.getByLabel('block-item-CollectionField-collection_1-form-collection_1.m2o_2-m2o_2')).toHaveText( + 'm2o_2:1', + ); + + // 2. 设置 `m2o` 字段的值为其它值后,`m2o_2` 字段的值应该自动更新 + await page + .getByLabel('block-item-CollectionField-collection_1-form-collection_1.m2o-m2o') + .getByTestId('select-object-single') + .click(); + await page.getByRole('option', { name: '2' }).click(); + await expect(page.getByLabel('block-item-CollectionField-collection_1-form-collection_1.m2o_2-m2o_2')).toHaveText( + 'm2o_2:2', + ); + }); }); test.describe('actions schema settings', () => { diff --git a/packages/core/client/src/schema-component/antd/association-field/ReadPretty.tsx b/packages/core/client/src/schema-component/antd/association-field/ReadPretty.tsx index 475085f1c5..923d3406ad 100644 --- a/packages/core/client/src/schema-component/antd/association-field/ReadPretty.tsx +++ b/packages/core/client/src/schema-component/antd/association-field/ReadPretty.tsx @@ -7,7 +7,7 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { observer } from '@formily/react'; +import { observer, useField } from '@formily/react'; import React from 'react'; import { AssociationFieldProvider } from './AssociationFieldProvider'; import { FileManageReadPretty } from './FileManager'; @@ -32,9 +32,15 @@ const ReadPrettyAssociationField = (props: any) => { export const ReadPretty = observer( (props) => { + // Using props.value directly causes issues - UI won't update when field.value or field.initialValue changes + const field: any = useField(); + // Don't inline this - we need to access field.initialValue separately to ensure proper dependency tracking + const defaultValue = field.initialValue; + const value = field.value || defaultValue; + return ( - + ); }, From d38f89db85dce9b17b258b134c48c28907f6ec1f Mon Sep 17 00:00:00 2001 From: Junyi Date: Thu, 16 Jan 2025 09:41:17 +0800 Subject: [PATCH 009/125] refactor(resourcer): allow empty object as values (#6070) * refactor(resourcer): allow empty object as values * fix(plugin-action-custom-request): fix test case --- packages/core/resourcer/src/resourcer.ts | 2 +- .../src/server/__tests__/actions.test.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/core/resourcer/src/resourcer.ts b/packages/core/resourcer/src/resourcer.ts index b5779ba48b..6d750e4d20 100644 --- a/packages/core/resourcer/src/resourcer.ts +++ b/packages/core/resourcer/src/resourcer.ts @@ -377,7 +377,7 @@ export class ResourceManager { ctx.action.mergeParams({ ...query, ...params, - ...(_.isEmpty(ctx.request.body) ? {} : { values: ctx.request.body }), + values: ctx.request.body, }); } return compose(ctx.action.getHandlers())(ctx, next); diff --git a/packages/plugins/@nocobase/plugin-action-custom-request/src/server/__tests__/actions.test.ts b/packages/plugins/@nocobase/plugin-action-custom-request/src/server/__tests__/actions.test.ts index 72aeae12e1..c42a236349 100644 --- a/packages/plugins/@nocobase/plugin-action-custom-request/src/server/__tests__/actions.test.ts +++ b/packages/plugins/@nocobase/plugin-action-custom-request/src/server/__tests__/actions.test.ts @@ -57,7 +57,7 @@ describe('actions', () => { filterByTk: 'test', }); expect(res.status).toBe(200); - expect(params).toMatchSnapshot(); + expect(params).toMatchObject({}); }); test('currentRecord.data', async () => { From 63ffe1a99dcabd95ba9f56c30910ebb11ac261f7 Mon Sep 17 00:00:00 2001 From: citlalinda Date: Thu, 16 Jan 2025 10:16:27 +0800 Subject: [PATCH 010/125] feat: add validateConfig to trigger (#6040) * feat: add validateConfig to trigger * refactor: validateConfig * fix: validate config --- .../src/server/ActionTrigger.ts | 16 ++++++++++++++ .../src/server/triggers/CollectionTrigger.ts | 10 +++++++++ .../server/triggers/ScheduleTrigger/index.ts | 22 +++++++++++++++++++ .../src/server/triggers/index.ts | 1 + 4 files changed, 49 insertions(+) diff --git a/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/server/ActionTrigger.ts b/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/server/ActionTrigger.ts index 14bcbbb94c..c509a127fa 100644 --- a/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/server/ActionTrigger.ts +++ b/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/server/ActionTrigger.ts @@ -232,4 +232,20 @@ export default class extends Trigger { options, ); } + + validateConfig(values) { + if (!values.data) { + return { + data: 'Data property is required', + }; + } + + if (!values.userId) { + return { + userId: 'UserId property is required', + }; + } + + return null; + } } diff --git a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/CollectionTrigger.ts b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/CollectionTrigger.ts index d10aeda67d..1985966079 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/CollectionTrigger.ts +++ b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/CollectionTrigger.ts @@ -235,4 +235,14 @@ export default class CollectionTrigger extends Trigger { transaction: this.workflow.useDataSourceTransaction(dataSourceName, transaction), }); } + + validateConfig(values) { + if (!values.data) { + return { + data: 'Data property is required', + }; + } + + return null; + } } diff --git a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/index.ts b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/index.ts index f0da376bd1..2798c8f494 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/index.ts +++ b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/index.ts @@ -68,4 +68,26 @@ export default class ScheduleTrigger extends Trigger { // }); // return !existed.length; // } + + validateConfig(values) { + if (!values.mode) { + return { + mode: 'Mode property is required', + }; + } + + if (!values.startsOn) { + return { + startsOn: 'StartsOn property is required', + }; + } + + if (values.mode === SCHEDULE_MODE.DATE_FIELD && !values.collection) { + return { + collection: 'Collection property is required', + }; + } + + return null; + } } diff --git a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/index.ts b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/index.ts index fec0cab04f..901fc7a054 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/index.ts +++ b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/index.ts @@ -20,6 +20,7 @@ export abstract class Trigger { return true; } duplicateConfig?(workflow: WorkflowModel, options: Transactionable): object | Promise; + validateConfig?(values: any): null | void | { [key: string]: string }; sync?: boolean; execute?( workflow: WorkflowModel, From f26e50117240002488962f9890be22eef94d52a9 Mon Sep 17 00:00:00 2001 From: Junyi Date: Thu, 16 Jan 2025 10:26:27 +0800 Subject: [PATCH 011/125] feat(plugin-workflow-manual): add task title column (#6051) * feat(plugin-workflow-manual): add task title column * fix(plugin-workflow-manual): fix distribution and assignee logic --- .../src/client/WorkflowTodo.tsx | 43 ++++++---- .../src/client/instruction/index.tsx | 82 +++++++++++-------- .../src/locale/zh-CN.json | 4 +- .../src/server/ManualInstruction.ts | 32 +++++--- .../src/server/collections/1-users_jobs.ts | 4 + .../20250113163732-add-task-title.ts | 45 ++++++++++ .../server/triggers/ScheduleTrigger/index.ts | 2 - 7 files changed, 144 insertions(+), 68 deletions(-) create mode 100644 packages/plugins/@nocobase/plugin-workflow-manual/src/server/migrations/20250113163732-add-task-title.ts diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/WorkflowTodo.tsx b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/WorkflowTodo.tsx index 0484e32706..06a9199b1d 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/WorkflowTodo.tsx +++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/WorkflowTodo.tsx @@ -132,6 +132,15 @@ export const todoCollection = { }, }, }, + { + type: 'string', + name: 'title', + uiSchema: { + type: 'string', + title: `{{t("Task title", { ns: "${NAMESPACE}" })}}`, + 'x-component': 'Input', + }, + }, { type: 'belongsTo', name: 'node', @@ -236,6 +245,21 @@ function UserJobStatusColumn(props) { } const tableColumns = { + title: { + type: 'void', + 'x-decorator': 'TableV2.Column.Decorator', + 'x-component': 'TableV2.Column', + 'x-component-props': { + width: null, + }, + title: `{{t("Task title", { ns: "${NAMESPACE}" })}}`, + properties: { + title: { + 'x-component': 'CollectionField', + 'x-read-pretty': true, + }, + }, + }, workflow: { type: 'void', 'x-decorator': 'TableV2.Column.Decorator', @@ -251,21 +275,6 @@ const tableColumns = { }, }, }, - node: { - type: 'void', - 'x-decorator': 'TableV2.Column.Decorator', - 'x-component': 'TableV2.Column', - 'x-component-props': { - width: null, - }, - title: `{{t("Task node", { ns: "${NAMESPACE}" })}}`, - properties: { - node: { - 'x-component': 'NodeColumn', - 'x-read-pretty': true, - }, - }, - }, status: { type: 'void', 'x-decorator': 'TableV2.Column.Decorator', @@ -764,8 +773,6 @@ function TaskBlock() { userId: user?.data?.id, }, appends: [ - 'node.id', - 'node.title', 'job.id', 'job.status', 'job.result', @@ -783,7 +790,7 @@ function TaskBlock() { type: 'void', 'x-component': 'WorkflowTodo', 'x-component-props': { - columns: ['workflow', 'node', 'status', 'createdAt'], + columns: ['title', 'workflow', 'node', 'status', 'createdAt'], }, }, }, diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/instruction/index.tsx b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/instruction/index.tsx index b345d54dae..f293b03df6 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/instruction/index.tsx +++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/instruction/index.tsx @@ -14,6 +14,7 @@ import { getCollectionFieldOptions, CollectionBlockInitializer, Instruction, + WorkflowVariableTextArea, } from '@nocobase/plugin-workflow/client'; import { SchemaConfig, SchemaConfigButton } from './SchemaConfig'; @@ -70,6 +71,42 @@ function useVariables({ key, title, config }, { types, fieldNames = defaultField : null; } +function useInitializers(node): SchemaInitializerItemType | null { + const { getCollection } = useCollectionManager_deprecated(); + const formKeys = Object.keys(node.config.forms ?? {}); + if (!formKeys.length || node.config.mode) { + return null; + } + + const forms = formKeys + .map((formKey) => { + const form = node.config.forms[formKey]; + const { fields = [] } = getCollection(form.collection); + + return fields.length + ? ({ + name: form.title ?? formKey, + type: 'item', + title: form.title ?? formKey, + Component: CollectionBlockInitializer, + collection: form.collection, + dataPath: `$jobsMapByNodeKey.${node.key}.${formKey}`, + } as SchemaInitializerItemType) + : null; + }) + .filter(Boolean); + + return forms.length + ? { + name: `#${node.id}`, + key: 'forms', + type: 'subMenu', + title: node.title, + children: forms, + } + : null; +} + export default class extends Instruction { title = `{{t("Manual", { ns: "${NAMESPACE}" })}}`; type = 'manual'; @@ -102,6 +139,13 @@ export default class extends Instruction { }, }, }, + title: { + type: 'string', + title: `{{t("Task title", { ns: "${NAMESPACE}" })}}`, + 'x-decorator': 'FormItem', + 'x-component': 'WorkflowVariableTextArea', + description: `{{t("Title of each task item. Default to node title.", { ns: "${NAMESPACE}" })}}`, + }, schema: { type: 'void', title: `{{t("User interface", { ns: "${NAMESPACE}" })}}`, @@ -125,44 +169,10 @@ export default class extends Instruction { SchemaConfig, ModeConfig, AssigneesSelect, + WorkflowVariableTextArea, }; useVariables = useVariables; - useInitializers(node): SchemaInitializerItemType | null { - // eslint-disable-next-line react-hooks/rules-of-hooks - const { getCollection } = useCollectionManager_deprecated(); - const formKeys = Object.keys(node.config.forms ?? {}); - if (!formKeys.length || node.config.mode) { - return null; - } - - const forms = formKeys - .map((formKey) => { - const form = node.config.forms[formKey]; - const { fields = [] } = getCollection(form.collection); - - return fields.length - ? ({ - name: form.title ?? formKey, - type: 'item', - title: form.title ?? formKey, - Component: CollectionBlockInitializer, - collection: form.collection, - dataPath: `$jobsMapByNodeKey.${node.key}.${formKey}`, - } as SchemaInitializerItemType) - : null; - }) - .filter(Boolean); - - return forms.length - ? { - name: `#${node.id}`, - key: 'forms', - type: 'subMenu', - title: node.title, - children: forms, - } - : null; - } + useInitializers = useInitializers; isAvailable({ engine, workflow, upstream, branchIndex }) { return !engine.isWorkflowSync(workflow); } diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/locale/zh-CN.json b/packages/plugins/@nocobase/plugin-workflow-manual/src/locale/zh-CN.json index f31ee9308f..e4fc33c679 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/src/locale/zh-CN.json +++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/locale/zh-CN.json @@ -29,5 +29,7 @@ "Task node": "任务节点", "Unprocessed": "未处理", "Please check one of your update record form, and add at least one filter condition in form settings.": "请检查您的其中的更新数据表单,并在表单设置中至少添加一个筛选条件。", - "My manual tasks": "我的人工任务" + "My manual tasks": "我的人工任务", + "Task title": "任务名称", + "Title of each task item. Default to node title.": "每项任务的名称。默认为节点名称。" } diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/server/ManualInstruction.ts b/packages/plugins/@nocobase/plugin-workflow-manual/src/server/ManualInstruction.ts index 9e69687934..47fe7d5e87 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/src/server/ManualInstruction.ts +++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/server/ManualInstruction.ts @@ -25,6 +25,7 @@ export interface ManualConfig { forms: { [key: string]: FormType }; assignees?: (number | string)[]; mode?: number; + title?: string; } const MULTIPLE_ASSIGNED_MODE = { @@ -115,7 +116,7 @@ export default class extends Instruction { if (!assignees.length) { return job; } - + const title = config.title ? processor.getParsedValue(config.title, node.id) : node.title; // NOTE: batch create users jobs const UserJobModel = this.workflow.app.db.getModel('users_jobs'); await UserJobModel.bulkCreate( @@ -126,9 +127,10 @@ export default class extends Instruction { executionId: job.executionId, workflowId: node.workflowId, status: JOB_STATUS.PENDING, + title, })), { - // transaction: processor.transaction, + transaction: processor.mainTransaction, }, ); @@ -138,21 +140,29 @@ export default class extends Instruction { async resume(node, job, processor: Processor) { // NOTE: check all users jobs related if all done then continue as parallel const { mode } = node.config as ManualConfig; - const assignees = [...new Set(processor.getParsedValue(node.config.assignees, node.id).flat().filter(Boolean))]; - const UserJobModel = this.workflow.app.db.getModel('users_jobs'); - const distribution = await UserJobModel.count({ + const UserJobRepo = this.workflow.app.db.getRepository('users_jobs'); + const jobs = await UserJobRepo.find({ where: { jobId: job.id, }, - group: ['status'], - // transaction: processor.transaction, + transaction: processor.mainTransaction, }); + const assignees = []; + const distributionMap = jobs.reduce((result, item) => { + if (result[item.status] == null) { + result[item.status] = 0; + } + result[item.status] += 1; + assignees.push(item.userId); + return result; + }, {}); + const distribution = Object.keys(distributionMap).map((status) => ({ + status: Number.parseInt(status, 10), + count: distributionMap[status], + })); - const submitted = distribution.reduce( - (count, item) => (item.status !== JOB_STATUS.PENDING ? count + item.count : count), - 0, - ); + const submitted = jobs.reduce((count, item) => (item.status !== JOB_STATUS.PENDING ? count + 1 : count), 0); const status = job.status || (getMode(mode).getStatus(distribution, assignees) ?? JOB_STATUS.PENDING); const result = mode ? (submitted || 0) / assignees.length : job.latestUserJob?.result ?? job.result; processor.logger.debug(`manual resume job and next status: ${status}`); diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/server/collections/1-users_jobs.ts b/packages/plugins/@nocobase/plugin-workflow-manual/src/server/collections/1-users_jobs.ts index 6899156881..9d7fb4009b 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/src/server/collections/1-users_jobs.ts +++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/server/collections/1-users_jobs.ts @@ -37,6 +37,10 @@ export default defineCollection({ foreignKey: 'userId', primaryKey: false, }, + { + type: 'string', + name: 'title', + }, { type: 'belongsTo', name: 'execution', diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/server/migrations/20250113163732-add-task-title.ts b/packages/plugins/@nocobase/plugin-workflow-manual/src/server/migrations/20250113163732-add-task-title.ts new file mode 100644 index 0000000000..53b276deaa --- /dev/null +++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/server/migrations/20250113163732-add-task-title.ts @@ -0,0 +1,45 @@ +/** + * This file is part of the NocoBase (R) project. + * Copyright (c) 2020-2024 NocoBase Co., Ltd. + * Authors: NocoBase Team. + * + * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License. + * For more information, please refer to: https://www.nocobase.com/agreement. + */ + +import { Migration } from '@nocobase/server'; + +export default class extends Migration { + appVersion = '<1.6.0-alpha.13'; + async up() { + const { db } = this.context; + const NodeRepo = db.getRepository('flow_nodes'); + const TaskRepo = db.getRepository('users_jobs'); + await db.sequelize.transaction(async (transaction) => { + const nodes = await NodeRepo.find({ + filter: { + type: 'manual', + }, + transaction, + }); + + await nodes.reduce( + (promise, node) => + promise.then(() => { + return TaskRepo.update({ + filter: { + nodeId: node.id, + }, + values: { + title: node.title, + }, + individualHooks: false, + silent: true, + transaction, + }); + }), + Promise.resolve(), + ); + }); + } +} diff --git a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/index.ts b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/index.ts index 2798c8f494..c14f4f4a33 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/index.ts +++ b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/index.ts @@ -7,8 +7,6 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Context } from '@nocobase/actions'; -import { parseCollectionName } from '@nocobase/data-source-manager'; import Trigger from '..'; import type Plugin from '../../Plugin'; import DateFieldScheduleTrigger from './DateFieldScheduleTrigger'; From c4a681203b45bea184e43dbb0e7cf8d5f190a081 Mon Sep 17 00:00:00 2001 From: "nocobase[bot]" <179432756+nocobase[bot]@users.noreply.github.com> Date: Thu, 16 Jan 2025 03:04:22 +0000 Subject: [PATCH 012/125] =?UTF-8?q?chore(versions):=20=F0=9F=98=8A=20publi?= =?UTF-8?q?sh=20v1.5.0-beta.30?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lerna.json | 2 +- packages/core/acl/package.json | 6 +- packages/core/actions/package.json | 8 +- packages/core/app/package.json | 10 +- packages/core/auth/package.json | 12 +- packages/core/build/package.json | 2 +- packages/core/cache/package.json | 2 +- packages/core/cli/package.json | 6 +- packages/core/client/package.json | 8 +- .../core/create-nocobase-app/package.json | 2 +- .../core/data-source-manager/package.json | 12 +- packages/core/database/package.json | 6 +- packages/core/devtools/package.json | 8 +- packages/core/evaluators/package.json | 4 +- packages/core/lock-manager/package.json | 4 +- packages/core/logger/package.json | 2 +- packages/core/resourcer/package.json | 4 +- packages/core/sdk/package.json | 2 +- packages/core/server/package.json | 28 ++-- packages/core/telemetry/package.json | 4 +- packages/core/test/package.json | 4 +- packages/core/utils/package.json | 2 +- .../plugins/@nocobase/plugin-acl/package.json | 2 +- .../plugin-action-bulk-edit/package.json | 2 +- .../plugin-action-bulk-update/package.json | 2 +- .../plugin-action-custom-request/package.json | 2 +- .../plugin-action-duplicate/package.json | 2 +- .../plugin-action-export/package.json | 2 +- .../plugin-action-import/package.json | 2 +- .../plugin-action-print/package.json | 2 +- .../@nocobase/plugin-api-doc/package.json | 2 +- .../@nocobase/plugin-api-keys/package.json | 2 +- .../plugin-async-task-manager/package.json | 2 +- .../@nocobase/plugin-audit-logs/package.json | 2 +- .../@nocobase/plugin-auth-sms/package.json | 2 +- .../@nocobase/plugin-auth/package.json | 2 +- .../plugin-backup-restore/package.json | 2 +- .../plugin-block-iframe/package.json | 2 +- .../plugin-block-workbench/package.json | 2 +- .../@nocobase/plugin-calendar/package.json | 2 +- .../@nocobase/plugin-charts/package.json | 2 +- .../@nocobase/plugin-client/package.json | 2 +- .../plugin-collection-sql/package.json | 2 +- .../plugin-collection-tree/package.json | 2 +- .../plugin-data-source-main/package.json | 2 +- .../plugin-data-source-manager/package.json | 2 +- .../plugin-data-visualization/package.json | 2 +- .../plugin-disable-pm-add/package.json | 2 +- .../plugin-error-handler/package.json | 2 +- .../plugin-field-china-region/package.json | 2 +- .../plugin-field-formula/package.json | 2 +- .../plugin-field-m2m-array/package.json | 2 +- .../plugin-field-markdown-vditor/package.json | 2 +- .../plugin-field-sequence/package.json | 2 +- .../@nocobase/plugin-field-sort/package.json | 2 +- .../plugin-file-manager/package.json | 2 +- .../@nocobase/plugin-gantt/package.json | 2 +- .../package.json | 2 +- .../@nocobase/plugin-kanban/package.json | 2 +- .../plugin-localization/package.json | 2 +- .../@nocobase/plugin-logger/package.json | 2 +- .../plugins/@nocobase/plugin-map/package.json | 2 +- .../plugin-mobile-client/package.json | 2 +- .../@nocobase/plugin-mobile/package.json | 2 +- .../plugin-mock-collections/package.json | 2 +- .../plugin-multi-app-manager/package.json | 2 +- .../package.json | 2 +- .../plugin-notification-email/package.json | 2 +- .../package.json | 2 +- .../plugin-notification-manager/package.json | 2 +- .../plugin-notifications/package.json | 2 +- .../plugin-public-forms/package.json | 2 +- .../plugin-sample-hello/package.json | 2 +- .../plugin-snapshot-field/package.json | 2 +- .../plugin-system-settings/package.json | 2 +- .../plugin-theme-editor/package.json | 2 +- .../plugin-ui-schema-storage/package.json | 2 +- .../plugin-user-data-sync/package.json | 2 +- .../@nocobase/plugin-users/package.json | 2 +- .../plugin-verification/package.json | 2 +- .../package.json | 2 +- .../plugin-workflow-aggregate/package.json | 2 +- .../plugin-workflow-delay/package.json | 2 +- .../package.json | 2 +- .../plugin-workflow-loop/package.json | 2 +- .../plugin-workflow-mailer/package.json | 2 +- .../plugin-workflow-manual/package.json | 2 +- .../plugin-workflow-notification/package.json | 2 +- .../plugin-workflow-parallel/package.json | 2 +- .../plugin-workflow-request/package.json | 2 +- .../plugin-workflow-sql/package.json | 2 +- .../plugin-workflow-test/package.json | 2 +- .../@nocobase/plugin-workflow/package.json | 4 +- packages/presets/nocobase/package.json | 138 +++++++++--------- 94 files changed, 210 insertions(+), 210 deletions(-) diff --git a/lerna.json b/lerna.json index f9c87b958c..3e6a4ca076 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "npmClient": "yarn", "useWorkspaces": true, "npmClientArgs": [ diff --git a/packages/core/acl/package.json b/packages/core/acl/package.json index 83ebe02f63..fd17b7bf7c 100644 --- a/packages/core/acl/package.json +++ b/packages/core/acl/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/acl", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/resourcer": "1.5.0-beta.29", - "@nocobase/utils": "1.5.0-beta.29", + "@nocobase/resourcer": "1.5.0-beta.30", + "@nocobase/utils": "1.5.0-beta.30", "minimatch": "^5.1.1" }, "repository": { diff --git a/packages/core/actions/package.json b/packages/core/actions/package.json index a538fdc30a..9725877e7c 100644 --- a/packages/core/actions/package.json +++ b/packages/core/actions/package.json @@ -1,14 +1,14 @@ { "name": "@nocobase/actions", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/cache": "1.5.0-beta.29", - "@nocobase/database": "1.5.0-beta.29", - "@nocobase/resourcer": "1.5.0-beta.29" + "@nocobase/cache": "1.5.0-beta.30", + "@nocobase/database": "1.5.0-beta.30", + "@nocobase/resourcer": "1.5.0-beta.30" }, "repository": { "type": "git", diff --git a/packages/core/app/package.json b/packages/core/app/package.json index 1537651a54..79a8449e3e 100644 --- a/packages/core/app/package.json +++ b/packages/core/app/package.json @@ -1,17 +1,17 @@ { "name": "@nocobase/app", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/database": "1.5.0-beta.29", - "@nocobase/preset-nocobase": "1.5.0-beta.29", - "@nocobase/server": "1.5.0-beta.29" + "@nocobase/database": "1.5.0-beta.30", + "@nocobase/preset-nocobase": "1.5.0-beta.30", + "@nocobase/server": "1.5.0-beta.30" }, "devDependencies": { - "@nocobase/client": "1.5.0-beta.29" + "@nocobase/client": "1.5.0-beta.30" }, "repository": { "type": "git", diff --git a/packages/core/auth/package.json b/packages/core/auth/package.json index 20c2313036..f80d5af1d1 100644 --- a/packages/core/auth/package.json +++ b/packages/core/auth/package.json @@ -1,16 +1,16 @@ { "name": "@nocobase/auth", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/actions": "1.5.0-beta.29", - "@nocobase/cache": "1.5.0-beta.29", - "@nocobase/database": "1.5.0-beta.29", - "@nocobase/resourcer": "1.5.0-beta.29", - "@nocobase/utils": "1.5.0-beta.29", + "@nocobase/actions": "1.5.0-beta.30", + "@nocobase/cache": "1.5.0-beta.30", + "@nocobase/database": "1.5.0-beta.30", + "@nocobase/resourcer": "1.5.0-beta.30", + "@nocobase/utils": "1.5.0-beta.30", "@types/jsonwebtoken": "^8.5.8", "jsonwebtoken": "^8.5.1" }, diff --git a/packages/core/build/package.json b/packages/core/build/package.json index 552ecf0f7b..7d93c5f7c3 100644 --- a/packages/core/build/package.json +++ b/packages/core/build/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/build", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "description": "Library build tool based on rollup.", "main": "lib/index.js", "types": "./lib/index.d.ts", diff --git a/packages/core/cache/package.json b/packages/core/cache/package.json index 7ce5831240..ff988c6179 100644 --- a/packages/core/cache/package.json +++ b/packages/core/cache/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/cache", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", diff --git a/packages/core/cli/package.json b/packages/core/cli/package.json index 2278bf32f9..80ac2a9a11 100644 --- a/packages/core/cli/package.json +++ b/packages/core/cli/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/cli", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "description": "", "license": "AGPL-3.0", "main": "./src/index.js", @@ -8,7 +8,7 @@ "nocobase": "./bin/index.js" }, "dependencies": { - "@nocobase/app": "1.5.0-beta.29", + "@nocobase/app": "1.5.0-beta.30", "@types/fs-extra": "^11.0.1", "@umijs/utils": "3.5.20", "chalk": "^4.1.1", @@ -25,7 +25,7 @@ "tsx": "^4.19.0" }, "devDependencies": { - "@nocobase/devtools": "1.5.0-beta.29" + "@nocobase/devtools": "1.5.0-beta.30" }, "repository": { "type": "git", diff --git a/packages/core/client/package.json b/packages/core/client/package.json index 46c6c1f072..3593ff54b5 100644 --- a/packages/core/client/package.json +++ b/packages/core/client/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/client", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "lib/index.js", "module": "es/index.mjs", @@ -27,9 +27,9 @@ "@formily/reactive-react": "^2.2.27", "@formily/shared": "^2.2.27", "@formily/validator": "^2.2.27", - "@nocobase/evaluators": "1.5.0-beta.29", - "@nocobase/sdk": "1.5.0-beta.29", - "@nocobase/utils": "1.5.0-beta.29", + "@nocobase/evaluators": "1.5.0-beta.30", + "@nocobase/sdk": "1.5.0-beta.30", + "@nocobase/utils": "1.5.0-beta.30", "ahooks": "^3.7.2", "antd": "5.12.8", "antd-style": "3.7.1", diff --git a/packages/core/create-nocobase-app/package.json b/packages/core/create-nocobase-app/package.json index ad651144f7..012c559e23 100755 --- a/packages/core/create-nocobase-app/package.json +++ b/packages/core/create-nocobase-app/package.json @@ -1,6 +1,6 @@ { "name": "create-nocobase-app", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "main": "src/index.js", "license": "AGPL-3.0", "dependencies": { diff --git a/packages/core/data-source-manager/package.json b/packages/core/data-source-manager/package.json index cf74273ab8..60a587abb2 100644 --- a/packages/core/data-source-manager/package.json +++ b/packages/core/data-source-manager/package.json @@ -1,16 +1,16 @@ { "name": "@nocobase/data-source-manager", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/actions": "1.5.0-beta.29", - "@nocobase/cache": "1.5.0-beta.29", - "@nocobase/database": "1.5.0-beta.29", - "@nocobase/resourcer": "1.5.0-beta.29", - "@nocobase/utils": "1.5.0-beta.29", + "@nocobase/actions": "1.5.0-beta.30", + "@nocobase/cache": "1.5.0-beta.30", + "@nocobase/database": "1.5.0-beta.30", + "@nocobase/resourcer": "1.5.0-beta.30", + "@nocobase/utils": "1.5.0-beta.30", "@types/jsonwebtoken": "^8.5.8", "jsonwebtoken": "^8.5.1" }, diff --git a/packages/core/database/package.json b/packages/core/database/package.json index e07c542dcd..0b217e157b 100644 --- a/packages/core/database/package.json +++ b/packages/core/database/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/database", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", "dependencies": { - "@nocobase/logger": "1.5.0-beta.29", - "@nocobase/utils": "1.5.0-beta.29", + "@nocobase/logger": "1.5.0-beta.30", + "@nocobase/utils": "1.5.0-beta.30", "async-mutex": "^0.3.2", "chalk": "^4.1.1", "cron-parser": "4.4.0", diff --git a/packages/core/devtools/package.json b/packages/core/devtools/package.json index 5e246f0e03..59ddcbe028 100644 --- a/packages/core/devtools/package.json +++ b/packages/core/devtools/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/devtools", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "description": "", "license": "AGPL-3.0", "main": "./src/index.js", "dependencies": { - "@nocobase/build": "1.5.0-beta.29", - "@nocobase/client": "1.5.0-beta.29", - "@nocobase/test": "1.5.0-beta.29", + "@nocobase/build": "1.5.0-beta.30", + "@nocobase/client": "1.5.0-beta.30", + "@nocobase/test": "1.5.0-beta.30", "@types/koa": "^2.13.4", "@types/koa-bodyparser": "^4.3.4", "@types/lodash": "^4.14.177", diff --git a/packages/core/evaluators/package.json b/packages/core/evaluators/package.json index d8d9bf24c0..f5f4103a7d 100644 --- a/packages/core/evaluators/package.json +++ b/packages/core/evaluators/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/evaluators", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", "dependencies": { "@formulajs/formulajs": "4.4.9", - "@nocobase/utils": "1.5.0-beta.29", + "@nocobase/utils": "1.5.0-beta.30", "mathjs": "^10.6.0" }, "repository": { diff --git a/packages/core/lock-manager/package.json b/packages/core/lock-manager/package.json index a8e683a671..273e8f17d0 100644 --- a/packages/core/lock-manager/package.json +++ b/packages/core/lock-manager/package.json @@ -1,10 +1,10 @@ { "name": "@nocobase/lock-manager", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "main": "lib/index.js", "license": "AGPL-3.0", "devDependencies": { - "@nocobase/utils": "1.5.0-beta.29", + "@nocobase/utils": "1.5.0-beta.30", "async-mutex": "^0.5.0" } } diff --git a/packages/core/logger/package.json b/packages/core/logger/package.json index cfa0678be2..d0ce647b75 100644 --- a/packages/core/logger/package.json +++ b/packages/core/logger/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/logger", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "description": "nocobase logging library", "license": "AGPL-3.0", "main": "./lib/index.js", diff --git a/packages/core/resourcer/package.json b/packages/core/resourcer/package.json index f1141c6702..8f43e0c778 100644 --- a/packages/core/resourcer/package.json +++ b/packages/core/resourcer/package.json @@ -1,12 +1,12 @@ { "name": "@nocobase/resourcer", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", "dependencies": { - "@nocobase/utils": "1.5.0-beta.29", + "@nocobase/utils": "1.5.0-beta.30", "deepmerge": "^4.2.2", "koa-compose": "^4.1.0", "lodash": "^4.17.21", diff --git a/packages/core/sdk/package.json b/packages/core/sdk/package.json index b353449441..0cb0fcaf06 100644 --- a/packages/core/sdk/package.json +++ b/packages/core/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/sdk", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/packages/core/server/package.json b/packages/core/server/package.json index be80adffb9..3b00b9a2f8 100644 --- a/packages/core/server/package.json +++ b/packages/core/server/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/server", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "main": "lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", @@ -10,19 +10,19 @@ "@koa/cors": "^3.1.0", "@koa/multer": "^3.0.2", "@koa/router": "^9.4.0", - "@nocobase/acl": "1.5.0-beta.29", - "@nocobase/actions": "1.5.0-beta.29", - "@nocobase/auth": "1.5.0-beta.29", - "@nocobase/cache": "1.5.0-beta.29", - "@nocobase/data-source-manager": "1.5.0-beta.29", - "@nocobase/database": "1.5.0-beta.29", - "@nocobase/evaluators": "1.5.0-beta.29", - "@nocobase/lock-manager": "1.5.0-beta.29", - "@nocobase/logger": "1.5.0-beta.29", - "@nocobase/resourcer": "1.5.0-beta.29", - "@nocobase/sdk": "1.5.0-beta.29", - "@nocobase/telemetry": "1.5.0-beta.29", - "@nocobase/utils": "1.5.0-beta.29", + "@nocobase/acl": "1.5.0-beta.30", + "@nocobase/actions": "1.5.0-beta.30", + "@nocobase/auth": "1.5.0-beta.30", + "@nocobase/cache": "1.5.0-beta.30", + "@nocobase/data-source-manager": "1.5.0-beta.30", + "@nocobase/database": "1.5.0-beta.30", + "@nocobase/evaluators": "1.5.0-beta.30", + "@nocobase/lock-manager": "1.5.0-beta.30", + "@nocobase/logger": "1.5.0-beta.30", + "@nocobase/resourcer": "1.5.0-beta.30", + "@nocobase/sdk": "1.5.0-beta.30", + "@nocobase/telemetry": "1.5.0-beta.30", + "@nocobase/utils": "1.5.0-beta.30", "@types/decompress": "4.2.7", "@types/ini": "^1.3.31", "@types/koa-send": "^4.1.3", diff --git a/packages/core/telemetry/package.json b/packages/core/telemetry/package.json index a52622d85a..72e6781678 100644 --- a/packages/core/telemetry/package.json +++ b/packages/core/telemetry/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/telemetry", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "description": "nocobase telemetry library", "license": "AGPL-3.0", "main": "./lib/index.js", @@ -11,7 +11,7 @@ "directory": "packages/telemetry" }, "dependencies": { - "@nocobase/utils": "1.5.0-beta.29", + "@nocobase/utils": "1.5.0-beta.30", "@opentelemetry/api": "^1.7.0", "@opentelemetry/instrumentation": "^0.46.0", "@opentelemetry/resources": "^1.19.0", diff --git a/packages/core/test/package.json b/packages/core/test/package.json index 42ac70a47c..34858debec 100644 --- a/packages/core/test/package.json +++ b/packages/core/test/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/test", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "main": "lib/index.js", "module": "./src/index.ts", "types": "./lib/index.d.ts", @@ -51,7 +51,7 @@ }, "dependencies": { "@faker-js/faker": "8.1.0", - "@nocobase/server": "1.5.0-beta.29", + "@nocobase/server": "1.5.0-beta.30", "@playwright/test": "^1.45.3", "@testing-library/jest-dom": "^6.4.2", "@testing-library/react": "^14.0.0", diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index 3240aff220..f77ff775b0 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/utils", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "main": "lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", diff --git a/packages/plugins/@nocobase/plugin-acl/package.json b/packages/plugins/@nocobase/plugin-acl/package.json index 2c1b9d582e..050e68f83a 100644 --- a/packages/plugins/@nocobase/plugin-acl/package.json +++ b/packages/plugins/@nocobase/plugin-acl/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "权限控制", "description": "Based on roles, resources, and actions, access control can precisely manage interface configuration permissions, data operation permissions, menu access permissions, and plugin permissions.", "description.zh-CN": "基于角色、资源和操作的权限控制,可以精确控制界面配置权限、数据操作权限、菜单访问权限、插件权限。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/acl", diff --git a/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json b/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json index b1500da5e9..2201112407 100644 --- a/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json +++ b/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-bulk-edit", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-bulk-edit", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-bulk-edit", diff --git a/packages/plugins/@nocobase/plugin-action-bulk-update/package.json b/packages/plugins/@nocobase/plugin-action-bulk-update/package.json index 0169008611..fd76c8a726 100644 --- a/packages/plugins/@nocobase/plugin-action-bulk-update/package.json +++ b/packages/plugins/@nocobase/plugin-action-bulk-update/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-bulk-update", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-bulk-update", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-bulk-update", diff --git a/packages/plugins/@nocobase/plugin-action-custom-request/package.json b/packages/plugins/@nocobase/plugin-action-custom-request/package.json index fc40fbdb61..d957319b99 100644 --- a/packages/plugins/@nocobase/plugin-action-custom-request/package.json +++ b/packages/plugins/@nocobase/plugin-action-custom-request/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-custom-request", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-custom-request", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-custom-request", diff --git a/packages/plugins/@nocobase/plugin-action-duplicate/package.json b/packages/plugins/@nocobase/plugin-action-duplicate/package.json index 3f0803bb5e..523f928f4e 100644 --- a/packages/plugins/@nocobase/plugin-action-duplicate/package.json +++ b/packages/plugins/@nocobase/plugin-action-duplicate/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-duplicate", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-duplicate", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-duplicate", diff --git a/packages/plugins/@nocobase/plugin-action-export/package.json b/packages/plugins/@nocobase/plugin-action-export/package.json index ced38d6692..a483cec8dc 100644 --- a/packages/plugins/@nocobase/plugin-action-export/package.json +++ b/packages/plugins/@nocobase/plugin-action-export/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "操作:导出记录", "description": "Export filtered records to excel, you can configure which fields to export.", "description.zh-CN": "导出筛选后的记录到 Excel 中,可以配置导出哪些字段。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-export", diff --git a/packages/plugins/@nocobase/plugin-action-import/package.json b/packages/plugins/@nocobase/plugin-action-import/package.json index 152b711b98..5933ec4c3c 100644 --- a/packages/plugins/@nocobase/plugin-action-import/package.json +++ b/packages/plugins/@nocobase/plugin-action-import/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "操作:导入记录", "description": "Import records using excel templates. You can configure which fields to import and templates will be generated automatically.", "description.zh-CN": "使用 Excel 模板导入数据,可以配置导入哪些字段,自动生成模板。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-import", diff --git a/packages/plugins/@nocobase/plugin-action-print/package.json b/packages/plugins/@nocobase/plugin-action-print/package.json index 1450e9bd09..4de44cbbcd 100644 --- a/packages/plugins/@nocobase/plugin-action-print/package.json +++ b/packages/plugins/@nocobase/plugin-action-print/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-print", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-print", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-print", diff --git a/packages/plugins/@nocobase/plugin-api-doc/package.json b/packages/plugins/@nocobase/plugin-api-doc/package.json index c448dc83cc..0354e5fe03 100644 --- a/packages/plugins/@nocobase/plugin-api-doc/package.json +++ b/packages/plugins/@nocobase/plugin-api-doc/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-api-doc", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "displayName": "API documentation", "displayName.zh-CN": "API 文档", "description": "An OpenAPI documentation generator for NocoBase HTTP API.", diff --git a/packages/plugins/@nocobase/plugin-api-keys/package.json b/packages/plugins/@nocobase/plugin-api-keys/package.json index 9038e5a785..943e78589f 100644 --- a/packages/plugins/@nocobase/plugin-api-keys/package.json +++ b/packages/plugins/@nocobase/plugin-api-keys/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "认证:API 密钥", "description": "Allows users to use API key to access application's HTTP API", "description.zh-CN": "允许用户使用 API 密钥访问应用的 HTTP API", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/api-keys", diff --git a/packages/plugins/@nocobase/plugin-async-task-manager/package.json b/packages/plugins/@nocobase/plugin-async-task-manager/package.json index 8958fe469e..382871b23e 100644 --- a/packages/plugins/@nocobase/plugin-async-task-manager/package.json +++ b/packages/plugins/@nocobase/plugin-async-task-manager/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "异步任务管理器", "description": "Manage and monitor asynchronous tasks such as data import/export. Support task progress tracking and notification.", "description.zh-CN": "管理和监控数据导入导出等异步任务。支持任务进度跟踪和通知。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "main": "dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-audit-logs/package.json b/packages/plugins/@nocobase/plugin-audit-logs/package.json index 959604006e..4f4384a97c 100644 --- a/packages/plugins/@nocobase/plugin-audit-logs/package.json +++ b/packages/plugins/@nocobase/plugin-audit-logs/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-audit-logs", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "displayName": "Audit logs (deprecated)", "displayName.zh-CN": "审计日志(废弃)", "description": "This plugin is deprecated. There will be a new audit log plugin in the future.", diff --git a/packages/plugins/@nocobase/plugin-auth-sms/package.json b/packages/plugins/@nocobase/plugin-auth-sms/package.json index c1246416c4..eafaebf6ac 100644 --- a/packages/plugins/@nocobase/plugin-auth-sms/package.json +++ b/packages/plugins/@nocobase/plugin-auth-sms/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "认证:短信", "description": "SMS authentication.", "description.zh-CN": "通过短信验证码认证身份。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/auth-sms", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/auth-sms", diff --git a/packages/plugins/@nocobase/plugin-auth/package.json b/packages/plugins/@nocobase/plugin-auth/package.json index 2bc06690a1..2228fe1d7c 100644 --- a/packages/plugins/@nocobase/plugin-auth/package.json +++ b/packages/plugins/@nocobase/plugin-auth/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-auth", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/auth", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/auth", diff --git a/packages/plugins/@nocobase/plugin-backup-restore/package.json b/packages/plugins/@nocobase/plugin-backup-restore/package.json index 9581e1abdc..6efd656a7d 100644 --- a/packages/plugins/@nocobase/plugin-backup-restore/package.json +++ b/packages/plugins/@nocobase/plugin-backup-restore/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "应用的备份与还原(废弃)", "description": "Backup and restore applications for scenarios such as application replication, migration, and upgrades.", "description.zh-CN": "备份和还原应用,可用于应用的复制、迁移、升级等场景。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/backup-restore", diff --git a/packages/plugins/@nocobase/plugin-block-iframe/package.json b/packages/plugins/@nocobase/plugin-block-iframe/package.json index a2715ad5ac..6625d63264 100644 --- a/packages/plugins/@nocobase/plugin-block-iframe/package.json +++ b/packages/plugins/@nocobase/plugin-block-iframe/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "区块:iframe", "description": "Create an iframe block on the page to embed and display external web pages or content.", "description.zh-CN": "在页面上创建和管理iframe,用于嵌入和展示外部网页或内容。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/block-iframe", diff --git a/packages/plugins/@nocobase/plugin-block-workbench/package.json b/packages/plugins/@nocobase/plugin-block-workbench/package.json index dca69472e3..7414757bbc 100644 --- a/packages/plugins/@nocobase/plugin-block-workbench/package.json +++ b/packages/plugins/@nocobase/plugin-block-workbench/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-block-workbench", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "displayName": "Block: Action panel", "displayName.zh-CN": "区块:操作面板", "description": "Centrally manages and displays various actions, allowing users to efficiently perform tasks. It supports extensibility, with current action types including pop-ups, links, scanning, and custom requests.", diff --git a/packages/plugins/@nocobase/plugin-calendar/package.json b/packages/plugins/@nocobase/plugin-calendar/package.json index b5ece9fea0..fbf75394bd 100644 --- a/packages/plugins/@nocobase/plugin-calendar/package.json +++ b/packages/plugins/@nocobase/plugin-calendar/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-calendar", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "displayName": "Calendar", "displayName.zh-CN": "日历", "description": "Provides callendar collection template and block for managing date data, typically for date/time related information such as events, appointments, tasks, and so on.", diff --git a/packages/plugins/@nocobase/plugin-charts/package.json b/packages/plugins/@nocobase/plugin-charts/package.json index 84fa24b3bb..42e9835ba8 100644 --- a/packages/plugins/@nocobase/plugin-charts/package.json +++ b/packages/plugins/@nocobase/plugin-charts/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "图表(废弃)", "description": "The plugin has been deprecated, please use the data visualization plugin instead.", "description.zh-CN": "已废弃插件,请使用数据可视化插件代替。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "main": "./dist/server/index.js", "license": "AGPL-3.0", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-client/package.json b/packages/plugins/@nocobase/plugin-client/package.json index 8686de4f3d..8aa81bea27 100644 --- a/packages/plugins/@nocobase/plugin-client/package.json +++ b/packages/plugins/@nocobase/plugin-client/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "WEB 客户端", "description": "Provides a client interface for the NocoBase server", "description.zh-CN": "为 NocoBase 服务端提供客户端界面", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "main": "./dist/server/index.js", "license": "AGPL-3.0", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-collection-sql/package.json b/packages/plugins/@nocobase/plugin-collection-sql/package.json index 6c2f300b1b..5611ca4b09 100644 --- a/packages/plugins/@nocobase/plugin-collection-sql/package.json +++ b/packages/plugins/@nocobase/plugin-collection-sql/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表: SQL", "description": "Provides SQL collection template", "description.zh-CN": "提供 SQL 数据表模板", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "homepage": "https://docs-cn.nocobase.com/handbook/collection-sql", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/collection-sql", "main": "dist/server/index.js", diff --git a/packages/plugins/@nocobase/plugin-collection-tree/package.json b/packages/plugins/@nocobase/plugin-collection-tree/package.json index 0b5302117f..a7c1b63670 100644 --- a/packages/plugins/@nocobase/plugin-collection-tree/package.json +++ b/packages/plugins/@nocobase/plugin-collection-tree/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-collection-tree", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "displayName": "Collection: Tree", "displayName.zh-CN": "数据表:树", "description": "Provides tree collection template", diff --git a/packages/plugins/@nocobase/plugin-data-source-main/package.json b/packages/plugins/@nocobase/plugin-data-source-main/package.json index 0d24162616..7d25da8201 100644 --- a/packages/plugins/@nocobase/plugin-data-source-main/package.json +++ b/packages/plugins/@nocobase/plugin-data-source-main/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据源:主数据库", "description": "NocoBase main database, supports relational databases such as PostgreSQL, MySQL, MariaDB and so on.", "description.zh-CN": "NocoBase 主数据库,支持 PostgreSQL、MySQL、MariaDB 等关系型数据库。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/data-source-main", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/data-source-main", diff --git a/packages/plugins/@nocobase/plugin-data-source-manager/package.json b/packages/plugins/@nocobase/plugin-data-source-manager/package.json index 69ad30114b..04ca59f833 100644 --- a/packages/plugins/@nocobase/plugin-data-source-manager/package.json +++ b/packages/plugins/@nocobase/plugin-data-source-manager/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-data-source-manager", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "main": "dist/server/index.js", "displayName": "Data source manager", "displayName.zh-CN": "数据源管理", diff --git a/packages/plugins/@nocobase/plugin-data-visualization/package.json b/packages/plugins/@nocobase/plugin-data-visualization/package.json index 56630aa795..45314244aa 100644 --- a/packages/plugins/@nocobase/plugin-data-visualization/package.json +++ b/packages/plugins/@nocobase/plugin-data-visualization/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-data-visualization", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "displayName": "Data visualization", "displayName.zh-CN": "数据可视化", "description": "Provides data visualization feature, including chart block and chart filter block, support line charts, area charts, bar charts and more than a dozen kinds of charts, you can also extend more chart types.", diff --git a/packages/plugins/@nocobase/plugin-disable-pm-add/package.json b/packages/plugins/@nocobase/plugin-disable-pm-add/package.json index dccddd7321..1bcead1434 100644 --- a/packages/plugins/@nocobase/plugin-disable-pm-add/package.json +++ b/packages/plugins/@nocobase/plugin-disable-pm-add/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-disable-pm-add", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "main": "./dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-error-handler/package.json b/packages/plugins/@nocobase/plugin-error-handler/package.json index 7a3d5445dc..a0095c882f 100644 --- a/packages/plugins/@nocobase/plugin-error-handler/package.json +++ b/packages/plugins/@nocobase/plugin-error-handler/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "错误处理器", "description": "Handling application errors and exceptions.", "description.zh-CN": "处理应用程序中的错误和异常。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "./dist/server/index.js", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-field-china-region/package.json b/packages/plugins/@nocobase/plugin-field-china-region/package.json index df6fa9bee9..8ad9726e54 100644 --- a/packages/plugins/@nocobase/plugin-field-china-region/package.json +++ b/packages/plugins/@nocobase/plugin-field-china-region/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-field-china-region", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "displayName": "Collection field: administrative divisions of China", "displayName.zh-CN": "数据表字段:中国行政区划", "description": "Provides data and field type for administrative divisions of China.", diff --git a/packages/plugins/@nocobase/plugin-field-formula/package.json b/packages/plugins/@nocobase/plugin-field-formula/package.json index b2748a0805..e06f1b647c 100644 --- a/packages/plugins/@nocobase/plugin-field-formula/package.json +++ b/packages/plugins/@nocobase/plugin-field-formula/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:公式", "description": "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.", "description.zh-CN": "可以配置并存储同一条记录的多字段值之间的计算结果,支持 Math.js 和 Excel formula functions 两种引擎", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-formula", diff --git a/packages/plugins/@nocobase/plugin-field-m2m-array/package.json b/packages/plugins/@nocobase/plugin-field-m2m-array/package.json index dbcdff9824..0af37133ab 100644 --- a/packages/plugins/@nocobase/plugin-field-m2m-array/package.json +++ b/packages/plugins/@nocobase/plugin-field-m2m-array/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:多对多 (数组)", "description": "Allows to create many to many relationships between two models by storing an array of unique keys of the target model.", "description.zh-CN": "支持通过在数组中存储目标表唯一键的方式建立多对多关系。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "main": "dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json b/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json index a02128a6e7..470981d6f6 100644 --- a/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json +++ b/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:Markdown(Vditor)", "description": "Used to store Markdown and render it using Vditor editor, supports common Markdown syntax such as list, code, quote, etc., and supports uploading images, recordings, etc.It also allows for instant rendering, where what you see is what you get.", "description.zh-CN": "用于存储 Markdown,并使用 Vditor 编辑器渲染,支持常见 Markdown 语法,如列表,代码,引用等,并支持上传图片,录音等。同时可以做到即时渲染,所见即所得。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-markdown-vditor", diff --git a/packages/plugins/@nocobase/plugin-field-sequence/package.json b/packages/plugins/@nocobase/plugin-field-sequence/package.json index b631ea5b09..75d50a2986 100644 --- a/packages/plugins/@nocobase/plugin-field-sequence/package.json +++ b/packages/plugins/@nocobase/plugin-field-sequence/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:自动编码", "description": "Automatically generate codes based on configured rules, supporting combinations of dates, numbers, and text.", "description.zh-CN": "根据配置的规则自动生成编码,支持日期、数字、文本的组合。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-sequence", diff --git a/packages/plugins/@nocobase/plugin-field-sort/package.json b/packages/plugins/@nocobase/plugin-field-sort/package.json index 5f5fd51254..130c9353a8 100644 --- a/packages/plugins/@nocobase/plugin-field-sort/package.json +++ b/packages/plugins/@nocobase/plugin-field-sort/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-field-sort", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "displayName": "Collection field: Sort", "displayName.zh-CN": "数据表字段:排序", diff --git a/packages/plugins/@nocobase/plugin-file-manager/package.json b/packages/plugins/@nocobase/plugin-file-manager/package.json index 1c42e45be5..b142e45027 100644 --- a/packages/plugins/@nocobase/plugin-file-manager/package.json +++ b/packages/plugins/@nocobase/plugin-file-manager/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-file-manager", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "displayName": "File manager", "displayName.zh-CN": "文件管理器", "description": "Provides files storage services with files collection template and attachment field.", diff --git a/packages/plugins/@nocobase/plugin-gantt/package.json b/packages/plugins/@nocobase/plugin-gantt/package.json index 361e37c5df..485502c7c8 100644 --- a/packages/plugins/@nocobase/plugin-gantt/package.json +++ b/packages/plugins/@nocobase/plugin-gantt/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-gantt", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "displayName": "Block: Gantt", "displayName.zh-CN": "区块:甘特图", "description": "Provides Gantt block.", diff --git a/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json b/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json index de46b6200a..8b063f35e0 100644 --- a/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json +++ b/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "可视化数据表管理", "description": "An ER diagram-like tool. Currently only the Master database is supported.", "description.zh-CN": "类似 ER 图的工具,目前只支持主数据库。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/graph-collection-manager", diff --git a/packages/plugins/@nocobase/plugin-kanban/package.json b/packages/plugins/@nocobase/plugin-kanban/package.json index 26dbf3bf24..fb4da37c38 100644 --- a/packages/plugins/@nocobase/plugin-kanban/package.json +++ b/packages/plugins/@nocobase/plugin-kanban/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-kanban", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/block-kanban", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/block-kanban", diff --git a/packages/plugins/@nocobase/plugin-localization/package.json b/packages/plugins/@nocobase/plugin-localization/package.json index 939eba1a45..8ee662338f 100644 --- a/packages/plugins/@nocobase/plugin-localization/package.json +++ b/packages/plugins/@nocobase/plugin-localization/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-localization", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/localization-management", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/localization-management", diff --git a/packages/plugins/@nocobase/plugin-logger/package.json b/packages/plugins/@nocobase/plugin-logger/package.json index 4aa9ed0460..9a9abe4874 100644 --- a/packages/plugins/@nocobase/plugin-logger/package.json +++ b/packages/plugins/@nocobase/plugin-logger/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "日志", "description": "Server-side logs, mainly including API request logs and system runtime logs, and allows to package and download log files.", "description.zh-CN": "服务端日志,主要包括接口请求日志和系统运行日志,并支持打包和下载日志文件。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/logger", diff --git a/packages/plugins/@nocobase/plugin-map/package.json b/packages/plugins/@nocobase/plugin-map/package.json index 02bbd3d732..c851e51dfa 100644 --- a/packages/plugins/@nocobase/plugin-map/package.json +++ b/packages/plugins/@nocobase/plugin-map/package.json @@ -2,7 +2,7 @@ "name": "@nocobase/plugin-map", "displayName": "Block: Map", "displayName.zh-CN": "区块:地图", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "description": "Map block, support Gaode map and Google map, you can also extend more map types.", "description.zh-CN": "地图区块,支持高德地图和 Google 地图,你也可以扩展更多地图类型。", "license": "AGPL-3.0", diff --git a/packages/plugins/@nocobase/plugin-mobile-client/package.json b/packages/plugins/@nocobase/plugin-mobile-client/package.json index 26c22898b4..0cd536a927 100644 --- a/packages/plugins/@nocobase/plugin-mobile-client/package.json +++ b/packages/plugins/@nocobase/plugin-mobile-client/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-mobile-client", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/mobile-client", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/mobile-client", diff --git a/packages/plugins/@nocobase/plugin-mobile/package.json b/packages/plugins/@nocobase/plugin-mobile/package.json index 1c99254646..b20d68bddf 100644 --- a/packages/plugins/@nocobase/plugin-mobile/package.json +++ b/packages/plugins/@nocobase/plugin-mobile/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-mobile", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/mobile", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/mobile", diff --git a/packages/plugins/@nocobase/plugin-mock-collections/package.json b/packages/plugins/@nocobase/plugin-mock-collections/package.json index d07ab2463f..cb57981260 100644 --- a/packages/plugins/@nocobase/plugin-mock-collections/package.json +++ b/packages/plugins/@nocobase/plugin-mock-collections/package.json @@ -2,7 +2,7 @@ "name": "@nocobase/plugin-mock-collections", "displayName": "mock-collections", "description": "mock-collections", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "main": "./dist/server/index.js", "license": "AGPL-3.0", "peerDependencies": { diff --git a/packages/plugins/@nocobase/plugin-multi-app-manager/package.json b/packages/plugins/@nocobase/plugin-multi-app-manager/package.json index 0afd196374..f4d5e50c1b 100644 --- a/packages/plugins/@nocobase/plugin-multi-app-manager/package.json +++ b/packages/plugins/@nocobase/plugin-multi-app-manager/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "多应用管理器", "description": "Dynamically create multiple apps without separate deployments.", "description.zh-CN": "无需单独部署即可动态创建多个应用。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/multi-app-manager", diff --git a/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json b/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json index c20326c48e..ace067f0b9 100644 --- a/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json +++ b/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "多应用数据表共享", "description": "", "description.zh-CN": "", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "main": "./dist/server/index.js", "devDependencies": { "@formily/react": "2.x", diff --git a/packages/plugins/@nocobase/plugin-notification-email/package.json b/packages/plugins/@nocobase/plugin-notification-email/package.json index a5db27a32e..e5655e36fd 100644 --- a/packages/plugins/@nocobase/plugin-notification-email/package.json +++ b/packages/plugins/@nocobase/plugin-notification-email/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-notification-email", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "displayName": "Notification: Email", "displayName.zh-CN": "通知:电子邮件", "description": "Used for sending email notifications with built-in SMTP transport.", diff --git a/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json b/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json index 4e13030934..79c0836bc1 100644 --- a/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json +++ b/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-notification-in-app-message", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "displayName": "Notification: In-app message", "displayName.zh-CN": "通知:站内信", "description": "It supports users in receiving real-time message notifications within the NocoBase application.", diff --git a/packages/plugins/@nocobase/plugin-notification-manager/package.json b/packages/plugins/@nocobase/plugin-notification-manager/package.json index c15ad0d5dd..6371c5194b 100644 --- a/packages/plugins/@nocobase/plugin-notification-manager/package.json +++ b/packages/plugins/@nocobase/plugin-notification-manager/package.json @@ -4,7 +4,7 @@ "description": "Provides a unified management service that includes channel configuration, logging, and other features, supporting the configuration of various notification channels, including in-app message and email.", "displayName.zh-CN": "通知管理", "description.zh-CN": "提供统一的管理服务,涵盖渠道配置、日志记录等功能,支持多种通知渠道的配置,包括站内信和电子邮件等。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "main": "dist/server/index.js", "devDependencies": { "@ant-design/icons": "5.x", diff --git a/packages/plugins/@nocobase/plugin-notifications/package.json b/packages/plugins/@nocobase/plugin-notifications/package.json index e8ad5694ad..1b090f206f 100644 --- a/packages/plugins/@nocobase/plugin-notifications/package.json +++ b/packages/plugins/@nocobase/plugin-notifications/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-notifications", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "description": "", "license": "AGPL-3.0", "main": "./dist/server/index.js", diff --git a/packages/plugins/@nocobase/plugin-public-forms/package.json b/packages/plugins/@nocobase/plugin-public-forms/package.json index c148c553c0..c0d853c8f0 100644 --- a/packages/plugins/@nocobase/plugin-public-forms/package.json +++ b/packages/plugins/@nocobase/plugin-public-forms/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-public-forms", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "main": "dist/server/index.js", "displayName": "Public forms", "displayName.zh-CN": "公开表单", diff --git a/packages/plugins/@nocobase/plugin-sample-hello/package.json b/packages/plugins/@nocobase/plugin-sample-hello/package.json index 9b59bdfb31..424a04d9f6 100644 --- a/packages/plugins/@nocobase/plugin-sample-hello/package.json +++ b/packages/plugins/@nocobase/plugin-sample-hello/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-sample-hello", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "main": "./dist/server/index.js", "displayName": "Hello", "displayName.zh-CN": "Hello", diff --git a/packages/plugins/@nocobase/plugin-snapshot-field/package.json b/packages/plugins/@nocobase/plugin-snapshot-field/package.json index dc052d5223..7c6af04179 100644 --- a/packages/plugins/@nocobase/plugin-snapshot-field/package.json +++ b/packages/plugins/@nocobase/plugin-snapshot-field/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:关系快照", "description": "When adding a new record, create a snapshot for its relational record and save in the new record. The snapshot will not be updated when the relational record is updated.", "description.zh-CN": "在添加数据时,为它的关系数据创建快照,并保存在当前的数据中。关系数据更新时,快照不会更新。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-snapshot", diff --git a/packages/plugins/@nocobase/plugin-system-settings/package.json b/packages/plugins/@nocobase/plugin-system-settings/package.json index f192cf7bd2..dc29e56db1 100644 --- a/packages/plugins/@nocobase/plugin-system-settings/package.json +++ b/packages/plugins/@nocobase/plugin-system-settings/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "系统设置", "description": "Used to adjust the system title, logo, language, etc.", "description.zh-CN": "用于调整系统的标题、LOGO、语言等。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/system-settings", diff --git a/packages/plugins/@nocobase/plugin-theme-editor/package.json b/packages/plugins/@nocobase/plugin-theme-editor/package.json index 2871e52e8a..b8485eaced 100644 --- a/packages/plugins/@nocobase/plugin-theme-editor/package.json +++ b/packages/plugins/@nocobase/plugin-theme-editor/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-theme-editor", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/theme-editor", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/theme-editor", diff --git a/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json b/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json index 2e0f678a57..d1bf754e1f 100644 --- a/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json +++ b/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "UI schema 存储服务", "description": "Provides centralized UI schema storage service.", "description.zh-CN": "提供中心化的 UI schema 存储服务。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/ui-schema-storage", diff --git a/packages/plugins/@nocobase/plugin-user-data-sync/package.json b/packages/plugins/@nocobase/plugin-user-data-sync/package.json index 97129da524..f5738ee7a5 100644 --- a/packages/plugins/@nocobase/plugin-user-data-sync/package.json +++ b/packages/plugins/@nocobase/plugin-user-data-sync/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "用户数据同步", "description": "Reigster and manage extensible user data synchronization sources, with HTTP API provided by default. Support for synchronizing data to resources such as users and departments.", "description.zh-CN": "注册和管理可扩展的用户数据同步来源,默认提供 HTTP API。支持向用户和部门等资源同步数据。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "main": "dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-users/package.json b/packages/plugins/@nocobase/plugin-users/package.json index 7420d44a6c..138b7f094f 100644 --- a/packages/plugins/@nocobase/plugin-users/package.json +++ b/packages/plugins/@nocobase/plugin-users/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "用户", "description": "Provides basic user model, as well as created by and updated by fields.", "description.zh-CN": "提供了基础的用户模型,以及创建人和最后更新人字段。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/users", diff --git a/packages/plugins/@nocobase/plugin-verification/package.json b/packages/plugins/@nocobase/plugin-verification/package.json index 1a29a79364..5cbc03cd94 100644 --- a/packages/plugins/@nocobase/plugin-verification/package.json +++ b/packages/plugins/@nocobase/plugin-verification/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "验证码", "description": "verification setting.", "description.zh-CN": "验证码配置。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/verification", diff --git a/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json b/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json index 0471bad88d..062dbc1bf2 100644 --- a/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:操作后事件", "description": "Triggered after the completion of a request initiated through an action button or API, such as after adding, updating, deleting data, or \"submit to workflow\". Suitable for data processing, sending notifications, etc., after actions are completed.", "description.zh-CN": "通过操作按钮或 API 发起请求并在执行完成后触发,比如新增、更新、删除数据或者“提交至工作流”之后。适用于在操作完成后进行数据处理、发送通知等。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/plugins/workflow-action-trigger", diff --git a/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json b/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json index 2e9a38aefa..1cd6e04de1 100644 --- a/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:聚合查询节点", "description": "Used to aggregate data against the database in workflow, such as: statistics, sum, average, etc.", "description.zh-CN": "可用于在工作流中对数据库进行聚合查询,如:统计数量、求和、平均值等。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-aggregate", diff --git a/packages/plugins/@nocobase/plugin-workflow-delay/package.json b/packages/plugins/@nocobase/plugin-workflow-delay/package.json index 5290a0776f..a93478fb76 100644 --- a/packages/plugins/@nocobase/plugin-workflow-delay/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-delay/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:延时节点", "description": "Could be used in workflow parallel branch for waiting other branches.", "description.zh-CN": "可用于工作流并行分支中等待其他分支执行完成。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-delay", diff --git a/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json b/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json index 255d186a90..5cd682a3a1 100644 --- a/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:动态表达式计算节点", "description": "Useful plugin for doing dynamic calculation based on expression collection records in workflow.", "description.zh-CN": "用于在工作流中进行基于数据行的动态表达式计算。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-dynamic-calculation", diff --git a/packages/plugins/@nocobase/plugin-workflow-loop/package.json b/packages/plugins/@nocobase/plugin-workflow-loop/package.json index 62949adaf9..c51f832e67 100644 --- a/packages/plugins/@nocobase/plugin-workflow-loop/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-loop/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:循环节点", "description": "Used to repeat the sub-process processing of each value in an array, and can also be used for fixed times of sub-process processing.", "description.zh-CN": "用于对一个数组中的每个值进行重复的子流程处理,也可用于固定次数的重复子流程处理。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-loop", diff --git a/packages/plugins/@nocobase/plugin-workflow-mailer/package.json b/packages/plugins/@nocobase/plugin-workflow-mailer/package.json index 478b982cd1..4b5ed99c95 100644 --- a/packages/plugins/@nocobase/plugin-workflow-mailer/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-mailer/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:邮件发送节点", "description": "Send email in workflow.", "description.zh-CN": "可用于在工作流中发送电子邮件。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-smtp-mailer", diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/package.json b/packages/plugins/@nocobase/plugin-workflow-manual/package.json index 70bd6b20ce..102dfc793b 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-manual/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:人工处理节点", "description": "Could be used for workflows which some of decisions are made by users.", "description.zh-CN": "用于人工控制部分决策的流程。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-manual", diff --git a/packages/plugins/@nocobase/plugin-workflow-notification/package.json b/packages/plugins/@nocobase/plugin-workflow-notification/package.json index 5d4bb39c0b..82dbd81811 100644 --- a/packages/plugins/@nocobase/plugin-workflow-notification/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-notification/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:通知节点", "description": "Send notification in workflow.", "description.zh-CN": "可用于在工作流中发送各类通知。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-smtp-mailer", diff --git a/packages/plugins/@nocobase/plugin-workflow-parallel/package.json b/packages/plugins/@nocobase/plugin-workflow-parallel/package.json index 37708c9259..02c7d28453 100644 --- a/packages/plugins/@nocobase/plugin-workflow-parallel/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-parallel/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:并行分支节点", "description": "Could be used for parallel execution of branch processes in the workflow.", "description.zh-CN": "用于在工作流中需要并行执行的分支流程。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-parallel", diff --git a/packages/plugins/@nocobase/plugin-workflow-request/package.json b/packages/plugins/@nocobase/plugin-workflow-request/package.json index 7dcd7fedcd..a5ff91b488 100644 --- a/packages/plugins/@nocobase/plugin-workflow-request/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-request/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:HTTP 请求节点", "description": "Send HTTP requests to any HTTP service for data interaction in workflow.", "description.zh-CN": "可用于在工作流中向任意 HTTP 服务发送请求,进行数据交互。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-request", diff --git a/packages/plugins/@nocobase/plugin-workflow-sql/package.json b/packages/plugins/@nocobase/plugin-workflow-sql/package.json index dae18b2311..5ea2701524 100644 --- a/packages/plugins/@nocobase/plugin-workflow-sql/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-sql/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:SQL 节点", "description": "Execute SQL statements in workflow.", "description.zh-CN": "可用于在工作流中对数据库执行任意 SQL 语句。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-sql", diff --git a/packages/plugins/@nocobase/plugin-workflow-test/package.json b/packages/plugins/@nocobase/plugin-workflow-test/package.json index 3ac80b3b93..760953b2fd 100644 --- a/packages/plugins/@nocobase/plugin-workflow-test/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-test/package.json @@ -2,7 +2,7 @@ "name": "@nocobase/plugin-workflow-test", "displayName": "Workflow: test kit", "displayName.zh-CN": "工作流:测试工具包", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "dist/server/index.js", "types": "./dist/server/index.d.ts", diff --git a/packages/plugins/@nocobase/plugin-workflow/package.json b/packages/plugins/@nocobase/plugin-workflow/package.json index a4ff1c6bf8..9a8d7aa046 100644 --- a/packages/plugins/@nocobase/plugin-workflow/package.json +++ b/packages/plugins/@nocobase/plugin-workflow/package.json @@ -4,13 +4,13 @@ "displayName.zh-CN": "工作流", "description": "A powerful BPM tool that provides foundational support for business automation, with the capability to extend unlimited triggers and nodes.", "description.zh-CN": "一个强大的 BPM 工具,为业务自动化提供基础支持,并且可任意扩展更多的触发器和节点。", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/workflow", "dependencies": { - "@nocobase/plugin-workflow-test": "1.5.0-beta.29" + "@nocobase/plugin-workflow-test": "1.5.0-beta.30" }, "devDependencies": { "@ant-design/icons": "5.x", diff --git a/packages/presets/nocobase/package.json b/packages/presets/nocobase/package.json index 4e98b5f99f..7d77314d82 100644 --- a/packages/presets/nocobase/package.json +++ b/packages/presets/nocobase/package.json @@ -1,78 +1,78 @@ { "name": "@nocobase/preset-nocobase", - "version": "1.5.0-beta.29", + "version": "1.5.0-beta.30", "license": "AGPL-3.0", "main": "./lib/server/index.js", "dependencies": { "@formily/json-schema": "2.x", - "@nocobase/plugin-acl": "1.5.0-beta.29", - "@nocobase/plugin-action-bulk-edit": "1.5.0-beta.29", - "@nocobase/plugin-action-bulk-update": "1.5.0-beta.29", - "@nocobase/plugin-action-custom-request": "1.5.0-beta.29", - "@nocobase/plugin-action-duplicate": "1.5.0-beta.29", - "@nocobase/plugin-action-export": "1.5.0-beta.29", - "@nocobase/plugin-action-import": "1.5.0-beta.29", - "@nocobase/plugin-action-print": "1.5.0-beta.29", - "@nocobase/plugin-api-doc": "1.5.0-beta.29", - "@nocobase/plugin-api-keys": "1.5.0-beta.29", - "@nocobase/plugin-async-task-manager": "1.5.0-beta.29", - "@nocobase/plugin-audit-logs": "1.5.0-beta.29", - "@nocobase/plugin-auth": "1.5.0-beta.29", - "@nocobase/plugin-auth-sms": "1.5.0-beta.29", - "@nocobase/plugin-backup-restore": "1.5.0-beta.29", - "@nocobase/plugin-block-iframe": "1.5.0-beta.29", - "@nocobase/plugin-block-workbench": "1.5.0-beta.29", - "@nocobase/plugin-calendar": "1.5.0-beta.29", - "@nocobase/plugin-charts": "1.5.0-beta.29", - "@nocobase/plugin-client": "1.5.0-beta.29", - "@nocobase/plugin-collection-sql": "1.5.0-beta.29", - "@nocobase/plugin-collection-tree": "1.5.0-beta.29", - "@nocobase/plugin-data-source-main": "1.5.0-beta.29", - "@nocobase/plugin-data-source-manager": "1.5.0-beta.29", - "@nocobase/plugin-data-visualization": "1.5.0-beta.29", - "@nocobase/plugin-error-handler": "1.5.0-beta.29", - "@nocobase/plugin-field-china-region": "1.5.0-beta.29", - "@nocobase/plugin-field-formula": "1.5.0-beta.29", - "@nocobase/plugin-field-m2m-array": "1.5.0-beta.29", - "@nocobase/plugin-field-markdown-vditor": "1.5.0-beta.29", - "@nocobase/plugin-field-sequence": "1.5.0-beta.29", - "@nocobase/plugin-field-sort": "1.5.0-beta.29", - "@nocobase/plugin-file-manager": "1.5.0-beta.29", - "@nocobase/plugin-gantt": "1.5.0-beta.29", - "@nocobase/plugin-graph-collection-manager": "1.5.0-beta.29", - "@nocobase/plugin-kanban": "1.5.0-beta.29", - "@nocobase/plugin-localization": "1.5.0-beta.29", - "@nocobase/plugin-logger": "1.5.0-beta.29", - "@nocobase/plugin-map": "1.5.0-beta.29", - "@nocobase/plugin-mobile": "1.5.0-beta.29", - "@nocobase/plugin-mobile-client": "1.5.0-beta.29", - "@nocobase/plugin-mock-collections": "1.5.0-beta.29", - "@nocobase/plugin-multi-app-manager": "1.5.0-beta.29", - "@nocobase/plugin-multi-app-share-collection": "1.5.0-beta.29", - "@nocobase/plugin-notification-email": "1.5.0-beta.29", - "@nocobase/plugin-notification-in-app-message": "1.5.0-beta.29", - "@nocobase/plugin-notification-manager": "1.5.0-beta.29", - "@nocobase/plugin-public-forms": "1.5.0-beta.29", - "@nocobase/plugin-snapshot-field": "1.5.0-beta.29", - "@nocobase/plugin-system-settings": "1.5.0-beta.29", - "@nocobase/plugin-theme-editor": "1.5.0-beta.29", - "@nocobase/plugin-ui-schema-storage": "1.5.0-beta.29", - "@nocobase/plugin-user-data-sync": "1.5.0-beta.29", - "@nocobase/plugin-users": "1.5.0-beta.29", - "@nocobase/plugin-verification": "1.5.0-beta.29", - "@nocobase/plugin-workflow": "1.5.0-beta.29", - "@nocobase/plugin-workflow-action-trigger": "1.5.0-beta.29", - "@nocobase/plugin-workflow-aggregate": "1.5.0-beta.29", - "@nocobase/plugin-workflow-delay": "1.5.0-beta.29", - "@nocobase/plugin-workflow-dynamic-calculation": "1.5.0-beta.29", - "@nocobase/plugin-workflow-loop": "1.5.0-beta.29", - "@nocobase/plugin-workflow-mailer": "1.5.0-beta.29", - "@nocobase/plugin-workflow-manual": "1.5.0-beta.29", - "@nocobase/plugin-workflow-notification": "1.5.0-beta.29", - "@nocobase/plugin-workflow-parallel": "1.5.0-beta.29", - "@nocobase/plugin-workflow-request": "1.5.0-beta.29", - "@nocobase/plugin-workflow-sql": "1.5.0-beta.29", - "@nocobase/server": "1.5.0-beta.29", + "@nocobase/plugin-acl": "1.5.0-beta.30", + "@nocobase/plugin-action-bulk-edit": "1.5.0-beta.30", + "@nocobase/plugin-action-bulk-update": "1.5.0-beta.30", + "@nocobase/plugin-action-custom-request": "1.5.0-beta.30", + "@nocobase/plugin-action-duplicate": "1.5.0-beta.30", + "@nocobase/plugin-action-export": "1.5.0-beta.30", + "@nocobase/plugin-action-import": "1.5.0-beta.30", + "@nocobase/plugin-action-print": "1.5.0-beta.30", + "@nocobase/plugin-api-doc": "1.5.0-beta.30", + "@nocobase/plugin-api-keys": "1.5.0-beta.30", + "@nocobase/plugin-async-task-manager": "1.5.0-beta.30", + "@nocobase/plugin-audit-logs": "1.5.0-beta.30", + "@nocobase/plugin-auth": "1.5.0-beta.30", + "@nocobase/plugin-auth-sms": "1.5.0-beta.30", + "@nocobase/plugin-backup-restore": "1.5.0-beta.30", + "@nocobase/plugin-block-iframe": "1.5.0-beta.30", + "@nocobase/plugin-block-workbench": "1.5.0-beta.30", + "@nocobase/plugin-calendar": "1.5.0-beta.30", + "@nocobase/plugin-charts": "1.5.0-beta.30", + "@nocobase/plugin-client": "1.5.0-beta.30", + "@nocobase/plugin-collection-sql": "1.5.0-beta.30", + "@nocobase/plugin-collection-tree": "1.5.0-beta.30", + "@nocobase/plugin-data-source-main": "1.5.0-beta.30", + "@nocobase/plugin-data-source-manager": "1.5.0-beta.30", + "@nocobase/plugin-data-visualization": "1.5.0-beta.30", + "@nocobase/plugin-error-handler": "1.5.0-beta.30", + "@nocobase/plugin-field-china-region": "1.5.0-beta.30", + "@nocobase/plugin-field-formula": "1.5.0-beta.30", + "@nocobase/plugin-field-m2m-array": "1.5.0-beta.30", + "@nocobase/plugin-field-markdown-vditor": "1.5.0-beta.30", + "@nocobase/plugin-field-sequence": "1.5.0-beta.30", + "@nocobase/plugin-field-sort": "1.5.0-beta.30", + "@nocobase/plugin-file-manager": "1.5.0-beta.30", + "@nocobase/plugin-gantt": "1.5.0-beta.30", + "@nocobase/plugin-graph-collection-manager": "1.5.0-beta.30", + "@nocobase/plugin-kanban": "1.5.0-beta.30", + "@nocobase/plugin-localization": "1.5.0-beta.30", + "@nocobase/plugin-logger": "1.5.0-beta.30", + "@nocobase/plugin-map": "1.5.0-beta.30", + "@nocobase/plugin-mobile": "1.5.0-beta.30", + "@nocobase/plugin-mobile-client": "1.5.0-beta.30", + "@nocobase/plugin-mock-collections": "1.5.0-beta.30", + "@nocobase/plugin-multi-app-manager": "1.5.0-beta.30", + "@nocobase/plugin-multi-app-share-collection": "1.5.0-beta.30", + "@nocobase/plugin-notification-email": "1.5.0-beta.30", + "@nocobase/plugin-notification-in-app-message": "1.5.0-beta.30", + "@nocobase/plugin-notification-manager": "1.5.0-beta.30", + "@nocobase/plugin-public-forms": "1.5.0-beta.30", + "@nocobase/plugin-snapshot-field": "1.5.0-beta.30", + "@nocobase/plugin-system-settings": "1.5.0-beta.30", + "@nocobase/plugin-theme-editor": "1.5.0-beta.30", + "@nocobase/plugin-ui-schema-storage": "1.5.0-beta.30", + "@nocobase/plugin-user-data-sync": "1.5.0-beta.30", + "@nocobase/plugin-users": "1.5.0-beta.30", + "@nocobase/plugin-verification": "1.5.0-beta.30", + "@nocobase/plugin-workflow": "1.5.0-beta.30", + "@nocobase/plugin-workflow-action-trigger": "1.5.0-beta.30", + "@nocobase/plugin-workflow-aggregate": "1.5.0-beta.30", + "@nocobase/plugin-workflow-delay": "1.5.0-beta.30", + "@nocobase/plugin-workflow-dynamic-calculation": "1.5.0-beta.30", + "@nocobase/plugin-workflow-loop": "1.5.0-beta.30", + "@nocobase/plugin-workflow-mailer": "1.5.0-beta.30", + "@nocobase/plugin-workflow-manual": "1.5.0-beta.30", + "@nocobase/plugin-workflow-notification": "1.5.0-beta.30", + "@nocobase/plugin-workflow-parallel": "1.5.0-beta.30", + "@nocobase/plugin-workflow-request": "1.5.0-beta.30", + "@nocobase/plugin-workflow-sql": "1.5.0-beta.30", + "@nocobase/server": "1.5.0-beta.30", "cronstrue": "^2.11.0", "fs-extra": "^11.1.1" }, From 1738b11f5721bd56875a794ea96d65307713367c Mon Sep 17 00:00:00 2001 From: chenos Date: Thu, 16 Jan 2025 11:51:18 +0800 Subject: [PATCH 013/125] fix: type MigrationRule --- packages/core/database/src/collection.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/database/src/collection.ts b/packages/core/database/src/collection.ts index 10b626baca..e529bf8fa2 100644 --- a/packages/core/database/src/collection.ts +++ b/packages/core/database/src/collection.ts @@ -88,7 +88,7 @@ export type DumpRules = | ({ skipped: true } & BaseDumpRules) | ({ group: BuiltInGroup | string } & BaseDumpRules); -export type MigrationRule = 'overwrite' | 'skip' | 'upsert' | 'schema-only' | 'insert-ignore'; +export type MigrationRule = 'overwrite' | 'skip' | 'upsert' | 'schema-only' | 'insert-ignore' | (string & {}) | null; export interface CollectionOptions extends Omit { name: string; From 000095114cf6683a92115c2338ef227c2e648ebb Mon Sep 17 00:00:00 2001 From: Junyi Date: Thu, 16 Jan 2025 16:52:15 +0800 Subject: [PATCH 014/125] feat: add validateConfig to trigger (#6040) (#6073) * feat: add validateConfig to trigger * refactor: validateConfig * fix: validate config Co-authored-by: citlalinda --- .../src/server/ActionTrigger.ts | 16 ++++++++++++++ .../src/server/triggers/CollectionTrigger.ts | 10 +++++++++ .../server/triggers/ScheduleTrigger/index.ts | 22 +++++++++++++++++++ .../src/server/triggers/index.ts | 1 + 4 files changed, 49 insertions(+) diff --git a/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/server/ActionTrigger.ts b/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/server/ActionTrigger.ts index 14bcbbb94c..c509a127fa 100644 --- a/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/server/ActionTrigger.ts +++ b/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/server/ActionTrigger.ts @@ -232,4 +232,20 @@ export default class extends Trigger { options, ); } + + validateConfig(values) { + if (!values.data) { + return { + data: 'Data property is required', + }; + } + + if (!values.userId) { + return { + userId: 'UserId property is required', + }; + } + + return null; + } } diff --git a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/CollectionTrigger.ts b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/CollectionTrigger.ts index d10aeda67d..1985966079 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/CollectionTrigger.ts +++ b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/CollectionTrigger.ts @@ -235,4 +235,14 @@ export default class CollectionTrigger extends Trigger { transaction: this.workflow.useDataSourceTransaction(dataSourceName, transaction), }); } + + validateConfig(values) { + if (!values.data) { + return { + data: 'Data property is required', + }; + } + + return null; + } } diff --git a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/index.ts b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/index.ts index f0da376bd1..2798c8f494 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/index.ts +++ b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/index.ts @@ -68,4 +68,26 @@ export default class ScheduleTrigger extends Trigger { // }); // return !existed.length; // } + + validateConfig(values) { + if (!values.mode) { + return { + mode: 'Mode property is required', + }; + } + + if (!values.startsOn) { + return { + startsOn: 'StartsOn property is required', + }; + } + + if (values.mode === SCHEDULE_MODE.DATE_FIELD && !values.collection) { + return { + collection: 'Collection property is required', + }; + } + + return null; + } } diff --git a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/index.ts b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/index.ts index fec0cab04f..901fc7a054 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/index.ts +++ b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/index.ts @@ -20,6 +20,7 @@ export abstract class Trigger { return true; } duplicateConfig?(workflow: WorkflowModel, options: Transactionable): object | Promise; + validateConfig?(values: any): null | void | { [key: string]: string }; sync?: boolean; execute?( workflow: WorkflowModel, From a093e9ee8c095caa8546911829e3fa80c15972fd Mon Sep 17 00:00:00 2001 From: YANG QIA <2013xile@gmail.com> Date: Thu, 16 Jan 2025 17:29:18 +0800 Subject: [PATCH 015/125] fix(localization): avoid API request when attempting to delete an empty translation (#6078) --- .../@nocobase/plugin-localization/src/client/Localization.tsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/plugins/@nocobase/plugin-localization/src/client/Localization.tsx b/packages/plugins/@nocobase/plugin-localization/src/client/Localization.tsx index b4846417f0..c5986b4189 100644 --- a/packages/plugins/@nocobase/plugin-localization/src/client/Localization.tsx +++ b/packages/plugins/@nocobase/plugin-localization/src/client/Localization.tsx @@ -72,6 +72,9 @@ const useDestroyTranslationAction = () => { const { translationId: filterByTk } = useRecord(); return { async run() { + if (!filterByTk) { + return; + } await api.resource('localizationTranslations').destroy({ filterByTk }); refresh(); }, From f49d86288d68d41d49dead021bff6572658ae20e Mon Sep 17 00:00:00 2001 From: YANG QIA <2013xile@gmail.com> Date: Thu, 16 Jan 2025 18:27:50 +0800 Subject: [PATCH 016/125] feat(sql-collection): allows to add description (#6081) --- packages/core/client/src/collection-manager/templates/sql.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/client/src/collection-manager/templates/sql.tsx b/packages/core/client/src/collection-manager/templates/sql.tsx index 405a20547e..2cc9ad81ca 100644 --- a/packages/core/client/src/collection-manager/templates/sql.tsx +++ b/packages/core/client/src/collection-manager/templates/sql.tsx @@ -83,7 +83,6 @@ export class SqlCollectionTemplate extends CollectionTemplate { }, }, }, - ...getConfigurableProperties('category'), filterTargetKey: { title: `{{ t("Record unique key")}}`, type: 'single', @@ -95,5 +94,6 @@ export class SqlCollectionTemplate extends CollectionTemplate { }, 'x-reactions': ['{{useAsyncDataSource(loadFilterTargetKeys)}}'], }, + ...getConfigurableProperties('category', 'description'), }; } From 87513c0c9c084e35d019d3130c6c162cc59e6a3e Mon Sep 17 00:00:00 2001 From: YANG QIA <2013xile@gmail.com> Date: Thu, 16 Jan 2025 18:31:46 +0800 Subject: [PATCH 017/125] fix(user-data-sync): fix the issue where the "retry" button is not displayed in the task list (#6079) --- .../src/client/UserDataSyncSource.tsx | 25 ++++++++++++++++++- .../client/schemas/user-data-sync-sources.ts | 5 +--- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/packages/plugins/@nocobase/plugin-user-data-sync/src/client/UserDataSyncSource.tsx b/packages/plugins/@nocobase/plugin-user-data-sync/src/client/UserDataSyncSource.tsx index c200b171c1..833ee5cab5 100644 --- a/packages/plugins/@nocobase/plugin-user-data-sync/src/client/UserDataSyncSource.tsx +++ b/packages/plugins/@nocobase/plugin-user-data-sync/src/client/UserDataSyncSource.tsx @@ -248,6 +248,29 @@ const Tasks = () => { ) : null; }; +const Retry = () => { + const { t } = useUserDataSyncSourceTranslation(); + const record = useCollectionRecordData(); + if (record.status !== 'failed') { + return null; + } + return ( + + ); +}; + export const UserDataSyncSource: React.FC = () => { const { t } = useUserDataSyncSourceTranslation(); const [types, setTypes] = useState([]); @@ -277,7 +300,7 @@ export const UserDataSyncSource: React.FC = () => { Date: Thu, 16 Jan 2025 19:45:43 +0800 Subject: [PATCH 018/125] chore: ws api (#6080) * chore: ws api * fix: ws error * fix: send ws message response --- packages/core/server/src/gateway/index.ts | 56 ---------- packages/core/server/src/gateway/ws-server.ts | 103 +++++++++++++----- .../src/server/plugin.ts | 7 +- .../plugin-auth/src/server/plugin.ts | 1 + 4 files changed, 81 insertions(+), 86 deletions(-) diff --git a/packages/core/server/src/gateway/index.ts b/packages/core/server/src/gateway/index.ts index 66524a2242..8d47ae37c5 100644 --- a/packages/core/server/src/gateway/index.ts +++ b/packages/core/server/src/gateway/index.ts @@ -433,62 +433,6 @@ export class Gateway extends EventEmitter { this.wsServer = new WSServer(); - this.wsServer.on('message', async ({ client, message }) => { - const app = await AppSupervisor.getInstance().getApp(client.app); - - if (!app) { - return; - } - - const parsedMessage = JSON.parse(message.toString()); - - if (!parsedMessage.type) { - return; - } - - if (!app.listenerCount(`ws:setTag`)) { - app.on('ws:setTag', ({ clientId, tagKey, tagValue }) => { - this.wsServer.setClientTag(clientId, tagKey, tagValue); - }); - - app.on('ws:removeTag', ({ clientId, tagKey }) => { - this.wsServer.removeClientTag(clientId, tagKey); - }); - - app.on('ws:sendToTag', ({ tagKey, tagValue, message }) => { - this.wsServer.sendToConnectionsByTags( - [ - { tagName: tagKey, tagValue }, - { tagName: 'app', tagValue: app.name }, - ], - message, - ); - }); - - app.on('ws:sendToTags', ({ tags, message }) => { - this.wsServer.sendToConnectionsByTags(tags, message); - }); - - app.on('ws:authorized', ({ clientId, userId }) => { - this.wsServer.sendToConnectionsByTags( - [ - { tagName: 'userId', tagValue: userId }, - { tagName: 'app', tagValue: app.name }, - ], - { type: 'authorized' }, - ); - }); - } - - const eventName = `ws:message:${parsedMessage.type}`; - - app.emit(eventName, { - clientId: client.id, - tags: [...client.tags], - payload: parsedMessage.payload, - }); - }); - this.server.on('upgrade', (request, socket, head) => { const { pathname } = parse(request.url); diff --git a/packages/core/server/src/gateway/ws-server.ts b/packages/core/server/src/gateway/ws-server.ts index c435a25d16..bddef1bc21 100644 --- a/packages/core/server/src/gateway/ws-server.ts +++ b/packages/core/server/src/gateway/ws-server.ts @@ -16,6 +16,7 @@ import { applyErrorWithArgs, getErrorWithCode } from './errors'; import lodash from 'lodash'; import { Logger } from '@nocobase/logger'; import EventEmitter from 'events'; +import { parse } from 'url'; declare class WebSocketWithId extends WebSocket { id: string; @@ -135,6 +136,72 @@ export class WSServer extends EventEmitter { }, }); }); + + AppSupervisor.getInstance().on('afterAppAdded', (app) => { + this.bindAppWSEvents(app); + }); + + this.on('message', async ({ client, message }) => { + const app = await AppSupervisor.getInstance().getApp(client.app); + + if (!app) { + return; + } + + const parsedMessage = JSON.parse(message.toString()); + + if (!parsedMessage.type) { + return; + } + + const eventName = `ws:message:${parsedMessage.type}`; + + app.emit(eventName, { + clientId: client.id, + tags: [...client.tags], + payload: parsedMessage.payload, + }); + }); + } + + bindAppWSEvents(app) { + if (app.listenerCount('ws:setTag') > 0) { + return; + } + + app.on('ws:setTag', ({ clientId, tagKey, tagValue }) => { + this.setClientTag(clientId, tagKey, tagValue); + }); + + app.on('ws:removeTag', ({ clientId, tagKey }) => { + this.removeClientTag(clientId, tagKey); + }); + + app.on('ws:sendToTag', ({ tagKey, tagValue, message }) => { + this.sendToConnectionsByTags( + [ + { tagName: tagKey, tagValue }, + { tagName: 'app', tagValue: app.name }, + ], + message, + ); + }); + + app.on('ws:sendToClient', ({ clientId, message }) => { + this.sendToClient(clientId, message); + }); + + app.on('ws:sendToCurrentApp', ({ message }) => { + this.sendToConnectionsByTag('app', app.name, message); + }); + + app.on('ws:sendToTags', ({ tags, message }) => { + this.sendToConnectionsByTags(tags, message); + }); + + app.on('ws:authorized', ({ clientId, userId }) => { + this.sendToClient(clientId, { type: 'authorized' }); + }); } addNewConnection(ws: WebSocketWithId, request: IncomingMessage) { @@ -155,6 +222,9 @@ export class WSServer extends EventEmitter { setClientTag(clientId: string, tagKey: string, tagValue: string) { const client = this.webSocketClients.get(clientId); + if (!client) { + return; + } client.tags.add(`${tagKey}#${tagValue}`); console.log(`client tags: ${Array.from(client.tags)}`); } @@ -186,32 +256,6 @@ export class WSServer extends EventEmitter { if (!hasApp) { AppSupervisor.getInstance().bootStrapApp(handleAppName); } - - // const appStatus = AppSupervisor.getInstance().getAppStatus(handleAppName, 'initializing'); - - // if (appStatus === 'not_found') { - // this.sendMessageToConnection(client, { - // type: 'maintaining', - // payload: getPayloadByErrorCode('APP_NOT_FOUND', { appName: handleAppName }), - // }); - // return; - // } - - // if (appStatus === 'initializing') { - // this.sendMessageToConnection(client, { - // type: 'maintaining', - // payload: getPayloadByErrorCode('APP_INITIALIZING', { appName: handleAppName }), - // }); - - // return; - // } - - // const app = await AppSupervisor.getInstance().getApp(handleAppName); - // - // this.sendMessageToConnection(client, { - // type: 'maintaining', - // payload: getPayloadByErrorCode(appStatus, { app }), - // }); } removeConnection(id: string) { @@ -242,6 +286,13 @@ export class WSServer extends EventEmitter { }); } + sendToClient(clientId: string, sendMessage: object) { + const client = this.webSocketClients.get(clientId); + if (client) { + this.sendMessageToConnection(client, sendMessage); + } + } + loopThroughConnections(callback: (client: WebSocketClient) => void) { this.webSocketClients.forEach((client) => { callback(client); diff --git a/packages/plugins/@nocobase/plugin-async-task-manager/src/server/plugin.ts b/packages/plugins/@nocobase/plugin-async-task-manager/src/server/plugin.ts index 812ac6c9bd..494d826848 100644 --- a/packages/plugins/@nocobase/plugin-async-task-manager/src/server/plugin.ts +++ b/packages/plugins/@nocobase/plugin-async-task-manager/src/server/plugin.ts @@ -54,7 +54,7 @@ export class PluginAsyncExportServer extends Plugin { const asyncTaskManager = this.app.container.get('AsyncTaskManager'); this.app.on(`ws:message:request:async-tasks:list`, async (message) => { - const { tags } = message; + const { tags, clientId } = message; this.app.logger.info(`Received request for async tasks with tags: ${JSON.stringify(tags)}`); @@ -68,9 +68,8 @@ export class PluginAsyncExportServer extends Plugin { this.app.logger.info(`Found ${tasks.length} tasks for userId: ${userId}`); - this.app.emit('ws:sendToTag', { - tagKey: 'userId', - tagValue: userId, + this.app.emit('ws:sendToClient', { + clientId, message: { type: 'async-tasks', payload: tasks.map((task) => task.toJSON()), diff --git a/packages/plugins/@nocobase/plugin-auth/src/server/plugin.ts b/packages/plugins/@nocobase/plugin-auth/src/server/plugin.ts index 458f1ae730..d1ee058b25 100644 --- a/packages/plugins/@nocobase/plugin-auth/src/server/plugin.ts +++ b/packages/plugins/@nocobase/plugin-auth/src/server/plugin.ts @@ -151,6 +151,7 @@ export class PluginAuthServer extends Plugin { userId: user.id, }); }); + this.app.auditManager.registerActions([ { name: 'auth:signIn', From bdbcca4c832757ddd32315e25382e3ea4df755c9 Mon Sep 17 00:00:00 2001 From: chenos Date: Thu, 16 Jan 2025 21:01:53 +0800 Subject: [PATCH 019/125] fix: type string --- .../plugin-api-keys/src/client/Configuration/schema.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/plugins/@nocobase/plugin-api-keys/src/client/Configuration/schema.tsx b/packages/plugins/@nocobase/plugin-api-keys/src/client/Configuration/schema.tsx index cf7f38cb15..74c8096617 100644 --- a/packages/plugins/@nocobase/plugin-api-keys/src/client/Configuration/schema.tsx +++ b/packages/plugins/@nocobase/plugin-api-keys/src/client/Configuration/schema.tsx @@ -12,8 +12,8 @@ import { uid } from '@formily/shared'; import { useActionContext, useBlockRequestContext, useRecord } from '@nocobase/client'; import { Alert, Modal, Space, Typography } from 'antd'; import React from 'react'; -import { generateNTemplate } from '../../locale'; import apiKeysCollection from '../../collections/apiKeys'; +import { generateNTemplate } from '../../locale'; import { useTranslation } from '../locale'; const { useModal } = Modal; @@ -200,7 +200,7 @@ export const configurationSchema: ISchema = { title: generateNTemplate('Role'), properties: { role: { - type: 'object', + type: 'string', 'x-collection-field': 'apiKeys.role', 'x-component': 'CollectionField', 'x-component-props': { From cf26388199a639c3cc5cc7920838f030637523b9 Mon Sep 17 00:00:00 2001 From: xilesun <2013xile@gmail.com> Date: Thu, 16 Jan 2025 21:16:15 +0800 Subject: [PATCH 020/125] fix(data-vi): issue of filtering datetime fields --- .../src/client/filter/FilterItemDesigner.tsx | 5 +++++ .../plugin-data-visualization/src/client/hooks/filter.ts | 2 ++ 2 files changed, 7 insertions(+) diff --git a/packages/plugins/@nocobase/plugin-data-visualization/src/client/filter/FilterItemDesigner.tsx b/packages/plugins/@nocobase/plugin-data-visualization/src/client/filter/FilterItemDesigner.tsx index a46a24b9ab..295bd5e3e2 100644 --- a/packages/plugins/@nocobase/plugin-data-visualization/src/client/filter/FilterItemDesigner.tsx +++ b/packages/plugins/@nocobase/plugin-data-visualization/src/client/filter/FilterItemDesigner.tsx @@ -137,6 +137,9 @@ const EditOperator = () => { const operator = fieldSchema['x-component-props']?.['filter-operator']; const setOperatorComponent = (operator: any, component: any, props = {}) => { + if (component === 'DatePicker.FilterWithPicker') { + component = 'DatePicker'; + } const componentProps = field.componentProps || {}; field.component = component; field.componentProps = { @@ -150,6 +153,7 @@ const EditOperator = () => { 'filter-operator': operator, ...props, }; + fieldSchema['x-filter-operator'] = operator?.value; dn.emit('patch', { schema: { 'x-uid': fieldSchema['x-uid'], @@ -159,6 +163,7 @@ const EditOperator = () => { 'filter-operator': operator, ...props, }, + 'x-filter-operator': operator?.value, }, }); }; diff --git a/packages/plugins/@nocobase/plugin-data-visualization/src/client/hooks/filter.ts b/packages/plugins/@nocobase/plugin-data-visualization/src/client/hooks/filter.ts index 0946b0bc0e..25126d192f 100644 --- a/packages/plugins/@nocobase/plugin-data-visualization/src/client/hooks/filter.ts +++ b/packages/plugins/@nocobase/plugin-data-visualization/src/client/hooks/filter.ts @@ -138,6 +138,7 @@ export const useChartFilter = () => { ...field.uiSchema?.['x-component-props'], 'filter-operator': defaultOperator, }, + 'x-filter-operators': defaultOperator?.value, }; if (field.interface === 'formula') { const component = getFormulaComponent(field.dataType) || 'Input'; @@ -195,6 +196,7 @@ export const useChartFilter = () => { 'x-component-props': { 'filter-operator': defaultOperator, }, + 'x-filter-operators': defaultOperator?.value, }; if (defaultOperator?.noValue) { schema = { From d9f6ba2f8187e64548a3dc1a77dcc3c45db310c4 Mon Sep 17 00:00:00 2001 From: "nocobase[bot]" <179432756+nocobase[bot]@users.noreply.github.com> Date: Thu, 16 Jan 2025 13:26:47 +0000 Subject: [PATCH 021/125] =?UTF-8?q?chore(versions):=20=F0=9F=98=8A=20publi?= =?UTF-8?q?sh=20v1.4.26?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lerna.json | 2 +- packages/core/acl/package.json | 6 +- packages/core/actions/package.json | 8 +- packages/core/app/package.json | 10 +- packages/core/auth/package.json | 12 +- packages/core/build/package.json | 2 +- packages/core/cache/package.json | 2 +- packages/core/cli/package.json | 6 +- packages/core/client/package.json | 8 +- .../core/create-nocobase-app/package.json | 2 +- .../core/data-source-manager/package.json | 12 +- packages/core/database/package.json | 6 +- packages/core/devtools/package.json | 8 +- packages/core/evaluators/package.json | 4 +- packages/core/logger/package.json | 2 +- packages/core/resourcer/package.json | 4 +- packages/core/sdk/package.json | 2 +- packages/core/server/package.json | 26 ++-- packages/core/telemetry/package.json | 4 +- packages/core/test/package.json | 4 +- packages/core/utils/package.json | 2 +- .../plugins/@nocobase/plugin-acl/package.json | 2 +- .../plugin-action-bulk-edit/package.json | 2 +- .../plugin-action-bulk-update/package.json | 2 +- .../plugin-action-custom-request/package.json | 2 +- .../plugin-action-duplicate/package.json | 2 +- .../plugin-action-export/package.json | 2 +- .../plugin-action-import/package.json | 2 +- .../plugin-action-print/package.json | 2 +- .../@nocobase/plugin-api-doc/package.json | 2 +- .../@nocobase/plugin-api-keys/package.json | 2 +- .../@nocobase/plugin-audit-logs/package.json | 2 +- .../@nocobase/plugin-auth-sms/package.json | 2 +- .../@nocobase/plugin-auth/package.json | 2 +- .../plugin-backup-restore/package.json | 2 +- .../plugin-block-iframe/package.json | 2 +- .../plugin-block-workbench/package.json | 2 +- .../@nocobase/plugin-calendar/package.json | 2 +- .../@nocobase/plugin-charts/package.json | 2 +- .../@nocobase/plugin-client/package.json | 2 +- .../plugin-collection-sql/package.json | 2 +- .../plugin-collection-tree/package.json | 2 +- .../plugin-data-source-main/package.json | 2 +- .../plugin-data-source-manager/package.json | 2 +- .../plugin-data-visualization/package.json | 2 +- .../plugin-disable-pm-add/package.json | 2 +- .../plugin-error-handler/package.json | 2 +- .../plugin-field-china-region/package.json | 2 +- .../plugin-field-formula/package.json | 2 +- .../plugin-field-m2m-array/package.json | 2 +- .../plugin-field-markdown-vditor/package.json | 2 +- .../plugin-field-sequence/package.json | 2 +- .../plugin-file-manager/package.json | 2 +- .../@nocobase/plugin-gantt/package.json | 2 +- .../package.json | 2 +- .../@nocobase/plugin-kanban/package.json | 2 +- .../plugin-localization/package.json | 2 +- .../@nocobase/plugin-logger/package.json | 2 +- .../plugins/@nocobase/plugin-map/package.json | 2 +- .../plugin-mobile-client/package.json | 2 +- .../@nocobase/plugin-mobile/package.json | 2 +- .../plugin-mock-collections/package.json | 2 +- .../plugin-multi-app-manager/package.json | 2 +- .../package.json | 2 +- .../plugin-notification-email/package.json | 2 +- .../package.json | 2 +- .../plugin-notification-manager/package.json | 2 +- .../plugin-notifications/package.json | 2 +- .../plugin-public-forms/package.json | 2 +- .../plugin-sample-hello/package.json | 2 +- .../plugin-snapshot-field/package.json | 2 +- .../plugin-system-settings/package.json | 2 +- .../plugin-theme-editor/package.json | 2 +- .../plugin-ui-schema-storage/package.json | 2 +- .../plugin-user-data-sync/package.json | 2 +- .../@nocobase/plugin-users/package.json | 2 +- .../plugin-verification/package.json | 2 +- .../package.json | 2 +- .../plugin-workflow-aggregate/package.json | 2 +- .../plugin-workflow-delay/package.json | 2 +- .../package.json | 2 +- .../plugin-workflow-loop/package.json | 2 +- .../plugin-workflow-mailer/package.json | 2 +- .../plugin-workflow-manual/package.json | 2 +- .../plugin-workflow-notification/package.json | 2 +- .../plugin-workflow-parallel/package.json | 2 +- .../plugin-workflow-request/package.json | 2 +- .../plugin-workflow-sql/package.json | 2 +- .../plugin-workflow-test/package.json | 2 +- .../@nocobase/plugin-workflow/package.json | 4 +- packages/presets/nocobase/package.json | 134 +++++++++--------- 91 files changed, 203 insertions(+), 203 deletions(-) diff --git a/lerna.json b/lerna.json index cb8b4c9496..fb0514e000 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.4.25", + "version": "1.4.26", "npmClient": "yarn", "useWorkspaces": true, "npmClientArgs": [ diff --git a/packages/core/acl/package.json b/packages/core/acl/package.json index e622dc9983..f3f23f5646 100644 --- a/packages/core/acl/package.json +++ b/packages/core/acl/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/acl", - "version": "1.4.25", + "version": "1.4.26", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/resourcer": "1.4.25", - "@nocobase/utils": "1.4.25", + "@nocobase/resourcer": "1.4.26", + "@nocobase/utils": "1.4.26", "minimatch": "^5.1.1" }, "repository": { diff --git a/packages/core/actions/package.json b/packages/core/actions/package.json index 52f2789e04..2981cd354c 100644 --- a/packages/core/actions/package.json +++ b/packages/core/actions/package.json @@ -1,14 +1,14 @@ { "name": "@nocobase/actions", - "version": "1.4.25", + "version": "1.4.26", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/cache": "1.4.25", - "@nocobase/database": "1.4.25", - "@nocobase/resourcer": "1.4.25" + "@nocobase/cache": "1.4.26", + "@nocobase/database": "1.4.26", + "@nocobase/resourcer": "1.4.26" }, "repository": { "type": "git", diff --git a/packages/core/app/package.json b/packages/core/app/package.json index 6bcd6f5cb3..fb4757d3cc 100644 --- a/packages/core/app/package.json +++ b/packages/core/app/package.json @@ -1,17 +1,17 @@ { "name": "@nocobase/app", - "version": "1.4.25", + "version": "1.4.26", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/database": "1.4.25", - "@nocobase/preset-nocobase": "1.4.25", - "@nocobase/server": "1.4.25" + "@nocobase/database": "1.4.26", + "@nocobase/preset-nocobase": "1.4.26", + "@nocobase/server": "1.4.26" }, "devDependencies": { - "@nocobase/client": "1.4.25" + "@nocobase/client": "1.4.26" }, "repository": { "type": "git", diff --git a/packages/core/auth/package.json b/packages/core/auth/package.json index f08b0fb7bb..24b0bfb92a 100644 --- a/packages/core/auth/package.json +++ b/packages/core/auth/package.json @@ -1,16 +1,16 @@ { "name": "@nocobase/auth", - "version": "1.4.25", + "version": "1.4.26", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/actions": "1.4.25", - "@nocobase/cache": "1.4.25", - "@nocobase/database": "1.4.25", - "@nocobase/resourcer": "1.4.25", - "@nocobase/utils": "1.4.25", + "@nocobase/actions": "1.4.26", + "@nocobase/cache": "1.4.26", + "@nocobase/database": "1.4.26", + "@nocobase/resourcer": "1.4.26", + "@nocobase/utils": "1.4.26", "@types/jsonwebtoken": "^8.5.8", "jsonwebtoken": "^8.5.1" }, diff --git a/packages/core/build/package.json b/packages/core/build/package.json index e134352225..9e8d696df1 100644 --- a/packages/core/build/package.json +++ b/packages/core/build/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/build", - "version": "1.4.25", + "version": "1.4.26", "description": "Library build tool based on rollup.", "main": "lib/index.js", "types": "./lib/index.d.ts", diff --git a/packages/core/cache/package.json b/packages/core/cache/package.json index 2ba7c62cc6..bc98449587 100644 --- a/packages/core/cache/package.json +++ b/packages/core/cache/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/cache", - "version": "1.4.25", + "version": "1.4.26", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", diff --git a/packages/core/cli/package.json b/packages/core/cli/package.json index abb31f791d..f0213b28e6 100644 --- a/packages/core/cli/package.json +++ b/packages/core/cli/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/cli", - "version": "1.4.25", + "version": "1.4.26", "description": "", "license": "AGPL-3.0", "main": "./src/index.js", @@ -8,7 +8,7 @@ "nocobase": "./bin/index.js" }, "dependencies": { - "@nocobase/app": "1.4.25", + "@nocobase/app": "1.4.26", "@types/fs-extra": "^11.0.1", "@umijs/utils": "3.5.20", "chalk": "^4.1.1", @@ -25,7 +25,7 @@ "tsx": "^4.19.0" }, "devDependencies": { - "@nocobase/devtools": "1.4.25" + "@nocobase/devtools": "1.4.26" }, "repository": { "type": "git", diff --git a/packages/core/client/package.json b/packages/core/client/package.json index 21bd25727c..3a4641ac0b 100644 --- a/packages/core/client/package.json +++ b/packages/core/client/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/client", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "lib/index.js", "module": "es/index.mjs", @@ -27,9 +27,9 @@ "@formily/reactive-react": "^2.2.27", "@formily/shared": "^2.2.27", "@formily/validator": "^2.2.27", - "@nocobase/evaluators": "1.4.25", - "@nocobase/sdk": "1.4.25", - "@nocobase/utils": "1.4.25", + "@nocobase/evaluators": "1.4.26", + "@nocobase/sdk": "1.4.26", + "@nocobase/utils": "1.4.26", "ahooks": "^3.7.2", "antd": "5.12.8", "antd-style": "3.7.1", diff --git a/packages/core/create-nocobase-app/package.json b/packages/core/create-nocobase-app/package.json index 85d55131f9..439364c0bf 100755 --- a/packages/core/create-nocobase-app/package.json +++ b/packages/core/create-nocobase-app/package.json @@ -1,6 +1,6 @@ { "name": "create-nocobase-app", - "version": "1.4.25", + "version": "1.4.26", "main": "src/index.js", "license": "AGPL-3.0", "dependencies": { diff --git a/packages/core/data-source-manager/package.json b/packages/core/data-source-manager/package.json index 28fad8cdbd..fc4976b98a 100644 --- a/packages/core/data-source-manager/package.json +++ b/packages/core/data-source-manager/package.json @@ -1,16 +1,16 @@ { "name": "@nocobase/data-source-manager", - "version": "1.4.25", + "version": "1.4.26", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/actions": "1.4.25", - "@nocobase/cache": "1.4.25", - "@nocobase/database": "1.4.25", - "@nocobase/resourcer": "1.4.25", - "@nocobase/utils": "1.4.25", + "@nocobase/actions": "1.4.26", + "@nocobase/cache": "1.4.26", + "@nocobase/database": "1.4.26", + "@nocobase/resourcer": "1.4.26", + "@nocobase/utils": "1.4.26", "@types/jsonwebtoken": "^8.5.8", "jsonwebtoken": "^8.5.1" }, diff --git a/packages/core/database/package.json b/packages/core/database/package.json index fab7267269..3e1aba46c9 100644 --- a/packages/core/database/package.json +++ b/packages/core/database/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/database", - "version": "1.4.25", + "version": "1.4.26", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", "dependencies": { - "@nocobase/logger": "1.4.25", - "@nocobase/utils": "1.4.25", + "@nocobase/logger": "1.4.26", + "@nocobase/utils": "1.4.26", "async-mutex": "^0.3.2", "chalk": "^4.1.1", "cron-parser": "4.4.0", diff --git a/packages/core/devtools/package.json b/packages/core/devtools/package.json index 9fa9d9e801..009947ab4d 100644 --- a/packages/core/devtools/package.json +++ b/packages/core/devtools/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/devtools", - "version": "1.4.25", + "version": "1.4.26", "description": "", "license": "AGPL-3.0", "main": "./src/index.js", "dependencies": { - "@nocobase/build": "1.4.25", - "@nocobase/client": "1.4.25", - "@nocobase/test": "1.4.25", + "@nocobase/build": "1.4.26", + "@nocobase/client": "1.4.26", + "@nocobase/test": "1.4.26", "@types/koa": "^2.13.4", "@types/koa-bodyparser": "^4.3.4", "@types/lodash": "^4.14.177", diff --git a/packages/core/evaluators/package.json b/packages/core/evaluators/package.json index b0f931696e..50d403537f 100644 --- a/packages/core/evaluators/package.json +++ b/packages/core/evaluators/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/evaluators", - "version": "1.4.25", + "version": "1.4.26", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", "dependencies": { "@formulajs/formulajs": "4.4.9", - "@nocobase/utils": "1.4.25", + "@nocobase/utils": "1.4.26", "mathjs": "^10.6.0" }, "repository": { diff --git a/packages/core/logger/package.json b/packages/core/logger/package.json index d0fbbdb83f..5a02a9906c 100644 --- a/packages/core/logger/package.json +++ b/packages/core/logger/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/logger", - "version": "1.4.25", + "version": "1.4.26", "description": "nocobase logging library", "license": "AGPL-3.0", "main": "./lib/index.js", diff --git a/packages/core/resourcer/package.json b/packages/core/resourcer/package.json index e12c58bcff..333035388d 100644 --- a/packages/core/resourcer/package.json +++ b/packages/core/resourcer/package.json @@ -1,12 +1,12 @@ { "name": "@nocobase/resourcer", - "version": "1.4.25", + "version": "1.4.26", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", "dependencies": { - "@nocobase/utils": "1.4.25", + "@nocobase/utils": "1.4.26", "deepmerge": "^4.2.2", "koa-compose": "^4.1.0", "lodash": "^4.17.21", diff --git a/packages/core/sdk/package.json b/packages/core/sdk/package.json index 75ca1b4bd4..7a92110925 100644 --- a/packages/core/sdk/package.json +++ b/packages/core/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/sdk", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/packages/core/server/package.json b/packages/core/server/package.json index 9766baa2c7..ced0f76d9a 100644 --- a/packages/core/server/package.json +++ b/packages/core/server/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/server", - "version": "1.4.25", + "version": "1.4.26", "main": "lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", @@ -10,18 +10,18 @@ "@koa/cors": "^3.1.0", "@koa/multer": "^3.0.2", "@koa/router": "^9.4.0", - "@nocobase/acl": "1.4.25", - "@nocobase/actions": "1.4.25", - "@nocobase/auth": "1.4.25", - "@nocobase/cache": "1.4.25", - "@nocobase/data-source-manager": "1.4.25", - "@nocobase/database": "1.4.25", - "@nocobase/evaluators": "1.4.25", - "@nocobase/logger": "1.4.25", - "@nocobase/resourcer": "1.4.25", - "@nocobase/sdk": "1.4.25", - "@nocobase/telemetry": "1.4.25", - "@nocobase/utils": "1.4.25", + "@nocobase/acl": "1.4.26", + "@nocobase/actions": "1.4.26", + "@nocobase/auth": "1.4.26", + "@nocobase/cache": "1.4.26", + "@nocobase/data-source-manager": "1.4.26", + "@nocobase/database": "1.4.26", + "@nocobase/evaluators": "1.4.26", + "@nocobase/logger": "1.4.26", + "@nocobase/resourcer": "1.4.26", + "@nocobase/sdk": "1.4.26", + "@nocobase/telemetry": "1.4.26", + "@nocobase/utils": "1.4.26", "@types/decompress": "4.2.7", "@types/ini": "^1.3.31", "@types/koa-send": "^4.1.3", diff --git a/packages/core/telemetry/package.json b/packages/core/telemetry/package.json index 5b3dae8bd0..517bd888ea 100644 --- a/packages/core/telemetry/package.json +++ b/packages/core/telemetry/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/telemetry", - "version": "1.4.25", + "version": "1.4.26", "description": "nocobase telemetry library", "license": "AGPL-3.0", "main": "./lib/index.js", @@ -11,7 +11,7 @@ "directory": "packages/telemetry" }, "dependencies": { - "@nocobase/utils": "1.4.25", + "@nocobase/utils": "1.4.26", "@opentelemetry/api": "^1.7.0", "@opentelemetry/instrumentation": "^0.46.0", "@opentelemetry/resources": "^1.19.0", diff --git a/packages/core/test/package.json b/packages/core/test/package.json index d4960e4dea..589b285b26 100644 --- a/packages/core/test/package.json +++ b/packages/core/test/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/test", - "version": "1.4.25", + "version": "1.4.26", "main": "lib/index.js", "module": "./src/index.ts", "types": "./lib/index.d.ts", @@ -51,7 +51,7 @@ }, "dependencies": { "@faker-js/faker": "8.1.0", - "@nocobase/server": "1.4.25", + "@nocobase/server": "1.4.26", "@playwright/test": "^1.45.3", "@testing-library/jest-dom": "^6.4.2", "@testing-library/react": "^14.0.0", diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index 5581d66e6b..e14f0f8115 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/utils", - "version": "1.4.25", + "version": "1.4.26", "main": "lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", diff --git a/packages/plugins/@nocobase/plugin-acl/package.json b/packages/plugins/@nocobase/plugin-acl/package.json index f2320836a6..0a05ea4d02 100644 --- a/packages/plugins/@nocobase/plugin-acl/package.json +++ b/packages/plugins/@nocobase/plugin-acl/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "权限控制", "description": "Based on roles, resources, and actions, access control can precisely manage interface configuration permissions, data operation permissions, menu access permissions, and plugin permissions.", "description.zh-CN": "基于角色、资源和操作的权限控制,可以精确控制界面配置权限、数据操作权限、菜单访问权限、插件权限。", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/acl", diff --git a/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json b/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json index 91fa545f3f..cac7d1561e 100644 --- a/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json +++ b/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-bulk-edit", - "version": "1.4.25", + "version": "1.4.26", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-bulk-edit", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-bulk-edit", diff --git a/packages/plugins/@nocobase/plugin-action-bulk-update/package.json b/packages/plugins/@nocobase/plugin-action-bulk-update/package.json index 1bcd89009d..de4b655f86 100644 --- a/packages/plugins/@nocobase/plugin-action-bulk-update/package.json +++ b/packages/plugins/@nocobase/plugin-action-bulk-update/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-bulk-update", - "version": "1.4.25", + "version": "1.4.26", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-bulk-update", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-bulk-update", diff --git a/packages/plugins/@nocobase/plugin-action-custom-request/package.json b/packages/plugins/@nocobase/plugin-action-custom-request/package.json index 542e4bc349..b80708bdfb 100644 --- a/packages/plugins/@nocobase/plugin-action-custom-request/package.json +++ b/packages/plugins/@nocobase/plugin-action-custom-request/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-custom-request", - "version": "1.4.25", + "version": "1.4.26", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-custom-request", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-custom-request", diff --git a/packages/plugins/@nocobase/plugin-action-duplicate/package.json b/packages/plugins/@nocobase/plugin-action-duplicate/package.json index 6766aa0b51..6995fed097 100644 --- a/packages/plugins/@nocobase/plugin-action-duplicate/package.json +++ b/packages/plugins/@nocobase/plugin-action-duplicate/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-duplicate", - "version": "1.4.25", + "version": "1.4.26", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-duplicate", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-duplicate", diff --git a/packages/plugins/@nocobase/plugin-action-export/package.json b/packages/plugins/@nocobase/plugin-action-export/package.json index b2edbca30b..879082c761 100644 --- a/packages/plugins/@nocobase/plugin-action-export/package.json +++ b/packages/plugins/@nocobase/plugin-action-export/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "操作:导出记录", "description": "Export filtered records to excel, you can configure which fields to export.", "description.zh-CN": "导出筛选后的记录到 Excel 中,可以配置导出哪些字段。", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-export", diff --git a/packages/plugins/@nocobase/plugin-action-import/package.json b/packages/plugins/@nocobase/plugin-action-import/package.json index e17bf17945..7886227c31 100644 --- a/packages/plugins/@nocobase/plugin-action-import/package.json +++ b/packages/plugins/@nocobase/plugin-action-import/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "操作:导入记录", "description": "Import records using excel templates. You can configure which fields to import and templates will be generated automatically.", "description.zh-CN": "使用 Excel 模板导入数据,可以配置导入哪些字段,自动生成模板。", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-import", diff --git a/packages/plugins/@nocobase/plugin-action-print/package.json b/packages/plugins/@nocobase/plugin-action-print/package.json index 00668ca708..2af4418a3f 100644 --- a/packages/plugins/@nocobase/plugin-action-print/package.json +++ b/packages/plugins/@nocobase/plugin-action-print/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-print", - "version": "1.4.25", + "version": "1.4.26", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-print", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-print", diff --git a/packages/plugins/@nocobase/plugin-api-doc/package.json b/packages/plugins/@nocobase/plugin-api-doc/package.json index 7e0c15a681..9d9603e547 100644 --- a/packages/plugins/@nocobase/plugin-api-doc/package.json +++ b/packages/plugins/@nocobase/plugin-api-doc/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-api-doc", - "version": "1.4.25", + "version": "1.4.26", "displayName": "API documentation", "displayName.zh-CN": "API 文档", "description": "An OpenAPI documentation generator for NocoBase HTTP API.", diff --git a/packages/plugins/@nocobase/plugin-api-keys/package.json b/packages/plugins/@nocobase/plugin-api-keys/package.json index d73fb19431..e2bd2e83a2 100644 --- a/packages/plugins/@nocobase/plugin-api-keys/package.json +++ b/packages/plugins/@nocobase/plugin-api-keys/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "认证:API 密钥", "description": "Allows users to use API key to access application's HTTP API", "description.zh-CN": "允许用户使用 API 密钥访问应用的 HTTP API", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/api-keys", diff --git a/packages/plugins/@nocobase/plugin-audit-logs/package.json b/packages/plugins/@nocobase/plugin-audit-logs/package.json index eafd193e00..cb73d019b2 100644 --- a/packages/plugins/@nocobase/plugin-audit-logs/package.json +++ b/packages/plugins/@nocobase/plugin-audit-logs/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-audit-logs", - "version": "1.4.25", + "version": "1.4.26", "displayName": "Audit logs (deprecated)", "displayName.zh-CN": "审计日志(废弃)", "description": "This plugin is deprecated. There will be a new audit log plugin in the future.", diff --git a/packages/plugins/@nocobase/plugin-auth-sms/package.json b/packages/plugins/@nocobase/plugin-auth-sms/package.json index 2efde940f7..19e17c85be 100644 --- a/packages/plugins/@nocobase/plugin-auth-sms/package.json +++ b/packages/plugins/@nocobase/plugin-auth-sms/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "认证:短信", "description": "SMS authentication.", "description.zh-CN": "通过短信验证码认证身份。", - "version": "1.4.25", + "version": "1.4.26", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/auth-sms", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/auth-sms", diff --git a/packages/plugins/@nocobase/plugin-auth/package.json b/packages/plugins/@nocobase/plugin-auth/package.json index 97ac01066d..11d79d2a94 100644 --- a/packages/plugins/@nocobase/plugin-auth/package.json +++ b/packages/plugins/@nocobase/plugin-auth/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-auth", - "version": "1.4.25", + "version": "1.4.26", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/auth", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/auth", diff --git a/packages/plugins/@nocobase/plugin-backup-restore/package.json b/packages/plugins/@nocobase/plugin-backup-restore/package.json index 431af08c7f..d06178b947 100644 --- a/packages/plugins/@nocobase/plugin-backup-restore/package.json +++ b/packages/plugins/@nocobase/plugin-backup-restore/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "应用的备份与还原(废弃)", "description": "Backup and restore applications for scenarios such as application replication, migration, and upgrades.", "description.zh-CN": "备份和还原应用,可用于应用的复制、迁移、升级等场景。", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/backup-restore", diff --git a/packages/plugins/@nocobase/plugin-block-iframe/package.json b/packages/plugins/@nocobase/plugin-block-iframe/package.json index ae1962004e..f9ac303dea 100644 --- a/packages/plugins/@nocobase/plugin-block-iframe/package.json +++ b/packages/plugins/@nocobase/plugin-block-iframe/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "区块:iframe", "description": "Create an iframe block on the page to embed and display external web pages or content.", "description.zh-CN": "在页面上创建和管理iframe,用于嵌入和展示外部网页或内容。", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/block-iframe", diff --git a/packages/plugins/@nocobase/plugin-block-workbench/package.json b/packages/plugins/@nocobase/plugin-block-workbench/package.json index 39d0fe3f68..272a2af689 100644 --- a/packages/plugins/@nocobase/plugin-block-workbench/package.json +++ b/packages/plugins/@nocobase/plugin-block-workbench/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-block-workbench", - "version": "1.4.25", + "version": "1.4.26", "displayName": "Block: Action panel", "displayName.zh-CN": "区块:操作面板", "description": "Centrally manages and displays various actions, allowing users to efficiently perform tasks. It supports extensibility, with current action types including pop-ups, links, scanning, and custom requests.", diff --git a/packages/plugins/@nocobase/plugin-calendar/package.json b/packages/plugins/@nocobase/plugin-calendar/package.json index 904e93aa89..dc4dde5b8a 100644 --- a/packages/plugins/@nocobase/plugin-calendar/package.json +++ b/packages/plugins/@nocobase/plugin-calendar/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-calendar", - "version": "1.4.25", + "version": "1.4.26", "displayName": "Calendar", "displayName.zh-CN": "日历", "description": "Provides callendar collection template and block for managing date data, typically for date/time related information such as events, appointments, tasks, and so on.", diff --git a/packages/plugins/@nocobase/plugin-charts/package.json b/packages/plugins/@nocobase/plugin-charts/package.json index 162f63027b..071d7f412f 100644 --- a/packages/plugins/@nocobase/plugin-charts/package.json +++ b/packages/plugins/@nocobase/plugin-charts/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "图表(废弃)", "description": "The plugin has been deprecated, please use the data visualization plugin instead.", "description.zh-CN": "已废弃插件,请使用数据可视化插件代替。", - "version": "1.4.25", + "version": "1.4.26", "main": "./dist/server/index.js", "license": "AGPL-3.0", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-client/package.json b/packages/plugins/@nocobase/plugin-client/package.json index 3b6dd1d72e..dfc37e8457 100644 --- a/packages/plugins/@nocobase/plugin-client/package.json +++ b/packages/plugins/@nocobase/plugin-client/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "WEB 客户端", "description": "Provides a client interface for the NocoBase server", "description.zh-CN": "为 NocoBase 服务端提供客户端界面", - "version": "1.4.25", + "version": "1.4.26", "main": "./dist/server/index.js", "license": "AGPL-3.0", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-collection-sql/package.json b/packages/plugins/@nocobase/plugin-collection-sql/package.json index 1884757fa7..bde0924413 100644 --- a/packages/plugins/@nocobase/plugin-collection-sql/package.json +++ b/packages/plugins/@nocobase/plugin-collection-sql/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表: SQL", "description": "Provides SQL collection template", "description.zh-CN": "提供 SQL 数据表模板", - "version": "1.4.25", + "version": "1.4.26", "homepage": "https://docs-cn.nocobase.com/handbook/collection-sql", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/collection-sql", "main": "dist/server/index.js", diff --git a/packages/plugins/@nocobase/plugin-collection-tree/package.json b/packages/plugins/@nocobase/plugin-collection-tree/package.json index b446a7473c..4ce968c5fb 100644 --- a/packages/plugins/@nocobase/plugin-collection-tree/package.json +++ b/packages/plugins/@nocobase/plugin-collection-tree/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-collection-tree", - "version": "1.4.25", + "version": "1.4.26", "displayName": "Collection: Tree", "displayName.zh-CN": "数据表:树", "description": "Provides tree collection template", diff --git a/packages/plugins/@nocobase/plugin-data-source-main/package.json b/packages/plugins/@nocobase/plugin-data-source-main/package.json index 6bd4bd67a3..cb4fb7fd56 100644 --- a/packages/plugins/@nocobase/plugin-data-source-main/package.json +++ b/packages/plugins/@nocobase/plugin-data-source-main/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据源:主数据库", "description": "NocoBase main database, supports relational databases such as PostgreSQL, MySQL, MariaDB and so on.", "description.zh-CN": "NocoBase 主数据库,支持 PostgreSQL、MySQL、MariaDB 等关系型数据库。", - "version": "1.4.25", + "version": "1.4.26", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/data-source-main", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/data-source-main", diff --git a/packages/plugins/@nocobase/plugin-data-source-manager/package.json b/packages/plugins/@nocobase/plugin-data-source-manager/package.json index 198d2a9b5e..fbe06f8e22 100644 --- a/packages/plugins/@nocobase/plugin-data-source-manager/package.json +++ b/packages/plugins/@nocobase/plugin-data-source-manager/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-data-source-manager", - "version": "1.4.25", + "version": "1.4.26", "main": "dist/server/index.js", "displayName": "Data source manager", "displayName.zh-CN": "数据源管理", diff --git a/packages/plugins/@nocobase/plugin-data-visualization/package.json b/packages/plugins/@nocobase/plugin-data-visualization/package.json index 5d27479d6e..0f36a0469e 100644 --- a/packages/plugins/@nocobase/plugin-data-visualization/package.json +++ b/packages/plugins/@nocobase/plugin-data-visualization/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-data-visualization", - "version": "1.4.25", + "version": "1.4.26", "displayName": "Data visualization", "displayName.zh-CN": "数据可视化", "description": "Provides data visualization feature, including chart block and chart filter block, support line charts, area charts, bar charts and more than a dozen kinds of charts, you can also extend more chart types.", diff --git a/packages/plugins/@nocobase/plugin-disable-pm-add/package.json b/packages/plugins/@nocobase/plugin-disable-pm-add/package.json index 381353aadc..8e8425f6a3 100644 --- a/packages/plugins/@nocobase/plugin-disable-pm-add/package.json +++ b/packages/plugins/@nocobase/plugin-disable-pm-add/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-disable-pm-add", - "version": "1.4.25", + "version": "1.4.26", "main": "./dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-error-handler/package.json b/packages/plugins/@nocobase/plugin-error-handler/package.json index 35e1c38049..1dd3166eb1 100644 --- a/packages/plugins/@nocobase/plugin-error-handler/package.json +++ b/packages/plugins/@nocobase/plugin-error-handler/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "错误处理器", "description": "Handling application errors and exceptions.", "description.zh-CN": "处理应用程序中的错误和异常。", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "./dist/server/index.js", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-field-china-region/package.json b/packages/plugins/@nocobase/plugin-field-china-region/package.json index b70160fb41..636d8e3006 100644 --- a/packages/plugins/@nocobase/plugin-field-china-region/package.json +++ b/packages/plugins/@nocobase/plugin-field-china-region/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-field-china-region", - "version": "1.4.25", + "version": "1.4.26", "displayName": "Collection field: administrative divisions of China", "displayName.zh-CN": "数据表字段:中国行政区划", "description": "Provides data and field type for administrative divisions of China.", diff --git a/packages/plugins/@nocobase/plugin-field-formula/package.json b/packages/plugins/@nocobase/plugin-field-formula/package.json index d84c41030c..82db7e01e9 100644 --- a/packages/plugins/@nocobase/plugin-field-formula/package.json +++ b/packages/plugins/@nocobase/plugin-field-formula/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:公式", "description": "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.", "description.zh-CN": "可以配置并存储同一条记录的多字段值之间的计算结果,支持 Math.js 和 Excel formula functions 两种引擎", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-formula", diff --git a/packages/plugins/@nocobase/plugin-field-m2m-array/package.json b/packages/plugins/@nocobase/plugin-field-m2m-array/package.json index c9fddbf9ac..f2a38184a1 100644 --- a/packages/plugins/@nocobase/plugin-field-m2m-array/package.json +++ b/packages/plugins/@nocobase/plugin-field-m2m-array/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:多对多 (数组)", "description": "Allows to create many to many relationships between two models by storing an array of unique keys of the target model.", "description.zh-CN": "支持通过在数组中存储目标表唯一键的方式建立多对多关系。", - "version": "1.4.25", + "version": "1.4.26", "main": "dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json b/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json index 1c8d73707d..26ae1ef8a4 100644 --- a/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json +++ b/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:Markdown(Vditor)", "description": "Used to store Markdown and render it using Vditor editor, supports common Markdown syntax such as list, code, quote, etc., and supports uploading images, recordings, etc.It also allows for instant rendering, where what you see is what you get.", "description.zh-CN": "用于存储 Markdown,并使用 Vditor 编辑器渲染,支持常见 Markdown 语法,如列表,代码,引用等,并支持上传图片,录音等。同时可以做到即时渲染,所见即所得。", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-markdown-vditor", diff --git a/packages/plugins/@nocobase/plugin-field-sequence/package.json b/packages/plugins/@nocobase/plugin-field-sequence/package.json index bc3b89c7f9..fee1c32403 100644 --- a/packages/plugins/@nocobase/plugin-field-sequence/package.json +++ b/packages/plugins/@nocobase/plugin-field-sequence/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:自动编码", "description": "Automatically generate codes based on configured rules, supporting combinations of dates, numbers, and text.", "description.zh-CN": "根据配置的规则自动生成编码,支持日期、数字、文本的组合。", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-sequence", diff --git a/packages/plugins/@nocobase/plugin-file-manager/package.json b/packages/plugins/@nocobase/plugin-file-manager/package.json index 4f94458cdf..cbdedb1cbd 100644 --- a/packages/plugins/@nocobase/plugin-file-manager/package.json +++ b/packages/plugins/@nocobase/plugin-file-manager/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-file-manager", - "version": "1.4.25", + "version": "1.4.26", "displayName": "File manager", "displayName.zh-CN": "文件管理器", "description": "Provides files storage services with files collection template and attachment field.", diff --git a/packages/plugins/@nocobase/plugin-gantt/package.json b/packages/plugins/@nocobase/plugin-gantt/package.json index f134a7ffe5..512c9b66a6 100644 --- a/packages/plugins/@nocobase/plugin-gantt/package.json +++ b/packages/plugins/@nocobase/plugin-gantt/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-gantt", - "version": "1.4.25", + "version": "1.4.26", "displayName": "Block: Gantt", "displayName.zh-CN": "区块:甘特图", "description": "Provides Gantt block.", diff --git a/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json b/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json index 7838436c63..d42bdbe6b5 100644 --- a/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json +++ b/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "可视化数据表管理", "description": "An ER diagram-like tool. Currently only the Master database is supported.", "description.zh-CN": "类似 ER 图的工具,目前只支持主数据库。", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/graph-collection-manager", diff --git a/packages/plugins/@nocobase/plugin-kanban/package.json b/packages/plugins/@nocobase/plugin-kanban/package.json index e5b6c56275..387c2ee32d 100644 --- a/packages/plugins/@nocobase/plugin-kanban/package.json +++ b/packages/plugins/@nocobase/plugin-kanban/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-kanban", - "version": "1.4.25", + "version": "1.4.26", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/block-kanban", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/block-kanban", diff --git a/packages/plugins/@nocobase/plugin-localization/package.json b/packages/plugins/@nocobase/plugin-localization/package.json index 5f6e9db7db..345f254433 100644 --- a/packages/plugins/@nocobase/plugin-localization/package.json +++ b/packages/plugins/@nocobase/plugin-localization/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-localization", - "version": "1.4.25", + "version": "1.4.26", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/localization-management", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/localization-management", diff --git a/packages/plugins/@nocobase/plugin-logger/package.json b/packages/plugins/@nocobase/plugin-logger/package.json index 6610285162..cbf872731b 100644 --- a/packages/plugins/@nocobase/plugin-logger/package.json +++ b/packages/plugins/@nocobase/plugin-logger/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "日志", "description": "Server-side logs, mainly including API request logs and system runtime logs, and allows to package and download log files.", "description.zh-CN": "服务端日志,主要包括接口请求日志和系统运行日志,并支持打包和下载日志文件。", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/logger", diff --git a/packages/plugins/@nocobase/plugin-map/package.json b/packages/plugins/@nocobase/plugin-map/package.json index 70c360cfc3..43d34a9f4e 100644 --- a/packages/plugins/@nocobase/plugin-map/package.json +++ b/packages/plugins/@nocobase/plugin-map/package.json @@ -2,7 +2,7 @@ "name": "@nocobase/plugin-map", "displayName": "Block: Map", "displayName.zh-CN": "区块:地图", - "version": "1.4.25", + "version": "1.4.26", "description": "Map block, support Gaode map and Google map, you can also extend more map types.", "description.zh-CN": "地图区块,支持高德地图和 Google 地图,你也可以扩展更多地图类型。", "license": "AGPL-3.0", diff --git a/packages/plugins/@nocobase/plugin-mobile-client/package.json b/packages/plugins/@nocobase/plugin-mobile-client/package.json index ee614a6829..aacc9ee00d 100644 --- a/packages/plugins/@nocobase/plugin-mobile-client/package.json +++ b/packages/plugins/@nocobase/plugin-mobile-client/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-mobile-client", - "version": "1.4.25", + "version": "1.4.26", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/mobile-client", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/mobile-client", diff --git a/packages/plugins/@nocobase/plugin-mobile/package.json b/packages/plugins/@nocobase/plugin-mobile/package.json index d402cd681c..0be8afd0dd 100644 --- a/packages/plugins/@nocobase/plugin-mobile/package.json +++ b/packages/plugins/@nocobase/plugin-mobile/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-mobile", - "version": "1.4.25", + "version": "1.4.26", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/mobile", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/mobile", diff --git a/packages/plugins/@nocobase/plugin-mock-collections/package.json b/packages/plugins/@nocobase/plugin-mock-collections/package.json index 3419868d8d..8df9127535 100644 --- a/packages/plugins/@nocobase/plugin-mock-collections/package.json +++ b/packages/plugins/@nocobase/plugin-mock-collections/package.json @@ -2,7 +2,7 @@ "name": "@nocobase/plugin-mock-collections", "displayName": "mock-collections", "description": "mock-collections", - "version": "1.4.25", + "version": "1.4.26", "main": "./dist/server/index.js", "license": "AGPL-3.0", "peerDependencies": { diff --git a/packages/plugins/@nocobase/plugin-multi-app-manager/package.json b/packages/plugins/@nocobase/plugin-multi-app-manager/package.json index 4cedcf8e16..8d2bfc6506 100644 --- a/packages/plugins/@nocobase/plugin-multi-app-manager/package.json +++ b/packages/plugins/@nocobase/plugin-multi-app-manager/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "多应用管理器", "description": "Dynamically create multiple apps without separate deployments.", "description.zh-CN": "无需单独部署即可动态创建多个应用。", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/multi-app-manager", diff --git a/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json b/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json index 69aac41232..6096b9cb24 100644 --- a/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json +++ b/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "多应用数据表共享", "description": "", "description.zh-CN": "", - "version": "1.4.25", + "version": "1.4.26", "main": "./dist/server/index.js", "devDependencies": { "@formily/react": "2.x", diff --git a/packages/plugins/@nocobase/plugin-notification-email/package.json b/packages/plugins/@nocobase/plugin-notification-email/package.json index 458e998ecd..d8a3802cc4 100644 --- a/packages/plugins/@nocobase/plugin-notification-email/package.json +++ b/packages/plugins/@nocobase/plugin-notification-email/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-notification-email", - "version": "1.4.25", + "version": "1.4.26", "displayName": "Notification: Email", "displayName.zh-CN": "通知:电子邮件", "description": "Used for sending email notifications with built-in SMTP transport.", diff --git a/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json b/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json index 8dbeab8134..220f379d3e 100644 --- a/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json +++ b/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-notification-in-app-message", - "version": "1.4.25", + "version": "1.4.26", "displayName": "Notification: In-app message", "displayName.zh-CN": "通知:站内信", "description": "It supports users in receiving real-time message notifications within the NocoBase application.", diff --git a/packages/plugins/@nocobase/plugin-notification-manager/package.json b/packages/plugins/@nocobase/plugin-notification-manager/package.json index 4060ce2201..3e078730e7 100644 --- a/packages/plugins/@nocobase/plugin-notification-manager/package.json +++ b/packages/plugins/@nocobase/plugin-notification-manager/package.json @@ -4,7 +4,7 @@ "description": "Provides a unified management service that includes channel configuration, logging, and other features, supporting the configuration of various notification channels, including in-app message and email.", "displayName.zh-CN": "通知管理", "description.zh-CN": "提供统一的管理服务,涵盖渠道配置、日志记录等功能,支持多种通知渠道的配置,包括站内信和电子邮件等。", - "version": "1.4.25", + "version": "1.4.26", "main": "dist/server/index.js", "devDependencies": { "@ant-design/icons": "5.x", diff --git a/packages/plugins/@nocobase/plugin-notifications/package.json b/packages/plugins/@nocobase/plugin-notifications/package.json index 77ad8babad..a1fd949209 100644 --- a/packages/plugins/@nocobase/plugin-notifications/package.json +++ b/packages/plugins/@nocobase/plugin-notifications/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-notifications", - "version": "1.4.25", + "version": "1.4.26", "description": "", "license": "AGPL-3.0", "main": "./dist/server/index.js", diff --git a/packages/plugins/@nocobase/plugin-public-forms/package.json b/packages/plugins/@nocobase/plugin-public-forms/package.json index 26d4198f91..6e62b13102 100644 --- a/packages/plugins/@nocobase/plugin-public-forms/package.json +++ b/packages/plugins/@nocobase/plugin-public-forms/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-public-forms", - "version": "1.4.25", + "version": "1.4.26", "main": "dist/server/index.js", "displayName": "Public forms", "displayName.zh-CN": "公开表单", diff --git a/packages/plugins/@nocobase/plugin-sample-hello/package.json b/packages/plugins/@nocobase/plugin-sample-hello/package.json index 9d0130c12a..73dedd2bae 100644 --- a/packages/plugins/@nocobase/plugin-sample-hello/package.json +++ b/packages/plugins/@nocobase/plugin-sample-hello/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-sample-hello", - "version": "1.4.25", + "version": "1.4.26", "main": "./dist/server/index.js", "displayName": "Hello", "displayName.zh-CN": "Hello", diff --git a/packages/plugins/@nocobase/plugin-snapshot-field/package.json b/packages/plugins/@nocobase/plugin-snapshot-field/package.json index 3ce4a298d0..e8ece29df9 100644 --- a/packages/plugins/@nocobase/plugin-snapshot-field/package.json +++ b/packages/plugins/@nocobase/plugin-snapshot-field/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:关系快照", "description": "When adding a new record, create a snapshot for its relational record and save in the new record. The snapshot will not be updated when the relational record is updated.", "description.zh-CN": "在添加数据时,为它的关系数据创建快照,并保存在当前的数据中。关系数据更新时,快照不会更新。", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-snapshot", diff --git a/packages/plugins/@nocobase/plugin-system-settings/package.json b/packages/plugins/@nocobase/plugin-system-settings/package.json index 0d5ef1aac5..ab91dd3b3e 100644 --- a/packages/plugins/@nocobase/plugin-system-settings/package.json +++ b/packages/plugins/@nocobase/plugin-system-settings/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "系统设置", "description": "Used to adjust the system title, logo, language, etc.", "description.zh-CN": "用于调整系统的标题、LOGO、语言等。", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/system-settings", diff --git a/packages/plugins/@nocobase/plugin-theme-editor/package.json b/packages/plugins/@nocobase/plugin-theme-editor/package.json index 09f76de381..ed4826efc4 100644 --- a/packages/plugins/@nocobase/plugin-theme-editor/package.json +++ b/packages/plugins/@nocobase/plugin-theme-editor/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-theme-editor", - "version": "1.4.25", + "version": "1.4.26", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/theme-editor", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/theme-editor", diff --git a/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json b/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json index e3eaec36fd..9e5b58654d 100644 --- a/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json +++ b/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "UI schema 存储服务", "description": "Provides centralized UI schema storage service.", "description.zh-CN": "提供中心化的 UI schema 存储服务。", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/ui-schema-storage", diff --git a/packages/plugins/@nocobase/plugin-user-data-sync/package.json b/packages/plugins/@nocobase/plugin-user-data-sync/package.json index bf5e2b525c..e817a9b4f8 100644 --- a/packages/plugins/@nocobase/plugin-user-data-sync/package.json +++ b/packages/plugins/@nocobase/plugin-user-data-sync/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "用户数据同步", "description": "Reigster and manage extensible user data synchronization sources, with HTTP API provided by default. Support for synchronizing data to resources such as users and departments.", "description.zh-CN": "注册和管理可扩展的用户数据同步来源,默认提供 HTTP API。支持向用户和部门等资源同步数据。", - "version": "1.4.25", + "version": "1.4.26", "main": "dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-users/package.json b/packages/plugins/@nocobase/plugin-users/package.json index d6e62cf254..d8ef687cdc 100644 --- a/packages/plugins/@nocobase/plugin-users/package.json +++ b/packages/plugins/@nocobase/plugin-users/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "用户", "description": "Provides basic user model, as well as created by and updated by fields.", "description.zh-CN": "提供了基础的用户模型,以及创建人和最后更新人字段。", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/users", diff --git a/packages/plugins/@nocobase/plugin-verification/package.json b/packages/plugins/@nocobase/plugin-verification/package.json index d34e21da39..691cb95e7f 100644 --- a/packages/plugins/@nocobase/plugin-verification/package.json +++ b/packages/plugins/@nocobase/plugin-verification/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "验证码", "description": "verification setting.", "description.zh-CN": "验证码配置。", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/verification", diff --git a/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json b/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json index 4fe70e7049..72011ebbb6 100644 --- a/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:操作后事件", "description": "Triggered after the completion of a request initiated through an action button or API, such as after adding, updating, deleting data, or \"submit to workflow\". Suitable for data processing, sending notifications, etc., after actions are completed.", "description.zh-CN": "通过操作按钮或 API 发起请求并在执行完成后触发,比如新增、更新、删除数据或者“提交至工作流”之后。适用于在操作完成后进行数据处理、发送通知等。", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/plugins/workflow-action-trigger", diff --git a/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json b/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json index 89ba9e9bd2..d1879f397c 100644 --- a/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:聚合查询节点", "description": "Used to aggregate data against the database in workflow, such as: statistics, sum, average, etc.", "description.zh-CN": "可用于在工作流中对数据库进行聚合查询,如:统计数量、求和、平均值等。", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-aggregate", diff --git a/packages/plugins/@nocobase/plugin-workflow-delay/package.json b/packages/plugins/@nocobase/plugin-workflow-delay/package.json index 5f7a6bfeee..25ac72cebe 100644 --- a/packages/plugins/@nocobase/plugin-workflow-delay/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-delay/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:延时节点", "description": "Could be used in workflow parallel branch for waiting other branches.", "description.zh-CN": "可用于工作流并行分支中等待其他分支执行完成。", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-delay", diff --git a/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json b/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json index 0277d18300..b614457a74 100644 --- a/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:动态表达式计算节点", "description": "Useful plugin for doing dynamic calculation based on expression collection records in workflow.", "description.zh-CN": "用于在工作流中进行基于数据行的动态表达式计算。", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-dynamic-calculation", diff --git a/packages/plugins/@nocobase/plugin-workflow-loop/package.json b/packages/plugins/@nocobase/plugin-workflow-loop/package.json index 9b6d68d3b4..41bb581f9a 100644 --- a/packages/plugins/@nocobase/plugin-workflow-loop/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-loop/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:循环节点", "description": "Used to repeat the sub-process processing of each value in an array, and can also be used for fixed times of sub-process processing.", "description.zh-CN": "用于对一个数组中的每个值进行重复的子流程处理,也可用于固定次数的重复子流程处理。", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-loop", diff --git a/packages/plugins/@nocobase/plugin-workflow-mailer/package.json b/packages/plugins/@nocobase/plugin-workflow-mailer/package.json index fd983b4c50..b342d951a4 100644 --- a/packages/plugins/@nocobase/plugin-workflow-mailer/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-mailer/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:邮件发送节点", "description": "Send email in workflow.", "description.zh-CN": "可用于在工作流中发送电子邮件。", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-smtp-mailer", diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/package.json b/packages/plugins/@nocobase/plugin-workflow-manual/package.json index d2f1cdc723..a52ec4b76a 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-manual/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:人工处理节点", "description": "Could be used for workflows which some of decisions are made by users.", "description.zh-CN": "用于人工控制部分决策的流程。", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-manual", diff --git a/packages/plugins/@nocobase/plugin-workflow-notification/package.json b/packages/plugins/@nocobase/plugin-workflow-notification/package.json index 1f90b51c63..2875e7a36a 100644 --- a/packages/plugins/@nocobase/plugin-workflow-notification/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-notification/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:通知节点", "description": "Send notification in workflow.", "description.zh-CN": "可用于在工作流中发送各类通知。", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-smtp-mailer", diff --git a/packages/plugins/@nocobase/plugin-workflow-parallel/package.json b/packages/plugins/@nocobase/plugin-workflow-parallel/package.json index 6408a80cbd..ba76a6d6d3 100644 --- a/packages/plugins/@nocobase/plugin-workflow-parallel/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-parallel/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:并行分支节点", "description": "Could be used for parallel execution of branch processes in the workflow.", "description.zh-CN": "用于在工作流中需要并行执行的分支流程。", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-parallel", diff --git a/packages/plugins/@nocobase/plugin-workflow-request/package.json b/packages/plugins/@nocobase/plugin-workflow-request/package.json index 46610020a8..59f005fe6b 100644 --- a/packages/plugins/@nocobase/plugin-workflow-request/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-request/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:HTTP 请求节点", "description": "Send HTTP requests to any HTTP service for data interaction in workflow.", "description.zh-CN": "可用于在工作流中向任意 HTTP 服务发送请求,进行数据交互。", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-request", diff --git a/packages/plugins/@nocobase/plugin-workflow-sql/package.json b/packages/plugins/@nocobase/plugin-workflow-sql/package.json index b04257c54e..db0bb19a68 100644 --- a/packages/plugins/@nocobase/plugin-workflow-sql/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-sql/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:SQL 节点", "description": "Execute SQL statements in workflow.", "description.zh-CN": "可用于在工作流中对数据库执行任意 SQL 语句。", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-sql", diff --git a/packages/plugins/@nocobase/plugin-workflow-test/package.json b/packages/plugins/@nocobase/plugin-workflow-test/package.json index 5cf5b4397c..8aec9d4c13 100644 --- a/packages/plugins/@nocobase/plugin-workflow-test/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-test/package.json @@ -2,7 +2,7 @@ "name": "@nocobase/plugin-workflow-test", "displayName": "Workflow: test kit", "displayName.zh-CN": "工作流:测试工具包", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "dist/server/index.js", "types": "./dist/server/index.d.ts", diff --git a/packages/plugins/@nocobase/plugin-workflow/package.json b/packages/plugins/@nocobase/plugin-workflow/package.json index 1babbb9236..f25ae28781 100644 --- a/packages/plugins/@nocobase/plugin-workflow/package.json +++ b/packages/plugins/@nocobase/plugin-workflow/package.json @@ -4,13 +4,13 @@ "displayName.zh-CN": "工作流", "description": "A powerful BPM tool that provides foundational support for business automation, with the capability to extend unlimited triggers and nodes.", "description.zh-CN": "一个强大的 BPM 工具,为业务自动化提供基础支持,并且可任意扩展更多的触发器和节点。", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/workflow", "dependencies": { - "@nocobase/plugin-workflow-test": "1.4.25" + "@nocobase/plugin-workflow-test": "1.4.26" }, "devDependencies": { "@ant-design/icons": "5.x", diff --git a/packages/presets/nocobase/package.json b/packages/presets/nocobase/package.json index 64498d4368..827d1e5b22 100644 --- a/packages/presets/nocobase/package.json +++ b/packages/presets/nocobase/package.json @@ -1,76 +1,76 @@ { "name": "@nocobase/preset-nocobase", - "version": "1.4.25", + "version": "1.4.26", "license": "AGPL-3.0", "main": "./lib/server/index.js", "dependencies": { "@formily/json-schema": "2.x", - "@nocobase/plugin-acl": "1.4.25", - "@nocobase/plugin-action-bulk-edit": "1.4.25", - "@nocobase/plugin-action-bulk-update": "1.4.25", - "@nocobase/plugin-action-custom-request": "1.4.25", - "@nocobase/plugin-action-duplicate": "1.4.25", - "@nocobase/plugin-action-export": "1.4.25", - "@nocobase/plugin-action-import": "1.4.25", - "@nocobase/plugin-action-print": "1.4.25", - "@nocobase/plugin-api-doc": "1.4.25", - "@nocobase/plugin-api-keys": "1.4.25", - "@nocobase/plugin-audit-logs": "1.4.25", - "@nocobase/plugin-auth": "1.4.25", - "@nocobase/plugin-auth-sms": "1.4.25", - "@nocobase/plugin-backup-restore": "1.4.25", - "@nocobase/plugin-block-iframe": "1.4.25", - "@nocobase/plugin-block-workbench": "1.4.25", - "@nocobase/plugin-calendar": "1.4.25", - "@nocobase/plugin-charts": "1.4.25", - "@nocobase/plugin-client": "1.4.25", - "@nocobase/plugin-collection-sql": "1.4.25", - "@nocobase/plugin-collection-tree": "1.4.25", - "@nocobase/plugin-data-source-main": "1.4.25", - "@nocobase/plugin-data-source-manager": "1.4.25", - "@nocobase/plugin-data-visualization": "1.4.25", - "@nocobase/plugin-error-handler": "1.4.25", - "@nocobase/plugin-field-china-region": "1.4.25", - "@nocobase/plugin-field-formula": "1.4.25", - "@nocobase/plugin-field-m2m-array": "1.4.25", - "@nocobase/plugin-field-markdown-vditor": "1.4.25", - "@nocobase/plugin-field-sequence": "1.4.25", - "@nocobase/plugin-file-manager": "1.4.25", - "@nocobase/plugin-gantt": "1.4.25", - "@nocobase/plugin-graph-collection-manager": "1.4.25", - "@nocobase/plugin-kanban": "1.4.25", - "@nocobase/plugin-localization": "1.4.25", - "@nocobase/plugin-logger": "1.4.25", - "@nocobase/plugin-map": "1.4.25", - "@nocobase/plugin-mobile": "1.4.25", - "@nocobase/plugin-mobile-client": "1.4.25", - "@nocobase/plugin-mock-collections": "1.4.25", - "@nocobase/plugin-multi-app-manager": "1.4.25", - "@nocobase/plugin-multi-app-share-collection": "1.4.25", - "@nocobase/plugin-notification-email": "1.4.25", - "@nocobase/plugin-notification-in-app-message": "1.4.25", - "@nocobase/plugin-notification-manager": "1.4.25", - "@nocobase/plugin-public-forms": "1.4.25", - "@nocobase/plugin-snapshot-field": "1.4.25", - "@nocobase/plugin-system-settings": "1.4.25", - "@nocobase/plugin-theme-editor": "1.4.25", - "@nocobase/plugin-ui-schema-storage": "1.4.25", - "@nocobase/plugin-user-data-sync": "1.4.25", - "@nocobase/plugin-users": "1.4.25", - "@nocobase/plugin-verification": "1.4.25", - "@nocobase/plugin-workflow": "1.4.25", - "@nocobase/plugin-workflow-action-trigger": "1.4.25", - "@nocobase/plugin-workflow-aggregate": "1.4.25", - "@nocobase/plugin-workflow-delay": "1.4.25", - "@nocobase/plugin-workflow-dynamic-calculation": "1.4.25", - "@nocobase/plugin-workflow-loop": "1.4.25", - "@nocobase/plugin-workflow-mailer": "1.4.25", - "@nocobase/plugin-workflow-manual": "1.4.25", - "@nocobase/plugin-workflow-notification": "1.4.25", - "@nocobase/plugin-workflow-parallel": "1.4.25", - "@nocobase/plugin-workflow-request": "1.4.25", - "@nocobase/plugin-workflow-sql": "1.4.25", - "@nocobase/server": "1.4.25", + "@nocobase/plugin-acl": "1.4.26", + "@nocobase/plugin-action-bulk-edit": "1.4.26", + "@nocobase/plugin-action-bulk-update": "1.4.26", + "@nocobase/plugin-action-custom-request": "1.4.26", + "@nocobase/plugin-action-duplicate": "1.4.26", + "@nocobase/plugin-action-export": "1.4.26", + "@nocobase/plugin-action-import": "1.4.26", + "@nocobase/plugin-action-print": "1.4.26", + "@nocobase/plugin-api-doc": "1.4.26", + "@nocobase/plugin-api-keys": "1.4.26", + "@nocobase/plugin-audit-logs": "1.4.26", + "@nocobase/plugin-auth": "1.4.26", + "@nocobase/plugin-auth-sms": "1.4.26", + "@nocobase/plugin-backup-restore": "1.4.26", + "@nocobase/plugin-block-iframe": "1.4.26", + "@nocobase/plugin-block-workbench": "1.4.26", + "@nocobase/plugin-calendar": "1.4.26", + "@nocobase/plugin-charts": "1.4.26", + "@nocobase/plugin-client": "1.4.26", + "@nocobase/plugin-collection-sql": "1.4.26", + "@nocobase/plugin-collection-tree": "1.4.26", + "@nocobase/plugin-data-source-main": "1.4.26", + "@nocobase/plugin-data-source-manager": "1.4.26", + "@nocobase/plugin-data-visualization": "1.4.26", + "@nocobase/plugin-error-handler": "1.4.26", + "@nocobase/plugin-field-china-region": "1.4.26", + "@nocobase/plugin-field-formula": "1.4.26", + "@nocobase/plugin-field-m2m-array": "1.4.26", + "@nocobase/plugin-field-markdown-vditor": "1.4.26", + "@nocobase/plugin-field-sequence": "1.4.26", + "@nocobase/plugin-file-manager": "1.4.26", + "@nocobase/plugin-gantt": "1.4.26", + "@nocobase/plugin-graph-collection-manager": "1.4.26", + "@nocobase/plugin-kanban": "1.4.26", + "@nocobase/plugin-localization": "1.4.26", + "@nocobase/plugin-logger": "1.4.26", + "@nocobase/plugin-map": "1.4.26", + "@nocobase/plugin-mobile": "1.4.26", + "@nocobase/plugin-mobile-client": "1.4.26", + "@nocobase/plugin-mock-collections": "1.4.26", + "@nocobase/plugin-multi-app-manager": "1.4.26", + "@nocobase/plugin-multi-app-share-collection": "1.4.26", + "@nocobase/plugin-notification-email": "1.4.26", + "@nocobase/plugin-notification-in-app-message": "1.4.26", + "@nocobase/plugin-notification-manager": "1.4.26", + "@nocobase/plugin-public-forms": "1.4.26", + "@nocobase/plugin-snapshot-field": "1.4.26", + "@nocobase/plugin-system-settings": "1.4.26", + "@nocobase/plugin-theme-editor": "1.4.26", + "@nocobase/plugin-ui-schema-storage": "1.4.26", + "@nocobase/plugin-user-data-sync": "1.4.26", + "@nocobase/plugin-users": "1.4.26", + "@nocobase/plugin-verification": "1.4.26", + "@nocobase/plugin-workflow": "1.4.26", + "@nocobase/plugin-workflow-action-trigger": "1.4.26", + "@nocobase/plugin-workflow-aggregate": "1.4.26", + "@nocobase/plugin-workflow-delay": "1.4.26", + "@nocobase/plugin-workflow-dynamic-calculation": "1.4.26", + "@nocobase/plugin-workflow-loop": "1.4.26", + "@nocobase/plugin-workflow-mailer": "1.4.26", + "@nocobase/plugin-workflow-manual": "1.4.26", + "@nocobase/plugin-workflow-notification": "1.4.26", + "@nocobase/plugin-workflow-parallel": "1.4.26", + "@nocobase/plugin-workflow-request": "1.4.26", + "@nocobase/plugin-workflow-sql": "1.4.26", + "@nocobase/server": "1.4.26", "cronstrue": "^2.11.0", "fs-extra": "^11.1.1" }, From aa8aae89d5e3d10d1df8b6592fed8a643f9a795d Mon Sep 17 00:00:00 2001 From: "nocobase[bot]" <179432756+nocobase[bot]@users.noreply.github.com> Date: Thu, 16 Jan 2025 13:50:26 +0000 Subject: [PATCH 022/125] docs: update changelogs --- CHANGELOG.md | 12 ++++++++++++ CHANGELOG.zh-CN.md | 12 ++++++++++++ 2 files changed, 24 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0e605b7bee..5a30bca4f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [v1.4.26](https://github.com/nocobase/nocobase/compare/v1.4.25...v1.4.26) - 2025-01-16 + +### 🚀 Improvements + +- **[client]** Allows to add descriptions for SQL collections ([#6081](https://github.com/nocobase/nocobase/pull/6081)) by @2013xile + +- **[resourcer]** Allow empty object as values in action ([#6070](https://github.com/nocobase/nocobase/pull/6070)) by @mytharcher + +### 🐛 Bug Fixes + +- **[Localization]** Avoid API request when attempting to delete an empty translation ([#6078](https://github.com/nocobase/nocobase/pull/6078)) by @2013xile + ## [v1.4.25](https://github.com/nocobase/nocobase/compare/v1.4.24...v1.4.25) - 2025-01-15 ### 🚀 Improvements diff --git a/CHANGELOG.zh-CN.md b/CHANGELOG.zh-CN.md index e229dd571e..f836c953ea 100644 --- a/CHANGELOG.zh-CN.md +++ b/CHANGELOG.zh-CN.md @@ -5,6 +5,18 @@ 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/), 并且本项目遵循 [语义化版本](https://semver.org/spec/v2.0.0.html)。 +## [v1.4.26](https://github.com/nocobase/nocobase/compare/v1.4.25...v1.4.26) - 2025-01-16 + +### 🚀 优化 + +- **[client]** 支持给 SQL 数据表添加描述 ([#6081](https://github.com/nocobase/nocobase/pull/6081)) by @2013xile + +- **[resourcer]** 支持 API 请求中传入空对象作为 values 的值 ([#6070](https://github.com/nocobase/nocobase/pull/6070)) by @mytharcher + +### 🐛 修复 + +- **[本地化]** 译文为空时,点击“删除译文按钮”不请求接口 ([#6078](https://github.com/nocobase/nocobase/pull/6078)) by @2013xile + ## [v1.4.25](https://github.com/nocobase/nocobase/compare/v1.4.24...v1.4.25) - 2025-01-15 ### 🚀 优化 From f6ac57f34d6b0b9b699c8d84b33aa9808be3ae49 Mon Sep 17 00:00:00 2001 From: Chareice Date: Thu, 16 Jan 2025 23:09:48 +0800 Subject: [PATCH 023/125] chore(async-task-manager): cancelable options --- .../src/client/components/AsyncTasks.tsx | 5 +++-- .../@nocobase/plugin-async-task-manager/src/server/index.ts | 1 + .../plugin-async-task-manager/src/server/task-type.ts | 2 ++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/plugins/@nocobase/plugin-async-task-manager/src/client/components/AsyncTasks.tsx b/packages/plugins/@nocobase/plugin-async-task-manager/src/client/components/AsyncTasks.tsx index fb54536a23..d53b50f760 100644 --- a/packages/plugins/@nocobase/plugin-async-task-manager/src/client/components/AsyncTasks.tsx +++ b/packages/plugins/@nocobase/plugin-async-task-manager/src/client/components/AsyncTasks.tsx @@ -148,13 +148,14 @@ export const AsyncTasks = () => { }; const actionText = actionTypeMap[title.actionType] || title.actionType; + const taskTypeMap = { 'export-attachments': t('Export {collection} attachments'), export: t('Export {collection} data'), import: t('Import {collection} data'), }; - const taskTemplate = taskTypeMap[title.actionType] || `${actionText} ${title.collection} ${t('Data')}`; + const taskTemplate = taskTypeMap[title.actionType] || `${actionText}`; return taskTemplate.replace('{collection}', title.collection); }, }, @@ -275,7 +276,7 @@ export const AsyncTasks = () => { const actions = []; const isTaskCancelling = cancellingTasks.has(record.taskId); - if (record.status.type === 'running' || record.status.type === 'pending') { + if ((record.status.type === 'running' || record.status.type === 'pending') && record.cancelable) { actions.push( Date: Thu, 16 Jan 2025 16:37:04 +0000 Subject: [PATCH 024/125] =?UTF-8?q?chore(versions):=20=F0=9F=98=8A=20publi?= =?UTF-8?q?sh=20v1.5.0-beta.31?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lerna.json | 2 +- packages/core/acl/package.json | 6 +- packages/core/actions/package.json | 8 +- packages/core/app/package.json | 10 +- packages/core/auth/package.json | 12 +- packages/core/build/package.json | 2 +- packages/core/cache/package.json | 2 +- packages/core/cli/package.json | 6 +- packages/core/client/package.json | 8 +- .../core/create-nocobase-app/package.json | 2 +- .../core/data-source-manager/package.json | 12 +- packages/core/database/package.json | 6 +- packages/core/devtools/package.json | 8 +- packages/core/evaluators/package.json | 4 +- packages/core/lock-manager/package.json | 4 +- packages/core/logger/package.json | 2 +- packages/core/resourcer/package.json | 4 +- packages/core/sdk/package.json | 2 +- packages/core/server/package.json | 28 ++-- packages/core/telemetry/package.json | 4 +- packages/core/test/package.json | 4 +- packages/core/utils/package.json | 2 +- .../plugins/@nocobase/plugin-acl/package.json | 2 +- .../plugin-action-bulk-edit/package.json | 2 +- .../plugin-action-bulk-update/package.json | 2 +- .../plugin-action-custom-request/package.json | 2 +- .../plugin-action-duplicate/package.json | 2 +- .../plugin-action-export/package.json | 2 +- .../plugin-action-import/package.json | 2 +- .../plugin-action-print/package.json | 2 +- .../@nocobase/plugin-api-doc/package.json | 2 +- .../@nocobase/plugin-api-keys/package.json | 2 +- .../plugin-async-task-manager/package.json | 2 +- .../@nocobase/plugin-audit-logs/package.json | 2 +- .../@nocobase/plugin-auth-sms/package.json | 2 +- .../@nocobase/plugin-auth/package.json | 2 +- .../plugin-backup-restore/package.json | 2 +- .../plugin-block-iframe/package.json | 2 +- .../plugin-block-workbench/package.json | 2 +- .../@nocobase/plugin-calendar/package.json | 2 +- .../@nocobase/plugin-charts/package.json | 2 +- .../@nocobase/plugin-client/package.json | 2 +- .../plugin-collection-sql/package.json | 2 +- .../plugin-collection-tree/package.json | 2 +- .../plugin-data-source-main/package.json | 2 +- .../plugin-data-source-manager/package.json | 2 +- .../plugin-data-visualization/package.json | 2 +- .../plugin-disable-pm-add/package.json | 2 +- .../plugin-error-handler/package.json | 2 +- .../plugin-field-china-region/package.json | 2 +- .../plugin-field-formula/package.json | 2 +- .../plugin-field-m2m-array/package.json | 2 +- .../plugin-field-markdown-vditor/package.json | 2 +- .../plugin-field-sequence/package.json | 2 +- .../@nocobase/plugin-field-sort/package.json | 2 +- .../plugin-file-manager/package.json | 2 +- .../@nocobase/plugin-gantt/package.json | 2 +- .../package.json | 2 +- .../@nocobase/plugin-kanban/package.json | 2 +- .../plugin-localization/package.json | 2 +- .../@nocobase/plugin-logger/package.json | 2 +- .../plugins/@nocobase/plugin-map/package.json | 2 +- .../plugin-mobile-client/package.json | 2 +- .../@nocobase/plugin-mobile/package.json | 2 +- .../plugin-mock-collections/package.json | 2 +- .../plugin-multi-app-manager/package.json | 2 +- .../package.json | 2 +- .../plugin-notification-email/package.json | 2 +- .../package.json | 2 +- .../plugin-notification-manager/package.json | 2 +- .../plugin-notifications/package.json | 2 +- .../plugin-public-forms/package.json | 2 +- .../plugin-sample-hello/package.json | 2 +- .../plugin-snapshot-field/package.json | 2 +- .../plugin-system-settings/package.json | 2 +- .../plugin-theme-editor/package.json | 2 +- .../plugin-ui-schema-storage/package.json | 2 +- .../plugin-user-data-sync/package.json | 2 +- .../@nocobase/plugin-users/package.json | 2 +- .../plugin-verification/package.json | 2 +- .../package.json | 2 +- .../plugin-workflow-aggregate/package.json | 2 +- .../plugin-workflow-delay/package.json | 2 +- .../package.json | 2 +- .../plugin-workflow-loop/package.json | 2 +- .../plugin-workflow-mailer/package.json | 2 +- .../plugin-workflow-manual/package.json | 2 +- .../plugin-workflow-notification/package.json | 2 +- .../plugin-workflow-parallel/package.json | 2 +- .../plugin-workflow-request/package.json | 2 +- .../plugin-workflow-sql/package.json | 2 +- .../plugin-workflow-test/package.json | 2 +- .../@nocobase/plugin-workflow/package.json | 4 +- packages/presets/nocobase/package.json | 138 +++++++++--------- 94 files changed, 210 insertions(+), 210 deletions(-) diff --git a/lerna.json b/lerna.json index 3e6a4ca076..f9671e4366 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "npmClient": "yarn", "useWorkspaces": true, "npmClientArgs": [ diff --git a/packages/core/acl/package.json b/packages/core/acl/package.json index fd17b7bf7c..3cbb4fc3a6 100644 --- a/packages/core/acl/package.json +++ b/packages/core/acl/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/acl", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/resourcer": "1.5.0-beta.30", - "@nocobase/utils": "1.5.0-beta.30", + "@nocobase/resourcer": "1.5.0-beta.31", + "@nocobase/utils": "1.5.0-beta.31", "minimatch": "^5.1.1" }, "repository": { diff --git a/packages/core/actions/package.json b/packages/core/actions/package.json index 9725877e7c..76fa6ec651 100644 --- a/packages/core/actions/package.json +++ b/packages/core/actions/package.json @@ -1,14 +1,14 @@ { "name": "@nocobase/actions", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/cache": "1.5.0-beta.30", - "@nocobase/database": "1.5.0-beta.30", - "@nocobase/resourcer": "1.5.0-beta.30" + "@nocobase/cache": "1.5.0-beta.31", + "@nocobase/database": "1.5.0-beta.31", + "@nocobase/resourcer": "1.5.0-beta.31" }, "repository": { "type": "git", diff --git a/packages/core/app/package.json b/packages/core/app/package.json index 79a8449e3e..c74ddebc55 100644 --- a/packages/core/app/package.json +++ b/packages/core/app/package.json @@ -1,17 +1,17 @@ { "name": "@nocobase/app", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/database": "1.5.0-beta.30", - "@nocobase/preset-nocobase": "1.5.0-beta.30", - "@nocobase/server": "1.5.0-beta.30" + "@nocobase/database": "1.5.0-beta.31", + "@nocobase/preset-nocobase": "1.5.0-beta.31", + "@nocobase/server": "1.5.0-beta.31" }, "devDependencies": { - "@nocobase/client": "1.5.0-beta.30" + "@nocobase/client": "1.5.0-beta.31" }, "repository": { "type": "git", diff --git a/packages/core/auth/package.json b/packages/core/auth/package.json index f80d5af1d1..8a675778ed 100644 --- a/packages/core/auth/package.json +++ b/packages/core/auth/package.json @@ -1,16 +1,16 @@ { "name": "@nocobase/auth", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/actions": "1.5.0-beta.30", - "@nocobase/cache": "1.5.0-beta.30", - "@nocobase/database": "1.5.0-beta.30", - "@nocobase/resourcer": "1.5.0-beta.30", - "@nocobase/utils": "1.5.0-beta.30", + "@nocobase/actions": "1.5.0-beta.31", + "@nocobase/cache": "1.5.0-beta.31", + "@nocobase/database": "1.5.0-beta.31", + "@nocobase/resourcer": "1.5.0-beta.31", + "@nocobase/utils": "1.5.0-beta.31", "@types/jsonwebtoken": "^8.5.8", "jsonwebtoken": "^8.5.1" }, diff --git a/packages/core/build/package.json b/packages/core/build/package.json index 7d93c5f7c3..ff4aac611c 100644 --- a/packages/core/build/package.json +++ b/packages/core/build/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/build", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "description": "Library build tool based on rollup.", "main": "lib/index.js", "types": "./lib/index.d.ts", diff --git a/packages/core/cache/package.json b/packages/core/cache/package.json index ff988c6179..09dc914620 100644 --- a/packages/core/cache/package.json +++ b/packages/core/cache/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/cache", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", diff --git a/packages/core/cli/package.json b/packages/core/cli/package.json index 80ac2a9a11..da00b1aaa7 100644 --- a/packages/core/cli/package.json +++ b/packages/core/cli/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/cli", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "description": "", "license": "AGPL-3.0", "main": "./src/index.js", @@ -8,7 +8,7 @@ "nocobase": "./bin/index.js" }, "dependencies": { - "@nocobase/app": "1.5.0-beta.30", + "@nocobase/app": "1.5.0-beta.31", "@types/fs-extra": "^11.0.1", "@umijs/utils": "3.5.20", "chalk": "^4.1.1", @@ -25,7 +25,7 @@ "tsx": "^4.19.0" }, "devDependencies": { - "@nocobase/devtools": "1.5.0-beta.30" + "@nocobase/devtools": "1.5.0-beta.31" }, "repository": { "type": "git", diff --git a/packages/core/client/package.json b/packages/core/client/package.json index 3593ff54b5..a4cea5f74f 100644 --- a/packages/core/client/package.json +++ b/packages/core/client/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/client", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "lib/index.js", "module": "es/index.mjs", @@ -27,9 +27,9 @@ "@formily/reactive-react": "^2.2.27", "@formily/shared": "^2.2.27", "@formily/validator": "^2.2.27", - "@nocobase/evaluators": "1.5.0-beta.30", - "@nocobase/sdk": "1.5.0-beta.30", - "@nocobase/utils": "1.5.0-beta.30", + "@nocobase/evaluators": "1.5.0-beta.31", + "@nocobase/sdk": "1.5.0-beta.31", + "@nocobase/utils": "1.5.0-beta.31", "ahooks": "^3.7.2", "antd": "5.12.8", "antd-style": "3.7.1", diff --git a/packages/core/create-nocobase-app/package.json b/packages/core/create-nocobase-app/package.json index 012c559e23..4e765639c6 100755 --- a/packages/core/create-nocobase-app/package.json +++ b/packages/core/create-nocobase-app/package.json @@ -1,6 +1,6 @@ { "name": "create-nocobase-app", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "main": "src/index.js", "license": "AGPL-3.0", "dependencies": { diff --git a/packages/core/data-source-manager/package.json b/packages/core/data-source-manager/package.json index 60a587abb2..662abf4ad8 100644 --- a/packages/core/data-source-manager/package.json +++ b/packages/core/data-source-manager/package.json @@ -1,16 +1,16 @@ { "name": "@nocobase/data-source-manager", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/actions": "1.5.0-beta.30", - "@nocobase/cache": "1.5.0-beta.30", - "@nocobase/database": "1.5.0-beta.30", - "@nocobase/resourcer": "1.5.0-beta.30", - "@nocobase/utils": "1.5.0-beta.30", + "@nocobase/actions": "1.5.0-beta.31", + "@nocobase/cache": "1.5.0-beta.31", + "@nocobase/database": "1.5.0-beta.31", + "@nocobase/resourcer": "1.5.0-beta.31", + "@nocobase/utils": "1.5.0-beta.31", "@types/jsonwebtoken": "^8.5.8", "jsonwebtoken": "^8.5.1" }, diff --git a/packages/core/database/package.json b/packages/core/database/package.json index 0b217e157b..898538ac10 100644 --- a/packages/core/database/package.json +++ b/packages/core/database/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/database", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", "dependencies": { - "@nocobase/logger": "1.5.0-beta.30", - "@nocobase/utils": "1.5.0-beta.30", + "@nocobase/logger": "1.5.0-beta.31", + "@nocobase/utils": "1.5.0-beta.31", "async-mutex": "^0.3.2", "chalk": "^4.1.1", "cron-parser": "4.4.0", diff --git a/packages/core/devtools/package.json b/packages/core/devtools/package.json index 59ddcbe028..2191a7ef59 100644 --- a/packages/core/devtools/package.json +++ b/packages/core/devtools/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/devtools", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "description": "", "license": "AGPL-3.0", "main": "./src/index.js", "dependencies": { - "@nocobase/build": "1.5.0-beta.30", - "@nocobase/client": "1.5.0-beta.30", - "@nocobase/test": "1.5.0-beta.30", + "@nocobase/build": "1.5.0-beta.31", + "@nocobase/client": "1.5.0-beta.31", + "@nocobase/test": "1.5.0-beta.31", "@types/koa": "^2.13.4", "@types/koa-bodyparser": "^4.3.4", "@types/lodash": "^4.14.177", diff --git a/packages/core/evaluators/package.json b/packages/core/evaluators/package.json index f5f4103a7d..40a841b91b 100644 --- a/packages/core/evaluators/package.json +++ b/packages/core/evaluators/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/evaluators", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", "dependencies": { "@formulajs/formulajs": "4.4.9", - "@nocobase/utils": "1.5.0-beta.30", + "@nocobase/utils": "1.5.0-beta.31", "mathjs": "^10.6.0" }, "repository": { diff --git a/packages/core/lock-manager/package.json b/packages/core/lock-manager/package.json index 273e8f17d0..1feab58a3c 100644 --- a/packages/core/lock-manager/package.json +++ b/packages/core/lock-manager/package.json @@ -1,10 +1,10 @@ { "name": "@nocobase/lock-manager", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "main": "lib/index.js", "license": "AGPL-3.0", "devDependencies": { - "@nocobase/utils": "1.5.0-beta.30", + "@nocobase/utils": "1.5.0-beta.31", "async-mutex": "^0.5.0" } } diff --git a/packages/core/logger/package.json b/packages/core/logger/package.json index d0ce647b75..958bb0aa0c 100644 --- a/packages/core/logger/package.json +++ b/packages/core/logger/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/logger", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "description": "nocobase logging library", "license": "AGPL-3.0", "main": "./lib/index.js", diff --git a/packages/core/resourcer/package.json b/packages/core/resourcer/package.json index 8f43e0c778..fd8615b209 100644 --- a/packages/core/resourcer/package.json +++ b/packages/core/resourcer/package.json @@ -1,12 +1,12 @@ { "name": "@nocobase/resourcer", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", "dependencies": { - "@nocobase/utils": "1.5.0-beta.30", + "@nocobase/utils": "1.5.0-beta.31", "deepmerge": "^4.2.2", "koa-compose": "^4.1.0", "lodash": "^4.17.21", diff --git a/packages/core/sdk/package.json b/packages/core/sdk/package.json index 0cb0fcaf06..a7c7026bb5 100644 --- a/packages/core/sdk/package.json +++ b/packages/core/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/sdk", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/packages/core/server/package.json b/packages/core/server/package.json index 3b00b9a2f8..cbcac6d9d8 100644 --- a/packages/core/server/package.json +++ b/packages/core/server/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/server", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "main": "lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", @@ -10,19 +10,19 @@ "@koa/cors": "^3.1.0", "@koa/multer": "^3.0.2", "@koa/router": "^9.4.0", - "@nocobase/acl": "1.5.0-beta.30", - "@nocobase/actions": "1.5.0-beta.30", - "@nocobase/auth": "1.5.0-beta.30", - "@nocobase/cache": "1.5.0-beta.30", - "@nocobase/data-source-manager": "1.5.0-beta.30", - "@nocobase/database": "1.5.0-beta.30", - "@nocobase/evaluators": "1.5.0-beta.30", - "@nocobase/lock-manager": "1.5.0-beta.30", - "@nocobase/logger": "1.5.0-beta.30", - "@nocobase/resourcer": "1.5.0-beta.30", - "@nocobase/sdk": "1.5.0-beta.30", - "@nocobase/telemetry": "1.5.0-beta.30", - "@nocobase/utils": "1.5.0-beta.30", + "@nocobase/acl": "1.5.0-beta.31", + "@nocobase/actions": "1.5.0-beta.31", + "@nocobase/auth": "1.5.0-beta.31", + "@nocobase/cache": "1.5.0-beta.31", + "@nocobase/data-source-manager": "1.5.0-beta.31", + "@nocobase/database": "1.5.0-beta.31", + "@nocobase/evaluators": "1.5.0-beta.31", + "@nocobase/lock-manager": "1.5.0-beta.31", + "@nocobase/logger": "1.5.0-beta.31", + "@nocobase/resourcer": "1.5.0-beta.31", + "@nocobase/sdk": "1.5.0-beta.31", + "@nocobase/telemetry": "1.5.0-beta.31", + "@nocobase/utils": "1.5.0-beta.31", "@types/decompress": "4.2.7", "@types/ini": "^1.3.31", "@types/koa-send": "^4.1.3", diff --git a/packages/core/telemetry/package.json b/packages/core/telemetry/package.json index 72e6781678..196da858a5 100644 --- a/packages/core/telemetry/package.json +++ b/packages/core/telemetry/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/telemetry", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "description": "nocobase telemetry library", "license": "AGPL-3.0", "main": "./lib/index.js", @@ -11,7 +11,7 @@ "directory": "packages/telemetry" }, "dependencies": { - "@nocobase/utils": "1.5.0-beta.30", + "@nocobase/utils": "1.5.0-beta.31", "@opentelemetry/api": "^1.7.0", "@opentelemetry/instrumentation": "^0.46.0", "@opentelemetry/resources": "^1.19.0", diff --git a/packages/core/test/package.json b/packages/core/test/package.json index 34858debec..44130aa7b5 100644 --- a/packages/core/test/package.json +++ b/packages/core/test/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/test", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "main": "lib/index.js", "module": "./src/index.ts", "types": "./lib/index.d.ts", @@ -51,7 +51,7 @@ }, "dependencies": { "@faker-js/faker": "8.1.0", - "@nocobase/server": "1.5.0-beta.30", + "@nocobase/server": "1.5.0-beta.31", "@playwright/test": "^1.45.3", "@testing-library/jest-dom": "^6.4.2", "@testing-library/react": "^14.0.0", diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index f77ff775b0..8bceae488d 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/utils", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "main": "lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", diff --git a/packages/plugins/@nocobase/plugin-acl/package.json b/packages/plugins/@nocobase/plugin-acl/package.json index 050e68f83a..dcc0fa0a27 100644 --- a/packages/plugins/@nocobase/plugin-acl/package.json +++ b/packages/plugins/@nocobase/plugin-acl/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "权限控制", "description": "Based on roles, resources, and actions, access control can precisely manage interface configuration permissions, data operation permissions, menu access permissions, and plugin permissions.", "description.zh-CN": "基于角色、资源和操作的权限控制,可以精确控制界面配置权限、数据操作权限、菜单访问权限、插件权限。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/acl", diff --git a/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json b/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json index 2201112407..57e4dccfd1 100644 --- a/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json +++ b/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-bulk-edit", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-bulk-edit", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-bulk-edit", diff --git a/packages/plugins/@nocobase/plugin-action-bulk-update/package.json b/packages/plugins/@nocobase/plugin-action-bulk-update/package.json index fd76c8a726..e75b29a471 100644 --- a/packages/plugins/@nocobase/plugin-action-bulk-update/package.json +++ b/packages/plugins/@nocobase/plugin-action-bulk-update/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-bulk-update", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-bulk-update", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-bulk-update", diff --git a/packages/plugins/@nocobase/plugin-action-custom-request/package.json b/packages/plugins/@nocobase/plugin-action-custom-request/package.json index d957319b99..73a793193d 100644 --- a/packages/plugins/@nocobase/plugin-action-custom-request/package.json +++ b/packages/plugins/@nocobase/plugin-action-custom-request/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-custom-request", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-custom-request", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-custom-request", diff --git a/packages/plugins/@nocobase/plugin-action-duplicate/package.json b/packages/plugins/@nocobase/plugin-action-duplicate/package.json index 523f928f4e..47b61e85cf 100644 --- a/packages/plugins/@nocobase/plugin-action-duplicate/package.json +++ b/packages/plugins/@nocobase/plugin-action-duplicate/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-duplicate", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-duplicate", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-duplicate", diff --git a/packages/plugins/@nocobase/plugin-action-export/package.json b/packages/plugins/@nocobase/plugin-action-export/package.json index a483cec8dc..7cfdbda410 100644 --- a/packages/plugins/@nocobase/plugin-action-export/package.json +++ b/packages/plugins/@nocobase/plugin-action-export/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "操作:导出记录", "description": "Export filtered records to excel, you can configure which fields to export.", "description.zh-CN": "导出筛选后的记录到 Excel 中,可以配置导出哪些字段。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-export", diff --git a/packages/plugins/@nocobase/plugin-action-import/package.json b/packages/plugins/@nocobase/plugin-action-import/package.json index 5933ec4c3c..a84b63d8f1 100644 --- a/packages/plugins/@nocobase/plugin-action-import/package.json +++ b/packages/plugins/@nocobase/plugin-action-import/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "操作:导入记录", "description": "Import records using excel templates. You can configure which fields to import and templates will be generated automatically.", "description.zh-CN": "使用 Excel 模板导入数据,可以配置导入哪些字段,自动生成模板。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-import", diff --git a/packages/plugins/@nocobase/plugin-action-print/package.json b/packages/plugins/@nocobase/plugin-action-print/package.json index 4de44cbbcd..5140606694 100644 --- a/packages/plugins/@nocobase/plugin-action-print/package.json +++ b/packages/plugins/@nocobase/plugin-action-print/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-print", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-print", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-print", diff --git a/packages/plugins/@nocobase/plugin-api-doc/package.json b/packages/plugins/@nocobase/plugin-api-doc/package.json index 0354e5fe03..de801f0be8 100644 --- a/packages/plugins/@nocobase/plugin-api-doc/package.json +++ b/packages/plugins/@nocobase/plugin-api-doc/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-api-doc", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "displayName": "API documentation", "displayName.zh-CN": "API 文档", "description": "An OpenAPI documentation generator for NocoBase HTTP API.", diff --git a/packages/plugins/@nocobase/plugin-api-keys/package.json b/packages/plugins/@nocobase/plugin-api-keys/package.json index 943e78589f..17794e0e50 100644 --- a/packages/plugins/@nocobase/plugin-api-keys/package.json +++ b/packages/plugins/@nocobase/plugin-api-keys/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "认证:API 密钥", "description": "Allows users to use API key to access application's HTTP API", "description.zh-CN": "允许用户使用 API 密钥访问应用的 HTTP API", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/api-keys", diff --git a/packages/plugins/@nocobase/plugin-async-task-manager/package.json b/packages/plugins/@nocobase/plugin-async-task-manager/package.json index 382871b23e..eb4f077d18 100644 --- a/packages/plugins/@nocobase/plugin-async-task-manager/package.json +++ b/packages/plugins/@nocobase/plugin-async-task-manager/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "异步任务管理器", "description": "Manage and monitor asynchronous tasks such as data import/export. Support task progress tracking and notification.", "description.zh-CN": "管理和监控数据导入导出等异步任务。支持任务进度跟踪和通知。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "main": "dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-audit-logs/package.json b/packages/plugins/@nocobase/plugin-audit-logs/package.json index 4f4384a97c..5848f7f980 100644 --- a/packages/plugins/@nocobase/plugin-audit-logs/package.json +++ b/packages/plugins/@nocobase/plugin-audit-logs/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-audit-logs", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "displayName": "Audit logs (deprecated)", "displayName.zh-CN": "审计日志(废弃)", "description": "This plugin is deprecated. There will be a new audit log plugin in the future.", diff --git a/packages/plugins/@nocobase/plugin-auth-sms/package.json b/packages/plugins/@nocobase/plugin-auth-sms/package.json index eafaebf6ac..04aac29b78 100644 --- a/packages/plugins/@nocobase/plugin-auth-sms/package.json +++ b/packages/plugins/@nocobase/plugin-auth-sms/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "认证:短信", "description": "SMS authentication.", "description.zh-CN": "通过短信验证码认证身份。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/auth-sms", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/auth-sms", diff --git a/packages/plugins/@nocobase/plugin-auth/package.json b/packages/plugins/@nocobase/plugin-auth/package.json index 2228fe1d7c..fc5d367bd6 100644 --- a/packages/plugins/@nocobase/plugin-auth/package.json +++ b/packages/plugins/@nocobase/plugin-auth/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-auth", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/auth", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/auth", diff --git a/packages/plugins/@nocobase/plugin-backup-restore/package.json b/packages/plugins/@nocobase/plugin-backup-restore/package.json index 6efd656a7d..5d07ad94b2 100644 --- a/packages/plugins/@nocobase/plugin-backup-restore/package.json +++ b/packages/plugins/@nocobase/plugin-backup-restore/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "应用的备份与还原(废弃)", "description": "Backup and restore applications for scenarios such as application replication, migration, and upgrades.", "description.zh-CN": "备份和还原应用,可用于应用的复制、迁移、升级等场景。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/backup-restore", diff --git a/packages/plugins/@nocobase/plugin-block-iframe/package.json b/packages/plugins/@nocobase/plugin-block-iframe/package.json index 6625d63264..2431eda395 100644 --- a/packages/plugins/@nocobase/plugin-block-iframe/package.json +++ b/packages/plugins/@nocobase/plugin-block-iframe/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "区块:iframe", "description": "Create an iframe block on the page to embed and display external web pages or content.", "description.zh-CN": "在页面上创建和管理iframe,用于嵌入和展示外部网页或内容。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/block-iframe", diff --git a/packages/plugins/@nocobase/plugin-block-workbench/package.json b/packages/plugins/@nocobase/plugin-block-workbench/package.json index 7414757bbc..ad6d1fd068 100644 --- a/packages/plugins/@nocobase/plugin-block-workbench/package.json +++ b/packages/plugins/@nocobase/plugin-block-workbench/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-block-workbench", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "displayName": "Block: Action panel", "displayName.zh-CN": "区块:操作面板", "description": "Centrally manages and displays various actions, allowing users to efficiently perform tasks. It supports extensibility, with current action types including pop-ups, links, scanning, and custom requests.", diff --git a/packages/plugins/@nocobase/plugin-calendar/package.json b/packages/plugins/@nocobase/plugin-calendar/package.json index fbf75394bd..70a5c5d8dd 100644 --- a/packages/plugins/@nocobase/plugin-calendar/package.json +++ b/packages/plugins/@nocobase/plugin-calendar/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-calendar", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "displayName": "Calendar", "displayName.zh-CN": "日历", "description": "Provides callendar collection template and block for managing date data, typically for date/time related information such as events, appointments, tasks, and so on.", diff --git a/packages/plugins/@nocobase/plugin-charts/package.json b/packages/plugins/@nocobase/plugin-charts/package.json index 42e9835ba8..923ea70b6f 100644 --- a/packages/plugins/@nocobase/plugin-charts/package.json +++ b/packages/plugins/@nocobase/plugin-charts/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "图表(废弃)", "description": "The plugin has been deprecated, please use the data visualization plugin instead.", "description.zh-CN": "已废弃插件,请使用数据可视化插件代替。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "main": "./dist/server/index.js", "license": "AGPL-3.0", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-client/package.json b/packages/plugins/@nocobase/plugin-client/package.json index 8aa81bea27..15d566f0f1 100644 --- a/packages/plugins/@nocobase/plugin-client/package.json +++ b/packages/plugins/@nocobase/plugin-client/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "WEB 客户端", "description": "Provides a client interface for the NocoBase server", "description.zh-CN": "为 NocoBase 服务端提供客户端界面", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "main": "./dist/server/index.js", "license": "AGPL-3.0", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-collection-sql/package.json b/packages/plugins/@nocobase/plugin-collection-sql/package.json index 5611ca4b09..448c21cd4d 100644 --- a/packages/plugins/@nocobase/plugin-collection-sql/package.json +++ b/packages/plugins/@nocobase/plugin-collection-sql/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表: SQL", "description": "Provides SQL collection template", "description.zh-CN": "提供 SQL 数据表模板", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "homepage": "https://docs-cn.nocobase.com/handbook/collection-sql", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/collection-sql", "main": "dist/server/index.js", diff --git a/packages/plugins/@nocobase/plugin-collection-tree/package.json b/packages/plugins/@nocobase/plugin-collection-tree/package.json index a7c1b63670..16e496c760 100644 --- a/packages/plugins/@nocobase/plugin-collection-tree/package.json +++ b/packages/plugins/@nocobase/plugin-collection-tree/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-collection-tree", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "displayName": "Collection: Tree", "displayName.zh-CN": "数据表:树", "description": "Provides tree collection template", diff --git a/packages/plugins/@nocobase/plugin-data-source-main/package.json b/packages/plugins/@nocobase/plugin-data-source-main/package.json index 7d25da8201..9220bf89d8 100644 --- a/packages/plugins/@nocobase/plugin-data-source-main/package.json +++ b/packages/plugins/@nocobase/plugin-data-source-main/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据源:主数据库", "description": "NocoBase main database, supports relational databases such as PostgreSQL, MySQL, MariaDB and so on.", "description.zh-CN": "NocoBase 主数据库,支持 PostgreSQL、MySQL、MariaDB 等关系型数据库。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/data-source-main", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/data-source-main", diff --git a/packages/plugins/@nocobase/plugin-data-source-manager/package.json b/packages/plugins/@nocobase/plugin-data-source-manager/package.json index 04ca59f833..f2bf174f38 100644 --- a/packages/plugins/@nocobase/plugin-data-source-manager/package.json +++ b/packages/plugins/@nocobase/plugin-data-source-manager/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-data-source-manager", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "main": "dist/server/index.js", "displayName": "Data source manager", "displayName.zh-CN": "数据源管理", diff --git a/packages/plugins/@nocobase/plugin-data-visualization/package.json b/packages/plugins/@nocobase/plugin-data-visualization/package.json index 45314244aa..f9cc68c35d 100644 --- a/packages/plugins/@nocobase/plugin-data-visualization/package.json +++ b/packages/plugins/@nocobase/plugin-data-visualization/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-data-visualization", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "displayName": "Data visualization", "displayName.zh-CN": "数据可视化", "description": "Provides data visualization feature, including chart block and chart filter block, support line charts, area charts, bar charts and more than a dozen kinds of charts, you can also extend more chart types.", diff --git a/packages/plugins/@nocobase/plugin-disable-pm-add/package.json b/packages/plugins/@nocobase/plugin-disable-pm-add/package.json index 1bcead1434..aea36f5b4e 100644 --- a/packages/plugins/@nocobase/plugin-disable-pm-add/package.json +++ b/packages/plugins/@nocobase/plugin-disable-pm-add/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-disable-pm-add", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "main": "./dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-error-handler/package.json b/packages/plugins/@nocobase/plugin-error-handler/package.json index a0095c882f..7e9ce2fcc5 100644 --- a/packages/plugins/@nocobase/plugin-error-handler/package.json +++ b/packages/plugins/@nocobase/plugin-error-handler/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "错误处理器", "description": "Handling application errors and exceptions.", "description.zh-CN": "处理应用程序中的错误和异常。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "./dist/server/index.js", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-field-china-region/package.json b/packages/plugins/@nocobase/plugin-field-china-region/package.json index 8ad9726e54..5503765e44 100644 --- a/packages/plugins/@nocobase/plugin-field-china-region/package.json +++ b/packages/plugins/@nocobase/plugin-field-china-region/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-field-china-region", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "displayName": "Collection field: administrative divisions of China", "displayName.zh-CN": "数据表字段:中国行政区划", "description": "Provides data and field type for administrative divisions of China.", diff --git a/packages/plugins/@nocobase/plugin-field-formula/package.json b/packages/plugins/@nocobase/plugin-field-formula/package.json index e06f1b647c..237b96125c 100644 --- a/packages/plugins/@nocobase/plugin-field-formula/package.json +++ b/packages/plugins/@nocobase/plugin-field-formula/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:公式", "description": "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.", "description.zh-CN": "可以配置并存储同一条记录的多字段值之间的计算结果,支持 Math.js 和 Excel formula functions 两种引擎", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-formula", diff --git a/packages/plugins/@nocobase/plugin-field-m2m-array/package.json b/packages/plugins/@nocobase/plugin-field-m2m-array/package.json index 0af37133ab..1ad8628762 100644 --- a/packages/plugins/@nocobase/plugin-field-m2m-array/package.json +++ b/packages/plugins/@nocobase/plugin-field-m2m-array/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:多对多 (数组)", "description": "Allows to create many to many relationships between two models by storing an array of unique keys of the target model.", "description.zh-CN": "支持通过在数组中存储目标表唯一键的方式建立多对多关系。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "main": "dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json b/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json index 470981d6f6..86a6127b9f 100644 --- a/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json +++ b/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:Markdown(Vditor)", "description": "Used to store Markdown and render it using Vditor editor, supports common Markdown syntax such as list, code, quote, etc., and supports uploading images, recordings, etc.It also allows for instant rendering, where what you see is what you get.", "description.zh-CN": "用于存储 Markdown,并使用 Vditor 编辑器渲染,支持常见 Markdown 语法,如列表,代码,引用等,并支持上传图片,录音等。同时可以做到即时渲染,所见即所得。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-markdown-vditor", diff --git a/packages/plugins/@nocobase/plugin-field-sequence/package.json b/packages/plugins/@nocobase/plugin-field-sequence/package.json index 75d50a2986..2da323632b 100644 --- a/packages/plugins/@nocobase/plugin-field-sequence/package.json +++ b/packages/plugins/@nocobase/plugin-field-sequence/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:自动编码", "description": "Automatically generate codes based on configured rules, supporting combinations of dates, numbers, and text.", "description.zh-CN": "根据配置的规则自动生成编码,支持日期、数字、文本的组合。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-sequence", diff --git a/packages/plugins/@nocobase/plugin-field-sort/package.json b/packages/plugins/@nocobase/plugin-field-sort/package.json index 130c9353a8..dde4f80415 100644 --- a/packages/plugins/@nocobase/plugin-field-sort/package.json +++ b/packages/plugins/@nocobase/plugin-field-sort/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-field-sort", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "displayName": "Collection field: Sort", "displayName.zh-CN": "数据表字段:排序", diff --git a/packages/plugins/@nocobase/plugin-file-manager/package.json b/packages/plugins/@nocobase/plugin-file-manager/package.json index b142e45027..d5eacd7a62 100644 --- a/packages/plugins/@nocobase/plugin-file-manager/package.json +++ b/packages/plugins/@nocobase/plugin-file-manager/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-file-manager", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "displayName": "File manager", "displayName.zh-CN": "文件管理器", "description": "Provides files storage services with files collection template and attachment field.", diff --git a/packages/plugins/@nocobase/plugin-gantt/package.json b/packages/plugins/@nocobase/plugin-gantt/package.json index 485502c7c8..a4101214e0 100644 --- a/packages/plugins/@nocobase/plugin-gantt/package.json +++ b/packages/plugins/@nocobase/plugin-gantt/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-gantt", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "displayName": "Block: Gantt", "displayName.zh-CN": "区块:甘特图", "description": "Provides Gantt block.", diff --git a/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json b/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json index 8b063f35e0..f8910648bb 100644 --- a/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json +++ b/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "可视化数据表管理", "description": "An ER diagram-like tool. Currently only the Master database is supported.", "description.zh-CN": "类似 ER 图的工具,目前只支持主数据库。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/graph-collection-manager", diff --git a/packages/plugins/@nocobase/plugin-kanban/package.json b/packages/plugins/@nocobase/plugin-kanban/package.json index fb4da37c38..2a799e6e15 100644 --- a/packages/plugins/@nocobase/plugin-kanban/package.json +++ b/packages/plugins/@nocobase/plugin-kanban/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-kanban", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/block-kanban", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/block-kanban", diff --git a/packages/plugins/@nocobase/plugin-localization/package.json b/packages/plugins/@nocobase/plugin-localization/package.json index 8ee662338f..b3e0a9740f 100644 --- a/packages/plugins/@nocobase/plugin-localization/package.json +++ b/packages/plugins/@nocobase/plugin-localization/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-localization", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/localization-management", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/localization-management", diff --git a/packages/plugins/@nocobase/plugin-logger/package.json b/packages/plugins/@nocobase/plugin-logger/package.json index 9a9abe4874..8221a6713a 100644 --- a/packages/plugins/@nocobase/plugin-logger/package.json +++ b/packages/plugins/@nocobase/plugin-logger/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "日志", "description": "Server-side logs, mainly including API request logs and system runtime logs, and allows to package and download log files.", "description.zh-CN": "服务端日志,主要包括接口请求日志和系统运行日志,并支持打包和下载日志文件。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/logger", diff --git a/packages/plugins/@nocobase/plugin-map/package.json b/packages/plugins/@nocobase/plugin-map/package.json index c851e51dfa..2d986a8e22 100644 --- a/packages/plugins/@nocobase/plugin-map/package.json +++ b/packages/plugins/@nocobase/plugin-map/package.json @@ -2,7 +2,7 @@ "name": "@nocobase/plugin-map", "displayName": "Block: Map", "displayName.zh-CN": "区块:地图", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "description": "Map block, support Gaode map and Google map, you can also extend more map types.", "description.zh-CN": "地图区块,支持高德地图和 Google 地图,你也可以扩展更多地图类型。", "license": "AGPL-3.0", diff --git a/packages/plugins/@nocobase/plugin-mobile-client/package.json b/packages/plugins/@nocobase/plugin-mobile-client/package.json index 0cd536a927..b40a1fddef 100644 --- a/packages/plugins/@nocobase/plugin-mobile-client/package.json +++ b/packages/plugins/@nocobase/plugin-mobile-client/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-mobile-client", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/mobile-client", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/mobile-client", diff --git a/packages/plugins/@nocobase/plugin-mobile/package.json b/packages/plugins/@nocobase/plugin-mobile/package.json index b20d68bddf..94603f0a8b 100644 --- a/packages/plugins/@nocobase/plugin-mobile/package.json +++ b/packages/plugins/@nocobase/plugin-mobile/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-mobile", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/mobile", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/mobile", diff --git a/packages/plugins/@nocobase/plugin-mock-collections/package.json b/packages/plugins/@nocobase/plugin-mock-collections/package.json index cb57981260..709c0c1c7d 100644 --- a/packages/plugins/@nocobase/plugin-mock-collections/package.json +++ b/packages/plugins/@nocobase/plugin-mock-collections/package.json @@ -2,7 +2,7 @@ "name": "@nocobase/plugin-mock-collections", "displayName": "mock-collections", "description": "mock-collections", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "main": "./dist/server/index.js", "license": "AGPL-3.0", "peerDependencies": { diff --git a/packages/plugins/@nocobase/plugin-multi-app-manager/package.json b/packages/plugins/@nocobase/plugin-multi-app-manager/package.json index f4d5e50c1b..2603b5ec4d 100644 --- a/packages/plugins/@nocobase/plugin-multi-app-manager/package.json +++ b/packages/plugins/@nocobase/plugin-multi-app-manager/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "多应用管理器", "description": "Dynamically create multiple apps without separate deployments.", "description.zh-CN": "无需单独部署即可动态创建多个应用。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/multi-app-manager", diff --git a/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json b/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json index ace067f0b9..468467cf8f 100644 --- a/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json +++ b/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "多应用数据表共享", "description": "", "description.zh-CN": "", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "main": "./dist/server/index.js", "devDependencies": { "@formily/react": "2.x", diff --git a/packages/plugins/@nocobase/plugin-notification-email/package.json b/packages/plugins/@nocobase/plugin-notification-email/package.json index e5655e36fd..10054f2507 100644 --- a/packages/plugins/@nocobase/plugin-notification-email/package.json +++ b/packages/plugins/@nocobase/plugin-notification-email/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-notification-email", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "displayName": "Notification: Email", "displayName.zh-CN": "通知:电子邮件", "description": "Used for sending email notifications with built-in SMTP transport.", diff --git a/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json b/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json index 79c0836bc1..460996b7c7 100644 --- a/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json +++ b/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-notification-in-app-message", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "displayName": "Notification: In-app message", "displayName.zh-CN": "通知:站内信", "description": "It supports users in receiving real-time message notifications within the NocoBase application.", diff --git a/packages/plugins/@nocobase/plugin-notification-manager/package.json b/packages/plugins/@nocobase/plugin-notification-manager/package.json index 6371c5194b..aa79e19c74 100644 --- a/packages/plugins/@nocobase/plugin-notification-manager/package.json +++ b/packages/plugins/@nocobase/plugin-notification-manager/package.json @@ -4,7 +4,7 @@ "description": "Provides a unified management service that includes channel configuration, logging, and other features, supporting the configuration of various notification channels, including in-app message and email.", "displayName.zh-CN": "通知管理", "description.zh-CN": "提供统一的管理服务,涵盖渠道配置、日志记录等功能,支持多种通知渠道的配置,包括站内信和电子邮件等。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "main": "dist/server/index.js", "devDependencies": { "@ant-design/icons": "5.x", diff --git a/packages/plugins/@nocobase/plugin-notifications/package.json b/packages/plugins/@nocobase/plugin-notifications/package.json index 1b090f206f..5752889a4e 100644 --- a/packages/plugins/@nocobase/plugin-notifications/package.json +++ b/packages/plugins/@nocobase/plugin-notifications/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-notifications", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "description": "", "license": "AGPL-3.0", "main": "./dist/server/index.js", diff --git a/packages/plugins/@nocobase/plugin-public-forms/package.json b/packages/plugins/@nocobase/plugin-public-forms/package.json index c0d853c8f0..a0dd9a5c6f 100644 --- a/packages/plugins/@nocobase/plugin-public-forms/package.json +++ b/packages/plugins/@nocobase/plugin-public-forms/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-public-forms", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "main": "dist/server/index.js", "displayName": "Public forms", "displayName.zh-CN": "公开表单", diff --git a/packages/plugins/@nocobase/plugin-sample-hello/package.json b/packages/plugins/@nocobase/plugin-sample-hello/package.json index 424a04d9f6..5cf78b0b80 100644 --- a/packages/plugins/@nocobase/plugin-sample-hello/package.json +++ b/packages/plugins/@nocobase/plugin-sample-hello/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-sample-hello", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "main": "./dist/server/index.js", "displayName": "Hello", "displayName.zh-CN": "Hello", diff --git a/packages/plugins/@nocobase/plugin-snapshot-field/package.json b/packages/plugins/@nocobase/plugin-snapshot-field/package.json index 7c6af04179..c869ac19e0 100644 --- a/packages/plugins/@nocobase/plugin-snapshot-field/package.json +++ b/packages/plugins/@nocobase/plugin-snapshot-field/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:关系快照", "description": "When adding a new record, create a snapshot for its relational record and save in the new record. The snapshot will not be updated when the relational record is updated.", "description.zh-CN": "在添加数据时,为它的关系数据创建快照,并保存在当前的数据中。关系数据更新时,快照不会更新。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-snapshot", diff --git a/packages/plugins/@nocobase/plugin-system-settings/package.json b/packages/plugins/@nocobase/plugin-system-settings/package.json index dc29e56db1..e02c263306 100644 --- a/packages/plugins/@nocobase/plugin-system-settings/package.json +++ b/packages/plugins/@nocobase/plugin-system-settings/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "系统设置", "description": "Used to adjust the system title, logo, language, etc.", "description.zh-CN": "用于调整系统的标题、LOGO、语言等。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/system-settings", diff --git a/packages/plugins/@nocobase/plugin-theme-editor/package.json b/packages/plugins/@nocobase/plugin-theme-editor/package.json index b8485eaced..159836e75c 100644 --- a/packages/plugins/@nocobase/plugin-theme-editor/package.json +++ b/packages/plugins/@nocobase/plugin-theme-editor/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-theme-editor", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/theme-editor", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/theme-editor", diff --git a/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json b/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json index d1bf754e1f..64a0ee2d82 100644 --- a/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json +++ b/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "UI schema 存储服务", "description": "Provides centralized UI schema storage service.", "description.zh-CN": "提供中心化的 UI schema 存储服务。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/ui-schema-storage", diff --git a/packages/plugins/@nocobase/plugin-user-data-sync/package.json b/packages/plugins/@nocobase/plugin-user-data-sync/package.json index f5738ee7a5..8037d898d8 100644 --- a/packages/plugins/@nocobase/plugin-user-data-sync/package.json +++ b/packages/plugins/@nocobase/plugin-user-data-sync/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "用户数据同步", "description": "Reigster and manage extensible user data synchronization sources, with HTTP API provided by default. Support for synchronizing data to resources such as users and departments.", "description.zh-CN": "注册和管理可扩展的用户数据同步来源,默认提供 HTTP API。支持向用户和部门等资源同步数据。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "main": "dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-users/package.json b/packages/plugins/@nocobase/plugin-users/package.json index 138b7f094f..a0f42f9203 100644 --- a/packages/plugins/@nocobase/plugin-users/package.json +++ b/packages/plugins/@nocobase/plugin-users/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "用户", "description": "Provides basic user model, as well as created by and updated by fields.", "description.zh-CN": "提供了基础的用户模型,以及创建人和最后更新人字段。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/users", diff --git a/packages/plugins/@nocobase/plugin-verification/package.json b/packages/plugins/@nocobase/plugin-verification/package.json index 5cbc03cd94..68fe8a2f88 100644 --- a/packages/plugins/@nocobase/plugin-verification/package.json +++ b/packages/plugins/@nocobase/plugin-verification/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "验证码", "description": "verification setting.", "description.zh-CN": "验证码配置。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/verification", diff --git a/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json b/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json index 062dbc1bf2..eccc9ac5d6 100644 --- a/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:操作后事件", "description": "Triggered after the completion of a request initiated through an action button or API, such as after adding, updating, deleting data, or \"submit to workflow\". Suitable for data processing, sending notifications, etc., after actions are completed.", "description.zh-CN": "通过操作按钮或 API 发起请求并在执行完成后触发,比如新增、更新、删除数据或者“提交至工作流”之后。适用于在操作完成后进行数据处理、发送通知等。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/plugins/workflow-action-trigger", diff --git a/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json b/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json index 1cd6e04de1..81ddcf4ae1 100644 --- a/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:聚合查询节点", "description": "Used to aggregate data against the database in workflow, such as: statistics, sum, average, etc.", "description.zh-CN": "可用于在工作流中对数据库进行聚合查询,如:统计数量、求和、平均值等。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-aggregate", diff --git a/packages/plugins/@nocobase/plugin-workflow-delay/package.json b/packages/plugins/@nocobase/plugin-workflow-delay/package.json index a93478fb76..de7627bf06 100644 --- a/packages/plugins/@nocobase/plugin-workflow-delay/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-delay/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:延时节点", "description": "Could be used in workflow parallel branch for waiting other branches.", "description.zh-CN": "可用于工作流并行分支中等待其他分支执行完成。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-delay", diff --git a/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json b/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json index 5cd682a3a1..2dbe79717d 100644 --- a/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:动态表达式计算节点", "description": "Useful plugin for doing dynamic calculation based on expression collection records in workflow.", "description.zh-CN": "用于在工作流中进行基于数据行的动态表达式计算。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-dynamic-calculation", diff --git a/packages/plugins/@nocobase/plugin-workflow-loop/package.json b/packages/plugins/@nocobase/plugin-workflow-loop/package.json index c51f832e67..9a603e4d8c 100644 --- a/packages/plugins/@nocobase/plugin-workflow-loop/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-loop/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:循环节点", "description": "Used to repeat the sub-process processing of each value in an array, and can also be used for fixed times of sub-process processing.", "description.zh-CN": "用于对一个数组中的每个值进行重复的子流程处理,也可用于固定次数的重复子流程处理。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-loop", diff --git a/packages/plugins/@nocobase/plugin-workflow-mailer/package.json b/packages/plugins/@nocobase/plugin-workflow-mailer/package.json index 4b5ed99c95..d13d9bef62 100644 --- a/packages/plugins/@nocobase/plugin-workflow-mailer/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-mailer/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:邮件发送节点", "description": "Send email in workflow.", "description.zh-CN": "可用于在工作流中发送电子邮件。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-smtp-mailer", diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/package.json b/packages/plugins/@nocobase/plugin-workflow-manual/package.json index 102dfc793b..92a0b080d1 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-manual/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:人工处理节点", "description": "Could be used for workflows which some of decisions are made by users.", "description.zh-CN": "用于人工控制部分决策的流程。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-manual", diff --git a/packages/plugins/@nocobase/plugin-workflow-notification/package.json b/packages/plugins/@nocobase/plugin-workflow-notification/package.json index 82dbd81811..b3a7c71dc4 100644 --- a/packages/plugins/@nocobase/plugin-workflow-notification/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-notification/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:通知节点", "description": "Send notification in workflow.", "description.zh-CN": "可用于在工作流中发送各类通知。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-smtp-mailer", diff --git a/packages/plugins/@nocobase/plugin-workflow-parallel/package.json b/packages/plugins/@nocobase/plugin-workflow-parallel/package.json index 02c7d28453..b571726806 100644 --- a/packages/plugins/@nocobase/plugin-workflow-parallel/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-parallel/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:并行分支节点", "description": "Could be used for parallel execution of branch processes in the workflow.", "description.zh-CN": "用于在工作流中需要并行执行的分支流程。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-parallel", diff --git a/packages/plugins/@nocobase/plugin-workflow-request/package.json b/packages/plugins/@nocobase/plugin-workflow-request/package.json index a5ff91b488..edc4e6efd7 100644 --- a/packages/plugins/@nocobase/plugin-workflow-request/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-request/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:HTTP 请求节点", "description": "Send HTTP requests to any HTTP service for data interaction in workflow.", "description.zh-CN": "可用于在工作流中向任意 HTTP 服务发送请求,进行数据交互。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-request", diff --git a/packages/plugins/@nocobase/plugin-workflow-sql/package.json b/packages/plugins/@nocobase/plugin-workflow-sql/package.json index 5ea2701524..610e93d890 100644 --- a/packages/plugins/@nocobase/plugin-workflow-sql/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-sql/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:SQL 节点", "description": "Execute SQL statements in workflow.", "description.zh-CN": "可用于在工作流中对数据库执行任意 SQL 语句。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-sql", diff --git a/packages/plugins/@nocobase/plugin-workflow-test/package.json b/packages/plugins/@nocobase/plugin-workflow-test/package.json index 760953b2fd..4b12106a7d 100644 --- a/packages/plugins/@nocobase/plugin-workflow-test/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-test/package.json @@ -2,7 +2,7 @@ "name": "@nocobase/plugin-workflow-test", "displayName": "Workflow: test kit", "displayName.zh-CN": "工作流:测试工具包", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "dist/server/index.js", "types": "./dist/server/index.d.ts", diff --git a/packages/plugins/@nocobase/plugin-workflow/package.json b/packages/plugins/@nocobase/plugin-workflow/package.json index 9a8d7aa046..bd786d7d0b 100644 --- a/packages/plugins/@nocobase/plugin-workflow/package.json +++ b/packages/plugins/@nocobase/plugin-workflow/package.json @@ -4,13 +4,13 @@ "displayName.zh-CN": "工作流", "description": "A powerful BPM tool that provides foundational support for business automation, with the capability to extend unlimited triggers and nodes.", "description.zh-CN": "一个强大的 BPM 工具,为业务自动化提供基础支持,并且可任意扩展更多的触发器和节点。", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/workflow", "dependencies": { - "@nocobase/plugin-workflow-test": "1.5.0-beta.30" + "@nocobase/plugin-workflow-test": "1.5.0-beta.31" }, "devDependencies": { "@ant-design/icons": "5.x", diff --git a/packages/presets/nocobase/package.json b/packages/presets/nocobase/package.json index 7d77314d82..028f0899a1 100644 --- a/packages/presets/nocobase/package.json +++ b/packages/presets/nocobase/package.json @@ -1,78 +1,78 @@ { "name": "@nocobase/preset-nocobase", - "version": "1.5.0-beta.30", + "version": "1.5.0-beta.31", "license": "AGPL-3.0", "main": "./lib/server/index.js", "dependencies": { "@formily/json-schema": "2.x", - "@nocobase/plugin-acl": "1.5.0-beta.30", - "@nocobase/plugin-action-bulk-edit": "1.5.0-beta.30", - "@nocobase/plugin-action-bulk-update": "1.5.0-beta.30", - "@nocobase/plugin-action-custom-request": "1.5.0-beta.30", - "@nocobase/plugin-action-duplicate": "1.5.0-beta.30", - "@nocobase/plugin-action-export": "1.5.0-beta.30", - "@nocobase/plugin-action-import": "1.5.0-beta.30", - "@nocobase/plugin-action-print": "1.5.0-beta.30", - "@nocobase/plugin-api-doc": "1.5.0-beta.30", - "@nocobase/plugin-api-keys": "1.5.0-beta.30", - "@nocobase/plugin-async-task-manager": "1.5.0-beta.30", - "@nocobase/plugin-audit-logs": "1.5.0-beta.30", - "@nocobase/plugin-auth": "1.5.0-beta.30", - "@nocobase/plugin-auth-sms": "1.5.0-beta.30", - "@nocobase/plugin-backup-restore": "1.5.0-beta.30", - "@nocobase/plugin-block-iframe": "1.5.0-beta.30", - "@nocobase/plugin-block-workbench": "1.5.0-beta.30", - "@nocobase/plugin-calendar": "1.5.0-beta.30", - "@nocobase/plugin-charts": "1.5.0-beta.30", - "@nocobase/plugin-client": "1.5.0-beta.30", - "@nocobase/plugin-collection-sql": "1.5.0-beta.30", - "@nocobase/plugin-collection-tree": "1.5.0-beta.30", - "@nocobase/plugin-data-source-main": "1.5.0-beta.30", - "@nocobase/plugin-data-source-manager": "1.5.0-beta.30", - "@nocobase/plugin-data-visualization": "1.5.0-beta.30", - "@nocobase/plugin-error-handler": "1.5.0-beta.30", - "@nocobase/plugin-field-china-region": "1.5.0-beta.30", - "@nocobase/plugin-field-formula": "1.5.0-beta.30", - "@nocobase/plugin-field-m2m-array": "1.5.0-beta.30", - "@nocobase/plugin-field-markdown-vditor": "1.5.0-beta.30", - "@nocobase/plugin-field-sequence": "1.5.0-beta.30", - "@nocobase/plugin-field-sort": "1.5.0-beta.30", - "@nocobase/plugin-file-manager": "1.5.0-beta.30", - "@nocobase/plugin-gantt": "1.5.0-beta.30", - "@nocobase/plugin-graph-collection-manager": "1.5.0-beta.30", - "@nocobase/plugin-kanban": "1.5.0-beta.30", - "@nocobase/plugin-localization": "1.5.0-beta.30", - "@nocobase/plugin-logger": "1.5.0-beta.30", - "@nocobase/plugin-map": "1.5.0-beta.30", - "@nocobase/plugin-mobile": "1.5.0-beta.30", - "@nocobase/plugin-mobile-client": "1.5.0-beta.30", - "@nocobase/plugin-mock-collections": "1.5.0-beta.30", - "@nocobase/plugin-multi-app-manager": "1.5.0-beta.30", - "@nocobase/plugin-multi-app-share-collection": "1.5.0-beta.30", - "@nocobase/plugin-notification-email": "1.5.0-beta.30", - "@nocobase/plugin-notification-in-app-message": "1.5.0-beta.30", - "@nocobase/plugin-notification-manager": "1.5.0-beta.30", - "@nocobase/plugin-public-forms": "1.5.0-beta.30", - "@nocobase/plugin-snapshot-field": "1.5.0-beta.30", - "@nocobase/plugin-system-settings": "1.5.0-beta.30", - "@nocobase/plugin-theme-editor": "1.5.0-beta.30", - "@nocobase/plugin-ui-schema-storage": "1.5.0-beta.30", - "@nocobase/plugin-user-data-sync": "1.5.0-beta.30", - "@nocobase/plugin-users": "1.5.0-beta.30", - "@nocobase/plugin-verification": "1.5.0-beta.30", - "@nocobase/plugin-workflow": "1.5.0-beta.30", - "@nocobase/plugin-workflow-action-trigger": "1.5.0-beta.30", - "@nocobase/plugin-workflow-aggregate": "1.5.0-beta.30", - "@nocobase/plugin-workflow-delay": "1.5.0-beta.30", - "@nocobase/plugin-workflow-dynamic-calculation": "1.5.0-beta.30", - "@nocobase/plugin-workflow-loop": "1.5.0-beta.30", - "@nocobase/plugin-workflow-mailer": "1.5.0-beta.30", - "@nocobase/plugin-workflow-manual": "1.5.0-beta.30", - "@nocobase/plugin-workflow-notification": "1.5.0-beta.30", - "@nocobase/plugin-workflow-parallel": "1.5.0-beta.30", - "@nocobase/plugin-workflow-request": "1.5.0-beta.30", - "@nocobase/plugin-workflow-sql": "1.5.0-beta.30", - "@nocobase/server": "1.5.0-beta.30", + "@nocobase/plugin-acl": "1.5.0-beta.31", + "@nocobase/plugin-action-bulk-edit": "1.5.0-beta.31", + "@nocobase/plugin-action-bulk-update": "1.5.0-beta.31", + "@nocobase/plugin-action-custom-request": "1.5.0-beta.31", + "@nocobase/plugin-action-duplicate": "1.5.0-beta.31", + "@nocobase/plugin-action-export": "1.5.0-beta.31", + "@nocobase/plugin-action-import": "1.5.0-beta.31", + "@nocobase/plugin-action-print": "1.5.0-beta.31", + "@nocobase/plugin-api-doc": "1.5.0-beta.31", + "@nocobase/plugin-api-keys": "1.5.0-beta.31", + "@nocobase/plugin-async-task-manager": "1.5.0-beta.31", + "@nocobase/plugin-audit-logs": "1.5.0-beta.31", + "@nocobase/plugin-auth": "1.5.0-beta.31", + "@nocobase/plugin-auth-sms": "1.5.0-beta.31", + "@nocobase/plugin-backup-restore": "1.5.0-beta.31", + "@nocobase/plugin-block-iframe": "1.5.0-beta.31", + "@nocobase/plugin-block-workbench": "1.5.0-beta.31", + "@nocobase/plugin-calendar": "1.5.0-beta.31", + "@nocobase/plugin-charts": "1.5.0-beta.31", + "@nocobase/plugin-client": "1.5.0-beta.31", + "@nocobase/plugin-collection-sql": "1.5.0-beta.31", + "@nocobase/plugin-collection-tree": "1.5.0-beta.31", + "@nocobase/plugin-data-source-main": "1.5.0-beta.31", + "@nocobase/plugin-data-source-manager": "1.5.0-beta.31", + "@nocobase/plugin-data-visualization": "1.5.0-beta.31", + "@nocobase/plugin-error-handler": "1.5.0-beta.31", + "@nocobase/plugin-field-china-region": "1.5.0-beta.31", + "@nocobase/plugin-field-formula": "1.5.0-beta.31", + "@nocobase/plugin-field-m2m-array": "1.5.0-beta.31", + "@nocobase/plugin-field-markdown-vditor": "1.5.0-beta.31", + "@nocobase/plugin-field-sequence": "1.5.0-beta.31", + "@nocobase/plugin-field-sort": "1.5.0-beta.31", + "@nocobase/plugin-file-manager": "1.5.0-beta.31", + "@nocobase/plugin-gantt": "1.5.0-beta.31", + "@nocobase/plugin-graph-collection-manager": "1.5.0-beta.31", + "@nocobase/plugin-kanban": "1.5.0-beta.31", + "@nocobase/plugin-localization": "1.5.0-beta.31", + "@nocobase/plugin-logger": "1.5.0-beta.31", + "@nocobase/plugin-map": "1.5.0-beta.31", + "@nocobase/plugin-mobile": "1.5.0-beta.31", + "@nocobase/plugin-mobile-client": "1.5.0-beta.31", + "@nocobase/plugin-mock-collections": "1.5.0-beta.31", + "@nocobase/plugin-multi-app-manager": "1.5.0-beta.31", + "@nocobase/plugin-multi-app-share-collection": "1.5.0-beta.31", + "@nocobase/plugin-notification-email": "1.5.0-beta.31", + "@nocobase/plugin-notification-in-app-message": "1.5.0-beta.31", + "@nocobase/plugin-notification-manager": "1.5.0-beta.31", + "@nocobase/plugin-public-forms": "1.5.0-beta.31", + "@nocobase/plugin-snapshot-field": "1.5.0-beta.31", + "@nocobase/plugin-system-settings": "1.5.0-beta.31", + "@nocobase/plugin-theme-editor": "1.5.0-beta.31", + "@nocobase/plugin-ui-schema-storage": "1.5.0-beta.31", + "@nocobase/plugin-user-data-sync": "1.5.0-beta.31", + "@nocobase/plugin-users": "1.5.0-beta.31", + "@nocobase/plugin-verification": "1.5.0-beta.31", + "@nocobase/plugin-workflow": "1.5.0-beta.31", + "@nocobase/plugin-workflow-action-trigger": "1.5.0-beta.31", + "@nocobase/plugin-workflow-aggregate": "1.5.0-beta.31", + "@nocobase/plugin-workflow-delay": "1.5.0-beta.31", + "@nocobase/plugin-workflow-dynamic-calculation": "1.5.0-beta.31", + "@nocobase/plugin-workflow-loop": "1.5.0-beta.31", + "@nocobase/plugin-workflow-mailer": "1.5.0-beta.31", + "@nocobase/plugin-workflow-manual": "1.5.0-beta.31", + "@nocobase/plugin-workflow-notification": "1.5.0-beta.31", + "@nocobase/plugin-workflow-parallel": "1.5.0-beta.31", + "@nocobase/plugin-workflow-request": "1.5.0-beta.31", + "@nocobase/plugin-workflow-sql": "1.5.0-beta.31", + "@nocobase/server": "1.5.0-beta.31", "cronstrue": "^2.11.0", "fs-extra": "^11.1.1" }, From 85b36da74684af57efac1fc4fa759b496cc6ccb2 Mon Sep 17 00:00:00 2001 From: Junyi Date: Fri, 17 Jan 2025 09:58:28 +0800 Subject: [PATCH 025/125] refactor(plugin-workflow): refactor validate context api (#6082) --- .../src/server/ActionTrigger.ts | 6 ++-- .../src/client/WorkflowCanvas.tsx | 2 +- .../triggers/schedule/ScheduleModes.tsx | 9 +++++- .../src/server/triggers/CollectionTrigger.ts | 4 +-- .../DateFieldScheduleTrigger.ts | 9 ++++++ .../server/triggers/ScheduleTrigger/index.ts | 28 +++++++------------ .../src/server/triggers/index.ts | 2 +- 7 files changed, 34 insertions(+), 26 deletions(-) diff --git a/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/server/ActionTrigger.ts b/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/server/ActionTrigger.ts index c509a127fa..f880ac32d7 100644 --- a/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/server/ActionTrigger.ts +++ b/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/server/ActionTrigger.ts @@ -233,16 +233,16 @@ export default class extends Trigger { ); } - validateConfig(values) { + validateContext(values) { if (!values.data) { return { - data: 'Data property is required', + data: 'Data is required', }; } if (!values.userId) { return { - userId: 'UserId property is required', + userId: 'UserId is required', }; } diff --git a/packages/plugins/@nocobase/plugin-workflow/src/client/WorkflowCanvas.tsx b/packages/plugins/@nocobase/plugin-workflow/src/client/WorkflowCanvas.tsx index a8f0722568..e07ba290e1 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/client/WorkflowCanvas.tsx +++ b/packages/plugins/@nocobase/plugin-workflow/src/client/WorkflowCanvas.tsx @@ -96,9 +96,9 @@ function useExecuteConfirmAction() { const ctx = useActionContext(); const navigate = useNavigateNoUpdate(); const { message: messageApi } = App.useApp(); - const { autoRevision, ...values } = form.values; return { async run() { + const { autoRevision, ...values } = form.values; // Not executed, could choose to create new version (by default) // Executed, stay in current version, and refresh await form.submit(); diff --git a/packages/plugins/@nocobase/plugin-workflow/src/client/triggers/schedule/ScheduleModes.tsx b/packages/plugins/@nocobase/plugin-workflow/src/client/triggers/schedule/ScheduleModes.tsx index 2fd816fd60..2e279386d9 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/client/triggers/schedule/ScheduleModes.tsx +++ b/packages/plugins/@nocobase/plugin-workflow/src/client/triggers/schedule/ScheduleModes.tsx @@ -83,7 +83,14 @@ export const ScheduleModes = { nullable: false, changeOnSelect: true, render(props) { - return ; + return ( + + ); }, }, }, diff --git a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/CollectionTrigger.ts b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/CollectionTrigger.ts index 1985966079..8442620f36 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/CollectionTrigger.ts +++ b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/CollectionTrigger.ts @@ -236,10 +236,10 @@ export default class CollectionTrigger extends Trigger { }); } - validateConfig(values) { + validateContext(values) { if (!values.data) { return { - data: 'Data property is required', + data: 'Data is required', }; } diff --git a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/DateFieldScheduleTrigger.ts b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/DateFieldScheduleTrigger.ts index 58d0d5756e..7e9b2ff68d 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/DateFieldScheduleTrigger.ts +++ b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/DateFieldScheduleTrigger.ts @@ -437,4 +437,13 @@ export default class DateFieldScheduleTrigger { return this.workflow.trigger(workflow, { ...values, data, date: values?.date ?? new Date() }, options); } + + validateContext(values) { + if (!values?.data) { + return { + data: 'Data is required', + }; + } + return null; + } } diff --git a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/index.ts b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/index.ts index 2798c8f494..375ef784ab 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/index.ts +++ b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/ScheduleTrigger/index.ts @@ -7,8 +7,6 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Context } from '@nocobase/actions'; -import { parseCollectionName } from '@nocobase/data-source-manager'; import Trigger from '..'; import type Plugin from '../../Plugin'; import DateFieldScheduleTrigger from './DateFieldScheduleTrigger'; @@ -69,25 +67,19 @@ export default class ScheduleTrigger extends Trigger { // return !existed.length; // } - validateConfig(values) { - if (!values.mode) { + validateContext(values) { + if (!values?.mode) { return { - mode: 'Mode property is required', + mode: 'Mode is required', + }; + } + const trigger = this.getTrigger(values.mode); + if (!trigger) { + return { + mode: 'Mode in invalid', }; } - if (!values.startsOn) { - return { - startsOn: 'StartsOn property is required', - }; - } - - if (values.mode === SCHEDULE_MODE.DATE_FIELD && !values.collection) { - return { - collection: 'Collection property is required', - }; - } - - return null; + return trigger.validateContext?.(values); } } diff --git a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/index.ts b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/index.ts index 901fc7a054..24c01d874e 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/index.ts +++ b/packages/plugins/@nocobase/plugin-workflow/src/server/triggers/index.ts @@ -20,7 +20,7 @@ export abstract class Trigger { return true; } duplicateConfig?(workflow: WorkflowModel, options: Transactionable): object | Promise; - validateConfig?(values: any): null | void | { [key: string]: string }; + validateContext?(values: any): null | void | { [key: string]: string }; sync?: boolean; execute?( workflow: WorkflowModel, From d87e7bb78effefac69a63b41844ef7b38e270c3f Mon Sep 17 00:00:00 2001 From: Katherine Date: Fri, 17 Jan 2025 15:26:13 +0800 Subject: [PATCH 026/125] fix: calender default view locale (#6084) --- .../src/client/calendar/Calender.Settings.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/plugins/@nocobase/plugin-calendar/src/client/calendar/Calender.Settings.tsx b/packages/plugins/@nocobase/plugin-calendar/src/client/calendar/Calender.Settings.tsx index 605fb775d9..e0072b253b 100644 --- a/packages/plugins/@nocobase/plugin-calendar/src/client/calendar/Calender.Settings.tsx +++ b/packages/plugins/@nocobase/plugin-calendar/src/client/calendar/Calender.Settings.tsx @@ -149,9 +149,9 @@ export const calendarBlockSettings = new SchemaSettings({ title: t('Default view'), value: field['decoratorProps']['defaultView'] || 'month', options: [ - { value: 'month', label: '月' }, - { value: 'week', label: '周' }, - { value: 'day', label: '天' }, + { value: 'month', label: t('Month') }, + { value: 'week', label: t('Week') }, + { value: 'day', label: t('Day') }, ], onChange: (v) => { field.decoratorProps.defaultView = v; From 2945532630b1215bd6d2bb975a36d23ea26c14ee Mon Sep 17 00:00:00 2001 From: Katherine Date: Fri, 17 Jan 2025 20:39:39 +0800 Subject: [PATCH 027/125] feat: support setting description property in block (#6015) * feat: support setting description property in block * fix: bug * fix: bug * fix: test * chore: set block height * fix: bug * fix: bug * fix: test --- lerna.json | 4 +- .../hooks/useBlockHeightProps.tsx | 7 +++- .../form-create/schemaSettings1.test.ts | 6 +-- .../__e2e__/form-edit/schemaSettings.test.ts | 6 +-- .../antd/block-item/BlockItemCard.tsx | 40 ++++++++++++++++--- .../src/schema-component/antd/form-v2/hook.ts | 10 +++-- .../src/schema-component/antd/list/hooks.ts | 13 ++---- .../schema-component/hooks/useBlockSize.ts | 9 +++-- .../SchemaSettingsBlockTitleItem.tsx | 16 +++++++- .../client/SchemaSettingsBlockTitleItem.tsx | 13 ++++-- .../src/client/WorkbenchBlock.tsx | 11 ++++- .../src/client/calendar/hook.ts | 4 +- .../plugin-map/src/client/components/hook.ts | 4 +- .../client/__e2e__/createRecordForm1.test.ts | 6 +-- .../client/__e2e__/createRecordForm2.test.ts | 6 +-- .../client/__e2e__/createRecordForm3.test.ts | 8 ++-- .../client/__e2e__/createRecordForm4.test.ts | 6 +-- .../client/__e2e__/createRecordForm5.test.ts | 6 +-- .../client/__e2e__/customFormBlocks.test.ts | 6 +-- .../client/__e2e__/customFormBlocks1.test.ts | 8 ++-- .../client/__e2e__/customFormBlocks2.test.ts | 6 +-- .../client/__e2e__/customFormBlocks3.test.ts | 6 +-- .../src/client/__e2e__/datablocks1.test.ts | 6 +-- .../client/__e2e__/updateRecordForm.test.ts | 8 ++-- .../client/__e2e__/updateRecordForm1.test.ts | 6 +-- .../client/__e2e__/updateRecordForm2.test.ts | 6 +-- .../client/__e2e__/updateRecordForm3.test.ts | 6 +-- .../src/client/__e2e__/workflowTodo.test.ts | 4 +- 28 files changed, 145 insertions(+), 92 deletions(-) diff --git a/lerna.json b/lerna.json index d8590f4b53..2da755853e 100644 --- a/lerna.json +++ b/lerna.json @@ -2,9 +2,7 @@ "version": "1.6.0-alpha.14", "npmClient": "yarn", "useWorkspaces": true, - "npmClientArgs": [ - "--ignore-engines" - ], + "npmClientArgs": ["--ignore-engines"], "command": { "version": { "forcePublish": true, diff --git a/packages/core/client/src/block-provider/hooks/useBlockHeightProps.tsx b/packages/core/client/src/block-provider/hooks/useBlockHeightProps.tsx index ddbb92a610..0570e681f5 100644 --- a/packages/core/client/src/block-provider/hooks/useBlockHeightProps.tsx +++ b/packages/core/client/src/block-provider/hooks/useBlockHeightProps.tsx @@ -8,8 +8,9 @@ */ import { useFieldSchema } from '@formily/react'; -import { useMemo } from 'react'; +import { useMemo, useContext } from 'react'; import { useBlockTemplateContext } from '../../schema-templates/BlockTemplateProvider'; +import { BlockItemCardContext } from '../../schema-component/antd/block-item/BlockItemCard'; export const useBlockHeightProps = () => { const fieldSchema = useFieldSchema(); @@ -17,12 +18,16 @@ export const useBlockHeightProps = () => { const blockTemplateSchema = useBlockTemplateContext()?.fieldSchema; const pageSchema = useMemo(() => getPageSchema(blockTemplateSchema || fieldSchema), []); const { disablePageHeader, enablePageTabs, hidePageTitle } = pageSchema?.['x-component-props'] || {}; + const { titleHeight } = useContext(BlockItemCardContext) || ({} as any); + return { heightProps: { ...cardItemSchema?.['x-component-props'], + title: cardItemSchema?.['x-component-props']?.title || cardItemSchema?.['x-component-props']?.description, disablePageHeader, enablePageTabs, hidePageTitle, + titleHeight: titleHeight, }, }; }; diff --git a/packages/core/client/src/modules/blocks/data-blocks/form/__e2e__/form-create/schemaSettings1.test.ts b/packages/core/client/src/modules/blocks/data-blocks/form/__e2e__/form-create/schemaSettings1.test.ts index 8fa90b3ec4..a822b97936 100644 --- a/packages/core/client/src/modules/blocks/data-blocks/form/__e2e__/form-create/schemaSettings1.test.ts +++ b/packages/core/client/src/modules/blocks/data-blocks/form/__e2e__/form-create/schemaSettings1.test.ts @@ -29,8 +29,8 @@ test.describe('creation form block schema settings', () => { // 打开编辑弹窗 await clickOption(page, 'Edit block title'); - await page.getByRole('textbox').click(); - await page.getByRole('textbox').fill('Block title 123'); + await page.getByLabel('block-title').click(); + await page.getByLabel('block-title').fill('Block title 123'); await page.getByRole('button', { name: 'OK', exact: true }).click(); const runExpect = async () => { @@ -41,7 +41,7 @@ test.describe('creation form block schema settings', () => { // 再次打开编辑弹窗时,显示的是上次设置的值 await clickOption(page, 'Edit block title'); - await expect(page.getByRole('textbox')).toHaveValue('Block title 123'); + await expect(page.getByLabel('block-title')).toHaveValue('Block title 123'); }; await runExpect(); diff --git a/packages/core/client/src/modules/blocks/data-blocks/form/__e2e__/form-edit/schemaSettings.test.ts b/packages/core/client/src/modules/blocks/data-blocks/form/__e2e__/form-edit/schemaSettings.test.ts index 004626a45b..10ea4f6aa6 100644 --- a/packages/core/client/src/modules/blocks/data-blocks/form/__e2e__/form-edit/schemaSettings.test.ts +++ b/packages/core/client/src/modules/blocks/data-blocks/form/__e2e__/form-edit/schemaSettings.test.ts @@ -31,8 +31,8 @@ test.describe('edit form block schema settings', () => { // 打开编辑弹窗 await clickOption(page, 'Edit block title'); - await page.getByRole('textbox').click(); - await page.getByRole('textbox').fill('Block title 123'); + await page.getByLabel('block-title').click(); + await page.getByLabel('block-title').fill('Block title 123'); await page.getByRole('button', { name: 'OK', exact: true }).click(); const runExpect = async () => { @@ -43,7 +43,7 @@ test.describe('edit form block schema settings', () => { // 再次打开编辑弹窗时,显示的是上次设置的值 await clickOption(page, 'Edit block title'); - await expect(page.getByRole('textbox')).toHaveValue('Block title 123'); + await expect(page.getByLabel('block-title')).toHaveValue('Block title 123'); }; await runExpect(); diff --git a/packages/core/client/src/schema-component/antd/block-item/BlockItemCard.tsx b/packages/core/client/src/schema-component/antd/block-item/BlockItemCard.tsx index 4900088afe..2b15fa8027 100644 --- a/packages/core/client/src/schema-component/antd/block-item/BlockItemCard.tsx +++ b/packages/core/client/src/schema-component/antd/block-item/BlockItemCard.tsx @@ -7,20 +7,48 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { Card, CardProps } from 'antd'; -import React, { useMemo } from 'react'; +import { Card, CardProps, Space } from 'antd'; +import React, { useMemo, useRef, useEffect, createContext, useState } from 'react'; import { useToken } from '../../../style'; +import { MarkdownReadPretty } from '../markdown'; -export const BlockItemCard = React.forwardRef(({ children, ...props }, ref) => { +export const BlockItemCardContext = createContext({}); + +export const BlockItemCard = React.forwardRef(({ children, ...props }, ref) => { const { token } = useToken(); + const { title: blockTitle, description, ...others } = props; const style = useMemo(() => { return { marginBottom: token.marginBlock }; }, [token.marginBlock]); + const [titleHeight, setTitleHeight] = useState(0); + const titleRef = useRef(null); + useEffect(() => { + const timer = setTimeout(() => { + if (titleRef.current) { + const height = !description + ? token.fontSizeLG * token.lineHeightLG + token.padding * 2 - 1 + : titleRef.current.parentElement.parentElement.parentElement.offsetHeight; + setTitleHeight(height); + } else { + titleHeight && setTitleHeight(0); + } + }, 500); + return () => clearTimeout(timer); + }, [blockTitle, description]); + + const title = (blockTitle || description) && ( +
+ {blockTitle} + {description && } +
+ ); return ( - - {children} - + + + {children} + + ); }); diff --git a/packages/core/client/src/schema-component/antd/form-v2/hook.ts b/packages/core/client/src/schema-component/antd/form-v2/hook.ts index 84499e2e58..24c548a684 100644 --- a/packages/core/client/src/schema-component/antd/form-v2/hook.ts +++ b/packages/core/client/src/schema-component/antd/form-v2/hook.ts @@ -21,7 +21,7 @@ export const useFormBlockHeight = () => { const { token } = theme.useToken(); const { designable } = useDesignable(); const { heightProps } = useBlockHeightProps() || {}; - const { title } = heightProps || {}; + const { title, titleHeight } = heightProps || {}; const { display, enabled } = useFormDataTemplates(); const actionSchema: any = schema.reduceProperties((buf, s) => { if (s['x-component'] === 'ActionBar') { @@ -33,12 +33,14 @@ export const useFormBlockHeight = () => { const hasFormActions = Object.keys(actionSchema?.properties || {}).length > 0; const isFormBlock = schema?.parent?.['x-decorator']?.includes?.('FormBlockProvider'); const actionBarHeight = - hasFormActions || designable ? token.controlHeight + (isFormBlock ? 1 : 2) * token.marginLG : token.marginLG; - const blockTitleHeaderHeight = title ? token.fontSizeLG * token.lineHeightLG + token.padding * 2 - 1 : 0; + hasFormActions || designable + ? token.controlHeight + (isFormBlock ? 1 * token.marginLG : 24 + token.paddingLG) + : token.marginLG; + const blockTitleHeaderHeight = title ? titleHeight : 0; const data = useDataBlockRequestData(); const { count, pageSize } = (data as any)?.meta || ({} as any); const hasPagination = count > pageSize; - const paginationHeight = hasPagination ? token.controlHeightSM + 1 * token.paddingLG : 0; + const paginationHeight = hasPagination ? token.controlHeightSM + 24 : 0; const dataTemplateHeight = display && enabled ? token.controlHeight + 2 * token.padding + token.margin : 0; return height - actionBarHeight - token.paddingLG - blockTitleHeaderHeight - paginationHeight - dataTemplateHeight; }; diff --git a/packages/core/client/src/schema-component/antd/list/hooks.ts b/packages/core/client/src/schema-component/antd/list/hooks.ts index 0995f0a991..7db421f425 100644 --- a/packages/core/client/src/schema-component/antd/list/hooks.ts +++ b/packages/core/client/src/schema-component/antd/list/hooks.ts @@ -31,19 +31,12 @@ export const useListBlockHeight = () => { const { token } = theme.useToken(); const { designable } = useDesignable(); const { heightProps } = useBlockHeightProps() || {}; - const { title } = heightProps || {}; - const { - service: { data }, - } = useListBlockContext() || {}; - const { count, pageSize } = (data as any)?.meta || ({} as any); - const hasPagination = count > pageSize; - + const { title, titleHeight } = heightProps || {}; if (!height) { return; } - const blockTitleHeaderHeight = title ? token.fontSizeLG * token.lineHeightLG + token.padding * 2 - 1 : 0; + const blockTitleHeaderHeight = title ? titleHeight : 0; const hasListActions = Object.keys(schema.parent.properties.actionBar?.properties || {}).length > 0; const actionBarHeight = hasListActions || designable ? token.controlHeight + 2 * token.marginLG : token.marginLG; - const paginationHeight = hasPagination ? token.controlHeight + token.paddingLG + token.marginLG : token.marginLG; - return height - actionBarHeight - paginationHeight - blockTitleHeaderHeight; + return height - actionBarHeight - token.paddingLG - blockTitleHeaderHeight; }; diff --git a/packages/core/client/src/schema-component/hooks/useBlockSize.ts b/packages/core/client/src/schema-component/hooks/useBlockSize.ts index 9976a7489d..e1bb9320ff 100644 --- a/packages/core/client/src/schema-component/hooks/useBlockSize.ts +++ b/packages/core/client/src/schema-component/hooks/useBlockSize.ts @@ -102,6 +102,7 @@ const useTableHeight = () => { const { designable } = useDesignable(); const schema = useFieldSchema(); const heightProps = tableHeightProps || blockHeightProps; + const { titleHeight } = blockHeightProps; const pageFullScreenHeight = useFullScreenHeight(heightProps); const { name } = useCollection(); const { heightMode, height, title } = heightProps; @@ -113,7 +114,7 @@ const useTableHeight = () => { const actionBarHeight = hasTableActions || designable ? token.controlHeight + 2 * token.marginLG : token.marginLG; const tableHeaderHeight = (designable && !InternalWorkflowCollection.includes(name) ? token.controlHeight : 22) + 2 * token.padding + 1; - const blockHeaderHeight = title ? token.fontSizeLG * token.lineHeightLG + token.padding * 2 - 1 : 0; + const blockHeaderHeight = title ? titleHeight : 0; if (heightMode === HeightMode.FULL_HEIGHT) { return ( window.innerHeight - @@ -135,16 +136,16 @@ interface UseDataBlockHeightOptions { export const useDataBlockHeight = (options?: UseDataBlockHeightOptions) => { const { heightProps } = useBlockHeightProps(); const pageFullScreenHeight = useFullScreenHeight(); - const { token } = theme.useToken(); - const { heightMode, height, title } = heightProps || {}; - const blockHeaderHeight = title ? token.fontSizeLG * token.lineHeightLG + token.padding * 2 - 1 : 0; + const { heightMode, height, title, titleHeight } = heightProps || {}; + const blockHeaderHeight = title ? titleHeight : 0; if (!heightProps?.heightMode || heightMode === HeightMode.DEFAULT) { return; } if (heightMode === HeightMode.FULL_HEIGHT) { let res = window.innerHeight - pageFullScreenHeight; + console.log(res); if (options?.removeBlockHeaderHeight) { res = res - blockHeaderHeight; } diff --git a/packages/core/client/src/schema-settings/SchemaSettingsBlockTitleItem.tsx b/packages/core/client/src/schema-settings/SchemaSettingsBlockTitleItem.tsx index 77f7a4227a..05cf5a2c34 100644 --- a/packages/core/client/src/schema-settings/SchemaSettingsBlockTitleItem.tsx +++ b/packages/core/client/src/schema-settings/SchemaSettingsBlockTitleItem.tsx @@ -28,20 +28,32 @@ export function SchemaSettingsBlockTitleItem() { title: t('Edit block title'), properties: { title: { - title: t('Block title'), + title: t('title'), type: 'string', default: fieldSchema?.['x-component-props']?.['title'], 'x-decorator': 'FormItem', 'x-component': 'Input', + 'x-component-props': { + 'aria-label': 'block-title', + }, + }, + description: { + title: t('Description'), + type: 'string', + default: fieldSchema?.['x-component-props']?.['description'], + 'x-decorator': 'FormItem', + 'x-component': 'Markdown', }, }, } as ISchema } - onSubmit={({ title }) => { + onSubmit={({ title, description }) => { const componentProps = fieldSchema['x-component-props'] || {}; componentProps.title = title; + componentProps.description = description; fieldSchema['x-component-props'] = componentProps; field.componentProps.title = title; + field.componentProps.description = description; dn.emit('patch', { schema: { ['x-uid']: fieldSchema['x-uid'], diff --git a/packages/plugins/@nocobase/plugin-block-workbench/src/client/SchemaSettingsBlockTitleItem.tsx b/packages/plugins/@nocobase/plugin-block-workbench/src/client/SchemaSettingsBlockTitleItem.tsx index 344c77f250..72179098a9 100644 --- a/packages/plugins/@nocobase/plugin-block-workbench/src/client/SchemaSettingsBlockTitleItem.tsx +++ b/packages/plugins/@nocobase/plugin-block-workbench/src/client/SchemaSettingsBlockTitleItem.tsx @@ -33,16 +33,23 @@ export function CustomSchemaSettingsBlockTitleItem() { 'x-decorator': 'FormItem', 'x-component': 'Input', }, + description: { + title: t('Description'), + type: 'string', + default: fieldSchema?.['x-component-props']?.['description'], + 'x-decorator': 'FormItem', + 'x-component': 'Markdown', + }, }, } as ISchema } - onSubmit={({ title }) => { - console.log('titleSchemaTest', fieldSchema, field); - + onSubmit={({ title, description }) => { const componentProps = fieldSchema['x-decorator-props'] || {}; componentProps.title = title; + componentProps.description = description; fieldSchema['x-decorator-props'] = componentProps; field.decoratorProps.title = title; + field.decoratorProps.description = description; dn.emit('patch', { schema: { ['x-uid']: fieldSchema['x-uid'], diff --git a/packages/plugins/@nocobase/plugin-block-workbench/src/client/WorkbenchBlock.tsx b/packages/plugins/@nocobase/plugin-block-workbench/src/client/WorkbenchBlock.tsx index 93f5c6b278..c0e268191c 100644 --- a/packages/plugins/@nocobase/plugin-block-workbench/src/client/WorkbenchBlock.tsx +++ b/packages/plugins/@nocobase/plugin-block-workbench/src/client/WorkbenchBlock.tsx @@ -19,6 +19,7 @@ import { useDesignable, useSchemaInitializerRender, withDynamicSchemaProps, + useBlockHeightProps, } from '@nocobase/client'; import { Avatar, List, Space, theme } from 'antd'; import React, { createContext, useEffect, useState } from 'react'; @@ -126,13 +127,19 @@ export const WorkbenchBlock: any = withDynamicSchemaProps( const targetHeight = useBlockHeight(); const { token } = theme.useToken(); const { designable } = useDesignable(); - + const { heightProps } = useBlockHeightProps() || {}; + const { titleHeight } = heightProps || {}; + const internalHeight = 2 * token.paddingLG + token.controlHeight + token.marginLG + titleHeight; return (
{ const height = useDataBlockHeight(); const { heightProps } = useBlockHeightProps(); - const { title } = heightProps; + const { title, titleHeight } = heightProps; const { token } = theme.useToken(); if (!height) { return; } const paddingHeight = 2 * token.paddingLG; - const blockTitleHeaderHeight = title ? token.fontSizeLG * token.lineHeightLG + token.padding * 2 - 1 : 0; + const blockTitleHeaderHeight = title ? titleHeight : 0; return height - paddingHeight - blockTitleHeaderHeight; }; diff --git a/packages/plugins/@nocobase/plugin-map/src/client/components/hook.ts b/packages/plugins/@nocobase/plugin-map/src/client/components/hook.ts index de9b6a33f5..834693df51 100644 --- a/packages/plugins/@nocobase/plugin-map/src/client/components/hook.ts +++ b/packages/plugins/@nocobase/plugin-map/src/client/components/hook.ts @@ -16,7 +16,7 @@ export const useMapHeight = () => { const { token } = theme.useToken(); const { designable } = useDesignable(); const { heightProps } = useBlockHeightProps() || {}; - const { title } = heightProps || {}; + const { title, titleHeight } = heightProps || {}; const schema = useFieldSchema(); if (!height) { return; @@ -25,6 +25,6 @@ export const useMapHeight = () => { const actionBarHeight = designable || hasMapAction ? token.paddingLG + token.controlHeight + token.margin : token.paddingLG + token.margin; const footerHeight = token.paddingLG; - const blockTitleHeaderHeight = title ? token.fontSizeLG * token.lineHeightLG + token.padding * 2 - 1 : 0; + const blockTitleHeaderHeight = title ? titleHeight : 0; return height - actionBarHeight - footerHeight - blockTitleHeaderHeight; }; diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/createRecordForm1.test.ts b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/createRecordForm1.test.ts index 5a9dfabb23..5a5ac6c0a6 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/createRecordForm1.test.ts +++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/createRecordForm1.test.ts @@ -99,7 +99,7 @@ test.describe('field data entry', () => { await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) @@ -235,7 +235,7 @@ test.describe('field data entry', () => { await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) @@ -370,7 +370,7 @@ test.describe('field data entry', () => { await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/createRecordForm2.test.ts b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/createRecordForm2.test.ts index 10f5cef84f..638acfaadc 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/createRecordForm2.test.ts +++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/createRecordForm2.test.ts @@ -99,7 +99,7 @@ test.describe('action button', () => { await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) @@ -234,7 +234,7 @@ test.describe('action button', () => { await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) @@ -375,7 +375,7 @@ test.describe('action button', () => { await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/createRecordForm3.test.ts b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/createRecordForm3.test.ts index 0a419316aa..748ff5170b 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/createRecordForm3.test.ts +++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/createRecordForm3.test.ts @@ -99,7 +99,7 @@ test.describe('field data entry', () => { await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) @@ -242,7 +242,7 @@ test.describe('field data entry', () => { await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) @@ -376,7 +376,7 @@ test.describe('field data entry', () => { await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) @@ -517,7 +517,7 @@ test.describe('field data entry', () => { await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/createRecordForm4.test.ts b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/createRecordForm4.test.ts index 14fa30f71d..f47170494a 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/createRecordForm4.test.ts +++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/createRecordForm4.test.ts @@ -99,7 +99,7 @@ test.describe('field data entry', () => { await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) @@ -234,7 +234,7 @@ test.describe('field data entry', () => { await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) @@ -369,7 +369,7 @@ test.describe('field data entry', () => { await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/createRecordForm5.test.ts b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/createRecordForm5.test.ts index 25a17f631a..4817ca88c0 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/createRecordForm5.test.ts +++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/createRecordForm5.test.ts @@ -99,7 +99,7 @@ test.describe('field data entry', () => { await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) @@ -234,7 +234,7 @@ test.describe('field data entry', () => { await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) @@ -369,7 +369,7 @@ test.describe('field data entry', () => { await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/customFormBlocks.test.ts b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/customFormBlocks.test.ts index 65852c3aaf..9a502854e4 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/customFormBlocks.test.ts +++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/customFormBlocks.test.ts @@ -103,7 +103,7 @@ test.describe('field data entry', () => { await page.getByLabel(`designer-schema-settings-CardItem-SimpleDesigner-${randomValue}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Form' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`) @@ -242,7 +242,7 @@ test.describe('field data entry', () => { await page.getByLabel(`designer-schema-settings-CardItem-SimpleDesigner-${randomValue}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Form' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`) @@ -381,7 +381,7 @@ test.describe('field data entry', () => { await page.getByLabel(`designer-schema-settings-CardItem-SimpleDesigner-${randomValue}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Form' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`) diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/customFormBlocks1.test.ts b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/customFormBlocks1.test.ts index cb90d0a6a5..796ad5feb0 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/customFormBlocks1.test.ts +++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/customFormBlocks1.test.ts @@ -99,7 +99,7 @@ test.describe('field data entry', () => { await page.getByLabel(`designer-schema-settings-CardItem-SimpleDesigner-${randomValue}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Form' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`) @@ -252,7 +252,7 @@ test.describe('field data entry', () => { await page.getByLabel(`designer-schema-settings-CardItem-SimpleDesigner-${randomValue}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Form' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`) @@ -397,7 +397,7 @@ test.describe('field data entry', () => { await page.getByLabel(`designer-schema-settings-CardItem-SimpleDesigner-${randomValue}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Form' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`) @@ -548,7 +548,7 @@ test.describe('field data entry', () => { await page.getByLabel(`designer-schema-settings-CardItem-SimpleDesigner-${randomValue}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Form' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`) diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/customFormBlocks2.test.ts b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/customFormBlocks2.test.ts index 1b96dea61f..47860ebc68 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/customFormBlocks2.test.ts +++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/customFormBlocks2.test.ts @@ -99,7 +99,7 @@ test.describe('field data entry', () => { await page.getByLabel(`designer-schema-settings-CardItem-SimpleDesigner-${randomValue}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Form' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`) @@ -238,7 +238,7 @@ test.describe('field data entry', () => { await page.getByLabel(`designer-schema-settings-CardItem-SimpleDesigner-${randomValue}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Form' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`) @@ -377,7 +377,7 @@ test.describe('field data entry', () => { await page.getByLabel(`designer-schema-settings-CardItem-SimpleDesigner-${randomValue}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Form' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`) diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/customFormBlocks3.test.ts b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/customFormBlocks3.test.ts index 2dfc570151..cfb46e524c 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/customFormBlocks3.test.ts +++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/customFormBlocks3.test.ts @@ -99,7 +99,7 @@ test.describe('field data entry', () => { await page.getByLabel(`designer-schema-settings-CardItem-SimpleDesigner-${randomValue}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Form' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`) @@ -238,7 +238,7 @@ test.describe('field data entry', () => { await page.getByLabel(`designer-schema-settings-CardItem-SimpleDesigner-${randomValue}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Form' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`) @@ -377,7 +377,7 @@ test.describe('field data entry', () => { await page.getByLabel(`designer-schema-settings-CardItem-SimpleDesigner-${randomValue}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Form' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`) diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/datablocks1.test.ts b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/datablocks1.test.ts index db18effd7d..14221baead 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/datablocks1.test.ts +++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/datablocks1.test.ts @@ -116,7 +116,7 @@ test.describe('field data', () => { await page.getByLabel(`designer-schema-settings-CardItem-SimpleDesigner-${randomValue}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Form' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-workflowManual:customForm:configureFields-${randomValue}"]`) @@ -278,7 +278,7 @@ test.describe('field data', () => { .hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${preManualNodeCollectionName}"]`) @@ -483,7 +483,7 @@ test.describe('field data', () => { .hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Update record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${preManualNodeCollectionName}"]`) diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/updateRecordForm.test.ts b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/updateRecordForm.test.ts index 92ace15a96..d821a9291e 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/updateRecordForm.test.ts +++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/updateRecordForm.test.ts @@ -150,7 +150,7 @@ test.describe('field data update', () => { await page.getByLabel(`designer-schema-settings-CardItem-UpdateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) @@ -329,7 +329,7 @@ test.describe('field data update', () => { await page.getByLabel(`designer-schema-settings-CardItem-UpdateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) @@ -508,7 +508,7 @@ test.describe('field data update', () => { await page.getByLabel(`designer-schema-settings-CardItem-UpdateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) @@ -688,7 +688,7 @@ test.describe('field data update', () => { await page.getByLabel(`designer-schema-settings-CardItem-UpdateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/updateRecordForm1.test.ts b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/updateRecordForm1.test.ts index 99ef57e56e..d064eba73a 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/updateRecordForm1.test.ts +++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/updateRecordForm1.test.ts @@ -142,7 +142,7 @@ test.describe('field data update', () => { await page.getByLabel(`designer-schema-settings-CardItem-UpdateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) @@ -321,7 +321,7 @@ test.describe('field data update', () => { await page.getByLabel(`designer-schema-settings-CardItem-UpdateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) @@ -506,7 +506,7 @@ test.describe('field data update', () => { await page.getByLabel(`designer-schema-settings-CardItem-UpdateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/updateRecordForm2.test.ts b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/updateRecordForm2.test.ts index 743e6e4d25..ed3d9c70c7 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/updateRecordForm2.test.ts +++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/updateRecordForm2.test.ts @@ -126,7 +126,7 @@ test.describe('field data update', () => { await page.getByLabel(`designer-schema-settings-CardItem-UpdateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) @@ -289,7 +289,7 @@ test.describe('field data update', () => { await page.getByLabel(`designer-schema-settings-CardItem-UpdateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) @@ -452,7 +452,7 @@ test.describe('field data update', () => { await page.getByLabel(`designer-schema-settings-CardItem-UpdateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/updateRecordForm3.test.ts b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/updateRecordForm3.test.ts index a9d32016bc..307ed16966 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/updateRecordForm3.test.ts +++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/updateRecordForm3.test.ts @@ -126,7 +126,7 @@ test.describe('field data update', () => { await page.getByLabel(`designer-schema-settings-CardItem-UpdateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) @@ -289,7 +289,7 @@ test.describe('field data update', () => { await page.getByLabel(`designer-schema-settings-CardItem-UpdateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) @@ -452,7 +452,7 @@ test.describe('field data update', () => { await page.getByLabel(`designer-schema-settings-CardItem-UpdateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/workflowTodo.test.ts b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/workflowTodo.test.ts index b3591c768b..d65c5ba107 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/workflowTodo.test.ts +++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/__e2e__/workflowTodo.test.ts @@ -91,7 +91,7 @@ test('filter task node', async ({ page, mockPage, mockCollections, mockRecords } await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) @@ -205,7 +205,7 @@ test('filter workflow name', async ({ page, mockPage, mockCollections, mockRecor await page.getByLabel(`designer-schema-settings-CardItem-CreateFormDesigner-${manualNodeCollectionName}`).hover(); await page.getByRole('menuitem', { name: 'Edit block title' }).click(); const blockTitle = 'Create record' + dayjs().format('YYYYMMDDHHmmss.SSS').toString(); - await page.getByLabel('Edit block title').getByRole('textbox').fill(blockTitle); + await page.getByLabel('block-title').fill(blockTitle); await page.getByRole('button', { name: 'OK', exact: true }).click(); await page .locator(`button[aria-label^="schema-initializer-Grid-form:configureFields-${manualNodeCollectionName}"]`) From 4dcffddbcde2d367734c7bf22275ddc8fa00f8d4 Mon Sep 17 00:00:00 2001 From: "nocobase[bot]" <179432756+nocobase[bot]@users.noreply.github.com> Date: Fri, 17 Jan 2025 13:27:34 +0000 Subject: [PATCH 028/125] =?UTF-8?q?chore(versions):=20=F0=9F=98=8A=20publi?= =?UTF-8?q?sh=20v1.5.0-beta.32?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lerna.json | 2 +- packages/core/acl/package.json | 6 +- packages/core/actions/package.json | 8 +- packages/core/app/package.json | 10 +- packages/core/auth/package.json | 12 +- packages/core/build/package.json | 2 +- packages/core/cache/package.json | 2 +- packages/core/cli/package.json | 6 +- packages/core/client/package.json | 8 +- .../core/create-nocobase-app/package.json | 2 +- .../core/data-source-manager/package.json | 12 +- packages/core/database/package.json | 6 +- packages/core/devtools/package.json | 8 +- packages/core/evaluators/package.json | 4 +- packages/core/lock-manager/package.json | 4 +- packages/core/logger/package.json | 2 +- packages/core/resourcer/package.json | 4 +- packages/core/sdk/package.json | 2 +- packages/core/server/package.json | 28 ++-- packages/core/telemetry/package.json | 4 +- packages/core/test/package.json | 4 +- packages/core/utils/package.json | 2 +- .../plugins/@nocobase/plugin-acl/package.json | 2 +- .../plugin-action-bulk-edit/package.json | 2 +- .../plugin-action-bulk-update/package.json | 2 +- .../plugin-action-custom-request/package.json | 2 +- .../plugin-action-duplicate/package.json | 2 +- .../plugin-action-export/package.json | 2 +- .../plugin-action-import/package.json | 2 +- .../plugin-action-print/package.json | 2 +- .../@nocobase/plugin-api-doc/package.json | 2 +- .../@nocobase/plugin-api-keys/package.json | 2 +- .../plugin-async-task-manager/package.json | 2 +- .../@nocobase/plugin-audit-logs/package.json | 2 +- .../@nocobase/plugin-auth-sms/package.json | 2 +- .../@nocobase/plugin-auth/package.json | 2 +- .../plugin-backup-restore/package.json | 2 +- .../plugin-block-iframe/package.json | 2 +- .../plugin-block-workbench/package.json | 2 +- .../@nocobase/plugin-calendar/package.json | 2 +- .../@nocobase/plugin-charts/package.json | 2 +- .../@nocobase/plugin-client/package.json | 2 +- .../plugin-collection-sql/package.json | 2 +- .../plugin-collection-tree/package.json | 2 +- .../plugin-data-source-main/package.json | 2 +- .../plugin-data-source-manager/package.json | 2 +- .../plugin-data-visualization/package.json | 2 +- .../plugin-disable-pm-add/package.json | 2 +- .../plugin-error-handler/package.json | 2 +- .../plugin-field-china-region/package.json | 2 +- .../plugin-field-formula/package.json | 2 +- .../plugin-field-m2m-array/package.json | 2 +- .../plugin-field-markdown-vditor/package.json | 2 +- .../plugin-field-sequence/package.json | 2 +- .../@nocobase/plugin-field-sort/package.json | 2 +- .../plugin-file-manager/package.json | 2 +- .../@nocobase/plugin-gantt/package.json | 2 +- .../package.json | 2 +- .../@nocobase/plugin-kanban/package.json | 2 +- .../plugin-localization/package.json | 2 +- .../@nocobase/plugin-logger/package.json | 2 +- .../plugins/@nocobase/plugin-map/package.json | 2 +- .../plugin-mobile-client/package.json | 2 +- .../@nocobase/plugin-mobile/package.json | 2 +- .../plugin-mock-collections/package.json | 2 +- .../plugin-multi-app-manager/package.json | 2 +- .../package.json | 2 +- .../plugin-notification-email/package.json | 2 +- .../package.json | 2 +- .../plugin-notification-manager/package.json | 2 +- .../plugin-notifications/package.json | 2 +- .../plugin-public-forms/package.json | 2 +- .../plugin-sample-hello/package.json | 2 +- .../plugin-snapshot-field/package.json | 2 +- .../plugin-system-settings/package.json | 2 +- .../plugin-theme-editor/package.json | 2 +- .../plugin-ui-schema-storage/package.json | 2 +- .../plugin-user-data-sync/package.json | 2 +- .../@nocobase/plugin-users/package.json | 2 +- .../plugin-verification/package.json | 2 +- .../package.json | 2 +- .../plugin-workflow-aggregate/package.json | 2 +- .../plugin-workflow-delay/package.json | 2 +- .../package.json | 2 +- .../plugin-workflow-loop/package.json | 2 +- .../plugin-workflow-mailer/package.json | 2 +- .../plugin-workflow-manual/package.json | 2 +- .../plugin-workflow-notification/package.json | 2 +- .../plugin-workflow-parallel/package.json | 2 +- .../plugin-workflow-request/package.json | 2 +- .../plugin-workflow-sql/package.json | 2 +- .../plugin-workflow-test/package.json | 2 +- .../@nocobase/plugin-workflow/package.json | 4 +- packages/presets/nocobase/package.json | 138 +++++++++--------- 94 files changed, 210 insertions(+), 210 deletions(-) diff --git a/lerna.json b/lerna.json index f9671e4366..9842d4ed4e 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "npmClient": "yarn", "useWorkspaces": true, "npmClientArgs": [ diff --git a/packages/core/acl/package.json b/packages/core/acl/package.json index 3cbb4fc3a6..48c3dc1d19 100644 --- a/packages/core/acl/package.json +++ b/packages/core/acl/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/acl", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/resourcer": "1.5.0-beta.31", - "@nocobase/utils": "1.5.0-beta.31", + "@nocobase/resourcer": "1.5.0-beta.32", + "@nocobase/utils": "1.5.0-beta.32", "minimatch": "^5.1.1" }, "repository": { diff --git a/packages/core/actions/package.json b/packages/core/actions/package.json index 76fa6ec651..2b153ea3ac 100644 --- a/packages/core/actions/package.json +++ b/packages/core/actions/package.json @@ -1,14 +1,14 @@ { "name": "@nocobase/actions", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/cache": "1.5.0-beta.31", - "@nocobase/database": "1.5.0-beta.31", - "@nocobase/resourcer": "1.5.0-beta.31" + "@nocobase/cache": "1.5.0-beta.32", + "@nocobase/database": "1.5.0-beta.32", + "@nocobase/resourcer": "1.5.0-beta.32" }, "repository": { "type": "git", diff --git a/packages/core/app/package.json b/packages/core/app/package.json index c74ddebc55..83b82e489d 100644 --- a/packages/core/app/package.json +++ b/packages/core/app/package.json @@ -1,17 +1,17 @@ { "name": "@nocobase/app", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/database": "1.5.0-beta.31", - "@nocobase/preset-nocobase": "1.5.0-beta.31", - "@nocobase/server": "1.5.0-beta.31" + "@nocobase/database": "1.5.0-beta.32", + "@nocobase/preset-nocobase": "1.5.0-beta.32", + "@nocobase/server": "1.5.0-beta.32" }, "devDependencies": { - "@nocobase/client": "1.5.0-beta.31" + "@nocobase/client": "1.5.0-beta.32" }, "repository": { "type": "git", diff --git a/packages/core/auth/package.json b/packages/core/auth/package.json index 8a675778ed..c2a2fabebe 100644 --- a/packages/core/auth/package.json +++ b/packages/core/auth/package.json @@ -1,16 +1,16 @@ { "name": "@nocobase/auth", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/actions": "1.5.0-beta.31", - "@nocobase/cache": "1.5.0-beta.31", - "@nocobase/database": "1.5.0-beta.31", - "@nocobase/resourcer": "1.5.0-beta.31", - "@nocobase/utils": "1.5.0-beta.31", + "@nocobase/actions": "1.5.0-beta.32", + "@nocobase/cache": "1.5.0-beta.32", + "@nocobase/database": "1.5.0-beta.32", + "@nocobase/resourcer": "1.5.0-beta.32", + "@nocobase/utils": "1.5.0-beta.32", "@types/jsonwebtoken": "^8.5.8", "jsonwebtoken": "^8.5.1" }, diff --git a/packages/core/build/package.json b/packages/core/build/package.json index ff4aac611c..6668e0f4a7 100644 --- a/packages/core/build/package.json +++ b/packages/core/build/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/build", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "description": "Library build tool based on rollup.", "main": "lib/index.js", "types": "./lib/index.d.ts", diff --git a/packages/core/cache/package.json b/packages/core/cache/package.json index 09dc914620..4758b2c863 100644 --- a/packages/core/cache/package.json +++ b/packages/core/cache/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/cache", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", diff --git a/packages/core/cli/package.json b/packages/core/cli/package.json index da00b1aaa7..00df62d48b 100644 --- a/packages/core/cli/package.json +++ b/packages/core/cli/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/cli", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "description": "", "license": "AGPL-3.0", "main": "./src/index.js", @@ -8,7 +8,7 @@ "nocobase": "./bin/index.js" }, "dependencies": { - "@nocobase/app": "1.5.0-beta.31", + "@nocobase/app": "1.5.0-beta.32", "@types/fs-extra": "^11.0.1", "@umijs/utils": "3.5.20", "chalk": "^4.1.1", @@ -25,7 +25,7 @@ "tsx": "^4.19.0" }, "devDependencies": { - "@nocobase/devtools": "1.5.0-beta.31" + "@nocobase/devtools": "1.5.0-beta.32" }, "repository": { "type": "git", diff --git a/packages/core/client/package.json b/packages/core/client/package.json index a4cea5f74f..316cedbde5 100644 --- a/packages/core/client/package.json +++ b/packages/core/client/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/client", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "lib/index.js", "module": "es/index.mjs", @@ -27,9 +27,9 @@ "@formily/reactive-react": "^2.2.27", "@formily/shared": "^2.2.27", "@formily/validator": "^2.2.27", - "@nocobase/evaluators": "1.5.0-beta.31", - "@nocobase/sdk": "1.5.0-beta.31", - "@nocobase/utils": "1.5.0-beta.31", + "@nocobase/evaluators": "1.5.0-beta.32", + "@nocobase/sdk": "1.5.0-beta.32", + "@nocobase/utils": "1.5.0-beta.32", "ahooks": "^3.7.2", "antd": "5.12.8", "antd-style": "3.7.1", diff --git a/packages/core/create-nocobase-app/package.json b/packages/core/create-nocobase-app/package.json index 4e765639c6..f5f8994c5d 100755 --- a/packages/core/create-nocobase-app/package.json +++ b/packages/core/create-nocobase-app/package.json @@ -1,6 +1,6 @@ { "name": "create-nocobase-app", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "main": "src/index.js", "license": "AGPL-3.0", "dependencies": { diff --git a/packages/core/data-source-manager/package.json b/packages/core/data-source-manager/package.json index 662abf4ad8..a1c13c5727 100644 --- a/packages/core/data-source-manager/package.json +++ b/packages/core/data-source-manager/package.json @@ -1,16 +1,16 @@ { "name": "@nocobase/data-source-manager", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/actions": "1.5.0-beta.31", - "@nocobase/cache": "1.5.0-beta.31", - "@nocobase/database": "1.5.0-beta.31", - "@nocobase/resourcer": "1.5.0-beta.31", - "@nocobase/utils": "1.5.0-beta.31", + "@nocobase/actions": "1.5.0-beta.32", + "@nocobase/cache": "1.5.0-beta.32", + "@nocobase/database": "1.5.0-beta.32", + "@nocobase/resourcer": "1.5.0-beta.32", + "@nocobase/utils": "1.5.0-beta.32", "@types/jsonwebtoken": "^8.5.8", "jsonwebtoken": "^8.5.1" }, diff --git a/packages/core/database/package.json b/packages/core/database/package.json index 898538ac10..67b0a26b89 100644 --- a/packages/core/database/package.json +++ b/packages/core/database/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/database", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", "dependencies": { - "@nocobase/logger": "1.5.0-beta.31", - "@nocobase/utils": "1.5.0-beta.31", + "@nocobase/logger": "1.5.0-beta.32", + "@nocobase/utils": "1.5.0-beta.32", "async-mutex": "^0.3.2", "chalk": "^4.1.1", "cron-parser": "4.4.0", diff --git a/packages/core/devtools/package.json b/packages/core/devtools/package.json index 2191a7ef59..356c495af6 100644 --- a/packages/core/devtools/package.json +++ b/packages/core/devtools/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/devtools", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "description": "", "license": "AGPL-3.0", "main": "./src/index.js", "dependencies": { - "@nocobase/build": "1.5.0-beta.31", - "@nocobase/client": "1.5.0-beta.31", - "@nocobase/test": "1.5.0-beta.31", + "@nocobase/build": "1.5.0-beta.32", + "@nocobase/client": "1.5.0-beta.32", + "@nocobase/test": "1.5.0-beta.32", "@types/koa": "^2.13.4", "@types/koa-bodyparser": "^4.3.4", "@types/lodash": "^4.14.177", diff --git a/packages/core/evaluators/package.json b/packages/core/evaluators/package.json index 40a841b91b..5618d72bce 100644 --- a/packages/core/evaluators/package.json +++ b/packages/core/evaluators/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/evaluators", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", "dependencies": { "@formulajs/formulajs": "4.4.9", - "@nocobase/utils": "1.5.0-beta.31", + "@nocobase/utils": "1.5.0-beta.32", "mathjs": "^10.6.0" }, "repository": { diff --git a/packages/core/lock-manager/package.json b/packages/core/lock-manager/package.json index 1feab58a3c..d4d95d5235 100644 --- a/packages/core/lock-manager/package.json +++ b/packages/core/lock-manager/package.json @@ -1,10 +1,10 @@ { "name": "@nocobase/lock-manager", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "main": "lib/index.js", "license": "AGPL-3.0", "devDependencies": { - "@nocobase/utils": "1.5.0-beta.31", + "@nocobase/utils": "1.5.0-beta.32", "async-mutex": "^0.5.0" } } diff --git a/packages/core/logger/package.json b/packages/core/logger/package.json index 958bb0aa0c..87e8406eee 100644 --- a/packages/core/logger/package.json +++ b/packages/core/logger/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/logger", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "description": "nocobase logging library", "license": "AGPL-3.0", "main": "./lib/index.js", diff --git a/packages/core/resourcer/package.json b/packages/core/resourcer/package.json index fd8615b209..4bcbce2228 100644 --- a/packages/core/resourcer/package.json +++ b/packages/core/resourcer/package.json @@ -1,12 +1,12 @@ { "name": "@nocobase/resourcer", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", "dependencies": { - "@nocobase/utils": "1.5.0-beta.31", + "@nocobase/utils": "1.5.0-beta.32", "deepmerge": "^4.2.2", "koa-compose": "^4.1.0", "lodash": "^4.17.21", diff --git a/packages/core/sdk/package.json b/packages/core/sdk/package.json index a7c7026bb5..bb001b0c80 100644 --- a/packages/core/sdk/package.json +++ b/packages/core/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/sdk", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/packages/core/server/package.json b/packages/core/server/package.json index cbcac6d9d8..ae62622981 100644 --- a/packages/core/server/package.json +++ b/packages/core/server/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/server", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "main": "lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", @@ -10,19 +10,19 @@ "@koa/cors": "^3.1.0", "@koa/multer": "^3.0.2", "@koa/router": "^9.4.0", - "@nocobase/acl": "1.5.0-beta.31", - "@nocobase/actions": "1.5.0-beta.31", - "@nocobase/auth": "1.5.0-beta.31", - "@nocobase/cache": "1.5.0-beta.31", - "@nocobase/data-source-manager": "1.5.0-beta.31", - "@nocobase/database": "1.5.0-beta.31", - "@nocobase/evaluators": "1.5.0-beta.31", - "@nocobase/lock-manager": "1.5.0-beta.31", - "@nocobase/logger": "1.5.0-beta.31", - "@nocobase/resourcer": "1.5.0-beta.31", - "@nocobase/sdk": "1.5.0-beta.31", - "@nocobase/telemetry": "1.5.0-beta.31", - "@nocobase/utils": "1.5.0-beta.31", + "@nocobase/acl": "1.5.0-beta.32", + "@nocobase/actions": "1.5.0-beta.32", + "@nocobase/auth": "1.5.0-beta.32", + "@nocobase/cache": "1.5.0-beta.32", + "@nocobase/data-source-manager": "1.5.0-beta.32", + "@nocobase/database": "1.5.0-beta.32", + "@nocobase/evaluators": "1.5.0-beta.32", + "@nocobase/lock-manager": "1.5.0-beta.32", + "@nocobase/logger": "1.5.0-beta.32", + "@nocobase/resourcer": "1.5.0-beta.32", + "@nocobase/sdk": "1.5.0-beta.32", + "@nocobase/telemetry": "1.5.0-beta.32", + "@nocobase/utils": "1.5.0-beta.32", "@types/decompress": "4.2.7", "@types/ini": "^1.3.31", "@types/koa-send": "^4.1.3", diff --git a/packages/core/telemetry/package.json b/packages/core/telemetry/package.json index 196da858a5..37b1d890b4 100644 --- a/packages/core/telemetry/package.json +++ b/packages/core/telemetry/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/telemetry", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "description": "nocobase telemetry library", "license": "AGPL-3.0", "main": "./lib/index.js", @@ -11,7 +11,7 @@ "directory": "packages/telemetry" }, "dependencies": { - "@nocobase/utils": "1.5.0-beta.31", + "@nocobase/utils": "1.5.0-beta.32", "@opentelemetry/api": "^1.7.0", "@opentelemetry/instrumentation": "^0.46.0", "@opentelemetry/resources": "^1.19.0", diff --git a/packages/core/test/package.json b/packages/core/test/package.json index 44130aa7b5..7447ad26db 100644 --- a/packages/core/test/package.json +++ b/packages/core/test/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/test", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "main": "lib/index.js", "module": "./src/index.ts", "types": "./lib/index.d.ts", @@ -51,7 +51,7 @@ }, "dependencies": { "@faker-js/faker": "8.1.0", - "@nocobase/server": "1.5.0-beta.31", + "@nocobase/server": "1.5.0-beta.32", "@playwright/test": "^1.45.3", "@testing-library/jest-dom": "^6.4.2", "@testing-library/react": "^14.0.0", diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index 8bceae488d..6139708f22 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/utils", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "main": "lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", diff --git a/packages/plugins/@nocobase/plugin-acl/package.json b/packages/plugins/@nocobase/plugin-acl/package.json index dcc0fa0a27..a857f553f9 100644 --- a/packages/plugins/@nocobase/plugin-acl/package.json +++ b/packages/plugins/@nocobase/plugin-acl/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "权限控制", "description": "Based on roles, resources, and actions, access control can precisely manage interface configuration permissions, data operation permissions, menu access permissions, and plugin permissions.", "description.zh-CN": "基于角色、资源和操作的权限控制,可以精确控制界面配置权限、数据操作权限、菜单访问权限、插件权限。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/acl", diff --git a/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json b/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json index 57e4dccfd1..f039d68ebc 100644 --- a/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json +++ b/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-bulk-edit", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-bulk-edit", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-bulk-edit", diff --git a/packages/plugins/@nocobase/plugin-action-bulk-update/package.json b/packages/plugins/@nocobase/plugin-action-bulk-update/package.json index e75b29a471..23d55938ef 100644 --- a/packages/plugins/@nocobase/plugin-action-bulk-update/package.json +++ b/packages/plugins/@nocobase/plugin-action-bulk-update/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-bulk-update", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-bulk-update", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-bulk-update", diff --git a/packages/plugins/@nocobase/plugin-action-custom-request/package.json b/packages/plugins/@nocobase/plugin-action-custom-request/package.json index 73a793193d..521ae39de0 100644 --- a/packages/plugins/@nocobase/plugin-action-custom-request/package.json +++ b/packages/plugins/@nocobase/plugin-action-custom-request/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-custom-request", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-custom-request", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-custom-request", diff --git a/packages/plugins/@nocobase/plugin-action-duplicate/package.json b/packages/plugins/@nocobase/plugin-action-duplicate/package.json index 47b61e85cf..db4a324707 100644 --- a/packages/plugins/@nocobase/plugin-action-duplicate/package.json +++ b/packages/plugins/@nocobase/plugin-action-duplicate/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-duplicate", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-duplicate", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-duplicate", diff --git a/packages/plugins/@nocobase/plugin-action-export/package.json b/packages/plugins/@nocobase/plugin-action-export/package.json index 7cfdbda410..b0278af3af 100644 --- a/packages/plugins/@nocobase/plugin-action-export/package.json +++ b/packages/plugins/@nocobase/plugin-action-export/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "操作:导出记录", "description": "Export filtered records to excel, you can configure which fields to export.", "description.zh-CN": "导出筛选后的记录到 Excel 中,可以配置导出哪些字段。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-export", diff --git a/packages/plugins/@nocobase/plugin-action-import/package.json b/packages/plugins/@nocobase/plugin-action-import/package.json index a84b63d8f1..1716cffd5b 100644 --- a/packages/plugins/@nocobase/plugin-action-import/package.json +++ b/packages/plugins/@nocobase/plugin-action-import/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "操作:导入记录", "description": "Import records using excel templates. You can configure which fields to import and templates will be generated automatically.", "description.zh-CN": "使用 Excel 模板导入数据,可以配置导入哪些字段,自动生成模板。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-import", diff --git a/packages/plugins/@nocobase/plugin-action-print/package.json b/packages/plugins/@nocobase/plugin-action-print/package.json index 5140606694..a48f67e6bc 100644 --- a/packages/plugins/@nocobase/plugin-action-print/package.json +++ b/packages/plugins/@nocobase/plugin-action-print/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-print", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-print", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-print", diff --git a/packages/plugins/@nocobase/plugin-api-doc/package.json b/packages/plugins/@nocobase/plugin-api-doc/package.json index de801f0be8..304d8088b6 100644 --- a/packages/plugins/@nocobase/plugin-api-doc/package.json +++ b/packages/plugins/@nocobase/plugin-api-doc/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-api-doc", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "displayName": "API documentation", "displayName.zh-CN": "API 文档", "description": "An OpenAPI documentation generator for NocoBase HTTP API.", diff --git a/packages/plugins/@nocobase/plugin-api-keys/package.json b/packages/plugins/@nocobase/plugin-api-keys/package.json index 17794e0e50..4711cdd365 100644 --- a/packages/plugins/@nocobase/plugin-api-keys/package.json +++ b/packages/plugins/@nocobase/plugin-api-keys/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "认证:API 密钥", "description": "Allows users to use API key to access application's HTTP API", "description.zh-CN": "允许用户使用 API 密钥访问应用的 HTTP API", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/api-keys", diff --git a/packages/plugins/@nocobase/plugin-async-task-manager/package.json b/packages/plugins/@nocobase/plugin-async-task-manager/package.json index eb4f077d18..eb6766d5d1 100644 --- a/packages/plugins/@nocobase/plugin-async-task-manager/package.json +++ b/packages/plugins/@nocobase/plugin-async-task-manager/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "异步任务管理器", "description": "Manage and monitor asynchronous tasks such as data import/export. Support task progress tracking and notification.", "description.zh-CN": "管理和监控数据导入导出等异步任务。支持任务进度跟踪和通知。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "main": "dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-audit-logs/package.json b/packages/plugins/@nocobase/plugin-audit-logs/package.json index 5848f7f980..ab42fd1b5b 100644 --- a/packages/plugins/@nocobase/plugin-audit-logs/package.json +++ b/packages/plugins/@nocobase/plugin-audit-logs/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-audit-logs", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "displayName": "Audit logs (deprecated)", "displayName.zh-CN": "审计日志(废弃)", "description": "This plugin is deprecated. There will be a new audit log plugin in the future.", diff --git a/packages/plugins/@nocobase/plugin-auth-sms/package.json b/packages/plugins/@nocobase/plugin-auth-sms/package.json index 04aac29b78..41f17f72be 100644 --- a/packages/plugins/@nocobase/plugin-auth-sms/package.json +++ b/packages/plugins/@nocobase/plugin-auth-sms/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "认证:短信", "description": "SMS authentication.", "description.zh-CN": "通过短信验证码认证身份。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/auth-sms", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/auth-sms", diff --git a/packages/plugins/@nocobase/plugin-auth/package.json b/packages/plugins/@nocobase/plugin-auth/package.json index fc5d367bd6..05032816c5 100644 --- a/packages/plugins/@nocobase/plugin-auth/package.json +++ b/packages/plugins/@nocobase/plugin-auth/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-auth", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/auth", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/auth", diff --git a/packages/plugins/@nocobase/plugin-backup-restore/package.json b/packages/plugins/@nocobase/plugin-backup-restore/package.json index 5d07ad94b2..9d71da9b0b 100644 --- a/packages/plugins/@nocobase/plugin-backup-restore/package.json +++ b/packages/plugins/@nocobase/plugin-backup-restore/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "应用的备份与还原(废弃)", "description": "Backup and restore applications for scenarios such as application replication, migration, and upgrades.", "description.zh-CN": "备份和还原应用,可用于应用的复制、迁移、升级等场景。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/backup-restore", diff --git a/packages/plugins/@nocobase/plugin-block-iframe/package.json b/packages/plugins/@nocobase/plugin-block-iframe/package.json index 2431eda395..c28c03be3c 100644 --- a/packages/plugins/@nocobase/plugin-block-iframe/package.json +++ b/packages/plugins/@nocobase/plugin-block-iframe/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "区块:iframe", "description": "Create an iframe block on the page to embed and display external web pages or content.", "description.zh-CN": "在页面上创建和管理iframe,用于嵌入和展示外部网页或内容。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/block-iframe", diff --git a/packages/plugins/@nocobase/plugin-block-workbench/package.json b/packages/plugins/@nocobase/plugin-block-workbench/package.json index ad6d1fd068..6684097f0e 100644 --- a/packages/plugins/@nocobase/plugin-block-workbench/package.json +++ b/packages/plugins/@nocobase/plugin-block-workbench/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-block-workbench", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "displayName": "Block: Action panel", "displayName.zh-CN": "区块:操作面板", "description": "Centrally manages and displays various actions, allowing users to efficiently perform tasks. It supports extensibility, with current action types including pop-ups, links, scanning, and custom requests.", diff --git a/packages/plugins/@nocobase/plugin-calendar/package.json b/packages/plugins/@nocobase/plugin-calendar/package.json index 70a5c5d8dd..e84d547a2d 100644 --- a/packages/plugins/@nocobase/plugin-calendar/package.json +++ b/packages/plugins/@nocobase/plugin-calendar/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-calendar", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "displayName": "Calendar", "displayName.zh-CN": "日历", "description": "Provides callendar collection template and block for managing date data, typically for date/time related information such as events, appointments, tasks, and so on.", diff --git a/packages/plugins/@nocobase/plugin-charts/package.json b/packages/plugins/@nocobase/plugin-charts/package.json index 923ea70b6f..c31adf9fb1 100644 --- a/packages/plugins/@nocobase/plugin-charts/package.json +++ b/packages/plugins/@nocobase/plugin-charts/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "图表(废弃)", "description": "The plugin has been deprecated, please use the data visualization plugin instead.", "description.zh-CN": "已废弃插件,请使用数据可视化插件代替。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "main": "./dist/server/index.js", "license": "AGPL-3.0", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-client/package.json b/packages/plugins/@nocobase/plugin-client/package.json index 15d566f0f1..96e56187e6 100644 --- a/packages/plugins/@nocobase/plugin-client/package.json +++ b/packages/plugins/@nocobase/plugin-client/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "WEB 客户端", "description": "Provides a client interface for the NocoBase server", "description.zh-CN": "为 NocoBase 服务端提供客户端界面", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "main": "./dist/server/index.js", "license": "AGPL-3.0", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-collection-sql/package.json b/packages/plugins/@nocobase/plugin-collection-sql/package.json index 448c21cd4d..121d33c31d 100644 --- a/packages/plugins/@nocobase/plugin-collection-sql/package.json +++ b/packages/plugins/@nocobase/plugin-collection-sql/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表: SQL", "description": "Provides SQL collection template", "description.zh-CN": "提供 SQL 数据表模板", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "homepage": "https://docs-cn.nocobase.com/handbook/collection-sql", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/collection-sql", "main": "dist/server/index.js", diff --git a/packages/plugins/@nocobase/plugin-collection-tree/package.json b/packages/plugins/@nocobase/plugin-collection-tree/package.json index 16e496c760..cb4bc4aaa0 100644 --- a/packages/plugins/@nocobase/plugin-collection-tree/package.json +++ b/packages/plugins/@nocobase/plugin-collection-tree/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-collection-tree", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "displayName": "Collection: Tree", "displayName.zh-CN": "数据表:树", "description": "Provides tree collection template", diff --git a/packages/plugins/@nocobase/plugin-data-source-main/package.json b/packages/plugins/@nocobase/plugin-data-source-main/package.json index 9220bf89d8..3bc4fbc818 100644 --- a/packages/plugins/@nocobase/plugin-data-source-main/package.json +++ b/packages/plugins/@nocobase/plugin-data-source-main/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据源:主数据库", "description": "NocoBase main database, supports relational databases such as PostgreSQL, MySQL, MariaDB and so on.", "description.zh-CN": "NocoBase 主数据库,支持 PostgreSQL、MySQL、MariaDB 等关系型数据库。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/data-source-main", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/data-source-main", diff --git a/packages/plugins/@nocobase/plugin-data-source-manager/package.json b/packages/plugins/@nocobase/plugin-data-source-manager/package.json index f2bf174f38..34122c31ae 100644 --- a/packages/plugins/@nocobase/plugin-data-source-manager/package.json +++ b/packages/plugins/@nocobase/plugin-data-source-manager/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-data-source-manager", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "main": "dist/server/index.js", "displayName": "Data source manager", "displayName.zh-CN": "数据源管理", diff --git a/packages/plugins/@nocobase/plugin-data-visualization/package.json b/packages/plugins/@nocobase/plugin-data-visualization/package.json index f9cc68c35d..e10cd911a3 100644 --- a/packages/plugins/@nocobase/plugin-data-visualization/package.json +++ b/packages/plugins/@nocobase/plugin-data-visualization/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-data-visualization", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "displayName": "Data visualization", "displayName.zh-CN": "数据可视化", "description": "Provides data visualization feature, including chart block and chart filter block, support line charts, area charts, bar charts and more than a dozen kinds of charts, you can also extend more chart types.", diff --git a/packages/plugins/@nocobase/plugin-disable-pm-add/package.json b/packages/plugins/@nocobase/plugin-disable-pm-add/package.json index aea36f5b4e..db0c845da8 100644 --- a/packages/plugins/@nocobase/plugin-disable-pm-add/package.json +++ b/packages/plugins/@nocobase/plugin-disable-pm-add/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-disable-pm-add", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "main": "./dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-error-handler/package.json b/packages/plugins/@nocobase/plugin-error-handler/package.json index 7e9ce2fcc5..85e0625199 100644 --- a/packages/plugins/@nocobase/plugin-error-handler/package.json +++ b/packages/plugins/@nocobase/plugin-error-handler/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "错误处理器", "description": "Handling application errors and exceptions.", "description.zh-CN": "处理应用程序中的错误和异常。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "./dist/server/index.js", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-field-china-region/package.json b/packages/plugins/@nocobase/plugin-field-china-region/package.json index 5503765e44..5600c09913 100644 --- a/packages/plugins/@nocobase/plugin-field-china-region/package.json +++ b/packages/plugins/@nocobase/plugin-field-china-region/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-field-china-region", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "displayName": "Collection field: administrative divisions of China", "displayName.zh-CN": "数据表字段:中国行政区划", "description": "Provides data and field type for administrative divisions of China.", diff --git a/packages/plugins/@nocobase/plugin-field-formula/package.json b/packages/plugins/@nocobase/plugin-field-formula/package.json index 237b96125c..c8cd282e34 100644 --- a/packages/plugins/@nocobase/plugin-field-formula/package.json +++ b/packages/plugins/@nocobase/plugin-field-formula/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:公式", "description": "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.", "description.zh-CN": "可以配置并存储同一条记录的多字段值之间的计算结果,支持 Math.js 和 Excel formula functions 两种引擎", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-formula", diff --git a/packages/plugins/@nocobase/plugin-field-m2m-array/package.json b/packages/plugins/@nocobase/plugin-field-m2m-array/package.json index 1ad8628762..70fdd91400 100644 --- a/packages/plugins/@nocobase/plugin-field-m2m-array/package.json +++ b/packages/plugins/@nocobase/plugin-field-m2m-array/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:多对多 (数组)", "description": "Allows to create many to many relationships between two models by storing an array of unique keys of the target model.", "description.zh-CN": "支持通过在数组中存储目标表唯一键的方式建立多对多关系。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "main": "dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json b/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json index 86a6127b9f..e431190ff3 100644 --- a/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json +++ b/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:Markdown(Vditor)", "description": "Used to store Markdown and render it using Vditor editor, supports common Markdown syntax such as list, code, quote, etc., and supports uploading images, recordings, etc.It also allows for instant rendering, where what you see is what you get.", "description.zh-CN": "用于存储 Markdown,并使用 Vditor 编辑器渲染,支持常见 Markdown 语法,如列表,代码,引用等,并支持上传图片,录音等。同时可以做到即时渲染,所见即所得。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-markdown-vditor", diff --git a/packages/plugins/@nocobase/plugin-field-sequence/package.json b/packages/plugins/@nocobase/plugin-field-sequence/package.json index 2da323632b..29da246f3d 100644 --- a/packages/plugins/@nocobase/plugin-field-sequence/package.json +++ b/packages/plugins/@nocobase/plugin-field-sequence/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:自动编码", "description": "Automatically generate codes based on configured rules, supporting combinations of dates, numbers, and text.", "description.zh-CN": "根据配置的规则自动生成编码,支持日期、数字、文本的组合。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-sequence", diff --git a/packages/plugins/@nocobase/plugin-field-sort/package.json b/packages/plugins/@nocobase/plugin-field-sort/package.json index dde4f80415..ff8cce4877 100644 --- a/packages/plugins/@nocobase/plugin-field-sort/package.json +++ b/packages/plugins/@nocobase/plugin-field-sort/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-field-sort", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "displayName": "Collection field: Sort", "displayName.zh-CN": "数据表字段:排序", diff --git a/packages/plugins/@nocobase/plugin-file-manager/package.json b/packages/plugins/@nocobase/plugin-file-manager/package.json index d5eacd7a62..1e1c5580b3 100644 --- a/packages/plugins/@nocobase/plugin-file-manager/package.json +++ b/packages/plugins/@nocobase/plugin-file-manager/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-file-manager", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "displayName": "File manager", "displayName.zh-CN": "文件管理器", "description": "Provides files storage services with files collection template and attachment field.", diff --git a/packages/plugins/@nocobase/plugin-gantt/package.json b/packages/plugins/@nocobase/plugin-gantt/package.json index a4101214e0..18e48e84ba 100644 --- a/packages/plugins/@nocobase/plugin-gantt/package.json +++ b/packages/plugins/@nocobase/plugin-gantt/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-gantt", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "displayName": "Block: Gantt", "displayName.zh-CN": "区块:甘特图", "description": "Provides Gantt block.", diff --git a/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json b/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json index f8910648bb..7830c2680f 100644 --- a/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json +++ b/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "可视化数据表管理", "description": "An ER diagram-like tool. Currently only the Master database is supported.", "description.zh-CN": "类似 ER 图的工具,目前只支持主数据库。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/graph-collection-manager", diff --git a/packages/plugins/@nocobase/plugin-kanban/package.json b/packages/plugins/@nocobase/plugin-kanban/package.json index 2a799e6e15..b18fc0ac60 100644 --- a/packages/plugins/@nocobase/plugin-kanban/package.json +++ b/packages/plugins/@nocobase/plugin-kanban/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-kanban", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/block-kanban", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/block-kanban", diff --git a/packages/plugins/@nocobase/plugin-localization/package.json b/packages/plugins/@nocobase/plugin-localization/package.json index b3e0a9740f..bb08781bfa 100644 --- a/packages/plugins/@nocobase/plugin-localization/package.json +++ b/packages/plugins/@nocobase/plugin-localization/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-localization", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/localization-management", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/localization-management", diff --git a/packages/plugins/@nocobase/plugin-logger/package.json b/packages/plugins/@nocobase/plugin-logger/package.json index 8221a6713a..6ba4e9d16e 100644 --- a/packages/plugins/@nocobase/plugin-logger/package.json +++ b/packages/plugins/@nocobase/plugin-logger/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "日志", "description": "Server-side logs, mainly including API request logs and system runtime logs, and allows to package and download log files.", "description.zh-CN": "服务端日志,主要包括接口请求日志和系统运行日志,并支持打包和下载日志文件。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/logger", diff --git a/packages/plugins/@nocobase/plugin-map/package.json b/packages/plugins/@nocobase/plugin-map/package.json index 2d986a8e22..b008b88f28 100644 --- a/packages/plugins/@nocobase/plugin-map/package.json +++ b/packages/plugins/@nocobase/plugin-map/package.json @@ -2,7 +2,7 @@ "name": "@nocobase/plugin-map", "displayName": "Block: Map", "displayName.zh-CN": "区块:地图", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "description": "Map block, support Gaode map and Google map, you can also extend more map types.", "description.zh-CN": "地图区块,支持高德地图和 Google 地图,你也可以扩展更多地图类型。", "license": "AGPL-3.0", diff --git a/packages/plugins/@nocobase/plugin-mobile-client/package.json b/packages/plugins/@nocobase/plugin-mobile-client/package.json index b40a1fddef..21bd89d813 100644 --- a/packages/plugins/@nocobase/plugin-mobile-client/package.json +++ b/packages/plugins/@nocobase/plugin-mobile-client/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-mobile-client", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/mobile-client", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/mobile-client", diff --git a/packages/plugins/@nocobase/plugin-mobile/package.json b/packages/plugins/@nocobase/plugin-mobile/package.json index 94603f0a8b..6b3a83f242 100644 --- a/packages/plugins/@nocobase/plugin-mobile/package.json +++ b/packages/plugins/@nocobase/plugin-mobile/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-mobile", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/mobile", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/mobile", diff --git a/packages/plugins/@nocobase/plugin-mock-collections/package.json b/packages/plugins/@nocobase/plugin-mock-collections/package.json index 709c0c1c7d..328fd55134 100644 --- a/packages/plugins/@nocobase/plugin-mock-collections/package.json +++ b/packages/plugins/@nocobase/plugin-mock-collections/package.json @@ -2,7 +2,7 @@ "name": "@nocobase/plugin-mock-collections", "displayName": "mock-collections", "description": "mock-collections", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "main": "./dist/server/index.js", "license": "AGPL-3.0", "peerDependencies": { diff --git a/packages/plugins/@nocobase/plugin-multi-app-manager/package.json b/packages/plugins/@nocobase/plugin-multi-app-manager/package.json index 2603b5ec4d..4e06671eab 100644 --- a/packages/plugins/@nocobase/plugin-multi-app-manager/package.json +++ b/packages/plugins/@nocobase/plugin-multi-app-manager/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "多应用管理器", "description": "Dynamically create multiple apps without separate deployments.", "description.zh-CN": "无需单独部署即可动态创建多个应用。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/multi-app-manager", diff --git a/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json b/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json index 468467cf8f..6f030f0e65 100644 --- a/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json +++ b/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "多应用数据表共享", "description": "", "description.zh-CN": "", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "main": "./dist/server/index.js", "devDependencies": { "@formily/react": "2.x", diff --git a/packages/plugins/@nocobase/plugin-notification-email/package.json b/packages/plugins/@nocobase/plugin-notification-email/package.json index 10054f2507..03f53d43c9 100644 --- a/packages/plugins/@nocobase/plugin-notification-email/package.json +++ b/packages/plugins/@nocobase/plugin-notification-email/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-notification-email", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "displayName": "Notification: Email", "displayName.zh-CN": "通知:电子邮件", "description": "Used for sending email notifications with built-in SMTP transport.", diff --git a/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json b/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json index 460996b7c7..74cb8b7073 100644 --- a/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json +++ b/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-notification-in-app-message", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "displayName": "Notification: In-app message", "displayName.zh-CN": "通知:站内信", "description": "It supports users in receiving real-time message notifications within the NocoBase application.", diff --git a/packages/plugins/@nocobase/plugin-notification-manager/package.json b/packages/plugins/@nocobase/plugin-notification-manager/package.json index aa79e19c74..6197bf8073 100644 --- a/packages/plugins/@nocobase/plugin-notification-manager/package.json +++ b/packages/plugins/@nocobase/plugin-notification-manager/package.json @@ -4,7 +4,7 @@ "description": "Provides a unified management service that includes channel configuration, logging, and other features, supporting the configuration of various notification channels, including in-app message and email.", "displayName.zh-CN": "通知管理", "description.zh-CN": "提供统一的管理服务,涵盖渠道配置、日志记录等功能,支持多种通知渠道的配置,包括站内信和电子邮件等。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "main": "dist/server/index.js", "devDependencies": { "@ant-design/icons": "5.x", diff --git a/packages/plugins/@nocobase/plugin-notifications/package.json b/packages/plugins/@nocobase/plugin-notifications/package.json index 5752889a4e..dcfbb94701 100644 --- a/packages/plugins/@nocobase/plugin-notifications/package.json +++ b/packages/plugins/@nocobase/plugin-notifications/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-notifications", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "description": "", "license": "AGPL-3.0", "main": "./dist/server/index.js", diff --git a/packages/plugins/@nocobase/plugin-public-forms/package.json b/packages/plugins/@nocobase/plugin-public-forms/package.json index a0dd9a5c6f..c6ccd2280e 100644 --- a/packages/plugins/@nocobase/plugin-public-forms/package.json +++ b/packages/plugins/@nocobase/plugin-public-forms/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-public-forms", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "main": "dist/server/index.js", "displayName": "Public forms", "displayName.zh-CN": "公开表单", diff --git a/packages/plugins/@nocobase/plugin-sample-hello/package.json b/packages/plugins/@nocobase/plugin-sample-hello/package.json index 5cf78b0b80..1844df7273 100644 --- a/packages/plugins/@nocobase/plugin-sample-hello/package.json +++ b/packages/plugins/@nocobase/plugin-sample-hello/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-sample-hello", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "main": "./dist/server/index.js", "displayName": "Hello", "displayName.zh-CN": "Hello", diff --git a/packages/plugins/@nocobase/plugin-snapshot-field/package.json b/packages/plugins/@nocobase/plugin-snapshot-field/package.json index c869ac19e0..dbb21ebd70 100644 --- a/packages/plugins/@nocobase/plugin-snapshot-field/package.json +++ b/packages/plugins/@nocobase/plugin-snapshot-field/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:关系快照", "description": "When adding a new record, create a snapshot for its relational record and save in the new record. The snapshot will not be updated when the relational record is updated.", "description.zh-CN": "在添加数据时,为它的关系数据创建快照,并保存在当前的数据中。关系数据更新时,快照不会更新。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-snapshot", diff --git a/packages/plugins/@nocobase/plugin-system-settings/package.json b/packages/plugins/@nocobase/plugin-system-settings/package.json index e02c263306..1f18b9d7c2 100644 --- a/packages/plugins/@nocobase/plugin-system-settings/package.json +++ b/packages/plugins/@nocobase/plugin-system-settings/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "系统设置", "description": "Used to adjust the system title, logo, language, etc.", "description.zh-CN": "用于调整系统的标题、LOGO、语言等。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/system-settings", diff --git a/packages/plugins/@nocobase/plugin-theme-editor/package.json b/packages/plugins/@nocobase/plugin-theme-editor/package.json index 159836e75c..5502ab9b2b 100644 --- a/packages/plugins/@nocobase/plugin-theme-editor/package.json +++ b/packages/plugins/@nocobase/plugin-theme-editor/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-theme-editor", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/theme-editor", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/theme-editor", diff --git a/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json b/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json index 64a0ee2d82..a9504a1051 100644 --- a/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json +++ b/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "UI schema 存储服务", "description": "Provides centralized UI schema storage service.", "description.zh-CN": "提供中心化的 UI schema 存储服务。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/ui-schema-storage", diff --git a/packages/plugins/@nocobase/plugin-user-data-sync/package.json b/packages/plugins/@nocobase/plugin-user-data-sync/package.json index 8037d898d8..5851bc50c3 100644 --- a/packages/plugins/@nocobase/plugin-user-data-sync/package.json +++ b/packages/plugins/@nocobase/plugin-user-data-sync/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "用户数据同步", "description": "Reigster and manage extensible user data synchronization sources, with HTTP API provided by default. Support for synchronizing data to resources such as users and departments.", "description.zh-CN": "注册和管理可扩展的用户数据同步来源,默认提供 HTTP API。支持向用户和部门等资源同步数据。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "main": "dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-users/package.json b/packages/plugins/@nocobase/plugin-users/package.json index a0f42f9203..079102db8d 100644 --- a/packages/plugins/@nocobase/plugin-users/package.json +++ b/packages/plugins/@nocobase/plugin-users/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "用户", "description": "Provides basic user model, as well as created by and updated by fields.", "description.zh-CN": "提供了基础的用户模型,以及创建人和最后更新人字段。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/users", diff --git a/packages/plugins/@nocobase/plugin-verification/package.json b/packages/plugins/@nocobase/plugin-verification/package.json index 68fe8a2f88..d176966c60 100644 --- a/packages/plugins/@nocobase/plugin-verification/package.json +++ b/packages/plugins/@nocobase/plugin-verification/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "验证码", "description": "verification setting.", "description.zh-CN": "验证码配置。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/verification", diff --git a/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json b/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json index eccc9ac5d6..0a77ba40f9 100644 --- a/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:操作后事件", "description": "Triggered after the completion of a request initiated through an action button or API, such as after adding, updating, deleting data, or \"submit to workflow\". Suitable for data processing, sending notifications, etc., after actions are completed.", "description.zh-CN": "通过操作按钮或 API 发起请求并在执行完成后触发,比如新增、更新、删除数据或者“提交至工作流”之后。适用于在操作完成后进行数据处理、发送通知等。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/plugins/workflow-action-trigger", diff --git a/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json b/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json index 81ddcf4ae1..51727e4d2b 100644 --- a/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:聚合查询节点", "description": "Used to aggregate data against the database in workflow, such as: statistics, sum, average, etc.", "description.zh-CN": "可用于在工作流中对数据库进行聚合查询,如:统计数量、求和、平均值等。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-aggregate", diff --git a/packages/plugins/@nocobase/plugin-workflow-delay/package.json b/packages/plugins/@nocobase/plugin-workflow-delay/package.json index de7627bf06..e05130ff1f 100644 --- a/packages/plugins/@nocobase/plugin-workflow-delay/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-delay/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:延时节点", "description": "Could be used in workflow parallel branch for waiting other branches.", "description.zh-CN": "可用于工作流并行分支中等待其他分支执行完成。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-delay", diff --git a/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json b/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json index 2dbe79717d..227f5835ec 100644 --- a/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:动态表达式计算节点", "description": "Useful plugin for doing dynamic calculation based on expression collection records in workflow.", "description.zh-CN": "用于在工作流中进行基于数据行的动态表达式计算。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-dynamic-calculation", diff --git a/packages/plugins/@nocobase/plugin-workflow-loop/package.json b/packages/plugins/@nocobase/plugin-workflow-loop/package.json index 9a603e4d8c..56a6ec4f90 100644 --- a/packages/plugins/@nocobase/plugin-workflow-loop/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-loop/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:循环节点", "description": "Used to repeat the sub-process processing of each value in an array, and can also be used for fixed times of sub-process processing.", "description.zh-CN": "用于对一个数组中的每个值进行重复的子流程处理,也可用于固定次数的重复子流程处理。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-loop", diff --git a/packages/plugins/@nocobase/plugin-workflow-mailer/package.json b/packages/plugins/@nocobase/plugin-workflow-mailer/package.json index d13d9bef62..fc5c9a399c 100644 --- a/packages/plugins/@nocobase/plugin-workflow-mailer/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-mailer/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:邮件发送节点", "description": "Send email in workflow.", "description.zh-CN": "可用于在工作流中发送电子邮件。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-smtp-mailer", diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/package.json b/packages/plugins/@nocobase/plugin-workflow-manual/package.json index 92a0b080d1..5898bfbd7c 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-manual/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:人工处理节点", "description": "Could be used for workflows which some of decisions are made by users.", "description.zh-CN": "用于人工控制部分决策的流程。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-manual", diff --git a/packages/plugins/@nocobase/plugin-workflow-notification/package.json b/packages/plugins/@nocobase/plugin-workflow-notification/package.json index b3a7c71dc4..df389927c8 100644 --- a/packages/plugins/@nocobase/plugin-workflow-notification/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-notification/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:通知节点", "description": "Send notification in workflow.", "description.zh-CN": "可用于在工作流中发送各类通知。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-smtp-mailer", diff --git a/packages/plugins/@nocobase/plugin-workflow-parallel/package.json b/packages/plugins/@nocobase/plugin-workflow-parallel/package.json index b571726806..ef9e360863 100644 --- a/packages/plugins/@nocobase/plugin-workflow-parallel/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-parallel/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:并行分支节点", "description": "Could be used for parallel execution of branch processes in the workflow.", "description.zh-CN": "用于在工作流中需要并行执行的分支流程。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-parallel", diff --git a/packages/plugins/@nocobase/plugin-workflow-request/package.json b/packages/plugins/@nocobase/plugin-workflow-request/package.json index edc4e6efd7..f7c06da573 100644 --- a/packages/plugins/@nocobase/plugin-workflow-request/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-request/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:HTTP 请求节点", "description": "Send HTTP requests to any HTTP service for data interaction in workflow.", "description.zh-CN": "可用于在工作流中向任意 HTTP 服务发送请求,进行数据交互。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-request", diff --git a/packages/plugins/@nocobase/plugin-workflow-sql/package.json b/packages/plugins/@nocobase/plugin-workflow-sql/package.json index 610e93d890..f21f6bef70 100644 --- a/packages/plugins/@nocobase/plugin-workflow-sql/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-sql/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:SQL 节点", "description": "Execute SQL statements in workflow.", "description.zh-CN": "可用于在工作流中对数据库执行任意 SQL 语句。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-sql", diff --git a/packages/plugins/@nocobase/plugin-workflow-test/package.json b/packages/plugins/@nocobase/plugin-workflow-test/package.json index 4b12106a7d..be2bad11db 100644 --- a/packages/plugins/@nocobase/plugin-workflow-test/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-test/package.json @@ -2,7 +2,7 @@ "name": "@nocobase/plugin-workflow-test", "displayName": "Workflow: test kit", "displayName.zh-CN": "工作流:测试工具包", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "dist/server/index.js", "types": "./dist/server/index.d.ts", diff --git a/packages/plugins/@nocobase/plugin-workflow/package.json b/packages/plugins/@nocobase/plugin-workflow/package.json index bd786d7d0b..492002956c 100644 --- a/packages/plugins/@nocobase/plugin-workflow/package.json +++ b/packages/plugins/@nocobase/plugin-workflow/package.json @@ -4,13 +4,13 @@ "displayName.zh-CN": "工作流", "description": "A powerful BPM tool that provides foundational support for business automation, with the capability to extend unlimited triggers and nodes.", "description.zh-CN": "一个强大的 BPM 工具,为业务自动化提供基础支持,并且可任意扩展更多的触发器和节点。", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/workflow", "dependencies": { - "@nocobase/plugin-workflow-test": "1.5.0-beta.31" + "@nocobase/plugin-workflow-test": "1.5.0-beta.32" }, "devDependencies": { "@ant-design/icons": "5.x", diff --git a/packages/presets/nocobase/package.json b/packages/presets/nocobase/package.json index 028f0899a1..07f8749498 100644 --- a/packages/presets/nocobase/package.json +++ b/packages/presets/nocobase/package.json @@ -1,78 +1,78 @@ { "name": "@nocobase/preset-nocobase", - "version": "1.5.0-beta.31", + "version": "1.5.0-beta.32", "license": "AGPL-3.0", "main": "./lib/server/index.js", "dependencies": { "@formily/json-schema": "2.x", - "@nocobase/plugin-acl": "1.5.0-beta.31", - "@nocobase/plugin-action-bulk-edit": "1.5.0-beta.31", - "@nocobase/plugin-action-bulk-update": "1.5.0-beta.31", - "@nocobase/plugin-action-custom-request": "1.5.0-beta.31", - "@nocobase/plugin-action-duplicate": "1.5.0-beta.31", - "@nocobase/plugin-action-export": "1.5.0-beta.31", - "@nocobase/plugin-action-import": "1.5.0-beta.31", - "@nocobase/plugin-action-print": "1.5.0-beta.31", - "@nocobase/plugin-api-doc": "1.5.0-beta.31", - "@nocobase/plugin-api-keys": "1.5.0-beta.31", - "@nocobase/plugin-async-task-manager": "1.5.0-beta.31", - "@nocobase/plugin-audit-logs": "1.5.0-beta.31", - "@nocobase/plugin-auth": "1.5.0-beta.31", - "@nocobase/plugin-auth-sms": "1.5.0-beta.31", - "@nocobase/plugin-backup-restore": "1.5.0-beta.31", - "@nocobase/plugin-block-iframe": "1.5.0-beta.31", - "@nocobase/plugin-block-workbench": "1.5.0-beta.31", - "@nocobase/plugin-calendar": "1.5.0-beta.31", - "@nocobase/plugin-charts": "1.5.0-beta.31", - "@nocobase/plugin-client": "1.5.0-beta.31", - "@nocobase/plugin-collection-sql": "1.5.0-beta.31", - "@nocobase/plugin-collection-tree": "1.5.0-beta.31", - "@nocobase/plugin-data-source-main": "1.5.0-beta.31", - "@nocobase/plugin-data-source-manager": "1.5.0-beta.31", - "@nocobase/plugin-data-visualization": "1.5.0-beta.31", - "@nocobase/plugin-error-handler": "1.5.0-beta.31", - "@nocobase/plugin-field-china-region": "1.5.0-beta.31", - "@nocobase/plugin-field-formula": "1.5.0-beta.31", - "@nocobase/plugin-field-m2m-array": "1.5.0-beta.31", - "@nocobase/plugin-field-markdown-vditor": "1.5.0-beta.31", - "@nocobase/plugin-field-sequence": "1.5.0-beta.31", - "@nocobase/plugin-field-sort": "1.5.0-beta.31", - "@nocobase/plugin-file-manager": "1.5.0-beta.31", - "@nocobase/plugin-gantt": "1.5.0-beta.31", - "@nocobase/plugin-graph-collection-manager": "1.5.0-beta.31", - "@nocobase/plugin-kanban": "1.5.0-beta.31", - "@nocobase/plugin-localization": "1.5.0-beta.31", - "@nocobase/plugin-logger": "1.5.0-beta.31", - "@nocobase/plugin-map": "1.5.0-beta.31", - "@nocobase/plugin-mobile": "1.5.0-beta.31", - "@nocobase/plugin-mobile-client": "1.5.0-beta.31", - "@nocobase/plugin-mock-collections": "1.5.0-beta.31", - "@nocobase/plugin-multi-app-manager": "1.5.0-beta.31", - "@nocobase/plugin-multi-app-share-collection": "1.5.0-beta.31", - "@nocobase/plugin-notification-email": "1.5.0-beta.31", - "@nocobase/plugin-notification-in-app-message": "1.5.0-beta.31", - "@nocobase/plugin-notification-manager": "1.5.0-beta.31", - "@nocobase/plugin-public-forms": "1.5.0-beta.31", - "@nocobase/plugin-snapshot-field": "1.5.0-beta.31", - "@nocobase/plugin-system-settings": "1.5.0-beta.31", - "@nocobase/plugin-theme-editor": "1.5.0-beta.31", - "@nocobase/plugin-ui-schema-storage": "1.5.0-beta.31", - "@nocobase/plugin-user-data-sync": "1.5.0-beta.31", - "@nocobase/plugin-users": "1.5.0-beta.31", - "@nocobase/plugin-verification": "1.5.0-beta.31", - "@nocobase/plugin-workflow": "1.5.0-beta.31", - "@nocobase/plugin-workflow-action-trigger": "1.5.0-beta.31", - "@nocobase/plugin-workflow-aggregate": "1.5.0-beta.31", - "@nocobase/plugin-workflow-delay": "1.5.0-beta.31", - "@nocobase/plugin-workflow-dynamic-calculation": "1.5.0-beta.31", - "@nocobase/plugin-workflow-loop": "1.5.0-beta.31", - "@nocobase/plugin-workflow-mailer": "1.5.0-beta.31", - "@nocobase/plugin-workflow-manual": "1.5.0-beta.31", - "@nocobase/plugin-workflow-notification": "1.5.0-beta.31", - "@nocobase/plugin-workflow-parallel": "1.5.0-beta.31", - "@nocobase/plugin-workflow-request": "1.5.0-beta.31", - "@nocobase/plugin-workflow-sql": "1.5.0-beta.31", - "@nocobase/server": "1.5.0-beta.31", + "@nocobase/plugin-acl": "1.5.0-beta.32", + "@nocobase/plugin-action-bulk-edit": "1.5.0-beta.32", + "@nocobase/plugin-action-bulk-update": "1.5.0-beta.32", + "@nocobase/plugin-action-custom-request": "1.5.0-beta.32", + "@nocobase/plugin-action-duplicate": "1.5.0-beta.32", + "@nocobase/plugin-action-export": "1.5.0-beta.32", + "@nocobase/plugin-action-import": "1.5.0-beta.32", + "@nocobase/plugin-action-print": "1.5.0-beta.32", + "@nocobase/plugin-api-doc": "1.5.0-beta.32", + "@nocobase/plugin-api-keys": "1.5.0-beta.32", + "@nocobase/plugin-async-task-manager": "1.5.0-beta.32", + "@nocobase/plugin-audit-logs": "1.5.0-beta.32", + "@nocobase/plugin-auth": "1.5.0-beta.32", + "@nocobase/plugin-auth-sms": "1.5.0-beta.32", + "@nocobase/plugin-backup-restore": "1.5.0-beta.32", + "@nocobase/plugin-block-iframe": "1.5.0-beta.32", + "@nocobase/plugin-block-workbench": "1.5.0-beta.32", + "@nocobase/plugin-calendar": "1.5.0-beta.32", + "@nocobase/plugin-charts": "1.5.0-beta.32", + "@nocobase/plugin-client": "1.5.0-beta.32", + "@nocobase/plugin-collection-sql": "1.5.0-beta.32", + "@nocobase/plugin-collection-tree": "1.5.0-beta.32", + "@nocobase/plugin-data-source-main": "1.5.0-beta.32", + "@nocobase/plugin-data-source-manager": "1.5.0-beta.32", + "@nocobase/plugin-data-visualization": "1.5.0-beta.32", + "@nocobase/plugin-error-handler": "1.5.0-beta.32", + "@nocobase/plugin-field-china-region": "1.5.0-beta.32", + "@nocobase/plugin-field-formula": "1.5.0-beta.32", + "@nocobase/plugin-field-m2m-array": "1.5.0-beta.32", + "@nocobase/plugin-field-markdown-vditor": "1.5.0-beta.32", + "@nocobase/plugin-field-sequence": "1.5.0-beta.32", + "@nocobase/plugin-field-sort": "1.5.0-beta.32", + "@nocobase/plugin-file-manager": "1.5.0-beta.32", + "@nocobase/plugin-gantt": "1.5.0-beta.32", + "@nocobase/plugin-graph-collection-manager": "1.5.0-beta.32", + "@nocobase/plugin-kanban": "1.5.0-beta.32", + "@nocobase/plugin-localization": "1.5.0-beta.32", + "@nocobase/plugin-logger": "1.5.0-beta.32", + "@nocobase/plugin-map": "1.5.0-beta.32", + "@nocobase/plugin-mobile": "1.5.0-beta.32", + "@nocobase/plugin-mobile-client": "1.5.0-beta.32", + "@nocobase/plugin-mock-collections": "1.5.0-beta.32", + "@nocobase/plugin-multi-app-manager": "1.5.0-beta.32", + "@nocobase/plugin-multi-app-share-collection": "1.5.0-beta.32", + "@nocobase/plugin-notification-email": "1.5.0-beta.32", + "@nocobase/plugin-notification-in-app-message": "1.5.0-beta.32", + "@nocobase/plugin-notification-manager": "1.5.0-beta.32", + "@nocobase/plugin-public-forms": "1.5.0-beta.32", + "@nocobase/plugin-snapshot-field": "1.5.0-beta.32", + "@nocobase/plugin-system-settings": "1.5.0-beta.32", + "@nocobase/plugin-theme-editor": "1.5.0-beta.32", + "@nocobase/plugin-ui-schema-storage": "1.5.0-beta.32", + "@nocobase/plugin-user-data-sync": "1.5.0-beta.32", + "@nocobase/plugin-users": "1.5.0-beta.32", + "@nocobase/plugin-verification": "1.5.0-beta.32", + "@nocobase/plugin-workflow": "1.5.0-beta.32", + "@nocobase/plugin-workflow-action-trigger": "1.5.0-beta.32", + "@nocobase/plugin-workflow-aggregate": "1.5.0-beta.32", + "@nocobase/plugin-workflow-delay": "1.5.0-beta.32", + "@nocobase/plugin-workflow-dynamic-calculation": "1.5.0-beta.32", + "@nocobase/plugin-workflow-loop": "1.5.0-beta.32", + "@nocobase/plugin-workflow-mailer": "1.5.0-beta.32", + "@nocobase/plugin-workflow-manual": "1.5.0-beta.32", + "@nocobase/plugin-workflow-notification": "1.5.0-beta.32", + "@nocobase/plugin-workflow-parallel": "1.5.0-beta.32", + "@nocobase/plugin-workflow-request": "1.5.0-beta.32", + "@nocobase/plugin-workflow-sql": "1.5.0-beta.32", + "@nocobase/server": "1.5.0-beta.32", "cronstrue": "^2.11.0", "fs-extra": "^11.1.1" }, From 04b817036fccfddd2b912aa044f4501493a87c35 Mon Sep 17 00:00:00 2001 From: Junyi Date: Fri, 17 Jan 2025 23:46:29 +0800 Subject: [PATCH 029/125] fix(plugin-workflow): fix dispatch not process in preparing phase (#6087) --- .../@nocobase/plugin-workflow/src/server/Plugin.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/packages/plugins/@nocobase/plugin-workflow/src/server/Plugin.ts b/packages/plugins/@nocobase/plugin-workflow/src/server/Plugin.ts index 85be56cf18..426e471712 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/server/Plugin.ts +++ b/packages/plugins/@nocobase/plugin-workflow/src/server/Plugin.ts @@ -397,7 +397,7 @@ export default class PluginWorkflowServer extends Plugin { } // NOTE: no await for quick return - setTimeout(this.prepare); + setImmediate(this.prepare); } private async triggerSync( @@ -443,6 +443,7 @@ export default class PluginWorkflowServer extends Plugin { if (execution.status !== EXECUTION_STATUS.STARTED) { return; } + this.getLogger(execution.workflowId).info(`starting deferred execution (${execution.id})`); this.pending.push([execution]); if (this.executing) { await this.executing; @@ -543,6 +544,10 @@ export default class PluginWorkflowServer extends Plugin { if (this.events.length) { await this.prepare(); } else { + this.getLogger('dispatcher').info('no more events need to be prepared, dispatching...'); + if (this.executing) { + await this.executing; + } this.dispatch(); } }; @@ -608,7 +613,7 @@ export default class PluginWorkflowServer extends Plugin { } this.executing = null; - if (next) { + if (next || this.pending.length) { this.getLogger('dispatcher').info(`last process finished, will do another dispatch`); this.dispatch(); } @@ -620,11 +625,12 @@ export default class PluginWorkflowServer extends Plugin { } private async process(execution: ExecutionModel, job?: JobModel, options: Transactionable = {}): Promise { + const logger = this.getLogger(execution.workflowId); if (execution.status === EXECUTION_STATUS.QUEUEING) { const transaction = await this.useDataSourceTransaction('main', options.transaction); await execution.update({ status: EXECUTION_STATUS.STARTED }, { transaction }); + logger.info(`queueing execution (${execution.id}) from pending list updated to started`); } - const logger = this.getLogger(execution.workflowId); const processor = this.createProcessor(execution, options); logger.info(`execution (${execution.id}) ${job ? 'resuming' : 'starting'}...`); From aee8d9b7ceac47dc36167f88b24dd55e7fc73edf Mon Sep 17 00:00:00 2001 From: citlalinda Date: Sat, 18 Jan 2025 14:16:15 +0800 Subject: [PATCH 030/125] feat: add stack limit to workflow (#6077) * feat: add stack limit to workflow * test: add stack limit test --------- Co-authored-by: Linda --- .../src/client/schemas/workflows.ts | 12 ++ .../plugin-workflow/src/locale/en-US.json | 4 +- .../plugin-workflow/src/locale/zh-CN.json | 2 + .../plugin-workflow/src/server/Plugin.ts | 5 +- .../__tests__/triggers/collection.test.ts | 122 ++++++++++++++++++ 5 files changed, 142 insertions(+), 3 deletions(-) diff --git a/packages/plugins/@nocobase/plugin-workflow/src/client/schemas/workflows.ts b/packages/plugins/@nocobase/plugin-workflow/src/client/schemas/workflows.ts index 4e80f3097c..3f2dfe7c79 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/client/schemas/workflows.ts +++ b/packages/plugins/@nocobase/plugin-workflow/src/client/schemas/workflows.ts @@ -168,6 +168,18 @@ const workflowFieldset = { multiple: true, }, }, + stackLimit: { + type: 'number', + title: `{{ t("Maximum number of loop calls", { ns: "${NAMESPACE}" }) }}`, + description: `{{ t("If the number of loop calls is too large, there will be performance issues.", { ns: "${NAMESPACE}" }) }}`, + 'x-decorator': 'FormItem', + default: 1, + 'x-component': 'InputNumber', + 'x-component-props': { + min: 1, + precision: 0, + }, + }, }, }, }; diff --git a/packages/plugins/@nocobase/plugin-workflow/src/locale/en-US.json b/packages/plugins/@nocobase/plugin-workflow/src/locale/en-US.json index ac0cbc6ae2..6bfd37b2f2 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/locale/en-US.json +++ b/packages/plugins/@nocobase/plugin-workflow/src/locale/en-US.json @@ -94,5 +94,7 @@ "Trigger in executed workflow cannot be modified": "Trigger in executed workflow cannot be modified", "Node in executed workflow cannot be modified": "Node in executed workflow cannot be modified", "Can not delete": "Can not delete", - "The result of this node has been referenced by other nodes ({{nodes}}), please remove the usage before deleting.": "The result of this node has been referenced by other nodes ({{nodes}}), please remove the usage before deleting." + "The result of this node has been referenced by other nodes ({{nodes}}), please remove the usage before deleting.": "The result of this node has been referenced by other nodes ({{nodes}}), please remove the usage before deleting.", + "Maximum number of loop calls": "Maximum number of loop calls", + "If the number of loop calls is too large, there will be performance issues.": "If the number of loop calls is too large, there will be performance issues." } diff --git a/packages/plugins/@nocobase/plugin-workflow/src/locale/zh-CN.json b/packages/plugins/@nocobase/plugin-workflow/src/locale/zh-CN.json index 57a1f7bfee..a3fa55dd35 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/locale/zh-CN.json +++ b/packages/plugins/@nocobase/plugin-workflow/src/locale/zh-CN.json @@ -31,6 +31,8 @@ "Data operation nodes in workflow will run in a same transaction until any interruption. Any failure will cause data rollback, and will also rollback the history of the execution.": "工作流中的节点将在同一个事务中运行。任何失败都会导致数据回滚,同时也会回滚相应的执行历史。", "Auto delete history when execution is on end status": "执行结束后自动删除对应状态的历史记录", + "Maximum number of loop calls": "最大循环调用次数", + "If the number of loop calls is too large, there will be performance issues.": "如果循环调用次数过大,会有性能问题", "Trigger": "触发器", "Unknown trigger": "未知触发器", "Workflow with unknown type will cause error. Please delete it or check plugin which provide this type.": "未知类型的工作流会导致错误,请删除或检查提供该类型的插件。", diff --git a/packages/plugins/@nocobase/plugin-workflow/src/server/Plugin.ts b/packages/plugins/@nocobase/plugin-workflow/src/server/Plugin.ts index c3ea4308ee..e1fee1b042 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/server/Plugin.ts +++ b/packages/plugins/@nocobase/plugin-workflow/src/server/Plugin.ts @@ -488,9 +488,10 @@ export default class PluginWorkflowServer extends Plugin { transaction: options.transaction, }); - if (existed) { + const limitCount = workflow.options.stackLimit || 1; + if (existed >= limitCount) { this.getLogger(workflow.id).warn( - `workflow ${workflow.id} has already been triggered in stacks executions (${stack}), and newly triggering will be skipped.`, + `workflow ${workflow.id} has already been triggered in stacks executions (${stack}), and max call coont is ${limitCount}, newly triggering will be skipped.`, ); valid = false; diff --git a/packages/plugins/@nocobase/plugin-workflow/src/server/__tests__/triggers/collection.test.ts b/packages/plugins/@nocobase/plugin-workflow/src/server/__tests__/triggers/collection.test.ts index 62758cbad1..7775f3c122 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/server/__tests__/triggers/collection.test.ts +++ b/packages/plugins/@nocobase/plugin-workflow/src/server/__tests__/triggers/collection.test.ts @@ -841,6 +841,128 @@ describe('workflow > triggers > collection', () => { expect(e2s.length).toBe(1); expect(e2s[0].status).toBe(EXECUTION_STATUS.RESOLVED); }); + + it('stack limit for same execution', async () => { + const workflow = await WorkflowModel.create({ + enabled: true, + type: 'collection', + config: { + mode: 1, + collection: 'posts', + }, + options: { + stackLimit: 3, + }, + }); + + const n1 = await workflow.createNode({ + type: 'create', + config: { + collection: 'posts', + params: { + values: { + title: 't2', + }, + }, + }, + }); + + const p1 = await PostRepo.create({ values: { title: 't1' } }); + + await sleep(500); + + const posts = await PostRepo.find(); + expect(posts.length).toBe(4); + + const e1s = await workflow.getExecutions(); + expect(e1s.length).toBe(3); + expect(e1s[0].status).toBe(EXECUTION_STATUS.RESOLVED); + expect(e1s[1].status).toBe(EXECUTION_STATUS.RESOLVED); + expect(e1s[2].status).toBe(EXECUTION_STATUS.RESOLVED); + + // NOTE: second trigger to ensure no skipped event + const p3 = await PostRepo.create({ values: { title: 't3' } }); + + await sleep(500); + + const posts2 = await PostRepo.find(); + expect(posts2.length).toBe(8); + + const e2s = await workflow.getExecutions({ order: [['createdAt', 'DESC']] }); + expect(e2s.length).toBe(6); + expect(e2s[3].status).toBe(EXECUTION_STATUS.RESOLVED); + expect(e2s[4].status).toBe(EXECUTION_STATUS.RESOLVED); + expect(e2s[5].status).toBe(EXECUTION_STATUS.RESOLVED); + }); + + it('stack limit for multiple cycling trigger', async () => { + const w1 = await WorkflowModel.create({ + enabled: true, + type: 'collection', + config: { + mode: 1, + collection: 'posts', + }, + options: { + stackLimit: 3, + }, + }); + + const n1 = await w1.createNode({ + type: 'create', + config: { + collection: 'categories', + params: { + values: { + title: 'c1', + }, + }, + }, + }); + + const w2 = await WorkflowModel.create({ + enabled: true, + type: 'collection', + config: { + mode: 1, + collection: 'categories', + }, + options: { + stackLimit: 3, + }, + }); + + const n2 = await w2.createNode({ + type: 'create', + config: { + collection: 'posts', + params: { + values: { + title: 't2', + }, + }, + }, + }); + + const p1 = await PostRepo.create({ values: { title: 't1' } }); + + await sleep(500); + + const posts = await PostRepo.find(); + expect(posts.length).toBe(4); + + const e1s = await w1.getExecutions(); + expect(e1s.length).toBe(3); + expect(e1s[0].status).toBe(EXECUTION_STATUS.RESOLVED); + expect(e1s[1].status).toBe(EXECUTION_STATUS.RESOLVED); + expect(e1s[2].status).toBe(EXECUTION_STATUS.RESOLVED); + + const e2s = await w2.getExecutions(); + expect(e2s.length).toBe(3); + expect(e2s[0].status).toBe(EXECUTION_STATUS.RESOLVED); + expect(e2s[1].status).toBe(EXECUTION_STATUS.RESOLVED); + expect(e2s[2].status).toBe(EXECUTION_STATUS.RESOLVED); + }); }); describe('sync', () => { From d96afe674ff5fe93f18da78f0a4b7294ee37009c Mon Sep 17 00:00:00 2001 From: Zeke Zhang <958414905@qq.com> Date: Sat, 18 Jan 2025 17:55:42 +0800 Subject: [PATCH 031/125] fix: fix the issue of empty data when opening popup in embedded page (#6086) --- .../src/block-provider/BlockProvider.tsx | 9 ++- .../hooks/useDetailsDecoratorProps.ts | 2 +- .../antd/association-field/InternalViewer.tsx | 73 ++++++++++++++----- 3 files changed, 59 insertions(+), 25 deletions(-) diff --git a/packages/core/client/src/block-provider/BlockProvider.tsx b/packages/core/client/src/block-provider/BlockProvider.tsx index 66f289a1a0..9c2adab0f5 100644 --- a/packages/core/client/src/block-provider/BlockProvider.tsx +++ b/packages/core/client/src/block-provider/BlockProvider.tsx @@ -289,13 +289,14 @@ export const useBlockAssociationContext = () => { return useContext(BlockAssociationContext) || association; }; -export const useFilterByTk = () => { +export const useFilterByTk = (blockProps?: any) => { const { resource, __parent } = useBlockRequestContext(); const recordIndex = useRecordIndex(); const recordData = useCollectionRecordData(); const collection = useCollection_deprecated(); const { getCollectionField } = useCollectionManager_deprecated(); - const assoc = useBlockAssociationContext(); + const association = useBlockAssociationContext(); + const assoc = blockProps?.association || association; const withoutTableFieldResource = useContext(WithoutTableFieldResource); if (!withoutTableFieldResource) { @@ -344,8 +345,8 @@ export const useSourceIdFromParentRecord = () => { * @internal * @returns */ -export const useParamsFromRecord = () => { - const filterByTk = useFilterByTk(); +export const useParamsFromRecord = (props?: any) => { + const filterByTk = useFilterByTk(props); const record = useRecord(); const { fields } = useCollection_deprecated(); const fieldSchema = useFieldSchema(); diff --git a/packages/core/client/src/modules/blocks/data-blocks/details-single/hooks/useDetailsDecoratorProps.ts b/packages/core/client/src/modules/blocks/data-blocks/details-single/hooks/useDetailsDecoratorProps.ts index 20d4967f6b..ff33c98512 100644 --- a/packages/core/client/src/modules/blocks/data-blocks/details-single/hooks/useDetailsDecoratorProps.ts +++ b/packages/core/client/src/modules/blocks/data-blocks/details-single/hooks/useDetailsDecoratorProps.ts @@ -20,7 +20,7 @@ import { * @returns */ export function useDetailsDecoratorProps(props) { - const params = useParamsFromRecord(); + const params = useParamsFromRecord(props); let parentRecord; // association 的值是固定不变的,所以可以在条件中使用 hooks diff --git a/packages/core/client/src/schema-component/antd/association-field/InternalViewer.tsx b/packages/core/client/src/schema-component/antd/association-field/InternalViewer.tsx index 0183ad36ad..c9d1517343 100644 --- a/packages/core/client/src/schema-component/antd/association-field/InternalViewer.tsx +++ b/packages/core/client/src/schema-component/antd/association-field/InternalViewer.tsx @@ -10,8 +10,8 @@ import { observer, RecursionField, useField, useFieldSchema } from '@formily/react'; import { toArr } from '@formily/shared'; import _ from 'lodash'; -import React, { FC, Fragment, useEffect, useRef, useState } from 'react'; -import { useDesignable } from '../../'; +import React, { FC, Fragment, useCallback, useEffect, useRef, useState } from 'react'; +import { useDesignable, usePopupSettings } from '../../'; import { WithoutTableFieldResource } from '../../../block-provider'; import { CollectionRecordProvider, useCollectionManager, useCollectionRecordData } from '../../../data-source'; import { useOpenModeContext } from '../../../modules/popup/OpenModeProvider'; @@ -47,6 +47,7 @@ export interface ButtonListProps { label: string; value: string; }; + onClick?: (props: { recordData: any }) => void; } const RenderRecord = React.memo( @@ -66,6 +67,7 @@ const RenderRecord = React.memo( ellipsisWithTooltipRef, value, setBtnHover, + onClick, }: { fieldNames: any; isTreeCollection: boolean; @@ -82,6 +84,7 @@ const RenderRecord = React.memo( ellipsisWithTooltipRef: React.MutableRefObject; value: any; setBtnHover: any; + onClick?: (props: { recordData: any }) => void; }) => { const [loading, setLoading] = useState(true); const [result, setResult] = useState([]); @@ -126,6 +129,7 @@ const RenderRecord = React.memo( } if (fieldSchema.properties) { + onClick?.({ recordData: record }); openPopup({ recordData: record, parentRecordData: recordData, @@ -209,6 +213,7 @@ const ButtonLinkList: FC = (props) => { ellipsisWithTooltipRef={ellipsisWithTooltipRef} value={props.value} setBtnHover={props.setBtnHover} + onClick={props.onClick} /> ); }; @@ -254,12 +259,18 @@ export const ReadPrettyInternalViewer: React.FC = observer( const { visibleWithURL, setVisibleWithURL } = usePopupUtils(); const [btnHover, setBtnHover] = useState(!!visibleWithURL); const { defaultOpenMode } = useOpenModeContext(); - const recordData = useCollectionRecordData(); + const parentRecordData = useCollectionRecordData(); + const [recordData, setRecordData] = useState(null); + const { isPopupVisibleControlledByURL } = usePopupSettings(); + + const onClickItem = useCallback((props: { recordData: any }) => { + setRecordData(props.recordData); + }, []); const btnElement = ( - - + + ); @@ -268,21 +279,43 @@ export const ReadPrettyInternalViewer: React.FC = observer( return btnElement; } - const renderWithoutTableFieldResourceProvider = () => ( - // The recordData here is only provided when the popup is opened, not the current row record - - - { - return s['x-component'] === 'AssociationField.Viewer'; - }} - /> - - - ); + const renderWithoutTableFieldResourceProvider = () => { + if (isPopupVisibleControlledByURL()) { + return ( + // The recordData here is only provided when the popup is opened, not the current row record + + + { + return s['x-component'] === 'AssociationField.Viewer'; + }} + /> + + + ); + } + + return ( + + {/* The recordData here is only provided when the popup is opened, not the current row record */} + + + { + return s['x-component'] === 'AssociationField.Viewer'; + }} + /> + + + + ); + }; return ( From 201e9c713ae642c3f22225d9183bf29dc4855143 Mon Sep 17 00:00:00 2001 From: "nocobase[bot]" <179432756+nocobase[bot]@users.noreply.github.com> Date: Sat, 18 Jan 2025 10:09:11 +0000 Subject: [PATCH 032/125] =?UTF-8?q?chore(versions):=20=F0=9F=98=8A=20publi?= =?UTF-8?q?sh=20v1.4.27?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lerna.json | 2 +- packages/core/acl/package.json | 6 +- packages/core/actions/package.json | 8 +- packages/core/app/package.json | 10 +- packages/core/auth/package.json | 12 +- packages/core/build/package.json | 2 +- packages/core/cache/package.json | 2 +- packages/core/cli/package.json | 6 +- packages/core/client/package.json | 8 +- .../core/create-nocobase-app/package.json | 2 +- .../core/data-source-manager/package.json | 12 +- packages/core/database/package.json | 6 +- packages/core/devtools/package.json | 8 +- packages/core/evaluators/package.json | 4 +- packages/core/logger/package.json | 2 +- packages/core/resourcer/package.json | 4 +- packages/core/sdk/package.json | 2 +- packages/core/server/package.json | 26 ++-- packages/core/telemetry/package.json | 4 +- packages/core/test/package.json | 4 +- packages/core/utils/package.json | 2 +- .../plugins/@nocobase/plugin-acl/package.json | 2 +- .../plugin-action-bulk-edit/package.json | 2 +- .../plugin-action-bulk-update/package.json | 2 +- .../plugin-action-custom-request/package.json | 2 +- .../plugin-action-duplicate/package.json | 2 +- .../plugin-action-export/package.json | 2 +- .../plugin-action-import/package.json | 2 +- .../plugin-action-print/package.json | 2 +- .../@nocobase/plugin-api-doc/package.json | 2 +- .../@nocobase/plugin-api-keys/package.json | 2 +- .../@nocobase/plugin-audit-logs/package.json | 2 +- .../@nocobase/plugin-auth-sms/package.json | 2 +- .../@nocobase/plugin-auth/package.json | 2 +- .../plugin-backup-restore/package.json | 2 +- .../plugin-block-iframe/package.json | 2 +- .../plugin-block-workbench/package.json | 2 +- .../@nocobase/plugin-calendar/package.json | 2 +- .../@nocobase/plugin-charts/package.json | 2 +- .../@nocobase/plugin-client/package.json | 2 +- .../plugin-collection-sql/package.json | 2 +- .../plugin-collection-tree/package.json | 2 +- .../plugin-data-source-main/package.json | 2 +- .../plugin-data-source-manager/package.json | 2 +- .../plugin-data-visualization/package.json | 2 +- .../plugin-disable-pm-add/package.json | 2 +- .../plugin-error-handler/package.json | 2 +- .../plugin-field-china-region/package.json | 2 +- .../plugin-field-formula/package.json | 2 +- .../plugin-field-m2m-array/package.json | 2 +- .../plugin-field-markdown-vditor/package.json | 2 +- .../plugin-field-sequence/package.json | 2 +- .../plugin-file-manager/package.json | 2 +- .../@nocobase/plugin-gantt/package.json | 2 +- .../package.json | 2 +- .../@nocobase/plugin-kanban/package.json | 2 +- .../plugin-localization/package.json | 2 +- .../@nocobase/plugin-logger/package.json | 2 +- .../plugins/@nocobase/plugin-map/package.json | 2 +- .../plugin-mobile-client/package.json | 2 +- .../@nocobase/plugin-mobile/package.json | 2 +- .../plugin-mock-collections/package.json | 2 +- .../plugin-multi-app-manager/package.json | 2 +- .../package.json | 2 +- .../plugin-notification-email/package.json | 2 +- .../package.json | 2 +- .../plugin-notification-manager/package.json | 2 +- .../plugin-notifications/package.json | 2 +- .../plugin-public-forms/package.json | 2 +- .../plugin-sample-hello/package.json | 2 +- .../plugin-snapshot-field/package.json | 2 +- .../plugin-system-settings/package.json | 2 +- .../plugin-theme-editor/package.json | 2 +- .../plugin-ui-schema-storage/package.json | 2 +- .../plugin-user-data-sync/package.json | 2 +- .../@nocobase/plugin-users/package.json | 2 +- .../plugin-verification/package.json | 2 +- .../package.json | 2 +- .../plugin-workflow-aggregate/package.json | 2 +- .../plugin-workflow-delay/package.json | 2 +- .../package.json | 2 +- .../plugin-workflow-loop/package.json | 2 +- .../plugin-workflow-mailer/package.json | 2 +- .../plugin-workflow-manual/package.json | 2 +- .../plugin-workflow-notification/package.json | 2 +- .../plugin-workflow-parallel/package.json | 2 +- .../plugin-workflow-request/package.json | 2 +- .../plugin-workflow-sql/package.json | 2 +- .../plugin-workflow-test/package.json | 2 +- .../@nocobase/plugin-workflow/package.json | 4 +- packages/presets/nocobase/package.json | 134 +++++++++--------- 91 files changed, 203 insertions(+), 203 deletions(-) diff --git a/lerna.json b/lerna.json index fb0514e000..991bd1b566 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.4.26", + "version": "1.4.27", "npmClient": "yarn", "useWorkspaces": true, "npmClientArgs": [ diff --git a/packages/core/acl/package.json b/packages/core/acl/package.json index f3f23f5646..ff82822f67 100644 --- a/packages/core/acl/package.json +++ b/packages/core/acl/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/acl", - "version": "1.4.26", + "version": "1.4.27", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/resourcer": "1.4.26", - "@nocobase/utils": "1.4.26", + "@nocobase/resourcer": "1.4.27", + "@nocobase/utils": "1.4.27", "minimatch": "^5.1.1" }, "repository": { diff --git a/packages/core/actions/package.json b/packages/core/actions/package.json index 2981cd354c..6546f6d533 100644 --- a/packages/core/actions/package.json +++ b/packages/core/actions/package.json @@ -1,14 +1,14 @@ { "name": "@nocobase/actions", - "version": "1.4.26", + "version": "1.4.27", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/cache": "1.4.26", - "@nocobase/database": "1.4.26", - "@nocobase/resourcer": "1.4.26" + "@nocobase/cache": "1.4.27", + "@nocobase/database": "1.4.27", + "@nocobase/resourcer": "1.4.27" }, "repository": { "type": "git", diff --git a/packages/core/app/package.json b/packages/core/app/package.json index fb4757d3cc..4a55339978 100644 --- a/packages/core/app/package.json +++ b/packages/core/app/package.json @@ -1,17 +1,17 @@ { "name": "@nocobase/app", - "version": "1.4.26", + "version": "1.4.27", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/database": "1.4.26", - "@nocobase/preset-nocobase": "1.4.26", - "@nocobase/server": "1.4.26" + "@nocobase/database": "1.4.27", + "@nocobase/preset-nocobase": "1.4.27", + "@nocobase/server": "1.4.27" }, "devDependencies": { - "@nocobase/client": "1.4.26" + "@nocobase/client": "1.4.27" }, "repository": { "type": "git", diff --git a/packages/core/auth/package.json b/packages/core/auth/package.json index 24b0bfb92a..585bab4f32 100644 --- a/packages/core/auth/package.json +++ b/packages/core/auth/package.json @@ -1,16 +1,16 @@ { "name": "@nocobase/auth", - "version": "1.4.26", + "version": "1.4.27", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/actions": "1.4.26", - "@nocobase/cache": "1.4.26", - "@nocobase/database": "1.4.26", - "@nocobase/resourcer": "1.4.26", - "@nocobase/utils": "1.4.26", + "@nocobase/actions": "1.4.27", + "@nocobase/cache": "1.4.27", + "@nocobase/database": "1.4.27", + "@nocobase/resourcer": "1.4.27", + "@nocobase/utils": "1.4.27", "@types/jsonwebtoken": "^8.5.8", "jsonwebtoken": "^8.5.1" }, diff --git a/packages/core/build/package.json b/packages/core/build/package.json index 9e8d696df1..26288eb2b1 100644 --- a/packages/core/build/package.json +++ b/packages/core/build/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/build", - "version": "1.4.26", + "version": "1.4.27", "description": "Library build tool based on rollup.", "main": "lib/index.js", "types": "./lib/index.d.ts", diff --git a/packages/core/cache/package.json b/packages/core/cache/package.json index bc98449587..c4787e1b88 100644 --- a/packages/core/cache/package.json +++ b/packages/core/cache/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/cache", - "version": "1.4.26", + "version": "1.4.27", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", diff --git a/packages/core/cli/package.json b/packages/core/cli/package.json index f0213b28e6..b6bee0ef97 100644 --- a/packages/core/cli/package.json +++ b/packages/core/cli/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/cli", - "version": "1.4.26", + "version": "1.4.27", "description": "", "license": "AGPL-3.0", "main": "./src/index.js", @@ -8,7 +8,7 @@ "nocobase": "./bin/index.js" }, "dependencies": { - "@nocobase/app": "1.4.26", + "@nocobase/app": "1.4.27", "@types/fs-extra": "^11.0.1", "@umijs/utils": "3.5.20", "chalk": "^4.1.1", @@ -25,7 +25,7 @@ "tsx": "^4.19.0" }, "devDependencies": { - "@nocobase/devtools": "1.4.26" + "@nocobase/devtools": "1.4.27" }, "repository": { "type": "git", diff --git a/packages/core/client/package.json b/packages/core/client/package.json index 3a4641ac0b..51c5e18495 100644 --- a/packages/core/client/package.json +++ b/packages/core/client/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/client", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "lib/index.js", "module": "es/index.mjs", @@ -27,9 +27,9 @@ "@formily/reactive-react": "^2.2.27", "@formily/shared": "^2.2.27", "@formily/validator": "^2.2.27", - "@nocobase/evaluators": "1.4.26", - "@nocobase/sdk": "1.4.26", - "@nocobase/utils": "1.4.26", + "@nocobase/evaluators": "1.4.27", + "@nocobase/sdk": "1.4.27", + "@nocobase/utils": "1.4.27", "ahooks": "^3.7.2", "antd": "5.12.8", "antd-style": "3.7.1", diff --git a/packages/core/create-nocobase-app/package.json b/packages/core/create-nocobase-app/package.json index 439364c0bf..e4ca3fb53f 100755 --- a/packages/core/create-nocobase-app/package.json +++ b/packages/core/create-nocobase-app/package.json @@ -1,6 +1,6 @@ { "name": "create-nocobase-app", - "version": "1.4.26", + "version": "1.4.27", "main": "src/index.js", "license": "AGPL-3.0", "dependencies": { diff --git a/packages/core/data-source-manager/package.json b/packages/core/data-source-manager/package.json index fc4976b98a..5bb9888d4a 100644 --- a/packages/core/data-source-manager/package.json +++ b/packages/core/data-source-manager/package.json @@ -1,16 +1,16 @@ { "name": "@nocobase/data-source-manager", - "version": "1.4.26", + "version": "1.4.27", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/actions": "1.4.26", - "@nocobase/cache": "1.4.26", - "@nocobase/database": "1.4.26", - "@nocobase/resourcer": "1.4.26", - "@nocobase/utils": "1.4.26", + "@nocobase/actions": "1.4.27", + "@nocobase/cache": "1.4.27", + "@nocobase/database": "1.4.27", + "@nocobase/resourcer": "1.4.27", + "@nocobase/utils": "1.4.27", "@types/jsonwebtoken": "^8.5.8", "jsonwebtoken": "^8.5.1" }, diff --git a/packages/core/database/package.json b/packages/core/database/package.json index 3e1aba46c9..0c0912e823 100644 --- a/packages/core/database/package.json +++ b/packages/core/database/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/database", - "version": "1.4.26", + "version": "1.4.27", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", "dependencies": { - "@nocobase/logger": "1.4.26", - "@nocobase/utils": "1.4.26", + "@nocobase/logger": "1.4.27", + "@nocobase/utils": "1.4.27", "async-mutex": "^0.3.2", "chalk": "^4.1.1", "cron-parser": "4.4.0", diff --git a/packages/core/devtools/package.json b/packages/core/devtools/package.json index 009947ab4d..fdb27299a9 100644 --- a/packages/core/devtools/package.json +++ b/packages/core/devtools/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/devtools", - "version": "1.4.26", + "version": "1.4.27", "description": "", "license": "AGPL-3.0", "main": "./src/index.js", "dependencies": { - "@nocobase/build": "1.4.26", - "@nocobase/client": "1.4.26", - "@nocobase/test": "1.4.26", + "@nocobase/build": "1.4.27", + "@nocobase/client": "1.4.27", + "@nocobase/test": "1.4.27", "@types/koa": "^2.13.4", "@types/koa-bodyparser": "^4.3.4", "@types/lodash": "^4.14.177", diff --git a/packages/core/evaluators/package.json b/packages/core/evaluators/package.json index 50d403537f..1e2e27c0a1 100644 --- a/packages/core/evaluators/package.json +++ b/packages/core/evaluators/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/evaluators", - "version": "1.4.26", + "version": "1.4.27", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", "dependencies": { "@formulajs/formulajs": "4.4.9", - "@nocobase/utils": "1.4.26", + "@nocobase/utils": "1.4.27", "mathjs": "^10.6.0" }, "repository": { diff --git a/packages/core/logger/package.json b/packages/core/logger/package.json index 5a02a9906c..0e29313592 100644 --- a/packages/core/logger/package.json +++ b/packages/core/logger/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/logger", - "version": "1.4.26", + "version": "1.4.27", "description": "nocobase logging library", "license": "AGPL-3.0", "main": "./lib/index.js", diff --git a/packages/core/resourcer/package.json b/packages/core/resourcer/package.json index 333035388d..bab5454f0f 100644 --- a/packages/core/resourcer/package.json +++ b/packages/core/resourcer/package.json @@ -1,12 +1,12 @@ { "name": "@nocobase/resourcer", - "version": "1.4.26", + "version": "1.4.27", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", "dependencies": { - "@nocobase/utils": "1.4.26", + "@nocobase/utils": "1.4.27", "deepmerge": "^4.2.2", "koa-compose": "^4.1.0", "lodash": "^4.17.21", diff --git a/packages/core/sdk/package.json b/packages/core/sdk/package.json index 7a92110925..cecbb38f45 100644 --- a/packages/core/sdk/package.json +++ b/packages/core/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/sdk", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/packages/core/server/package.json b/packages/core/server/package.json index ced0f76d9a..e32cae9cd7 100644 --- a/packages/core/server/package.json +++ b/packages/core/server/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/server", - "version": "1.4.26", + "version": "1.4.27", "main": "lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", @@ -10,18 +10,18 @@ "@koa/cors": "^3.1.0", "@koa/multer": "^3.0.2", "@koa/router": "^9.4.0", - "@nocobase/acl": "1.4.26", - "@nocobase/actions": "1.4.26", - "@nocobase/auth": "1.4.26", - "@nocobase/cache": "1.4.26", - "@nocobase/data-source-manager": "1.4.26", - "@nocobase/database": "1.4.26", - "@nocobase/evaluators": "1.4.26", - "@nocobase/logger": "1.4.26", - "@nocobase/resourcer": "1.4.26", - "@nocobase/sdk": "1.4.26", - "@nocobase/telemetry": "1.4.26", - "@nocobase/utils": "1.4.26", + "@nocobase/acl": "1.4.27", + "@nocobase/actions": "1.4.27", + "@nocobase/auth": "1.4.27", + "@nocobase/cache": "1.4.27", + "@nocobase/data-source-manager": "1.4.27", + "@nocobase/database": "1.4.27", + "@nocobase/evaluators": "1.4.27", + "@nocobase/logger": "1.4.27", + "@nocobase/resourcer": "1.4.27", + "@nocobase/sdk": "1.4.27", + "@nocobase/telemetry": "1.4.27", + "@nocobase/utils": "1.4.27", "@types/decompress": "4.2.7", "@types/ini": "^1.3.31", "@types/koa-send": "^4.1.3", diff --git a/packages/core/telemetry/package.json b/packages/core/telemetry/package.json index 517bd888ea..ef22f38a2b 100644 --- a/packages/core/telemetry/package.json +++ b/packages/core/telemetry/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/telemetry", - "version": "1.4.26", + "version": "1.4.27", "description": "nocobase telemetry library", "license": "AGPL-3.0", "main": "./lib/index.js", @@ -11,7 +11,7 @@ "directory": "packages/telemetry" }, "dependencies": { - "@nocobase/utils": "1.4.26", + "@nocobase/utils": "1.4.27", "@opentelemetry/api": "^1.7.0", "@opentelemetry/instrumentation": "^0.46.0", "@opentelemetry/resources": "^1.19.0", diff --git a/packages/core/test/package.json b/packages/core/test/package.json index 589b285b26..2162a1b062 100644 --- a/packages/core/test/package.json +++ b/packages/core/test/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/test", - "version": "1.4.26", + "version": "1.4.27", "main": "lib/index.js", "module": "./src/index.ts", "types": "./lib/index.d.ts", @@ -51,7 +51,7 @@ }, "dependencies": { "@faker-js/faker": "8.1.0", - "@nocobase/server": "1.4.26", + "@nocobase/server": "1.4.27", "@playwright/test": "^1.45.3", "@testing-library/jest-dom": "^6.4.2", "@testing-library/react": "^14.0.0", diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index e14f0f8115..06ca69ffeb 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/utils", - "version": "1.4.26", + "version": "1.4.27", "main": "lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", diff --git a/packages/plugins/@nocobase/plugin-acl/package.json b/packages/plugins/@nocobase/plugin-acl/package.json index 0a05ea4d02..ce41ea0466 100644 --- a/packages/plugins/@nocobase/plugin-acl/package.json +++ b/packages/plugins/@nocobase/plugin-acl/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "权限控制", "description": "Based on roles, resources, and actions, access control can precisely manage interface configuration permissions, data operation permissions, menu access permissions, and plugin permissions.", "description.zh-CN": "基于角色、资源和操作的权限控制,可以精确控制界面配置权限、数据操作权限、菜单访问权限、插件权限。", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/acl", diff --git a/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json b/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json index cac7d1561e..9c63ebbd37 100644 --- a/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json +++ b/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-bulk-edit", - "version": "1.4.26", + "version": "1.4.27", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-bulk-edit", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-bulk-edit", diff --git a/packages/plugins/@nocobase/plugin-action-bulk-update/package.json b/packages/plugins/@nocobase/plugin-action-bulk-update/package.json index de4b655f86..d5039d8e94 100644 --- a/packages/plugins/@nocobase/plugin-action-bulk-update/package.json +++ b/packages/plugins/@nocobase/plugin-action-bulk-update/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-bulk-update", - "version": "1.4.26", + "version": "1.4.27", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-bulk-update", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-bulk-update", diff --git a/packages/plugins/@nocobase/plugin-action-custom-request/package.json b/packages/plugins/@nocobase/plugin-action-custom-request/package.json index b80708bdfb..f9c27196b8 100644 --- a/packages/plugins/@nocobase/plugin-action-custom-request/package.json +++ b/packages/plugins/@nocobase/plugin-action-custom-request/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-custom-request", - "version": "1.4.26", + "version": "1.4.27", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-custom-request", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-custom-request", diff --git a/packages/plugins/@nocobase/plugin-action-duplicate/package.json b/packages/plugins/@nocobase/plugin-action-duplicate/package.json index 6995fed097..a0cb42c2cc 100644 --- a/packages/plugins/@nocobase/plugin-action-duplicate/package.json +++ b/packages/plugins/@nocobase/plugin-action-duplicate/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-duplicate", - "version": "1.4.26", + "version": "1.4.27", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-duplicate", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-duplicate", diff --git a/packages/plugins/@nocobase/plugin-action-export/package.json b/packages/plugins/@nocobase/plugin-action-export/package.json index 879082c761..cb551ec4f1 100644 --- a/packages/plugins/@nocobase/plugin-action-export/package.json +++ b/packages/plugins/@nocobase/plugin-action-export/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "操作:导出记录", "description": "Export filtered records to excel, you can configure which fields to export.", "description.zh-CN": "导出筛选后的记录到 Excel 中,可以配置导出哪些字段。", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-export", diff --git a/packages/plugins/@nocobase/plugin-action-import/package.json b/packages/plugins/@nocobase/plugin-action-import/package.json index 7886227c31..55c19395c1 100644 --- a/packages/plugins/@nocobase/plugin-action-import/package.json +++ b/packages/plugins/@nocobase/plugin-action-import/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "操作:导入记录", "description": "Import records using excel templates. You can configure which fields to import and templates will be generated automatically.", "description.zh-CN": "使用 Excel 模板导入数据,可以配置导入哪些字段,自动生成模板。", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-import", diff --git a/packages/plugins/@nocobase/plugin-action-print/package.json b/packages/plugins/@nocobase/plugin-action-print/package.json index 2af4418a3f..e0e5494950 100644 --- a/packages/plugins/@nocobase/plugin-action-print/package.json +++ b/packages/plugins/@nocobase/plugin-action-print/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-print", - "version": "1.4.26", + "version": "1.4.27", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-print", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-print", diff --git a/packages/plugins/@nocobase/plugin-api-doc/package.json b/packages/plugins/@nocobase/plugin-api-doc/package.json index 9d9603e547..f8ef2645b8 100644 --- a/packages/plugins/@nocobase/plugin-api-doc/package.json +++ b/packages/plugins/@nocobase/plugin-api-doc/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-api-doc", - "version": "1.4.26", + "version": "1.4.27", "displayName": "API documentation", "displayName.zh-CN": "API 文档", "description": "An OpenAPI documentation generator for NocoBase HTTP API.", diff --git a/packages/plugins/@nocobase/plugin-api-keys/package.json b/packages/plugins/@nocobase/plugin-api-keys/package.json index e2bd2e83a2..9fbdb88780 100644 --- a/packages/plugins/@nocobase/plugin-api-keys/package.json +++ b/packages/plugins/@nocobase/plugin-api-keys/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "认证:API 密钥", "description": "Allows users to use API key to access application's HTTP API", "description.zh-CN": "允许用户使用 API 密钥访问应用的 HTTP API", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/api-keys", diff --git a/packages/plugins/@nocobase/plugin-audit-logs/package.json b/packages/plugins/@nocobase/plugin-audit-logs/package.json index cb73d019b2..ae88371fe2 100644 --- a/packages/plugins/@nocobase/plugin-audit-logs/package.json +++ b/packages/plugins/@nocobase/plugin-audit-logs/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-audit-logs", - "version": "1.4.26", + "version": "1.4.27", "displayName": "Audit logs (deprecated)", "displayName.zh-CN": "审计日志(废弃)", "description": "This plugin is deprecated. There will be a new audit log plugin in the future.", diff --git a/packages/plugins/@nocobase/plugin-auth-sms/package.json b/packages/plugins/@nocobase/plugin-auth-sms/package.json index 19e17c85be..4b77873e63 100644 --- a/packages/plugins/@nocobase/plugin-auth-sms/package.json +++ b/packages/plugins/@nocobase/plugin-auth-sms/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "认证:短信", "description": "SMS authentication.", "description.zh-CN": "通过短信验证码认证身份。", - "version": "1.4.26", + "version": "1.4.27", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/auth-sms", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/auth-sms", diff --git a/packages/plugins/@nocobase/plugin-auth/package.json b/packages/plugins/@nocobase/plugin-auth/package.json index 11d79d2a94..c5dc39b8ae 100644 --- a/packages/plugins/@nocobase/plugin-auth/package.json +++ b/packages/plugins/@nocobase/plugin-auth/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-auth", - "version": "1.4.26", + "version": "1.4.27", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/auth", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/auth", diff --git a/packages/plugins/@nocobase/plugin-backup-restore/package.json b/packages/plugins/@nocobase/plugin-backup-restore/package.json index d06178b947..72c1c8e91e 100644 --- a/packages/plugins/@nocobase/plugin-backup-restore/package.json +++ b/packages/plugins/@nocobase/plugin-backup-restore/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "应用的备份与还原(废弃)", "description": "Backup and restore applications for scenarios such as application replication, migration, and upgrades.", "description.zh-CN": "备份和还原应用,可用于应用的复制、迁移、升级等场景。", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/backup-restore", diff --git a/packages/plugins/@nocobase/plugin-block-iframe/package.json b/packages/plugins/@nocobase/plugin-block-iframe/package.json index f9ac303dea..1c1d138833 100644 --- a/packages/plugins/@nocobase/plugin-block-iframe/package.json +++ b/packages/plugins/@nocobase/plugin-block-iframe/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "区块:iframe", "description": "Create an iframe block on the page to embed and display external web pages or content.", "description.zh-CN": "在页面上创建和管理iframe,用于嵌入和展示外部网页或内容。", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/block-iframe", diff --git a/packages/plugins/@nocobase/plugin-block-workbench/package.json b/packages/plugins/@nocobase/plugin-block-workbench/package.json index 272a2af689..33c42b8ee4 100644 --- a/packages/plugins/@nocobase/plugin-block-workbench/package.json +++ b/packages/plugins/@nocobase/plugin-block-workbench/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-block-workbench", - "version": "1.4.26", + "version": "1.4.27", "displayName": "Block: Action panel", "displayName.zh-CN": "区块:操作面板", "description": "Centrally manages and displays various actions, allowing users to efficiently perform tasks. It supports extensibility, with current action types including pop-ups, links, scanning, and custom requests.", diff --git a/packages/plugins/@nocobase/plugin-calendar/package.json b/packages/plugins/@nocobase/plugin-calendar/package.json index dc4dde5b8a..7d1a24b04a 100644 --- a/packages/plugins/@nocobase/plugin-calendar/package.json +++ b/packages/plugins/@nocobase/plugin-calendar/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-calendar", - "version": "1.4.26", + "version": "1.4.27", "displayName": "Calendar", "displayName.zh-CN": "日历", "description": "Provides callendar collection template and block for managing date data, typically for date/time related information such as events, appointments, tasks, and so on.", diff --git a/packages/plugins/@nocobase/plugin-charts/package.json b/packages/plugins/@nocobase/plugin-charts/package.json index 071d7f412f..1a56de7240 100644 --- a/packages/plugins/@nocobase/plugin-charts/package.json +++ b/packages/plugins/@nocobase/plugin-charts/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "图表(废弃)", "description": "The plugin has been deprecated, please use the data visualization plugin instead.", "description.zh-CN": "已废弃插件,请使用数据可视化插件代替。", - "version": "1.4.26", + "version": "1.4.27", "main": "./dist/server/index.js", "license": "AGPL-3.0", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-client/package.json b/packages/plugins/@nocobase/plugin-client/package.json index dfc37e8457..f75a14f1e7 100644 --- a/packages/plugins/@nocobase/plugin-client/package.json +++ b/packages/plugins/@nocobase/plugin-client/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "WEB 客户端", "description": "Provides a client interface for the NocoBase server", "description.zh-CN": "为 NocoBase 服务端提供客户端界面", - "version": "1.4.26", + "version": "1.4.27", "main": "./dist/server/index.js", "license": "AGPL-3.0", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-collection-sql/package.json b/packages/plugins/@nocobase/plugin-collection-sql/package.json index bde0924413..4181305fc5 100644 --- a/packages/plugins/@nocobase/plugin-collection-sql/package.json +++ b/packages/plugins/@nocobase/plugin-collection-sql/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表: SQL", "description": "Provides SQL collection template", "description.zh-CN": "提供 SQL 数据表模板", - "version": "1.4.26", + "version": "1.4.27", "homepage": "https://docs-cn.nocobase.com/handbook/collection-sql", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/collection-sql", "main": "dist/server/index.js", diff --git a/packages/plugins/@nocobase/plugin-collection-tree/package.json b/packages/plugins/@nocobase/plugin-collection-tree/package.json index 4ce968c5fb..e7e575e352 100644 --- a/packages/plugins/@nocobase/plugin-collection-tree/package.json +++ b/packages/plugins/@nocobase/plugin-collection-tree/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-collection-tree", - "version": "1.4.26", + "version": "1.4.27", "displayName": "Collection: Tree", "displayName.zh-CN": "数据表:树", "description": "Provides tree collection template", diff --git a/packages/plugins/@nocobase/plugin-data-source-main/package.json b/packages/plugins/@nocobase/plugin-data-source-main/package.json index cb4fb7fd56..a0536806e6 100644 --- a/packages/plugins/@nocobase/plugin-data-source-main/package.json +++ b/packages/plugins/@nocobase/plugin-data-source-main/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据源:主数据库", "description": "NocoBase main database, supports relational databases such as PostgreSQL, MySQL, MariaDB and so on.", "description.zh-CN": "NocoBase 主数据库,支持 PostgreSQL、MySQL、MariaDB 等关系型数据库。", - "version": "1.4.26", + "version": "1.4.27", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/data-source-main", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/data-source-main", diff --git a/packages/plugins/@nocobase/plugin-data-source-manager/package.json b/packages/plugins/@nocobase/plugin-data-source-manager/package.json index fbe06f8e22..b5e356c05c 100644 --- a/packages/plugins/@nocobase/plugin-data-source-manager/package.json +++ b/packages/plugins/@nocobase/plugin-data-source-manager/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-data-source-manager", - "version": "1.4.26", + "version": "1.4.27", "main": "dist/server/index.js", "displayName": "Data source manager", "displayName.zh-CN": "数据源管理", diff --git a/packages/plugins/@nocobase/plugin-data-visualization/package.json b/packages/plugins/@nocobase/plugin-data-visualization/package.json index 0f36a0469e..53a99e65f3 100644 --- a/packages/plugins/@nocobase/plugin-data-visualization/package.json +++ b/packages/plugins/@nocobase/plugin-data-visualization/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-data-visualization", - "version": "1.4.26", + "version": "1.4.27", "displayName": "Data visualization", "displayName.zh-CN": "数据可视化", "description": "Provides data visualization feature, including chart block and chart filter block, support line charts, area charts, bar charts and more than a dozen kinds of charts, you can also extend more chart types.", diff --git a/packages/plugins/@nocobase/plugin-disable-pm-add/package.json b/packages/plugins/@nocobase/plugin-disable-pm-add/package.json index 8e8425f6a3..281937b647 100644 --- a/packages/plugins/@nocobase/plugin-disable-pm-add/package.json +++ b/packages/plugins/@nocobase/plugin-disable-pm-add/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-disable-pm-add", - "version": "1.4.26", + "version": "1.4.27", "main": "./dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-error-handler/package.json b/packages/plugins/@nocobase/plugin-error-handler/package.json index 1dd3166eb1..2111b006c5 100644 --- a/packages/plugins/@nocobase/plugin-error-handler/package.json +++ b/packages/plugins/@nocobase/plugin-error-handler/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "错误处理器", "description": "Handling application errors and exceptions.", "description.zh-CN": "处理应用程序中的错误和异常。", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "./dist/server/index.js", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-field-china-region/package.json b/packages/plugins/@nocobase/plugin-field-china-region/package.json index 636d8e3006..175b6f8021 100644 --- a/packages/plugins/@nocobase/plugin-field-china-region/package.json +++ b/packages/plugins/@nocobase/plugin-field-china-region/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-field-china-region", - "version": "1.4.26", + "version": "1.4.27", "displayName": "Collection field: administrative divisions of China", "displayName.zh-CN": "数据表字段:中国行政区划", "description": "Provides data and field type for administrative divisions of China.", diff --git a/packages/plugins/@nocobase/plugin-field-formula/package.json b/packages/plugins/@nocobase/plugin-field-formula/package.json index 82db7e01e9..1884249b6d 100644 --- a/packages/plugins/@nocobase/plugin-field-formula/package.json +++ b/packages/plugins/@nocobase/plugin-field-formula/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:公式", "description": "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.", "description.zh-CN": "可以配置并存储同一条记录的多字段值之间的计算结果,支持 Math.js 和 Excel formula functions 两种引擎", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-formula", diff --git a/packages/plugins/@nocobase/plugin-field-m2m-array/package.json b/packages/plugins/@nocobase/plugin-field-m2m-array/package.json index f2a38184a1..b677059386 100644 --- a/packages/plugins/@nocobase/plugin-field-m2m-array/package.json +++ b/packages/plugins/@nocobase/plugin-field-m2m-array/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:多对多 (数组)", "description": "Allows to create many to many relationships between two models by storing an array of unique keys of the target model.", "description.zh-CN": "支持通过在数组中存储目标表唯一键的方式建立多对多关系。", - "version": "1.4.26", + "version": "1.4.27", "main": "dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json b/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json index 26ae1ef8a4..dc330591d9 100644 --- a/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json +++ b/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:Markdown(Vditor)", "description": "Used to store Markdown and render it using Vditor editor, supports common Markdown syntax such as list, code, quote, etc., and supports uploading images, recordings, etc.It also allows for instant rendering, where what you see is what you get.", "description.zh-CN": "用于存储 Markdown,并使用 Vditor 编辑器渲染,支持常见 Markdown 语法,如列表,代码,引用等,并支持上传图片,录音等。同时可以做到即时渲染,所见即所得。", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-markdown-vditor", diff --git a/packages/plugins/@nocobase/plugin-field-sequence/package.json b/packages/plugins/@nocobase/plugin-field-sequence/package.json index fee1c32403..988006b0c1 100644 --- a/packages/plugins/@nocobase/plugin-field-sequence/package.json +++ b/packages/plugins/@nocobase/plugin-field-sequence/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:自动编码", "description": "Automatically generate codes based on configured rules, supporting combinations of dates, numbers, and text.", "description.zh-CN": "根据配置的规则自动生成编码,支持日期、数字、文本的组合。", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-sequence", diff --git a/packages/plugins/@nocobase/plugin-file-manager/package.json b/packages/plugins/@nocobase/plugin-file-manager/package.json index cbdedb1cbd..607fcea9f8 100644 --- a/packages/plugins/@nocobase/plugin-file-manager/package.json +++ b/packages/plugins/@nocobase/plugin-file-manager/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-file-manager", - "version": "1.4.26", + "version": "1.4.27", "displayName": "File manager", "displayName.zh-CN": "文件管理器", "description": "Provides files storage services with files collection template and attachment field.", diff --git a/packages/plugins/@nocobase/plugin-gantt/package.json b/packages/plugins/@nocobase/plugin-gantt/package.json index 512c9b66a6..0cabf1bcc0 100644 --- a/packages/plugins/@nocobase/plugin-gantt/package.json +++ b/packages/plugins/@nocobase/plugin-gantt/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-gantt", - "version": "1.4.26", + "version": "1.4.27", "displayName": "Block: Gantt", "displayName.zh-CN": "区块:甘特图", "description": "Provides Gantt block.", diff --git a/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json b/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json index d42bdbe6b5..d8b75e2385 100644 --- a/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json +++ b/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "可视化数据表管理", "description": "An ER diagram-like tool. Currently only the Master database is supported.", "description.zh-CN": "类似 ER 图的工具,目前只支持主数据库。", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/graph-collection-manager", diff --git a/packages/plugins/@nocobase/plugin-kanban/package.json b/packages/plugins/@nocobase/plugin-kanban/package.json index 387c2ee32d..fd771bdc5d 100644 --- a/packages/plugins/@nocobase/plugin-kanban/package.json +++ b/packages/plugins/@nocobase/plugin-kanban/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-kanban", - "version": "1.4.26", + "version": "1.4.27", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/block-kanban", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/block-kanban", diff --git a/packages/plugins/@nocobase/plugin-localization/package.json b/packages/plugins/@nocobase/plugin-localization/package.json index 345f254433..6cda989690 100644 --- a/packages/plugins/@nocobase/plugin-localization/package.json +++ b/packages/plugins/@nocobase/plugin-localization/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-localization", - "version": "1.4.26", + "version": "1.4.27", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/localization-management", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/localization-management", diff --git a/packages/plugins/@nocobase/plugin-logger/package.json b/packages/plugins/@nocobase/plugin-logger/package.json index cbf872731b..aa0f899718 100644 --- a/packages/plugins/@nocobase/plugin-logger/package.json +++ b/packages/plugins/@nocobase/plugin-logger/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "日志", "description": "Server-side logs, mainly including API request logs and system runtime logs, and allows to package and download log files.", "description.zh-CN": "服务端日志,主要包括接口请求日志和系统运行日志,并支持打包和下载日志文件。", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/logger", diff --git a/packages/plugins/@nocobase/plugin-map/package.json b/packages/plugins/@nocobase/plugin-map/package.json index 43d34a9f4e..e0227039ee 100644 --- a/packages/plugins/@nocobase/plugin-map/package.json +++ b/packages/plugins/@nocobase/plugin-map/package.json @@ -2,7 +2,7 @@ "name": "@nocobase/plugin-map", "displayName": "Block: Map", "displayName.zh-CN": "区块:地图", - "version": "1.4.26", + "version": "1.4.27", "description": "Map block, support Gaode map and Google map, you can also extend more map types.", "description.zh-CN": "地图区块,支持高德地图和 Google 地图,你也可以扩展更多地图类型。", "license": "AGPL-3.0", diff --git a/packages/plugins/@nocobase/plugin-mobile-client/package.json b/packages/plugins/@nocobase/plugin-mobile-client/package.json index aacc9ee00d..ca9b2881cd 100644 --- a/packages/plugins/@nocobase/plugin-mobile-client/package.json +++ b/packages/plugins/@nocobase/plugin-mobile-client/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-mobile-client", - "version": "1.4.26", + "version": "1.4.27", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/mobile-client", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/mobile-client", diff --git a/packages/plugins/@nocobase/plugin-mobile/package.json b/packages/plugins/@nocobase/plugin-mobile/package.json index 0be8afd0dd..97ffc99a8b 100644 --- a/packages/plugins/@nocobase/plugin-mobile/package.json +++ b/packages/plugins/@nocobase/plugin-mobile/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-mobile", - "version": "1.4.26", + "version": "1.4.27", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/mobile", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/mobile", diff --git a/packages/plugins/@nocobase/plugin-mock-collections/package.json b/packages/plugins/@nocobase/plugin-mock-collections/package.json index 8df9127535..32609a811d 100644 --- a/packages/plugins/@nocobase/plugin-mock-collections/package.json +++ b/packages/plugins/@nocobase/plugin-mock-collections/package.json @@ -2,7 +2,7 @@ "name": "@nocobase/plugin-mock-collections", "displayName": "mock-collections", "description": "mock-collections", - "version": "1.4.26", + "version": "1.4.27", "main": "./dist/server/index.js", "license": "AGPL-3.0", "peerDependencies": { diff --git a/packages/plugins/@nocobase/plugin-multi-app-manager/package.json b/packages/plugins/@nocobase/plugin-multi-app-manager/package.json index 8d2bfc6506..6f58a02ba6 100644 --- a/packages/plugins/@nocobase/plugin-multi-app-manager/package.json +++ b/packages/plugins/@nocobase/plugin-multi-app-manager/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "多应用管理器", "description": "Dynamically create multiple apps without separate deployments.", "description.zh-CN": "无需单独部署即可动态创建多个应用。", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/multi-app-manager", diff --git a/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json b/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json index 6096b9cb24..d4a08f3b5e 100644 --- a/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json +++ b/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "多应用数据表共享", "description": "", "description.zh-CN": "", - "version": "1.4.26", + "version": "1.4.27", "main": "./dist/server/index.js", "devDependencies": { "@formily/react": "2.x", diff --git a/packages/plugins/@nocobase/plugin-notification-email/package.json b/packages/plugins/@nocobase/plugin-notification-email/package.json index d8a3802cc4..cf80ad3b12 100644 --- a/packages/plugins/@nocobase/plugin-notification-email/package.json +++ b/packages/plugins/@nocobase/plugin-notification-email/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-notification-email", - "version": "1.4.26", + "version": "1.4.27", "displayName": "Notification: Email", "displayName.zh-CN": "通知:电子邮件", "description": "Used for sending email notifications with built-in SMTP transport.", diff --git a/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json b/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json index 220f379d3e..64733051fc 100644 --- a/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json +++ b/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-notification-in-app-message", - "version": "1.4.26", + "version": "1.4.27", "displayName": "Notification: In-app message", "displayName.zh-CN": "通知:站内信", "description": "It supports users in receiving real-time message notifications within the NocoBase application.", diff --git a/packages/plugins/@nocobase/plugin-notification-manager/package.json b/packages/plugins/@nocobase/plugin-notification-manager/package.json index 3e078730e7..30220ab0f6 100644 --- a/packages/plugins/@nocobase/plugin-notification-manager/package.json +++ b/packages/plugins/@nocobase/plugin-notification-manager/package.json @@ -4,7 +4,7 @@ "description": "Provides a unified management service that includes channel configuration, logging, and other features, supporting the configuration of various notification channels, including in-app message and email.", "displayName.zh-CN": "通知管理", "description.zh-CN": "提供统一的管理服务,涵盖渠道配置、日志记录等功能,支持多种通知渠道的配置,包括站内信和电子邮件等。", - "version": "1.4.26", + "version": "1.4.27", "main": "dist/server/index.js", "devDependencies": { "@ant-design/icons": "5.x", diff --git a/packages/plugins/@nocobase/plugin-notifications/package.json b/packages/plugins/@nocobase/plugin-notifications/package.json index a1fd949209..74847e61e5 100644 --- a/packages/plugins/@nocobase/plugin-notifications/package.json +++ b/packages/plugins/@nocobase/plugin-notifications/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-notifications", - "version": "1.4.26", + "version": "1.4.27", "description": "", "license": "AGPL-3.0", "main": "./dist/server/index.js", diff --git a/packages/plugins/@nocobase/plugin-public-forms/package.json b/packages/plugins/@nocobase/plugin-public-forms/package.json index 6e62b13102..c99d807f56 100644 --- a/packages/plugins/@nocobase/plugin-public-forms/package.json +++ b/packages/plugins/@nocobase/plugin-public-forms/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-public-forms", - "version": "1.4.26", + "version": "1.4.27", "main": "dist/server/index.js", "displayName": "Public forms", "displayName.zh-CN": "公开表单", diff --git a/packages/plugins/@nocobase/plugin-sample-hello/package.json b/packages/plugins/@nocobase/plugin-sample-hello/package.json index 73dedd2bae..23b87de57a 100644 --- a/packages/plugins/@nocobase/plugin-sample-hello/package.json +++ b/packages/plugins/@nocobase/plugin-sample-hello/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-sample-hello", - "version": "1.4.26", + "version": "1.4.27", "main": "./dist/server/index.js", "displayName": "Hello", "displayName.zh-CN": "Hello", diff --git a/packages/plugins/@nocobase/plugin-snapshot-field/package.json b/packages/plugins/@nocobase/plugin-snapshot-field/package.json index e8ece29df9..c357862d31 100644 --- a/packages/plugins/@nocobase/plugin-snapshot-field/package.json +++ b/packages/plugins/@nocobase/plugin-snapshot-field/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:关系快照", "description": "When adding a new record, create a snapshot for its relational record and save in the new record. The snapshot will not be updated when the relational record is updated.", "description.zh-CN": "在添加数据时,为它的关系数据创建快照,并保存在当前的数据中。关系数据更新时,快照不会更新。", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-snapshot", diff --git a/packages/plugins/@nocobase/plugin-system-settings/package.json b/packages/plugins/@nocobase/plugin-system-settings/package.json index ab91dd3b3e..c8a2c3a608 100644 --- a/packages/plugins/@nocobase/plugin-system-settings/package.json +++ b/packages/plugins/@nocobase/plugin-system-settings/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "系统设置", "description": "Used to adjust the system title, logo, language, etc.", "description.zh-CN": "用于调整系统的标题、LOGO、语言等。", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/system-settings", diff --git a/packages/plugins/@nocobase/plugin-theme-editor/package.json b/packages/plugins/@nocobase/plugin-theme-editor/package.json index ed4826efc4..dfecd3eaee 100644 --- a/packages/plugins/@nocobase/plugin-theme-editor/package.json +++ b/packages/plugins/@nocobase/plugin-theme-editor/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-theme-editor", - "version": "1.4.26", + "version": "1.4.27", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/theme-editor", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/theme-editor", diff --git a/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json b/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json index 9e5b58654d..71538d12b2 100644 --- a/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json +++ b/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "UI schema 存储服务", "description": "Provides centralized UI schema storage service.", "description.zh-CN": "提供中心化的 UI schema 存储服务。", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/ui-schema-storage", diff --git a/packages/plugins/@nocobase/plugin-user-data-sync/package.json b/packages/plugins/@nocobase/plugin-user-data-sync/package.json index e817a9b4f8..ae0e57ac56 100644 --- a/packages/plugins/@nocobase/plugin-user-data-sync/package.json +++ b/packages/plugins/@nocobase/plugin-user-data-sync/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "用户数据同步", "description": "Reigster and manage extensible user data synchronization sources, with HTTP API provided by default. Support for synchronizing data to resources such as users and departments.", "description.zh-CN": "注册和管理可扩展的用户数据同步来源,默认提供 HTTP API。支持向用户和部门等资源同步数据。", - "version": "1.4.26", + "version": "1.4.27", "main": "dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-users/package.json b/packages/plugins/@nocobase/plugin-users/package.json index d8ef687cdc..ea5543438b 100644 --- a/packages/plugins/@nocobase/plugin-users/package.json +++ b/packages/plugins/@nocobase/plugin-users/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "用户", "description": "Provides basic user model, as well as created by and updated by fields.", "description.zh-CN": "提供了基础的用户模型,以及创建人和最后更新人字段。", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/users", diff --git a/packages/plugins/@nocobase/plugin-verification/package.json b/packages/plugins/@nocobase/plugin-verification/package.json index 691cb95e7f..b82b25b991 100644 --- a/packages/plugins/@nocobase/plugin-verification/package.json +++ b/packages/plugins/@nocobase/plugin-verification/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "验证码", "description": "verification setting.", "description.zh-CN": "验证码配置。", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/verification", diff --git a/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json b/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json index 72011ebbb6..2aa857fd83 100644 --- a/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:操作后事件", "description": "Triggered after the completion of a request initiated through an action button or API, such as after adding, updating, deleting data, or \"submit to workflow\". Suitable for data processing, sending notifications, etc., after actions are completed.", "description.zh-CN": "通过操作按钮或 API 发起请求并在执行完成后触发,比如新增、更新、删除数据或者“提交至工作流”之后。适用于在操作完成后进行数据处理、发送通知等。", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/plugins/workflow-action-trigger", diff --git a/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json b/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json index d1879f397c..5f437be44c 100644 --- a/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:聚合查询节点", "description": "Used to aggregate data against the database in workflow, such as: statistics, sum, average, etc.", "description.zh-CN": "可用于在工作流中对数据库进行聚合查询,如:统计数量、求和、平均值等。", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-aggregate", diff --git a/packages/plugins/@nocobase/plugin-workflow-delay/package.json b/packages/plugins/@nocobase/plugin-workflow-delay/package.json index 25ac72cebe..7814daec02 100644 --- a/packages/plugins/@nocobase/plugin-workflow-delay/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-delay/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:延时节点", "description": "Could be used in workflow parallel branch for waiting other branches.", "description.zh-CN": "可用于工作流并行分支中等待其他分支执行完成。", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-delay", diff --git a/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json b/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json index b614457a74..816313c69a 100644 --- a/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:动态表达式计算节点", "description": "Useful plugin for doing dynamic calculation based on expression collection records in workflow.", "description.zh-CN": "用于在工作流中进行基于数据行的动态表达式计算。", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-dynamic-calculation", diff --git a/packages/plugins/@nocobase/plugin-workflow-loop/package.json b/packages/plugins/@nocobase/plugin-workflow-loop/package.json index 41bb581f9a..eed1e3335d 100644 --- a/packages/plugins/@nocobase/plugin-workflow-loop/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-loop/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:循环节点", "description": "Used to repeat the sub-process processing of each value in an array, and can also be used for fixed times of sub-process processing.", "description.zh-CN": "用于对一个数组中的每个值进行重复的子流程处理,也可用于固定次数的重复子流程处理。", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-loop", diff --git a/packages/plugins/@nocobase/plugin-workflow-mailer/package.json b/packages/plugins/@nocobase/plugin-workflow-mailer/package.json index b342d951a4..34f8223dd6 100644 --- a/packages/plugins/@nocobase/plugin-workflow-mailer/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-mailer/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:邮件发送节点", "description": "Send email in workflow.", "description.zh-CN": "可用于在工作流中发送电子邮件。", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-smtp-mailer", diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/package.json b/packages/plugins/@nocobase/plugin-workflow-manual/package.json index a52ec4b76a..bb0dba7b9c 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-manual/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:人工处理节点", "description": "Could be used for workflows which some of decisions are made by users.", "description.zh-CN": "用于人工控制部分决策的流程。", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-manual", diff --git a/packages/plugins/@nocobase/plugin-workflow-notification/package.json b/packages/plugins/@nocobase/plugin-workflow-notification/package.json index 2875e7a36a..8721ae28c0 100644 --- a/packages/plugins/@nocobase/plugin-workflow-notification/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-notification/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:通知节点", "description": "Send notification in workflow.", "description.zh-CN": "可用于在工作流中发送各类通知。", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-smtp-mailer", diff --git a/packages/plugins/@nocobase/plugin-workflow-parallel/package.json b/packages/plugins/@nocobase/plugin-workflow-parallel/package.json index ba76a6d6d3..0786b6bebf 100644 --- a/packages/plugins/@nocobase/plugin-workflow-parallel/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-parallel/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:并行分支节点", "description": "Could be used for parallel execution of branch processes in the workflow.", "description.zh-CN": "用于在工作流中需要并行执行的分支流程。", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-parallel", diff --git a/packages/plugins/@nocobase/plugin-workflow-request/package.json b/packages/plugins/@nocobase/plugin-workflow-request/package.json index 59f005fe6b..5b0d24a4fe 100644 --- a/packages/plugins/@nocobase/plugin-workflow-request/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-request/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:HTTP 请求节点", "description": "Send HTTP requests to any HTTP service for data interaction in workflow.", "description.zh-CN": "可用于在工作流中向任意 HTTP 服务发送请求,进行数据交互。", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-request", diff --git a/packages/plugins/@nocobase/plugin-workflow-sql/package.json b/packages/plugins/@nocobase/plugin-workflow-sql/package.json index db0bb19a68..1f513c79ab 100644 --- a/packages/plugins/@nocobase/plugin-workflow-sql/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-sql/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:SQL 节点", "description": "Execute SQL statements in workflow.", "description.zh-CN": "可用于在工作流中对数据库执行任意 SQL 语句。", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-sql", diff --git a/packages/plugins/@nocobase/plugin-workflow-test/package.json b/packages/plugins/@nocobase/plugin-workflow-test/package.json index 8aec9d4c13..3938a1982c 100644 --- a/packages/plugins/@nocobase/plugin-workflow-test/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-test/package.json @@ -2,7 +2,7 @@ "name": "@nocobase/plugin-workflow-test", "displayName": "Workflow: test kit", "displayName.zh-CN": "工作流:测试工具包", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "dist/server/index.js", "types": "./dist/server/index.d.ts", diff --git a/packages/plugins/@nocobase/plugin-workflow/package.json b/packages/plugins/@nocobase/plugin-workflow/package.json index f25ae28781..1927b1b02a 100644 --- a/packages/plugins/@nocobase/plugin-workflow/package.json +++ b/packages/plugins/@nocobase/plugin-workflow/package.json @@ -4,13 +4,13 @@ "displayName.zh-CN": "工作流", "description": "A powerful BPM tool that provides foundational support for business automation, with the capability to extend unlimited triggers and nodes.", "description.zh-CN": "一个强大的 BPM 工具,为业务自动化提供基础支持,并且可任意扩展更多的触发器和节点。", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/workflow", "dependencies": { - "@nocobase/plugin-workflow-test": "1.4.26" + "@nocobase/plugin-workflow-test": "1.4.27" }, "devDependencies": { "@ant-design/icons": "5.x", diff --git a/packages/presets/nocobase/package.json b/packages/presets/nocobase/package.json index 827d1e5b22..00488c858b 100644 --- a/packages/presets/nocobase/package.json +++ b/packages/presets/nocobase/package.json @@ -1,76 +1,76 @@ { "name": "@nocobase/preset-nocobase", - "version": "1.4.26", + "version": "1.4.27", "license": "AGPL-3.0", "main": "./lib/server/index.js", "dependencies": { "@formily/json-schema": "2.x", - "@nocobase/plugin-acl": "1.4.26", - "@nocobase/plugin-action-bulk-edit": "1.4.26", - "@nocobase/plugin-action-bulk-update": "1.4.26", - "@nocobase/plugin-action-custom-request": "1.4.26", - "@nocobase/plugin-action-duplicate": "1.4.26", - "@nocobase/plugin-action-export": "1.4.26", - "@nocobase/plugin-action-import": "1.4.26", - "@nocobase/plugin-action-print": "1.4.26", - "@nocobase/plugin-api-doc": "1.4.26", - "@nocobase/plugin-api-keys": "1.4.26", - "@nocobase/plugin-audit-logs": "1.4.26", - "@nocobase/plugin-auth": "1.4.26", - "@nocobase/plugin-auth-sms": "1.4.26", - "@nocobase/plugin-backup-restore": "1.4.26", - "@nocobase/plugin-block-iframe": "1.4.26", - "@nocobase/plugin-block-workbench": "1.4.26", - "@nocobase/plugin-calendar": "1.4.26", - "@nocobase/plugin-charts": "1.4.26", - "@nocobase/plugin-client": "1.4.26", - "@nocobase/plugin-collection-sql": "1.4.26", - "@nocobase/plugin-collection-tree": "1.4.26", - "@nocobase/plugin-data-source-main": "1.4.26", - "@nocobase/plugin-data-source-manager": "1.4.26", - "@nocobase/plugin-data-visualization": "1.4.26", - "@nocobase/plugin-error-handler": "1.4.26", - "@nocobase/plugin-field-china-region": "1.4.26", - "@nocobase/plugin-field-formula": "1.4.26", - "@nocobase/plugin-field-m2m-array": "1.4.26", - "@nocobase/plugin-field-markdown-vditor": "1.4.26", - "@nocobase/plugin-field-sequence": "1.4.26", - "@nocobase/plugin-file-manager": "1.4.26", - "@nocobase/plugin-gantt": "1.4.26", - "@nocobase/plugin-graph-collection-manager": "1.4.26", - "@nocobase/plugin-kanban": "1.4.26", - "@nocobase/plugin-localization": "1.4.26", - "@nocobase/plugin-logger": "1.4.26", - "@nocobase/plugin-map": "1.4.26", - "@nocobase/plugin-mobile": "1.4.26", - "@nocobase/plugin-mobile-client": "1.4.26", - "@nocobase/plugin-mock-collections": "1.4.26", - "@nocobase/plugin-multi-app-manager": "1.4.26", - "@nocobase/plugin-multi-app-share-collection": "1.4.26", - "@nocobase/plugin-notification-email": "1.4.26", - "@nocobase/plugin-notification-in-app-message": "1.4.26", - "@nocobase/plugin-notification-manager": "1.4.26", - "@nocobase/plugin-public-forms": "1.4.26", - "@nocobase/plugin-snapshot-field": "1.4.26", - "@nocobase/plugin-system-settings": "1.4.26", - "@nocobase/plugin-theme-editor": "1.4.26", - "@nocobase/plugin-ui-schema-storage": "1.4.26", - "@nocobase/plugin-user-data-sync": "1.4.26", - "@nocobase/plugin-users": "1.4.26", - "@nocobase/plugin-verification": "1.4.26", - "@nocobase/plugin-workflow": "1.4.26", - "@nocobase/plugin-workflow-action-trigger": "1.4.26", - "@nocobase/plugin-workflow-aggregate": "1.4.26", - "@nocobase/plugin-workflow-delay": "1.4.26", - "@nocobase/plugin-workflow-dynamic-calculation": "1.4.26", - "@nocobase/plugin-workflow-loop": "1.4.26", - "@nocobase/plugin-workflow-mailer": "1.4.26", - "@nocobase/plugin-workflow-manual": "1.4.26", - "@nocobase/plugin-workflow-notification": "1.4.26", - "@nocobase/plugin-workflow-parallel": "1.4.26", - "@nocobase/plugin-workflow-request": "1.4.26", - "@nocobase/plugin-workflow-sql": "1.4.26", - "@nocobase/server": "1.4.26", + "@nocobase/plugin-acl": "1.4.27", + "@nocobase/plugin-action-bulk-edit": "1.4.27", + "@nocobase/plugin-action-bulk-update": "1.4.27", + "@nocobase/plugin-action-custom-request": "1.4.27", + "@nocobase/plugin-action-duplicate": "1.4.27", + "@nocobase/plugin-action-export": "1.4.27", + "@nocobase/plugin-action-import": "1.4.27", + "@nocobase/plugin-action-print": "1.4.27", + "@nocobase/plugin-api-doc": "1.4.27", + "@nocobase/plugin-api-keys": "1.4.27", + "@nocobase/plugin-audit-logs": "1.4.27", + "@nocobase/plugin-auth": "1.4.27", + "@nocobase/plugin-auth-sms": "1.4.27", + "@nocobase/plugin-backup-restore": "1.4.27", + "@nocobase/plugin-block-iframe": "1.4.27", + "@nocobase/plugin-block-workbench": "1.4.27", + "@nocobase/plugin-calendar": "1.4.27", + "@nocobase/plugin-charts": "1.4.27", + "@nocobase/plugin-client": "1.4.27", + "@nocobase/plugin-collection-sql": "1.4.27", + "@nocobase/plugin-collection-tree": "1.4.27", + "@nocobase/plugin-data-source-main": "1.4.27", + "@nocobase/plugin-data-source-manager": "1.4.27", + "@nocobase/plugin-data-visualization": "1.4.27", + "@nocobase/plugin-error-handler": "1.4.27", + "@nocobase/plugin-field-china-region": "1.4.27", + "@nocobase/plugin-field-formula": "1.4.27", + "@nocobase/plugin-field-m2m-array": "1.4.27", + "@nocobase/plugin-field-markdown-vditor": "1.4.27", + "@nocobase/plugin-field-sequence": "1.4.27", + "@nocobase/plugin-file-manager": "1.4.27", + "@nocobase/plugin-gantt": "1.4.27", + "@nocobase/plugin-graph-collection-manager": "1.4.27", + "@nocobase/plugin-kanban": "1.4.27", + "@nocobase/plugin-localization": "1.4.27", + "@nocobase/plugin-logger": "1.4.27", + "@nocobase/plugin-map": "1.4.27", + "@nocobase/plugin-mobile": "1.4.27", + "@nocobase/plugin-mobile-client": "1.4.27", + "@nocobase/plugin-mock-collections": "1.4.27", + "@nocobase/plugin-multi-app-manager": "1.4.27", + "@nocobase/plugin-multi-app-share-collection": "1.4.27", + "@nocobase/plugin-notification-email": "1.4.27", + "@nocobase/plugin-notification-in-app-message": "1.4.27", + "@nocobase/plugin-notification-manager": "1.4.27", + "@nocobase/plugin-public-forms": "1.4.27", + "@nocobase/plugin-snapshot-field": "1.4.27", + "@nocobase/plugin-system-settings": "1.4.27", + "@nocobase/plugin-theme-editor": "1.4.27", + "@nocobase/plugin-ui-schema-storage": "1.4.27", + "@nocobase/plugin-user-data-sync": "1.4.27", + "@nocobase/plugin-users": "1.4.27", + "@nocobase/plugin-verification": "1.4.27", + "@nocobase/plugin-workflow": "1.4.27", + "@nocobase/plugin-workflow-action-trigger": "1.4.27", + "@nocobase/plugin-workflow-aggregate": "1.4.27", + "@nocobase/plugin-workflow-delay": "1.4.27", + "@nocobase/plugin-workflow-dynamic-calculation": "1.4.27", + "@nocobase/plugin-workflow-loop": "1.4.27", + "@nocobase/plugin-workflow-mailer": "1.4.27", + "@nocobase/plugin-workflow-manual": "1.4.27", + "@nocobase/plugin-workflow-notification": "1.4.27", + "@nocobase/plugin-workflow-parallel": "1.4.27", + "@nocobase/plugin-workflow-request": "1.4.27", + "@nocobase/plugin-workflow-sql": "1.4.27", + "@nocobase/server": "1.4.27", "cronstrue": "^2.11.0", "fs-extra": "^11.1.1" }, From aadb52b74b6b5ee718276bd8e283150df8f29452 Mon Sep 17 00:00:00 2001 From: "nocobase[bot]" <179432756+nocobase[bot]@users.noreply.github.com> Date: Sat, 18 Jan 2025 10:29:28 +0000 Subject: [PATCH 033/125] docs: update changelogs --- CHANGELOG.md | 8 ++++++++ CHANGELOG.zh-CN.md | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5a30bca4f7..9368e22bee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [v1.4.27](https://github.com/nocobase/nocobase/compare/v1.4.26...v1.4.27) - 2025-01-18 + +### 🐛 Bug Fixes + +- **[client]** Fix the issue where block data is empty in the popup window on the embedded page ([#6086](https://github.com/nocobase/nocobase/pull/6086)) by @zhangzhonghe + +- **[Workflow]** Fix dispatch not process in preparing phase ([#6087](https://github.com/nocobase/nocobase/pull/6087)) by @mytharcher + ## [v1.4.26](https://github.com/nocobase/nocobase/compare/v1.4.25...v1.4.26) - 2025-01-16 ### 🚀 Improvements diff --git a/CHANGELOG.zh-CN.md b/CHANGELOG.zh-CN.md index f836c953ea..8ebc5532fb 100644 --- a/CHANGELOG.zh-CN.md +++ b/CHANGELOG.zh-CN.md @@ -5,6 +5,14 @@ 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/), 并且本项目遵循 [语义化版本](https://semver.org/spec/v2.0.0.html)。 +## [v1.4.27](https://github.com/nocobase/nocobase/compare/v1.4.26...v1.4.27) - 2025-01-18 + +### 🐛 修复 + +- **[client]** 修复在嵌入页面中,弹窗中的区块数据为空的问题 ([#6086](https://github.com/nocobase/nocobase/pull/6086)) by @zhangzhonghe + +- **[工作流]** 修复在准备阶段的调度未能执行的问题 ([#6087](https://github.com/nocobase/nocobase/pull/6087)) by @mytharcher + ## [v1.4.26](https://github.com/nocobase/nocobase/compare/v1.4.25...v1.4.26) - 2025-01-16 ### 🚀 优化 From cc6928c7d054035249ee251f7567f6bb3b181218 Mon Sep 17 00:00:00 2001 From: Sheldon Guo Date: Sat, 18 Jan 2025 22:18:51 +0800 Subject: [PATCH 034/125] feat(auth): support token security (#5948) * feat(auth): support token security config --------- Co-authored-by: chenos Co-authored-by: xilesun <2013xile@gmail.com> --- .../core/auth/src/__tests__/base-auth.test.ts | 73 ++++++- .../auth/src/__tests__/middleware.test.ts | 13 +- packages/core/auth/src/auth-manager.ts | 37 ++-- packages/core/auth/src/auth.ts | 31 ++- packages/core/auth/src/base/auth.ts | 154 ++++++++++++--- packages/core/auth/src/base/jwt-service.ts | 11 +- .../auth/src/base/token-control-service.ts | 36 ++++ packages/core/auth/src/index.ts | 1 + .../core/client/src/api-client/APIClient.ts | 135 +++++++------ .../client/src/application/RouterManager.tsx | 83 +++++--- packages/core/client/src/locale/en-US.json | 6 +- packages/core/client/src/locale/zh-CN.json | 14 +- .../client/src/user/CurrentUserProvider.tsx | 20 +- .../variables/__tests__/useVariables.test.tsx | 12 ++ packages/core/sdk/src/APIClient.ts | 8 +- packages/core/test/src/server/mock-server.ts | 29 ++- .../src/server/__tests__/actions.test.ts | 3 +- .../server/__tests__/configuration.test.ts | 4 +- .../src/server/__tests__/get-action.test.ts | 26 ++- .../src/server/__tests__/list-action.test.ts | 61 +++--- .../src/server/__tests__/middleware.test.ts | 18 +- .../@nocobase/plugin-auth/package.json | 6 +- .../plugin-auth/src/client/index.tsx | 18 +- .../plugin-auth/src/client/interceptors.ts | 69 +++++++ .../settings/token-policy/components.tsx | 55 ++++++ .../src/client/settings/token-policy/hooks.ts | 61 ++++++ .../client/settings/token-policy/index.tsx | 86 +++++++++ .../@nocobase/plugin-auth/src/constants.ts | 13 ++ .../plugin-auth/src/locale/en-US.json | 18 +- .../plugin-auth/src/locale/zh-CN.json | 17 +- .../src/server/__tests__/actions.test.ts | 8 +- .../server/__tests__/token-controller.test.ts | 181 ++++++++++++++++++ .../__tests__/token-policy-settings.test.ts | 125 ++++++++++++ .../src/server/collections/issued-tokens.ts | 49 +++++ .../server/collections/token-poilcy-config.ts | 36 ++++ .../@nocobase/plugin-auth/src/server/index.ts | 1 + ...241229080941-create-token-policy-config.ts | 36 ++++ .../plugin-auth/src/server/plugin.ts | 105 +++++++--- .../src/server/token-controller.ts | 152 +++++++++++++++ .../@nocobase/plugin-auth/src/types.ts | 10 + .../src/server/__tests__/api.test.ts | 56 +++--- .../src/server/__tests__/trigger.test.ts | 1 + .../src/server/__tests__/instruction.test.ts | 2 +- 43 files changed, 1613 insertions(+), 267 deletions(-) create mode 100644 packages/core/auth/src/base/token-control-service.ts create mode 100644 packages/plugins/@nocobase/plugin-auth/src/client/interceptors.ts create mode 100644 packages/plugins/@nocobase/plugin-auth/src/client/settings/token-policy/components.tsx create mode 100644 packages/plugins/@nocobase/plugin-auth/src/client/settings/token-policy/hooks.ts create mode 100644 packages/plugins/@nocobase/plugin-auth/src/client/settings/token-policy/index.tsx create mode 100644 packages/plugins/@nocobase/plugin-auth/src/constants.ts create mode 100644 packages/plugins/@nocobase/plugin-auth/src/server/__tests__/token-controller.test.ts create mode 100644 packages/plugins/@nocobase/plugin-auth/src/server/__tests__/token-policy-settings.test.ts create mode 100644 packages/plugins/@nocobase/plugin-auth/src/server/collections/issued-tokens.ts create mode 100644 packages/plugins/@nocobase/plugin-auth/src/server/collections/token-poilcy-config.ts create mode 100644 packages/plugins/@nocobase/plugin-auth/src/server/migrations/20241229080941-create-token-policy-config.ts create mode 100644 packages/plugins/@nocobase/plugin-auth/src/server/token-controller.ts create mode 100644 packages/plugins/@nocobase/plugin-auth/src/types.ts diff --git a/packages/core/auth/src/__tests__/base-auth.test.ts b/packages/core/auth/src/__tests__/base-auth.test.ts index 131738fb84..5345c24892 100644 --- a/packages/core/auth/src/__tests__/base-auth.test.ts +++ b/packages/core/auth/src/__tests__/base-auth.test.ts @@ -7,8 +7,9 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import { BaseAuth } from '../base/auth'; import { vi } from 'vitest'; +import { BaseAuth } from '../base/auth'; +import { AuthErrorCode } from '../auth'; describe('base-auth', () => { it('should validate username', () => { @@ -29,20 +30,25 @@ describe('base-auth', () => { expect(auth.validateUsername('01234567890123456789012345678901234567890123456789a')).toBe(false); }); - it('check: should return null when no token', async () => { + it('check: should return user null when no token', async () => { const auth = new BaseAuth({ userCollection: {}, ctx: { + t: (s) => s, getBearerToken: () => null, + throw: (httpCode, err) => { + throw new Error(err.message); + }, }, } as any); - expect(await auth.check()).toBe(null); + expect(auth.check()).rejects.toThrow('Unauthenticated. Please sign in to continue.'); }); it('check: should set roleName to headers', async () => { const ctx = { getBearerToken: () => 'token', + t: (s) => s, headers: {}, logger: { error: (...args) => console.log(args), @@ -51,9 +57,19 @@ describe('base-auth', () => { authManager: { jwt: { decode: () => ({ userId: 1, roleName: 'admin' }), + blacklist: { + has: () => false, + }, + }, + tokenController: { + check: () => ({ status: 'valid' }), + removeLoginExpiredTokens: async () => null, }, }, }, + cache: { + wrap: async (key, fn) => fn(), + }, }; const auth = new BaseAuth({ ctx, @@ -70,6 +86,7 @@ describe('base-auth', () => { it('check: should return user', async () => { const ctx = { + t: (s) => s, getBearerToken: () => 'token', headers: {}, logger: { @@ -79,6 +96,13 @@ describe('base-auth', () => { authManager: { jwt: { decode: () => ({ userId: 1, roleName: 'admin' }), + blacklist: { + has: () => false, + }, + }, + tokenController: { + check: () => ({ status: 'valid' }), + removeLoginExpiredTokens: () => null, }, }, }, @@ -99,16 +123,22 @@ describe('base-auth', () => { it('signIn: should throw 401', async () => { const ctx = { - throw: vi.fn().mockImplementation((status, message) => { - throw new Error(message); - }), + t: (s) => s, + throw: (httpCode, error) => { + throw new Error(error.code); + }, }; const auth = new BaseAuth({ userCollection: {}, ctx, } as any); - await expect(auth.signIn()).rejects.toThrowError('Unauthorized'); + try { + await auth.signIn(); + } catch (e) { + expect(e.message).toBe(AuthErrorCode.NOT_EXIST_USER); + } + await expect(auth.signIn()).rejects.toThrow(); }); it('signIn: should return user and token', async () => { @@ -127,6 +157,15 @@ describe('base-auth', () => { jwt: { sign: () => 'token', }, + tokenController: { + add: () => 'access', + getConfig: () => ({ + tokenExpirationTime: '30m', + sessionExpirationTime: '1d', + expiredTokenRenewLimit: '15m', + }), + removeLoginExpiredTokens: () => null, + }, }, }, }; @@ -140,4 +179,24 @@ describe('base-auth', () => { expect(res.token).toBe('token'); expect(res.user).toEqual({ id: 1 }); }); + + it('should throw invalid error', async () => { + const ctx = { + t: (s) => s, + getBearerToken: () => 'token', + throw: (httpCode, error) => { + throw new Error(error.code); + }, + }; + + const auth = new BaseAuth({ + userCollection: {}, + ctx, + } as any); + try { + await auth.validate(); + } catch (e) { + expect(e.message).toBe(AuthErrorCode.INVALID_TOKEN); + } + }); }); diff --git a/packages/core/auth/src/__tests__/middleware.test.ts b/packages/core/auth/src/__tests__/middleware.test.ts index 2c58944788..93939c66fd 100644 --- a/packages/core/auth/src/__tests__/middleware.test.ts +++ b/packages/core/auth/src/__tests__/middleware.test.ts @@ -10,6 +10,7 @@ import { Database } from '@nocobase/database'; import { MockServer, createMockServer } from '@nocobase/test'; import { vi } from 'vitest'; +import { AuthErrorCode } from '../auth'; describe('middleware', () => { let app: MockServer; @@ -20,7 +21,7 @@ describe('middleware', () => { app = await createMockServer({ registerActions: true, acl: true, - plugins: ['users', 'auth', 'acl', 'field-sort', 'data-source-manager'], + plugins: ['users', 'auth', 'acl', 'field-sort', 'data-source-manager', 'error-handler'], }); // app.plugin(ApiKeysPlugin); @@ -70,7 +71,15 @@ describe('middleware', () => { hasFn.mockImplementation(() => true); const res = await agent.resource('auth').check(); expect(res.status).toBe(401); - expect(res.text).toContain('Token is invalid'); + expect(res.body.errors.some((error) => error.code === AuthErrorCode.BLOCKED_TOKEN)).toBe(true); + }); + + it('should throw 401 when token in empty', async () => { + const visitorAgent = app.agent(); + hasFn.mockImplementation(() => true); + const res = await visitorAgent.resource('auth').check(); + expect(res.status).toBe(401); + expect(res.body.errors.some((error) => error.code === AuthErrorCode.EMPTY_TOKEN)).toBe(true); }); }); }); diff --git a/packages/core/auth/src/auth-manager.ts b/packages/core/auth/src/auth-manager.ts index 955e760f73..4d17487dd7 100644 --- a/packages/core/auth/src/auth-manager.ts +++ b/packages/core/auth/src/auth-manager.ts @@ -9,10 +9,11 @@ import { Context, Next } from '@nocobase/actions'; import { Registry } from '@nocobase/utils'; +import { ACL } from '@nocobase/acl'; import { Auth, AuthExtend } from './auth'; import { JwtOptions, JwtService } from './base/jwt-service'; import { ITokenBlacklistService } from './base/token-blacklist-service'; - +import { ITokenControlService } from './base/token-control-service'; export interface Authenticator { authType: string; options: Record; @@ -40,6 +41,8 @@ export class AuthManager { * @internal */ jwt: JwtService; + tokenController: ITokenControlService; + protected options: AuthManagerOptions; protected authTypes: Registry = new Registry(); // authenticators collection manager. @@ -58,6 +61,10 @@ export class AuthManager { this.jwt.blacklist = service; } + setTokenControlService(service: ITokenControlService) { + this.tokenController = service; + } + /** * registerTypes * @description Add a new authenticate type and the corresponding authenticator. @@ -104,22 +111,13 @@ export class AuthManager { /** * middleware - * @description Auth middleware, used to check the authentication status. + * @description Auth middleware, used to check the user status. */ middleware() { const self = this; return async function AuthManagerMiddleware(ctx: Context & { auth: Auth }, next: Next) { - const token = ctx.getBearerToken(); - if (token && (await ctx.app.authManager.jwt.blacklist?.has(token))) { - return ctx.throw(401, { - code: 'TOKEN_INVALID', - message: ctx.t('Token is invalid'), - }); - } - const name = ctx.get(self.options.authKey) || self.options.default; - let authenticator: Auth; try { authenticator = await ctx.app.authManager.get(name, ctx); @@ -129,11 +127,18 @@ export class AuthManager { ctx.logger.warn(err.message, { method: 'check', authenticator: name }); return next(); } - if (authenticator) { - const user = await ctx.auth.check(); - if (user) { - ctx.auth.user = user; - } + + if (!authenticator) { + return next(); + } + + if (await ctx.auth.skipCheck()) { + return next(); + } + + const user = await ctx.auth.check(); + if (user) { + ctx.auth.user = user; } await next(); }; diff --git a/packages/core/auth/src/auth.ts b/packages/core/auth/src/auth.ts index b0622576ee..19130c374e 100644 --- a/packages/core/auth/src/auth.ts +++ b/packages/core/auth/src/auth.ts @@ -10,7 +10,6 @@ import { Context } from '@nocobase/actions'; import { Model } from '@nocobase/database'; import { Authenticator } from './auth-manager'; - export type AuthConfig = { authenticator: Authenticator; options: { @@ -18,7 +17,25 @@ export type AuthConfig = { }; ctx: Context; }; +export const AuthErrorCode = { + EMPTY_TOKEN: 'EMPTY_TOKEN' as const, + EXPIRED_TOKEN: 'EXPIRED_TOKEN' as const, + INVALID_TOKEN: 'INVALID_TOKEN' as const, + TOKEN_RENEW_FAILED: 'TOKEN_RENEW_FAILED' as const, + BLOCKED_TOKEN: 'BLOCKED_TOKEN' as const, + EXPIRED_SESSION: 'EXPIRED_SESSION' as const, + NOT_EXIST_USER: 'NOT_EXIST_USER' as const, +}; +export type AuthErrorType = keyof typeof AuthErrorCode; + +export class AuthError extends Error { + code: AuthErrorType; + constructor(options: { code: AuthErrorType; message: string }) { + super(options.message); + this.code = options.code; + } +} export type AuthExtend = new (config: AuthConfig) => T; interface IAuth { @@ -49,9 +66,21 @@ export abstract class Auth implements IAuth { this.ctx = ctx; } + async skipCheck() { + const token = this.ctx.getBearerToken(); + if (!token && this.ctx.app.options.acl === false) { + return true; + } + const { resourceName, actionName } = this.ctx.action; + const acl = this.ctx.dataSource.acl; + const isPublic = await acl.allowManager.isAllowed(resourceName, actionName, this.ctx); + return isPublic; + } + // The abstract methods are required to be implemented by all authentications. abstract check(): Promise; // The following methods are mainly designed for user authentications. + async signIn(): Promise {} async signUp(): Promise {} async signOut(): Promise {} diff --git a/packages/core/auth/src/base/auth.ts b/packages/core/auth/src/base/auth.ts index 8220814a2e..b158fc8c2c 100644 --- a/packages/core/auth/src/base/auth.ts +++ b/packages/core/auth/src/base/auth.ts @@ -8,10 +8,13 @@ */ import { Collection, Model } from '@nocobase/database'; -import { Auth, AuthConfig } from '../auth'; -import { JwtService } from './jwt-service'; import { Cache } from '@nocobase/cache'; +import jwt from 'jsonwebtoken'; +import { Auth, AuthConfig, AuthErrorCode, AuthError } from '../auth'; +import { JwtService } from './jwt-service'; +import { ITokenControlService } from './token-control-service'; +const localeNamespace = 'auth'; /** * BaseAuth * @description A base class with jwt provide some common methods. @@ -40,6 +43,10 @@ export class BaseAuth extends Auth { return this.ctx.app.authManager.jwt; } + get tokenController(): ITokenControlService { + return this.ctx.app.authManager.tokenController; + } + set user(user: Model) { this.ctx.state.currentUser = user; } @@ -63,35 +70,109 @@ export class BaseAuth extends Auth { return /^[^@.<>"'/]{1,50}$/.test(username); } - async check() { + async check(): ReturnType { const token = this.ctx.getBearerToken(); + if (!token) { - return null; + this.ctx.throw(401, { + message: this.ctx.t('Unauthenticated. Please sign in to continue.', { ns: localeNamespace }), + code: AuthErrorCode.EMPTY_TOKEN, + }); } + + let tokenStatus: 'valid' | 'expired' | 'invalid'; + let payload; try { - const { userId, roleName, iat, temp } = await this.jwt.decode(token); - - if (roleName) { - this.ctx.headers['x-role'] = roleName; - } - - const cache = this.ctx.cache as Cache; - const user = await cache.wrap(this.getCacheKey(userId), () => - this.userRepository.findOne({ - filter: { - id: userId, - }, - raw: true, - }), - ); - if (temp && user.passwordChangeTz && iat * 1000 < user.passwordChangeTz) { - throw new Error('Token is invalid'); - } - return user; + payload = await this.jwt.decode(token); + tokenStatus = 'valid'; } catch (err) { - this.ctx.logger.error(err, { method: 'check' }); - return null; + if (err.name === 'TokenExpiredError') { + tokenStatus = 'expired'; + payload = jwt.decode(token); + } else { + this.ctx.logger.error(err, { method: 'jwt.decode' }); + this.ctx.throw(401, { + message: this.ctx.t('Your session has expired. Please sign in again.', { ns: localeNamespace }), + code: AuthErrorCode.INVALID_TOKEN, + }); + } } + + const { userId, roleName, iat, temp, jti, exp, signInTime } = payload ?? {}; + + const blocked = await this.jwt.blacklist.has(jti ?? token); + if (blocked) { + this.ctx.throw(401, { + message: this.ctx.t('Your session has expired. Please sign in again.', { ns: localeNamespace }), + code: AuthErrorCode.BLOCKED_TOKEN, + }); + } + + if (roleName) { + this.ctx.headers['x-role'] = roleName; + } + + const cache = this.ctx.cache as Cache; + + const user = await cache.wrap(this.getCacheKey(userId), () => + this.userRepository.findOne({ + filter: { + id: userId, + }, + raw: true, + }), + ); + + if (!temp && tokenStatus !== 'valid') { + this.ctx.throw(401, { + message: this.ctx.t('Your session has expired. Please sign in again.', { ns: localeNamespace }), + code: AuthErrorCode.INVALID_TOKEN, + }); + } + + if (tokenStatus === 'valid' && user.passwordChangeTz && iat * 1000 < user.passwordChangeTz) { + this.ctx.throw(401, { + message: this.ctx.t('User password changed, please signin again.', { ns: localeNamespace }), + code: AuthErrorCode.INVALID_TOKEN, + }); + } + + if (tokenStatus === 'expired') { + const tokenPolicy = await this.tokenController.getConfig(); + if (!signInTime || Date.now() - signInTime > tokenPolicy.sessionExpirationTime) { + this.ctx.throw(401, { + message: this.ctx.t('Your session has expired. Please sign in again.', { ns: localeNamespace }), + code: AuthErrorCode.EXPIRED_SESSION, + }); + } + + if (tokenPolicy.expiredTokenRenewLimit > 0 && Date.now() - exp * 1000 > tokenPolicy.expiredTokenRenewLimit) { + this.ctx.throw(401, { + message: this.ctx.t('Your session has expired. Please sign in again.', { ns: localeNamespace }), + code: AuthErrorCode.EXPIRED_SESSION, + }); + } + + try { + const renewedResult = await this.tokenController.renew(jti); + const expiresIn = Math.floor(tokenPolicy.tokenExpirationTime / 1000); + const newToken = this.jwt.sign({ userId, roleName, temp, signInTime }, { jwtid: renewedResult.jti, expiresIn }); + this.ctx.res.setHeader('x-new-token', newToken); + return user; + } catch (err) { + const options = + err instanceof AuthError + ? { type: err.code, message: err.message } + : { message: err.message, type: AuthErrorCode.INVALID_TOKEN }; + + this.ctx.throw(401, { + message: this.ctx.t(options.message, { ns: localeNamespace }), + code: options.type, + }); + } + } + + return user; } async validate(): Promise { @@ -108,12 +189,25 @@ export class BaseAuth extends Auth { }); } if (!user) { - this.ctx.throw(401, 'Unauthorized'); + this.ctx.throw(401, { + message: this.ctx.t('User not found. Please sign in again to continue.', { ns: localeNamespace }), + code: AuthErrorCode.NOT_EXIST_USER, + }); } - const token = this.jwt.sign({ - userId: user.id, - temp: true, - }); + const tokenInfo = await this.tokenController.add({ userId: user.id }); + const expiresIn = Math.floor((await this.tokenController.getConfig()).tokenExpirationTime / 1000); + const token = this.jwt.sign( + { + userId: user.id, + temp: true, + iat: Math.floor(tokenInfo.issuedTime / 1000), + signInTime: tokenInfo.signInTime, + }, + { + jwtid: tokenInfo.jti, + expiresIn, + }, + ); return { user, token, diff --git a/packages/core/auth/src/base/jwt-service.ts b/packages/core/auth/src/base/jwt-service.ts index 6782cfee7e..f2f9dfe9d5 100644 --- a/packages/core/auth/src/base/jwt-service.ts +++ b/packages/core/auth/src/base/jwt-service.ts @@ -7,9 +7,8 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import jwt, { SignOptions } from 'jsonwebtoken'; +import jwt, { JwtPayload, SignOptions } from 'jsonwebtoken'; import { ITokenBlacklistService } from './token-blacklist-service'; - export interface JwtOptions { secret: string; expiresIn?: string; @@ -50,9 +49,9 @@ export class JwtService { } /* istanbul ignore next -- @preserve */ - decode(token: string): Promise { + decode(token: string): Promise { return new Promise((resolve, reject) => { - jwt.verify(token, this.secret(), (err: any, decoded: any) => { + jwt.verify(token, this.secret(), (err, decoded: JwtPayload) => { if (err) { return reject(err); } @@ -70,9 +69,9 @@ export class JwtService { return null; } try { - const { exp } = await this.decode(token); + const { exp, jti } = await this.decode(token); return this.blacklist.add({ - token, + token: jti ?? token, expiration: new Date(exp * 1000).toString(), }); } catch { diff --git a/packages/core/auth/src/base/token-control-service.ts b/packages/core/auth/src/base/token-control-service.ts new file mode 100644 index 0000000000..5174c5d6db --- /dev/null +++ b/packages/core/auth/src/base/token-control-service.ts @@ -0,0 +1,36 @@ +/** + * This file is part of the NocoBase (R) project. + * Copyright (c) 2020-2024 NocoBase Co., Ltd. + * Authors: NocoBase Team. + * + * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License. + * For more information, please refer to: https://www.nocobase.com/agreement. + */ + +export interface TokenPolicyConfig { + tokenExpirationTime: string; + sessionExpirationTime: string; + expiredTokenRenewLimit: string; +} + +type millisecond = number; +export type NumericTokenPolicyConfig = { + [K in keyof TokenPolicyConfig]: millisecond; +}; + +export type TokenInfo = { + jti: string; + userId: number; + issuedTime: EpochTimeStamp; + signInTime: EpochTimeStamp; + renewed: boolean; +}; + +export type JTIStatus = 'valid' | 'inactive' | 'blocked' | 'missing' | 'renewed' | 'expired'; +export interface ITokenControlService { + getConfig(): Promise; + setConfig(config: TokenPolicyConfig): Promise; + renew(jti: string): Promise<{ jti: string; issuedTime: EpochTimeStamp }>; + add({ userId }: { userId: number }): Promise; + removeSessionExpiredTokens(userId: number): Promise; +} diff --git a/packages/core/auth/src/index.ts b/packages/core/auth/src/index.ts index 6296a1244c..44390e8c80 100644 --- a/packages/core/auth/src/index.ts +++ b/packages/core/auth/src/index.ts @@ -12,3 +12,4 @@ export * from './auth'; export * from './auth-manager'; export * from './base/auth'; export * from './base/token-blacklist-service'; +export * from './base/token-control-service'; diff --git a/packages/core/client/src/api-client/APIClient.ts b/packages/core/client/src/api-client/APIClient.ts index 3dd8d3550e..1cbbcdacdd 100644 --- a/packages/core/client/src/api-client/APIClient.ts +++ b/packages/core/client/src/api-client/APIClient.ts @@ -70,6 +70,18 @@ export class APIClient extends APIClientSDK { api.auth = this.auth; api.storagePrefix = this.storagePrefix; api.notification = this.notification; + const handlers = []; + for (const handler of this.axios.interceptors.response['handlers']) { + if (handler.rejected['_name'] === 'handleNotificationError') { + handlers.push({ + ...handler, + rejected: api.handleNotificationError.bind(api), + }); + } else { + handlers.push(handler); + } + } + api.axios.interceptors.response['handlers'] = handlers; return api; } @@ -136,66 +148,71 @@ export class APIClient extends APIClientSDK { ); } - useNotificationMiddleware() { - this.axios.interceptors.response.use( - (response) => { - if (response.data?.messages?.length) { - const messages = response.data.messages.filter((item) => { - const lastTime = errorCache.get(typeof item === 'string' ? item : item.message); - if (lastTime && new Date().getTime() - lastTime < 500) { - return false; - } - errorCache.set(item.message, new Date().getTime()); - return true; - }); - notify('success', messages, this.notification); - } - return response; - }, - async (error) => { - if (this.silence) { - console.error(error); - return; - // throw error; - } - const redirectTo = error?.response?.data?.redirectTo; - if (redirectTo) { - return (window.location.href = redirectTo); - } - if (error?.response?.data?.type === 'application/json') { - handleErrorMessage(error, this.notification); - } else { - if (errorCache.size > 10) { - errorCache.clear(); - } - const maintaining = !!error?.response?.data?.error?.maintaining; - if (this.app.maintaining !== maintaining) { - this.app.maintaining = maintaining; - } - if (this.app.maintaining) { - this.app.error = error?.response?.data?.error; - throw error; - } else if (this.app.error) { - this.app.error = null; - } - let errs = this.toErrMessages(error); - errs = errs.filter((error) => { - const lastTime = errorCache.get(error.message); - if (lastTime && new Date().getTime() - lastTime < 500) { - return false; - } - errorCache.set(error.message, new Date().getTime()); - return true; - }); - if (errs.length === 0) { - throw error; - } - - notify('error', errs, this.notification); - } + async handleNotificationError(error) { + if (this.silence) { + // console.error(error); + // return; + throw error; + } + const skipNotify: boolean | ((error: any) => boolean) = error.config?.skipNotify; + if (skipNotify && ((typeof skipNotify === 'function' && skipNotify(error)) || skipNotify === true)) { + throw error; + } + const redirectTo = error?.response?.data?.redirectTo; + if (redirectTo) { + return (window.location.href = redirectTo); + } + if (error?.response?.data?.type === 'application/json') { + handleErrorMessage(error, this.notification); + } else { + if (errorCache.size > 10) { + errorCache.clear(); + } + const maintaining = !!error?.response?.data?.error?.maintaining; + if (this.app.maintaining !== maintaining) { + this.app.maintaining = maintaining; + } + if (this.app.maintaining) { + this.app.error = error?.response?.data?.error; throw error; - }, - ); + } else if (this.app.error) { + this.app.error = null; + } + let errs = this.toErrMessages(error); + errs = errs.filter((error) => { + const lastTime = errorCache.get(error.message); + if (lastTime && new Date().getTime() - lastTime < 500) { + return false; + } + errorCache.set(error.message, new Date().getTime()); + return true; + }); + if (errs.length === 0) { + throw error; + } + + notify('error', errs, this.notification); + } + throw error; + } + + useNotificationMiddleware() { + const errorHandler = this.handleNotificationError.bind(this); + errorHandler['_name'] = 'handleNotificationError'; + this.axios.interceptors.response.use((response) => { + if (response.data?.messages?.length) { + const messages = response.data.messages.filter((item) => { + const lastTime = errorCache.get(typeof item === 'string' ? item : item.message); + if (lastTime && new Date().getTime() - lastTime < 500) { + return false; + } + errorCache.set(item.message, new Date().getTime()); + return true; + }); + notify('success', messages, this.notification); + } + return response; + }, errorHandler); } silent() { diff --git a/packages/core/client/src/application/RouterManager.tsx b/packages/core/client/src/application/RouterManager.tsx index 80ea253209..a8b08dafa0 100644 --- a/packages/core/client/src/application/RouterManager.tsx +++ b/packages/core/client/src/application/RouterManager.tsx @@ -8,16 +8,18 @@ */ import { get, set } from 'lodash'; -import React, { ComponentType } from 'react'; +import React, { ComponentType, createContext, useContext } from 'react'; import { - BrowserRouter, BrowserRouterProps, - HashRouter, + createBrowserRouter, + createHashRouter, + createMemoryRouter, HashRouterProps, - MemoryRouter, MemoryRouterProps, + Outlet, RouteObject, - useRoutes, + RouterProvider, + useRouteError, } from 'react-router-dom'; import VariablesProvider from '../variables/VariablesProvider'; import { Application } from './Application'; @@ -47,6 +49,16 @@ export class RouterManager { protected routes: Record = {}; protected options: RouterOptions; public app: Application; + private router; + get basename() { + return this.router.basename; + } + get state() { + return this.router.state; + } + get navigate() { + return this.router.navigate; + } constructor(options: RouterOptions = {}, app: Application) { this.options = options; @@ -127,34 +139,55 @@ export class RouterManager { */ getRouterComponent(children?: React.ReactNode) { const { type = 'browser', ...opts } = this.options; - const Routers = { - hash: HashRouter, - browser: BrowserRouter, - memory: MemoryRouter, + + const routerCreators = { + hash: createHashRouter, + browser: createBrowserRouter, + memory: createMemoryRouter, }; - const ReactRouter = Routers[type]; const routes = this.getRoutesTree(); - const RenderRoutes = () => { - const element = useRoutes(routes); - return element; + const BaseLayoutContext = createContext(null); + + const Provider = () => { + const BaseLayout = useContext(BaseLayoutContext); + return ( + + + + + {children} + + + + ); }; + // bubble up error to application error boundary + const ErrorElement = () => { + const error = useRouteError(); + throw error; + }; + + this.router = routerCreators[type]( + [ + { + element: , + errorElement: , + children: routes, + }, + ], + opts, + ); + const RenderRouter: React.FC<{ BaseLayout?: ComponentType }> = ({ BaseLayout = BlankComponent }) => { return ( - - - - - - - {children} - - - - - + + + + + ); }; diff --git a/packages/core/client/src/locale/en-US.json b/packages/core/client/src/locale/en-US.json index 21e47edfe6..455717790d 100644 --- a/packages/core/client/src/locale/en-US.json +++ b/packages/core/client/src/locale/en-US.json @@ -857,5 +857,9 @@ "Notification": "Notification", "Ellipsis overflow content": "Ellipsis overflow content", "Hide column": "Hide column", - "In configuration mode, the entire column becomes transparent. In non-configuration mode, the entire column will be hidden. Even if the entire column is hidden, its configured default values and other settings will still take effect.": "In configuration mode, the entire column becomes transparent. In non-configuration mode, the entire column will be hidden. Even if the entire column is hidden, its configured default values and other settings will still take effect." + "In configuration mode, the entire column becomes transparent. In non-configuration mode, the entire column will be hidden. Even if the entire column is hidden, its configured default values and other settings will still take effect.": "In configuration mode, the entire column becomes transparent. In non-configuration mode, the entire column will be hidden. Even if the entire column is hidden, its configured default values and other settings will still take effect.", + "Unauthenticated. Please sign in to continue.": "Unauthenticated. Please sign in to continue.", + "User not found. Please sign in again to continue.": "User not found. Please sign in again to continue.", + "Your session has expired. Please sign in again.": "Your session has expired. Please sign in again.", + "User password changed, please signin again.": "User password changed, please signin again." } \ No newline at end of file diff --git a/packages/core/client/src/locale/zh-CN.json b/packages/core/client/src/locale/zh-CN.json index 5bfec98d93..1c11ab9b2c 100644 --- a/packages/core/client/src/locale/zh-CN.json +++ b/packages/core/client/src/locale/zh-CN.json @@ -1046,12 +1046,16 @@ "Bulk enable": "批量激活", "Search plugin...": "搜索插件...", "Package name": "包名", + "Associate": "关联", + "Please add or select record": "请添加或选择数据", + "No data": "暂无数据", + "Fields can only be used correctly if they are defined with an interface.": "只有字段设置了interface字段才能正常使用", + "Unauthenticated. Please sign in to continue.": "未认证。请登录以继续。", + "User not found. Please sign in again to continue.": "无法找到用户信息,请重新登录以继续。", + "Your session has expired. Please sign in again.": "您的会话已过期,请重新登录。", + "User password changed, please signin again.": "用户密码已更改,请重新登录。", "Show file name":"显示文件名", "Outlined": "线框风格", "Filled": "实底风格", - "Two tone": "双色风格", - "Associate": "关联", - "Please add or select record":"请添加或选择数据", - "No data":"暂无数据", - "Fields can only be used correctly if they are defined with an interface.": "只有字段设置了interface字段才能正常使用" + "Two tone": "双色风格" } diff --git a/packages/core/client/src/user/CurrentUserProvider.tsx b/packages/core/client/src/user/CurrentUserProvider.tsx index 1740870a3c..ffa1d4fb02 100644 --- a/packages/core/client/src/user/CurrentUserProvider.tsx +++ b/packages/core/client/src/user/CurrentUserProvider.tsx @@ -10,7 +10,7 @@ import React, { createContext, useContext, useMemo } from 'react'; import { Navigate } from 'react-router-dom'; import { useACLRoleContext } from '../acl'; -import { ReturnTypeOfUseRequest, useRequest } from '../api-client'; +import { ReturnTypeOfUseRequest, useAPIClient, useRequest } from '../api-client'; import { useAppSpin, useLocationNoUpdate } from '../application'; import { useCompile } from '../schema-component'; @@ -39,10 +39,22 @@ export const useCurrentRoles = () => { }; export const CurrentUserProvider = (props) => { + const api = useAPIClient(); + const result = useRequest(() => + api + .request({ + url: '/auth:check', + skipNotify: (error) => { + const errs = api.toErrMessages(error); + if (errs.find((error: { code?: string }) => error.code === 'EMPTY_TOKEN')) { + return true; + } + return false; + }, + }) + .then((res) => res?.data), + ); const { render } = useAppSpin(); - const result = useRequest({ - url: 'auth:check', - }); if (result.loading) { return render(); diff --git a/packages/core/client/src/variables/__tests__/useVariables.test.tsx b/packages/core/client/src/variables/__tests__/useVariables.test.tsx index 13de75964c..3af65963e6 100644 --- a/packages/core/client/src/variables/__tests__/useVariables.test.tsx +++ b/packages/core/client/src/variables/__tests__/useVariables.test.tsx @@ -85,6 +85,18 @@ apiClient.auth.role = 'root'; // 用于解析 `$nToken` 的值 apiClient.auth.token = 'token'; +mockRequest.onPost('/auth:check').reply(() => { + return [ + 200, + { + data: { + id: 0, + nickname: 'from request', + }, + }, + ]; +}); + mockRequest.onGet('/auth:check').reply(() => { return [ 200, diff --git a/packages/core/sdk/src/APIClient.ts b/packages/core/sdk/src/APIClient.ts index 2c268844d9..3373782afb 100644 --- a/packages/core/sdk/src/APIClient.ts +++ b/packages/core/sdk/src/APIClient.ts @@ -7,7 +7,7 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ -import axios, { AxiosInstance, AxiosRequestConfig, AxiosResponse, RawAxiosRequestHeaders } from 'axios'; +import axios, { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, RawAxiosRequestHeaders } from 'axios'; import qs from 'qs'; export interface ActionParams { @@ -354,7 +354,11 @@ export class APIClient { }); } - request, D = any>(config: AxiosRequestConfig | ResourceActionOptions): Promise { + request, D = any>( + config: (AxiosRequestConfig | ResourceActionOptions) & { + skipNotify?: boolean | ((error: any) => boolean); + }, + ): Promise { const { resource, resourceOf, action, params, headers } = config as any; if (resource) { return this.resource(resource, resourceOf, headers)[action](params); diff --git a/packages/core/test/src/server/mock-server.ts b/packages/core/test/src/server/mock-server.ts index 52fbf80578..3c15c4526a 100644 --- a/packages/core/test/src/server/mock-server.ts +++ b/packages/core/test/src/server/mock-server.ts @@ -76,6 +76,7 @@ interface Resource { interface ExtendedAgent extends SuperAgentTest { login: (user: any, roleName?: string) => ExtendedAgent; loginUsingId: (userId: number, roleName?: string) => ExtendedAgent; + loginWithJti: (user: any, roleName?: string) => Promise; resource: (name: string, resourceOf?: any) => Resource; } @@ -124,7 +125,7 @@ export class MockServer extends Application { agent(callback?): ExtendedAgent { const agent = supertest.agent(callback || this.callback()); const prefix = this.resourcer.options.prefix; - + const authManager = this.authManager; const proxy = new Proxy(agent, { get(target, method: string, receiver) { if (['login', 'loginUsingId'].includes(method)) { @@ -147,6 +148,32 @@ export class MockServer extends Application { .set('X-Authenticator', 'basic'); }; } + if (method === 'loginWithJti') { + return async (userOrId: any, roleName?: string) => { + const userId = typeof userOrId === 'number' ? userOrId : userOrId?.id; + const tokenInfo = await authManager.tokenController.add({ userId }); + const expiresIn = (await authManager.tokenController.getConfig()).tokenExpirationTime; + + return proxy + .auth( + jwt.sign( + { + userId, + temp: true, + roleName, + signInTime: Date.now(), + }, + process.env.APP_KEY, + { + jwtid: tokenInfo.jti, + expiresIn, + }, + ), + { type: 'bearer' }, + ) + .set('X-Authenticator', 'basic'); + }; + } if (method === 'resource') { return (name: string, resourceOf?: any) => { const keys = name.split('.'); diff --git a/packages/plugins/@nocobase/plugin-acl/src/server/__tests__/actions.test.ts b/packages/plugins/@nocobase/plugin-acl/src/server/__tests__/actions.test.ts index a8f3b95d35..bebe84636e 100644 --- a/packages/plugins/@nocobase/plugin-acl/src/server/__tests__/actions.test.ts +++ b/packages/plugins/@nocobase/plugin-acl/src/server/__tests__/actions.test.ts @@ -138,7 +138,7 @@ describe('destroy action with acl', () => { const a1 = await A.repository.findOne({ filter: { title: 'a1' } }); - const response = await app.agent().resource('a.bs', a1.get('id')).list(); + const response = await app.agent().login(1).resource('a.bs', a1.get('id')).list(); expect(response.statusCode).toEqual(200); }); @@ -175,6 +175,7 @@ describe('destroy action with acl', () => { const response = await app .agent() + .login(1) .resource('posts') .destroy({ filterByTk: p1.get('id'), diff --git a/packages/plugins/@nocobase/plugin-acl/src/server/__tests__/configuration.test.ts b/packages/plugins/@nocobase/plugin-acl/src/server/__tests__/configuration.test.ts index 62e41d6c02..b85b00dec3 100644 --- a/packages/plugins/@nocobase/plugin-acl/src/server/__tests__/configuration.test.ts +++ b/packages/plugins/@nocobase/plugin-acl/src/server/__tests__/configuration.test.ts @@ -68,8 +68,8 @@ describe('configuration', () => { }); it('should not create/list collections', async () => { - expect((await guestAgent.resource('collections').create()).statusCode).toEqual(403); - expect((await guestAgent.resource('collections').list()).statusCode).toEqual(403); + expect((await guestAgent.resource('collections').create()).statusCode).toEqual(401); + expect((await guestAgent.resource('collections').list()).statusCode).toEqual(401); }); it('should allow when role has allowConfigure with true value', async () => { diff --git a/packages/plugins/@nocobase/plugin-acl/src/server/__tests__/get-action.test.ts b/packages/plugins/@nocobase/plugin-acl/src/server/__tests__/get-action.test.ts index d8191abccf..eced716c85 100644 --- a/packages/plugins/@nocobase/plugin-acl/src/server/__tests__/get-action.test.ts +++ b/packages/plugins/@nocobase/plugin-acl/src/server/__tests__/get-action.test.ts @@ -1,3 +1,12 @@ +/** + * This file is part of the NocoBase (R) project. + * Copyright (c) 2020-2024 NocoBase Co., Ltd. + * Authors: NocoBase Team. + * + * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License. + * For more information, please refer to: https://www.nocobase.com/agreement. + */ + import { MockServer } from '@nocobase/test'; import { prepareApp } from './prepare'; @@ -7,9 +16,15 @@ describe('get action with acl', () => { let Post; let Comment; + let userAgent; beforeEach(async () => { app = await prepareApp(); + const UserRepo = app.db.getCollection('users').repository; + const users = await UserRepo.create({ + values: [{ nickname: 'a', roles: [{ name: 'test' }] }], + }); + userAgent = app.agent().login(users[0]); Post = app.db.collection({ name: 'posts', @@ -72,13 +87,10 @@ describe('get action with acl', () => { }, ); - const response = await (app as any) - .agent() - .resource('posts') - .get({ - filterByTk: p1.get('id'), - fields: ['comments'], - }); + const response = await userAgent.resource('posts').get({ + filterByTk: p1.get('id'), + fields: ['comments'], + }); expect(response.status).toBe(200); diff --git a/packages/plugins/@nocobase/plugin-acl/src/server/__tests__/list-action.test.ts b/packages/plugins/@nocobase/plugin-acl/src/server/__tests__/list-action.test.ts index 34b3979548..69ce6024c2 100644 --- a/packages/plugins/@nocobase/plugin-acl/src/server/__tests__/list-action.test.ts +++ b/packages/plugins/@nocobase/plugin-acl/src/server/__tests__/list-action.test.ts @@ -17,9 +17,20 @@ describe('list action with acl', () => { let Post; let Comment; + let userAgent; + let users; beforeEach(async () => { app = await prepareApp(); + const UserRepo = app.db.getCollection('users').repository; + const root = await UserRepo.findOne({}); + users = await UserRepo.create({ + values: [ + { id: 2, nickname: 'a', roles: [{ name: 'user' }] }, + { id: 3, nickname: 'a', roles: [{ name: 'user' }] }, + ], + }); + userAgent = app.agent().login(users[0], 'user'); Post = app.db.collection({ name: 'posts', @@ -91,8 +102,7 @@ describe('list action with acl', () => { }, ); - const response = await (app as any) - .agent() + const response = await userAgent .set('X-With-ACL-Meta', true) .resource('posts') .list({ @@ -165,7 +175,7 @@ describe('list action with acl', () => { ); //@ts-ignore - const response = await app.agent().set('X-With-ACL-Meta', true).resource('tests').list({}); + const response = await userAgent.set('X-With-ACL-Meta', true).resource('tests').list({}); const data = response.body; expect(data.meta.allowedActions.view).toEqual(['t1', 't2', 't3']); @@ -188,31 +198,32 @@ describe('list action with acl', () => { await Post.repository.create({ values: [ - { title: 'p1', createdById: 1 }, - { title: 'p2', createdById: 1 }, - { title: 'p3', createdById: 2 }, + { title: 'p1', createdById: users[0].id }, + { title: 'p2', createdById: users[0].id }, + { title: 'p3', createdById: users[1].id }, ], }); - app.resourcer.use( - (ctx, next) => { - ctx.state.currentRole = 'user'; - ctx.state.currentUser = { - id: 1, - }; + // app.resourcer.use( + // (ctx, next) => { + // ctx.state.currentRole = 'user'; + // ctx.state.currentUser = { + // id: 1, + // }; - return next(); - }, - { - before: 'acl', - after: 'auth', - }, - ); + // return next(); + // }, + // { + // before: 'acl', + // after: 'auth', + // }, + // ); - const response = await (app as any).agent().set('X-With-ACL-Meta', true).resource('posts').list(); + // @ts-ignore + const response = await app.agent().login(users[0].id, 'user').set('X-With-ACL-Meta', true).resource('posts').list(); const data = response.body; - expect(data.meta.allowedActions.view).toEqual([1, 2, 3]); - expect(data.meta.allowedActions.update).toEqual([1, 2]); + expect(data.meta.allowedActions.view).toEqual(expect.arrayContaining([1, 2, 3])); + expect(data.meta.allowedActions.update).toEqual(expect.arrayContaining([1, 2])); expect(data.meta.allowedActions.destroy).toEqual([]); }); @@ -251,7 +262,7 @@ describe('list action with acl', () => { ); // @ts-ignore - const response = await app.agent().set('X-With-ACL-Meta', true).resource('posts').list({}); + const response = await userAgent.set('X-With-ACL-Meta', true).resource('posts').list({}); const data = response.body; expect(data.meta.allowedActions.view).toEqual([1, 2, 3]); @@ -294,7 +305,7 @@ describe('list action with acl', () => { ); // @ts-ignore - const getResponse = await app.agent().set('X-With-ACL-Meta', true).resource('posts').get({ + const getResponse = await userAgent.set('X-With-ACL-Meta', true).resource('posts').get({ filterByTk: 1, }); @@ -377,7 +388,7 @@ describe('list association action with acl', () => { }, }); - const userAgent = app.agent().login(user).set('X-With-ACL-Meta', true); + const userAgent = app.agent().login(user, 'newRole').set('X-With-ACL-Meta', true); const createResp = await userAgent.resource('posts').create({ values: { diff --git a/packages/plugins/@nocobase/plugin-acl/src/server/__tests__/middleware.test.ts b/packages/plugins/@nocobase/plugin-acl/src/server/__tests__/middleware.test.ts index 13678491d8..7b84bb3315 100644 --- a/packages/plugins/@nocobase/plugin-acl/src/server/__tests__/middleware.test.ts +++ b/packages/plugins/@nocobase/plugin-acl/src/server/__tests__/middleware.test.ts @@ -19,7 +19,9 @@ describe('middleware', () => { let db: Database; let acl: ACL; let admin; + let member; let adminAgent; + let memberAgent; beforeEach(async () => { app = await prepareApp(); @@ -38,9 +40,15 @@ describe('middleware', () => { roles: ['admin'], }, }); + member = await UserRepo.create({ + values: { + roles: ['member'], + }, + }); const userPlugin = app.getPlugin('users') as UsersPlugin; adminAgent = app.agent().login(admin); + memberAgent = app.agent().login(member); await db.getRepository('collections').create({ values: { @@ -119,7 +127,15 @@ describe('middleware', () => { }); it('should throw 403 when no permission', async () => { - const response = await app.agent().resource('posts').create({ + await db.getRepository('roles').update({ + filterByTk: 'member', + values: { + strategy: { + actions: ['view'], + }, + }, + }); + const response = await app.agent().login(member).resource('posts').create({ values: {}, }); diff --git a/packages/plugins/@nocobase/plugin-auth/package.json b/packages/plugins/@nocobase/plugin-auth/package.json index 50c215dfa5..820afd6085 100644 --- a/packages/plugins/@nocobase/plugin-auth/package.json +++ b/packages/plugins/@nocobase/plugin-auth/package.json @@ -12,7 +12,8 @@ "antd": "5.x", "cron": "^2.3.1", "react": "^18.2.0", - "react-i18next": "^11.15.1" + "react-i18next": "^11.15.1", + "ms": "^2.1.3" }, "peerDependencies": { "@nocobase/actions": "1.x", @@ -28,6 +29,7 @@ "description.zh-CN": "用户认证管理,包括基础的密码认证、短信认证、SSO 协议的认证等,可扩展。", "gitHead": "d0b4efe4be55f8c79a98a331d99d9f8cf99021a1", "keywords": [ - "Authentication" + "Authentication", + "Security" ] } diff --git a/packages/plugins/@nocobase/plugin-auth/src/client/index.tsx b/packages/plugins/@nocobase/plugin-auth/src/client/index.tsx index ae205b041d..7aa0faa643 100644 --- a/packages/plugins/@nocobase/plugin-auth/src/client/index.tsx +++ b/packages/plugins/@nocobase/plugin-auth/src/client/index.tsx @@ -11,24 +11,25 @@ import { Plugin, lazy, useLazy } from '@nocobase/client'; import { Registry } from '@nocobase/utils/client'; import { ComponentType } from 'react'; import { presetAuthType } from '../preset'; +import type { Authenticator as AuthenticatorType } from './authenticator'; +import { authCheckMiddleware } from './interceptors'; +import { NAMESPACE } from './locale'; // import { AuthProvider } from './AuthProvider'; const { AuthProvider } = lazy(() => import('./AuthProvider'), 'AuthProvider'); -import type { Authenticator as AuthenticatorType } from './authenticator'; // import { Options, SignInForm, SignUpForm } from './basic'; const { Options, SignInForm, SignUpForm } = lazy(() => import('./basic'), 'Options', 'SignInForm', 'SignUpForm'); -import { NAMESPACE } from './locale'; // import { AuthLayout, SignInPage, SignUpPage } from './pages'; const { AuthLayout, SignInPage, SignUpPage } = lazy(() => import('./pages'), 'AuthLayout', 'SignInPage', 'SignUpPage'); // import { Authenticator } from './settings/Authenticator'; const { Authenticator } = lazy(() => import('./settings/Authenticator'), 'Authenticator'); +const { TokenPolicySettings } = lazy(() => import('./settings/token-policy'), 'TokenPolicySettings'); -// export { AuthenticatorsContextProvider, AuthLayout } from './pages/AuthLayout'; const { AuthenticatorsContextProvider, AuthLayout: ExportAuthLayout } = lazy( () => import('./pages'), 'AuthenticatorsContextProvider', 'AuthLayout', ); -export { AuthenticatorsContextProvider, ExportAuthLayout as AuthLayout }; +export { ExportAuthLayout as AuthLayout, AuthenticatorsContextProvider }; export type AuthOptions = { components: Partial<{ @@ -81,6 +82,15 @@ export class PluginAuthClient extends Plugin { AdminSettingsForm: Options, }, }); + this.app.pluginSettingsManager.add(`security.token-policy`, { + title: `{{t("Token policy", { ns: "${NAMESPACE}" })}}`, + Component: TokenPolicySettings, + aclSnippet: `pm.security.token-policy`, + icon: 'ApiOutlined', + sort: 0, + }); + const [fulfilled, rejected] = authCheckMiddleware({ app: this.app }); + this.app.apiClient.axios.interceptors.response.use(fulfilled, rejected); } } diff --git a/packages/plugins/@nocobase/plugin-auth/src/client/interceptors.ts b/packages/plugins/@nocobase/plugin-auth/src/client/interceptors.ts new file mode 100644 index 0000000000..4d6144036d --- /dev/null +++ b/packages/plugins/@nocobase/plugin-auth/src/client/interceptors.ts @@ -0,0 +1,69 @@ +/** + * This file is part of the NocoBase (R) project. + * Copyright (c) 2020-2024 NocoBase Co., Ltd. + * Authors: NocoBase Team. + * + * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License. + * For more information, please refer to: https://www.nocobase.com/agreement. + */ + +import { Application } from '@nocobase/client'; +import type { AxiosResponse } from 'axios'; +import debounce from 'lodash/debounce'; + +const pathJoin = (parts, sep = '/') => parts.join(sep).replace(new RegExp(sep + '{1,}', 'g'), sep); + +const debouncedRedirect = debounce( + (redirectFunc) => { + redirectFunc(); + }, + 3000, + { leading: true, trailing: false }, +); + +export function authCheckMiddleware({ app }: { app: Application }) { + const axios = app.apiClient.axios; + const resHandler = (res: AxiosResponse) => { + const newToken = res.headers['x-new-token']; + if (newToken) { + app.apiClient.auth.setToken(newToken); + } + return res; + }; + const errHandler = (error) => { + const newToken = error.response.headers['x-new-token']; + if (newToken) { + app.apiClient.auth.setToken(newToken); + } + if (error.status === 401) { + const errors = error?.response?.data?.errors; + const firstError = Array.isArray(errors) ? errors[0] : null; + if (!firstError) { + throw error; + } + if (firstError?.code === 'USER_HAS_NO_ROLES_ERR') { + app.error = firstError; + throw error; + } + const state = app.router.state; + const { pathname, search } = state.location; + const basename = app.router.basename; + + if (pathname !== app.getHref('signin')) { + const routePath = pathname.startsWith(app.router.basename) ? pathname.slice(basename.length) || '/' : pathname; + const redirectPath = pathJoin([app.router.basename, routePath]); + // to-do wait for solve infinite loop navigate + // if (errorType === ('TOKEN_RENEW_FAILED' satisfies AuthErrorType)) { + // return axios.request(error.config); + // } + + debouncedRedirect(() => { + app.apiClient.auth.setToken(null); + app.router.navigate(`/signin?redirect=${redirectPath}${search}`, { replace: true }); + }); + } + } + throw error; + }; + return [resHandler, errHandler]; +} diff --git a/packages/plugins/@nocobase/plugin-auth/src/client/settings/token-policy/components.tsx b/packages/plugins/@nocobase/plugin-auth/src/client/settings/token-policy/components.tsx new file mode 100644 index 0000000000..6020dce6c5 --- /dev/null +++ b/packages/plugins/@nocobase/plugin-auth/src/client/settings/token-policy/components.tsx @@ -0,0 +1,55 @@ +/** + * This file is part of the NocoBase (R) project. + * Copyright (c) 2020-2024 NocoBase Co., Ltd. + * Authors: NocoBase Team. + * + * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License. + * For more information, please refer to: https://www.nocobase.com/agreement. + */ + +import React, { useEffect } from 'react'; +import { InputNumber, Select } from 'antd'; +import { connect, mapProps } from '@formily/react'; +import { useAuthTranslation } from '../../locale'; +const { Option } = Select; + +const InputTime = connect( + (props) => { + const { t } = useAuthTranslation(); + const { value, onChange, minNum = 1, ...restProps } = props; + const regex = /^(\d*)([a-zA-Z]*)$/; + const match = value ? value.match(regex) : null; + useEffect(() => { + if (!match) onChange('10m'); + }, [match, onChange]); + const [time, unit] = match ? [parseInt(match[1]), match[2]] : [10, 'm']; + const TimeUnits = ( + + ); + + return ( + onChange(`${time ?? 1}${unit}`)} + {...restProps} + /> + ); + }, + mapProps({ + onInput: 'onChange', + }), +); + +export const componentsNameMap = { + InputTime: 'InputTime', +}; + +export const componentsMap = { + [componentsNameMap.InputTime]: InputTime, +}; diff --git a/packages/plugins/@nocobase/plugin-auth/src/client/settings/token-policy/hooks.ts b/packages/plugins/@nocobase/plugin-auth/src/client/settings/token-policy/hooks.ts new file mode 100644 index 0000000000..6b06e36730 --- /dev/null +++ b/packages/plugins/@nocobase/plugin-auth/src/client/settings/token-policy/hooks.ts @@ -0,0 +1,61 @@ +/** + * This file is part of the NocoBase (R) project. + * Copyright (c) 2020-2024 NocoBase Co., Ltd. + * Authors: NocoBase Team. + * + * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License. + * For more information, please refer to: https://www.nocobase.com/agreement. + */ + +import { useMemo, useEffect } from 'react'; +import { App as AntdApp } from 'antd'; +import { useForm } from '@formily/react'; +import { createForm } from '@formily/core'; +import { useAPIClient } from '@nocobase/client'; +import { tokenPolicyCollectionName, tokenPolicyRecordKey } from '../../../constants'; +import { useAuthTranslation } from '../../locale'; + +const useEditForm = () => { + const apiClient = useAPIClient(); + const form = useMemo(() => createForm(), []); + + useEffect(() => { + const fetch = async () => { + try { + const { data } = await apiClient.resource(tokenPolicyCollectionName).get({ filterByTk: tokenPolicyRecordKey }); + if (data?.data?.config) form.setValues(data.data.config); + } catch (error) { + console.error(error); + } + }; + fetch(); + }, [form, apiClient]); + return { form }; +}; + +export const useSubmitActionProps = () => { + const { message } = AntdApp.useApp(); + const apiClient = useAPIClient(); + const form = useForm(); + const { t } = useAuthTranslation(); + return { + type: 'primary', + async onClick() { + await form.submit(); + const res = await apiClient.resource(tokenPolicyCollectionName).update({ + values: { config: form.values }, + filterByTk: tokenPolicyRecordKey, + }); + if (res && res.status === 200) message.success(t('Saved successfully!')); + }, + }; +}; +export const hooksNameMap = { + useSubmitActionProps: 'useSubmitActionProps', + useEditForm: 'useEditForm', +}; + +export const hooksMap = { + [hooksNameMap.useEditForm]: useEditForm, + [hooksNameMap.useSubmitActionProps]: useSubmitActionProps, +}; diff --git a/packages/plugins/@nocobase/plugin-auth/src/client/settings/token-policy/index.tsx b/packages/plugins/@nocobase/plugin-auth/src/client/settings/token-policy/index.tsx new file mode 100644 index 0000000000..27626484a3 --- /dev/null +++ b/packages/plugins/@nocobase/plugin-auth/src/client/settings/token-policy/index.tsx @@ -0,0 +1,86 @@ +/** + * This file is part of the NocoBase (R) project. + * Copyright (c) 2020-2024 NocoBase Co., Ltd. + * Authors: NocoBase Team. + * + * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License. + * For more information, please refer to: https://www.nocobase.com/agreement. + */ + +import React from 'react'; +import { ISchema, SchemaComponent } from '@nocobase/client'; +import { Card } from 'antd'; +import { uid } from '@formily/shared'; +import { tval } from '@nocobase/utils/client'; +import { useAuthTranslation } from '../../locale'; +import { hooksNameMap, hooksMap } from './hooks'; +import { componentsMap, componentsNameMap } from './components'; +import { TokenPolicyConfig } from '../../../types'; + +type Properties = { + [K in keyof TokenPolicyConfig | 'footer']: any; +}; +const schema: ISchema & { properties: Properties } = { + name: uid(), + 'x-component': 'FormV2', + 'x-use-component-props': hooksNameMap.useEditForm, + type: 'object', + properties: { + sessionExpirationTime: { + type: 'string', + title: "{{t('Session validity')}}", + 'x-decorator': 'FormItem', + 'x-component': componentsNameMap.InputTime, + required: true, + description: tval( + 'The maximum valid time for each user login. During the session validity, the Token will be automatically updated. After the timeout, the user is required to log in again.', + ), + }, + tokenExpirationTime: { + type: 'string', + title: "{{t('Token validity period')}}", + 'x-decorator': 'FormItem', + 'x-component': componentsNameMap.InputTime, + required: true, + description: tval( + 'The validity period of each issued API Token. After the Token expires, if it is within the session validity period and has not exceeded the refresh limit, the server will automatically issue a new Token to maintain the user session, otherwise the user is required to log in again. (Each Token can only be refreshed once)', + ), + }, + expiredTokenRenewLimit: { + type: 'string', + title: "{{t('Expired token refresh limit')}}", + 'x-decorator': 'FormItem', + 'x-component': componentsNameMap.InputTime, + 'x-component-props': { + minNum: 0, + }, + required: true, + description: tval( + 'The maximum time limit allowed for refreshing a Token after it expires. After this time limit, the token cannot be automatically renewed, and the user needs to log in again.', + ), + }, + footer: { + type: 'void', + 'x-component': 'ActionBar', + 'x-component-props': { + layout: 'one-column', + }, + properties: { + submit: { + title: '{{t("Submit")}}', + 'x-component': 'Action', + 'x-use-component-props': hooksNameMap.useSubmitActionProps, + }, + }, + }, + }, +}; + +export const TokenPolicySettings = () => { + const { t } = useAuthTranslation(); + return ( + + + + ); +}; diff --git a/packages/plugins/@nocobase/plugin-auth/src/constants.ts b/packages/plugins/@nocobase/plugin-auth/src/constants.ts new file mode 100644 index 0000000000..001b6891dd --- /dev/null +++ b/packages/plugins/@nocobase/plugin-auth/src/constants.ts @@ -0,0 +1,13 @@ +/** + * This file is part of the NocoBase (R) project. + * Copyright (c) 2020-2024 NocoBase Co., Ltd. + * Authors: NocoBase Team. + * + * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License. + * For more information, please refer to: https://www.nocobase.com/agreement. + */ + +export const tokenPolicyRecordKey = 'token-policy-config'; +export const tokenPolicyCacheKey = 'auth:' + tokenPolicyRecordKey; +export const tokenPolicyCollectionName = 'tokenControlConfig'; +export const issuedTokensCollectionName = 'issuedTokens'; diff --git a/packages/plugins/@nocobase/plugin-auth/src/locale/en-US.json b/packages/plugins/@nocobase/plugin-auth/src/locale/en-US.json index 35afad8c48..400578a25e 100644 --- a/packages/plugins/@nocobase/plugin-auth/src/locale/en-US.json +++ b/packages/plugins/@nocobase/plugin-auth/src/locale/en-US.json @@ -29,5 +29,21 @@ "Sign up settings": "Sign up settings", "Sign up form": "Sign up form", "At least one of the username or email fields is required": "At least one of the username or email fields is required", - "Password is not allowed to be changed": "Password is not allowed to be changed" + "Password is not allowed to be changed": "Password is not allowed to be changed", + "Token policy": "Token policy", + "Token validity period": "Token validity period", + "Session validity": "Session validity", + "Expired token refresh limit": "Expired token refresh limit", + "Enable operation timeout control": "Enable operation timeout control", + "Seconds": "Seconds", + "Minutes": "Minutes", + "Hours": "Hours", + "Days": "Days", + "Saved successfully!": "Saved successfully!", + "The maximum valid time for each user login. During the session validity, the Token will be automatically updated. After the timeout, the user is required to log in again.": "The maximum valid time for each user login. During the session validity, the Token will be automatically updated. After the timeout, the user is required to log in again.", + "The validity period of each issued API Token. After the Token expires, if it is within the session validity period and has not exceeded the refresh limit, the server will automatically issue a new Token to maintain the user session, otherwise the user is required to log in again. (Each Token can only be refreshed once)": "The validity period of each issued API Token. After the Token expires, if it is within the session validity period and has not exceeded the refresh limit, the server will automatically issue a new Token to maintain the user session, otherwise the user is required to log in again. (Each Token can only be refreshed once)", + "The maximum time limit allowed for refreshing a Token after it expires. After this time limit, the token cannot be automatically renewed, and the user needs to log in again.": "The maximum time limit allowed for refreshing a Token after it expires. After this time limit, the token cannot be automatically renewed, and the user needs to log in again.", + "In configuration mode, the entire column becomes transparent. In non-configuration mode, the entire column will be hidden. Even if the entire column is hidden, its configured default values and other settings will still take effect.": "In configuration mode, the entire column becomes transparent. In non-configuration mode, the entire column will be hidden. Even if the entire column is hidden, its configured default values and other settings will still take effect.", + "Your session has expired. Please sign in again.": "Your session has expired. Please sign in again.", + "Unauthenticated. Please sign in to continue.": "Unauthenticated. Please sign in to continue." } diff --git a/packages/plugins/@nocobase/plugin-auth/src/locale/zh-CN.json b/packages/plugins/@nocobase/plugin-auth/src/locale/zh-CN.json index 82a817e9b8..f1a7a0f165 100644 --- a/packages/plugins/@nocobase/plugin-auth/src/locale/zh-CN.json +++ b/packages/plugins/@nocobase/plugin-auth/src/locale/zh-CN.json @@ -29,5 +29,20 @@ "Sign up settings": "注册设置", "Sign up form": "注册表单", "At least one of the username or email fields is required": "至少需要设置用户名或邮箱中的一个字段为必填字段", - "Password is not allowed to be changed": "密码不允许修改" + "Password is not allowed to be changed": "密码不允许修改", + "Token policy": "Token 策略", + "Token validity period": "Token 有效周期", + "Session validity": "会话有效期", + "Expired token refresh limit": "过期 Token 刷新时限", + "Enable operation timeout control": "启用操作超时控制", + "Seconds": "秒", + "Minutes": "分钟", + "Hours": "小时", + "Days": "天", + "Saved successfully!": "保存成功!", + "The maximum valid time for each user login. During the session validity, the Token will be automatically updated. After the timeout, the user is required to log in again.": "用户每次登录的最长有效时间,在会话有效期内,Token 会自动更新,超时后要求用户重新登录。", + "The validity period of each issued API Token. After the Token expires, if it is within the session validity period and has not exceeded the refresh limit, the server will automatically issue a new Token to maintain the user session, otherwise the user is required to log in again. (Each Token can only be refreshed once)": "每次签发的 API Token 的有效期。Token 过期后,如果处于会话有效期内,并且没有超过刷新时限,服务端将自动签发新 Token 以保持用户会话,否则要求用户重新登录。(每个 Token 只能被刷新一次)", + "The maximum time limit allowed for refreshing a Token after it expires. After this time limit, the token cannot be automatically renewed, and the user needs to log in again.": "Token 过期后允许刷新的最大时限,超过此时限后,Token 无法自动更新,用户需重新登录。", + "Your session has expired. Please sign in again.": "您的会话已过期,请重新登录。", + "Unauthenticated. Please sign in to continue.": "未认证。请登录以继续。" } diff --git a/packages/plugins/@nocobase/plugin-auth/src/server/__tests__/actions.test.ts b/packages/plugins/@nocobase/plugin-auth/src/server/__tests__/actions.test.ts index 3dab29b06c..189ccc2481 100644 --- a/packages/plugins/@nocobase/plugin-auth/src/server/__tests__/actions.test.ts +++ b/packages/plugins/@nocobase/plugin-auth/src/server/__tests__/actions.test.ts @@ -222,7 +222,7 @@ describe('actions', () => { password: '12345', }, }); - const userAgent = await agent.login(user); + const userAgent = await agent.loginWithJti(user, null); // Should check password consistency const res = await userAgent.post('/auth:changePassword').set({ 'X-Authenticator': 'basic' }).send({ @@ -442,7 +442,7 @@ describe('actions', () => { password: '12345', }, }); - const userAgent = await agent.login(user); + const userAgent = await agent.loginWithJti(user, null); const res = await userAgent.post('/auth:check').set({ 'X-Authenticator': 'basic' }).send(); expect(res.statusCode).toEqual(200); expect(res.body.data.id).toBeDefined(); @@ -453,8 +453,8 @@ describe('actions', () => { }); expect(res2.statusCode).toEqual(200); const res3 = await userAgent.post('/auth:check').set({ 'X-Authenticator': 'basic' }).send(); - expect(res3.statusCode).toEqual(200); - expect(res3.body.data.id).toBeUndefined(); + expect(res3.statusCode).toEqual(401); + expect(res3.text).toBe('User password changed, please signin again.'); }); }); }); diff --git a/packages/plugins/@nocobase/plugin-auth/src/server/__tests__/token-controller.test.ts b/packages/plugins/@nocobase/plugin-auth/src/server/__tests__/token-controller.test.ts new file mode 100644 index 0000000000..771f8f800c --- /dev/null +++ b/packages/plugins/@nocobase/plugin-auth/src/server/__tests__/token-controller.test.ts @@ -0,0 +1,181 @@ +/** + * This file is part of the NocoBase (R) project. + * Copyright (c) 2020-2024 NocoBase Co., Ltd. + * Authors: NocoBase Team. + * + * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License. + * For more information, please refer to: https://www.nocobase.com/agreement. + */ + +import { AuthErrorCode, BaseAuth } from '@nocobase/auth'; +import { Database, Model } from '@nocobase/database'; +import { MockServer, createMockServer } from '@nocobase/test'; +import { AuthErrorType } from '@nocobase/auth'; +function sleep(ms) { + return new Promise((resolve) => { + setTimeout(resolve, ms); + }); +} + +class MockContext { + token: string; + header: Map = new Map(); + public app: MockServer; + constructor({ app }: { app: MockServer }) { + this.app = app; + } + res = { + setHeader: (key: string, value: string) => { + this.header.set(key, value); + }, + getHeader: (key: string) => { + return this.header.get(key); + }, + }; + t = (s) => s; + setToken(token: string) { + this.token = token; + } + getBearerToken() { + return this.token; + } + throw(status, errData) { + throw new Error(errData.code); + } + cache = { + wrap: async (key, fn) => fn(), + }; +} + +describe('auth', () => { + let auth: BaseAuth; + let app: MockServer; + let db: Database; + let user: Model; + let ctx: MockContext; + + beforeEach(async () => { + if (process.env.CACHE_REDIS_URL) { + app = await createMockServer({ + cacheManager: { + defaultStore: 'redis', + stores: { + redis: { + url: process.env.CACHE_REDIS_URL, + }, + }, + }, + plugins: ['field-sort', 'users', 'auth'], + }); + } else { + app = await createMockServer({ + plugins: ['field-sort', 'users', 'auth'], + }); + } + db = app.db; + app.authManager.setTokenBlacklistService({ + has: async () => false, + add: async () => true, + }); + + user = await db.getRepository('users').create({ + values: { + username: 'admin', + }, + }); + + class MockBaseAuth extends BaseAuth { + async validate() { + return user; + } + } + ctx = new MockContext({ app }); + auth = new MockBaseAuth({ + userCollection: db.getCollection('users'), + ctx, + } as any); + await auth.tokenController.setConfig({ + tokenExpirationTime: '1d', + sessionExpirationTime: '1d', + expiredTokenRenewLimit: '1d', + }); + + await app.cache.reset(); + }); + + afterEach(async () => { + await app.cache.reset(); + await app.destroy(); + }); + + it('when token expired and login valid, it generate a new token', async () => { + await auth.tokenController.setConfig({ + tokenExpirationTime: '1s', + sessionExpirationTime: '1d', + expiredTokenRenewLimit: '1d', + }); + const { token } = await auth.signIn(); + ctx.setToken(token); + await sleep(3000); + await auth.check(); + expect(typeof ctx.res.getHeader('x-new-token')).toBe('string'); + }); + + it('when exceed logintime, throw Unauthorized', async () => { + await auth.tokenController.setConfig({ + tokenExpirationTime: '1s', + sessionExpirationTime: '2s', + expiredTokenRenewLimit: '1d', + }); + const { token } = await auth.signIn(); + ctx.setToken(token); + await sleep(3000); + await expect(auth.check()).rejects.toThrowError('EXPIRED_SESSION' satisfies AuthErrorType); + }); + + it('when exceed inactiveInterval, throw Unauthorized', async () => { + await auth.tokenController.setConfig({ + tokenExpirationTime: '1s', + sessionExpirationTime: '1d', + expiredTokenRenewLimit: '1s', + }); + const { token } = await auth.signIn(); + ctx.setToken(token); + await sleep(3000); + await expect(auth.check()).rejects.toThrowError('EXPIRED_SESSION' satisfies AuthErrorType); + }); + + it('when token expired but not refresh, not throw error', async () => { + await auth.tokenController.setConfig({ + tokenExpirationTime: '1s', + sessionExpirationTime: '1d', + expiredTokenRenewLimit: '1d', + }); + const { token } = await auth.signIn(); + ctx.setToken(token); + await sleep(3000); + const checkedUser = await auth.check(); + expect(checkedUser.id).toEqual(user.id); + }); + + it('when call renew token with same jti multiple times, only one resolved', async () => { + const tokenInfo = await auth.tokenController.add({ userId: 1 }); + const renewTasks = Array(15) + .fill(null) + .map(() => auth.tokenController.renew(tokenInfo.jti)); + const allSettled = await Promise.allSettled(renewTasks); + const successTasks = allSettled.filter((result) => result.status === 'fulfilled'); + expect(successTasks).toHaveLength(1); + const failedTasks = allSettled.filter( + (result) => result.status === 'rejected' && result.reason.code === AuthErrorCode.TOKEN_RENEW_FAILED, + ); + expect(failedTasks).toHaveLength(14); + }); + it('use token policy tokenExpirationTime as token expirein', async () => { + const config = await auth.tokenController.getConfig(); + const { token } = await auth.signIn(); + const decoded = await auth.jwt.decode(token); + expect(decoded.exp - decoded.iat).toBe(Math.floor(config.tokenExpirationTime / 1000)); + expect(decoded.signInTime).toBeTruthy(); + }); +}); diff --git a/packages/plugins/@nocobase/plugin-auth/src/server/__tests__/token-policy-settings.test.ts b/packages/plugins/@nocobase/plugin-auth/src/server/__tests__/token-policy-settings.test.ts new file mode 100644 index 0000000000..b14848dd6b --- /dev/null +++ b/packages/plugins/@nocobase/plugin-auth/src/server/__tests__/token-policy-settings.test.ts @@ -0,0 +1,125 @@ +/** + * This file is part of the NocoBase (R) project. + * Copyright (c) 2020-2024 NocoBase Co., Ltd. + * Authors: NocoBase Team. + * + * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License. + * For more information, please refer to: https://www.nocobase.com/agreement. + */ + +import { BaseAuth } from '@nocobase/auth'; +import { Database, Model } from '@nocobase/database'; +import { MockServer, createMockServer } from '@nocobase/test'; +import ms from 'ms'; +import { tokenPolicyCollectionName, tokenPolicyRecordKey } from '../../constants'; + +class MockContext { + token: string; + header: Map = new Map(); + public app: MockServer; + constructor({ app }: { app: MockServer }) { + this.app = app; + } + res = { + setHeader: (key: string, value: string) => { + this.header.set(key, value); + }, + getHeader: (key: string) => { + return this.header.get(key); + }, + }; + t = (s) => s; + setToken(token: string) { + this.token = token; + } + getBearerToken() { + return this.token; + } + throw(status, errData) { + throw new Error(errData.code); + } + cache = { + wrap: async (key, fn) => fn(), + }; +} + +describe('auth', () => { + let auth: BaseAuth; + let app: MockServer; + let db: Database; + let user: Model; + let ctx: MockContext; + let adminAgent; + + beforeEach(async () => { + if (process.env.CACHE_REDIS_URL) { + app = await createMockServer({ + cacheManager: { + defaultStore: 'redis', + stores: { + redis: { + url: process.env.CACHE_REDIS_URL, + }, + }, + }, + plugins: ['field-sort', 'users', 'auth'], + }); + } else { + app = await createMockServer({ + plugins: ['field-sort', 'users', 'auth'], + }); + } + db = app.db; + app.authManager.setTokenBlacklistService({ + has: async () => false, + add: async () => true, + }); + + user = await db.getRepository('users').create({ + values: { + username: 'admin', + }, + }); + adminAgent = await app.agent().loginWithJti(user, 'admin'); + + class MockBaseAuth extends BaseAuth { + async validate() { + return user; + } + } + ctx = new MockContext({ app }); + auth = new MockBaseAuth({ + userCollection: db.getCollection('users'), + ctx, + } as any); + }); + + afterEach(async () => { + await app.cache.reset(); + await app.destroy(); + }); + + it('token policy has a default poilcy', async () => { + const config = await auth.tokenController.getConfig(); + expect(typeof config.expiredTokenRenewLimit).toBe('number'); + expect(typeof config.sessionExpirationTime).toBe('number'); + expect(typeof config.tokenExpirationTime).toBe('number'); + }); + + it('This test verifies that when the token policy configuration changes, the cache is automatically synchronized.', async () => { + await adminAgent.resource(tokenPolicyCollectionName).update({ + values: { + config: { + tokenExpirationTime: '5h', + sessionExpirationTime: '2h', + expiredTokenRenewLimit: '3h', + }, + }, + filterByTk: tokenPolicyRecordKey, + }); + const config = await auth.tokenController.getConfig(); + expect(config.tokenExpirationTime).toBe(ms('5h')); + expect(config.sessionExpirationTime).toBe(ms('2h')); + expect(config.expiredTokenRenewLimit).toBe(ms('3h')); + }); +}); diff --git a/packages/plugins/@nocobase/plugin-auth/src/server/collections/issued-tokens.ts b/packages/plugins/@nocobase/plugin-auth/src/server/collections/issued-tokens.ts new file mode 100644 index 0000000000..cb18583805 --- /dev/null +++ b/packages/plugins/@nocobase/plugin-auth/src/server/collections/issued-tokens.ts @@ -0,0 +1,49 @@ +/** + * This file is part of the NocoBase (R) project. + * Copyright (c) 2020-2024 NocoBase Co., Ltd. + * Authors: NocoBase Team. + * + * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License. + * For more information, please refer to: https://www.nocobase.com/agreement. + */ + +import { defineCollection } from '@nocobase/database'; + +import { issuedTokensCollectionName } from '../../constants'; + +export default defineCollection({ + name: issuedTokensCollectionName, + autoGenId: false, + createdAt: true, + updatedAt: true, + fields: [ + { + name: 'id', + type: 'uuid', + primaryKey: true, + allowNull: false, + interface: 'input', + }, + { + type: 'bigInt', + name: 'signInTime', + allowNull: false, + }, + { + name: 'jti', + type: 'uuid', + allowNull: false, + index: true, + }, + { + type: 'bigInt', + name: 'issuedTime', + allowNull: false, + }, + { + type: 'bigInt', + name: 'userId', + allowNull: false, + }, + ], +}); diff --git a/packages/plugins/@nocobase/plugin-auth/src/server/collections/token-poilcy-config.ts b/packages/plugins/@nocobase/plugin-auth/src/server/collections/token-poilcy-config.ts new file mode 100644 index 0000000000..e947d09d59 --- /dev/null +++ b/packages/plugins/@nocobase/plugin-auth/src/server/collections/token-poilcy-config.ts @@ -0,0 +1,36 @@ +/** + * This file is part of the NocoBase (R) project. + * Copyright (c) 2020-2024 NocoBase Co., Ltd. + * Authors: NocoBase Team. + * + * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License. + * For more information, please refer to: https://www.nocobase.com/agreement. + */ + +import { defineCollection } from '@nocobase/database'; + +import { tokenPolicyCollectionName } from '../../constants'; + +export default defineCollection({ + name: tokenPolicyCollectionName, + autoGenId: false, + createdAt: true, + createdBy: true, + updatedAt: true, + updatedBy: true, + fields: [ + { + name: 'key', + type: 'string', + primaryKey: true, + allowNull: false, + interface: 'input', + }, + { + type: 'json', + name: 'config', + allowNull: false, + defaultValue: {}, + }, + ], +}); diff --git a/packages/plugins/@nocobase/plugin-auth/src/server/index.ts b/packages/plugins/@nocobase/plugin-auth/src/server/index.ts index a03067f382..232c9a9e83 100644 --- a/packages/plugins/@nocobase/plugin-auth/src/server/index.ts +++ b/packages/plugins/@nocobase/plugin-auth/src/server/index.ts @@ -12,3 +12,4 @@ export { AuthModel } from './model/authenticator'; export { presetAuthType } from '../preset'; export { default } from './plugin'; +export * from '../constants'; diff --git a/packages/plugins/@nocobase/plugin-auth/src/server/migrations/20241229080941-create-token-policy-config.ts b/packages/plugins/@nocobase/plugin-auth/src/server/migrations/20241229080941-create-token-policy-config.ts new file mode 100644 index 0000000000..59c24ddba1 --- /dev/null +++ b/packages/plugins/@nocobase/plugin-auth/src/server/migrations/20241229080941-create-token-policy-config.ts @@ -0,0 +1,36 @@ +/** + * This file is part of the NocoBase (R) project. + * Copyright (c) 2020-2024 NocoBase Co., Ltd. + * Authors: NocoBase Team. + * + * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License. + * For more information, please refer to: https://www.nocobase.com/agreement. + */ + +import { Migration } from '@nocobase/server'; +import { tokenPolicyCollectionName, tokenPolicyRecordKey } from '../../constants'; +export default class extends Migration { + on = 'afterLoad'; // 'beforeLoad' or 'afterLoad' + appVersion = '<1.6.1'; + + async up() { + const tokenPolicyRepo = this.app.db.getRepository(tokenPolicyCollectionName); + const tokenPolicy = await tokenPolicyRepo.findOne({ filterByTk: tokenPolicyRecordKey }); + if (tokenPolicy) { + this.app.authManager.tokenController.setConfig(tokenPolicy.config); + } else { + const config = { + tokenExpirationTime: '1d', + sessionExpirationTime: '7d', + expiredTokenRenewLimit: '1d', + }; + await tokenPolicyRepo.create({ + values: { + key: tokenPolicyRecordKey, + config, + }, + }); + this.app.authManager.tokenController.setConfig(config); + } + } +} diff --git a/packages/plugins/@nocobase/plugin-auth/src/server/plugin.ts b/packages/plugins/@nocobase/plugin-auth/src/server/plugin.ts index 39e68d33b8..15aecb7f91 100644 --- a/packages/plugins/@nocobase/plugin-auth/src/server/plugin.ts +++ b/packages/plugins/@nocobase/plugin-auth/src/server/plugin.ts @@ -18,11 +18,35 @@ import { BasicAuth } from './basic-auth'; import { AuthModel } from './model/authenticator'; import { Storer } from './storer'; import { TokenBlacklistService } from './token-blacklist'; +import { TokenController } from './token-controller'; +import { tokenPolicyCollectionName, tokenPolicyRecordKey } from '../constants'; export class PluginAuthServer extends Plugin { cache: Cache; - afterAdd() {} + afterAdd() { + this.app.on('afterLoad', async () => { + if (this.app.authManager.tokenController) { + return; + } + const cache = await this.app.cacheManager.createCache({ + name: 'auth-token-controller', + prefix: 'auth-token-controller', + }); + const tokenController = new TokenController({ cache, app: this.app, logger: this.app.log }); + + this.app.authManager.setTokenControlService(tokenController); + const tokenPolicyRepo = this.app.db.getRepository(tokenPolicyCollectionName); + try { + const res = await tokenPolicyRepo.findOne({ filterByTk: tokenPolicyRecordKey }); + if (res) { + this.app.authManager.tokenController.setConfig(res.config); + } + } catch (error) { + this.app.logger.warn('access control config not exist, use default value'); + } + }); + } async beforeLoad() { this.app.db.registerModels({ AuthModel }); @@ -93,8 +117,8 @@ export class PluginAuthServer extends Plugin { this.app.resourceManager.registerActionHandler(`authenticators:${action}`, handler), ); // Set up ACL - ['check', 'signIn', 'signUp'].forEach((action) => this.app.acl.allow('auth', action)); - ['signOut', 'changePassword'].forEach((action) => this.app.acl.allow('auth', action, 'loggedIn')); + ['signIn', 'signUp'].forEach((action) => this.app.acl.allow('auth', action)); + ['check', 'signOut', 'changePassword'].forEach((action) => this.app.acl.allow('auth', action, 'loggedIn')); this.app.acl.allow('authenticators', 'publicList'); this.app.acl.registerSnippet({ name: `pm.${this.name}.authenticators`, @@ -131,15 +155,18 @@ export class PluginAuthServer extends Plugin { logger: this.app.logger, } as any); - const user = await auth.check(); - - if (!user) { - this.app.logger.error(`Invalid token: ${payload.token}`); - this.app.emit(`ws:removeTag`, { - clientId, - tagKey: 'userId', - }); - return; + let user: Model; + try { + user = await auth.check(); + } catch (error) { + if (!user) { + this.app.logger.error(error); + this.app.emit(`ws:removeTag`, { + clientId, + tagKey: 'userId', + }); + return; + } } this.app.emit(`ws:setTag`, { @@ -242,29 +269,53 @@ export class PluginAuthServer extends Plugin { }, 'auth:signOut', ]); + this.app.acl.registerSnippet({ + name: `pm.security.token-policy`, + actions: [`${tokenPolicyCollectionName}:*`], + }); + + this.app.db.on(`${tokenPolicyCollectionName}.afterSave`, async (model) => { + this.app.authManager.tokenController?.setConfig(model.config); + }); } async install(options?: InstallOptions) { - const repository = this.db.getRepository('authenticators'); - const exist = await repository.findOne({ filter: { name: presetAuthenticator } }); - if (exist) { - return; - } - - await repository.create({ - values: { - name: presetAuthenticator, - authType: presetAuthType, - description: 'Sign in with username/email.', - enabled: true, - options: { - public: { - allowSignUp: true, + const authRepository = this.db.getRepository('authenticators'); + const exist = await authRepository.findOne({ filter: { name: presetAuthenticator } }); + if (!exist) { + await authRepository.create({ + values: { + name: presetAuthenticator, + authType: presetAuthType, + description: 'Sign in with username/email.', + enabled: true, + options: { + public: { + allowSignUp: true, + }, }, }, + }); + } + + const tokenPolicyRepo = this.app.db.getRepository(tokenPolicyCollectionName); + const res = await tokenPolicyRepo.findOne({ filterByTk: tokenPolicyRecordKey }); + if (res) { + return; + } + const config = { + tokenExpirationTime: '1d', + sessionExpirationTime: '7d', + expiredTokenRenewLimit: '1d', + }; + await tokenPolicyRepo.create({ + values: { + key: tokenPolicyRecordKey, + config, }, }); } + async remove() {} } diff --git a/packages/plugins/@nocobase/plugin-auth/src/server/token-controller.ts b/packages/plugins/@nocobase/plugin-auth/src/server/token-controller.ts new file mode 100644 index 0000000000..5be4f898c7 --- /dev/null +++ b/packages/plugins/@nocobase/plugin-auth/src/server/token-controller.ts @@ -0,0 +1,152 @@ +/** + * This file is part of the NocoBase (R) project. + * Copyright (c) 2020-2024 NocoBase Co., Ltd. + * Authors: NocoBase Team. + * + * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License. + * For more information, please refer to: https://www.nocobase.com/agreement. + */ + +import { + ITokenControlService, + TokenPolicyConfig, + NumericTokenPolicyConfig, + AuthError, + AuthErrorCode, + TokenInfo, +} from '@nocobase/auth'; +import type { SystemLogger } from '@nocobase/logger'; +import { Cache } from '@nocobase/cache'; +import { randomUUID } from 'crypto'; +import ms from 'ms'; +import Application from '@nocobase/server'; +import Database, { Repository } from '@nocobase/database'; +import { issuedTokensCollectionName, tokenPolicyCollectionName, tokenPolicyRecordKey } from '../constants'; + +type TokenControlService = ITokenControlService; + +const JTICACHEKEY = 'token-jti'; +export class TokenController implements TokenControlService { + cache: Cache; + app: Application; + db: Database; + logger: SystemLogger; + + constructor({ cache, app, logger }: { cache: Cache; app: Application; logger: SystemLogger }) { + this.cache = cache; + this.app = app; + this.logger = logger; + } + + async setTokenInfo(id: string, value: TokenInfo): Promise { + const repo = this.app.db.getRepository>(issuedTokensCollectionName); + await repo.updateOrCreate({ filterKeys: ['id'], values: value }); + await this.cache.set(`${JTICACHEKEY}:${id}`, value); + return; + } + + getConfig() { + return this.cache.wrap('config', async () => { + const repo = this.app.db.getRepository(tokenPolicyCollectionName); + const configRecord = await repo.findOne({ filterByTk: tokenPolicyRecordKey }); + if (!configRecord) return null; + const config = configRecord.config as TokenPolicyConfig; + return { + tokenExpirationTime: ms(config.tokenExpirationTime), + sessionExpirationTime: ms(config.sessionExpirationTime), + expiredTokenRenewLimit: ms(config.expiredTokenRenewLimit), + }; + }); + } + setConfig(config: TokenPolicyConfig) { + return this.cache.set('config', { + tokenExpirationTime: ms(config.tokenExpirationTime), + sessionExpirationTime: ms(config.sessionExpirationTime), + expiredTokenRenewLimit: ms(config.expiredTokenRenewLimit), + }); + } + + async removeSessionExpiredTokens(userId: number) { + const config = await this.getConfig(); + const issuedTokenRepo = this.app.db.getRepository(issuedTokensCollectionName); + const currTS = Date.now(); + return issuedTokenRepo.destroy({ + filter: { + userId: userId, + signInTime: { + $lt: currTS - config.sessionExpirationTime, + }, + }, + }); + } + + async add({ userId }: { userId: number }) { + const jti = randomUUID(); + const currTS = Date.now(); + const data = { + jti, + issuedTime: currTS, + signInTime: currTS, + renewed: false, + userId, + }; + await this.setTokenInfo(jti, data); + + try { + if (process.env.DB_DIALECT === 'sqlite') { + // SQLITE does not support concurrent operations + await this.removeSessionExpiredTokens(userId); + } else { + this.removeSessionExpiredTokens(userId); + } + } catch (err) { + this.logger.error(err, { module: 'auth', submodule: 'token-controller', method: 'removeSessionExpiredTokens' }); + } + + return data; + } + + renew: TokenControlService['renew'] = async (jti) => { + const repo = this.app.db.getRepository(issuedTokensCollectionName); + const model = this.app.db.getModel(issuedTokensCollectionName); + const exists = await repo.findOne({ filter: { jti } }); + if (!exists) { + this.logger.error('jti not found', { + module: 'auth', + submodule: 'token-controller', + method: 'renew', + jti, + code: AuthErrorCode.TOKEN_RENEW_FAILED, + }); + throw new AuthError({ + message: 'Your session has expired. Please sign in again.', + code: AuthErrorCode.TOKEN_RENEW_FAILED, + }); + } + const newId = randomUUID(); + const issuedTime = Date.now(); + + const [count] = await model.update( + { jti: newId, issuedTime }, + + { where: { jti } }, + ); + + if (count === 1) { + return { jti: newId, issuedTime }; + } else { + this.logger.error('jti renew failed', { + module: 'auth', + submodule: 'token-controller', + method: 'renew', + jti, + code: AuthErrorCode.TOKEN_RENEW_FAILED, + }); + + throw new AuthError({ + message: 'Your session has expired. Please sign in again.', + code: AuthErrorCode.TOKEN_RENEW_FAILED, + }); + } + }; +} diff --git a/packages/plugins/@nocobase/plugin-auth/src/types.ts b/packages/plugins/@nocobase/plugin-auth/src/types.ts new file mode 100644 index 0000000000..f837fb797b --- /dev/null +++ b/packages/plugins/@nocobase/plugin-auth/src/types.ts @@ -0,0 +1,10 @@ +/** + * This file is part of the NocoBase (R) project. + * Copyright (c) 2020-2024 NocoBase Co., Ltd. + * Authors: NocoBase Team. + * + * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License. + * For more information, please refer to: https://www.nocobase.com/agreement. + */ + +export type { TokenPolicyConfig as TokenPolicyConfig } from '@nocobase/auth'; diff --git a/packages/plugins/@nocobase/plugin-backup-restore/src/server/__tests__/api.test.ts b/packages/plugins/@nocobase/plugin-backup-restore/src/server/__tests__/api.test.ts index 19c303f04c..0af7aa5768 100644 --- a/packages/plugins/@nocobase/plugin-backup-restore/src/server/__tests__/api.test.ts +++ b/packages/plugins/@nocobase/plugin-backup-restore/src/server/__tests__/api.test.ts @@ -10,12 +10,13 @@ import { MockServer, waitSecond } from '@nocobase/test'; import { Dumper } from '../dumper'; import createApp from './index'; - +let adminAgent; describe('backup files', () => { let app: MockServer; beforeEach(async () => { app = await createApp(); + adminAgent = app.agent().login(1); }); afterEach(async () => { @@ -23,12 +24,9 @@ describe('backup files', () => { }); it('should create dump file', async () => { - const createResponse = await app - .agent() - .resource('backupFiles') - .create({ - dataTypes: ['meta', 'config', 'business'], - }); + const createResponse = await adminAgent.resource('backupFiles').create({ + dataTypes: ['meta', 'config', 'business'], + }); expect(createResponse.status).toBe(200); @@ -61,7 +59,7 @@ describe('backup files', () => { await waitSecond(1000); const fileName = Dumper.generateFileName(); await dumper.writeLockFile(fileName); - const listResponse = await app.agent().resource('backupFiles').list(); + const listResponse = await adminAgent.resource('backupFiles').list(); expect(listResponse.status).toBe(200); @@ -72,7 +70,7 @@ describe('backup files', () => { }); it('should list backup file', async () => { - const listResponse = await app.agent().resource('backupFiles').list(); + const listResponse = await adminAgent.resource('backupFiles').list(); expect(listResponse.status).toBe(200); @@ -83,7 +81,7 @@ describe('backup files', () => { }); it('should get backup file', async () => { - const getResponse = await app.agent().resource('backupFiles').get({ + const getResponse = await adminAgent.resource('backupFiles').get({ filterByTk: dumpKey, }); @@ -95,27 +93,24 @@ describe('backup files', () => { }); it('should restore from file name', async () => { - const restoreResponse = await app - .agent() - .resource('backupFiles') - .restore({ - values: { - filterByTk: dumpKey, - dataTypes: ['meta', 'config', 'business'], - }, - }); + const restoreResponse = await adminAgent.resource('backupFiles').restore({ + values: { + filterByTk: dumpKey, + dataTypes: ['meta', 'config', 'business'], + }, + }); expect(restoreResponse.status).toBe(200); }); it('should destroy dump file', async () => { - const destroyResponse = await app.agent().resource('backupFiles').destroy({ + const destroyResponse = await adminAgent.resource('backupFiles').destroy({ filterByTk: dumpKey, }); expect(destroyResponse.status).toBe(200); - const getResponse = await app.agent().resource('backupFiles').get({ + const getResponse = await adminAgent.resource('backupFiles').get({ filterByTk: dumpKey, }); @@ -124,7 +119,7 @@ describe('backup files', () => { it('should restore from upload file', async () => { const filePath = dumper.backUpFilePath(dumpKey); - const packageInfoResponse = await app.agent().post('/backupFiles:upload').attach('file', filePath); + const packageInfoResponse = await adminAgent.post('/backupFiles:upload').attach('file', filePath); expect(packageInfoResponse.status).toBe(200); const data = packageInfoResponse.body.data; @@ -132,15 +127,12 @@ describe('backup files', () => { expect(data['key']).toBeTruthy(); expect(data['meta']).toBeTruthy(); - const restoreResponse = await app - .agent() - .resource('backupFiles') - .restore({ - values: { - key: data['key'], - dataTypes: ['meta', 'config', 'business'], - }, - }); + const restoreResponse = await adminAgent.resource('backupFiles').restore({ + values: { + key: data['key'], + dataTypes: ['meta', 'config', 'business'], + }, + }); expect(restoreResponse.status).toBe(200); }); @@ -162,7 +154,7 @@ describe('backup files', () => { context: {}, }); - const response = await app.agent().get('/backupFiles:dumpableCollections'); + const response = await adminAgent.get('/backupFiles:dumpableCollections'); expect(response.status).toBe(200); diff --git a/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/server/__tests__/trigger.test.ts b/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/server/__tests__/trigger.test.ts index d45959ad98..9d2a69ae09 100644 --- a/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/server/__tests__/trigger.test.ts +++ b/packages/plugins/@nocobase/plugin-workflow-action-trigger/src/server/__tests__/trigger.test.ts @@ -31,6 +31,7 @@ describe('workflow > action-trigger', () => { beforeEach(async () => { app = await getApp({ plugins: ['users', 'auth', 'acl', 'data-source-manager', 'system-settings', Plugin], + acl: true, }); await app.pm.get('auth').install(); agent = app.agent(); diff --git a/packages/plugins/@nocobase/plugin-workflow-request/src/server/__tests__/instruction.test.ts b/packages/plugins/@nocobase/plugin-workflow-request/src/server/__tests__/instruction.test.ts index 8692c48d74..298223e037 100644 --- a/packages/plugins/@nocobase/plugin-workflow-request/src/server/__tests__/instruction.test.ts +++ b/packages/plugins/@nocobase/plugin-workflow-request/src/server/__tests__/instruction.test.ts @@ -523,7 +523,7 @@ describe('workflow > instructions > request', () => { const token = jwt.sign( { - userId: typeof user.id, + userId: user.id, }, process.env.APP_KEY, { From 8baec189880aeeadb537594480c26f710564dd0c Mon Sep 17 00:00:00 2001 From: "nocobase[bot]" <179432756+nocobase[bot]@users.noreply.github.com> Date: Sun, 19 Jan 2025 02:05:02 +0000 Subject: [PATCH 035/125] =?UTF-8?q?chore(versions):=20=F0=9F=98=8A=20publi?= =?UTF-8?q?sh=20v1.6.0-alpha.15?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lerna.json | 6 +- packages/core/acl/package.json | 6 +- packages/core/actions/package.json | 8 +- packages/core/app/package.json | 10 +- packages/core/auth/package.json | 12 +- packages/core/build/package.json | 2 +- packages/core/cache/package.json | 2 +- packages/core/cli/package.json | 6 +- packages/core/client/package.json | 8 +- .../core/create-nocobase-app/package.json | 2 +- .../core/data-source-manager/package.json | 12 +- packages/core/database/package.json | 6 +- packages/core/devtools/package.json | 8 +- packages/core/evaluators/package.json | 4 +- packages/core/lock-manager/package.json | 4 +- packages/core/logger/package.json | 2 +- packages/core/resourcer/package.json | 4 +- packages/core/sdk/package.json | 2 +- packages/core/server/package.json | 28 ++-- packages/core/telemetry/package.json | 4 +- packages/core/test/package.json | 4 +- packages/core/utils/package.json | 2 +- .../plugins/@nocobase/plugin-acl/package.json | 2 +- .../plugin-action-bulk-edit/package.json | 2 +- .../plugin-action-bulk-update/package.json | 2 +- .../plugin-action-custom-request/package.json | 2 +- .../plugin-action-duplicate/package.json | 2 +- .../plugin-action-export/package.json | 2 +- .../plugin-action-import/package.json | 2 +- .../plugin-action-print/package.json | 2 +- .../@nocobase/plugin-api-doc/package.json | 2 +- .../@nocobase/plugin-api-keys/package.json | 2 +- .../plugin-async-task-manager/package.json | 2 +- .../@nocobase/plugin-audit-logs/package.json | 2 +- .../@nocobase/plugin-auth-sms/package.json | 2 +- .../@nocobase/plugin-auth/package.json | 6 +- .../plugin-backup-restore/package.json | 2 +- .../plugin-block-iframe/package.json | 2 +- .../plugin-block-workbench/package.json | 2 +- .../@nocobase/plugin-calendar/package.json | 2 +- .../@nocobase/plugin-charts/package.json | 2 +- .../@nocobase/plugin-client/package.json | 2 +- .../plugin-collection-sql/package.json | 2 +- .../plugin-collection-tree/package.json | 2 +- .../plugin-data-source-main/package.json | 2 +- .../plugin-data-source-manager/package.json | 2 +- .../plugin-data-visualization/package.json | 2 +- .../plugin-disable-pm-add/package.json | 2 +- .../plugin-environment-variables/package.json | 2 +- .../plugin-error-handler/package.json | 2 +- .../plugin-field-china-region/package.json | 2 +- .../plugin-field-formula/package.json | 2 +- .../plugin-field-m2m-array/package.json | 2 +- .../plugin-field-markdown-vditor/package.json | 2 +- .../plugin-field-sequence/package.json | 2 +- .../@nocobase/plugin-field-sort/package.json | 2 +- .../plugin-file-manager/package.json | 2 +- .../@nocobase/plugin-gantt/package.json | 2 +- .../package.json | 2 +- .../@nocobase/plugin-kanban/package.json | 2 +- .../plugin-localization/package.json | 2 +- .../@nocobase/plugin-logger/package.json | 2 +- .../plugins/@nocobase/plugin-map/package.json | 2 +- .../plugin-mobile-client/package.json | 2 +- .../@nocobase/plugin-mobile/package.json | 2 +- .../plugin-mock-collections/package.json | 2 +- .../plugin-multi-app-manager/package.json | 2 +- .../package.json | 2 +- .../plugin-notification-email/package.json | 2 +- .../package.json | 2 +- .../plugin-notification-manager/package.json | 2 +- .../plugin-notifications/package.json | 2 +- .../plugin-public-forms/package.json | 2 +- .../plugin-sample-hello/package.json | 2 +- .../plugin-snapshot-field/package.json | 2 +- .../plugin-system-settings/package.json | 2 +- .../plugin-theme-editor/package.json | 2 +- .../plugin-ui-schema-storage/package.json | 2 +- .../plugin-user-data-sync/package.json | 2 +- .../@nocobase/plugin-users/package.json | 2 +- .../plugin-verification/package.json | 2 +- .../package.json | 2 +- .../plugin-workflow-aggregate/package.json | 2 +- .../plugin-workflow-delay/package.json | 2 +- .../package.json | 2 +- .../plugin-workflow-loop/package.json | 2 +- .../plugin-workflow-mailer/package.json | 2 +- .../plugin-workflow-manual/package.json | 2 +- .../plugin-workflow-notification/package.json | 2 +- .../plugin-workflow-parallel/package.json | 2 +- .../plugin-workflow-request/package.json | 2 +- .../plugin-workflow-sql/package.json | 2 +- .../plugin-workflow-test/package.json | 2 +- .../@nocobase/plugin-workflow/package.json | 4 +- packages/presets/nocobase/package.json | 140 +++++++++--------- 95 files changed, 217 insertions(+), 215 deletions(-) diff --git a/lerna.json b/lerna.json index 2da755853e..6a6ce86c42 100644 --- a/lerna.json +++ b/lerna.json @@ -1,8 +1,10 @@ { - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "npmClient": "yarn", "useWorkspaces": true, - "npmClientArgs": ["--ignore-engines"], + "npmClientArgs": [ + "--ignore-engines" + ], "command": { "version": { "forcePublish": true, diff --git a/packages/core/acl/package.json b/packages/core/acl/package.json index 873a67f6dd..1926972a0b 100644 --- a/packages/core/acl/package.json +++ b/packages/core/acl/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/acl", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/resourcer": "1.6.0-alpha.14", - "@nocobase/utils": "1.6.0-alpha.14", + "@nocobase/resourcer": "1.6.0-alpha.15", + "@nocobase/utils": "1.6.0-alpha.15", "minimatch": "^5.1.1" }, "repository": { diff --git a/packages/core/actions/package.json b/packages/core/actions/package.json index 35e11ec963..f8034a74da 100644 --- a/packages/core/actions/package.json +++ b/packages/core/actions/package.json @@ -1,14 +1,14 @@ { "name": "@nocobase/actions", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/cache": "1.6.0-alpha.14", - "@nocobase/database": "1.6.0-alpha.14", - "@nocobase/resourcer": "1.6.0-alpha.14" + "@nocobase/cache": "1.6.0-alpha.15", + "@nocobase/database": "1.6.0-alpha.15", + "@nocobase/resourcer": "1.6.0-alpha.15" }, "repository": { "type": "git", diff --git a/packages/core/app/package.json b/packages/core/app/package.json index 76cd7adbd2..c79c86c1c4 100644 --- a/packages/core/app/package.json +++ b/packages/core/app/package.json @@ -1,17 +1,17 @@ { "name": "@nocobase/app", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/database": "1.6.0-alpha.14", - "@nocobase/preset-nocobase": "1.6.0-alpha.14", - "@nocobase/server": "1.6.0-alpha.14" + "@nocobase/database": "1.6.0-alpha.15", + "@nocobase/preset-nocobase": "1.6.0-alpha.15", + "@nocobase/server": "1.6.0-alpha.15" }, "devDependencies": { - "@nocobase/client": "1.6.0-alpha.14" + "@nocobase/client": "1.6.0-alpha.15" }, "repository": { "type": "git", diff --git a/packages/core/auth/package.json b/packages/core/auth/package.json index 75a778a290..78bd82812e 100644 --- a/packages/core/auth/package.json +++ b/packages/core/auth/package.json @@ -1,16 +1,16 @@ { "name": "@nocobase/auth", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/actions": "1.6.0-alpha.14", - "@nocobase/cache": "1.6.0-alpha.14", - "@nocobase/database": "1.6.0-alpha.14", - "@nocobase/resourcer": "1.6.0-alpha.14", - "@nocobase/utils": "1.6.0-alpha.14", + "@nocobase/actions": "1.6.0-alpha.15", + "@nocobase/cache": "1.6.0-alpha.15", + "@nocobase/database": "1.6.0-alpha.15", + "@nocobase/resourcer": "1.6.0-alpha.15", + "@nocobase/utils": "1.6.0-alpha.15", "@types/jsonwebtoken": "^8.5.8", "jsonwebtoken": "^8.5.1" }, diff --git a/packages/core/build/package.json b/packages/core/build/package.json index ba45288906..fc83a930f4 100644 --- a/packages/core/build/package.json +++ b/packages/core/build/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/build", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "description": "Library build tool based on rollup.", "main": "lib/index.js", "types": "./lib/index.d.ts", diff --git a/packages/core/cache/package.json b/packages/core/cache/package.json index 685b23c83e..ec636c4d4a 100644 --- a/packages/core/cache/package.json +++ b/packages/core/cache/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/cache", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", diff --git a/packages/core/cli/package.json b/packages/core/cli/package.json index eb759ce9c0..d6932cf77e 100644 --- a/packages/core/cli/package.json +++ b/packages/core/cli/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/cli", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "description": "", "license": "AGPL-3.0", "main": "./src/index.js", @@ -8,7 +8,7 @@ "nocobase": "./bin/index.js" }, "dependencies": { - "@nocobase/app": "1.6.0-alpha.14", + "@nocobase/app": "1.6.0-alpha.15", "@types/fs-extra": "^11.0.1", "@umijs/utils": "3.5.20", "chalk": "^4.1.1", @@ -25,7 +25,7 @@ "tsx": "^4.19.0" }, "devDependencies": { - "@nocobase/devtools": "1.6.0-alpha.14" + "@nocobase/devtools": "1.6.0-alpha.15" }, "repository": { "type": "git", diff --git a/packages/core/client/package.json b/packages/core/client/package.json index aecef73494..1ea1f74103 100644 --- a/packages/core/client/package.json +++ b/packages/core/client/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/client", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "lib/index.js", "module": "es/index.mjs", @@ -27,9 +27,9 @@ "@formily/reactive-react": "^2.2.27", "@formily/shared": "^2.2.27", "@formily/validator": "^2.2.27", - "@nocobase/evaluators": "1.6.0-alpha.14", - "@nocobase/sdk": "1.6.0-alpha.14", - "@nocobase/utils": "1.6.0-alpha.14", + "@nocobase/evaluators": "1.6.0-alpha.15", + "@nocobase/sdk": "1.6.0-alpha.15", + "@nocobase/utils": "1.6.0-alpha.15", "ahooks": "^3.7.2", "antd": "5.12.8", "antd-style": "3.7.1", diff --git a/packages/core/create-nocobase-app/package.json b/packages/core/create-nocobase-app/package.json index f87d3ab179..8a4c4347f8 100755 --- a/packages/core/create-nocobase-app/package.json +++ b/packages/core/create-nocobase-app/package.json @@ -1,6 +1,6 @@ { "name": "create-nocobase-app", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "src/index.js", "license": "AGPL-3.0", "dependencies": { diff --git a/packages/core/data-source-manager/package.json b/packages/core/data-source-manager/package.json index ab57b5a800..49db155843 100644 --- a/packages/core/data-source-manager/package.json +++ b/packages/core/data-source-manager/package.json @@ -1,16 +1,16 @@ { "name": "@nocobase/data-source-manager", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/actions": "1.6.0-alpha.14", - "@nocobase/cache": "1.6.0-alpha.14", - "@nocobase/database": "1.6.0-alpha.14", - "@nocobase/resourcer": "1.6.0-alpha.14", - "@nocobase/utils": "1.6.0-alpha.14", + "@nocobase/actions": "1.6.0-alpha.15", + "@nocobase/cache": "1.6.0-alpha.15", + "@nocobase/database": "1.6.0-alpha.15", + "@nocobase/resourcer": "1.6.0-alpha.15", + "@nocobase/utils": "1.6.0-alpha.15", "@types/jsonwebtoken": "^8.5.8", "jsonwebtoken": "^8.5.1" }, diff --git a/packages/core/database/package.json b/packages/core/database/package.json index 03cfaecb18..1357a361b3 100644 --- a/packages/core/database/package.json +++ b/packages/core/database/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/database", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", "dependencies": { - "@nocobase/logger": "1.6.0-alpha.14", - "@nocobase/utils": "1.6.0-alpha.14", + "@nocobase/logger": "1.6.0-alpha.15", + "@nocobase/utils": "1.6.0-alpha.15", "async-mutex": "^0.3.2", "chalk": "^4.1.1", "cron-parser": "4.4.0", diff --git a/packages/core/devtools/package.json b/packages/core/devtools/package.json index b58432817c..b4c37022a4 100644 --- a/packages/core/devtools/package.json +++ b/packages/core/devtools/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/devtools", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "description": "", "license": "AGPL-3.0", "main": "./src/index.js", "dependencies": { - "@nocobase/build": "1.6.0-alpha.14", - "@nocobase/client": "1.6.0-alpha.14", - "@nocobase/test": "1.6.0-alpha.14", + "@nocobase/build": "1.6.0-alpha.15", + "@nocobase/client": "1.6.0-alpha.15", + "@nocobase/test": "1.6.0-alpha.15", "@types/koa": "^2.13.4", "@types/koa-bodyparser": "^4.3.4", "@types/lodash": "^4.14.177", diff --git a/packages/core/evaluators/package.json b/packages/core/evaluators/package.json index 31411a6e78..5e9085c696 100644 --- a/packages/core/evaluators/package.json +++ b/packages/core/evaluators/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/evaluators", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", "dependencies": { "@formulajs/formulajs": "4.4.9", - "@nocobase/utils": "1.6.0-alpha.14", + "@nocobase/utils": "1.6.0-alpha.15", "mathjs": "^10.6.0" }, "repository": { diff --git a/packages/core/lock-manager/package.json b/packages/core/lock-manager/package.json index 98f4d4a5cb..5debb36821 100644 --- a/packages/core/lock-manager/package.json +++ b/packages/core/lock-manager/package.json @@ -1,10 +1,10 @@ { "name": "@nocobase/lock-manager", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "lib/index.js", "license": "AGPL-3.0", "devDependencies": { - "@nocobase/utils": "1.6.0-alpha.14", + "@nocobase/utils": "1.6.0-alpha.15", "async-mutex": "^0.5.0" } } diff --git a/packages/core/logger/package.json b/packages/core/logger/package.json index 0f8c0cd360..21a4728f28 100644 --- a/packages/core/logger/package.json +++ b/packages/core/logger/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/logger", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "description": "nocobase logging library", "license": "AGPL-3.0", "main": "./lib/index.js", diff --git a/packages/core/resourcer/package.json b/packages/core/resourcer/package.json index 3e657bf9cc..3358f2fa5d 100644 --- a/packages/core/resourcer/package.json +++ b/packages/core/resourcer/package.json @@ -1,12 +1,12 @@ { "name": "@nocobase/resourcer", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", "dependencies": { - "@nocobase/utils": "1.6.0-alpha.14", + "@nocobase/utils": "1.6.0-alpha.15", "deepmerge": "^4.2.2", "koa-compose": "^4.1.0", "lodash": "^4.17.21", diff --git a/packages/core/sdk/package.json b/packages/core/sdk/package.json index 1431e0a701..6b88188759 100644 --- a/packages/core/sdk/package.json +++ b/packages/core/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/sdk", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/packages/core/server/package.json b/packages/core/server/package.json index ba3409e0d7..6febfc1bbd 100644 --- a/packages/core/server/package.json +++ b/packages/core/server/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/server", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", @@ -10,19 +10,19 @@ "@koa/cors": "^3.1.0", "@koa/multer": "^3.0.2", "@koa/router": "^9.4.0", - "@nocobase/acl": "1.6.0-alpha.14", - "@nocobase/actions": "1.6.0-alpha.14", - "@nocobase/auth": "1.6.0-alpha.14", - "@nocobase/cache": "1.6.0-alpha.14", - "@nocobase/data-source-manager": "1.6.0-alpha.14", - "@nocobase/database": "1.6.0-alpha.14", - "@nocobase/evaluators": "1.6.0-alpha.14", - "@nocobase/lock-manager": "1.6.0-alpha.14", - "@nocobase/logger": "1.6.0-alpha.14", - "@nocobase/resourcer": "1.6.0-alpha.14", - "@nocobase/sdk": "1.6.0-alpha.14", - "@nocobase/telemetry": "1.6.0-alpha.14", - "@nocobase/utils": "1.6.0-alpha.14", + "@nocobase/acl": "1.6.0-alpha.15", + "@nocobase/actions": "1.6.0-alpha.15", + "@nocobase/auth": "1.6.0-alpha.15", + "@nocobase/cache": "1.6.0-alpha.15", + "@nocobase/data-source-manager": "1.6.0-alpha.15", + "@nocobase/database": "1.6.0-alpha.15", + "@nocobase/evaluators": "1.6.0-alpha.15", + "@nocobase/lock-manager": "1.6.0-alpha.15", + "@nocobase/logger": "1.6.0-alpha.15", + "@nocobase/resourcer": "1.6.0-alpha.15", + "@nocobase/sdk": "1.6.0-alpha.15", + "@nocobase/telemetry": "1.6.0-alpha.15", + "@nocobase/utils": "1.6.0-alpha.15", "@types/decompress": "4.2.7", "@types/ini": "^1.3.31", "@types/koa-send": "^4.1.3", diff --git a/packages/core/telemetry/package.json b/packages/core/telemetry/package.json index 23a00e5067..f75b30f48e 100644 --- a/packages/core/telemetry/package.json +++ b/packages/core/telemetry/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/telemetry", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "description": "nocobase telemetry library", "license": "AGPL-3.0", "main": "./lib/index.js", @@ -11,7 +11,7 @@ "directory": "packages/telemetry" }, "dependencies": { - "@nocobase/utils": "1.6.0-alpha.14", + "@nocobase/utils": "1.6.0-alpha.15", "@opentelemetry/api": "^1.7.0", "@opentelemetry/instrumentation": "^0.46.0", "@opentelemetry/resources": "^1.19.0", diff --git a/packages/core/test/package.json b/packages/core/test/package.json index 80092ef931..f6ee05e0a7 100644 --- a/packages/core/test/package.json +++ b/packages/core/test/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/test", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "lib/index.js", "module": "./src/index.ts", "types": "./lib/index.d.ts", @@ -51,7 +51,7 @@ }, "dependencies": { "@faker-js/faker": "8.1.0", - "@nocobase/server": "1.6.0-alpha.14", + "@nocobase/server": "1.6.0-alpha.15", "@playwright/test": "^1.45.3", "@testing-library/jest-dom": "^6.4.2", "@testing-library/react": "^14.0.0", diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index eb677a1b13..1958f1d622 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/utils", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", diff --git a/packages/plugins/@nocobase/plugin-acl/package.json b/packages/plugins/@nocobase/plugin-acl/package.json index f8df4bc25e..7b7aac5115 100644 --- a/packages/plugins/@nocobase/plugin-acl/package.json +++ b/packages/plugins/@nocobase/plugin-acl/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "权限控制", "description": "Based on roles, resources, and actions, access control can precisely manage interface configuration permissions, data operation permissions, menu access permissions, and plugin permissions.", "description.zh-CN": "基于角色、资源和操作的权限控制,可以精确控制界面配置权限、数据操作权限、菜单访问权限、插件权限。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/acl", diff --git a/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json b/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json index c4a2f1013c..3bb026fe50 100644 --- a/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json +++ b/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-bulk-edit", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-bulk-edit", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-bulk-edit", diff --git a/packages/plugins/@nocobase/plugin-action-bulk-update/package.json b/packages/plugins/@nocobase/plugin-action-bulk-update/package.json index 53cb079892..4f83deb8ad 100644 --- a/packages/plugins/@nocobase/plugin-action-bulk-update/package.json +++ b/packages/plugins/@nocobase/plugin-action-bulk-update/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-bulk-update", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-bulk-update", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-bulk-update", diff --git a/packages/plugins/@nocobase/plugin-action-custom-request/package.json b/packages/plugins/@nocobase/plugin-action-custom-request/package.json index 2811e2c2f3..f0e41c2dc6 100644 --- a/packages/plugins/@nocobase/plugin-action-custom-request/package.json +++ b/packages/plugins/@nocobase/plugin-action-custom-request/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-custom-request", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-custom-request", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-custom-request", diff --git a/packages/plugins/@nocobase/plugin-action-duplicate/package.json b/packages/plugins/@nocobase/plugin-action-duplicate/package.json index 81a9f4169c..60f1b667c6 100644 --- a/packages/plugins/@nocobase/plugin-action-duplicate/package.json +++ b/packages/plugins/@nocobase/plugin-action-duplicate/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-duplicate", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-duplicate", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-duplicate", diff --git a/packages/plugins/@nocobase/plugin-action-export/package.json b/packages/plugins/@nocobase/plugin-action-export/package.json index 04c47f7b37..b8f1a9955b 100644 --- a/packages/plugins/@nocobase/plugin-action-export/package.json +++ b/packages/plugins/@nocobase/plugin-action-export/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "操作:导出记录", "description": "Export filtered records to excel, you can configure which fields to export.", "description.zh-CN": "导出筛选后的记录到 Excel 中,可以配置导出哪些字段。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-export", diff --git a/packages/plugins/@nocobase/plugin-action-import/package.json b/packages/plugins/@nocobase/plugin-action-import/package.json index 72dd4d1025..7e30f474bb 100644 --- a/packages/plugins/@nocobase/plugin-action-import/package.json +++ b/packages/plugins/@nocobase/plugin-action-import/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "操作:导入记录", "description": "Import records using excel templates. You can configure which fields to import and templates will be generated automatically.", "description.zh-CN": "使用 Excel 模板导入数据,可以配置导入哪些字段,自动生成模板。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-import", diff --git a/packages/plugins/@nocobase/plugin-action-print/package.json b/packages/plugins/@nocobase/plugin-action-print/package.json index 333e2c89d9..3399792f69 100644 --- a/packages/plugins/@nocobase/plugin-action-print/package.json +++ b/packages/plugins/@nocobase/plugin-action-print/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-print", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-print", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-print", diff --git a/packages/plugins/@nocobase/plugin-api-doc/package.json b/packages/plugins/@nocobase/plugin-api-doc/package.json index 4dd22d6653..78d186c303 100644 --- a/packages/plugins/@nocobase/plugin-api-doc/package.json +++ b/packages/plugins/@nocobase/plugin-api-doc/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-api-doc", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "displayName": "API documentation", "displayName.zh-CN": "API 文档", "description": "An OpenAPI documentation generator for NocoBase HTTP API.", diff --git a/packages/plugins/@nocobase/plugin-api-keys/package.json b/packages/plugins/@nocobase/plugin-api-keys/package.json index 0e6588ae7a..280be7cef8 100644 --- a/packages/plugins/@nocobase/plugin-api-keys/package.json +++ b/packages/plugins/@nocobase/plugin-api-keys/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "认证:API 密钥", "description": "Allows users to use API key to access application's HTTP API", "description.zh-CN": "允许用户使用 API 密钥访问应用的 HTTP API", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/api-keys", diff --git a/packages/plugins/@nocobase/plugin-async-task-manager/package.json b/packages/plugins/@nocobase/plugin-async-task-manager/package.json index 4a6431e248..5032333431 100644 --- a/packages/plugins/@nocobase/plugin-async-task-manager/package.json +++ b/packages/plugins/@nocobase/plugin-async-task-manager/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "异步任务管理器", "description": "Manage and monitor asynchronous tasks such as data import/export. Support task progress tracking and notification.", "description.zh-CN": "管理和监控数据导入导出等异步任务。支持任务进度跟踪和通知。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-audit-logs/package.json b/packages/plugins/@nocobase/plugin-audit-logs/package.json index ec650e9ab8..dcb6ebf087 100644 --- a/packages/plugins/@nocobase/plugin-audit-logs/package.json +++ b/packages/plugins/@nocobase/plugin-audit-logs/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-audit-logs", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "displayName": "Audit logs (deprecated)", "displayName.zh-CN": "审计日志(废弃)", "description": "This plugin is deprecated. There will be a new audit log plugin in the future.", diff --git a/packages/plugins/@nocobase/plugin-auth-sms/package.json b/packages/plugins/@nocobase/plugin-auth-sms/package.json index 887eb258c5..7700bc66f5 100644 --- a/packages/plugins/@nocobase/plugin-auth-sms/package.json +++ b/packages/plugins/@nocobase/plugin-auth-sms/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "认证:短信", "description": "SMS authentication.", "description.zh-CN": "通过短信验证码认证身份。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/auth-sms", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/auth-sms", diff --git a/packages/plugins/@nocobase/plugin-auth/package.json b/packages/plugins/@nocobase/plugin-auth/package.json index 820afd6085..ab8e9e4a92 100644 --- a/packages/plugins/@nocobase/plugin-auth/package.json +++ b/packages/plugins/@nocobase/plugin-auth/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-auth", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/auth", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/auth", @@ -11,9 +11,9 @@ "@types/cron": "^2.0.1", "antd": "5.x", "cron": "^2.3.1", + "ms": "^2.1.3", "react": "^18.2.0", - "react-i18next": "^11.15.1", - "ms": "^2.1.3" + "react-i18next": "^11.15.1" }, "peerDependencies": { "@nocobase/actions": "1.x", diff --git a/packages/plugins/@nocobase/plugin-backup-restore/package.json b/packages/plugins/@nocobase/plugin-backup-restore/package.json index 4f8a8bc11c..0c1ced5035 100644 --- a/packages/plugins/@nocobase/plugin-backup-restore/package.json +++ b/packages/plugins/@nocobase/plugin-backup-restore/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "应用的备份与还原(废弃)", "description": "Backup and restore applications for scenarios such as application replication, migration, and upgrades.", "description.zh-CN": "备份和还原应用,可用于应用的复制、迁移、升级等场景。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/backup-restore", diff --git a/packages/plugins/@nocobase/plugin-block-iframe/package.json b/packages/plugins/@nocobase/plugin-block-iframe/package.json index 6de7e77300..3d599c054f 100644 --- a/packages/plugins/@nocobase/plugin-block-iframe/package.json +++ b/packages/plugins/@nocobase/plugin-block-iframe/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "区块:iframe", "description": "Create an iframe block on the page to embed and display external web pages or content.", "description.zh-CN": "在页面上创建和管理iframe,用于嵌入和展示外部网页或内容。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/block-iframe", diff --git a/packages/plugins/@nocobase/plugin-block-workbench/package.json b/packages/plugins/@nocobase/plugin-block-workbench/package.json index 3fbdb14f9c..48abd8f7c0 100644 --- a/packages/plugins/@nocobase/plugin-block-workbench/package.json +++ b/packages/plugins/@nocobase/plugin-block-workbench/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-block-workbench", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "displayName": "Block: Action panel", "displayName.zh-CN": "区块:操作面板", "description": "Centrally manages and displays various actions, allowing users to efficiently perform tasks. It supports extensibility, with current action types including pop-ups, links, scanning, and custom requests.", diff --git a/packages/plugins/@nocobase/plugin-calendar/package.json b/packages/plugins/@nocobase/plugin-calendar/package.json index 05a3b02f7c..e1d46537f5 100644 --- a/packages/plugins/@nocobase/plugin-calendar/package.json +++ b/packages/plugins/@nocobase/plugin-calendar/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-calendar", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "displayName": "Calendar", "displayName.zh-CN": "日历", "description": "Provides callendar collection template and block for managing date data, typically for date/time related information such as events, appointments, tasks, and so on.", diff --git a/packages/plugins/@nocobase/plugin-charts/package.json b/packages/plugins/@nocobase/plugin-charts/package.json index 9b16300930..249fa5acad 100644 --- a/packages/plugins/@nocobase/plugin-charts/package.json +++ b/packages/plugins/@nocobase/plugin-charts/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "图表(废弃)", "description": "The plugin has been deprecated, please use the data visualization plugin instead.", "description.zh-CN": "已废弃插件,请使用数据可视化插件代替。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "./dist/server/index.js", "license": "AGPL-3.0", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-client/package.json b/packages/plugins/@nocobase/plugin-client/package.json index cfa89c7cb8..8931ea2b53 100644 --- a/packages/plugins/@nocobase/plugin-client/package.json +++ b/packages/plugins/@nocobase/plugin-client/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "WEB 客户端", "description": "Provides a client interface for the NocoBase server", "description.zh-CN": "为 NocoBase 服务端提供客户端界面", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "./dist/server/index.js", "license": "AGPL-3.0", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-collection-sql/package.json b/packages/plugins/@nocobase/plugin-collection-sql/package.json index 9732e36966..1a4909fd58 100644 --- a/packages/plugins/@nocobase/plugin-collection-sql/package.json +++ b/packages/plugins/@nocobase/plugin-collection-sql/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表: SQL", "description": "Provides SQL collection template", "description.zh-CN": "提供 SQL 数据表模板", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "homepage": "https://docs-cn.nocobase.com/handbook/collection-sql", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/collection-sql", "main": "dist/server/index.js", diff --git a/packages/plugins/@nocobase/plugin-collection-tree/package.json b/packages/plugins/@nocobase/plugin-collection-tree/package.json index fddfb0ea5c..89e8a95a9a 100644 --- a/packages/plugins/@nocobase/plugin-collection-tree/package.json +++ b/packages/plugins/@nocobase/plugin-collection-tree/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-collection-tree", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "displayName": "Collection: Tree", "displayName.zh-CN": "数据表:树", "description": "Provides tree collection template", diff --git a/packages/plugins/@nocobase/plugin-data-source-main/package.json b/packages/plugins/@nocobase/plugin-data-source-main/package.json index 0f1d21e854..4fa8694e65 100644 --- a/packages/plugins/@nocobase/plugin-data-source-main/package.json +++ b/packages/plugins/@nocobase/plugin-data-source-main/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据源:主数据库", "description": "NocoBase main database, supports relational databases such as PostgreSQL, MySQL, MariaDB and so on.", "description.zh-CN": "NocoBase 主数据库,支持 PostgreSQL、MySQL、MariaDB 等关系型数据库。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/data-source-main", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/data-source-main", diff --git a/packages/plugins/@nocobase/plugin-data-source-manager/package.json b/packages/plugins/@nocobase/plugin-data-source-manager/package.json index 0b78ddd1da..b9f9cb601a 100644 --- a/packages/plugins/@nocobase/plugin-data-source-manager/package.json +++ b/packages/plugins/@nocobase/plugin-data-source-manager/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-data-source-manager", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "dist/server/index.js", "displayName": "Data source manager", "displayName.zh-CN": "数据源管理", diff --git a/packages/plugins/@nocobase/plugin-data-visualization/package.json b/packages/plugins/@nocobase/plugin-data-visualization/package.json index ed921d7a20..0f40f4a48c 100644 --- a/packages/plugins/@nocobase/plugin-data-visualization/package.json +++ b/packages/plugins/@nocobase/plugin-data-visualization/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-data-visualization", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "displayName": "Data visualization", "displayName.zh-CN": "数据可视化", "description": "Provides data visualization feature, including chart block and chart filter block, support line charts, area charts, bar charts and more than a dozen kinds of charts, you can also extend more chart types.", diff --git a/packages/plugins/@nocobase/plugin-disable-pm-add/package.json b/packages/plugins/@nocobase/plugin-disable-pm-add/package.json index 0ee4628699..5018c715b0 100644 --- a/packages/plugins/@nocobase/plugin-disable-pm-add/package.json +++ b/packages/plugins/@nocobase/plugin-disable-pm-add/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-disable-pm-add", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "./dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-environment-variables/package.json b/packages/plugins/@nocobase/plugin-environment-variables/package.json index a2a0512a3a..49568e4426 100644 --- a/packages/plugins/@nocobase/plugin-environment-variables/package.json +++ b/packages/plugins/@nocobase/plugin-environment-variables/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-environment-variables", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-error-handler/package.json b/packages/plugins/@nocobase/plugin-error-handler/package.json index 8c4a79c837..6a65a7b131 100644 --- a/packages/plugins/@nocobase/plugin-error-handler/package.json +++ b/packages/plugins/@nocobase/plugin-error-handler/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "错误处理器", "description": "Handling application errors and exceptions.", "description.zh-CN": "处理应用程序中的错误和异常。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "./dist/server/index.js", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-field-china-region/package.json b/packages/plugins/@nocobase/plugin-field-china-region/package.json index ccb7a18387..aed0e19f1c 100644 --- a/packages/plugins/@nocobase/plugin-field-china-region/package.json +++ b/packages/plugins/@nocobase/plugin-field-china-region/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-field-china-region", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "displayName": "Collection field: administrative divisions of China", "displayName.zh-CN": "数据表字段:中国行政区划", "description": "Provides data and field type for administrative divisions of China.", diff --git a/packages/plugins/@nocobase/plugin-field-formula/package.json b/packages/plugins/@nocobase/plugin-field-formula/package.json index 1eab6e646c..d26b738dda 100644 --- a/packages/plugins/@nocobase/plugin-field-formula/package.json +++ b/packages/plugins/@nocobase/plugin-field-formula/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:公式", "description": "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.", "description.zh-CN": "可以配置并存储同一条记录的多字段值之间的计算结果,支持 Math.js 和 Excel formula functions 两种引擎", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-formula", diff --git a/packages/plugins/@nocobase/plugin-field-m2m-array/package.json b/packages/plugins/@nocobase/plugin-field-m2m-array/package.json index 514fb1eda1..e0a3955c4a 100644 --- a/packages/plugins/@nocobase/plugin-field-m2m-array/package.json +++ b/packages/plugins/@nocobase/plugin-field-m2m-array/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:多对多 (数组)", "description": "Allows to create many to many relationships between two models by storing an array of unique keys of the target model.", "description.zh-CN": "支持通过在数组中存储目标表唯一键的方式建立多对多关系。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json b/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json index 27b3f0de73..cf738ee3d0 100644 --- a/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json +++ b/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:Markdown(Vditor)", "description": "Used to store Markdown and render it using Vditor editor, supports common Markdown syntax such as list, code, quote, etc., and supports uploading images, recordings, etc.It also allows for instant rendering, where what you see is what you get.", "description.zh-CN": "用于存储 Markdown,并使用 Vditor 编辑器渲染,支持常见 Markdown 语法,如列表,代码,引用等,并支持上传图片,录音等。同时可以做到即时渲染,所见即所得。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-markdown-vditor", diff --git a/packages/plugins/@nocobase/plugin-field-sequence/package.json b/packages/plugins/@nocobase/plugin-field-sequence/package.json index 086bbca17b..701606486b 100644 --- a/packages/plugins/@nocobase/plugin-field-sequence/package.json +++ b/packages/plugins/@nocobase/plugin-field-sequence/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:自动编码", "description": "Automatically generate codes based on configured rules, supporting combinations of dates, numbers, and text.", "description.zh-CN": "根据配置的规则自动生成编码,支持日期、数字、文本的组合。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-sequence", diff --git a/packages/plugins/@nocobase/plugin-field-sort/package.json b/packages/plugins/@nocobase/plugin-field-sort/package.json index 1ba4c76720..e5abab0ae6 100644 --- a/packages/plugins/@nocobase/plugin-field-sort/package.json +++ b/packages/plugins/@nocobase/plugin-field-sort/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-field-sort", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "displayName": "Collection field: Sort", "displayName.zh-CN": "数据表字段:排序", diff --git a/packages/plugins/@nocobase/plugin-file-manager/package.json b/packages/plugins/@nocobase/plugin-file-manager/package.json index 8b97fdc7c5..ad2873bbe2 100644 --- a/packages/plugins/@nocobase/plugin-file-manager/package.json +++ b/packages/plugins/@nocobase/plugin-file-manager/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-file-manager", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "displayName": "File manager", "displayName.zh-CN": "文件管理器", "description": "Provides files storage services with files collection template and attachment field.", diff --git a/packages/plugins/@nocobase/plugin-gantt/package.json b/packages/plugins/@nocobase/plugin-gantt/package.json index 969600ba8e..d9614ec7c8 100644 --- a/packages/plugins/@nocobase/plugin-gantt/package.json +++ b/packages/plugins/@nocobase/plugin-gantt/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-gantt", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "displayName": "Block: Gantt", "displayName.zh-CN": "区块:甘特图", "description": "Provides Gantt block.", diff --git a/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json b/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json index 4dab728e28..1aadc7e351 100644 --- a/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json +++ b/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "可视化数据表管理", "description": "An ER diagram-like tool. Currently only the Master database is supported.", "description.zh-CN": "类似 ER 图的工具,目前只支持主数据库。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/graph-collection-manager", diff --git a/packages/plugins/@nocobase/plugin-kanban/package.json b/packages/plugins/@nocobase/plugin-kanban/package.json index 3ef9cefad7..9c0d0f08aa 100644 --- a/packages/plugins/@nocobase/plugin-kanban/package.json +++ b/packages/plugins/@nocobase/plugin-kanban/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-kanban", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/block-kanban", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/block-kanban", diff --git a/packages/plugins/@nocobase/plugin-localization/package.json b/packages/plugins/@nocobase/plugin-localization/package.json index 30f47303b9..09121911ad 100644 --- a/packages/plugins/@nocobase/plugin-localization/package.json +++ b/packages/plugins/@nocobase/plugin-localization/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-localization", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/localization-management", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/localization-management", diff --git a/packages/plugins/@nocobase/plugin-logger/package.json b/packages/plugins/@nocobase/plugin-logger/package.json index fa95dcdd36..48789e4bd5 100644 --- a/packages/plugins/@nocobase/plugin-logger/package.json +++ b/packages/plugins/@nocobase/plugin-logger/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "日志", "description": "Server-side logs, mainly including API request logs and system runtime logs, and allows to package and download log files.", "description.zh-CN": "服务端日志,主要包括接口请求日志和系统运行日志,并支持打包和下载日志文件。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/logger", diff --git a/packages/plugins/@nocobase/plugin-map/package.json b/packages/plugins/@nocobase/plugin-map/package.json index 8b882a533d..51f4898e78 100644 --- a/packages/plugins/@nocobase/plugin-map/package.json +++ b/packages/plugins/@nocobase/plugin-map/package.json @@ -2,7 +2,7 @@ "name": "@nocobase/plugin-map", "displayName": "Block: Map", "displayName.zh-CN": "区块:地图", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "description": "Map block, support Gaode map and Google map, you can also extend more map types.", "description.zh-CN": "地图区块,支持高德地图和 Google 地图,你也可以扩展更多地图类型。", "license": "AGPL-3.0", diff --git a/packages/plugins/@nocobase/plugin-mobile-client/package.json b/packages/plugins/@nocobase/plugin-mobile-client/package.json index d8b86adf3c..03c59ce483 100644 --- a/packages/plugins/@nocobase/plugin-mobile-client/package.json +++ b/packages/plugins/@nocobase/plugin-mobile-client/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-mobile-client", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/mobile-client", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/mobile-client", diff --git a/packages/plugins/@nocobase/plugin-mobile/package.json b/packages/plugins/@nocobase/plugin-mobile/package.json index f316be7a1c..2672ee9f3d 100644 --- a/packages/plugins/@nocobase/plugin-mobile/package.json +++ b/packages/plugins/@nocobase/plugin-mobile/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-mobile", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/mobile", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/mobile", diff --git a/packages/plugins/@nocobase/plugin-mock-collections/package.json b/packages/plugins/@nocobase/plugin-mock-collections/package.json index 443dcba28e..7fa05fa94b 100644 --- a/packages/plugins/@nocobase/plugin-mock-collections/package.json +++ b/packages/plugins/@nocobase/plugin-mock-collections/package.json @@ -2,7 +2,7 @@ "name": "@nocobase/plugin-mock-collections", "displayName": "mock-collections", "description": "mock-collections", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "./dist/server/index.js", "license": "AGPL-3.0", "peerDependencies": { diff --git a/packages/plugins/@nocobase/plugin-multi-app-manager/package.json b/packages/plugins/@nocobase/plugin-multi-app-manager/package.json index 5cd13fa5dc..3995386c97 100644 --- a/packages/plugins/@nocobase/plugin-multi-app-manager/package.json +++ b/packages/plugins/@nocobase/plugin-multi-app-manager/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "多应用管理器", "description": "Dynamically create multiple apps without separate deployments.", "description.zh-CN": "无需单独部署即可动态创建多个应用。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/multi-app-manager", diff --git a/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json b/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json index 6f322288e5..b41b45b10a 100644 --- a/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json +++ b/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "多应用数据表共享", "description": "", "description.zh-CN": "", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "./dist/server/index.js", "devDependencies": { "@formily/react": "2.x", diff --git a/packages/plugins/@nocobase/plugin-notification-email/package.json b/packages/plugins/@nocobase/plugin-notification-email/package.json index 4114309dc1..c83689ea7c 100644 --- a/packages/plugins/@nocobase/plugin-notification-email/package.json +++ b/packages/plugins/@nocobase/plugin-notification-email/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-notification-email", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "displayName": "Notification: Email", "displayName.zh-CN": "通知:电子邮件", "description": "Used for sending email notifications with built-in SMTP transport.", diff --git a/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json b/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json index 903d0982e9..6bbb6ee215 100644 --- a/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json +++ b/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-notification-in-app-message", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "displayName": "Notification: In-app message", "displayName.zh-CN": "通知:站内信", "description": "It supports users in receiving real-time message notifications within the NocoBase application.", diff --git a/packages/plugins/@nocobase/plugin-notification-manager/package.json b/packages/plugins/@nocobase/plugin-notification-manager/package.json index b1d36bc4ed..6f0ff1fbc7 100644 --- a/packages/plugins/@nocobase/plugin-notification-manager/package.json +++ b/packages/plugins/@nocobase/plugin-notification-manager/package.json @@ -4,7 +4,7 @@ "description": "Provides a unified management service that includes channel configuration, logging, and other features, supporting the configuration of various notification channels, including in-app message and email.", "displayName.zh-CN": "通知管理", "description.zh-CN": "提供统一的管理服务,涵盖渠道配置、日志记录等功能,支持多种通知渠道的配置,包括站内信和电子邮件等。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "dist/server/index.js", "devDependencies": { "@ant-design/icons": "5.x", diff --git a/packages/plugins/@nocobase/plugin-notifications/package.json b/packages/plugins/@nocobase/plugin-notifications/package.json index ded2d238e1..58215470dd 100644 --- a/packages/plugins/@nocobase/plugin-notifications/package.json +++ b/packages/plugins/@nocobase/plugin-notifications/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-notifications", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "description": "", "license": "AGPL-3.0", "main": "./dist/server/index.js", diff --git a/packages/plugins/@nocobase/plugin-public-forms/package.json b/packages/plugins/@nocobase/plugin-public-forms/package.json index 91fb07010d..1648c45295 100644 --- a/packages/plugins/@nocobase/plugin-public-forms/package.json +++ b/packages/plugins/@nocobase/plugin-public-forms/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-public-forms", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "dist/server/index.js", "displayName": "Public forms", "displayName.zh-CN": "公开表单", diff --git a/packages/plugins/@nocobase/plugin-sample-hello/package.json b/packages/plugins/@nocobase/plugin-sample-hello/package.json index c781ff3298..77bd91bfdb 100644 --- a/packages/plugins/@nocobase/plugin-sample-hello/package.json +++ b/packages/plugins/@nocobase/plugin-sample-hello/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-sample-hello", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "./dist/server/index.js", "displayName": "Hello", "displayName.zh-CN": "Hello", diff --git a/packages/plugins/@nocobase/plugin-snapshot-field/package.json b/packages/plugins/@nocobase/plugin-snapshot-field/package.json index 44e8c516b9..a9c62cd958 100644 --- a/packages/plugins/@nocobase/plugin-snapshot-field/package.json +++ b/packages/plugins/@nocobase/plugin-snapshot-field/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:关系快照", "description": "When adding a new record, create a snapshot for its relational record and save in the new record. The snapshot will not be updated when the relational record is updated.", "description.zh-CN": "在添加数据时,为它的关系数据创建快照,并保存在当前的数据中。关系数据更新时,快照不会更新。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-snapshot", diff --git a/packages/plugins/@nocobase/plugin-system-settings/package.json b/packages/plugins/@nocobase/plugin-system-settings/package.json index 97cf16563d..c4b86fcc83 100644 --- a/packages/plugins/@nocobase/plugin-system-settings/package.json +++ b/packages/plugins/@nocobase/plugin-system-settings/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "系统设置", "description": "Used to adjust the system title, logo, language, etc.", "description.zh-CN": "用于调整系统的标题、LOGO、语言等。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/system-settings", diff --git a/packages/plugins/@nocobase/plugin-theme-editor/package.json b/packages/plugins/@nocobase/plugin-theme-editor/package.json index b523fa53a8..126a09245c 100644 --- a/packages/plugins/@nocobase/plugin-theme-editor/package.json +++ b/packages/plugins/@nocobase/plugin-theme-editor/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-theme-editor", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/theme-editor", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/theme-editor", diff --git a/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json b/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json index 3bdfdf8c6f..133b7863c8 100644 --- a/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json +++ b/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "UI schema 存储服务", "description": "Provides centralized UI schema storage service.", "description.zh-CN": "提供中心化的 UI schema 存储服务。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/ui-schema-storage", diff --git a/packages/plugins/@nocobase/plugin-user-data-sync/package.json b/packages/plugins/@nocobase/plugin-user-data-sync/package.json index 1e891bfe0d..8f3435521e 100644 --- a/packages/plugins/@nocobase/plugin-user-data-sync/package.json +++ b/packages/plugins/@nocobase/plugin-user-data-sync/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "用户数据同步", "description": "Reigster and manage extensible user data synchronization sources, with HTTP API provided by default. Support for synchronizing data to resources such as users and departments.", "description.zh-CN": "注册和管理可扩展的用户数据同步来源,默认提供 HTTP API。支持向用户和部门等资源同步数据。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "main": "dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-users/package.json b/packages/plugins/@nocobase/plugin-users/package.json index c5a303b75c..218e816ae4 100644 --- a/packages/plugins/@nocobase/plugin-users/package.json +++ b/packages/plugins/@nocobase/plugin-users/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "用户", "description": "Provides basic user model, as well as created by and updated by fields.", "description.zh-CN": "提供了基础的用户模型,以及创建人和最后更新人字段。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/users", diff --git a/packages/plugins/@nocobase/plugin-verification/package.json b/packages/plugins/@nocobase/plugin-verification/package.json index 26fae8d3d0..0a598ba087 100644 --- a/packages/plugins/@nocobase/plugin-verification/package.json +++ b/packages/plugins/@nocobase/plugin-verification/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "验证码", "description": "verification setting.", "description.zh-CN": "验证码配置。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/verification", diff --git a/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json b/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json index 354fadb582..7f2eb52373 100644 --- a/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:操作后事件", "description": "Triggered after the completion of a request initiated through an action button or API, such as after adding, updating, deleting data, or \"submit to workflow\". Suitable for data processing, sending notifications, etc., after actions are completed.", "description.zh-CN": "通过操作按钮或 API 发起请求并在执行完成后触发,比如新增、更新、删除数据或者“提交至工作流”之后。适用于在操作完成后进行数据处理、发送通知等。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/plugins/workflow-action-trigger", diff --git a/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json b/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json index 473b4919ea..92f104d335 100644 --- a/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:聚合查询节点", "description": "Used to aggregate data against the database in workflow, such as: statistics, sum, average, etc.", "description.zh-CN": "可用于在工作流中对数据库进行聚合查询,如:统计数量、求和、平均值等。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-aggregate", diff --git a/packages/plugins/@nocobase/plugin-workflow-delay/package.json b/packages/plugins/@nocobase/plugin-workflow-delay/package.json index f1208a40f6..1b3944da94 100644 --- a/packages/plugins/@nocobase/plugin-workflow-delay/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-delay/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:延时节点", "description": "Could be used in workflow parallel branch for waiting other branches.", "description.zh-CN": "可用于工作流并行分支中等待其他分支执行完成。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-delay", diff --git a/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json b/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json index ce006f4c33..54178affc6 100644 --- a/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:动态表达式计算节点", "description": "Useful plugin for doing dynamic calculation based on expression collection records in workflow.", "description.zh-CN": "用于在工作流中进行基于数据行的动态表达式计算。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-dynamic-calculation", diff --git a/packages/plugins/@nocobase/plugin-workflow-loop/package.json b/packages/plugins/@nocobase/plugin-workflow-loop/package.json index f712aa23fb..3e84f9d06e 100644 --- a/packages/plugins/@nocobase/plugin-workflow-loop/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-loop/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:循环节点", "description": "Used to repeat the sub-process processing of each value in an array, and can also be used for fixed times of sub-process processing.", "description.zh-CN": "用于对一个数组中的每个值进行重复的子流程处理,也可用于固定次数的重复子流程处理。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-loop", diff --git a/packages/plugins/@nocobase/plugin-workflow-mailer/package.json b/packages/plugins/@nocobase/plugin-workflow-mailer/package.json index 8ef6fd7f3c..90793d10a1 100644 --- a/packages/plugins/@nocobase/plugin-workflow-mailer/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-mailer/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:邮件发送节点", "description": "Send email in workflow.", "description.zh-CN": "可用于在工作流中发送电子邮件。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-smtp-mailer", diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/package.json b/packages/plugins/@nocobase/plugin-workflow-manual/package.json index 14121286d8..551b528b79 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-manual/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:人工处理节点", "description": "Could be used for workflows which some of decisions are made by users.", "description.zh-CN": "用于人工控制部分决策的流程。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-manual", diff --git a/packages/plugins/@nocobase/plugin-workflow-notification/package.json b/packages/plugins/@nocobase/plugin-workflow-notification/package.json index e76d417200..d1baf17403 100644 --- a/packages/plugins/@nocobase/plugin-workflow-notification/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-notification/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:通知节点", "description": "Send notification in workflow.", "description.zh-CN": "可用于在工作流中发送各类通知。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-smtp-mailer", diff --git a/packages/plugins/@nocobase/plugin-workflow-parallel/package.json b/packages/plugins/@nocobase/plugin-workflow-parallel/package.json index d11fa2991c..9bcf7b4a18 100644 --- a/packages/plugins/@nocobase/plugin-workflow-parallel/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-parallel/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:并行分支节点", "description": "Could be used for parallel execution of branch processes in the workflow.", "description.zh-CN": "用于在工作流中需要并行执行的分支流程。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-parallel", diff --git a/packages/plugins/@nocobase/plugin-workflow-request/package.json b/packages/plugins/@nocobase/plugin-workflow-request/package.json index a51bd80b69..6906d900b8 100644 --- a/packages/plugins/@nocobase/plugin-workflow-request/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-request/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:HTTP 请求节点", "description": "Send HTTP requests to any HTTP service for data interaction in workflow.", "description.zh-CN": "可用于在工作流中向任意 HTTP 服务发送请求,进行数据交互。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-request", diff --git a/packages/plugins/@nocobase/plugin-workflow-sql/package.json b/packages/plugins/@nocobase/plugin-workflow-sql/package.json index 6a776a61c4..d0e2868290 100644 --- a/packages/plugins/@nocobase/plugin-workflow-sql/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-sql/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:SQL 节点", "description": "Execute SQL statements in workflow.", "description.zh-CN": "可用于在工作流中对数据库执行任意 SQL 语句。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-sql", diff --git a/packages/plugins/@nocobase/plugin-workflow-test/package.json b/packages/plugins/@nocobase/plugin-workflow-test/package.json index ea1b57f0ee..156bfdc1f3 100644 --- a/packages/plugins/@nocobase/plugin-workflow-test/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-test/package.json @@ -2,7 +2,7 @@ "name": "@nocobase/plugin-workflow-test", "displayName": "Workflow: test kit", "displayName.zh-CN": "工作流:测试工具包", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "dist/server/index.js", "types": "./dist/server/index.d.ts", diff --git a/packages/plugins/@nocobase/plugin-workflow/package.json b/packages/plugins/@nocobase/plugin-workflow/package.json index 38bc94ce01..9dd4474add 100644 --- a/packages/plugins/@nocobase/plugin-workflow/package.json +++ b/packages/plugins/@nocobase/plugin-workflow/package.json @@ -4,13 +4,13 @@ "displayName.zh-CN": "工作流", "description": "A powerful BPM tool that provides foundational support for business automation, with the capability to extend unlimited triggers and nodes.", "description.zh-CN": "一个强大的 BPM 工具,为业务自动化提供基础支持,并且可任意扩展更多的触发器和节点。", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/workflow", "dependencies": { - "@nocobase/plugin-workflow-test": "1.6.0-alpha.14" + "@nocobase/plugin-workflow-test": "1.6.0-alpha.15" }, "devDependencies": { "@ant-design/icons": "5.x", diff --git a/packages/presets/nocobase/package.json b/packages/presets/nocobase/package.json index 4554c59d5d..5911815863 100644 --- a/packages/presets/nocobase/package.json +++ b/packages/presets/nocobase/package.json @@ -1,79 +1,79 @@ { "name": "@nocobase/preset-nocobase", - "version": "1.6.0-alpha.14", + "version": "1.6.0-alpha.15", "license": "AGPL-3.0", "main": "./lib/server/index.js", "dependencies": { "@formily/json-schema": "2.x", - "@nocobase/plugin-acl": "1.6.0-alpha.14", - "@nocobase/plugin-action-bulk-edit": "1.6.0-alpha.14", - "@nocobase/plugin-action-bulk-update": "1.6.0-alpha.14", - "@nocobase/plugin-action-custom-request": "1.6.0-alpha.14", - "@nocobase/plugin-action-duplicate": "1.6.0-alpha.14", - "@nocobase/plugin-action-export": "1.6.0-alpha.14", - "@nocobase/plugin-action-import": "1.6.0-alpha.14", - "@nocobase/plugin-action-print": "1.6.0-alpha.14", - "@nocobase/plugin-api-doc": "1.6.0-alpha.14", - "@nocobase/plugin-api-keys": "1.6.0-alpha.14", - "@nocobase/plugin-async-task-manager": "1.6.0-alpha.14", - "@nocobase/plugin-audit-logs": "1.6.0-alpha.14", - "@nocobase/plugin-auth": "1.6.0-alpha.14", - "@nocobase/plugin-auth-sms": "1.6.0-alpha.14", - "@nocobase/plugin-backup-restore": "1.6.0-alpha.14", - "@nocobase/plugin-block-iframe": "1.6.0-alpha.14", - "@nocobase/plugin-block-workbench": "1.6.0-alpha.14", - "@nocobase/plugin-calendar": "1.6.0-alpha.14", - "@nocobase/plugin-charts": "1.6.0-alpha.14", - "@nocobase/plugin-client": "1.6.0-alpha.14", - "@nocobase/plugin-collection-sql": "1.6.0-alpha.14", - "@nocobase/plugin-collection-tree": "1.6.0-alpha.14", - "@nocobase/plugin-data-source-main": "1.6.0-alpha.14", - "@nocobase/plugin-data-source-manager": "1.6.0-alpha.14", - "@nocobase/plugin-data-visualization": "1.6.0-alpha.14", - "@nocobase/plugin-environment-variables": "1.6.0-alpha.14", - "@nocobase/plugin-error-handler": "1.6.0-alpha.14", - "@nocobase/plugin-field-china-region": "1.6.0-alpha.14", - "@nocobase/plugin-field-formula": "1.6.0-alpha.14", - "@nocobase/plugin-field-m2m-array": "1.6.0-alpha.14", - "@nocobase/plugin-field-markdown-vditor": "1.6.0-alpha.14", - "@nocobase/plugin-field-sequence": "1.6.0-alpha.14", - "@nocobase/plugin-field-sort": "1.6.0-alpha.14", - "@nocobase/plugin-file-manager": "1.6.0-alpha.14", - "@nocobase/plugin-gantt": "1.6.0-alpha.14", - "@nocobase/plugin-graph-collection-manager": "1.6.0-alpha.14", - "@nocobase/plugin-kanban": "1.6.0-alpha.14", - "@nocobase/plugin-localization": "1.6.0-alpha.14", - "@nocobase/plugin-logger": "1.6.0-alpha.14", - "@nocobase/plugin-map": "1.6.0-alpha.14", - "@nocobase/plugin-mobile": "1.6.0-alpha.14", - "@nocobase/plugin-mobile-client": "1.6.0-alpha.14", - "@nocobase/plugin-mock-collections": "1.6.0-alpha.14", - "@nocobase/plugin-multi-app-manager": "1.6.0-alpha.14", - "@nocobase/plugin-multi-app-share-collection": "1.6.0-alpha.14", - "@nocobase/plugin-notification-email": "1.6.0-alpha.14", - "@nocobase/plugin-notification-in-app-message": "1.6.0-alpha.14", - "@nocobase/plugin-notification-manager": "1.6.0-alpha.14", - "@nocobase/plugin-public-forms": "1.6.0-alpha.14", - "@nocobase/plugin-snapshot-field": "1.6.0-alpha.14", - "@nocobase/plugin-system-settings": "1.6.0-alpha.14", - "@nocobase/plugin-theme-editor": "1.6.0-alpha.14", - "@nocobase/plugin-ui-schema-storage": "1.6.0-alpha.14", - "@nocobase/plugin-user-data-sync": "1.6.0-alpha.14", - "@nocobase/plugin-users": "1.6.0-alpha.14", - "@nocobase/plugin-verification": "1.6.0-alpha.14", - "@nocobase/plugin-workflow": "1.6.0-alpha.14", - "@nocobase/plugin-workflow-action-trigger": "1.6.0-alpha.14", - "@nocobase/plugin-workflow-aggregate": "1.6.0-alpha.14", - "@nocobase/plugin-workflow-delay": "1.6.0-alpha.14", - "@nocobase/plugin-workflow-dynamic-calculation": "1.6.0-alpha.14", - "@nocobase/plugin-workflow-loop": "1.6.0-alpha.14", - "@nocobase/plugin-workflow-mailer": "1.6.0-alpha.14", - "@nocobase/plugin-workflow-manual": "1.6.0-alpha.14", - "@nocobase/plugin-workflow-notification": "1.6.0-alpha.14", - "@nocobase/plugin-workflow-parallel": "1.6.0-alpha.14", - "@nocobase/plugin-workflow-request": "1.6.0-alpha.14", - "@nocobase/plugin-workflow-sql": "1.6.0-alpha.14", - "@nocobase/server": "1.6.0-alpha.14", + "@nocobase/plugin-acl": "1.6.0-alpha.15", + "@nocobase/plugin-action-bulk-edit": "1.6.0-alpha.15", + "@nocobase/plugin-action-bulk-update": "1.6.0-alpha.15", + "@nocobase/plugin-action-custom-request": "1.6.0-alpha.15", + "@nocobase/plugin-action-duplicate": "1.6.0-alpha.15", + "@nocobase/plugin-action-export": "1.6.0-alpha.15", + "@nocobase/plugin-action-import": "1.6.0-alpha.15", + "@nocobase/plugin-action-print": "1.6.0-alpha.15", + "@nocobase/plugin-api-doc": "1.6.0-alpha.15", + "@nocobase/plugin-api-keys": "1.6.0-alpha.15", + "@nocobase/plugin-async-task-manager": "1.6.0-alpha.15", + "@nocobase/plugin-audit-logs": "1.6.0-alpha.15", + "@nocobase/plugin-auth": "1.6.0-alpha.15", + "@nocobase/plugin-auth-sms": "1.6.0-alpha.15", + "@nocobase/plugin-backup-restore": "1.6.0-alpha.15", + "@nocobase/plugin-block-iframe": "1.6.0-alpha.15", + "@nocobase/plugin-block-workbench": "1.6.0-alpha.15", + "@nocobase/plugin-calendar": "1.6.0-alpha.15", + "@nocobase/plugin-charts": "1.6.0-alpha.15", + "@nocobase/plugin-client": "1.6.0-alpha.15", + "@nocobase/plugin-collection-sql": "1.6.0-alpha.15", + "@nocobase/plugin-collection-tree": "1.6.0-alpha.15", + "@nocobase/plugin-data-source-main": "1.6.0-alpha.15", + "@nocobase/plugin-data-source-manager": "1.6.0-alpha.15", + "@nocobase/plugin-data-visualization": "1.6.0-alpha.15", + "@nocobase/plugin-environment-variables": "1.6.0-alpha.15", + "@nocobase/plugin-error-handler": "1.6.0-alpha.15", + "@nocobase/plugin-field-china-region": "1.6.0-alpha.15", + "@nocobase/plugin-field-formula": "1.6.0-alpha.15", + "@nocobase/plugin-field-m2m-array": "1.6.0-alpha.15", + "@nocobase/plugin-field-markdown-vditor": "1.6.0-alpha.15", + "@nocobase/plugin-field-sequence": "1.6.0-alpha.15", + "@nocobase/plugin-field-sort": "1.6.0-alpha.15", + "@nocobase/plugin-file-manager": "1.6.0-alpha.15", + "@nocobase/plugin-gantt": "1.6.0-alpha.15", + "@nocobase/plugin-graph-collection-manager": "1.6.0-alpha.15", + "@nocobase/plugin-kanban": "1.6.0-alpha.15", + "@nocobase/plugin-localization": "1.6.0-alpha.15", + "@nocobase/plugin-logger": "1.6.0-alpha.15", + "@nocobase/plugin-map": "1.6.0-alpha.15", + "@nocobase/plugin-mobile": "1.6.0-alpha.15", + "@nocobase/plugin-mobile-client": "1.6.0-alpha.15", + "@nocobase/plugin-mock-collections": "1.6.0-alpha.15", + "@nocobase/plugin-multi-app-manager": "1.6.0-alpha.15", + "@nocobase/plugin-multi-app-share-collection": "1.6.0-alpha.15", + "@nocobase/plugin-notification-email": "1.6.0-alpha.15", + "@nocobase/plugin-notification-in-app-message": "1.6.0-alpha.15", + "@nocobase/plugin-notification-manager": "1.6.0-alpha.15", + "@nocobase/plugin-public-forms": "1.6.0-alpha.15", + "@nocobase/plugin-snapshot-field": "1.6.0-alpha.15", + "@nocobase/plugin-system-settings": "1.6.0-alpha.15", + "@nocobase/plugin-theme-editor": "1.6.0-alpha.15", + "@nocobase/plugin-ui-schema-storage": "1.6.0-alpha.15", + "@nocobase/plugin-user-data-sync": "1.6.0-alpha.15", + "@nocobase/plugin-users": "1.6.0-alpha.15", + "@nocobase/plugin-verification": "1.6.0-alpha.15", + "@nocobase/plugin-workflow": "1.6.0-alpha.15", + "@nocobase/plugin-workflow-action-trigger": "1.6.0-alpha.15", + "@nocobase/plugin-workflow-aggregate": "1.6.0-alpha.15", + "@nocobase/plugin-workflow-delay": "1.6.0-alpha.15", + "@nocobase/plugin-workflow-dynamic-calculation": "1.6.0-alpha.15", + "@nocobase/plugin-workflow-loop": "1.6.0-alpha.15", + "@nocobase/plugin-workflow-mailer": "1.6.0-alpha.15", + "@nocobase/plugin-workflow-manual": "1.6.0-alpha.15", + "@nocobase/plugin-workflow-notification": "1.6.0-alpha.15", + "@nocobase/plugin-workflow-parallel": "1.6.0-alpha.15", + "@nocobase/plugin-workflow-request": "1.6.0-alpha.15", + "@nocobase/plugin-workflow-sql": "1.6.0-alpha.15", + "@nocobase/server": "1.6.0-alpha.15", "cronstrue": "^2.11.0", "fs-extra": "^11.1.1" }, From 989f7144ebe72d9b47c9f8f888efb8907c6e3cbc Mon Sep 17 00:00:00 2001 From: Katherine Date: Sun, 19 Jan 2025 14:13:47 +0800 Subject: [PATCH 036/125] =?UTF-8?q?feat:=20support=20configuring=20=20the?= =?UTF-8?q?=20number=20of=20icons=20per=20row=20in=20the=20mobile=20?= =?UTF-8?q?=E2=80=A6=20(#6046)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: support configuring the number of icons per row in the mobile action panel * fix: bug * fix: bug * fix: bug * fix: bug * fix: bug * fix: bug * fix: bug * fix: bug * fix: bug * fix: bug * fix: bug * fix: bug * fix: bug * fix: bug * fix: bug * fix: bug --- .../src/client/WorkbenchAction.tsx | 2 +- .../src/client/WorkbenchBlock.tsx | 144 ++++++++++++++---- .../src/client/workbenchBlockSettings.tsx | 54 +++++++ .../src/locale/zh-CN.json | 4 +- .../plugin-mobile/src/client/mobile/styles.ts | 10 +- 5 files changed, 175 insertions(+), 39 deletions(-) diff --git a/packages/plugins/@nocobase/plugin-block-workbench/src/client/WorkbenchAction.tsx b/packages/plugins/@nocobase/plugin-block-workbench/src/client/WorkbenchAction.tsx index 0b5b5f8994..889dda2bc0 100644 --- a/packages/plugins/@nocobase/plugin-block-workbench/src/client/WorkbenchAction.tsx +++ b/packages/plugins/@nocobase/plugin-block-workbench/src/client/WorkbenchAction.tsx @@ -37,7 +37,7 @@ function Button() { const { layout } = useContext(WorkbenchBlockContext); const { styles, cx } = useStyles(); return layout === WorkbenchLayout.Grid ? ( -
+
} />
{fieldSchema.title}
diff --git a/packages/plugins/@nocobase/plugin-block-workbench/src/client/WorkbenchBlock.tsx b/packages/plugins/@nocobase/plugin-block-workbench/src/client/WorkbenchBlock.tsx index c0e268191c..1e370ca883 100644 --- a/packages/plugins/@nocobase/plugin-block-workbench/src/client/WorkbenchBlock.tsx +++ b/packages/plugins/@nocobase/plugin-block-workbench/src/client/WorkbenchBlock.tsx @@ -20,9 +20,10 @@ import { useSchemaInitializerRender, withDynamicSchemaProps, useBlockHeightProps, + useOpenModeContext, } from '@nocobase/client'; import { Avatar, List, Space, theme } from 'antd'; -import React, { createContext, useEffect, useState } from 'react'; +import React, { createContext, useEffect, useState, useRef, useMemo, useLayoutEffect } from 'react'; import { WorkbenchLayout } from './workbenchBlockSettings'; const ConfigureActionsButton = observer( @@ -34,49 +35,126 @@ const ConfigureActionsButton = observer( { displayName: 'WorkbenchConfigureActionsButton' }, ); -const InternalIcons = () => { +function isMobile() { + return window.matchMedia('(max-width: 768px)').matches; +} + +const ResponsiveSpace = () => { const fieldSchema = useFieldSchema(); - const { designable } = useDesignable(); - const { layout = WorkbenchLayout.Grid } = fieldSchema.parent['x-component-props'] || {}; - const [gap, setGap] = useState(8); // 初始 gap 值 - + const isMobileMedia = isMobile(); + const { isMobile: underMobileCtx } = useOpenModeContext() || {}; + const { itemsPerRow = 4 } = fieldSchema.parent['x-decorator-props'] || {}; + const isUnderMobile = isMobileMedia || underMobileCtx; + const containerRef = useRef(null); // 引用容器 + const [containerWidth, setContainerWidth] = useState(0); // 容器宽度 + const gap = 8; + // 使用 ResizeObserver 动态获取容器宽度 useEffect(() => { - const calculateGap = () => { - const container = document.getElementsByClassName('mobile-page-content')[0] as any; - if (container) { - const containerWidth = container.offsetWidth - 48; - const itemWidth = 100; // 每个 item 的宽度 - const itemsPerRow = Math.floor(containerWidth / itemWidth); // 每行能容纳的 item 数 - // 计算实际需要的 gap 值 - const totalItemWidth = itemsPerRow * itemWidth; - const totalAvailableWidth = containerWidth; - const totalGapsWidth = totalAvailableWidth - totalItemWidth; - - if (totalGapsWidth > 0) { - setGap(totalGapsWidth / (itemsPerRow - 1)); - } else { - setGap(0); // 如果没有足够的空间,则设置 gap 为 0 - } + const handleResize = () => { + if (containerRef.current) { + setContainerWidth(containerRef.current.offsetWidth); // 更新宽度 } }; + // 初始化 ResizeObserver + const resizeObserver = new ResizeObserver(handleResize); - window.addEventListener('resize', calculateGap); - calculateGap(); // 初始化时计算 gap + // 监听容器宽度变化 + if (containerRef.current) { + resizeObserver.observe(containerRef.current); + handleResize(); // 初始化时获取一次宽度 + } return () => { - window.removeEventListener('resize', calculateGap); + if (containerRef.current) { + resizeObserver.unobserve(containerRef.current); + } }; - }, [Object.keys(fieldSchema?.properties || {}).length]); + }, []); + + useLayoutEffect(() => { + if (!containerRef.current) return; + + const observer = new ResizeObserver((entries) => { + for (const entry of entries) { + setContainerWidth(entry.contentRect.width); // 更新宽度 + } + }); + + observer.observe(containerRef.current); + + return () => { + observer.unobserve(containerRef.current); + }; + }, []); + + // 计算每个元素的宽度 + const itemWidth = useMemo(() => { + if (isUnderMobile) { + const totalGapWidth = gap * itemsPerRow; + const availableWidth = containerWidth - totalGapWidth; + return availableWidth / itemsPerRow; + } + return 70; + }, [itemsPerRow, gap, containerWidth]); + + // 计算 Avatar 的宽度 + const avatarSize = useMemo(() => { + return isUnderMobile ? (Math.floor(itemWidth * 0.8) > 70 ? 60 : Math.floor(itemWidth * 0.8)) : 54; // Avatar 大小为 item 宽度的 60% + }, [itemWidth, itemsPerRow, containerWidth]); return ( -
+
+ + {fieldSchema.mapProperties((s, key) => ( +
+ +
+ ))} +
+
+ ); +}; + +const InternalIcons = () => { + const fieldSchema = useFieldSchema(); + const { layout = WorkbenchLayout.Grid } = fieldSchema.parent['x-component-props'] || {}; + return ( +
{layout === WorkbenchLayout.Grid ? ( - - {fieldSchema.mapProperties((s, key) => ( - - ))} - + ) : ( {fieldSchema.mapProperties((s, key) => { @@ -145,6 +223,8 @@ export const WorkbenchBlock: any = withDynamicSchemaProps( margin-right: -24px; padding-left: 24px; padding-right: 24px; + margin-top: 0.5rem; + margin-bottom: 0.5rem; } `} > diff --git a/packages/plugins/@nocobase/plugin-block-workbench/src/client/workbenchBlockSettings.tsx b/packages/plugins/@nocobase/plugin-block-workbench/src/client/workbenchBlockSettings.tsx index 202500f412..887fe00fe9 100644 --- a/packages/plugins/@nocobase/plugin-block-workbench/src/client/workbenchBlockSettings.tsx +++ b/packages/plugins/@nocobase/plugin-block-workbench/src/client/workbenchBlockSettings.tsx @@ -12,6 +12,8 @@ import { SchemaSettingsSelectItem, useDesignable, SchemaSettingsBlockHeightItem, + SchemaSettingsModalItem, + useOpenModeContext, } from '@nocobase/client'; import { CustomSchemaSettingsBlockTitleItem } from './SchemaSettingsBlockTitleItem'; import React from 'react'; @@ -53,6 +55,49 @@ const ActionPanelLayout = () => { ); }; +export function ActionPanelItemsPerRow() { + const field = useField(); + const fieldSchema = useFieldSchema(); + const { dn } = useDesignable(); + const { t } = useTranslation(); + + return ( + { + const componentProps = fieldSchema['x-decorator-props'] || {}; + componentProps.itemsPerRow = itemsPerRow; + fieldSchema['x-decorator-props'] = componentProps; + field.decoratorProps.ItemsPerRow = itemsPerRow; + dn.emit('patch', { + schema: { + ['x-uid']: fieldSchema['x-uid'], + 'x-decorator-props': fieldSchema['x-decorator-props'], + }, + }); + dn.refresh(); + }} + /> + ); +} + export const workbenchBlockSettings = new SchemaSettings({ name: 'blockSettings:workbench', items: [ @@ -68,6 +113,15 @@ export const workbenchBlockSettings = new SchemaSettings({ name: 'layout', Component: ActionPanelLayout, }, + { + name: 'itemsPerRow', + Component: ActionPanelItemsPerRow, + useVisible() { + const { isMobile } = useOpenModeContext() || {}; + const fieldSchema = useFieldSchema(); + return isMobile && fieldSchema?.['x-component-props']?.layout !== WorkbenchLayout.List; + }, + }, { type: 'remove', name: 'remove', diff --git a/packages/plugins/@nocobase/plugin-block-workbench/src/locale/zh-CN.json b/packages/plugins/@nocobase/plugin-block-workbench/src/locale/zh-CN.json index 955506753e..d827616d7f 100644 --- a/packages/plugins/@nocobase/plugin-block-workbench/src/locale/zh-CN.json +++ b/packages/plugins/@nocobase/plugin-block-workbench/src/locale/zh-CN.json @@ -11,5 +11,7 @@ "Grid": "栅格", "List": "列表", "Add popup": "添加弹窗", - "Add custom request":"添加自定义请求" + "Add custom request": "添加自定义请求", + "At least 1, up to 6": "最多6个,最少一个", + "Items per row":"每行显示个数" } diff --git a/packages/plugins/@nocobase/plugin-mobile/src/client/mobile/styles.ts b/packages/plugins/@nocobase/plugin-mobile/src/client/mobile/styles.ts index 06851e7390..5d049c978c 100644 --- a/packages/plugins/@nocobase/plugin-mobile/src/client/mobile/styles.ts +++ b/packages/plugins/@nocobase/plugin-mobile/src/client/mobile/styles.ts @@ -49,11 +49,11 @@ export const useStyles = genStyleHook('nb-mobile', (token) => { paddingTop: '8px', paddingBottom: '8px', }, - '.nb-action-panel .ant-avatar-circle': { - width: '48px !important', - height: '48px !important', - lineHeight: '48px !important', - }, + // '.nb-action-panel .ant-avatar-circle': { + // width: '48px !important', + // height: '48px !important', + // lineHeight: '48px !important', + // }, '.nb-chart-block .ant-card .ant-card-body': { paddingBottom: '0px', paddingTop: '0px', From 4ba5dc0d6ca4b9c59f1d8206a26abb47a63eee6e Mon Sep 17 00:00:00 2001 From: "nocobase[bot]" <179432756+nocobase[bot]@users.noreply.github.com> Date: Sun, 19 Jan 2025 06:19:56 +0000 Subject: [PATCH 037/125] =?UTF-8?q?chore(versions):=20=F0=9F=98=8A=20publi?= =?UTF-8?q?sh=20v1.6.0-alpha.16?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lerna.json | 2 +- packages/core/acl/package.json | 6 +- packages/core/actions/package.json | 8 +- packages/core/app/package.json | 10 +- packages/core/auth/package.json | 12 +- packages/core/build/package.json | 2 +- packages/core/cache/package.json | 2 +- packages/core/cli/package.json | 6 +- packages/core/client/package.json | 8 +- .../core/create-nocobase-app/package.json | 2 +- .../core/data-source-manager/package.json | 12 +- packages/core/database/package.json | 6 +- packages/core/devtools/package.json | 8 +- packages/core/evaluators/package.json | 4 +- packages/core/lock-manager/package.json | 4 +- packages/core/logger/package.json | 2 +- packages/core/resourcer/package.json | 4 +- packages/core/sdk/package.json | 2 +- packages/core/server/package.json | 28 ++-- packages/core/telemetry/package.json | 4 +- packages/core/test/package.json | 4 +- packages/core/utils/package.json | 2 +- .../plugins/@nocobase/plugin-acl/package.json | 2 +- .../plugin-action-bulk-edit/package.json | 2 +- .../plugin-action-bulk-update/package.json | 2 +- .../plugin-action-custom-request/package.json | 2 +- .../plugin-action-duplicate/package.json | 2 +- .../plugin-action-export/package.json | 2 +- .../plugin-action-import/package.json | 2 +- .../plugin-action-print/package.json | 2 +- .../@nocobase/plugin-api-doc/package.json | 2 +- .../@nocobase/plugin-api-keys/package.json | 2 +- .../plugin-async-task-manager/package.json | 2 +- .../@nocobase/plugin-audit-logs/package.json | 2 +- .../@nocobase/plugin-auth-sms/package.json | 2 +- .../@nocobase/plugin-auth/package.json | 2 +- .../plugin-backup-restore/package.json | 2 +- .../plugin-block-iframe/package.json | 2 +- .../plugin-block-workbench/package.json | 2 +- .../@nocobase/plugin-calendar/package.json | 2 +- .../@nocobase/plugin-charts/package.json | 2 +- .../@nocobase/plugin-client/package.json | 2 +- .../plugin-collection-sql/package.json | 2 +- .../plugin-collection-tree/package.json | 2 +- .../plugin-data-source-main/package.json | 2 +- .../plugin-data-source-manager/package.json | 2 +- .../plugin-data-visualization/package.json | 2 +- .../plugin-disable-pm-add/package.json | 2 +- .../plugin-environment-variables/package.json | 2 +- .../plugin-error-handler/package.json | 2 +- .../plugin-field-china-region/package.json | 2 +- .../plugin-field-formula/package.json | 2 +- .../plugin-field-m2m-array/package.json | 2 +- .../plugin-field-markdown-vditor/package.json | 2 +- .../plugin-field-sequence/package.json | 2 +- .../@nocobase/plugin-field-sort/package.json | 2 +- .../plugin-file-manager/package.json | 2 +- .../@nocobase/plugin-gantt/package.json | 2 +- .../package.json | 2 +- .../@nocobase/plugin-kanban/package.json | 2 +- .../plugin-localization/package.json | 2 +- .../@nocobase/plugin-logger/package.json | 2 +- .../plugins/@nocobase/plugin-map/package.json | 2 +- .../plugin-mobile-client/package.json | 2 +- .../@nocobase/plugin-mobile/package.json | 2 +- .../plugin-mock-collections/package.json | 2 +- .../plugin-multi-app-manager/package.json | 2 +- .../package.json | 2 +- .../plugin-notification-email/package.json | 2 +- .../package.json | 2 +- .../plugin-notification-manager/package.json | 2 +- .../plugin-notifications/package.json | 2 +- .../plugin-public-forms/package.json | 2 +- .../plugin-sample-hello/package.json | 2 +- .../plugin-snapshot-field/package.json | 2 +- .../plugin-system-settings/package.json | 2 +- .../plugin-theme-editor/package.json | 2 +- .../plugin-ui-schema-storage/package.json | 2 +- .../plugin-user-data-sync/package.json | 2 +- .../@nocobase/plugin-users/package.json | 2 +- .../plugin-verification/package.json | 2 +- .../package.json | 2 +- .../plugin-workflow-aggregate/package.json | 2 +- .../plugin-workflow-delay/package.json | 2 +- .../package.json | 2 +- .../plugin-workflow-loop/package.json | 2 +- .../plugin-workflow-mailer/package.json | 2 +- .../plugin-workflow-manual/package.json | 2 +- .../plugin-workflow-notification/package.json | 2 +- .../plugin-workflow-parallel/package.json | 2 +- .../plugin-workflow-request/package.json | 2 +- .../plugin-workflow-sql/package.json | 2 +- .../plugin-workflow-test/package.json | 2 +- .../@nocobase/plugin-workflow/package.json | 4 +- packages/presets/nocobase/package.json | 140 +++++++++--------- 95 files changed, 212 insertions(+), 212 deletions(-) diff --git a/lerna.json b/lerna.json index 6a6ce86c42..d8b20767c7 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "npmClient": "yarn", "useWorkspaces": true, "npmClientArgs": [ diff --git a/packages/core/acl/package.json b/packages/core/acl/package.json index 1926972a0b..4f0a5833a7 100644 --- a/packages/core/acl/package.json +++ b/packages/core/acl/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/acl", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/resourcer": "1.6.0-alpha.15", - "@nocobase/utils": "1.6.0-alpha.15", + "@nocobase/resourcer": "1.6.0-alpha.16", + "@nocobase/utils": "1.6.0-alpha.16", "minimatch": "^5.1.1" }, "repository": { diff --git a/packages/core/actions/package.json b/packages/core/actions/package.json index f8034a74da..b058cf47fa 100644 --- a/packages/core/actions/package.json +++ b/packages/core/actions/package.json @@ -1,14 +1,14 @@ { "name": "@nocobase/actions", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/cache": "1.6.0-alpha.15", - "@nocobase/database": "1.6.0-alpha.15", - "@nocobase/resourcer": "1.6.0-alpha.15" + "@nocobase/cache": "1.6.0-alpha.16", + "@nocobase/database": "1.6.0-alpha.16", + "@nocobase/resourcer": "1.6.0-alpha.16" }, "repository": { "type": "git", diff --git a/packages/core/app/package.json b/packages/core/app/package.json index c79c86c1c4..26949eeac8 100644 --- a/packages/core/app/package.json +++ b/packages/core/app/package.json @@ -1,17 +1,17 @@ { "name": "@nocobase/app", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/database": "1.6.0-alpha.15", - "@nocobase/preset-nocobase": "1.6.0-alpha.15", - "@nocobase/server": "1.6.0-alpha.15" + "@nocobase/database": "1.6.0-alpha.16", + "@nocobase/preset-nocobase": "1.6.0-alpha.16", + "@nocobase/server": "1.6.0-alpha.16" }, "devDependencies": { - "@nocobase/client": "1.6.0-alpha.15" + "@nocobase/client": "1.6.0-alpha.16" }, "repository": { "type": "git", diff --git a/packages/core/auth/package.json b/packages/core/auth/package.json index 78bd82812e..020e31ccf5 100644 --- a/packages/core/auth/package.json +++ b/packages/core/auth/package.json @@ -1,16 +1,16 @@ { "name": "@nocobase/auth", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/actions": "1.6.0-alpha.15", - "@nocobase/cache": "1.6.0-alpha.15", - "@nocobase/database": "1.6.0-alpha.15", - "@nocobase/resourcer": "1.6.0-alpha.15", - "@nocobase/utils": "1.6.0-alpha.15", + "@nocobase/actions": "1.6.0-alpha.16", + "@nocobase/cache": "1.6.0-alpha.16", + "@nocobase/database": "1.6.0-alpha.16", + "@nocobase/resourcer": "1.6.0-alpha.16", + "@nocobase/utils": "1.6.0-alpha.16", "@types/jsonwebtoken": "^8.5.8", "jsonwebtoken": "^8.5.1" }, diff --git a/packages/core/build/package.json b/packages/core/build/package.json index fc83a930f4..2c5ceda216 100644 --- a/packages/core/build/package.json +++ b/packages/core/build/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/build", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "description": "Library build tool based on rollup.", "main": "lib/index.js", "types": "./lib/index.d.ts", diff --git a/packages/core/cache/package.json b/packages/core/cache/package.json index ec636c4d4a..249a1d360f 100644 --- a/packages/core/cache/package.json +++ b/packages/core/cache/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/cache", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", diff --git a/packages/core/cli/package.json b/packages/core/cli/package.json index d6932cf77e..591aac8ee2 100644 --- a/packages/core/cli/package.json +++ b/packages/core/cli/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/cli", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "description": "", "license": "AGPL-3.0", "main": "./src/index.js", @@ -8,7 +8,7 @@ "nocobase": "./bin/index.js" }, "dependencies": { - "@nocobase/app": "1.6.0-alpha.15", + "@nocobase/app": "1.6.0-alpha.16", "@types/fs-extra": "^11.0.1", "@umijs/utils": "3.5.20", "chalk": "^4.1.1", @@ -25,7 +25,7 @@ "tsx": "^4.19.0" }, "devDependencies": { - "@nocobase/devtools": "1.6.0-alpha.15" + "@nocobase/devtools": "1.6.0-alpha.16" }, "repository": { "type": "git", diff --git a/packages/core/client/package.json b/packages/core/client/package.json index 1ea1f74103..3704e5474c 100644 --- a/packages/core/client/package.json +++ b/packages/core/client/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/client", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "lib/index.js", "module": "es/index.mjs", @@ -27,9 +27,9 @@ "@formily/reactive-react": "^2.2.27", "@formily/shared": "^2.2.27", "@formily/validator": "^2.2.27", - "@nocobase/evaluators": "1.6.0-alpha.15", - "@nocobase/sdk": "1.6.0-alpha.15", - "@nocobase/utils": "1.6.0-alpha.15", + "@nocobase/evaluators": "1.6.0-alpha.16", + "@nocobase/sdk": "1.6.0-alpha.16", + "@nocobase/utils": "1.6.0-alpha.16", "ahooks": "^3.7.2", "antd": "5.12.8", "antd-style": "3.7.1", diff --git a/packages/core/create-nocobase-app/package.json b/packages/core/create-nocobase-app/package.json index 8a4c4347f8..8e3a88f5bd 100755 --- a/packages/core/create-nocobase-app/package.json +++ b/packages/core/create-nocobase-app/package.json @@ -1,6 +1,6 @@ { "name": "create-nocobase-app", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "src/index.js", "license": "AGPL-3.0", "dependencies": { diff --git a/packages/core/data-source-manager/package.json b/packages/core/data-source-manager/package.json index 49db155843..b2548524f7 100644 --- a/packages/core/data-source-manager/package.json +++ b/packages/core/data-source-manager/package.json @@ -1,16 +1,16 @@ { "name": "@nocobase/data-source-manager", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "description": "", "license": "AGPL-3.0", "main": "./lib/index.js", "types": "./lib/index.d.ts", "dependencies": { - "@nocobase/actions": "1.6.0-alpha.15", - "@nocobase/cache": "1.6.0-alpha.15", - "@nocobase/database": "1.6.0-alpha.15", - "@nocobase/resourcer": "1.6.0-alpha.15", - "@nocobase/utils": "1.6.0-alpha.15", + "@nocobase/actions": "1.6.0-alpha.16", + "@nocobase/cache": "1.6.0-alpha.16", + "@nocobase/database": "1.6.0-alpha.16", + "@nocobase/resourcer": "1.6.0-alpha.16", + "@nocobase/utils": "1.6.0-alpha.16", "@types/jsonwebtoken": "^8.5.8", "jsonwebtoken": "^8.5.1" }, diff --git a/packages/core/database/package.json b/packages/core/database/package.json index 1357a361b3..68b9b59060 100644 --- a/packages/core/database/package.json +++ b/packages/core/database/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/database", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", "dependencies": { - "@nocobase/logger": "1.6.0-alpha.15", - "@nocobase/utils": "1.6.0-alpha.15", + "@nocobase/logger": "1.6.0-alpha.16", + "@nocobase/utils": "1.6.0-alpha.16", "async-mutex": "^0.3.2", "chalk": "^4.1.1", "cron-parser": "4.4.0", diff --git a/packages/core/devtools/package.json b/packages/core/devtools/package.json index b4c37022a4..0a2f18f4d1 100644 --- a/packages/core/devtools/package.json +++ b/packages/core/devtools/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/devtools", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "description": "", "license": "AGPL-3.0", "main": "./src/index.js", "dependencies": { - "@nocobase/build": "1.6.0-alpha.15", - "@nocobase/client": "1.6.0-alpha.15", - "@nocobase/test": "1.6.0-alpha.15", + "@nocobase/build": "1.6.0-alpha.16", + "@nocobase/client": "1.6.0-alpha.16", + "@nocobase/test": "1.6.0-alpha.16", "@types/koa": "^2.13.4", "@types/koa-bodyparser": "^4.3.4", "@types/lodash": "^4.14.177", diff --git a/packages/core/evaluators/package.json b/packages/core/evaluators/package.json index 5e9085c696..01298799da 100644 --- a/packages/core/evaluators/package.json +++ b/packages/core/evaluators/package.json @@ -1,13 +1,13 @@ { "name": "@nocobase/evaluators", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", "dependencies": { "@formulajs/formulajs": "4.4.9", - "@nocobase/utils": "1.6.0-alpha.15", + "@nocobase/utils": "1.6.0-alpha.16", "mathjs": "^10.6.0" }, "repository": { diff --git a/packages/core/lock-manager/package.json b/packages/core/lock-manager/package.json index 5debb36821..9113e38f11 100644 --- a/packages/core/lock-manager/package.json +++ b/packages/core/lock-manager/package.json @@ -1,10 +1,10 @@ { "name": "@nocobase/lock-manager", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "lib/index.js", "license": "AGPL-3.0", "devDependencies": { - "@nocobase/utils": "1.6.0-alpha.15", + "@nocobase/utils": "1.6.0-alpha.16", "async-mutex": "^0.5.0" } } diff --git a/packages/core/logger/package.json b/packages/core/logger/package.json index 21a4728f28..ae722746ac 100644 --- a/packages/core/logger/package.json +++ b/packages/core/logger/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/logger", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "description": "nocobase logging library", "license": "AGPL-3.0", "main": "./lib/index.js", diff --git a/packages/core/resourcer/package.json b/packages/core/resourcer/package.json index 3358f2fa5d..452e6b74e7 100644 --- a/packages/core/resourcer/package.json +++ b/packages/core/resourcer/package.json @@ -1,12 +1,12 @@ { "name": "@nocobase/resourcer", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "description": "", "main": "./lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", "dependencies": { - "@nocobase/utils": "1.6.0-alpha.15", + "@nocobase/utils": "1.6.0-alpha.16", "deepmerge": "^4.2.2", "koa-compose": "^4.1.0", "lodash": "^4.17.21", diff --git a/packages/core/sdk/package.json b/packages/core/sdk/package.json index 6b88188759..f0b6fa2718 100644 --- a/packages/core/sdk/package.json +++ b/packages/core/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/sdk", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "lib/index.js", "types": "lib/index.d.ts", diff --git a/packages/core/server/package.json b/packages/core/server/package.json index 6febfc1bbd..dc1b772c2e 100644 --- a/packages/core/server/package.json +++ b/packages/core/server/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/server", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", @@ -10,19 +10,19 @@ "@koa/cors": "^3.1.0", "@koa/multer": "^3.0.2", "@koa/router": "^9.4.0", - "@nocobase/acl": "1.6.0-alpha.15", - "@nocobase/actions": "1.6.0-alpha.15", - "@nocobase/auth": "1.6.0-alpha.15", - "@nocobase/cache": "1.6.0-alpha.15", - "@nocobase/data-source-manager": "1.6.0-alpha.15", - "@nocobase/database": "1.6.0-alpha.15", - "@nocobase/evaluators": "1.6.0-alpha.15", - "@nocobase/lock-manager": "1.6.0-alpha.15", - "@nocobase/logger": "1.6.0-alpha.15", - "@nocobase/resourcer": "1.6.0-alpha.15", - "@nocobase/sdk": "1.6.0-alpha.15", - "@nocobase/telemetry": "1.6.0-alpha.15", - "@nocobase/utils": "1.6.0-alpha.15", + "@nocobase/acl": "1.6.0-alpha.16", + "@nocobase/actions": "1.6.0-alpha.16", + "@nocobase/auth": "1.6.0-alpha.16", + "@nocobase/cache": "1.6.0-alpha.16", + "@nocobase/data-source-manager": "1.6.0-alpha.16", + "@nocobase/database": "1.6.0-alpha.16", + "@nocobase/evaluators": "1.6.0-alpha.16", + "@nocobase/lock-manager": "1.6.0-alpha.16", + "@nocobase/logger": "1.6.0-alpha.16", + "@nocobase/resourcer": "1.6.0-alpha.16", + "@nocobase/sdk": "1.6.0-alpha.16", + "@nocobase/telemetry": "1.6.0-alpha.16", + "@nocobase/utils": "1.6.0-alpha.16", "@types/decompress": "4.2.7", "@types/ini": "^1.3.31", "@types/koa-send": "^4.1.3", diff --git a/packages/core/telemetry/package.json b/packages/core/telemetry/package.json index f75b30f48e..38a807b55a 100644 --- a/packages/core/telemetry/package.json +++ b/packages/core/telemetry/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/telemetry", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "description": "nocobase telemetry library", "license": "AGPL-3.0", "main": "./lib/index.js", @@ -11,7 +11,7 @@ "directory": "packages/telemetry" }, "dependencies": { - "@nocobase/utils": "1.6.0-alpha.15", + "@nocobase/utils": "1.6.0-alpha.16", "@opentelemetry/api": "^1.7.0", "@opentelemetry/instrumentation": "^0.46.0", "@opentelemetry/resources": "^1.19.0", diff --git a/packages/core/test/package.json b/packages/core/test/package.json index f6ee05e0a7..bfb34ccea3 100644 --- a/packages/core/test/package.json +++ b/packages/core/test/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/test", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "lib/index.js", "module": "./src/index.ts", "types": "./lib/index.d.ts", @@ -51,7 +51,7 @@ }, "dependencies": { "@faker-js/faker": "8.1.0", - "@nocobase/server": "1.6.0-alpha.15", + "@nocobase/server": "1.6.0-alpha.16", "@playwright/test": "^1.45.3", "@testing-library/jest-dom": "^6.4.2", "@testing-library/react": "^14.0.0", diff --git a/packages/core/utils/package.json b/packages/core/utils/package.json index 1958f1d622..3cec93d3c5 100644 --- a/packages/core/utils/package.json +++ b/packages/core/utils/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/utils", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "lib/index.js", "types": "./lib/index.d.ts", "license": "AGPL-3.0", diff --git a/packages/plugins/@nocobase/plugin-acl/package.json b/packages/plugins/@nocobase/plugin-acl/package.json index 7b7aac5115..585af1a269 100644 --- a/packages/plugins/@nocobase/plugin-acl/package.json +++ b/packages/plugins/@nocobase/plugin-acl/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "权限控制", "description": "Based on roles, resources, and actions, access control can precisely manage interface configuration permissions, data operation permissions, menu access permissions, and plugin permissions.", "description.zh-CN": "基于角色、资源和操作的权限控制,可以精确控制界面配置权限、数据操作权限、菜单访问权限、插件权限。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/acl", diff --git a/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json b/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json index 3bb026fe50..c52996efb2 100644 --- a/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json +++ b/packages/plugins/@nocobase/plugin-action-bulk-edit/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-bulk-edit", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-bulk-edit", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-bulk-edit", diff --git a/packages/plugins/@nocobase/plugin-action-bulk-update/package.json b/packages/plugins/@nocobase/plugin-action-bulk-update/package.json index 4f83deb8ad..c9765debb5 100644 --- a/packages/plugins/@nocobase/plugin-action-bulk-update/package.json +++ b/packages/plugins/@nocobase/plugin-action-bulk-update/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-bulk-update", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-bulk-update", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-bulk-update", diff --git a/packages/plugins/@nocobase/plugin-action-custom-request/package.json b/packages/plugins/@nocobase/plugin-action-custom-request/package.json index f0e41c2dc6..2ca9ca6021 100644 --- a/packages/plugins/@nocobase/plugin-action-custom-request/package.json +++ b/packages/plugins/@nocobase/plugin-action-custom-request/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-custom-request", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-custom-request", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-custom-request", diff --git a/packages/plugins/@nocobase/plugin-action-duplicate/package.json b/packages/plugins/@nocobase/plugin-action-duplicate/package.json index 60f1b667c6..ec1ad78734 100644 --- a/packages/plugins/@nocobase/plugin-action-duplicate/package.json +++ b/packages/plugins/@nocobase/plugin-action-duplicate/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-duplicate", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-duplicate", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-duplicate", diff --git a/packages/plugins/@nocobase/plugin-action-export/package.json b/packages/plugins/@nocobase/plugin-action-export/package.json index b8f1a9955b..f5d22f4542 100644 --- a/packages/plugins/@nocobase/plugin-action-export/package.json +++ b/packages/plugins/@nocobase/plugin-action-export/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "操作:导出记录", "description": "Export filtered records to excel, you can configure which fields to export.", "description.zh-CN": "导出筛选后的记录到 Excel 中,可以配置导出哪些字段。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-export", diff --git a/packages/plugins/@nocobase/plugin-action-import/package.json b/packages/plugins/@nocobase/plugin-action-import/package.json index 7e30f474bb..ce1c97f0ac 100644 --- a/packages/plugins/@nocobase/plugin-action-import/package.json +++ b/packages/plugins/@nocobase/plugin-action-import/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "操作:导入记录", "description": "Import records using excel templates. You can configure which fields to import and templates will be generated automatically.", "description.zh-CN": "使用 Excel 模板导入数据,可以配置导入哪些字段,自动生成模板。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-import", diff --git a/packages/plugins/@nocobase/plugin-action-print/package.json b/packages/plugins/@nocobase/plugin-action-print/package.json index 3399792f69..0ea0245914 100644 --- a/packages/plugins/@nocobase/plugin-action-print/package.json +++ b/packages/plugins/@nocobase/plugin-action-print/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-action-print", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/action-print", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/action-print", diff --git a/packages/plugins/@nocobase/plugin-api-doc/package.json b/packages/plugins/@nocobase/plugin-api-doc/package.json index 78d186c303..821ee66eec 100644 --- a/packages/plugins/@nocobase/plugin-api-doc/package.json +++ b/packages/plugins/@nocobase/plugin-api-doc/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-api-doc", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "displayName": "API documentation", "displayName.zh-CN": "API 文档", "description": "An OpenAPI documentation generator for NocoBase HTTP API.", diff --git a/packages/plugins/@nocobase/plugin-api-keys/package.json b/packages/plugins/@nocobase/plugin-api-keys/package.json index 280be7cef8..338db2f08c 100644 --- a/packages/plugins/@nocobase/plugin-api-keys/package.json +++ b/packages/plugins/@nocobase/plugin-api-keys/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "认证:API 密钥", "description": "Allows users to use API key to access application's HTTP API", "description.zh-CN": "允许用户使用 API 密钥访问应用的 HTTP API", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/api-keys", diff --git a/packages/plugins/@nocobase/plugin-async-task-manager/package.json b/packages/plugins/@nocobase/plugin-async-task-manager/package.json index 5032333431..55b00a2da7 100644 --- a/packages/plugins/@nocobase/plugin-async-task-manager/package.json +++ b/packages/plugins/@nocobase/plugin-async-task-manager/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "异步任务管理器", "description": "Manage and monitor asynchronous tasks such as data import/export. Support task progress tracking and notification.", "description.zh-CN": "管理和监控数据导入导出等异步任务。支持任务进度跟踪和通知。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-audit-logs/package.json b/packages/plugins/@nocobase/plugin-audit-logs/package.json index dcb6ebf087..b44815a252 100644 --- a/packages/plugins/@nocobase/plugin-audit-logs/package.json +++ b/packages/plugins/@nocobase/plugin-audit-logs/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-audit-logs", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "displayName": "Audit logs (deprecated)", "displayName.zh-CN": "审计日志(废弃)", "description": "This plugin is deprecated. There will be a new audit log plugin in the future.", diff --git a/packages/plugins/@nocobase/plugin-auth-sms/package.json b/packages/plugins/@nocobase/plugin-auth-sms/package.json index 7700bc66f5..d16fa03148 100644 --- a/packages/plugins/@nocobase/plugin-auth-sms/package.json +++ b/packages/plugins/@nocobase/plugin-auth-sms/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "认证:短信", "description": "SMS authentication.", "description.zh-CN": "通过短信验证码认证身份。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/auth-sms", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/auth-sms", diff --git a/packages/plugins/@nocobase/plugin-auth/package.json b/packages/plugins/@nocobase/plugin-auth/package.json index ab8e9e4a92..657fc02347 100644 --- a/packages/plugins/@nocobase/plugin-auth/package.json +++ b/packages/plugins/@nocobase/plugin-auth/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-auth", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/auth", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/auth", diff --git a/packages/plugins/@nocobase/plugin-backup-restore/package.json b/packages/plugins/@nocobase/plugin-backup-restore/package.json index 0c1ced5035..67e1e8c4fa 100644 --- a/packages/plugins/@nocobase/plugin-backup-restore/package.json +++ b/packages/plugins/@nocobase/plugin-backup-restore/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "应用的备份与还原(废弃)", "description": "Backup and restore applications for scenarios such as application replication, migration, and upgrades.", "description.zh-CN": "备份和还原应用,可用于应用的复制、迁移、升级等场景。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/backup-restore", diff --git a/packages/plugins/@nocobase/plugin-block-iframe/package.json b/packages/plugins/@nocobase/plugin-block-iframe/package.json index 3d599c054f..1c5a3ba6a6 100644 --- a/packages/plugins/@nocobase/plugin-block-iframe/package.json +++ b/packages/plugins/@nocobase/plugin-block-iframe/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "区块:iframe", "description": "Create an iframe block on the page to embed and display external web pages or content.", "description.zh-CN": "在页面上创建和管理iframe,用于嵌入和展示外部网页或内容。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/block-iframe", diff --git a/packages/plugins/@nocobase/plugin-block-workbench/package.json b/packages/plugins/@nocobase/plugin-block-workbench/package.json index 48abd8f7c0..426a6f0ecc 100644 --- a/packages/plugins/@nocobase/plugin-block-workbench/package.json +++ b/packages/plugins/@nocobase/plugin-block-workbench/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-block-workbench", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "displayName": "Block: Action panel", "displayName.zh-CN": "区块:操作面板", "description": "Centrally manages and displays various actions, allowing users to efficiently perform tasks. It supports extensibility, with current action types including pop-ups, links, scanning, and custom requests.", diff --git a/packages/plugins/@nocobase/plugin-calendar/package.json b/packages/plugins/@nocobase/plugin-calendar/package.json index e1d46537f5..1d9914d764 100644 --- a/packages/plugins/@nocobase/plugin-calendar/package.json +++ b/packages/plugins/@nocobase/plugin-calendar/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-calendar", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "displayName": "Calendar", "displayName.zh-CN": "日历", "description": "Provides callendar collection template and block for managing date data, typically for date/time related information such as events, appointments, tasks, and so on.", diff --git a/packages/plugins/@nocobase/plugin-charts/package.json b/packages/plugins/@nocobase/plugin-charts/package.json index 249fa5acad..139bedfa11 100644 --- a/packages/plugins/@nocobase/plugin-charts/package.json +++ b/packages/plugins/@nocobase/plugin-charts/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "图表(废弃)", "description": "The plugin has been deprecated, please use the data visualization plugin instead.", "description.zh-CN": "已废弃插件,请使用数据可视化插件代替。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "./dist/server/index.js", "license": "AGPL-3.0", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-client/package.json b/packages/plugins/@nocobase/plugin-client/package.json index 8931ea2b53..b4dd2c49a1 100644 --- a/packages/plugins/@nocobase/plugin-client/package.json +++ b/packages/plugins/@nocobase/plugin-client/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "WEB 客户端", "description": "Provides a client interface for the NocoBase server", "description.zh-CN": "为 NocoBase 服务端提供客户端界面", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "./dist/server/index.js", "license": "AGPL-3.0", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-collection-sql/package.json b/packages/plugins/@nocobase/plugin-collection-sql/package.json index 1a4909fd58..e03f61e999 100644 --- a/packages/plugins/@nocobase/plugin-collection-sql/package.json +++ b/packages/plugins/@nocobase/plugin-collection-sql/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表: SQL", "description": "Provides SQL collection template", "description.zh-CN": "提供 SQL 数据表模板", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "homepage": "https://docs-cn.nocobase.com/handbook/collection-sql", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/collection-sql", "main": "dist/server/index.js", diff --git a/packages/plugins/@nocobase/plugin-collection-tree/package.json b/packages/plugins/@nocobase/plugin-collection-tree/package.json index 89e8a95a9a..c0b54b3300 100644 --- a/packages/plugins/@nocobase/plugin-collection-tree/package.json +++ b/packages/plugins/@nocobase/plugin-collection-tree/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-collection-tree", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "displayName": "Collection: Tree", "displayName.zh-CN": "数据表:树", "description": "Provides tree collection template", diff --git a/packages/plugins/@nocobase/plugin-data-source-main/package.json b/packages/plugins/@nocobase/plugin-data-source-main/package.json index 4fa8694e65..be443399a3 100644 --- a/packages/plugins/@nocobase/plugin-data-source-main/package.json +++ b/packages/plugins/@nocobase/plugin-data-source-main/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据源:主数据库", "description": "NocoBase main database, supports relational databases such as PostgreSQL, MySQL, MariaDB and so on.", "description.zh-CN": "NocoBase 主数据库,支持 PostgreSQL、MySQL、MariaDB 等关系型数据库。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/data-source-main", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/data-source-main", diff --git a/packages/plugins/@nocobase/plugin-data-source-manager/package.json b/packages/plugins/@nocobase/plugin-data-source-manager/package.json index b9f9cb601a..0a376a8d44 100644 --- a/packages/plugins/@nocobase/plugin-data-source-manager/package.json +++ b/packages/plugins/@nocobase/plugin-data-source-manager/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-data-source-manager", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "dist/server/index.js", "displayName": "Data source manager", "displayName.zh-CN": "数据源管理", diff --git a/packages/plugins/@nocobase/plugin-data-visualization/package.json b/packages/plugins/@nocobase/plugin-data-visualization/package.json index 0f40f4a48c..90e129abd4 100644 --- a/packages/plugins/@nocobase/plugin-data-visualization/package.json +++ b/packages/plugins/@nocobase/plugin-data-visualization/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-data-visualization", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "displayName": "Data visualization", "displayName.zh-CN": "数据可视化", "description": "Provides data visualization feature, including chart block and chart filter block, support line charts, area charts, bar charts and more than a dozen kinds of charts, you can also extend more chart types.", diff --git a/packages/plugins/@nocobase/plugin-disable-pm-add/package.json b/packages/plugins/@nocobase/plugin-disable-pm-add/package.json index 5018c715b0..c6aa2a50e4 100644 --- a/packages/plugins/@nocobase/plugin-disable-pm-add/package.json +++ b/packages/plugins/@nocobase/plugin-disable-pm-add/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-disable-pm-add", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "./dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-environment-variables/package.json b/packages/plugins/@nocobase/plugin-environment-variables/package.json index 49568e4426..f53dd0d619 100644 --- a/packages/plugins/@nocobase/plugin-environment-variables/package.json +++ b/packages/plugins/@nocobase/plugin-environment-variables/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-environment-variables", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-error-handler/package.json b/packages/plugins/@nocobase/plugin-error-handler/package.json index 6a65a7b131..a0f58ac88d 100644 --- a/packages/plugins/@nocobase/plugin-error-handler/package.json +++ b/packages/plugins/@nocobase/plugin-error-handler/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "错误处理器", "description": "Handling application errors and exceptions.", "description.zh-CN": "处理应用程序中的错误和异常。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "./dist/server/index.js", "devDependencies": { diff --git a/packages/plugins/@nocobase/plugin-field-china-region/package.json b/packages/plugins/@nocobase/plugin-field-china-region/package.json index aed0e19f1c..f072dc7727 100644 --- a/packages/plugins/@nocobase/plugin-field-china-region/package.json +++ b/packages/plugins/@nocobase/plugin-field-china-region/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-field-china-region", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "displayName": "Collection field: administrative divisions of China", "displayName.zh-CN": "数据表字段:中国行政区划", "description": "Provides data and field type for administrative divisions of China.", diff --git a/packages/plugins/@nocobase/plugin-field-formula/package.json b/packages/plugins/@nocobase/plugin-field-formula/package.json index d26b738dda..59517c0c50 100644 --- a/packages/plugins/@nocobase/plugin-field-formula/package.json +++ b/packages/plugins/@nocobase/plugin-field-formula/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:公式", "description": "Configure and store the results of calculations between multiple field values in the same record, supporting both Math.js and Excel formula functions.", "description.zh-CN": "可以配置并存储同一条记录的多字段值之间的计算结果,支持 Math.js 和 Excel formula functions 两种引擎", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-formula", diff --git a/packages/plugins/@nocobase/plugin-field-m2m-array/package.json b/packages/plugins/@nocobase/plugin-field-m2m-array/package.json index e0a3955c4a..506b8c1bc1 100644 --- a/packages/plugins/@nocobase/plugin-field-m2m-array/package.json +++ b/packages/plugins/@nocobase/plugin-field-m2m-array/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:多对多 (数组)", "description": "Allows to create many to many relationships between two models by storing an array of unique keys of the target model.", "description.zh-CN": "支持通过在数组中存储目标表唯一键的方式建立多对多关系。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json b/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json index cf738ee3d0..c29ea12d12 100644 --- a/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json +++ b/packages/plugins/@nocobase/plugin-field-markdown-vditor/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:Markdown(Vditor)", "description": "Used to store Markdown and render it using Vditor editor, supports common Markdown syntax such as list, code, quote, etc., and supports uploading images, recordings, etc.It also allows for instant rendering, where what you see is what you get.", "description.zh-CN": "用于存储 Markdown,并使用 Vditor 编辑器渲染,支持常见 Markdown 语法,如列表,代码,引用等,并支持上传图片,录音等。同时可以做到即时渲染,所见即所得。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-markdown-vditor", diff --git a/packages/plugins/@nocobase/plugin-field-sequence/package.json b/packages/plugins/@nocobase/plugin-field-sequence/package.json index 701606486b..17b78e30e3 100644 --- a/packages/plugins/@nocobase/plugin-field-sequence/package.json +++ b/packages/plugins/@nocobase/plugin-field-sequence/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:自动编码", "description": "Automatically generate codes based on configured rules, supporting combinations of dates, numbers, and text.", "description.zh-CN": "根据配置的规则自动生成编码,支持日期、数字、文本的组合。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-sequence", diff --git a/packages/plugins/@nocobase/plugin-field-sort/package.json b/packages/plugins/@nocobase/plugin-field-sort/package.json index e5abab0ae6..276e398375 100644 --- a/packages/plugins/@nocobase/plugin-field-sort/package.json +++ b/packages/plugins/@nocobase/plugin-field-sort/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-field-sort", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "displayName": "Collection field: Sort", "displayName.zh-CN": "数据表字段:排序", diff --git a/packages/plugins/@nocobase/plugin-file-manager/package.json b/packages/plugins/@nocobase/plugin-file-manager/package.json index ad2873bbe2..f3c767ab4d 100644 --- a/packages/plugins/@nocobase/plugin-file-manager/package.json +++ b/packages/plugins/@nocobase/plugin-file-manager/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-file-manager", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "displayName": "File manager", "displayName.zh-CN": "文件管理器", "description": "Provides files storage services with files collection template and attachment field.", diff --git a/packages/plugins/@nocobase/plugin-gantt/package.json b/packages/plugins/@nocobase/plugin-gantt/package.json index d9614ec7c8..026079feb7 100644 --- a/packages/plugins/@nocobase/plugin-gantt/package.json +++ b/packages/plugins/@nocobase/plugin-gantt/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-gantt", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "displayName": "Block: Gantt", "displayName.zh-CN": "区块:甘特图", "description": "Provides Gantt block.", diff --git a/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json b/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json index 1aadc7e351..e2fe33c893 100644 --- a/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json +++ b/packages/plugins/@nocobase/plugin-graph-collection-manager/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "可视化数据表管理", "description": "An ER diagram-like tool. Currently only the Master database is supported.", "description.zh-CN": "类似 ER 图的工具,目前只支持主数据库。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/graph-collection-manager", diff --git a/packages/plugins/@nocobase/plugin-kanban/package.json b/packages/plugins/@nocobase/plugin-kanban/package.json index 9c0d0f08aa..493d5b0859 100644 --- a/packages/plugins/@nocobase/plugin-kanban/package.json +++ b/packages/plugins/@nocobase/plugin-kanban/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-kanban", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/block-kanban", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/block-kanban", diff --git a/packages/plugins/@nocobase/plugin-localization/package.json b/packages/plugins/@nocobase/plugin-localization/package.json index 09121911ad..f362be9f69 100644 --- a/packages/plugins/@nocobase/plugin-localization/package.json +++ b/packages/plugins/@nocobase/plugin-localization/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-localization", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/localization-management", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/localization-management", diff --git a/packages/plugins/@nocobase/plugin-logger/package.json b/packages/plugins/@nocobase/plugin-logger/package.json index 48789e4bd5..8a4b215474 100644 --- a/packages/plugins/@nocobase/plugin-logger/package.json +++ b/packages/plugins/@nocobase/plugin-logger/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "日志", "description": "Server-side logs, mainly including API request logs and system runtime logs, and allows to package and download log files.", "description.zh-CN": "服务端日志,主要包括接口请求日志和系统运行日志,并支持打包和下载日志文件。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/logger", diff --git a/packages/plugins/@nocobase/plugin-map/package.json b/packages/plugins/@nocobase/plugin-map/package.json index 51f4898e78..7febea4545 100644 --- a/packages/plugins/@nocobase/plugin-map/package.json +++ b/packages/plugins/@nocobase/plugin-map/package.json @@ -2,7 +2,7 @@ "name": "@nocobase/plugin-map", "displayName": "Block: Map", "displayName.zh-CN": "区块:地图", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "description": "Map block, support Gaode map and Google map, you can also extend more map types.", "description.zh-CN": "地图区块,支持高德地图和 Google 地图,你也可以扩展更多地图类型。", "license": "AGPL-3.0", diff --git a/packages/plugins/@nocobase/plugin-mobile-client/package.json b/packages/plugins/@nocobase/plugin-mobile-client/package.json index 03c59ce483..3bfdfd5eed 100644 --- a/packages/plugins/@nocobase/plugin-mobile-client/package.json +++ b/packages/plugins/@nocobase/plugin-mobile-client/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-mobile-client", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/mobile-client", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/mobile-client", diff --git a/packages/plugins/@nocobase/plugin-mobile/package.json b/packages/plugins/@nocobase/plugin-mobile/package.json index 2672ee9f3d..06633b62d1 100644 --- a/packages/plugins/@nocobase/plugin-mobile/package.json +++ b/packages/plugins/@nocobase/plugin-mobile/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-mobile", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/mobile", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/mobile", diff --git a/packages/plugins/@nocobase/plugin-mock-collections/package.json b/packages/plugins/@nocobase/plugin-mock-collections/package.json index 7fa05fa94b..9c9cc205fc 100644 --- a/packages/plugins/@nocobase/plugin-mock-collections/package.json +++ b/packages/plugins/@nocobase/plugin-mock-collections/package.json @@ -2,7 +2,7 @@ "name": "@nocobase/plugin-mock-collections", "displayName": "mock-collections", "description": "mock-collections", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "./dist/server/index.js", "license": "AGPL-3.0", "peerDependencies": { diff --git a/packages/plugins/@nocobase/plugin-multi-app-manager/package.json b/packages/plugins/@nocobase/plugin-multi-app-manager/package.json index 3995386c97..a18a9dd8f7 100644 --- a/packages/plugins/@nocobase/plugin-multi-app-manager/package.json +++ b/packages/plugins/@nocobase/plugin-multi-app-manager/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "多应用管理器", "description": "Dynamically create multiple apps without separate deployments.", "description.zh-CN": "无需单独部署即可动态创建多个应用。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/multi-app-manager", diff --git a/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json b/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json index b41b45b10a..3c10d4447e 100644 --- a/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json +++ b/packages/plugins/@nocobase/plugin-multi-app-share-collection/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "多应用数据表共享", "description": "", "description.zh-CN": "", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "./dist/server/index.js", "devDependencies": { "@formily/react": "2.x", diff --git a/packages/plugins/@nocobase/plugin-notification-email/package.json b/packages/plugins/@nocobase/plugin-notification-email/package.json index c83689ea7c..cec96dd0a6 100644 --- a/packages/plugins/@nocobase/plugin-notification-email/package.json +++ b/packages/plugins/@nocobase/plugin-notification-email/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-notification-email", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "displayName": "Notification: Email", "displayName.zh-CN": "通知:电子邮件", "description": "Used for sending email notifications with built-in SMTP transport.", diff --git a/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json b/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json index 6bbb6ee215..6748ba208e 100644 --- a/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json +++ b/packages/plugins/@nocobase/plugin-notification-in-app-message/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-notification-in-app-message", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "displayName": "Notification: In-app message", "displayName.zh-CN": "通知:站内信", "description": "It supports users in receiving real-time message notifications within the NocoBase application.", diff --git a/packages/plugins/@nocobase/plugin-notification-manager/package.json b/packages/plugins/@nocobase/plugin-notification-manager/package.json index 6f0ff1fbc7..f3f8a7290c 100644 --- a/packages/plugins/@nocobase/plugin-notification-manager/package.json +++ b/packages/plugins/@nocobase/plugin-notification-manager/package.json @@ -4,7 +4,7 @@ "description": "Provides a unified management service that includes channel configuration, logging, and other features, supporting the configuration of various notification channels, including in-app message and email.", "displayName.zh-CN": "通知管理", "description.zh-CN": "提供统一的管理服务,涵盖渠道配置、日志记录等功能,支持多种通知渠道的配置,包括站内信和电子邮件等。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "dist/server/index.js", "devDependencies": { "@ant-design/icons": "5.x", diff --git a/packages/plugins/@nocobase/plugin-notifications/package.json b/packages/plugins/@nocobase/plugin-notifications/package.json index 58215470dd..a920285abf 100644 --- a/packages/plugins/@nocobase/plugin-notifications/package.json +++ b/packages/plugins/@nocobase/plugin-notifications/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-notifications", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "description": "", "license": "AGPL-3.0", "main": "./dist/server/index.js", diff --git a/packages/plugins/@nocobase/plugin-public-forms/package.json b/packages/plugins/@nocobase/plugin-public-forms/package.json index 1648c45295..acccdb0f27 100644 --- a/packages/plugins/@nocobase/plugin-public-forms/package.json +++ b/packages/plugins/@nocobase/plugin-public-forms/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-public-forms", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "dist/server/index.js", "displayName": "Public forms", "displayName.zh-CN": "公开表单", diff --git a/packages/plugins/@nocobase/plugin-sample-hello/package.json b/packages/plugins/@nocobase/plugin-sample-hello/package.json index 77bd91bfdb..392987b570 100644 --- a/packages/plugins/@nocobase/plugin-sample-hello/package.json +++ b/packages/plugins/@nocobase/plugin-sample-hello/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-sample-hello", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "./dist/server/index.js", "displayName": "Hello", "displayName.zh-CN": "Hello", diff --git a/packages/plugins/@nocobase/plugin-snapshot-field/package.json b/packages/plugins/@nocobase/plugin-snapshot-field/package.json index a9c62cd958..f8e489d0f4 100644 --- a/packages/plugins/@nocobase/plugin-snapshot-field/package.json +++ b/packages/plugins/@nocobase/plugin-snapshot-field/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "数据表字段:关系快照", "description": "When adding a new record, create a snapshot for its relational record and save in the new record. The snapshot will not be updated when the relational record is updated.", "description.zh-CN": "在添加数据时,为它的关系数据创建快照,并保存在当前的数据中。关系数据更新时,快照不会更新。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/field-snapshot", diff --git a/packages/plugins/@nocobase/plugin-system-settings/package.json b/packages/plugins/@nocobase/plugin-system-settings/package.json index c4b86fcc83..d9d9a48aa0 100644 --- a/packages/plugins/@nocobase/plugin-system-settings/package.json +++ b/packages/plugins/@nocobase/plugin-system-settings/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "系统设置", "description": "Used to adjust the system title, logo, language, etc.", "description.zh-CN": "用于调整系统的标题、LOGO、语言等。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/system-settings", diff --git a/packages/plugins/@nocobase/plugin-theme-editor/package.json b/packages/plugins/@nocobase/plugin-theme-editor/package.json index 126a09245c..92a814ddbf 100644 --- a/packages/plugins/@nocobase/plugin-theme-editor/package.json +++ b/packages/plugins/@nocobase/plugin-theme-editor/package.json @@ -1,6 +1,6 @@ { "name": "@nocobase/plugin-theme-editor", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/theme-editor", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/theme-editor", diff --git a/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json b/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json index 133b7863c8..63f35d2b9b 100644 --- a/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json +++ b/packages/plugins/@nocobase/plugin-ui-schema-storage/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "UI schema 存储服务", "description": "Provides centralized UI schema storage service.", "description.zh-CN": "提供中心化的 UI schema 存储服务。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/ui-schema-storage", diff --git a/packages/plugins/@nocobase/plugin-user-data-sync/package.json b/packages/plugins/@nocobase/plugin-user-data-sync/package.json index 8f3435521e..3a0c280cac 100644 --- a/packages/plugins/@nocobase/plugin-user-data-sync/package.json +++ b/packages/plugins/@nocobase/plugin-user-data-sync/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "用户数据同步", "description": "Reigster and manage extensible user data synchronization sources, with HTTP API provided by default. Support for synchronizing data to resources such as users and departments.", "description.zh-CN": "注册和管理可扩展的用户数据同步来源,默认提供 HTTP API。支持向用户和部门等资源同步数据。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "main": "dist/server/index.js", "peerDependencies": { "@nocobase/client": "1.x", diff --git a/packages/plugins/@nocobase/plugin-users/package.json b/packages/plugins/@nocobase/plugin-users/package.json index 218e816ae4..9ecfbb59bf 100644 --- a/packages/plugins/@nocobase/plugin-users/package.json +++ b/packages/plugins/@nocobase/plugin-users/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "用户", "description": "Provides basic user model, as well as created by and updated by fields.", "description.zh-CN": "提供了基础的用户模型,以及创建人和最后更新人字段。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/users", diff --git a/packages/plugins/@nocobase/plugin-verification/package.json b/packages/plugins/@nocobase/plugin-verification/package.json index 0a598ba087..c41992aeb2 100644 --- a/packages/plugins/@nocobase/plugin-verification/package.json +++ b/packages/plugins/@nocobase/plugin-verification/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "验证码", "description": "verification setting.", "description.zh-CN": "验证码配置。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/verification", diff --git a/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json b/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json index 7f2eb52373..6e0052de36 100644 --- a/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-action-trigger/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:操作后事件", "description": "Triggered after the completion of a request initiated through an action button or API, such as after adding, updating, deleting data, or \"submit to workflow\". Suitable for data processing, sending notifications, etc., after actions are completed.", "description.zh-CN": "通过操作按钮或 API 发起请求并在执行完成后触发,比如新增、更新、删除数据或者“提交至工作流”之后。适用于在操作完成后进行数据处理、发送通知等。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/plugins/workflow-action-trigger", diff --git a/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json b/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json index 92f104d335..87117d3f68 100644 --- a/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-aggregate/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:聚合查询节点", "description": "Used to aggregate data against the database in workflow, such as: statistics, sum, average, etc.", "description.zh-CN": "可用于在工作流中对数据库进行聚合查询,如:统计数量、求和、平均值等。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-aggregate", diff --git a/packages/plugins/@nocobase/plugin-workflow-delay/package.json b/packages/plugins/@nocobase/plugin-workflow-delay/package.json index 1b3944da94..d963371a40 100644 --- a/packages/plugins/@nocobase/plugin-workflow-delay/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-delay/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:延时节点", "description": "Could be used in workflow parallel branch for waiting other branches.", "description.zh-CN": "可用于工作流并行分支中等待其他分支执行完成。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-delay", diff --git a/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json b/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json index 54178affc6..d9fa4de570 100644 --- a/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:动态表达式计算节点", "description": "Useful plugin for doing dynamic calculation based on expression collection records in workflow.", "description.zh-CN": "用于在工作流中进行基于数据行的动态表达式计算。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-dynamic-calculation", diff --git a/packages/plugins/@nocobase/plugin-workflow-loop/package.json b/packages/plugins/@nocobase/plugin-workflow-loop/package.json index 3e84f9d06e..1d48bc7625 100644 --- a/packages/plugins/@nocobase/plugin-workflow-loop/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-loop/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:循环节点", "description": "Used to repeat the sub-process processing of each value in an array, and can also be used for fixed times of sub-process processing.", "description.zh-CN": "用于对一个数组中的每个值进行重复的子流程处理,也可用于固定次数的重复子流程处理。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-loop", diff --git a/packages/plugins/@nocobase/plugin-workflow-mailer/package.json b/packages/plugins/@nocobase/plugin-workflow-mailer/package.json index 90793d10a1..a27b7b47b6 100644 --- a/packages/plugins/@nocobase/plugin-workflow-mailer/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-mailer/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:邮件发送节点", "description": "Send email in workflow.", "description.zh-CN": "可用于在工作流中发送电子邮件。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-smtp-mailer", diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/package.json b/packages/plugins/@nocobase/plugin-workflow-manual/package.json index 551b528b79..fabff9c762 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-manual/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:人工处理节点", "description": "Could be used for workflows which some of decisions are made by users.", "description.zh-CN": "用于人工控制部分决策的流程。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-manual", diff --git a/packages/plugins/@nocobase/plugin-workflow-notification/package.json b/packages/plugins/@nocobase/plugin-workflow-notification/package.json index d1baf17403..4947fcc073 100644 --- a/packages/plugins/@nocobase/plugin-workflow-notification/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-notification/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:通知节点", "description": "Send notification in workflow.", "description.zh-CN": "可用于在工作流中发送各类通知。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-smtp-mailer", diff --git a/packages/plugins/@nocobase/plugin-workflow-parallel/package.json b/packages/plugins/@nocobase/plugin-workflow-parallel/package.json index 9bcf7b4a18..fcf97b95dd 100644 --- a/packages/plugins/@nocobase/plugin-workflow-parallel/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-parallel/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:并行分支节点", "description": "Could be used for parallel execution of branch processes in the workflow.", "description.zh-CN": "用于在工作流中需要并行执行的分支流程。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-parallel", diff --git a/packages/plugins/@nocobase/plugin-workflow-request/package.json b/packages/plugins/@nocobase/plugin-workflow-request/package.json index 6906d900b8..9508789744 100644 --- a/packages/plugins/@nocobase/plugin-workflow-request/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-request/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:HTTP 请求节点", "description": "Send HTTP requests to any HTTP service for data interaction in workflow.", "description.zh-CN": "可用于在工作流中向任意 HTTP 服务发送请求,进行数据交互。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-request", diff --git a/packages/plugins/@nocobase/plugin-workflow-sql/package.json b/packages/plugins/@nocobase/plugin-workflow-sql/package.json index d0e2868290..464dcb544c 100644 --- a/packages/plugins/@nocobase/plugin-workflow-sql/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-sql/package.json @@ -4,7 +4,7 @@ "displayName.zh-CN": "工作流:SQL 节点", "description": "Execute SQL statements in workflow.", "description.zh-CN": "可用于在工作流中对数据库执行任意 SQL 语句。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow-sql", diff --git a/packages/plugins/@nocobase/plugin-workflow-test/package.json b/packages/plugins/@nocobase/plugin-workflow-test/package.json index 156bfdc1f3..ccae339da7 100644 --- a/packages/plugins/@nocobase/plugin-workflow-test/package.json +++ b/packages/plugins/@nocobase/plugin-workflow-test/package.json @@ -2,7 +2,7 @@ "name": "@nocobase/plugin-workflow-test", "displayName": "Workflow: test kit", "displayName.zh-CN": "工作流:测试工具包", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "dist/server/index.js", "types": "./dist/server/index.d.ts", diff --git a/packages/plugins/@nocobase/plugin-workflow/package.json b/packages/plugins/@nocobase/plugin-workflow/package.json index 9dd4474add..82e0c0bd87 100644 --- a/packages/plugins/@nocobase/plugin-workflow/package.json +++ b/packages/plugins/@nocobase/plugin-workflow/package.json @@ -4,13 +4,13 @@ "displayName.zh-CN": "工作流", "description": "A powerful BPM tool that provides foundational support for business automation, with the capability to extend unlimited triggers and nodes.", "description.zh-CN": "一个强大的 BPM 工具,为业务自动化提供基础支持,并且可任意扩展更多的触发器和节点。", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "./dist/server/index.js", "homepage": "https://docs.nocobase.com/handbook/workflow", "homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/workflow", "dependencies": { - "@nocobase/plugin-workflow-test": "1.6.0-alpha.15" + "@nocobase/plugin-workflow-test": "1.6.0-alpha.16" }, "devDependencies": { "@ant-design/icons": "5.x", diff --git a/packages/presets/nocobase/package.json b/packages/presets/nocobase/package.json index 5911815863..a4e6ca26ac 100644 --- a/packages/presets/nocobase/package.json +++ b/packages/presets/nocobase/package.json @@ -1,79 +1,79 @@ { "name": "@nocobase/preset-nocobase", - "version": "1.6.0-alpha.15", + "version": "1.6.0-alpha.16", "license": "AGPL-3.0", "main": "./lib/server/index.js", "dependencies": { "@formily/json-schema": "2.x", - "@nocobase/plugin-acl": "1.6.0-alpha.15", - "@nocobase/plugin-action-bulk-edit": "1.6.0-alpha.15", - "@nocobase/plugin-action-bulk-update": "1.6.0-alpha.15", - "@nocobase/plugin-action-custom-request": "1.6.0-alpha.15", - "@nocobase/plugin-action-duplicate": "1.6.0-alpha.15", - "@nocobase/plugin-action-export": "1.6.0-alpha.15", - "@nocobase/plugin-action-import": "1.6.0-alpha.15", - "@nocobase/plugin-action-print": "1.6.0-alpha.15", - "@nocobase/plugin-api-doc": "1.6.0-alpha.15", - "@nocobase/plugin-api-keys": "1.6.0-alpha.15", - "@nocobase/plugin-async-task-manager": "1.6.0-alpha.15", - "@nocobase/plugin-audit-logs": "1.6.0-alpha.15", - "@nocobase/plugin-auth": "1.6.0-alpha.15", - "@nocobase/plugin-auth-sms": "1.6.0-alpha.15", - "@nocobase/plugin-backup-restore": "1.6.0-alpha.15", - "@nocobase/plugin-block-iframe": "1.6.0-alpha.15", - "@nocobase/plugin-block-workbench": "1.6.0-alpha.15", - "@nocobase/plugin-calendar": "1.6.0-alpha.15", - "@nocobase/plugin-charts": "1.6.0-alpha.15", - "@nocobase/plugin-client": "1.6.0-alpha.15", - "@nocobase/plugin-collection-sql": "1.6.0-alpha.15", - "@nocobase/plugin-collection-tree": "1.6.0-alpha.15", - "@nocobase/plugin-data-source-main": "1.6.0-alpha.15", - "@nocobase/plugin-data-source-manager": "1.6.0-alpha.15", - "@nocobase/plugin-data-visualization": "1.6.0-alpha.15", - "@nocobase/plugin-environment-variables": "1.6.0-alpha.15", - "@nocobase/plugin-error-handler": "1.6.0-alpha.15", - "@nocobase/plugin-field-china-region": "1.6.0-alpha.15", - "@nocobase/plugin-field-formula": "1.6.0-alpha.15", - "@nocobase/plugin-field-m2m-array": "1.6.0-alpha.15", - "@nocobase/plugin-field-markdown-vditor": "1.6.0-alpha.15", - "@nocobase/plugin-field-sequence": "1.6.0-alpha.15", - "@nocobase/plugin-field-sort": "1.6.0-alpha.15", - "@nocobase/plugin-file-manager": "1.6.0-alpha.15", - "@nocobase/plugin-gantt": "1.6.0-alpha.15", - "@nocobase/plugin-graph-collection-manager": "1.6.0-alpha.15", - "@nocobase/plugin-kanban": "1.6.0-alpha.15", - "@nocobase/plugin-localization": "1.6.0-alpha.15", - "@nocobase/plugin-logger": "1.6.0-alpha.15", - "@nocobase/plugin-map": "1.6.0-alpha.15", - "@nocobase/plugin-mobile": "1.6.0-alpha.15", - "@nocobase/plugin-mobile-client": "1.6.0-alpha.15", - "@nocobase/plugin-mock-collections": "1.6.0-alpha.15", - "@nocobase/plugin-multi-app-manager": "1.6.0-alpha.15", - "@nocobase/plugin-multi-app-share-collection": "1.6.0-alpha.15", - "@nocobase/plugin-notification-email": "1.6.0-alpha.15", - "@nocobase/plugin-notification-in-app-message": "1.6.0-alpha.15", - "@nocobase/plugin-notification-manager": "1.6.0-alpha.15", - "@nocobase/plugin-public-forms": "1.6.0-alpha.15", - "@nocobase/plugin-snapshot-field": "1.6.0-alpha.15", - "@nocobase/plugin-system-settings": "1.6.0-alpha.15", - "@nocobase/plugin-theme-editor": "1.6.0-alpha.15", - "@nocobase/plugin-ui-schema-storage": "1.6.0-alpha.15", - "@nocobase/plugin-user-data-sync": "1.6.0-alpha.15", - "@nocobase/plugin-users": "1.6.0-alpha.15", - "@nocobase/plugin-verification": "1.6.0-alpha.15", - "@nocobase/plugin-workflow": "1.6.0-alpha.15", - "@nocobase/plugin-workflow-action-trigger": "1.6.0-alpha.15", - "@nocobase/plugin-workflow-aggregate": "1.6.0-alpha.15", - "@nocobase/plugin-workflow-delay": "1.6.0-alpha.15", - "@nocobase/plugin-workflow-dynamic-calculation": "1.6.0-alpha.15", - "@nocobase/plugin-workflow-loop": "1.6.0-alpha.15", - "@nocobase/plugin-workflow-mailer": "1.6.0-alpha.15", - "@nocobase/plugin-workflow-manual": "1.6.0-alpha.15", - "@nocobase/plugin-workflow-notification": "1.6.0-alpha.15", - "@nocobase/plugin-workflow-parallel": "1.6.0-alpha.15", - "@nocobase/plugin-workflow-request": "1.6.0-alpha.15", - "@nocobase/plugin-workflow-sql": "1.6.0-alpha.15", - "@nocobase/server": "1.6.0-alpha.15", + "@nocobase/plugin-acl": "1.6.0-alpha.16", + "@nocobase/plugin-action-bulk-edit": "1.6.0-alpha.16", + "@nocobase/plugin-action-bulk-update": "1.6.0-alpha.16", + "@nocobase/plugin-action-custom-request": "1.6.0-alpha.16", + "@nocobase/plugin-action-duplicate": "1.6.0-alpha.16", + "@nocobase/plugin-action-export": "1.6.0-alpha.16", + "@nocobase/plugin-action-import": "1.6.0-alpha.16", + "@nocobase/plugin-action-print": "1.6.0-alpha.16", + "@nocobase/plugin-api-doc": "1.6.0-alpha.16", + "@nocobase/plugin-api-keys": "1.6.0-alpha.16", + "@nocobase/plugin-async-task-manager": "1.6.0-alpha.16", + "@nocobase/plugin-audit-logs": "1.6.0-alpha.16", + "@nocobase/plugin-auth": "1.6.0-alpha.16", + "@nocobase/plugin-auth-sms": "1.6.0-alpha.16", + "@nocobase/plugin-backup-restore": "1.6.0-alpha.16", + "@nocobase/plugin-block-iframe": "1.6.0-alpha.16", + "@nocobase/plugin-block-workbench": "1.6.0-alpha.16", + "@nocobase/plugin-calendar": "1.6.0-alpha.16", + "@nocobase/plugin-charts": "1.6.0-alpha.16", + "@nocobase/plugin-client": "1.6.0-alpha.16", + "@nocobase/plugin-collection-sql": "1.6.0-alpha.16", + "@nocobase/plugin-collection-tree": "1.6.0-alpha.16", + "@nocobase/plugin-data-source-main": "1.6.0-alpha.16", + "@nocobase/plugin-data-source-manager": "1.6.0-alpha.16", + "@nocobase/plugin-data-visualization": "1.6.0-alpha.16", + "@nocobase/plugin-environment-variables": "1.6.0-alpha.16", + "@nocobase/plugin-error-handler": "1.6.0-alpha.16", + "@nocobase/plugin-field-china-region": "1.6.0-alpha.16", + "@nocobase/plugin-field-formula": "1.6.0-alpha.16", + "@nocobase/plugin-field-m2m-array": "1.6.0-alpha.16", + "@nocobase/plugin-field-markdown-vditor": "1.6.0-alpha.16", + "@nocobase/plugin-field-sequence": "1.6.0-alpha.16", + "@nocobase/plugin-field-sort": "1.6.0-alpha.16", + "@nocobase/plugin-file-manager": "1.6.0-alpha.16", + "@nocobase/plugin-gantt": "1.6.0-alpha.16", + "@nocobase/plugin-graph-collection-manager": "1.6.0-alpha.16", + "@nocobase/plugin-kanban": "1.6.0-alpha.16", + "@nocobase/plugin-localization": "1.6.0-alpha.16", + "@nocobase/plugin-logger": "1.6.0-alpha.16", + "@nocobase/plugin-map": "1.6.0-alpha.16", + "@nocobase/plugin-mobile": "1.6.0-alpha.16", + "@nocobase/plugin-mobile-client": "1.6.0-alpha.16", + "@nocobase/plugin-mock-collections": "1.6.0-alpha.16", + "@nocobase/plugin-multi-app-manager": "1.6.0-alpha.16", + "@nocobase/plugin-multi-app-share-collection": "1.6.0-alpha.16", + "@nocobase/plugin-notification-email": "1.6.0-alpha.16", + "@nocobase/plugin-notification-in-app-message": "1.6.0-alpha.16", + "@nocobase/plugin-notification-manager": "1.6.0-alpha.16", + "@nocobase/plugin-public-forms": "1.6.0-alpha.16", + "@nocobase/plugin-snapshot-field": "1.6.0-alpha.16", + "@nocobase/plugin-system-settings": "1.6.0-alpha.16", + "@nocobase/plugin-theme-editor": "1.6.0-alpha.16", + "@nocobase/plugin-ui-schema-storage": "1.6.0-alpha.16", + "@nocobase/plugin-user-data-sync": "1.6.0-alpha.16", + "@nocobase/plugin-users": "1.6.0-alpha.16", + "@nocobase/plugin-verification": "1.6.0-alpha.16", + "@nocobase/plugin-workflow": "1.6.0-alpha.16", + "@nocobase/plugin-workflow-action-trigger": "1.6.0-alpha.16", + "@nocobase/plugin-workflow-aggregate": "1.6.0-alpha.16", + "@nocobase/plugin-workflow-delay": "1.6.0-alpha.16", + "@nocobase/plugin-workflow-dynamic-calculation": "1.6.0-alpha.16", + "@nocobase/plugin-workflow-loop": "1.6.0-alpha.16", + "@nocobase/plugin-workflow-mailer": "1.6.0-alpha.16", + "@nocobase/plugin-workflow-manual": "1.6.0-alpha.16", + "@nocobase/plugin-workflow-notification": "1.6.0-alpha.16", + "@nocobase/plugin-workflow-parallel": "1.6.0-alpha.16", + "@nocobase/plugin-workflow-request": "1.6.0-alpha.16", + "@nocobase/plugin-workflow-sql": "1.6.0-alpha.16", + "@nocobase/server": "1.6.0-alpha.16", "cronstrue": "^2.11.0", "fs-extra": "^11.1.1" }, From a598120277afbb28755ea94a549727aacdf3a2a8 Mon Sep 17 00:00:00 2001 From: Junyi Date: Sun, 19 Jan 2025 16:20:10 +0800 Subject: [PATCH 038/125] refactor(plugin-workflow): adjust canvas style (#6088) * refactor(plugin-workflow): adjust canvas style * fix: adjust end sign height * fix(plugin-workflow-test): fix e2e model * fix(plugin-workflow): fix e2e locator * fix(plugin-workflow): fix e2e locator --- .../src/client/AggregateInstruction.tsx | 2 + .../src/client/DelayInstruction.tsx | 7 ++- .../src/client/DynamicCalculation.tsx | 2 + .../src/client/LoopInstruction.tsx | 8 +-- .../src/client/MailerInstruction.tsx | 3 + .../src/client/instruction/index.tsx | 4 ++ .../src/client/NotificationInstruction.tsx | 2 + .../src/client/ParallelInstruction.tsx | 3 +- .../src/client/RequestInstruction.tsx | 4 +- .../src/client/SQLInstruction.tsx | 2 + .../src/e2e/e2ePageObjectModel.ts | 62 ++++++------------- .../src/client/AddNodeContext.tsx | 8 ++- .../plugin-workflow/src/client/Branch.tsx | 2 +- .../src/client/nodes/calculation.tsx | 4 ++ .../src/client/nodes/condition.tsx | 2 + .../src/client/nodes/create.tsx | 4 ++ .../src/client/nodes/destroy.tsx | 4 ++ .../plugin-workflow/src/client/nodes/end.tsx | 4 ++ .../src/client/nodes/index.tsx | 21 ++++--- .../src/client/nodes/query.tsx | 3 + .../src/client/nodes/update.tsx | 4 +- .../plugin-workflow/src/client/style.tsx | 40 ++++++++++-- .../src/client/triggers/index.tsx | 18 +++--- 23 files changed, 136 insertions(+), 77 deletions(-) diff --git a/packages/plugins/@nocobase/plugin-workflow-aggregate/src/client/AggregateInstruction.tsx b/packages/plugins/@nocobase/plugin-workflow-aggregate/src/client/AggregateInstruction.tsx index 6ab62c34fc..0db525c3a5 100644 --- a/packages/plugins/@nocobase/plugin-workflow-aggregate/src/client/AggregateInstruction.tsx +++ b/packages/plugins/@nocobase/plugin-workflow-aggregate/src/client/AggregateInstruction.tsx @@ -10,6 +10,7 @@ import { useForm } from '@formily/react'; import { Cascader } from 'antd'; import React, { useCallback, useEffect, useState } from 'react'; +import { BarChartOutlined } from '@ant-design/icons'; import { SchemaComponentContext, @@ -169,6 +170,7 @@ export default class extends Instruction { type = 'aggregate'; group = 'collection'; description = `{{t("Counting, summing, finding maximum, minimum, and average values for multiple records of a collection or associated data of a record.", { ns: "${NAMESPACE}" })}}`; + icon = (); fieldset = { aggregator: { type: 'string', diff --git a/packages/plugins/@nocobase/plugin-workflow-delay/src/client/DelayInstruction.tsx b/packages/plugins/@nocobase/plugin-workflow-delay/src/client/DelayInstruction.tsx index 9ffcf50f5f..81935fa347 100644 --- a/packages/plugins/@nocobase/plugin-workflow-delay/src/client/DelayInstruction.tsx +++ b/packages/plugins/@nocobase/plugin-workflow-delay/src/client/DelayInstruction.tsx @@ -9,8 +9,10 @@ import React from 'react'; import { InputNumber, Select } from 'antd'; -import { css, useCompile, usePlugin } from '@nocobase/client'; -import WorkflowPlugin, { Instruction, JOB_STATUS } from '@nocobase/plugin-workflow/client'; +import { HourglassOutlined } from '@ant-design/icons'; + +import { css, useCompile } from '@nocobase/client'; +import { Instruction, JOB_STATUS } from '@nocobase/plugin-workflow/client'; import { NAMESPACE } from '../locale'; @@ -68,6 +70,7 @@ export default class extends Instruction { type = 'delay'; group = 'control'; description = `{{t("Delay a period of time and then continue or exit the process. Can be used to set wait or timeout times in parallel branches.", { ns: "${NAMESPACE}" })}}`; + icon = (); fieldset = { duration: { type: 'number', diff --git a/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/src/client/DynamicCalculation.tsx b/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/src/client/DynamicCalculation.tsx index a5c0dc293f..efd6043827 100644 --- a/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/src/client/DynamicCalculation.tsx +++ b/packages/plugins/@nocobase/plugin-workflow-dynamic-calculation/src/client/DynamicCalculation.tsx @@ -8,6 +8,7 @@ */ import React from 'react'; +import { FunctionOutlined } from '@ant-design/icons'; import { SchemaInitializerItemType, Variable, useCollectionManager_deprecated } from '@nocobase/client'; import { @@ -47,6 +48,7 @@ export default class extends Instruction { type = 'dynamic-calculation'; group = 'calculation'; description = `{{t("Calculate an expression based on a calculation engine and obtain a value as the result. Variables in the upstream nodes can be used in the expression. The expression is dynamic one from an expression collections.", { ns: "${NAMESPACE}" })}}`; + icon = (); fieldset = { expression: { type: 'string', diff --git a/packages/plugins/@nocobase/plugin-workflow-loop/src/client/LoopInstruction.tsx b/packages/plugins/@nocobase/plugin-workflow-loop/src/client/LoopInstruction.tsx index b3e72c902d..c10914cf06 100644 --- a/packages/plugins/@nocobase/plugin-workflow-loop/src/client/LoopInstruction.tsx +++ b/packages/plugins/@nocobase/plugin-workflow-loop/src/client/LoopInstruction.tsx @@ -8,7 +8,7 @@ */ import React, { useCallback } from 'react'; -import { ArrowUpOutlined } from '@ant-design/icons'; +import { ArrowUpOutlined, RollbackOutlined } from '@ant-design/icons'; import { Card, Checkbox } from 'antd'; import { FormLayout, FormItem } from '@formily/antd-v5'; import { useForm } from '@formily/react'; @@ -28,7 +28,6 @@ import { Instruction, RadioWithTooltip, renderEngineReference, - RadioWithTooltipOption, CalculationConfig, useWorkflowVariableOptions, UseVariableOptions, @@ -246,6 +245,7 @@ export default class extends Instruction { type = 'loop'; group = 'control'; description = `{{t("By using a loop node, you can perform the same operation on multiple sets of data. The source of these sets can be either multiple records from a query node or multiple associated records of a single record. Loop node can also be used for iterating a certain number of times or for looping through each character in a string. However, excessive looping may cause performance issues, so use with caution.", { ns: "${NAMESPACE}" })}}`; + icon = (); fieldset = { target: { type: 'string', @@ -381,7 +381,7 @@ export default class extends Instruction { className={cx( styles.branchBlockClass, css` - padding-left: 20em; + padding-left: 16em; `, )} > @@ -389,7 +389,7 @@ export default class extends Instruction {
-
+
diff --git a/packages/plugins/@nocobase/plugin-workflow-mailer/src/client/MailerInstruction.tsx b/packages/plugins/@nocobase/plugin-workflow-mailer/src/client/MailerInstruction.tsx index deccb74dfa..08c148521d 100644 --- a/packages/plugins/@nocobase/plugin-workflow-mailer/src/client/MailerInstruction.tsx +++ b/packages/plugins/@nocobase/plugin-workflow-mailer/src/client/MailerInstruction.tsx @@ -7,6 +7,8 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ +import React from 'react'; +import { MailOutlined } from '@ant-design/icons'; import { ArrayItems } from '@formily/antd-v5'; import { SchemaComponentContext, css } from '@nocobase/client'; @@ -32,6 +34,7 @@ export default class extends Instruction { type = 'mailer'; group = 'extended'; description = `{{t("Send email. You can use the variables in the upstream nodes as receivers, subject and content of the email.", { ns: "${NAMESPACE}" })}}`; + icon = (); fieldset = { provider: { type: 'object', diff --git a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/instruction/index.tsx b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/instruction/index.tsx index b345d54dae..0d0c440eaf 100644 --- a/packages/plugins/@nocobase/plugin-workflow-manual/src/client/instruction/index.tsx +++ b/packages/plugins/@nocobase/plugin-workflow-manual/src/client/instruction/index.tsx @@ -7,6 +7,9 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ +import React from 'react'; +import { SolutionOutlined } from '@ant-design/icons'; + import { SchemaInitializerItemType, useCollectionManager_deprecated, useCompile, usePlugin } from '@nocobase/client'; import { @@ -75,6 +78,7 @@ export default class extends Instruction { type = 'manual'; group = 'manual'; description = `{{t("Could be used for manually submitting data, and determine whether to continue or exit. Workflow will generate a todo item for assigned user when it reaches a manual node, and continue processing after user submits the form.", { ns: "${NAMESPACE}" })}}`; + icon = (); fieldset = { assignees: { type: 'array', diff --git a/packages/plugins/@nocobase/plugin-workflow-notification/src/client/NotificationInstruction.tsx b/packages/plugins/@nocobase/plugin-workflow-notification/src/client/NotificationInstruction.tsx index 1054c394eb..ba1115be95 100644 --- a/packages/plugins/@nocobase/plugin-workflow-notification/src/client/NotificationInstruction.tsx +++ b/packages/plugins/@nocobase/plugin-workflow-notification/src/client/NotificationInstruction.tsx @@ -7,6 +7,7 @@ * For more information, please refer to: https://www.nocobase.com/agreement. */ import React from 'react'; +import { NotificationOutlined } from '@ant-design/icons'; import { Instruction, useWorkflowVariableOptions } from '@nocobase/plugin-workflow/client'; import { MessageConfigForm } from '@nocobase/plugin-notification-manager/client'; @@ -22,6 +23,7 @@ export default class extends Instruction { type = 'notification'; group = 'extended'; description = `{{t("Send notification. You can use the variables in the upstream nodes as content and ohter config.", { ns: "${NAMESPACE}" })}}`; + icon = (); fieldset = { message: { type: 'void', diff --git a/packages/plugins/@nocobase/plugin-workflow-parallel/src/client/ParallelInstruction.tsx b/packages/plugins/@nocobase/plugin-workflow-parallel/src/client/ParallelInstruction.tsx index 13006e1bc2..689ff20c17 100644 --- a/packages/plugins/@nocobase/plugin-workflow-parallel/src/client/ParallelInstruction.tsx +++ b/packages/plugins/@nocobase/plugin-workflow-parallel/src/client/ParallelInstruction.tsx @@ -9,7 +9,7 @@ import React, { useState } from 'react'; import { Button, Tooltip } from 'antd'; -import { PlusOutlined } from '@ant-design/icons'; +import { ApartmentOutlined, PlusOutlined } from '@ant-design/icons'; import { css } from '@nocobase/client'; @@ -30,6 +30,7 @@ export default class extends Instruction { type = 'parallel'; group = 'control'; description = `{{t("Run multiple branch processes in parallel.", { ns: "${NAMESPACE}" })}}`; + icon = (); fieldset = { mode: { type: 'string', diff --git a/packages/plugins/@nocobase/plugin-workflow-request/src/client/RequestInstruction.tsx b/packages/plugins/@nocobase/plugin-workflow-request/src/client/RequestInstruction.tsx index fcacdc3fe0..91703f7129 100644 --- a/packages/plugins/@nocobase/plugin-workflow-request/src/client/RequestInstruction.tsx +++ b/packages/plugins/@nocobase/plugin-workflow-request/src/client/RequestInstruction.tsx @@ -11,7 +11,9 @@ import { onFieldValueChange } from '@formily/core'; import { uid } from '@formily/shared'; import { useForm, useField, useFormEffects } from '@formily/react'; import { ArrayItems } from '@formily/antd-v5'; +import { GlobalOutlined } from '@ant-design/icons'; +import { SchemaComponent, css } from '@nocobase/client'; import { Instruction, WorkflowVariableJSON, @@ -21,7 +23,6 @@ import { } from '@nocobase/plugin-workflow/client'; import { NAMESPACE, useLang } from '../locale'; -import { SchemaComponent, css } from '@nocobase/client'; const BodySchema = { 'application/json': { @@ -155,6 +156,7 @@ export default class extends Instruction { type = 'request'; group = 'extended'; description = `{{t("Send HTTP request to a URL. You can use the variables in the upstream nodes as request headers, parameters and request body.", { ns: "${NAMESPACE}" })}}`; + icon = (); fieldset = { method: { type: 'string', diff --git a/packages/plugins/@nocobase/plugin-workflow-sql/src/client/SQLInstruction.tsx b/packages/plugins/@nocobase/plugin-workflow-sql/src/client/SQLInstruction.tsx index 28762241af..1a90a4904b 100644 --- a/packages/plugins/@nocobase/plugin-workflow-sql/src/client/SQLInstruction.tsx +++ b/packages/plugins/@nocobase/plugin-workflow-sql/src/client/SQLInstruction.tsx @@ -12,6 +12,7 @@ import { DEFAULT_DATA_SOURCE_KEY, css } from '@nocobase/client'; import { Instruction, WorkflowVariableRawTextArea, defaultFieldNames } from '@nocobase/plugin-workflow/client'; import React from 'react'; +import { ConsoleSqlOutlined } from '@ant-design/icons'; import { Trans } from 'react-i18next'; import { NAMESPACE } from '../locale'; @@ -20,6 +21,7 @@ export default class extends Instruction { type = 'sql'; group = 'collection'; description = `{{t("Execute a SQL statement in database.", { ns: "${NAMESPACE}" })}}`; + icon = (); fieldset = { dataSource: { type: 'string', diff --git a/packages/plugins/@nocobase/plugin-workflow-test/src/e2e/e2ePageObjectModel.ts b/packages/plugins/@nocobase/plugin-workflow-test/src/e2e/e2ePageObjectModel.ts index fbb03a7c32..1d43f4ae14 100644 --- a/packages/plugins/@nocobase/plugin-workflow-test/src/e2e/e2ePageObjectModel.ts +++ b/packages/plugins/@nocobase/plugin-workflow-test/src/e2e/e2ePageObjectModel.ts @@ -110,7 +110,7 @@ export class ApprovalTriggerNode { this.page = page; this.node = page.getByLabel(`Trigger-${triggerName}`); this.nodeTitle = page.getByLabel(`Trigger-${triggerName}`).getByRole('textbox'); - this.nodeConfigure = page.getByLabel(`Trigger-${triggerName}`).getByRole('button', { name: 'Configure' }); + this.nodeConfigure = this.node.locator('>div').first(); this.collectionDropDown = page .getByLabel('block-item-DataSourceCollectionCascader-workflows-Collection') .locator('.ant-select-selection-search-input'); @@ -168,9 +168,7 @@ export class ApprovalPassthroughModeNode { this.page = page; this.node = page.getByLabel(`Approval-${nodeName}`, { exact: true }); this.nodeTitle = page.getByLabel(`Approval-${nodeName}`, { exact: true }).getByRole('textbox'); - this.nodeConfigure = page - .getByLabel(`Approval-${nodeName}`, { exact: true }) - .getByRole('button', { name: 'Configure' }); + this.nodeConfigure = this.node.locator('>div').first(); this.addAssigneesButton = page.getByRole('button', { name: 'plus Add assignee' }); this.addSelectAssigneesMenu = page.getByRole('button', { name: 'Select assignees' }); this.addQueryAssigneesMenu = page.getByRole('button', { name: 'Query assignees' }); @@ -241,9 +239,7 @@ export class ApprovalBranchModeNode { this.page = page; this.node = page.getByLabel(`Approval-${nodeName}`, { exact: true }); this.nodeTitle = page.getByLabel(`Approval-${nodeName}`, { exact: true }).getByRole('textbox'); - this.nodeConfigure = page - .getByLabel(`Approval-${nodeName}`, { exact: true }) - .getByRole('button', { name: 'Configure' }); + this.nodeConfigure = this.node.locator('>div').first(); this.addAssigneesButton = page.getByRole('button', { name: 'plus Add assignee' }); this.addSelectAssigneesMenu = page.getByRole('button', { name: 'Select assignees' }); this.addQueryAssigneesMenu = page.getByRole('button', { name: 'Query assignees' }); @@ -298,9 +294,9 @@ export class ScheduleTriggerNode { addNodeButton: Locator; constructor(page: Page, triggerName: string, collectionName: string) { this.page = page; - this.node = page.getByText('TriggeraConfigure'); + this.node = page.getByLabel(`Trigger-${triggerName}`); this.nodeTitle = page.locator('textarea').filter({ hasText: triggerName }); - this.nodeConfigure = page.getByRole('button', { name: 'Configure' }); + this.nodeConfigure = this.node.locator('>div').first(); this.customTimeTriggerOptions = page.getByLabel('Based on certain date'); this.startTimeEntryBox = page.getByPlaceholder('Select date'); this.RrpeatModeDropdown = page.getByLabel('block-item-RepeatField-workflows-Repeat mode'); @@ -330,7 +326,7 @@ export class CollectionTriggerNode { this.page = page; this.node = page.getByLabel(`Trigger-${triggerName}`); this.nodeTitle = page.getByLabel(`Trigger-${triggerName}`).getByRole('textbox'); - this.nodeConfigure = page.getByLabel(`Trigger-${triggerName}`).getByRole('button', { name: 'Configure' }); + this.nodeConfigure = this.node.locator('>div').first(); // this.collectionDropDown = page.getByRole('button', { name: 'Select collection' }); this.collectionDropDown = page .getByLabel('block-item-DataSourceCollectionCascader-workflows-Collection') @@ -358,7 +354,7 @@ export class FormEventTriggerNode { this.page = page; this.node = page.getByLabel(`Trigger-${triggerName}`); this.nodeTitle = page.getByLabel(`Trigger-${triggerName}`).getByRole('textbox'); - this.nodeConfigure = page.getByLabel(`Trigger-${triggerName}`).getByRole('button', { name: 'Configure' }); + this.nodeConfigure = this.node.locator('>div').first(); this.collectionDropDown = page .getByLabel('block-item-DataSourceCollectionCascader-workflows-Collection') .locator('.ant-select-selection-search-input'); @@ -383,7 +379,7 @@ export class CustomActionEventTriggerNode { this.page = page; this.node = page.getByLabel(`Trigger-${triggerName}`); this.nodeTitle = page.getByLabel(`Trigger-${triggerName}`).getByRole('textbox'); - this.nodeConfigure = page.getByLabel(`Trigger-${triggerName}`).getByRole('button', { name: 'Configure' }); + this.nodeConfigure = this.node.locator('>div').first(); this.collectionDropDown = page .getByLabel('block-item-DataSourceCollectionCascader-workflows-Collection') .locator('.ant-select-selection-search-input'); @@ -408,9 +404,7 @@ export class CalculationNode { this.page = page; this.node = page.getByLabel(`Calculation-${nodeName}`, { exact: true }); this.nodeTitle = page.getByLabel(`Calculation-${nodeName}`, { exact: true }).getByRole('textbox'); - this.nodeConfigure = page - .getByLabel(`Calculation-${nodeName}`, { exact: true }) - .getByRole('button', { name: 'Configure' }); + this.nodeConfigure = this.node.locator('>div').first(); this.mathCalculationEngine = page.getByLabel('Math.js'); this.formulaCalculationEngine = page.getByLabel('Formula.js'); this.calculationExpression = page.getByLabel('textbox'); @@ -441,9 +435,7 @@ export class QueryRecordNode { this.page = page; this.node = page.getByLabel(`Query record-${nodeName}`, { exact: true }); this.nodeTitle = page.getByLabel(`Query record-${nodeName}`, { exact: true }).getByRole('textbox'); - this.nodeConfigure = page - .getByLabel(`Query record-${nodeName}`, { exact: true }) - .getByRole('button', { name: 'Configure' }); + this.nodeConfigure = this.node.locator('>div').first(); this.collectionDropDown = page .getByLabel('block-item-DataSourceCollectionCascader-workflows-Collection') .locator('.ant-select-selection-search-input'); @@ -475,9 +467,7 @@ export class CreateRecordNode { this.page = page; this.node = page.getByLabel(`Create record-${nodeName}`, { exact: true }); this.nodeTitle = page.getByLabel(`Create record-${nodeName}`, { exact: true }).getByRole('textbox'); - this.nodeConfigure = page - .getByLabel(`Create record-${nodeName}`, { exact: true }) - .getByRole('button', { name: 'Configure' }); + this.nodeConfigure = this.node.locator('>div').first(); this.collectionDropDown = page .getByLabel('block-item-DataSourceCollectionCascader-workflows-Collection') .locator('.ant-select-selection-search-input'); @@ -504,9 +494,7 @@ export class UpdateRecordNode { this.page = page; this.node = page.getByLabel(`Update record-${nodeName}`, { exact: true }); this.nodeTitle = page.getByLabel(`Update record-${nodeName}`, { exact: true }).getByRole('textbox'); - this.nodeConfigure = page - .getByLabel(`Update record-${nodeName}`, { exact: true }) - .getByRole('button', { name: 'Configure' }); + this.nodeConfigure = this.node.locator('>div').first(); this.collectionDropDown = page .getByLabel('block-item-DataSourceCollectionCascader-workflows-Collection') .locator('.ant-select-selection-search-input'); @@ -536,9 +524,7 @@ export class DeleteRecordNode { this.page = page; this.node = page.getByLabel(`Delete record-${nodeName}`, { exact: true }); this.nodeTitle = page.getByLabel(`Delete record-${nodeName}`, { exact: true }).getByRole('textbox'); - this.nodeConfigure = page - .getByLabel(`Delete record-${nodeName}`, { exact: true }) - .getByRole('button', { name: 'Configure' }); + this.nodeConfigure = this.node.locator('>div').first(); this.collectionDropDown = page .getByLabel('block-item-DataSourceCollectionCascader-workflows-Collection') .locator('.ant-select-selection-search-input'); @@ -570,9 +556,7 @@ export class AggregateNode { this.page = page; this.node = page.getByLabel(`Aggregate-${nodeName}`, { exact: true }); this.nodeTitle = page.getByLabel(`Aggregate-${nodeName}`, { exact: true }).getByRole('textbox'); - this.nodeConfigure = page - .getByLabel(`Aggregate-${nodeName}`, { exact: true }) - .getByRole('button', { name: 'Configure' }); + this.nodeConfigure = this.node.locator('>div').first(); this.countRadio = page.getByLabel('COUNT'); this.sumRadio = page.getByLabel('SUM', { exact: true }); this.avgRadio = page.getByLabel('AVG', { exact: true }); @@ -615,9 +599,7 @@ export class ManualNode { this.page = page; this.node = page.getByLabel(`Manual-${nodeName}`, { exact: true }); this.nodeTitle = page.getByLabel(`Manual-${nodeName}`, { exact: true }).getByRole('textbox'); - this.nodeConfigure = page - .getByLabel(`Manual-${nodeName}`, { exact: true }) - .getByRole('button', { name: 'Configure' }); + this.nodeConfigure = this.node.locator('>div').first(); this.assigneesDropDown = page.getByTestId('select-single'); this.configureUserInterfaceButton = page.getByRole('button', { name: 'Configure user interface' }); this.addBlockButton = page.getByLabel( @@ -650,9 +632,7 @@ export class ConditionYesNode { this.page = page; this.node = page.getByLabel(`Condition-${nodeName}`, { exact: true }); this.nodeTitle = page.getByLabel(`Condition-${nodeName}`, { exact: true }).getByRole('textbox'); - this.nodeConfigure = page - .getByLabel(`Condition-${nodeName}`, { exact: true }) - .getByRole('button', { name: 'Configure' }); + this.nodeConfigure = this.node.locator('>div').first(); this.conditionExpressionEditBox = page.getByLabel('textbox'); // await page.getByLabel('variable-constant').first().click(); // await page.getByLabel('variable-button').first().click(); @@ -687,9 +667,7 @@ export class ConditionBranchNode { this.page = page; this.node = page.getByLabel(`Condition-${nodeName}`, { exact: true }); this.nodeTitle = page.getByLabel(`Condition-${nodeName}`, { exact: true }).getByRole('textbox'); - this.nodeConfigure = page - .getByLabel(`Condition-${nodeName}`, { exact: true }) - .getByRole('button', { name: 'Configure' }); + this.nodeConfigure = this.node.locator('>div').first(); this.conditionExpressionEditBox = page.getByLabel('textbox'); this.submitButton = page.getByLabel('action-Action-Submit-workflows'); this.cancelButton = page.getByLabel('action-Action-Cancel-workflows'); @@ -715,9 +693,7 @@ export class SQLNode { this.page = page; this.node = page.getByLabel(`SQL action-${nodeName}`, { exact: true }); this.nodeTitle = page.getByLabel(`SQL action-${nodeName}`, { exact: true }).getByRole('textbox'); - this.nodeConfigure = page - .getByLabel(`SQL action-${nodeName}`, { exact: true }) - .getByRole('button', { name: 'Configure' }); + this.nodeConfigure = this.node.locator('>div').first(); this.sqlEditBox = page.getByLabel('block-item-WorkflowVariableRawTextArea-workflows-SQL').getByRole('textbox'); this.submitButton = page.getByLabel('action-Action-Submit-workflows'); this.cancelButton = page.getByLabel('action-Action-Cancel-workflows'); @@ -741,7 +717,7 @@ export class ParallelBranchNode { this.page = page; this.node = page.getByLabel(`Parallel branch-${nodeName}`, { exact: true }); this.nodeTitle = page.locator('textarea').filter({ hasText: nodeName }); - this.nodeConfigure = page.getByLabel(`Parallel branch-${nodeName}`).getByRole('button', { name: 'Configure' }); + this.nodeConfigure = this.node.locator('>div').first(); this.addBranchButton = page.getByLabel(`add-button-parallel-${nodeName}-add-branch`, { exact: true }); this.allSucceededRadio = page.getByLabel('All succeeded', { exact: true }); this.anySucceededRadio = page.getByLabel('Any succeeded', { exact: true }); diff --git a/packages/plugins/@nocobase/plugin-workflow/src/client/AddNodeContext.tsx b/packages/plugins/@nocobase/plugin-workflow/src/client/AddNodeContext.tsx index 4d418e3e24..798fbbc300 100644 --- a/packages/plugins/@nocobase/plugin-workflow/src/client/AddNodeContext.tsx +++ b/packages/plugins/@nocobase/plugin-workflow/src/client/AddNodeContext.tsx @@ -14,6 +14,7 @@ import { observer, useForm } from '@formily/react'; import { ActionContextProvider, css, + cx, SchemaComponent, useActionContext, useAPIClient, @@ -68,6 +69,7 @@ export function AddButton(props: AddButtonProps) { 'aria-label': item.type, key: item.type, label: item.title, + icon: item.icon, })), }; }) @@ -89,7 +91,7 @@ export function AddButton(props: AddButtonProps) { } return ( -
+