chenos
83bf8ea3bb
chore(versions): 😊 publish v0.10.0-alpha.3
2023-06-25 14:04:19 +08:00
chenos
0b06e2cd69
chore(versions): 😊 publish v0.10.0-alpha.2
2023-06-20 11:51:16 +08:00
jack zhang
d76e8fb87f
refactor: upgrade umi
, react
and react-router-dom
( #1921 )
...
* refactor: update umi version 3.x to version 4.x
* refactor: update react-router-dom version to 6.x
* refactor(react-router-dom): change Layout Component `props.children` to `<Outlet />`
* refactor(react-router-dom): change <Route /> props and <RouteSwitch /> correct
* refactor(react-router-dom): replace `<Redirect />` to `<Navigate replace />`
* refactor(react-router-dom): replace `useHistory` to `useNavigate`
* refactor(react-router-dom): replace `useRouteMatch` to `useParams`
* refactor(react-router-dom & dumi): fix <RouteSwitch /> & umi document bug
* refactor(react-router-dom): `useRoutes` Optimize `<RouteSwitch />` code
* refactor(react-router-dom): update `Route` types and docs
* refactor(react-router-dom): optimize RouteSwitch code
* refactor(react-router-dom): `useLocation` no generics type
* refactor(react-router-dom): add `less v3.9.0` to `resolutions` to solve the error of `gulp-less`
* refactor(react-router-dom): fix `<RouteSwitch />` `props.routes` as an array is not handled
* chore: upgrade `dumi` and refactor docs
* fix: completed code review, add `targets` to solve browser compatibility & removed `chainWebpack`
* refactor(dumi): upgraded dumi under `packages/core/client`
* refactor(dumi): delete `packages/core/dumi-theme-nocobase`
* refactor(dumi): degrade `react` & replace `dumi-theme-antd` to `dumi-theme-nocobase`
* refactor(dumi): solve conflicts between multiple dumi applications
* fix: login page error in react 17
* refactor(dumi): remove less resolutions
* refactor(dumi): umi add `msfu: true` config
* fix: merge bug
* fix: self code review
* fix: code reivew and test bug
* refactor: upgrade react to 18
* refactor: degrade react types to 17
* chore: fix ci error
* fix: support routerBase & fix workflow page params
* fix(doc): menu externel link
* fix: build error
* fix: delete
* fix: vitest error
* fix: react-router new code replace
* fix: vitest markdown error
* fix: title is none when refresh
* fix: merge error
* fix: sidebar width is wrong
* fix: useProps error
* fix: side-menu-width
* fix: menu selectId is wrong & useProps is string
* fix: menu selected first default & side menu hide when change
* fix: test error & v0.10 change log
* fix: new compnent doc modify
* fix: set umi `fastRefresh=false`
* refactor: application v2
* fix: improve code
* fix: bug
* fix: page = 0 error
* fix: workflow navigate error
* feat: plugin manager
* fix: afterAdd
* feat: update docs
* feat: update docs
* fix: page tab change not work
* fix: login redirect query param doesn't work
* fix: bug and doc
* feat: update docs
* fix: ci error
* fix: merge main
* feat: update docs
* feat: update docs
* feat: update docs
* chore(versions): 😊 publish v0.10.0-alpha.1
* fix: translations
* chore: backend node test max old space size
* docs: add useSearchParams
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: ChengLei Shao <chareice@live.com>
2023-06-20 11:48:02 +08:00
chenos
106f9d90f5
fix(file-manager): only allow logged-in users to upload files
2023-06-17 21:53:49 +08:00
被雨水过滤的空气-Rairn
58840e5fab
refactor(PluginManager): remove useless code ( #2022 )
...
* refactor(PluginManager): remove useless code
* chore: fix build error
2023-06-14 09:35:09 +08:00
Dunqing
69bbfee67a
feat: use ActionContextProvider
instated of ActionContext.Provider
( #2019 )
2023-06-09 13:05:05 +08:00
Junyi
0c150eaf9b
feat(plugin-fm): add option for storage to remove file physically or not ( #2005 )
...
* feat(plugin-fm): add server side destroy action for removing files of attachments
* feat(plugin-fm): add client option for storage
2023-06-07 05:44:16 -07:00
chenos
e6a2a292b3
feat: upgrade formily ( #1880 )
...
* feat: upgrade formily
* fix: upgrade @formily/json-schema
* fix: optimizing performance
* fix: performance code
* refactor: `React.memo` and `observer` component add `displayName` property
* fix: add cache to Schema.compile
* feat: 优化代码
* fix: 修复卡顿最终的问题
* Update SchemaComponentProvider.tsx
* feat: 再次优化代码
* feat: optimized code
---------
Co-authored-by: dream2023 <1098626505@qq.com>
2023-06-06 19:33:04 +08:00
Junyi
36d16bc015
refactor(plugin-fm): change api and allow to select storage ( #1250 )
...
* refactor(plugin-fm): change api and allow to select storage
* fix(plugin-fm): fix lint errors and demo actions
* refactor(plugin-fm): refactor action codes
* fix(plugin-fm): fix api in test
* fix(plugin-fm): fix build
* fix(plugin-fm): fix locale
* refactor(plugin-fm): hide storage from api and use sourceField param
* fix(plugin-fm): fix storage select load
* fix: improve code
* fix(plugin-fm): change to attachmentField
* refactor(plugin-fm): change middleware name
* fix(plugin-fm): fix params in test cases
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-06-06 19:30:42 +08:00
lincode
4296db5859
feat(plugin-manager): better plugin manager experience ( #1927 )
2023-05-29 11:06:54 +08:00
chenos
d7f21460c6
chore(versions): 😊 publish v0.9.4-alpha.2
2023-05-26 17:05:46 +08:00
chenos
9c94840c6b
chore(versions): 😊 publish v0.9.4-alpha.1
2023-05-25 22:48:39 +08:00
chenos
cf0a921f85
chore(versions): 😊 publish v0.9.3-alpha.1
2023-05-11 12:49:18 +08:00
chenos
923f6e7884
chore(versions): 😊 publish v0.9.2-alpha.4
2023-04-26 22:33:55 +08:00
chenos
9756dd134b
chore(versions): 😊 publish v0.9.2-alpha.3
2023-04-25 13:15:40 +08:00
chenos
883f1e6fd1
fix: eslint ( #1759 )
...
* fix: eslint
* fix: eslint --fix
* fix: changelog
2023-04-25 13:12:14 +08:00
chenos
3dfd5a1f7a
chore(versions): 😊 publish v0.9.2-alpha.2
2023-04-19 13:10:55 +08:00
被雨水过滤的空气-Rairn
2050eb5317
feat: optimize file collection ( #1666 )
...
* feat(Upload.DraggerV2): add loading
* feat: auto close on uploading over
* feat: auto selected when upload is complete
* feat: filter selected options
* feat: add quick-upload and select-file
* fix: should not appear on readPretty mode
* fix: radio
* fix: compatible with older version
* feat: improving the interaction of radio selections
* fix: show two butons by default
2023-04-09 16:46:53 +08:00
被雨水过滤的空气-Rairn
c1057ad52b
fix: fix the 'Add menu item' button disappears ( #1655 )
2023-04-06 16:10:38 +08:00
被雨水过滤的空气-Rairn
53d0c2dd23
feat: support file collection ( #1636 )
...
* feat: support to add File collection
* feat: support to upload files
* refactor: rename 'ReadPretty.Attachment' to 'ReadPretty.File'
* feat: support to associate the File collection
* refactor: add Preview and replace Upload.Selector
* fix(Preview): fix some problems in ReadPretty mode
* feat: use 'preview' as a default title field
* feat: support only local storage now
* fix: should not show 'Add new' button
* chore: add default value for file storage
* fix: fix preview field of file collection cannot be displayed normally
* fix: only Table and Details can display File collection
* chore: translate
* refactor: migration to plugin from core
* refactor: change 'preview' to 'url'
* fix: only 'belongsTo' and 'belongsToMany' can linked file collection
* fix: fix storage and add a field called storage in file collection
* feat: add 'deletable' to configure the visibility of the delete button
* fix: fix can't upload attachment problem
* fix: remove more option
* fix: can't use preview to filter
* fix: remove Import action option
* refactor: remove useless code
* chore: optimize condition
* chore: remove comment
* test: windows compatible
* refactor: optimize upload
* fix: upload action
* fix: createAction
* fix: uploads
* fix: file collection cannot be inherited by other collections
* fix: url should be editable
* fix: url is filterable
* fix: use input interface for url field
* fix: fix error
* fix: remove subform
* Revert "chore: translate"
This reverts commit 53cd346dab
.
* refactor: move translation to plugin
* fix: title is editable
* fix: collection?.template === 'file'
* fix: fix order of URL
* fix(collection-manager): allow collectionCategories:list
* chore: add translation
* fix(upload): should enable to use drawer
* refactor: move code to plugin
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-04-06 12:43:40 +08:00
chenos
50183b065d
fix(file-manager): upgrade s3 version
2023-03-21 15:01:02 +08:00
anuoua
7313307210
feat: record picker support to enable links ( #1515 )
...
* feat: link-tag-switch
* feat(link-tag-switch): add interface
* feat(link-tag-switch): i18n fix
* feat(link-tag-switch): fix link enable
* feat(link-tag-switch): cr fix
* fix: error
* fix: skip test
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-03-12 17:16:17 +08:00
ChengLei Shao
0832a56868
feat: multiple apps ( #1540 )
...
* chore: skip yarn install in pm command
* feat: dump sub app by sub app name
* feat: dump & restore by sub app
* chore: enable application name to edit
* chore: field belongsTo uiSchema
* test: drop schema
* feat: uiSchema migrator
* fix: test
* fix: remove uiSchema
* fix: rerun migration
* chore: migrate fieldsHistory uiSchema
* fix: set uiSchema options
* chore: transaction params
* fix: sql error in mysql
* fix: sql compatibility
* feat: collection group api
* chore: restore & dump action template
* chore: tmp commit
* chore: collectionGroupAction
* feat: dumpableCollection api
* refactor: dump command
* fix: remove uiSchemaUid
* chore: get uiSchemaUid from tmp field
* feat: return dumped file url in dumper.dump
* feat: dump api
* refactor: collection groyoup
* chore: comment
* feat: restore command force option
* feat: dump with collection groups
* refactor: restore command
* feat: restore http api
* fix: test
* fix: test
* fix: restore test
* chore: volta pin
* fix: sub app load collection options
* fix: stop sub app
* feat: add stopped status to application to prevent duplicate application stop
* chore: tmp commit
* test: upgrade
* feat: pass upgrade event to sub app
* fix: app manager client
* fix: remove stopped status
* fix: emit beforeStop event
* feat: support dump & restore subApp through api
* chore: dumpable collections api
* refactor: getTableNameWithSchema
* fix: schema name
* feat: cname
* refactor: collection 同步实现方式
* refactor: move collection group manager to database
* fix: test
* fix: remove uiSchema
* fix: uiSchema
* fix: remove settings
* chore: plugin enable & disable event
* feat: modal warning
* fix: users_jobs namespace
* fix: rolesUischemas namespace
* fix: am snippet
* feat: beforeSubAppInstall event
* fix: improve NOCOBASE_LOCALE_KEY & NOCOBASE_ROLE_KEY
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-03-10 19:16:00 +08:00
chenos
bc5156d458
chore(versions): 😊 publish v0.9.1-alpha.2
2023-03-09 12:45:30 +08:00
chenos
a463c3d747
fix: schema name conflicts
2023-03-06 16:51:01 +08:00
chenos
946c8f25a3
chore(versions): 😊 publish v0.9.1-alpha.1
2023-03-03 09:34:06 +08:00
ChengLei Shao
0e0eb6432e
feat: provide the underscored option for the database ( #1366 )
...
* feat: underscored options
* feat: underscored using hook
* feat: database underscored options
* feat: underscored env
* fix: collectionExistsInDb
* fix: test
* fix: nocobase install
* fix: test
* fix: belongsTo association
* fix: test of underscored
* chore: console.log
* fix: list action test
* fix: dump test
* chore: snakeCase algo
* fix: underscored field create
* fix: underscored env
* fix(acl): custom appends merge strategy (#1416 )
* Update index.md
* fix(plugin-workflow): use promise to request (#1426 )
* Update index.md
* Update collection.md
* Update index.md
* Update index.md
* Update collection.md
* Update field.md
* Update repository.md
* Update has-one-repository.md
* Update has-many-repository.md
* Update belongs-to-many-repository.md
* Update index.md
* chore: translate 'Add tab' in page header (#1424 )
* fix: test
* fix: workflow test
* fix: underscored with inherits
* fix: underscored test
* fix: process.env.DB_UNDERSCORED
* fix: process.env.DB_UNDERSCORED === 'true'
* fix: test
* fix: pg test
* fix: underscored table name
* feat: tableName & fieldName conflict check
* fix: test
* fix: underscored index
* fix: update field unique index
* fix: sync default value
* fix: collection manager create field
* chore: field sync
* fix: pg test
* chore: test
* fix: test
* chore: default constraint name
* chore: syncUniqueIndex
* feat: field destory before check
* feat: field type check
* fix: test
* fix: test
* fix: improve
* fix: should destroy when fields refer to the same field
* fix: acl meta with underscored
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-02-13 21:38:47 +08:00
chenos
e5e503fe87
feat: add namespace and duplicator parameters for collection options ( #1449 )
...
* feat: add namespace and duplicator parameters for collection options
* fix: duplicator:getDict
2023-02-13 09:57:03 +08:00
chenos
68511f05bc
docs: add plug-in documentation
2023-02-11 00:09:39 +08:00
Junyi
2b7f138491
fix(plugin-fm): fix path config for storages ( #1445 )
2023-02-09 22:40:26 +08:00
chenos
daa91e95a6
chore(versions): 😊 publish v0.9.0-alpha.2
2023-01-14 12:07:20 +08:00
chenos
c5238f5643
feat: update dependencies ( #1353 )
...
* feat: update dependencies
* fix: import error
2023-01-12 10:12:37 +08:00
chenos
013f0916a5
chore(versions): 😊 publish v0.9.0-alpha.1
2023-01-11 12:08:24 +08:00
chenos
8d30bee757
feat: change license ( #1350 )
2023-01-11 11:58:47 +08:00
ChengLei Shao
a614bc7de8
feat: acl optimization ( #1136 )
...
* fix: sort field with table dose not have primary key
* feat: fixed params merger
* chore(plugins/acl): fixed params
* chore(plugins/acl): allowConfigure of collections
* chore(plugins/china-region): disable actions other than list
* chore(plugins/collection-manager): allowConfigure permission
* chore(plugins/file-manager): acl fixed params
* chore: acl fixed params
* chore: rolesResourcesScopes onDelete cascade
* fix: install error
* chore: test
* fix: root user fixed params
* fix: role resource scope onDelete
* chore: test
* chore: test
* fix: acl
* chore: disable index.html cache
* chore: disable index.html cache
* test: destory user role
* test: destory throught table
* fix: test
* fix: test
* chore: add rolesUsers to fixed params
* feat: permission logging
* feat: permission logging
* fix: test
* fix: test
* chore: disable grant target action
* fix: appends with fields
* fix: get action params
* fix: associationActions
* chore: change AssociationField using relation type
* chore: typo
* refactor: allow to skip
* fix: prettier
* chore: attachments association action
* fix: allowConfigure condition
* fix: deprecated allow
* fix: please use skip instead
* feat: table column aclcheck
* chore: test
* feat: throw error when detory no permission record
* chore: test
* chore: acl test
* feat: field acl
* chore: after action middleware
* fix: destory permission check
* chore: middleware use
* fix: test
* feat: filter match
* feat: subform/subtable field acl check
* feat: action permision by scope
* feat: action permision by scope
* feat: list action with allowedActions
* chore: all allowed action
* fix: pk error
* fix: merge error
* fix: create query sql
* fix: skip permission
* fix: scope with association field
* feat: action acl fix
* feat: action acl fix
* fix: update submodule
* Feat: setting center permission (#1214 )
* feat: add setting center permissions
* feat: setting center permissions backlist
* feat: setting center permissions BLACKLIST
* feat: setting center permissions blacklist
* feat: setting center permissions blacklist
* feat: setting center permission
* feat: configure plugin tab expand
Co-authored-by: chenos <chenlinxh@gmail.com>
* Feat :field acl (#1211 )
Co-authored-by: chenos <chenlinxh@gmail.com>
* fix: build error
* test: acl snippet
* feat: set field
* fix: test
* fix: build error
* fix: utils Dependency cycles
* feat: general permissions
* feat: delete pluginTabBlacklist
* fix: test
* feat: snippetManager allow method
* feat: acl role snippetAllowed method
* feat: array field repository
* feat: ArrayFieldRepository
* fix: test
* fix: ci
* fix: ci error
* fix: add set parse
* test: array field repository
* chore: addSnippetPatten
* fix: start
* feat: sync role snippets
* feat: snippets check
* feat: snippets check
* chore: acl role snippet api
* fix: test
* fix: test
* refactor: acl role snippets
* chore: registerACLSettingSnippet
* chore: default snippets
* feat: snippets match
* feat: snippets check
* feat: snippets check
* feat: pm permision check
* feat: pm permision check
* feat: snippet pattern match
* feat: pluginManagerToolbar check
* feat: pluginManagerToolbar check
* chore: snippets default value
* feat: set role snippets migration
* chore: snippets
* feat: acl local
* feat: acl local
* feat: bookmask fix
* feat: plugin-manger & ui-editor snippet
* feat: set allowConfigure to false when upgrade to snippets
* feat: destory action acl fix
* feat: destory action acl fix
* fix: association resource params merge
* fix: ui editor snippet
* feat: action acl fix
* chore: move list meta middleware into plugins/acl
* fix: test
* feat: action acl fix
* feat: action acl check fix
* feat: plugins toolbar fix
* feat: gitmodules
* fix: subproject
* chore: add avaiableActions to snippet
* chore: change plugin-manager snippet
* feat: configure action acl fix
* feat: plugin tab acl check fix
* chore: roles snippets
* fix: add actions to snippet
* feat: allowconfigure fix
* fix: count with filterBy
* fix: build error
* feat: get action with allowedActions
* feat: acl route check fix
* feat: aclActionProvider fix
* feat: actionscpe fix
* feat: actionname alias
* feat: setting center fix
* feat: acl provider fix
* fix: role collection
* feat: associate resource acl
* feat: associate resource acl
* feat: redirect to 403
* feat: route redirct
* feat: acl scope check by record
* fix: fields appends fix
* fix: fields appends fix
* fix: fields appends fix
* fix: allowedActions fix
* fix: menu items
* fix: rename
* fix: improve code
* fix: improve code
* fix: improve code
* fix: ctx?.data?.data
* fix: styling
* fix: allowAll after ignore scope
* chore: allowConfigure condition
* fix: collections.fields:*
* fix: acl test
* fix: update submodule
* fix: acl test
* fix: acl snippet
* fix: updates
* fix: only load history for logged-in users
* fix: this.app.acl.registerSnippet
* fix: downloadXlsxTemplate
* fix: 404
* feat: allowedAction in association list response
* fix: listData get
* fix: test
* fix: x-collection-field
* fix: update record error
* fix: calendar template
* test: allow manager
* fix: fetch action step
* fix: update submodule
* fix: refresh
* fix: refresh
* fix: rolesResourcesScopes
* test: snippets
* fix: snippets
* fix: test
* fix: omit filter.createdById
* fix: improve code
* fix: collections path
* fix: test error
* fix: upgrade error
* fix: errors
* fix: read allowed actions error
* fix: kanban error
* fix: error
Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: katherinehhh <katherine_15995@163.com>
2023-01-09 07:35:48 +08:00
ChengLei Shao
6b0ed79f51
feat: duplicator plugin ( #1265 )
...
* chore: dump plugin
* chore: rename plugin
* chore: add duplicator into preset
* chore: tmp commit
* feat: restore & dump action
* feat: collection dump & restore
* feat: collection dump & restore
* fix: dump with json type
* fix: dump uischema
* chore: tmp commit
* chore: tmp commit
* feat: restore custom collections
* chore: code
* fix: build
* chore: tmp commit
* fix: pm.generateClientFile
* feat: dump with user plugins
* feat: restore ignore collection
* feat: ignore user with rolesUsers
* chore: client plugins
* refactor: restore insert sql
* chore: code format
* feat: restore with sequelize insert query
* fix: restore json field
* fix: json restore
* refactor: dumper
* refactor: restorer
* chore: dump file name
* chore: dump file name
* chore: dump message
* fix: restore with jsonb fields
* feat: field data writer
* chore: code
* feat: collection group manager
* feat: duplicator client
* feat: duplicator panel
* chore: disable duplicator ui
* feat: dump with inquirer
* chore: dumper
* chore: collection group manager
* feat: restore with inquirer
* chore: comment
* chore: inquirer page size
* feat: warning before restore
* feat: sync postgres sequence id after import collection
* chore: restore checked
* feat: dump with through table
* feat: restore with through table
* feat: restore with sequence field
* chore: graph collection manager collection group
* fix: dump with no column tables
* fix: dump empty table
* fix: force remove workdir
* chore: disable throw error when sync empty table
* feat: support map field restore
* fix: restore from pg dumped file
* fix: dump with logic field
* chore: console.log
* chore: collection group
* chore: handle import collection error
* fix: dump migrations table
* feat: display custom collection title
* fix: restore collection title display
* fix: dump iframe html
* fix: dump with postgres inhertitance
* fix: dump sql
* chore: export snapshot field
* fix: import with sequences
* fix: import sequences
* fix: storage
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-01-08 12:45:02 +08:00
chenos
d062c8fd99
chore(versions): 😊 publish v0.8.1-alpha.4 ( #1331 )
2023-01-05 23:22:18 +08:00
chenos
4ecd2ee40d
chore(versions): 😊 publish v0.8.1-alpha.2
2023-01-05 18:29:47 +08:00
Junyi
0d732d214c
fix(plugin-fm): fix local storage config and skip empty base url ( #1294 )
2022-12-28 07:18:14 -08:00
Junyi
9e9688fa5b
fix(plugin-fm): drawer form values ( #1259 )
2022-12-17 15:41:38 +08:00
Junyi
41f8e6a285
fix(plugin-file-manager): fix local serve middleware ( #1226 )
2022-12-09 18:15:42 -08:00
Junyi
7b5277fb2a
Feat: plugin verification config ( #1129 )
...
* feat(plugin-verification): add client config
* feat(plugin-verification): add config ui
* fix(plugin-verification): fix schema
* refactor(plugin-verification): add default for verification providers
* fix(plugin-users): fix initVerification in lifecycle
* fix(plugin-users): fix initVerification in lifecycle
* fix(plugin-verification): fix locale and default provider
* fix(plugin-verification): fix test case
* fix(plugin-verification): fix locale
2022-11-28 00:41:58 -08:00
chenos
dcee3dd94a
chore(versions): 😊 publish v0.8.0-alpha.13
2022-11-04 21:23:02 +08:00
chenos
642e04490d
chore(versions): 😊 publish v0.8.0-alpha.9
2022-11-02 22:27:03 +08:00
chenos
d5680f80d7
chore(versions): 😊 publish v0.8.0-alpha.8
2022-11-01 18:34:12 +08:00
chenos
85ead5375a
chore(versions): 😊 publish v0.8.0-alpha.7 ( #1002 )
2022-11-01 17:29:49 +08:00
chenos
3453f46997
chore(versions): 😊 publish v0.8.0-alpha.5
2022-11-01 00:50:00 +08:00
ChengLei Shao
9f5f2d6028
feat: reference check ( #989 )
...
* chore: test
* chore: test
* chore: test code
* feat: on delete restrict
* feat: on delete cascade
* feat: on delete set null
* feat: reference unbind
* fix: test
* fix: acl test
* fix: test on Windows
* fix: database recreate
* fix: application reload
* fix: multi-app-manager test
* fix: test
* feat: ondelete
* fix: hasOne field onDelete
Co-authored-by: chenos <chenlinxh@gmail.com>
2022-10-31 22:45:39 +08:00
Dunqing
8905e3c211
feat(file-manager): support tencent cos ( #958 )
...
* feat: support tencent cos
* feat: normalize
* chore: update env example
* test: add cos
* Revert "feat: normalize"
This reverts commit 371880013c
.
* feat: normalize
* feat: tengxun to tencent
* chore: fix missing deps
* fix: locale
* fix: locale cos
2022-10-27 14:09:29 +08:00
chenos
ace6232787
feat: file storage settings
2022-10-27 14:04:04 +08:00