Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature(OGCIO): v1.20.0 #147

Merged
merged 1,145 commits into from
Oct 7, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1145 commits
Select commit Hold shift + click to select a range
3bf756f
refactor(experience): use vite
gao-sun Jul 24, 2024
aeec3b1
refactor(console): use local mermaid import
gao-sun Jul 24, 2024
e31a179
Merge pull request #6318 from logto-io/gao-use-vite-for-console
gao-sun Jul 24, 2024
07f33d7
fix(console): use correct public url (#6325)
gao-sun Jul 24, 2024
b78b7e8
Merge pull request #6324 from logto-io/gao-use-vite-for-experience
gao-sun Jul 25, 2024
0d290cd
Merge pull request #6323 from logto-io/gao-use-mermaid-import
gao-sun Jul 25, 2024
d7b6987
refactor(console, experience): optimize bundling (#6326)
gao-sun Jul 25, 2024
29e9bfc
refactor(core): rename some file names and methods (#6321)
simeng-li Jul 25, 2024
89b8662
fix(console): check scope only when data is ready (#6329)
gao-sun Jul 25, 2024
248ee7f
feat(core,schemas): implement profile fulfillment flow (#6293)
simeng-li Jul 25, 2024
9d2770c
test(core): add profile fulfillment integration tests (#6294)
simeng-li Jul 25, 2024
a2e457e
fix(console): css loaded svg should be rendered properly (#6333)
charIeszhao Jul 25, 2024
f76252e
fix(core): fix some webhook api body status 404 bug (#6311)
simeng-li Jul 25, 2024
f8f34f0
feat(core): implement the WebAuthn verification (#6308)
simeng-li Jul 25, 2024
6477c6d
feat(schemas): add custom data to application (#6309)
simeng-li Jul 25, 2024
e76d4e6
refactor(console): increase custom ui assets upload timeout to 5 mins…
charIeszhao Jul 25, 2024
9dac30b
refactor: update logto/core cloud API usage
darcyYe Jul 15, 2024
5f98d67
refactor: update code according to CR
darcyYe Jul 18, 2024
b322b9a
Merge pull request #6259 from logto-io/yemq-update-cloud-api-usages-core
darcyYe Jul 26, 2024
ac40ef1
refactor(console): update admin console using new pricing model (#6295)
darcyYe Jul 26, 2024
c45a1a5
refactor(console): safely lazy load pages (#6332)
gao-sun Jul 26, 2024
58a5004
feat(core): implement the missing mfa bind and guard flow (#6320)
simeng-li Jul 26, 2024
34c8bed
refactor(core): extract isNewMfaVerification property (#6338)
simeng-li Jul 26, 2024
05082b5
refactor(core): refactor backup code generates flow (#6339)
simeng-li Jul 26, 2024
556f7e4
fix(console): dragging anchor in the color picker on application bran…
xiaoyijun Jul 26, 2024
669279a
test(core): add the mfa binding integration tests (#6330)
simeng-li Jul 26, 2024
fb5b02b
style(console): fix custom jwt guide card style (#6343)
xiaoyijun Jul 26, 2024
33a1ac1
refactor(console): block page navigation when uploading custom ui ass…
charIeszhao Jul 26, 2024
a276f92
chore(console): update bring your ui documentation link (#6317)
charIeszhao Jul 26, 2024
5e7145b
fix(elements): fix user context tag name (#6346)
xiaoyijun Jul 26, 2024
b188bb1
chore: launch multiple app secrets
gao-sun Jul 28, 2024
dce56ee
chore: launch multiple app secrets
gao-sun Jul 27, 2024
b777db5
refactor(core): use tsup for building
gao-sun Jul 28, 2024
85c873b
refactor: use tsup for building
gao-sun Jul 28, 2024
01df8f4
refactor(console): improve ux
gao-sun Jul 28, 2024
8a29943
chore: fix failed tests
gao-sun Jul 28, 2024
510f681
refactor(connector): use tsup for building
gao-sun Jul 28, 2024
210fb6e
ci: add check job
gao-sun Jul 28, 2024
17e139d
feat(console): remove beta tag for protected app (#6341)
wangsijie Jul 29, 2024
0a20edc
feat(console): add passport.js guide (#6344)
wangsijie Jul 29, 2024
ebe2421
chore: update plausible urls (#6349)
gao-sun Jul 29, 2024
05bd162
Merge pull request #6354 from logto-io/gao-use-tsup-for-building
gao-sun Jul 29, 2024
1b67934
refactor(console, experience): solve sass deprecations (#6356)
gao-sun Jul 29, 2024
7659454
Merge pull request #6355 from logto-io/gao-gao-use-tsup-for-connectors
gao-sun Jul 29, 2024
918b6f2
fix(console): fix the plan title for subscription plan selector (#6348)
darcyYe Jul 29, 2024
02a25df
refactor(core): refactor openapi docs for protected app (#6331)
wangsijie Jul 29, 2024
a46d5ac
Merge pull request #6322 from logto-io/gao-launch-multi-app-secrets
gao-sun Jul 29, 2024
e671871
refactor: update per review
gao-sun Jul 29, 2024
81b5a7c
Merge pull request #6351 from logto-io/gao-improve-app-secrets-ux
gao-sun Jul 29, 2024
40a8a9a
feat: allow app secret edit (#6352)
gao-sun Jul 29, 2024
4abe2a8
fix(console): add dev guard on new pricing model subscription hooks (…
darcyYe Jul 30, 2024
b97c720
feat(core): migrate register flow affiliate report logic (#6334)
simeng-li Jul 31, 2024
ea150f1
refactor(core): extract verified interaction guard middleware (#6336)
simeng-li Jul 31, 2024
d932e30
refactor(console): fix text overflow issue (#6366)
gao-sun Jul 31, 2024
dbc5512
refactor(core): make the interaction event mandatory (#6337)
simeng-li Jul 31, 2024
3b4da16
feat(core): add webhooks middleware to experience api (#6357)
simeng-li Jul 31, 2024
e9581d8
feat(connector): added postmark connector
srs May 16, 2024
f8185a6
chore: remove unused deps (#6372)
gao-sun Jul 31, 2024
84f7e13
refactor(core): improve swagger auth description (#6367)
gao-sun Jul 31, 2024
cf31e3a
feat(core,schemas): add auditLogs to experience API (#6361)
simeng-li Jul 31, 2024
5fd5353
refactor(core): allow cloudflare insights origin in csp (#6375)
gao-sun Aug 1, 2024
dab06cb
feat(core,schemas): add mandatory password guard on register (#6368)
simeng-li Aug 1, 2024
5c504ab
feat: add advanced search params to all supported endpoints (#6358)
mostafa Aug 1, 2024
3f014eb
chore(deps): update dependency nock to v14.0.0-beta.9 (#6243)
renovate[bot] Aug 1, 2024
2d0502a
feat(cli): add cli command to setup custom ui local debugging proxy (…
charIeszhao Aug 1, 2024
b91ec0c
feat(core,console,phrases): add custom data editor to application det…
simeng-li Aug 1, 2024
323a565
fix(core): allow non-json body type when parsing (#6379)
gao-sun Aug 1, 2024
a1f6009
refactor(core): make password optional in NewPasswordIdentity (#6377)
simeng-li Aug 1, 2024
8e9f6e4
refactor(console): get and check `skuId` from checkout session (#6369)
darcyYe Aug 1, 2024
c6a1cab
refactor: add tests for content-type in oidc apis (#6380)
gao-sun Aug 1, 2024
eef3d74
refactor(console): delay module loading suspense component display by…
charIeszhao Aug 1, 2024
ebb6a91
chore(console): remove redunant login hint usage for invitation (#6385)
xiaoyijun Aug 1, 2024
0671208
fix(core): error data bug fixing (#6382)
simeng-li Aug 2, 2024
08e7c52
refactor(console): update billing info showed in subscription details…
darcyYe Aug 2, 2024
ce63bba
fix(console): add in-line error message (#6386)
simeng-li Aug 2, 2024
4a324d6
fix(console): create tenant button should stretch to full width (#6381)
charIeszhao Aug 2, 2024
6c256f9
fix(console): manual update subscription data when add/delete resourc…
darcyYe Aug 2, 2024
2a6e6f2
chore(phrases): update content (#6392)
darcyYe Aug 4, 2024
902e620
fix(console): fix the subscription plan display in tenant dropdown (#…
darcyYe Aug 4, 2024
5024182
refactor(core): should not guard sso authentication flow (#6394)
simeng-li Aug 5, 2024
2e3a006
fix(core): should not throw when not adding any new roles to a user (…
darcyYe Aug 5, 2024
a731b09
fix(console): should not call cloud API when tenant ID is not valid (…
darcyYe Aug 5, 2024
43d5bd2
refactor(console): improve guide logo and contact us logo display (#6…
charIeszhao Aug 6, 2024
d56bc2f
feat(core,schemas): add support for argon2d and argon2id (#6404)
wangsijie Aug 6, 2024
241cea1
feat(console): support next auth v5 (#6397)
wangsijie Aug 6, 2024
e8ed717
feat: add add-on feature notice/tag
darcyYe Aug 6, 2024
29a083f
chore: define add on unit price temporarily
darcyYe Aug 6, 2024
a6002d5
refactor: produce br outputs (#6376)
gao-sun Aug 6, 2024
e1922e9
refactor: add `report:subscription:updates` Cloud scope (#6403)
darcyYe Aug 7, 2024
ebc04a2
Revert "refactor: add `report:subscription:updates` Cloud scope" (#6412)
darcyYe Aug 7, 2024
f96a6e4
fix(console): fix unexpected 401 error toast (#6416)
darcyYe Aug 7, 2024
6a71448
feat(core): add Sentinel guard (#6374)
simeng-li Aug 7, 2024
d927f90
feat(core): support google one tap (#6395)
simeng-li Aug 7, 2024
d26fca7
refactor(core,schemas): refactor the register flow (#6401)
simeng-li Aug 7, 2024
1e4aa5a
Merge pull request #6409 from logto-io/yemq-log-8860-add-on-tag
darcyYe Aug 8, 2024
2f40aaa
feat(console): add new usage display for pro subscription plan (#6413)
darcyYe Aug 8, 2024
ddfa7aa
release: version packages (#6197)
silverhand-bot Aug 8, 2024
cec08ac
feat: report subscription usage updates (#6419)
darcyYe Aug 8, 2024
25187ef
feat: support `login_hint` params for sign-in url (#6400)
xiaoyijun Aug 9, 2024
eca4501
refactor(console): avoid getSubscription call before authentication (…
simeng-li Aug 9, 2024
4b01ce7
feat(connector): add kook connector (#6227)
Misaka-L Aug 11, 2024
ea70e09
fix(console): catch timeout error when submitting form (#6431)
xiaoyijun Aug 11, 2024
758d270
refactor(core): merge subscription usage API request (#6427)
simeng-li Aug 12, 2024
ab90f43
fix(experience): prevent errors from applying unsupported cached iden…
xiaoyijun Aug 12, 2024
3824a75
feat(schemas): init personal access tokens table (#6383)
wangsijie Aug 12, 2024
b42b37b
chore: fix alteration timestamp (#6433)
wangsijie Aug 12, 2024
c791847
refactor: stop using GET /:tenantId/usage API and GET /tenants usage …
darcyYe Aug 12, 2024
86e76ff
feat(core): create PAT (#6388)
wangsijie Aug 13, 2024
22d0a06
feat(core): list PATs (#6389)
wangsijie Aug 13, 2024
fe054d5
feat(core): modify and delete PATs (#6390)
wangsijie Aug 13, 2024
da58dec
fix: update tenant selector dropdown data source (#6438)
darcyYe Aug 13, 2024
d9589c8
feat(experience): add identifier sign-in page (#6435)
xiaoyijun Aug 13, 2024
6a809e1
feat(experience): add identifier register page (#6437)
xiaoyijun Aug 13, 2024
ff6b304
fix(console): should not block custom JWT creation for OSS user (#6441)
darcyYe Aug 13, 2024
976558a
refactor(cli): rename proxy cli to tunnel (#6442)
charIeszhao Aug 14, 2024
db42279
feat(core): add experience APIs openapi docs (#6436)
simeng-li Aug 15, 2024
87ff8cb
refactor(console): separate subscription based usage (#6448)
darcyYe Aug 15, 2024
bb98ea8
fix(console): should be able to edit password and email in profile (#…
charIeszhao Aug 15, 2024
d2220f1
fix: fix console issues for add-on (#6443)
darcyYe Aug 15, 2024
0004d68
fix(console): fix add-on console issues
darcyYe Aug 15, 2024
bc83177
fix(console): fix add-on console issues
darcyYe Aug 15, 2024
bdb10db
chore: fix org footer copy
darcyYe Aug 15, 2024
ed2d386
chore: open Stripe payment management page in new tab
darcyYe Aug 15, 2024
e9e5b05
chore: fix MFA banner copy
darcyYe Aug 15, 2024
c0ca5b4
chore: fix add on notice footer
darcyYe Aug 15, 2024
50e4308
refactor(core): redesign get sso connectors endpoint (#6454)
simeng-li Aug 16, 2024
32a2d90
fix(console): fix enterprise SSO creation model button status
darcyYe Aug 16, 2024
04c533e
fix(console): fix code
darcyYe Aug 16, 2024
69208c3
Merge pull request #6452 from logto-io/yemq-fix-add-on-console-issues
darcyYe Aug 16, 2024
9674d5c
fix(core): fix google one tap validation error (#6455)
simeng-li Aug 16, 2024
26b976a
refactor(console): refactor tag component (#6453)
darcyYe Aug 16, 2024
737204e
feat(experience): add identifier sso-only landing page (#6440)
xiaoyijun Aug 16, 2024
f17526c
feat(core,experience,schemas): support identifier page related params…
xiaoyijun Aug 16, 2024
36f1055
chore(console): add display pricing change notice and update plan com…
darcyYe Aug 16, 2024
e9eb212
chore(experience): move shared form components into components file (…
xiaoyijun Aug 16, 2024
cea8aa1
feat(core): implement wellknown swagger endpoints (#6445)
simeng-li Aug 19, 2024
1817eaf
chore(console): update add on tag CSS (#6459)
darcyYe Aug 19, 2024
e4b0288
fix(console): fix impersonation tag in audit log (#6463)
wangsijie Aug 19, 2024
57974a1
fix(cli): should proxy google social callback url properly to exp ui …
charIeszhao Aug 19, 2024
0183d0c
refactor: split translate cmd from logto cli (#6451)
charIeszhao Aug 19, 2024
2362791
chore(core): remove devFeature guard (#6462)
simeng-li Aug 19, 2024
13bfa06
chore(console, core): remove dev features guard for bring your ui fea…
charIeszhao Aug 19, 2024
b549a7e
refactor(console,core): remove add on dev feature guard (#6466)
darcyYe Aug 19, 2024
5488107
fix(experience): update dev features flag env handling (#6467)
xiaoyijun Aug 19, 2024
b185bb7
fix(console): bring back accidentally deleted css file (#6468)
darcyYe Aug 19, 2024
f205aa7
test(experience): add integration tests for first screen feature (#6464)
xiaoyijun Aug 19, 2024
3440b3e
feat(console): add label for new experience API logs (#6469)
simeng-li Aug 19, 2024
746aa58
feat(core): token exchange by pat (#6450)
wangsijie Aug 19, 2024
e9b7b83
chore(console): fix add-on issues (#6470)
darcyYe Aug 19, 2024
1c6b932
feat(console): user personal access tokens (#6444)
wangsijie Aug 20, 2024
e0623df
fix(console): add add-on display issues and refactor component PlanNa…
darcyYe Aug 20, 2024
608d2ef
fix(console): manually trigger usage api updates (#6473)
darcyYe Aug 20, 2024
d467483
fix(experience): correct first screen fallbacks (#6472)
xiaoyijun Aug 20, 2024
818e2c6
fix(experience): smart input field should have correct initial type (…
xiaoyijun Aug 20, 2024
2caeaca
fix(console): fix next auth guide typo (#6478)
wangsijie Aug 21, 2024
763dd60
fix(console,core,connector): fix display issues and `POST /connectors…
darcyYe Aug 21, 2024
9279d4c
fix: translate cli workspace dependency reference (#6474)
charIeszhao Aug 21, 2024
332131a
fix(console): manually trigger usage api updates on org member deleti…
darcyYe Aug 21, 2024
56649b5
chore(console): add beta tag to bring your ui feature (#6484)
charIeszhao Aug 21, 2024
b8b7752
fix(console): fix console z index issue on modals and banners (#6483)
charIeszhao Aug 21, 2024
0ec8510
fix(experience): add sso form mode context provider for identifier si…
xiaoyijun Aug 21, 2024
fc512bc
refactor(console): remove protected app promotion (#6479)
charIeszhao Aug 21, 2024
3249674
chore(console): remove beta tag from 3rd party app (#6485)
charIeszhao Aug 21, 2024
c3bec68
Revert "Revert "refactor: add `report:subscription:updates` Cloud sco…
darcyYe Aug 21, 2024
a999c51
fix(core,console): disable quota guard and unblock resource creation …
darcyYe Aug 21, 2024
f04678e
fix: fix alteration script dependency (#6488)
darcyYe Aug 21, 2024
b61787e
style(experience): add missing brand-60 color token (#6490)
xiaoyijun Aug 21, 2024
19d3aa7
fix: make alteration script compatible for core DB in all regions (#6…
darcyYe Aug 22, 2024
00c2581
feat(console): add doc link of pat (#6496)
wangsijie Aug 22, 2024
f0bbc2a
feat(console): edit personal access token name (#6491)
wangsijie Aug 22, 2024
06f9863
fix(core): remove grant id of token exchange (#6497)
wangsijie Aug 22, 2024
5c81ed9
refactor(cli): show more info and add port in-use detection (#6495)
charIeszhao Aug 22, 2024
c51f3c5
fix(console): always show upsell notice for custom JWT (#6500)
darcyYe Aug 22, 2024
2ebc471
fix(core): remove the requirement of secured app for PAT (#6493)
wangsijie Aug 22, 2024
55cf84b
chore(core): add openapi operationId to experience APIs (#6486)
simeng-li Aug 22, 2024
50bbcb6
test: add integration tests for pat token introspection (#6501)
wangsijie Aug 22, 2024
fec844c
feat(experience): add reset password first screen (#6498)
xiaoyijun Aug 22, 2024
4be675a
fix(core): add grant record for token exchange (#6502)
wangsijie Aug 22, 2024
ad4e146
fix(console): use safeLazy to dynamically import guide mdx (#6503)
charIeszhao Aug 22, 2024
ed774bf
fix(console): change PAT and app secrets phrases (#6504)
wangsijie Aug 22, 2024
f1ecec5
fix(console): remove legacy charge notification components (#6505)
darcyYe Aug 22, 2024
8edbff2
chore: remove optimize deps config for local dev (#6506)
xiaoyijun Aug 22, 2024
14d25ba
fix(core,schemas): check email verification status in me api (#6507)
charIeszhao Aug 22, 2024
e0326c9
chore: add changeset (#6492)
wangsijie Aug 23, 2024
52056f9
chore: remove dev feature guard of PAT (#6499)
wangsijie Aug 23, 2024
13ae792
fix(phrases): fix pl and ru i18n phrases (#6510)
simeng-li Aug 23, 2024
83a72dc
fix(core): should be able to update password in profile if verified v…
charIeszhao Aug 23, 2024
1e35d1a
refactor(tunnel): split tunnel cli and make it a standalone package (…
charIeszhao Aug 23, 2024
61fb856
release: @logto/tunnel:0.1.0 (#6513)
charIeszhao Aug 23, 2024
3aba357
refactor(experience): improve identifier prefilling (#6508)
xiaoyijun Aug 24, 2024
53060c2
chore: add Arabic translation (#6422)
zaaakher Aug 25, 2024
f545716
fix(core): avoid unexpected 500 error (#6515)
simeng-li Aug 26, 2024
ef78823
refactor(experience): remove redundant `defaultType` prop for `SmartI…
xiaoyijun Aug 26, 2024
41ee881
refactor(experience): cache input identifier for reset password first…
xiaoyijun Aug 26, 2024
47d5a62
chore(experience): upgrade react-hook-form (#6520)
xiaoyijun Aug 27, 2024
0fec957
fix(experience): apply form default value to smart input filed (#6521)
xiaoyijun Aug 27, 2024
6951e31
feat(core): add `error_code_key` query string param (#6519)
simeng-li Aug 27, 2024
652898f
refactor: update language code to ar-SA (#6518)
gao-sun Aug 27, 2024
3d3a220
chore: remove dev feature guard for first screens (#6522)
xiaoyijun Aug 28, 2024
8beb758
refactor(core): refactor oidc error response query param (#6525)
simeng-li Aug 28, 2024
aba0892
feat: add Patreon connector (#6514)
devtekve Aug 28, 2024
347cd3b
fix(experience): avoid carring identifer from reset password page to …
xiaoyijun Aug 28, 2024
ee1947a
refactor(console): support entering name while creating a user (#6523)
gao-sun Aug 29, 2024
a0807d7
refactor(core,toolkit): relocate customJwt local vm handler (#6524)
simeng-li Sep 2, 2024
64547fd
chore(console): should use SKU to filter tenant dropdown and add disp…
darcyYe Sep 2, 2024
479d589
chore(schemas): bump withtyped version (#6537)
simeng-li Sep 2, 2024
31296f0
feat: add GitLab connector (#6529)
devtekve Sep 2, 2024
ff4cd67
feat(tunnel): support cli deploy custom ui assets to cloud (#6530)
charIeszhao Sep 3, 2024
b00ec49
refactor: flatten `UserSettings` component file structure (#6539)
xiaoyijun Sep 3, 2024
509e86e
fix(deps): update withtyped and cloud dependency version (#6538)
simeng-li Sep 3, 2024
b51680a
feat(core): add denyAccess api context to customJwt script (#6532)
simeng-li Sep 3, 2024
3103581
feat(console): add api context type declarations (#6533)
simeng-li Sep 4, 2024
a748fc8
fix(core): add `hasPassword` field to user API response (#6543)
xiaoyijun Sep 4, 2024
8d95132
feat(tunnel): support zip option in deploy command (#6541)
charIeszhao Sep 4, 2024
459daeb
release: @logto/tunnel:0.2.0 (#6547)
charIeszhao Sep 4, 2024
27d2c91
feat: add support for nested attribute profile mapping (#6534)
devtekve Sep 5, 2024
f150a67
feat(console): display user password information on user details page…
xiaoyijun Sep 6, 2024
c83fd6f
style(console): adjust sample code editor height (#6548)
simeng-li Sep 6, 2024
baa8577
refactor(experience): experience api migration (#6407)
simeng-li Sep 9, 2024
5f3c069
chore(console,phrases): update custom JWT phrases (#6551)
simeng-li Sep 9, 2024
b837efe
feat(console,core): remove custom token claims api context dev guard …
simeng-li Sep 9, 2024
3b9714b
refactor: set `lang` attribute for html tag (#6536)
gao-sun Sep 9, 2024
fae8725
refactor(console,core,demo-app,elements,experience): improve rtl supp…
charIeszhao Sep 9, 2024
862d27d
fix(core): fix custom UI not triggered bug (#6563)
simeng-li Sep 10, 2024
8b19004
fix: fix object comparison util method used in DB alteration CI (#6562)
darcyYe Sep 10, 2024
2626616
fix(experience): allow link social account on sign-in only mode (#6560)
simeng-li Sep 10, 2024
b639249
feat(core): add koa oidc auth for profile API (#6559)
wangsijie Sep 10, 2024
cc346b4
feat(core): password checking api (#6567)
gao-sun Sep 11, 2024
c368c27
refactor: update display, quota guard and usage report logic for ente…
darcyYe Sep 11, 2024
baa851f
fix(console): fix log label typo (#6569)
simeng-li Sep 12, 2024
380cc43
refactor(console,experience): improve RTL support (#6568)
charIeszhao Sep 12, 2024
a6178f4
fix(core): allow no password user to set password in console profile …
charIeszhao Sep 12, 2024
3436020
refactor: use orgsLimit instead of orgsEnabled as org quota key (#6570)
darcyYe Sep 12, 2024
318550c
fix(experience-legacy): add html attribute dir to better support RTL …
charIeszhao Sep 12, 2024
1383aaf
fix(core): avoid duplicate operationId (#6574)
simeng-li Sep 12, 2024
a6402e7
fix: fix enterprise console issues (#6578)
darcyYe Sep 12, 2024
8bb5c81
feat(schemas): add verification record table (#6566)
wangsijie Sep 13, 2024
193b4a4
fix(experience-legacy): update text alignment for RTL support (#6583)
charIeszhao Sep 13, 2024
560cb23
refactor: refactor SkuName component to make isEnterprisePlan as inpu…
darcyYe Sep 13, 2024
cf53bb2
test: add integration test for no password user setting password (#6579)
charIeszhao Sep 13, 2024
6a4726b
test: add ui integration test for lang and dir html attributes in exp…
charIeszhao Sep 13, 2024
d7663db
fix(experience-legacy): flip arrow icons on rtl (#6584)
charIeszhao Sep 13, 2024
5aab7c0
fix(core): add sso only email guard (#6576)
simeng-li Sep 13, 2024
43d83e8
release: version packages (#6424)
silverhand-bot Sep 13, 2024
25cc2c0
Merge tag 'v1.20.0' into feature/v1.20.0-sam
SamSalvatico Sep 16, 2024
788dd3e
removed some
SamSalvatico Sep 16, 2024
090d424
updated
SamSalvatico Sep 16, 2024
faa67ac
chore(cli): update
SamSalvatico Sep 16, 2024
a0f709f
Merge dev
SamSalvatico Sep 24, 2024
3c75e50
Merge branch 'dev' into feature/v1.20.0-sam
SamSalvatico Oct 7, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,4 @@ dump.rdb
.devcontainer
.github
.husky
.vscode
.vscode
110 changes: 84 additions & 26 deletions .scripts/compare-database.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
import pg from 'pg';
import assert from 'node:assert';

const omit = (object, ...keys) => Object.fromEntries(Object.entries(object).filter(([key]) => !keys.includes(key)));
const omitArray = (arrayOfObjects, ...keys) => arrayOfObjects.map((value) => omit(value, ...keys));
const omit = (object, ...keys) =>
Object.fromEntries(
Object.entries(object).filter(([key]) => !keys.includes(key))
);
const omitArray = (arrayOfObjects, ...keys) =>
arrayOfObjects.map((value) => omit(value, ...keys));

const schemas = ['cloud', 'public'];
const schemasArray = `(${schemas.map((schema) => `'${schema}'`).join(', ')})`;
Expand All @@ -17,31 +21,35 @@ const tryCompare = (a, b) => {
};

const queryDatabaseManifest = async (database) => {
const pool = new pg.Pool({ database, user: 'postgres', password: 'postgres' });
const pool = new pg.Pool({
database,
user: 'postgres',
password: 'postgres',
});

const { rows: tables } = await pool.query(/* sql */`
const { rows: tables } = await pool.query(/* sql */ `
select *
from information_schema.tables
where table_schema in ${schemasArray}
order by table_schema, table_name asc;
`);

const { rows: columns } = await pool.query(/* sql */`
const { rows: columns } = await pool.query(/* sql */ `
select *
from information_schema.columns
where table_schema in ${schemasArray}
order by table_schema, table_name, column_name asc;
`);

const { rows: enums } = await pool.query(/* sql */`
const { rows: enums } = await pool.query(/* sql */ `
select pg_type.typname, pg_enum.enumlabel
from pg_type
join pg_enum
on pg_enum.enumtypid = pg_type.oid
order by pg_type.typname, pg_enum.enumlabel asc;
`);

const { rows: constraints } = await pool.query(/* sql */`
const { rows: constraints } = await pool.query(/* sql */ `
select conrelid::regclass as r_table, con.*, pg_get_constraintdef(con.oid) as def
from pg_catalog.pg_constraint con
inner join pg_catalog.pg_class rel
Expand All @@ -52,14 +60,14 @@ const queryDatabaseManifest = async (database) => {
order by conname asc, def asc;
`);

const { rows: indexes } = await pool.query(/* sql */`
const { rows: indexes } = await pool.query(/* sql */ `
select *
from pg_indexes
where schemaname in ${schemasArray}
order by schemaname, indexname asc;
`);

const { rows: funcs } = await pool.query(/* sql */`
const { rows: funcs } = await pool.query(/* sql */ `
select n.nspname as schema_name,
p.proname as specific_name,
case p.prokind
Expand All @@ -83,15 +91,19 @@ const queryDatabaseManifest = async (database) => {
order by schema_name, specific_name;
`);

const { rows: triggers } = await pool.query(/* sql */`select * from information_schema.triggers;`);
const { rows: policies } = await pool.query(/* sql */`select * from pg_policies order by tablename, policyname;`);
const { rows: columnGrants } = await pool.query(/* sql */`
const { rows: triggers } = await pool.query(
/* sql */ `select * from information_schema.triggers;`
);
const { rows: policies } = await pool.query(
/* sql */ `select * from pg_policies order by tablename, policyname;`
);
const { rows: columnGrants } = await pool.query(/* sql */ `
select * from information_schema.role_column_grants
where table_schema in ${schemasArray}
and grantee != 'postgres'
order by table_schema, grantee, table_name, column_name, privilege_type;
`);
const { rows: tableGrants } = await pool.query(/* sql */`
const { rows: tableGrants } = await pool.query(/* sql */ `
select * from information_schema.role_table_grants
where table_schema in ${schemasArray}
and grantee != 'postgres'
Expand Down Expand Up @@ -130,10 +142,19 @@ const queryDatabaseManifest = async (database) => {
const normalizePolicyname = ({ policyname, ...rest }) => {
const prefix = 'allow_';
const suffix = '_access';
if (policyname && policyname.startsWith(prefix) && policyname.endsWith(suffix)) {
if (
policyname &&
policyname.startsWith(prefix) &&
policyname.endsWith(suffix)
) {
// This is a naming convention in Logto cloud, it is formatted as `allow_{role_name}_access`, we need to normalize the role name part for the convenience of comparing DB updates.
// Ref: https://github.com/logto-io/cloud/pull/738
return { policyname: `${prefix}${normalizeRoleName(policyname.slice(prefix.length, -suffix.length))}${suffix}`, ...rest };
return {
policyname: `${prefix}${normalizeRoleName(
policyname.slice(prefix.length, -suffix.length)
)}${suffix}`,
...rest,
};
}

return { policyname, ...rest };
Expand All @@ -142,12 +163,18 @@ const queryDatabaseManifest = async (database) => {
// Omit generated ids and values
return {
tables: omitArray(tables, 'table_catalog'),
columns: omitArray(columns, 'table_catalog', 'udt_catalog', 'ordinal_position', 'dtd_identifier'),
columns: omitArray(
columns,
'table_catalog',
'udt_catalog',
'ordinal_position',
'dtd_identifier'
),
enums,
constraints: omitArray(
constraints,
'oid',
/**
/**
* See https://www.postgresql.org/docs/current/catalog-pg-constraint.html, better to use `pg_get_constraintdef()`
* to extract the definition of check constraint, so this can be omitted since conbin changes with the status of the computing resources.
*/
Expand All @@ -164,18 +191,20 @@ const queryDatabaseManifest = async (database) => {
'conppeqop',
'conffeqop',
'confdelsetcols',
'conexclop',
'conexclop'
),
indexes,
funcs,
triggers: omitArray(triggers, 'trigger_catalog', 'event_object_catalog'),
policies: policies.map(normalizeRoles).map(normalizePolicyname),
columnGrants: omitArray(columnGrants, 'table_catalog').map(normalizeGrantee),
columnGrants: omitArray(columnGrants, 'table_catalog').map(
normalizeGrantee
),
tableGrants: omitArray(tableGrants, 'table_catalog').map(normalizeGrantee),
};
};

const [,, database1, database2] = process.argv;
const [, , database1, database2] = process.argv;

console.log('Compare database manifest between', database1, 'and', database2);

Expand All @@ -191,6 +220,23 @@ const autoCompare = (a, b) => {
return (typeof a).localeCompare(typeof b);
}

if (typeof a === 'object' && a !== null && b !== null) {
const aKeys = Object.keys(a).sort();
const bKeys = Object.keys(b).sort();

for (let i = 0; i < Math.min(aKeys.length, bKeys.length); i++) {
if (aKeys[i] !== bKeys[i]) {
return aKeys[i].localeCompare(bKeys[i]);
}
const comparison = autoCompare(a[aKeys[i]], b[bKeys[i]]);
if (comparison !== 0) {
return comparison;
}
}

return aKeys.length - bKeys.length;
}

return String(a).localeCompare(String(b));
};

Expand All @@ -200,15 +246,24 @@ const buildSortByKeys = (keys) => (a, b) => {
};

const queryDatabaseData = async (database) => {
const pool = new pg.Pool({ database, user: 'postgres', password: 'postgres' });
const result = await Promise.all(manifests[0].tables
.map(async ({ table_schema, table_name }) => {
const { rows } = await pool.query(/* sql */`select * from ${table_schema}.${table_name};`);
const pool = new pg.Pool({
database,
user: 'postgres',
password: 'postgres',
});
const result = await Promise.all(
manifests[0].tables.map(async ({ table_schema, table_name }) => {
const { rows } = await pool.query(
/* sql */ `select * from ${table_schema}.${table_name};`
);

// check config rows except the value column
if (['logto_configs', '_logto_configs', 'systems'].includes(table_name)) {
const data = omitArray(rows, 'value');
return [table_name, data.sort(buildSortByKeys(Object.keys(data[0] ?? {})))];
return [
table_name,
data.sort(buildSortByKeys(Object.keys(data[0] ?? {}))),
];
}

const data = omitArray(
Expand All @@ -234,4 +289,7 @@ const queryDatabaseData = async (database) => {

console.log('Compare database data between', database1, 'and', database2);

tryCompare(await queryDatabaseData(database1), await queryDatabaseData(database2));
tryCompare(
await queryDatabaseData(database1),
await queryDatabaseData(database2)
);
2 changes: 1 addition & 1 deletion commitlint.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ const config: UserConfig = {
extends: ['@commitlint/config-conventional'],
rules: {
'type-enum': [2, 'always', [...conventional.rules['type-enum'][2], 'api', 'release']],
'scope-enum': [2, 'always', ['connector', 'console', 'core', 'demo-app', 'test', 'phrases', 'schemas', 'shared', 'experience', 'deps', 'deps-dev', 'cli', 'toolkit', 'cloud', 'app-insights', 'elements']],
'scope-enum': [2, 'always', ['connector', 'console', 'core', 'demo-app', 'test', 'phrases', 'schemas', 'shared', 'experience', 'experience-legacy', 'deps', 'deps-dev', 'cli', 'toolkit', 'cloud', 'app-insights', 'elements', 'translate', 'tunnel']],
// Slightly increase the tolerance to allow the appending PR number
...(isCi && { 'header-max-length': [2, 'always', 110] }),
'body-max-line-length': [2, 'always', 110],
Expand Down
6 changes: 4 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,11 @@
"prepack": "pnpm -r prepack",
"dev": "pnpm -r prepack && pnpm start:dev",
"dev:cloud": "IS_CLOUD=1 CONSOLE_PUBLIC_URL=/ pnpm dev",
"start:dev": "pnpm -r --parallel --filter=!@logto/integration-tests --filter \"!./packages/connectors/connector-*\" dev",
"start:dev": "pnpm -r --parallel --filter=!@logto/integration-tests --filter=!@logto/experience-legacy --filter \"!./packages/connectors/connector-*\" dev",
"start": "cd packages/core && NODE_ENV=production node .",
"ogcio:start": "cd packages/core && node .",
"cli": "logto",
"translate": "logto-translate",
"changeset": "changeset",
"alteration": "logto db alt",
"connectors": "pnpm -r --filter \"./packages/connectors/connector-*\"",
Expand Down Expand Up @@ -53,6 +54,7 @@
}
},
"dependencies": {
"@logto/cli": "workspace:^1.1.0"
"@logto/cli": "workspace:^",
"@logto/translate": "workspace:^"
}
}
18 changes: 18 additions & 0 deletions packages/cli/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,23 @@
# Change Log

## 1.20.0

### Minor Changes

- 0183d0c33: split translate command from @logto/cli and create a standalone package

The "translate" command has greatly increased the size of the "@logto/cli" package, as it involves TypeScript code manipulation and has to use "typescrpt" as a "dependency".
In fact, only a small number of developers who want to contribute Logto will use this command, so we believe it's best to separate the less frequently used "translate" command from the "cli" package to keep it small and simple.

Please also be noted that this change is actually a breaking change for those who use the "translate" command. However, the CLI has to be bundle-released with the "Logto" open-source distribution, and we feel it is still too early to make a major version bump for Logto. Therefore, the "minor" bump is used this time.

### Patch Changes

- Updated dependencies [e0326c96c]
- Updated dependencies [25187ef63]
- Updated dependencies [479d5895a]
- @logto/[email protected]

## 1.19.0

### Minor Changes
Expand Down
15 changes: 4 additions & 11 deletions packages/cli/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@logto/cli",
"version": "1.19.0",
"version": "1.20.0",
"description": "Logto CLI.",
"author": "Silverhand Inc. <[email protected]>",
"homepage": "https://github.com/logto-io/logto#readme",
Expand Down Expand Up @@ -44,10 +44,7 @@
"dependencies": {
"@logto/connector-kit": "workspace:^4.0.0",
"@logto/core-kit": "workspace:^2.5.0",
"@logto/language-kit": "workspace:^1.1.0",
"@logto/phrases": "workspace:^1.13.0",
"@logto/phrases-experience": "workspace:^1.7.0",
"@logto/schemas": "workspace:1.19.0",
"@logto/schemas": "workspace:1.20.0",
"@logto/shared": "workspace:^3.1.1",
"@silverhand/essentials": "^2.9.1",
"@silverhand/slonik": "31.0.0-beta.2",
Expand All @@ -56,19 +53,14 @@
"dotenv": "^16.4.5",
"got": "^14.0.0",
"hpagent": "^1.2.0",
"http-proxy-middleware": "^3.0.0",
"inquirer": "^9.0.0",
"mime": "^4.0.4",
"nanoid": "^5.0.1",
"ora": "^8.0.1",
"p-limit": "^6.0.0",
"p-queue": "^8.0.0",
"p-retry": "^6.0.0",
"pg-protocol": "^1.6.0",
"roarr": "^7.11.0",
"semver": "^7.3.8",
"tar": "^7.0.0",
"typescript": "^5.5.3",
"yargs": "^17.6.0",
"zod": "^3.23.8"
},
Expand All @@ -82,11 +74,12 @@
"@types/tar": "^6.1.12",
"@types/yargs": "^17.0.13",
"@vitest/coverage-v8": "^2.0.0",
"@withtyped/server": "^0.13.6",
"@withtyped/server": "^0.14.0",
"eslint": "^8.56.0",
"lint-staged": "^15.0.0",
"prettier": "^3.0.0",
"sinon": "^18.0.0",
"typescript": "^5.5.3",
"vitest": "^2.0.0"
},
"eslintConfig": {
Expand Down
3 changes: 2 additions & 1 deletion packages/cli/src/commands/database/seed/tables.ts
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,8 @@ export const seedTables = async (
({ name }) =>
name === CloudScope.SendSms ||
name === CloudScope.SendEmail ||
name === CloudScope.FetchCustomJwt
name === CloudScope.FetchCustomJwt ||
name === CloudScope.ReportSubscriptionUpdates
)
.map(({ id }) => id)
);
Expand Down
Loading