chenos
cf9ccfe4f9
chore(versions): 😊 publish v0.17.0-alpha.4
2023-12-12 14:10:36 +08:00
chenos
eef101c177
chore(versions): 😊 publish v0.17.0-alpha.3
2023-12-06 17:19:35 +08:00
chenos
36fd4881b2
chore(versions): 😊 publish v0.17.0-alpha.2
2023-12-06 13:20:48 +08:00
chenos
1757a96b51
chore(versions): 😊 publish v0.17.0-alpha.1
2023-12-04 14:58:09 +08:00
jack zhang
bf1a19426a
refactor: new schema initializer and schema settings ( #2802 )
...
* fix: form
* refactor: schema-initializer
* fix: bug
* refactor: schema initializer
* refactor: rename
* fix: delete SchemaInitializerProvider
* refactor: props `insert` to hooks `useSchemaInitializerV2`
* fix: bug
* refactor: delete `SchemaInitializer.Button`
* refactor: delete old SchemaInitializer
* fix: bug
* fix: workflow
* fix: docs
* fix: bug
* fix: bug
* feat: style
* fix: remove v2
* fix: visible
* fix: bug
* fix: item hook
* feat: item hook
* fix: add search DataBlockInitializer
* fix: build bug
* fix: style bug
* fix: style bug
* fix: test bug
* fix: test bug
* fix: rerender bug
* fix: remove menu select
* fix: bug
* chore: add aria-label for SchemaInitializerButton
* refactor: rename name to camel case
* fix: menu height bug
* fix: build errors
* fix: build errors
* fix: bug
* fix: bug
* fix: performance
* test: add test for header
* fix: sidebar is not refresh (T-2422)
* feat(e2e): support to add group page and link page
* chore: make sure the page is configurable when using page.goto
* test: add tests for menu initializer
* fix: imporve code
* chore: fix build error
* chore: optimize locator of menu item
* refactor: rename testid for select
* test: make tests passing
* fix: make tests passing
* chore: upgrade vitest to v0.34.6
* chore: increase timeout of e2e
* feat: core
* fix: revert schema initializer demos
* test: menu, page tabs, page grid, table column
* fix: schema button interface
* feat: refactor: page tab settings
* feat: page settings
* fix: dumirc
* fix: export CSSVariableProvider
* feat: lazy render
* fix: form-item
* fix: general schema desinger
* feat: filter form item settings
* refactor: form-v2 schema settings
* refactor: form-v1 schema settings
* refactor: action schema settings
* fix: action bug
* fix: form-item bug
* fix: types error
* docs: schema settings doc
* docs: schema settings
* feat: schema setting item add name
* fix: visible lazy render bug
* fix: revert form item filter
* fix: test bug
* fix: test JSON.parse bug
* fix: test bug
* fix: improve styling
* fix: styling
* fix: cleanup
* fix: token.borderRadiusSM
* fix: bug
* test: add tests
* fix: style bug
* fix: add chart performance
* feat: add SchemaDesignerContext
* fix: bug
* fix: test bug
* style: create record action style improve
* fix: make test passing
* chore: mack tests passing
* chore: make tests passing
* test: fix tests
* style: style revert
* fix: bug
* fix: data selector
* fix: fix tests
* fix: fix tests
* fix: delete PluginManagerContext
* refactor: improve router and add SchemaComponentProvider & CSSVariableProvider to MainComponent
* fix: add dn and field builtin to SchemaSettingWrapper
* feat: update docs
* refactor: application providers
* fix: test bug
* fix: fix tests
* chore: make test passing
* feat: update docs
* chore: rename collection name
* feat: update docs
* chore: skip weird test
* fix: blockInitializers media to otherBlocks
* fix: cancel to skip test
* fix: bug
* test: add test
* refactor: migrate to small files
* test: add tests for form block settings
* chore: format
* fix: add chart scroll bug
* refactor: action designer improve
* refactor: formitem designer schemaSetting
* feat: schemaSettingsManager and schemaInitializerManager addItem and removeItem
* test: add tests for color field in creating block
* test: add tests for email field in creating block
* test: make tests passing
* perf: reduce fields number
* fix: sub menu bug
* test: add tests basic in editing form
* test: add tests basic in details form
* fix: improve code
* test: make tests passing
* test(plugin-mock-collections): add color for enum options
* refactor: improve code
* fix: bug
* fix: bug
* refactor: convert parameters to destructured object
* test: add tests choices
* test: add tests media
* test: add tests for datetime in creating form
* feat(plugin-mock-collection): generate faker time
* test: add tests for datetime in editing form
* test: add tests for datetime in details form
* fix: bug
* feat: improve code
* test: add tests for relation fields
* fix: rename SchemaSettings
* fix: type bug
* refactor: useDesinger()
* fix: bug
* fix: bug
* fix: build tip
* fix: designableState
* fix: bug
* fix: designable
* fix: designable
* test: add tests for relation fields
* test: add tests for relation fields
* test: add tests for relation fields
* feat: client api doc
* test: add tests for relation fields
* test: avoid errors
* test: make tests passing
* fix: bug
* test: make tests passing
* test: add tests for advanced fields
* test: increase e2e timeout-minutes to 60
* fix: bug
* fix: improve code
* feat: add schema initailizer component demos
* test: make tests passing
* fix: schema settings demos
* feat: shallowMerge & deepMerge
* test: reduce number of tests
* test: make tests passing
* feat: updates
* fix: add Initializer Internal
* demos: useSchemaSettingsRender
* test: make tests passing
* test: make tests passing
* fix: improve docs
* fix: bug
* chore: upgrade dumi theme
* test: make tests passing
* test: add tests for linkage rules
* test: add test for form data templates
* test: add tests for default value
* test: reduce number of tests
* fix: dn.deepMerge
* fix: bug
* fix: bug
* fix: toolbar
* fix: docs ssr
* test: add tests for system fields
* test: add tests for actions
* fix: bug
* test: add tests for lazy loading of variables
* test: make testing more stable
* fix: update docs
* fix: bug
---------
Co-authored-by: Rain <958414905@qq.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
Co-authored-by: katherinehhh <katherine_15995@163.com>
2023-12-04 14:56:46 +08:00
xilesun
9d644304c1
chore(versions): 😊 publish v0.16.0-alpha.6
2023-12-04 11:01:24 +08:00
chenos
7adb162cc8
feat(test): add quickstart
2023-12-02 09:40:22 +08:00
Zeke Zhang
6fc644d506
feat(e2e): support for custom data when using mockRecords
2023-12-01 14:58:45 +08:00
chenos
8977420eec
chore(versions): 😊 publish v0.16.0-alpha.5
2023-11-30 12:41:50 +08:00
ChengLei Shao
2dff989f70
fix: test db creator types ( #3094 )
2023-11-25 19:53:13 +08:00
chenos
ffb300d357
chore(versions): 😊 publish v0.16.0-alpha.4
2023-11-24 23:15:10 +08:00
被雨水过滤的空气-Rain
771ebaaaec
fix: should load association data in subform ( #3083 )
2023-11-23 21:05:07 +08:00
chenos
cba967933e
chore(versions): 😊 publish v0.16.0-alpha.3
2023-11-20 19:36:12 +08:00
chenos
dfb940e091
feat: node >= 18 ( #3066 )
...
* feat: node >= 18
* fix: release version
* chore(versions): test publish packages xxx
* fix: gitignore
2023-11-20 19:35:30 +08:00
chenos
91053b31ef
chore(versions): 😊 publish v0.16.0-alpha.1
2023-11-20 17:19:09 +08:00
ChengLei Shao
d7d2eb634e
feat: mariadb support ( #3052 )
...
* feat: mariadb support
* feat: mariadb test
* chore: mariadb test
* chore: test
* fix: sort field test
* fix: sort field test
* fix: test
* fix: test
* fix(bi): chart query support mariadb
* chore: test timeout
* chore: test
---------
Co-authored-by: xilesun <2013xile@gmail.com>
2023-11-20 08:54:40 +08:00
chenos
ef1b9db2a9
chore(versions): 😊 publish v0.15.0-alpha.4
2023-11-18 21:22:03 +08:00
被雨水过滤的空气-Rain
3c98966169
feat(e2e): add mockCollections ( #3054 )
...
* feat(e2e): add mockCollections
* fix: fix tests
* fix: make tests passing
* fix: fix tests
* fix: fix test
* chore: restart
* chore: skip some test
2023-11-17 16:54:04 +08:00
chenos
60112aae62
chore(versions): 😊 publish v0.15.0-alpha.3
2023-11-16 15:03:40 +08:00
被雨水过滤的空气-Rain
887ddf0ed1
test: optimize command ( #3030 )
...
* test: optimize command
* chore: add force options
* chore: kill child process
2023-11-14 10:04:09 +08:00
chenos
b597aec1dc
chore(versions): 😊 publish v0.15.0-alpha.2
2023-11-13 18:28:48 +08:00
chenos
29457cb2bc
chore(versions): 😊 publish v0.15.0-alpha.1
2023-11-13 11:02:35 +08:00
chenos
3b5b732a1a
feat: plugin-mock-collections ( #2988 )
...
* feat: plugin-mock-collections
* fix: mock bug
* feat: field interfaces
* fix: field interface
* fix: formula
* fix: file collection
* fix: map
* refactor: change api path from :create to :mock
* fix: avoid test failed
* chore: remove useless code
* fix: mock records
* fix: association
* feat: custom data
* fix: mockAttachment
* fix: count
---------
Co-authored-by: Rain <958414905@qq.com>
2023-11-10 11:32:03 +08:00
chenos
2bb0f7c51c
chore(versions): 😊 publish v0.14.0-alpha.8
2023-11-01 09:52:49 +08:00
被雨水过滤的空气-Rain
f374c2f9b5
fix(e2e): APP_BASE_URL ( #2938 )
...
* fix: should use APP_BASE_URL
* chore: should not start local service when setting APP_BASE_URL
* fix: should use process.env.APP_BASE_URL
2023-10-30 18:08:07 +08:00
被雨水过滤的空气-Rain
1ec2d00208
feat(e2e): add test.pgOnly ( #2923 )
2023-10-27 16:54:11 +08:00
ChengLei Shao
a4cccb4032
chore: ci yarn cache ( #2853 )
...
* chore: github action setup node
* chore: github action
* chore: yarn install options
* chore: action cache
* fix: yml
* chore: workflow yaml
* chore: workflow yaml
* chore: db creator log
2023-10-18 07:40:39 +08:00
ChengLei Shao
02559b61ba
feat(ci): run backend tests concurrently ( #2815 )
...
* chore: run backend tests concurrently
* fix: mock app server create database
* chore: using @swc/jest instead of ts-jest
* chore: create test database
* chore: database distributor
* fix: test collection manager
* fix: test
* chore: to use Jest.mock, change the formatter to the commonjs module
* chore: db acquire
* chore: github action
* fix: pg test action
* chore: formatter
* chore: jest workaround
* fix: mysql test
* chore: mysql github action
* chore: clean storage
* chore: gitignore
* chore: max workers
2023-10-17 22:22:45 +08:00
被雨水过滤的空气-Rain
9085f5ca20
chore(e2e): delete collectionName key ( #2783 )
...
* chore(e2e): delete collectionName key
* test: add test
2023-10-10 15:03:17 +08:00
Rain
9ee18ca2aa
refactor(e2e): shuold use test.extend to extend createCollections (T-2157)
2023-10-10 08:26:23 +08:00
被雨水过滤的空气-Rain
f85fb6d7ba
refactor(e2e): support batch creation of collections ( #2778 )
...
* chore: types
* refactor: optimize create collections
* chore: make throw error
* chore: export createCollections
2023-10-10 07:46:24 +08:00
Rain
384cc1c56c
chore(versions): 😊 publish v0.14.0-alpha.7
2023-10-07 15:53:49 +08:00
被雨水过滤的空气-Rain
a57c93d35b
feat: support e2e ( #2624 )
...
* chore: upgrade vitest to v0.34.3
* feat: setup NocoBase
* chore: preparing test env
* test: add a test of rigster
* refactor: rename test dir to testUtils
* chore: add tests
* chore: add ci for e2e
* chore: fix ci
* chore: avoid error in CI
* chore: add some utils for test
* chore: make more stable
* chore: should not close server in CI
* chore: add comments
* chore: change output dir
* fix: should use current branch to run tests
* chore: should request systemSettings by api in e2e
* chore: should build first in e2e CI
* chore: remove key
* chore: use execa to replace execSync
* refactor: extract test suite
* chore: add gotoPage
* chore: update uid of pageSchema
* chore: update collection name
* chore: use faker.js to generate data
* refactor: extract page config
* chore: ignore for association fields in faker
* chore: add testid
* chore: optimize action designer
* chore: associationFilter.Item designer
* chore: AssiciationFilter & BlockItem
* Revert "chore: AssiciationFilter & BlockItem"
This reverts commit b418df650e106fd0c8e23035d2f75acf60dcafe4.
* Revert "chore: associationFilter.Item designer"
This reverts commit 7aa4d35c1af7f3a780b370d8b1b44aac01697be3.
* Revert "chore: optimize action designer"
This reverts commit ff717b972ffd64f7968d565a3a84ad617ff889e2.
* chore: optimize Designer
* chore: compat with older browsers
* chore: use describe to avoid hooks is not run
* chore: add no-floating-promises to eslint rules
* chore: support argv
* chore: demo
* chore: better testId
* chore: change .e2e.ts to .test.ts
* fix(SchemaInitializer): avoid error
* refactor: move e2eUtils.ts to @nocobase/test
* fix: move e2eUtils to client
* chore: remove uselesscode
* refactor: add .env.e2e.example
* chore: optimize log
* refactor: use mockPage to replace gotoPage
* chore: update env.e2e
* chore: add APP_BASE_URL
* chore: gitigore
* test: add test related of menu
* chore: add SOCKET_PATH in env
* fix(vscode): load env when using vscode plugin
2023-09-27 20:00:17 +08:00
ChengLei Shao
ce879d2dda
feat(application): cron job in application ( #2730 )
2023-09-27 19:31:14 +08:00
mytharcher
8eb634459d
chore(versions): 😊 publish v0.14.0-alpha.6
2023-09-22 15:49:50 +08:00
mytharcher
bffa53a04e
chore(versions): 😊 publish v0.14.0-alpha.5
2023-09-22 15:47:28 +08:00
mytharcher
d20398f73f
chore(versions): 😊 publish v0.14.0-alpha.4
2023-09-21 23:25:31 +08:00
chenos
6058850db1
chore(versions): 😊 publish v0.14.0-alpha.3
2023-09-13 18:29:38 +08:00
chenos
3670d670ac
chore(versions): 😊 publish v0.14.0-alpha.2
2023-09-13 03:57:15 +08:00
chenos
117d4b8186
chore(versions): 😊 publish v0.14.0-alpha.1
2023-09-12 22:42:43 +08:00
Rain
fec17d5661
chore(versions): 😊 publish v0.13.0-alpha.10
2023-09-10 00:33:14 +08:00
chenos
b655517a74
chore(versions): 😊 publish v0.13.0-alpha.9
2023-09-07 12:46:24 +08:00
Rain
17d4476c10
chore(versions): 😊 publish v0.13.0-alpha.8
2023-09-07 09:04:08 +08:00
ChengLei Shao
97b4570bd2
chore(versions): 😊 publish v0.13.0-alpha.7
2023-09-05 09:01:30 +08:00
Rain
e5f5358be0
chore(versions): 😊 publish v0.13.0-alpha.6
2023-09-04 20:48:48 +08:00
chenos
af34fe10ab
chore(versions): 😊 publish v0.13.0-alpha.5
2023-09-03 11:35:48 +08:00
chenos
0fd38a5c56
chore(versions): 😊 publish v0.13.0-alpha.4
2023-08-27 10:04:58 +08:00
chenos
5278017fff
chore(versions): 😊 publish v0.13.0-alpha.3
2023-08-26 16:43:41 +08:00
chenos
f4a1953980
chore(versions): 😊 publish v0.13.0-alpha.2
2023-08-24 23:14:03 +08:00
chenos
6debb8d00b
chore(versions): 😊 publish v0.13.0-alpha.1
2023-08-24 17:49:13 +08:00
ChengLei Shao
39ee4b8873
feat: application supervisor ( #2353 )
...
* chore: skip sync localization-management plugin enable status
* chore: unSyncPlugins array
* chore: remove install at dev
* chore: gateway and supervisor
* chore: install command
* chore: remove app manager
* chore: share plugin
* chore: wsserver
* chore: websocket server
* chore: websocket connection with app status
* feat: socket server at gateway
* chore: loading message
* chore: ready status
* chore: handle app error
* feat: restart app at supervisor
* feat: health check endpoint
* chore: test
* chore: test
* chore: test
* chore: test
* chore: build
* chore: test
* chore: build
* chore: application ready status
* chore: error message
* chore: handle application error
* chore: handle error in load
* chore: report error in websocket
* chore: ws error
* chore: ws error
* chore: typo
* chore: switch app ready status at install
* chore: test
* chore: test
* chore: test
* chore: test
* feat: add WebSocket client
* chore: start gateway
* chore: start command in application
* chore: code
* chore: pm command
* chore: run start after load sub app
* feat: application fsm
* refactor: server life cycle (#2402 )
* refactor: server life cycle
* fix: test error
* fix: test error
* fix: test error
* fix: app.start
* fix: cronjob stop
* fix: db.sync before upgrade
* fix: pm.get
* fix: test error
* fix: test error
* fix: test error
* test: add test cases
* fix: remove PluginType
* chore: start application after install
* chore: fsm
* chore: working status
* chore: working command
* chore: remove swith app ready status
* chore: switch status after working done
* chore: ws status
* chore: gateway error
* chore: test
* chore: stopping status
* chore: test
* chore: test
* feat: app proxy
* chore: application destory
* chore: application message changed with status
* chore: test
* chore: test timeout
* test: remove listener add by plugin
* test: remove listener add by plugin
* chore: test
* feat: app maintaining
* fix: add AppMaintainingDialog
* feat: off
* test: gateway http response
* test: gateway with errors
* chore: unkown error
* chore: websocket message
* chore: ws message
* chore: code
* chore: error format
* chore: delay app load
* feat: improve code
* chore: application initializing status
* chore: supervisor with app status
* chore: command status response
* chore: test
* chore: ws message
* chore: test
* fix: command running message
* feat: restart
* chore: code
* chore: status transition
* chore: test
* fix: improve code
* fix: error
* fix: restart
* fix: command
* chore: reset client app tag when app selector changed
* chore: error report
* fix: application status
* fix: build
* chore: disable help command dispatch
* chore: test
* test: multi apps test
* fix: improve code
* fix: test
* fix: test
* fix: multi apps single running
* fix: improve code
* fix: app status
* chore: move plugin static file to gateway
* feat: static file handler
* chore: test
* chore: enable plugins in share collection
* chore: gateway serve upload files
* fix: improve client
* chore: ws nginx config
* fix: gateway with naonoid
* fix: db sync
* fix: loading
* fix: ping
* fix: locale load
* fix: yarn start --quickstart
* fix: add debug log
* chore: application started event
* chore: running working message payload
* chore: nginx log
* chore: nginxconf
* chore: working message log
* feat: logs
* feat: compression
* fix: remove koa-send and koa-static
* fix: remove -e
* fix: remove nginx
* fix: remove -e
* fix: __appName
* chore: delay install sub application
* chore: sync plugin status
* fix: boot sub app
* fix: main app reload
* fix: test
* fix: app status
* test: field.bind block event loop
* feat: newrelic
* feat: debug log
* chore: upgrade
* fix(file-manager): test error
* fix: default app selector
* fix: reload after maintained
* chore: boot sub app
* chore: application destroy command
* chore: destroy command
* chore: clean code
* chore: package.json
* chore: maintaining message
* chore: test
* fix: collection.sync
* feat: add test cases
* chore: application
* fix: test error
* feat: improve codes and add test cases
* fix: test error
* fix: pm enable and disable
* fix: pm.disable
* feat: update docs
* chore: update dockerfile
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-08-24 17:47:45 +08:00
chenos
d8787493db
chore(versions): 😊 publish v0.12.0-alpha.5
2023-08-18 15:53:53 +08:00
chenos
df85fb430a
chore(versions): 😊 publish v0.12.0-alpha.4
2023-08-15 12:22:49 +08:00
chenos
9251fe015f
chore(versions): 😊 publish v0.12.0-alpha.3
2023-08-02 11:25:57 +08:00
chenos
6ae22cea68
chore(versions): 😊 publish v0.12.0-alpha.2
2023-08-02 02:25:49 +08:00
chenos
93f2bc2e67
chore(versions): 😊 publish v0.12.0-alpha.1
2023-08-02 00:10:42 +08:00
jack zhang
5df3b0e75d
refactor!: plugins build and plugins load ( #2253 )
...
* refactor: plugin build and plugin template
* refactor: plugins' deps
* refactor: plugins bugs
* feat: add plugin static middleware
* fix: bugs
* refactor: frontend plugin add from remote
* refactor: delete useless app/client/plugins
* fix: requirejs move to local
* fix: tests case
* refactor: add src/client and src/server dir check
* fix: lodash tree shaking
* refactor: add BUILD_TIP
* refactor: add file size tip
* fix: bugs
* fix: bug
* fix: change china-division
* fix: change plugins response
* fix: recover dynamicImport
* fix: change server src entry
* fix: test error
* fix: plugins sourcemap => false
* fix: production file error
* refactor: change build tools to vite and tsup
* fix: yarn.lock
* fix: bugs
* fix: server build bugs
* fix: delete .fatherrc.ts
* fix: bug
* fix: bug
* fix: bugs
* fix: bugs
* fix: bugs
* refactor: add plugin d.ts
* refactor: delete fatherrc
* refactor: delete father scripts
* refactor: build bug
* fix: bug
* fix: deps adjust
* fix: add build tips
* fix: bug
* refactor: ignore plugins when build client
* docs: update doc
* refactor: docs and build
* fix: bug
* refactor: build deps
* fix: add USER_REMOTE_PLUGIN env
* feat: add plugin static cache
* feat: add build deps cache
* fix: bugs
* test: add test
* fix: add plugin depden on plugin tip
* fix: adjust shouldDevDependencies
* fix: deps
* fix: ajust deps
* fix: mobile style error
* fix: map error
* fix: test
* fix: bug
* feat: lodash and dayjs import from themself
* feat: @emotion/css 、ahooks and lodash to global
* fix: theme-editor plugin error
* fix: review
* feat: move all plugins' dependencies to devDependencies
* feat: change build
* feat: add devPlugins
* fix: bug
* fix: bugs
* fix: bugs
* fix: bugs
* feat: build bugs
* fix: bugs
* fix: bugs
* fix: review
* fix: bug
* fix: change deps build
* fix: bugs
* fix: bug
* fix: bug
* fix: bugs
* fix: bug
* fix: bug
* fix: multi language
* fix: dist
* fix: cronstrue
* fix: getPackageClientStaticUrl
* fix: antd dayjs locale
* fix: plugin' d.ts import from dist
* fix: multi language
* fix: build types error
* fix: requireModule
* fix: plugin lifecycle
* fix: client resource
* fix: improve code
* fix: locale
* feat: custom build
* fix: require locale
* fix: improve code
* fix: improve code
* fix: skip preset
* fix: collection undefined
* feat: yarn build
* fix: remove enabled
* fix: update dockerfile
* fix: formily version
* docs: update v12 changelog
* fix: devDependencies
* feat: @nocobase/app
* feat: generateAppDir
* fix: improve code
* fix: 0.11.1-alpha.5
* fix: missing @nocobase/client
* fix: error
* fix: add .npmignore
* feat: upgrade antd version
* fix: dependencies
* fix: peerDependencies
* fix: remove china-division dep
* fix: toposort deps
* fix: update dockerfile
* fix: plugin template
* fix: app client outputPath
* feat: update docs
* fix: nginx server root
* fix: storage/.app-dev
* fix: getChinaDivisionData
* feat: plugin info
* feat: update docs
* fix: docs menu
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-08-02 00:07:52 +08:00
chenos
40c4aab507
chore(versions): 😊 publish v0.11.1-alpha.5
2023-07-29 20:25:18 +08:00
chenos
b93f28a952
chore(versions): 😊 publish v0.11.1-alpha.4
2023-07-29 09:11:52 +08:00
chenos
81819f04e3
chore(versions): 😊 publish v0.11.1-alpha.3
2023-07-26 17:37:20 +08:00
chenos
c84476d805
chore(versions): 😊 publish v0.11.1-alpha.2
2023-07-23 12:44:50 +08:00
chenos
e979194cf2
chore(versions): 😊 publish v0.11.1-alpha.1
2023-07-22 12:50:04 +08:00
chenos
c0a59524ab
chore(versions): 😊 publish v0.11.0-alpha.1
2023-07-08 08:29:33 +08:00
chenos
15f028295c
chore(versions): 😊 publish v0.10.1-alpha.1
2023-07-07 06:56:04 +08:00
Dunqing
25a3a8affa
feat: support token blacklist ( #2168 )
...
* feat: support token blacklist, Close T-799
* feat: clean
* fix: possible token does not exist
* fix: update
* feat: update
* feat: add node-cron to delete expired token
* fix: findOrCreate not work and add test case
* test: add token-blacklist tests
* feat: add test cases for blacklist in authManager
* test: update better
* fix: should hidden token field
* test: clean
* test: clean
* fix: should stop cron in afterStop
* refactor: move delete expired token in token blacklist service
* feat: remove plugin disable/enable logic
* fix: clean
* test: revert
* fix: cron typo
2023-07-05 21:57:57 +08:00
chenos
560c00cc3e
chore(versions): 😊 publish v0.10.0-alpha.5
2023-06-29 15:34:40 +08:00
chenos
f3f91bd649
chore(versions): 😊 publish v0.10.0-alpha.4
2023-06-27 13:50:59 +08:00
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
YANG QIA
24601aa66f
feat(auth): support custom authentication ( #2007 )
...
* feat(auth): init auth package & collection
* feat(auth): register
* feat(auth): use authenticator
* feat(auth): mapRoles
* feat(auth): refactor
* feat(auth): base auth class
* feat(auth): add plugin
* chore(auth): test
* chore(auth): add test cases
* feat(auth): authenticators pane
* chore(auth): custom hook useAuthTypes
* feat(auth): authenticator pane
* chore(auth): store options schema using context
* feat(auth): signInPage provider
* feat(auth): signUpPage provider
* chore(auth): solve build errors
* chore(auth): add dependency
* chore(auth): remove dependency cycles
* chore(auth): add plugin-auth to preset
* chore(auth): fix test
* feat(auth): authenticator enable status
* fix(test): fix test using new authentication
* feat(auth): migration, set up basic auth
* chore(auth): can set options ui by component
* fix(test): workflow manunal.test
* fix(test): typo
* feat(auth): support multi-language
* chore(auth): imporve code
* chore(auth): hide button if no configuration
* chore(auth): readme
* chore(auth): remove allowSignup prop
* chore(auth): move configure pane to edit form
* fix(auth): jwt options bug
* feat(auth): init sms-auth
* chore(auth): at least authenticator required
* chore(auth): add test
* feat(auth): support sms auth
* fix(auth): fix test
* chore(auth): move findOrCreateUser to AuthModel
* chore(auth): history compatible processing
* feat(auth): support SAML auth
* chore(auth): saml auth list
* chore(saml-auth): improve ui
* Merge branch 'main' into feat/authentication
* chore(auth): improve code
* fix(saml-auth): fix bug
* fix(saml-auth): fix saml options
* chore(saml-auth): compatible processing && ut
* fix(auth): signin page bug
* chore(auth): saml compatible processing
* feat(auth): oidc-auth
* fix(oidc-auth): bug
* fix(oidc-auth): bug
* fix(auth): fix test
* chore(auth): filter enabled authenticator
* chore(oidc): add field map
* chore(auth): update readme
* docs(auth): create sms-auth readme
* feat(auth): allow signup config
* test(auth): fix test
* feat(auth): allow saml and oidc use http
* chore(oidc-auth): extends timeout
* docs(auth): update readme
* feat(auth): support sort
* docs(saml): update readme
* feat(auth): support sort all authenticator
* Merge branch 'main' into feat/authentication
* Merge branch 'main' into feat/authentication
* feat: improve code
* docs(auth): add doc
* Merge branch 'main' into feat/authentication
* chore: update yarn.lock
* feat: improve code
* chore(acl): write role to acl if it exists in database and not found … (#2001 )
* chore(acl): write role to acl if it exists in database and not found in acl
* fix: test
* fix: eager load with nested association (#2002 )
* chore: upgrade vitest
* chore: edit
* refactor: auth class
* fix: set options
* chore(acl): write role to acl if it exists in database and not found … (#2001 )
* chore(acl): write role to acl if it exists in database and not found in acl
* fix: test
* fix: eager load with nested association (#2002 )
* chore: upgrade vitest
* chore: add migrations
* test: fix api-client test
* chore: add sms-auth
* feat: avoid no permission after auth type disabled
* fix: translation
---------
Co-authored-by: chenos <chenlinxh@gmail.com>
2023-06-07 23:46:42 +08:00
被雨水过滤的空气-Rairn
47838889f4
test: add tests for client ( #1960 )
...
* feat: add test utils
* test: fix compatibility problem
* refactor: use esm
* refactor: change require to import
* test: add a test
* chore: optimize launch.json
* chore(jest): optimize config
* test: fix failed
* test(Action): fix failed
* test: migration test from nocobase-next
* test: fix failed
* chore: set css to false
* fix: fix errors
* test(Filter): add test
* test(BlockItem): add test
* test(Calendar): add test
* refactor: migrate testUtils to client
* fix: avoid error
* refactor: fix lint error
* Revert "refactor: migrate testUtils to client"
This reverts commit ae569e2021a5c720111518cf3f2236e761a7186d.
* test: fix test failed
* refactor: migrate tesetUtils to @nocobase/test/client
* fix(Select): fix BUG
* refactor: remove useless code
* Revert "refactor: migrate tesetUtils to @nocobase/test/client"
This reverts commit 70d2211d5af546ae3fffaf5b53a326be8e194b34.
* test(AssociationSelect): add test
* test(CardItem): add test
* test(CollectionSelect): add test
* test(Cron): add test
* test(Details): add test
* test(ErrorFallback): add test
* test(Form): add test
* fix: fix CI
* test(FormItem): add test
* test(FormV2): add test
* test(G2Plot): add test
* test(Gantt): add test
* test(Grid): add test
* test(GridCard): add test
* test(Kanban): add test
* test(List): add test
* test(Menu): add test
* test(Page): add test
* test(Pagination): add test
* test(Preview): add test
* test(RemoteSelect): add test
* test: fix: failed
* refactor: remove useless code
* test(Table): add test
* test(TableV2): add test
* test(Tabs): add test
* test(Variable): add test
* test(Upload): add test
* chore: comment
* Revert "refactor: change require to import"
This reverts commit 3a23607e6faeda6f8b5bee02b9d8fa33bf9d2684.
* refactor: remove useless code
* fix: fix translation bug
* fix: fix export position
* test: update snap
2023-06-07 10:37:10 +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
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
3dfd5a1f7a
chore(versions): 😊 publish v0.9.2-alpha.2
2023-04-19 13:10:55 +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
ChengLei Shao
4d44e31b31
fix: test with nocobase plugin ( #1525 )
2023-03-03 13:54:37 +08:00
chenos
946c8f25a3
chore(versions): 😊 publish v0.9.1-alpha.1
2023-03-03 09:34:06 +08:00
ChengLei Shao
856b6efa77
feat: prepare database method ( #1492 )
2023-02-23 20:14:50 +08:00
ChengLei Shao
89c1d39b6b
Fix/pg schema with inherit ( #1446 )
...
* fix: pg schema in sync runner
* fix: restore with pg schema
* chore: databse utils
* fix: test
* Update nocobase-test.yml
* fix: test
* chore: db schema test options
* feat: collection add schema table name method
* fix: update to bigint test
* fix: schema test
* chore: show constraints query path
* chore: show constraints query path
* Update nocobase-test.yml
* chore: test
* fix: test
* fix: test
* fix: test table name
* fix: inherited collection test
2023-02-16 10:53:04 +08:00
chenos
daa91e95a6
chore(versions): 😊 publish v0.9.0-alpha.2
2023-01-14 12:07:20 +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
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
ChengLei Shao
e991b2965a
feat: collection inheritance ( #1069 )
...
* chore: test
* chore: inherited-collection class
* feat: collection inherit
* feat: collection inherit
* feat: inhertis sync runner
* test: get parents fields
* feat: collection inherit style promote
* feat: sync
* feat: sync alter table
* feat: pgOnly Test
* fix: child collection create api
* feat: replace parent field
* chore: reload parent fields
* test: reload collection test
* feat: details are displayed according to conditions
* fix: typo
* feat: inheritance map class
* chore: is parent node
* feat: display where child row created from
* fix: find with appends
* feat: add parent collection fields
* fix: create table
* feat: load fields for all children
* refactor: sync fields from parent
* test: has one field inhertis
* feat: replace child association target
* feat: should not replace child field when parent field update
* test: should update inherit field when parent field update
* feat: only the blocks directly inherited from the current data are displayed
* fix: inherit from multiple collections
* feat: only the blocks directly inherited from the current data are displayed
* fix: test
* feat: parent collection expend
* fix: test
* test: belongsToMany inherits
* test: belongsToMany inherits
* feat: block display
* feat: collection inherite
* feat: collection inherite
* feat: multiple inherits
* fix: sync runner
* feat: collection inherite
* feat: collecton inherits
* feat: cannot be modified after inheritance and saving
* feat: collection inherit for graph
* feat: collection inherits
* fix: drop inhertied field
* fix: should throw error when type conflit
* feat: output inherited fields
* feat: bulk update collection fields
* feat: collection fields
* feat: collection fields
* test: create relation with child table
* fix: test
* fix: test
* fix: test
* feat: style impove
* test: should not replace field with difference type
* feat: add text
* fix: throw error when replace field with difference type
* feat: overriding
* feat: kan bankanban group fields
* feat: calendar block fields
* feat: kan bankanban group fields
* fix: test
* feat: relationship fields
* feat: should delete child's field when parent field deleted
* feat: foreign key filter
* fix: build error & multiple inherit destory field
* fix: test
* chore: disable error
* feat: no recursive update associations (#1091 )
* feat: update associations
* fix(collection-manager): should update uiSchema
* chore: flip if
* feat: mutile inherits
* feat: db dialect
* feat: inherits show by database
* chore: git hash into docker image
* fix: js gzip
* fix: dockerfile
* chore: error message
* feat: overriding
* feat: overriding
* feat: overriding
* feat: local
* feat: filter fields by interface
* fix: database logging env
* test: replace hasOne target
* feat: add view
* feat: local
* chore: enable error
* fix: update docs
Co-authored-by: katherinehhh <katherine_15995@163.com>
Co-authored-by: chenos <chenlinxh@gmail.com>
2022-11-16 12:53: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
chenos
f67afba964
feat: improve code ( #978 )
...
* feat: 图形化管理数据表
* feat: 图形化管理数据表
* feat: 图形化管理数据表
* feat: 图形化管理数据表
* feat: 完善图形化管理数据表
* feat: 完善图形化管理数据表
* feat: 完善图形化管理数据表
* feat: 完善图形化管理数据表
* feat: 完善图形化管理数据表
* feat: 完善图形化管理数据表
* feat: 完善图形化管理数据表
* feat: 完善图形化管理数据表
* feat: 完善图形化管理数据表
* feat: 完善图形化管理数据表
* feat: 完善图形化管理数据表
* feat: 完善图形化管理数据表
* feat: 完善图形化管理数据表
* feat: 完善图形化管理数据表
* feat: 完善图形化管理数据表
* feat: 完善图形化管理数据表
* feat: 完善图形化管理数据表
* feat: 样式优化图形化管理数据表
* feat: 样式优化图形化管理数据表
* feat: 样式优化图形化管理数据表
* feat: 样式优化图形化管理数据表
* feat: 样式优化图形化管理数据表
* feat: 样式优化图形化管理数据表
* feat: 样式优化图形化管理数据表
* feat: 样式优化图形化管理数据表
* feat: 样式优化图形化管理数据表
* feat: 样式优化图形化管理数据表
* feat: 样式优化图形化管理数据表
* feat: 样式优化图形化管理数据表
* feat: 样式优化图形化管理数据表
* feat: 样式优化图形化管理数据表
* feat: 样式优化图形化管理数据表
* feat: 样式优化图形化管理数据表
* feat: 样式优化图形化管理数据表
* feat: 样式优化图形化管理数据表
* feat: 样式优化图形化管理数据表
* feat: 样式优化图形化管理数据表
* feat: 样式优化图形化管理数据表
* feat(collection-manager): add foreignKey Field and support relate field record foreignKey info
through collection record into collections and foreignKey field record info fields
* fix(collection-manager): if has through collection then don't create through collections record
* fix(client/route-switch): skip sub routes
* feat: 添加graphpostion
* feat: 图形化collection新增表时刷新数据
* fix(collection-manager): refactor afterCreateForRelateField
* feat: 图形化collection存储位置
* feat: 图形化collection存储位置
* feat: 图形化collection存储位置
* feat: 图形化collection存储位置
* feat: 图形化collection存储位置
* feat: 图形化collection存储位置
* feat: 图形化collection存储位置
* feat: 图形化collection存储位置
* feat: 图形化collection存储位置
* feat: 图形化collection存储位置
* feat: 图形化样式优化
* feat: styling
* feat: 图形化样式优化
* feat: 图形化样式优化
* feat: 图形化数据表多语言完善
* feat: 图形化数据表多语言完善
* feat: improve code
* feat: 图形化数据表连线样式修改
* feat: 图形化数据表样式修改
* feat: 图形化数据表样式修改
* feat: 图形化数据表样式修改
* feat: 图形化数据表样式修改
* fix(collection-manager): fix afterCreateForRelateField
* feat: 样式优化
* feat: 样式优化
* feat: afterCreateForForeignKeyField
* fix: timestamps: false
* feat: 连线锚点优化
* fix(collection-manager): when del foreign key field, relate fields will be del too
* fix: update package.json
* fix: update package.json
* feat: 文件名大小写
* feat: 连线锚点优化
* feat: 连线锚点通过计算得到样式优化
* feat: 连线锚点通过计算得到样式优化
* fix: fk
* fix: remove index
* feat: 连线hover时高亮
* fix: test error
* feat: 初始化计算位置
* feat: 初始化时计算坐标位置
* feat: 初始化时计算坐标位置
* feat: improve code (#933 )
* fix: built in
* feat: 没有关系字段时也要连线
* feat: 自关联也要连线
* fix: styling
* feat: 滚动条问题
* feat: 拖拽优化
* feat: 画布paddig优化
* feat: 编辑时支持反向关联字段配置
* feat: 画布拖拽滚动优化
* feat: 画布拖拽滚动优化
* fix: reload
* feat: 修复数据表新建重叠
* fix: refreshCM & refreshGM
* feat: 修复表达式输入框显示异常
* feat: 渲染性能优化(增量渲染)
* feat: 渲染性能优化(增量渲染)
* feat: 渲染性能优化(增量渲染)
* fix: 消除代码警告
* fix: 消除代码警告
* feat: 渲染性能优化(增量渲染)
* feat: 渲染性能优化(增量渲染)
* feat: 渲染性能优化(增量渲染)
* feat: 渲染性能优化(增量渲染)
* feat: 渲染性能优化(增量渲染)
* feat: 渲染性能优化(增量渲染)
* feat: 渲染性能优化(增量渲染)
* feat: 渲染性能优化
* feat: 渲染性能优化
* feat: 外键生成在位置在前面
* feat: 限制表最多显示10个字段其余滚动
* feat: 移动表位置的连线重新计算最优位置
* fix: error
* feat: 布局自动换行
* fix: test error
* fix: xpipe.eq
* fix: upgrade error
* fix: upgrade error
* feat: 选中表时只显示和目标表关联的表和连线
* fix: maxListenersExceededWarning
* feat: remove graph-collection-manager
* fix: remove graph-collection-manager
* fix: update yarn.lock
Co-authored-by: 唐小爱 <tangxiaoai@192.168.0.103>
Co-authored-by: lyf-coder <lyf-coder@foxmail.com>
Co-authored-by: katherinehhh <katherine_15995@163.com>
2022-10-28 15:09:14 +08:00
chenos
249dff16d3
refactor: plugin manager ( #965 )
...
* feat: improve code
* chore: update version
* feat: api service
* fix: api services
* feat: improve code
* feat: improve code
* feat: improve code
* feat: pm socket
* fix: test errors
* feat: add built-in plugins before upgrade
* feat: update docs
* feat: improve code
* fix: after load
2022-10-27 13:00:16 +08:00
chenos
8bf23004a1
refactor: middleware ( #857 )
...
* refactor: middleware
* fix: test error
* fix: test error
* fix: test
* fix: tag
2022-09-29 21:05:31 +08:00
chenos
f9f8dc78f4
refactor: plugin manager ( #775 )
...
* feat: dynamic import plugin client
* refactor: pm
* chore: improve cli
* feat: improve code
* feat: update dependences
* feat: hello plugin
* fix: plugin.enabled
* fix: test error
* feat: improve code
* feat: pm command
* feat: add samples
* fix: redirect
* feat: transitions
* feat: bookmark
* feat: add pm script
2022-09-18 14:10:01 +08:00