@ytsaurus/ui 1.75.0 → 1.76.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/dist/public/build/assets-manifest.json +52 -52
  2. package/dist/public/build/css/main.0efa9da5.css +10 -0
  3. package/dist/public/build/css/main.0efa9da5.css.map +1 -0
  4. package/dist/public/build/css/{navigation.0a9042b3.chunk.css → navigation.bf4facc9.chunk.css} +2 -2
  5. package/dist/public/build/css/navigation.bf4facc9.chunk.css.map +1 -0
  6. package/dist/public/build/css/scheduling.00ec9179.chunk.css +2 -0
  7. package/dist/public/build/css/scheduling.00ec9179.chunk.css.map +1 -0
  8. package/dist/public/build/js/{6729.da9aa02f.chunk.js → 6729.ceb75c7e.chunk.js} +2 -2
  9. package/dist/public/build/js/6729.ceb75c7e.chunk.js.map +1 -0
  10. package/dist/public/build/js/{7959.fedd6b2e.chunk.js → 7959.95ebd185.chunk.js} +2 -2
  11. package/dist/public/build/js/7959.95ebd185.chunk.js.map +1 -0
  12. package/dist/public/build/js/{8390.83f4531a.chunk.js → 8390.c3d2de6a.chunk.js} +2 -2
  13. package/dist/public/build/js/{8390.83f4531a.chunk.js.map → 8390.c3d2de6a.chunk.js.map} +1 -1
  14. package/dist/public/build/js/{8460.2d4d237e.chunk.js → 8460.fc8e2238.chunk.js} +2 -2
  15. package/dist/public/build/js/{8460.2d4d237e.chunk.js.map → 8460.fc8e2238.chunk.js.map} +1 -1
  16. package/dist/public/build/js/{8778.e18e655b.chunk.js → 8778.f3ea089f.chunk.js} +2 -2
  17. package/dist/public/build/js/{8778.e18e655b.chunk.js.map → 8778.f3ea089f.chunk.js.map} +1 -1
  18. package/dist/public/build/js/9569.30eceefe.chunk.js +2 -0
  19. package/dist/public/build/js/9569.30eceefe.chunk.js.map +1 -0
  20. package/dist/public/build/js/acl.4cd54663.chunk.js +2 -0
  21. package/dist/public/build/js/acl.4cd54663.chunk.js.map +1 -0
  22. package/dist/public/build/js/{app-navigation.b062662b.chunk.js → app-navigation.13c65573.chunk.js} +2 -2
  23. package/dist/public/build/js/app-navigation.13c65573.chunk.js.map +1 -0
  24. package/dist/public/build/js/chyt.25dce13f.chunk.js +2 -0
  25. package/dist/public/build/js/{chyt.7f99f87d.chunk.js.map → chyt.25dce13f.chunk.js.map} +1 -1
  26. package/dist/public/build/js/cluster-page-wrapper.1d5c0664.chunk.js +2 -0
  27. package/dist/public/build/js/cluster-page-wrapper.1d5c0664.chunk.js.map +1 -0
  28. package/dist/public/build/js/main.2c4538cc.js +3 -0
  29. package/dist/public/build/js/main.2c4538cc.js.map +1 -0
  30. package/dist/public/build/js/manage-tokens.e1e791fc.chunk.js +2 -0
  31. package/dist/public/build/js/manage-tokens.e1e791fc.chunk.js.map +1 -0
  32. package/dist/public/build/js/{navigation-flow.eeb01518.chunk.js → navigation-flow.6d67215a.chunk.js} +2 -2
  33. package/dist/public/build/js/{navigation-flow.eeb01518.chunk.js.map → navigation-flow.6d67215a.chunk.js.map} +1 -1
  34. package/dist/public/build/js/navigation.8103294d.chunk.js +2 -0
  35. package/dist/public/build/js/navigation.8103294d.chunk.js.map +1 -0
  36. package/dist/public/build/js/odin.127bf6dc.chunk.js +2 -0
  37. package/dist/public/build/js/odin.127bf6dc.chunk.js.map +1 -0
  38. package/dist/public/build/js/{query-results.733b1795.chunk.js → query-results.0a05cc41.chunk.js} +2 -2
  39. package/dist/public/build/js/{query-results.733b1795.chunk.js.map → query-results.0a05cc41.chunk.js.map} +1 -1
  40. package/dist/public/build/js/{query-tracker.06cc4fdc.chunk.js → query-tracker.137d1cea.chunk.js} +2 -2
  41. package/dist/public/build/js/{query-tracker.06cc4fdc.chunk.js.map → query-tracker.137d1cea.chunk.js.map} +1 -1
  42. package/dist/public/build/js/{runtime.1c3fbd5b.js → runtime.e1d3f321.js} +2 -2
  43. package/dist/public/build/js/{runtime.1c3fbd5b.js.map → runtime.e1d3f321.js.map} +1 -1
  44. package/dist/public/build/js/{scheduling.b70d4627.chunk.js → scheduling.ad977895.chunk.js} +2 -2
  45. package/dist/public/build/js/{scheduling.b70d4627.chunk.js.map → scheduling.ad977895.chunk.js.map} +1 -1
  46. package/dist/public/build/js/{system.f759d3f0.chunk.js → system.de3869c9.chunk.js} +2 -2
  47. package/dist/public/build/js/system.de3869c9.chunk.js.map +1 -0
  48. package/dist/public/build/js/{yt-df-dialog.9ddda260.chunk.js → yt-df-dialog.4ad719bf.chunk.js} +2 -2
  49. package/dist/public/build/js/yt-df-dialog.4ad719bf.chunk.js.map +1 -0
  50. package/dist/public/build/manifest.json +48 -48
  51. package/dist/server/components/oauth.d.ts +2 -1
  52. package/dist/server/components/oauth.js +15 -7
  53. package/dist/server/controllers/oauth-login.js +8 -3
  54. package/package.json +2 -2
  55. package/dist/public/build/css/main.2d3cbfcd.css +0 -10
  56. package/dist/public/build/css/main.2d3cbfcd.css.map +0 -1
  57. package/dist/public/build/css/navigation.0a9042b3.chunk.css.map +0 -1
  58. package/dist/public/build/css/scheduling.40c36db6.chunk.css +0 -2
  59. package/dist/public/build/css/scheduling.40c36db6.chunk.css.map +0 -1
  60. package/dist/public/build/js/5177.b4cec253.chunk.js +0 -2
  61. package/dist/public/build/js/5177.b4cec253.chunk.js.map +0 -1
  62. package/dist/public/build/js/6729.da9aa02f.chunk.js.map +0 -1
  63. package/dist/public/build/js/7959.fedd6b2e.chunk.js.map +0 -1
  64. package/dist/public/build/js/acl.dd99876f.chunk.js +0 -2
  65. package/dist/public/build/js/acl.dd99876f.chunk.js.map +0 -1
  66. package/dist/public/build/js/app-navigation.b062662b.chunk.js.map +0 -1
  67. package/dist/public/build/js/chyt.7f99f87d.chunk.js +0 -2
  68. package/dist/public/build/js/cluster-page-wrapper.894fbacc.chunk.js +0 -2
  69. package/dist/public/build/js/cluster-page-wrapper.894fbacc.chunk.js.map +0 -1
  70. package/dist/public/build/js/main.7981a440.js +0 -3
  71. package/dist/public/build/js/main.7981a440.js.map +0 -1
  72. package/dist/public/build/js/manage-tokens.286a4da9.chunk.js +0 -2
  73. package/dist/public/build/js/manage-tokens.286a4da9.chunk.js.map +0 -1
  74. package/dist/public/build/js/navigation.105812b5.chunk.js +0 -2
  75. package/dist/public/build/js/navigation.105812b5.chunk.js.map +0 -1
  76. package/dist/public/build/js/odin.df1cfe56.chunk.js +0 -2
  77. package/dist/public/build/js/odin.df1cfe56.chunk.js.map +0 -1
  78. package/dist/public/build/js/system.f759d3f0.chunk.js.map +0 -1
  79. package/dist/public/build/js/yt-df-dialog.9ddda260.chunk.js.map +0 -1
  80. /package/dist/public/build/js/{main.7981a440.js.LICENSE.txt → main.2c4538cc.js.LICENSE.txt} +0 -0
@@ -1,28 +1,28 @@
1
1
  {
2
- "main.css": "css/main.2d3cbfcd.css",
3
- "main.js": "js/main.7981a440.js",
4
- "runtime.js": "js/runtime.1c3fbd5b.js",
2
+ "main.css": "css/main.0efa9da5.css",
3
+ "main.js": "js/main.2c4538cc.js",
4
+ "runtime.js": "js/runtime.e1d3f321.js",
5
5
  "odin.css": "css/odin.dc2c0c94.chunk.css",
6
- "odin.js": "js/odin.df1cfe56.chunk.js",
6
+ "odin.js": "js/odin.127bf6dc.chunk.js",
7
7
  "cluster-menu.css": "css/cluster-menu.d8cafef3.chunk.css",
8
8
  "cluster-menu.js": "js/cluster-menu.381d4a48.chunk.js",
9
9
  "cluster-page-wrapper.css": "css/cluster-page-wrapper.4610796b.chunk.css",
10
- "cluster-page-wrapper.js": "js/cluster-page-wrapper.894fbacc.chunk.js",
10
+ "cluster-page-wrapper.js": "js/cluster-page-wrapper.1d5c0664.chunk.js",
11
11
  "manage-tokens.css": "css/manage-tokens.67f9bab0.chunk.css",
12
- "manage-tokens.js": "js/manage-tokens.286a4da9.chunk.js",
12
+ "manage-tokens.js": "js/manage-tokens.e1e791fc.chunk.js",
13
13
  "app-navigation.css": "css/app-navigation.6955071c.chunk.css",
14
- "app-navigation.js": "js/app-navigation.b062662b.chunk.js",
14
+ "app-navigation.js": "js/app-navigation.13c65573.chunk.js",
15
15
  "js/6217.9bd9ce9d.chunk.js": "js/6217.9bd9ce9d.chunk.js",
16
16
  "support-comonent.js": "js/support-comonent.96d54c66.chunk.js",
17
17
  "yt-user-suggest.js": "js/yt-user-suggest.b961f4da.chunk.js",
18
18
  "yt-subject-suggest.css": "css/yt-subject-suggest.83a90268.chunk.css",
19
19
  "yt-subject-suggest.js": "js/yt-subject-suggest.6206f1fd.chunk.js",
20
20
  "acl.css": "css/acl.902af0d9.chunk.css",
21
- "acl.js": "js/acl.dd99876f.chunk.js",
21
+ "acl.js": "js/acl.4cd54663.chunk.js",
22
22
  "default-subject-link.css": "css/default-subject-link.4dc8a973.chunk.css",
23
23
  "default-subject-link.js": "js/default-subject-link.17448a19.chunk.js",
24
24
  "query-results.css": "css/query-results.9145dc2c.chunk.css",
25
- "query-results.js": "js/query-results.733b1795.chunk.js",
25
+ "query-results.js": "js/query-results.0a05cc41.chunk.js",
26
26
  "js/7776.b343bc40.chunk.js": "js/7776.b343bc40.chunk.js",
27
27
  "js/897.aff55e07.chunk.js": "js/897.aff55e07.chunk.js",
28
28
  "js/4163.848e1939.chunk.js": "js/4163.848e1939.chunk.js",
@@ -167,7 +167,7 @@
167
167
  "js/6015.82d07c89.chunk.js": "js/6015.82d07c89.chunk.js",
168
168
  "js/9385.68e39c6d.chunk.js": "js/9385.68e39c6d.chunk.js",
169
169
  "yt-df-dialog.css": "css/yt-df-dialog.79820430.chunk.css",
170
- "yt-df-dialog.js": "js/yt-df-dialog.9ddda260.chunk.js",
170
+ "yt-df-dialog.js": "js/yt-df-dialog.4ad719bf.chunk.js",
171
171
  "ban-page.js": "js/ban-page.b938dd45.chunk.js",
172
172
  "components.css": "css/components.fd2fa23a.chunk.css",
173
173
  "components.js": "js/components.bbe331cb.chunk.js",
@@ -177,9 +177,9 @@
177
177
  "dashboard.css": "css/dashboard.b5a5a3e8.chunk.css",
178
178
  "dashboard.js": "js/dashboard.5d885065.chunk.js",
179
179
  "system.css": "css/system.fca5f8f3.chunk.css",
180
- "system.js": "js/system.f759d3f0.chunk.js",
181
- "navigation.css": "css/navigation.0a9042b3.chunk.css",
182
- "navigation.js": "js/navigation.105812b5.chunk.js",
180
+ "system.js": "js/system.de3869c9.chunk.js",
181
+ "navigation.css": "css/navigation.bf4facc9.chunk.css",
182
+ "navigation.js": "js/navigation.8103294d.chunk.js",
183
183
  "path-viewer.css": "css/path-viewer.aa1a7d26.chunk.css",
184
184
  "path-viewer.js": "js/path-viewer.b1b3328d.chunk.js",
185
185
  "tablet.css": "css/tablet.94efb459.chunk.css",
@@ -190,14 +190,14 @@
190
190
  "groups.js": "js/groups.923ba865.chunk.js",
191
191
  "users.css": "css/users.c7f945d8.chunk.css",
192
192
  "users.js": "js/users.ddb96e8d.chunk.js",
193
- "scheduling.css": "css/scheduling.40c36db6.chunk.css",
194
- "scheduling.js": "js/scheduling.b70d4627.chunk.js",
193
+ "scheduling.css": "css/scheduling.00ec9179.chunk.css",
194
+ "scheduling.js": "js/scheduling.ad977895.chunk.js",
195
195
  "query-tracker.css": "css/query-tracker.94d91868.chunk.css",
196
- "query-tracker.js": "js/query-tracker.06cc4fdc.chunk.js",
196
+ "query-tracker.js": "js/query-tracker.137d1cea.chunk.js",
197
197
  "job.css": "css/job.c7c99207.chunk.css",
198
198
  "job.js": "js/job.4fc50056.chunk.js",
199
199
  "chyt.css": "css/chyt.53f5c505.chunk.css",
200
- "chyt.js": "js/chyt.7f99f87d.chunk.js",
200
+ "chyt.js": "js/chyt.25dce13f.chunk.js",
201
201
  "css/1195.0483c72f.chunk.css": "css/1195.0483c72f.chunk.css",
202
202
  "js/1195.23ad2156.chunk.js": "js/1195.23ad2156.chunk.js",
203
203
  "css/9329.3c9e8bf4.chunk.css": "css/9329.3c9e8bf4.chunk.css",
@@ -207,7 +207,7 @@
207
207
  "query-widget.css": "css/query-widget.deb0fab7.chunk.css",
208
208
  "query-widget.js": "js/query-widget.4bd0f75f.chunk.js",
209
209
  "navigation-flow.css": "css/navigation-flow.cdcf90a6.chunk.css",
210
- "navigation-flow.js": "js/navigation-flow.eeb01518.chunk.js",
210
+ "navigation-flow.js": "js/navigation-flow.6d67215a.chunk.js",
211
211
  "tablet-errors-by-bundle.css": "css/tablet-errors-by-bundle.888e2522.chunk.css",
212
212
  "tablet-errors-by-bundle.js": "js/tablet-errors-by-bundle.ca917cd6.chunk.js",
213
213
  "vcs.css": "css/vcs.ca6825ac.chunk.css",
@@ -372,22 +372,22 @@
372
372
  "js/8427.0f8774cc.chunk.js": "js/8427.0f8774cc.chunk.js",
373
373
  "js/8356.fd6db053.chunk.js": "js/8356.fd6db053.chunk.js",
374
374
  "js/6692.dc416f50.chunk.js": "js/6692.dc416f50.chunk.js",
375
- "js/5177.b4cec253.chunk.js": "js/5177.b4cec253.chunk.js",
376
- "js/7959.fedd6b2e.chunk.js": "js/7959.fedd6b2e.chunk.js",
377
- "js/8390.83f4531a.chunk.js": "js/8390.83f4531a.chunk.js",
375
+ "js/9569.30eceefe.chunk.js": "js/9569.30eceefe.chunk.js",
376
+ "js/7959.95ebd185.chunk.js": "js/7959.95ebd185.chunk.js",
377
+ "js/8390.c3d2de6a.chunk.js": "js/8390.c3d2de6a.chunk.js",
378
378
  "js/9045.07f8e292.chunk.js": "js/9045.07f8e292.chunk.js",
379
379
  "js/6673.00cb7533.chunk.js": "js/6673.00cb7533.chunk.js",
380
380
  "js/2447.b2877275.chunk.js": "js/2447.b2877275.chunk.js",
381
- "js/8460.2d4d237e.chunk.js": "js/8460.2d4d237e.chunk.js",
381
+ "js/8460.fc8e2238.chunk.js": "js/8460.fc8e2238.chunk.js",
382
382
  "js/343.b926b68c.chunk.js": "js/343.b926b68c.chunk.js",
383
383
  "js/3302.b8eb7c9c.chunk.js": "js/3302.b8eb7c9c.chunk.js",
384
384
  "js/1306.2b116196.chunk.js": "js/1306.2b116196.chunk.js",
385
385
  "js/3934.054b2b2a.chunk.js": "js/3934.054b2b2a.chunk.js",
386
- "js/6729.da9aa02f.chunk.js": "js/6729.da9aa02f.chunk.js",
386
+ "js/6729.ceb75c7e.chunk.js": "js/6729.ceb75c7e.chunk.js",
387
387
  "js/1879.23423388.chunk.js": "js/1879.23423388.chunk.js",
388
388
  "js/1983.666923be.chunk.js": "js/1983.666923be.chunk.js",
389
389
  "js/1260.534f3f75.chunk.js": "js/1260.534f3f75.chunk.js",
390
- "js/8778.e18e655b.chunk.js": "js/8778.e18e655b.chunk.js",
390
+ "js/8778.f3ea089f.chunk.js": "js/8778.f3ea089f.chunk.js",
391
391
  "js/5088.64e090aa.chunk.js": "js/5088.64e090aa.chunk.js",
392
392
  "js/3784.80802eb0.chunk.js": "js/3784.80802eb0.chunk.js",
393
393
  "json.5239aa2e.worker.js": "json.5239aa2e.worker.js",
@@ -406,30 +406,30 @@
406
406
  "assets/images/user-avatar.svg": "assets/images/user-avatar.24a15921.svg",
407
407
  "assets/images/ui.jpg": "assets/images/ui.bab31938.jpg",
408
408
  "assets/images/cluster-2x.svg": "assets/images/cluster-2x.e53788d6.svg",
409
- "main.2d3cbfcd.css.map": "css/main.2d3cbfcd.css.map",
410
- "main.7981a440.js.map": "js/main.7981a440.js.map",
411
- "runtime.1c3fbd5b.js.map": "js/runtime.1c3fbd5b.js.map",
409
+ "main.0efa9da5.css.map": "css/main.0efa9da5.css.map",
410
+ "main.2c4538cc.js.map": "js/main.2c4538cc.js.map",
411
+ "runtime.e1d3f321.js.map": "js/runtime.e1d3f321.js.map",
412
412
  "odin.dc2c0c94.chunk.css.map": "css/odin.dc2c0c94.chunk.css.map",
413
- "odin.df1cfe56.chunk.js.map": "js/odin.df1cfe56.chunk.js.map",
413
+ "odin.127bf6dc.chunk.js.map": "js/odin.127bf6dc.chunk.js.map",
414
414
  "cluster-menu.d8cafef3.chunk.css.map": "css/cluster-menu.d8cafef3.chunk.css.map",
415
415
  "cluster-menu.381d4a48.chunk.js.map": "js/cluster-menu.381d4a48.chunk.js.map",
416
416
  "cluster-page-wrapper.4610796b.chunk.css.map": "css/cluster-page-wrapper.4610796b.chunk.css.map",
417
- "cluster-page-wrapper.894fbacc.chunk.js.map": "js/cluster-page-wrapper.894fbacc.chunk.js.map",
417
+ "cluster-page-wrapper.1d5c0664.chunk.js.map": "js/cluster-page-wrapper.1d5c0664.chunk.js.map",
418
418
  "manage-tokens.67f9bab0.chunk.css.map": "css/manage-tokens.67f9bab0.chunk.css.map",
419
- "manage-tokens.286a4da9.chunk.js.map": "js/manage-tokens.286a4da9.chunk.js.map",
419
+ "manage-tokens.e1e791fc.chunk.js.map": "js/manage-tokens.e1e791fc.chunk.js.map",
420
420
  "app-navigation.6955071c.chunk.css.map": "css/app-navigation.6955071c.chunk.css.map",
421
- "app-navigation.b062662b.chunk.js.map": "js/app-navigation.b062662b.chunk.js.map",
421
+ "app-navigation.13c65573.chunk.js.map": "js/app-navigation.13c65573.chunk.js.map",
422
422
  "6217.9bd9ce9d.chunk.js.map": "js/6217.9bd9ce9d.chunk.js.map",
423
423
  "support-comonent.96d54c66.chunk.js.map": "js/support-comonent.96d54c66.chunk.js.map",
424
424
  "yt-user-suggest.b961f4da.chunk.js.map": "js/yt-user-suggest.b961f4da.chunk.js.map",
425
425
  "yt-subject-suggest.83a90268.chunk.css.map": "css/yt-subject-suggest.83a90268.chunk.css.map",
426
426
  "yt-subject-suggest.6206f1fd.chunk.js.map": "js/yt-subject-suggest.6206f1fd.chunk.js.map",
427
427
  "acl.902af0d9.chunk.css.map": "css/acl.902af0d9.chunk.css.map",
428
- "acl.dd99876f.chunk.js.map": "js/acl.dd99876f.chunk.js.map",
428
+ "acl.4cd54663.chunk.js.map": "js/acl.4cd54663.chunk.js.map",
429
429
  "default-subject-link.4dc8a973.chunk.css.map": "css/default-subject-link.4dc8a973.chunk.css.map",
430
430
  "default-subject-link.17448a19.chunk.js.map": "js/default-subject-link.17448a19.chunk.js.map",
431
431
  "query-results.9145dc2c.chunk.css.map": "css/query-results.9145dc2c.chunk.css.map",
432
- "query-results.733b1795.chunk.js.map": "js/query-results.733b1795.chunk.js.map",
432
+ "query-results.0a05cc41.chunk.js.map": "js/query-results.0a05cc41.chunk.js.map",
433
433
  "7776.b343bc40.chunk.js.map": "js/7776.b343bc40.chunk.js.map",
434
434
  "897.aff55e07.chunk.js.map": "js/897.aff55e07.chunk.js.map",
435
435
  "4163.848e1939.chunk.js.map": "js/4163.848e1939.chunk.js.map",
@@ -574,7 +574,7 @@
574
574
  "6015.82d07c89.chunk.js.map": "js/6015.82d07c89.chunk.js.map",
575
575
  "9385.68e39c6d.chunk.js.map": "js/9385.68e39c6d.chunk.js.map",
576
576
  "yt-df-dialog.79820430.chunk.css.map": "css/yt-df-dialog.79820430.chunk.css.map",
577
- "yt-df-dialog.9ddda260.chunk.js.map": "js/yt-df-dialog.9ddda260.chunk.js.map",
577
+ "yt-df-dialog.4ad719bf.chunk.js.map": "js/yt-df-dialog.4ad719bf.chunk.js.map",
578
578
  "ban-page.b938dd45.chunk.js.map": "js/ban-page.b938dd45.chunk.js.map",
579
579
  "components.fd2fa23a.chunk.css.map": "css/components.fd2fa23a.chunk.css.map",
580
580
  "components.bbe331cb.chunk.js.map": "js/components.bbe331cb.chunk.js.map",
@@ -584,9 +584,9 @@
584
584
  "dashboard.b5a5a3e8.chunk.css.map": "css/dashboard.b5a5a3e8.chunk.css.map",
585
585
  "dashboard.5d885065.chunk.js.map": "js/dashboard.5d885065.chunk.js.map",
586
586
  "system.fca5f8f3.chunk.css.map": "css/system.fca5f8f3.chunk.css.map",
587
- "system.f759d3f0.chunk.js.map": "js/system.f759d3f0.chunk.js.map",
588
- "navigation.0a9042b3.chunk.css.map": "css/navigation.0a9042b3.chunk.css.map",
589
- "navigation.105812b5.chunk.js.map": "js/navigation.105812b5.chunk.js.map",
587
+ "system.de3869c9.chunk.js.map": "js/system.de3869c9.chunk.js.map",
588
+ "navigation.bf4facc9.chunk.css.map": "css/navigation.bf4facc9.chunk.css.map",
589
+ "navigation.8103294d.chunk.js.map": "js/navigation.8103294d.chunk.js.map",
590
590
  "path-viewer.aa1a7d26.chunk.css.map": "css/path-viewer.aa1a7d26.chunk.css.map",
591
591
  "path-viewer.b1b3328d.chunk.js.map": "js/path-viewer.b1b3328d.chunk.js.map",
592
592
  "tablet.94efb459.chunk.css.map": "css/tablet.94efb459.chunk.css.map",
@@ -597,14 +597,14 @@
597
597
  "groups.923ba865.chunk.js.map": "js/groups.923ba865.chunk.js.map",
598
598
  "users.c7f945d8.chunk.css.map": "css/users.c7f945d8.chunk.css.map",
599
599
  "users.ddb96e8d.chunk.js.map": "js/users.ddb96e8d.chunk.js.map",
600
- "scheduling.40c36db6.chunk.css.map": "css/scheduling.40c36db6.chunk.css.map",
601
- "scheduling.b70d4627.chunk.js.map": "js/scheduling.b70d4627.chunk.js.map",
600
+ "scheduling.00ec9179.chunk.css.map": "css/scheduling.00ec9179.chunk.css.map",
601
+ "scheduling.ad977895.chunk.js.map": "js/scheduling.ad977895.chunk.js.map",
602
602
  "query-tracker.94d91868.chunk.css.map": "css/query-tracker.94d91868.chunk.css.map",
603
- "query-tracker.06cc4fdc.chunk.js.map": "js/query-tracker.06cc4fdc.chunk.js.map",
603
+ "query-tracker.137d1cea.chunk.js.map": "js/query-tracker.137d1cea.chunk.js.map",
604
604
  "job.c7c99207.chunk.css.map": "css/job.c7c99207.chunk.css.map",
605
605
  "job.4fc50056.chunk.js.map": "js/job.4fc50056.chunk.js.map",
606
606
  "chyt.53f5c505.chunk.css.map": "css/chyt.53f5c505.chunk.css.map",
607
- "chyt.7f99f87d.chunk.js.map": "js/chyt.7f99f87d.chunk.js.map",
607
+ "chyt.25dce13f.chunk.js.map": "js/chyt.25dce13f.chunk.js.map",
608
608
  "1195.0483c72f.chunk.css.map": "css/1195.0483c72f.chunk.css.map",
609
609
  "1195.23ad2156.chunk.js.map": "js/1195.23ad2156.chunk.js.map",
610
610
  "9329.3c9e8bf4.chunk.css.map": "css/9329.3c9e8bf4.chunk.css.map",
@@ -614,7 +614,7 @@
614
614
  "query-widget.deb0fab7.chunk.css.map": "css/query-widget.deb0fab7.chunk.css.map",
615
615
  "query-widget.4bd0f75f.chunk.js.map": "js/query-widget.4bd0f75f.chunk.js.map",
616
616
  "navigation-flow.cdcf90a6.chunk.css.map": "css/navigation-flow.cdcf90a6.chunk.css.map",
617
- "navigation-flow.eeb01518.chunk.js.map": "js/navigation-flow.eeb01518.chunk.js.map",
617
+ "navigation-flow.6d67215a.chunk.js.map": "js/navigation-flow.6d67215a.chunk.js.map",
618
618
  "tablet-errors-by-bundle.888e2522.chunk.css.map": "css/tablet-errors-by-bundle.888e2522.chunk.css.map",
619
619
  "tablet-errors-by-bundle.ca917cd6.chunk.js.map": "js/tablet-errors-by-bundle.ca917cd6.chunk.js.map",
620
620
  "vcs.ca6825ac.chunk.css.map": "css/vcs.ca6825ac.chunk.css.map",
@@ -779,22 +779,22 @@
779
779
  "8427.0f8774cc.chunk.js.map": "js/8427.0f8774cc.chunk.js.map",
780
780
  "8356.fd6db053.chunk.js.map": "js/8356.fd6db053.chunk.js.map",
781
781
  "6692.dc416f50.chunk.js.map": "js/6692.dc416f50.chunk.js.map",
782
- "5177.b4cec253.chunk.js.map": "js/5177.b4cec253.chunk.js.map",
783
- "7959.fedd6b2e.chunk.js.map": "js/7959.fedd6b2e.chunk.js.map",
784
- "8390.83f4531a.chunk.js.map": "js/8390.83f4531a.chunk.js.map",
782
+ "9569.30eceefe.chunk.js.map": "js/9569.30eceefe.chunk.js.map",
783
+ "7959.95ebd185.chunk.js.map": "js/7959.95ebd185.chunk.js.map",
784
+ "8390.c3d2de6a.chunk.js.map": "js/8390.c3d2de6a.chunk.js.map",
785
785
  "9045.07f8e292.chunk.js.map": "js/9045.07f8e292.chunk.js.map",
786
786
  "6673.00cb7533.chunk.js.map": "js/6673.00cb7533.chunk.js.map",
787
787
  "2447.b2877275.chunk.js.map": "js/2447.b2877275.chunk.js.map",
788
- "8460.2d4d237e.chunk.js.map": "js/8460.2d4d237e.chunk.js.map",
788
+ "8460.fc8e2238.chunk.js.map": "js/8460.fc8e2238.chunk.js.map",
789
789
  "343.b926b68c.chunk.js.map": "js/343.b926b68c.chunk.js.map",
790
790
  "3302.b8eb7c9c.chunk.js.map": "js/3302.b8eb7c9c.chunk.js.map",
791
791
  "1306.2b116196.chunk.js.map": "js/1306.2b116196.chunk.js.map",
792
792
  "3934.054b2b2a.chunk.js.map": "js/3934.054b2b2a.chunk.js.map",
793
- "6729.da9aa02f.chunk.js.map": "js/6729.da9aa02f.chunk.js.map",
793
+ "6729.ceb75c7e.chunk.js.map": "js/6729.ceb75c7e.chunk.js.map",
794
794
  "1879.23423388.chunk.js.map": "js/1879.23423388.chunk.js.map",
795
795
  "1983.666923be.chunk.js.map": "js/1983.666923be.chunk.js.map",
796
796
  "1260.534f3f75.chunk.js.map": "js/1260.534f3f75.chunk.js.map",
797
- "8778.e18e655b.chunk.js.map": "js/8778.e18e655b.chunk.js.map",
797
+ "8778.f3ea089f.chunk.js.map": "js/8778.f3ea089f.chunk.js.map",
798
798
  "5088.64e090aa.chunk.js.map": "js/5088.64e090aa.chunk.js.map",
799
799
  "3784.80802eb0.chunk.js.map": "js/3784.80802eb0.chunk.js.map"
800
800
  }
@@ -9,6 +9,7 @@ export declare function getOAuthSettings(req: Request): {
9
9
  clientSecret: string;
10
10
  scope: string;
11
11
  buttonLabel?: string;
12
+ callbackBaseUrl?: string;
12
13
  };
13
14
  export type OAuthAuthorizationTokens = {
14
15
  access_token: string;
@@ -20,7 +21,7 @@ export declare function isUserOAuthLogged(req: Request): boolean;
20
21
  export declare function getOAuthAccessToken(req: Request, res: Response): Promise<any>;
21
22
  export declare function removeOAuthCookies(res: Response): void;
22
23
  export declare function saveOAuthTokensInCookies(res: Response, tokens: OAuthAuthorizationTokens): void;
23
- export declare function getOAuthLoginPath(req: Request): string;
24
+ export declare function getOAuthLoginPath(req: Request, res: Response): string;
24
25
  export declare function getOAuthLogoutPath(req: Request): string;
25
26
  export declare function refreshOAuthToken(req: Request, token: string): Promise<OAuthAuthorizationTokens>;
26
27
  export declare function exchangeOAuthToken(req: Request, code: string): Promise<OAuthAuthorizationTokens>;
@@ -14,7 +14,13 @@ exports.getOAuthLogoutPath = getOAuthLogoutPath;
14
14
  exports.refreshOAuthToken = refreshOAuthToken;
15
15
  exports.exchangeOAuthToken = exchangeOAuthToken;
16
16
  const axios_1 = __importDefault(require("axios"));
17
+ const node_crypto_1 = __importDefault(require("node:crypto"));
17
18
  const constants_1 = require("../../shared/constants");
19
+ function getRedirectURL(req) {
20
+ var _a;
21
+ const config = getOAuthSettings(req);
22
+ return (_a = config.callbackBaseUrl) !== null && _a !== void 0 ? _a : `https://${req.get('host')}`;
23
+ }
18
24
  function isOAuthAllowed(req) {
19
25
  const config = req.ctx.config.ytOAuthSettings;
20
26
  return Boolean(config &&
@@ -64,14 +70,18 @@ function saveOAuthTokensInCookies(res, tokens) {
64
70
  });
65
71
  }
66
72
  }
67
- function getOAuthLoginPath(req) {
73
+ function getOAuthLoginPath(req, res) {
74
+ var _a, _b, _c;
75
+ const { pathname, search, origin } = new URL((_a = req.get('referrer')) !== null && _a !== void 0 ? _a : '');
76
+ const state = `state_${node_crypto_1.default.randomUUID()}`;
77
+ res.cookie(state, { retPath: pathname + search });
68
78
  const config = getOAuthSettings(req);
69
- const host = req.get('host');
70
79
  const params = new URLSearchParams({
71
80
  response_type: 'code',
72
81
  client_id: config.clientId,
73
82
  scope: config.scope,
74
- redirect_uri: `https://${host}/api/oauth/callback`,
83
+ redirect_uri: `${(_c = (_b = config.callbackBaseUrl) !== null && _b !== void 0 ? _b : origin) !== null && _c !== void 0 ? _c : `https://${req.get('host')}`}/api/oauth/callback`,
84
+ state,
75
85
  });
76
86
  const url = new URL(config.authPath, config.baseURL);
77
87
  url.search = params.toString();
@@ -82,9 +92,8 @@ function getOAuthLogoutPath(req) {
82
92
  if (!config.logoutPath) {
83
93
  return '/api/oauth/logout/callback';
84
94
  }
85
- const host = req.get('host');
86
95
  const params = new URLSearchParams({
87
- post_logout_redirect_uri: `https://${host}/api/oauth/logout/callback`,
96
+ post_logout_redirect_uri: `${getRedirectURL(req)}/api/oauth/logout/callback`,
88
97
  client_id: config.clientId,
89
98
  });
90
99
  const url = new URL(config.logoutPath, config.baseURL);
@@ -108,13 +117,12 @@ async function refreshOAuthToken(req, token) {
108
117
  }
109
118
  async function exchangeOAuthToken(req, code) {
110
119
  const config = getOAuthSettings(req);
111
- const host = req.get('host');
112
120
  const params = new URLSearchParams({
113
121
  grant_type: 'authorization_code',
114
122
  client_id: config.clientId,
115
123
  code: code,
116
124
  client_secret: config.clientSecret,
117
- redirect_uri: `https://${host}/api/oauth/callback`,
125
+ redirect_uri: `${getRedirectURL(req)}/api/oauth/callback`,
118
126
  });
119
127
  const { data } = await axios_1.default.post(new URL(config.tokenPath, config.baseURL).toString(), params.toString(), {
120
128
  headers: {
@@ -5,21 +5,26 @@ exports.oauthLogout = oauthLogout;
5
5
  exports.oauthCallback = oauthCallback;
6
6
  const oauth_1 = require("../components/oauth");
7
7
  function oauthLogin(req, res) {
8
- res.redirect((0, oauth_1.getOAuthLoginPath)(req));
8
+ res.redirect((0, oauth_1.getOAuthLoginPath)(req, res));
9
9
  }
10
10
  function oauthLogout(_, res) {
11
11
  (0, oauth_1.removeOAuthCookies)(res);
12
12
  res.redirect('/');
13
13
  }
14
14
  async function oauthCallback(req, res) {
15
- const { code } = req.query;
15
+ var _a, _b;
16
+ const { code, state } = req.query;
16
17
  if (!code) {
17
18
  throw new Error('Authorization code is not specified');
18
19
  }
20
+ let redirectURL = '/';
21
+ if (state) {
22
+ redirectURL = (_b = (_a = req.cookies[state]) === null || _a === void 0 ? void 0 : _a.retPath) !== null && _b !== void 0 ? _b : '/';
23
+ }
19
24
  try {
20
25
  const tokens = await (0, oauth_1.exchangeOAuthToken)(req, code);
21
26
  (0, oauth_1.saveOAuthTokensInCookies)(res, tokens);
22
- res.redirect('/');
27
+ res.redirect(redirectURL);
23
28
  }
24
29
  catch (e) {
25
30
  req.ctx.logError('exchange token error', e);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ytsaurus/ui",
3
- "version": "1.75.0",
3
+ "version": "1.76.0",
4
4
  "repository": {
5
5
  "type": "github",
6
6
  "url": "https://github.com/ytsaurus/ytsaurus-ui/tree/main/packages/ui"
@@ -188,7 +188,7 @@
188
188
  "engines": {
189
189
  "node": ">=18"
190
190
  },
191
- "gitHead": "6c5bfe845a863b830eef64b9649c614be3efb257",
191
+ "gitHead": "61231dbc33588ddf44ac8dc971149155dccdc5ab",
192
192
  "overrides": {
193
193
  "axios": "$axios",
194
194
  "react-split-pane": {