Title: feat: REST API-backed UI for RBAC compatibility and per-page lazy loading by ntkathole · Pull Request #6414 · feast-dev/feast · GitHub
Open Graph Title: feat: REST API-backed UI for RBAC compatibility and per-page lazy loading by ntkathole · Pull Request #6414 · feast-dev/feast
X Title: feat: REST API-backed UI for RBAC compatibility and per-page lazy loading by ntkathole · Pull Request #6414 · feast-dev/feast
Description: What this PR does / why we need it: The Feast UI currently serves the entire registry as a single serialized protobuf blob via GET /registry. The frontend downloads this monolithic blob on every page load, decodes it client-side, and extracts the slice it needs. This approach has two fundamental problems: RBAC is completely bypassed Performance degrades with registry size This PR replaces the protobuf blob approach entirely, making the REST API the only data source for the Feast UI. feast ui now mounts the REST registry API at /api/v1 (via RegistryServer + register_all_routes) and the frontend fetches data exclusively through these endpoints.
Open Graph Description: What this PR does / why we need it: The Feast UI currently serves the entire registry as a single serialized protobuf blob via GET /registry. The frontend downloads this monolithic blob on every pa...
X Description: What this PR does / why we need it: The Feast UI currently serves the entire registry as a single serialized protobuf blob via GET /registry. The frontend downloads this monolithic blob on every pa...
Opengraph URL: https://github.com/feast-dev/feast/pull/6414
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:53c90f60-1ccc-c11e-9306-0c247bce9ce2 |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | 908A:10F0C1:FDDAE2:17227A1:6A4E3425 |
| html-safe-nonce | 4d58e56b5ac30b0855054b70dd7c3e5f286baa1163c6a64d46029a190b92a954 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5MDhBOjEwRjBDMTpGRERBRTI6MTcyMjdBMTo2QTRFMzQyNSIsInZpc2l0b3JfaWQiOiIxMzU4OTcxMDU0ODgyNDM2MTMzIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 0afeb57e6a4ccc9cbe39d60a805df440daee0b353797c253bffa99ee811b651c |
| hovercard-subject-tag | pull_request:3699901007 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/feast-dev/feast/pull/6414/files |
| twitter:image | https://avatars.githubusercontent.com/u/16951913?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/16951913?s=400&v=4 |
| og:image:alt | What this PR does / why we need it: The Feast UI currently serves the entire registry as a single serialized protobuf blob via GET /registry. The frontend downloads this monolithic blob on every pa... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 030096ee0db095447bfe77409d33bfac127ca7128299c58deef27c52eaa1b1f0 |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/feast-dev/feast git https://github.com/feast-dev/feast.git |
| octolytics-dimension-user_id | 57027613 |
| octolytics-dimension-user_login | feast-dev |
| octolytics-dimension-repository_id | 161133770 |
| octolytics-dimension-repository_nwo | feast-dev/feast |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 161133770 |
| octolytics-dimension-repository_network_root_nwo | feast-dev/feast |
| turbo-body-classes | logged-out env-production page-responsive full-width |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 42a6d378d7587a44c93aca255096cd66b7c8eb2d |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width