* feat: adding usage rate limiting to workbench and aligning editor context values for suggestionsLeft
* feat: prepend word token to headers of token rate limiter to prevent confusion with usage rate limiter
* Shared AI paywalls (#31948)
* feat: renaming hasPremiumSuggestion and adding token limits to editor context and project load
* feat: adding new ai features paywall component
* feat: rename getRemainingFeatureUses to token based naming for token based limiter, removed checking for feature usage on anonymous users, and removed guard on null userId since we shouldnt be calling getRemainingFeatureUses on a nonexistent user
* feat: using token rate limit headers to set token rate values in editor context
* feat: update workbench to be available without refreshing if rate limit reset occurs within session
* fix: move paywall out of inert section
* Hide new paywalls behind FF and open plans page on upgrade attempt (#32023)
* feat: hide new paywalls behind FF
* feat: update ai paywall buttons to navigate to plans page post quota plans change release
* feat: showing a fair limit notificaiton pre-quota change, and updating paywall to not fire if user has premium already (#32056)
GitOrigin-RevId: 565fb128d55543fea34c383bc4abeaa3dd148d09
* feat: remove old assist split test
* feat: moving featue rate limiters to main shared directory for use in multiple modules
* feat: base workbench rate limiter on a token specific base class
* feat: rename aiErrorAssistRateLimiter to AiFeatureUsageRateLimiter to better reflect its for our shared ai usage quota
GitOrigin-RevId: 89464d115b5904f6274756a7169e2b35945e2fc9
* Refactor project context to not use scope store
* Fix Cypress tests for project context changes
* Fix frontend React Testing Library tests for project context changes
* Remove redundant code
* Fix some project types in tests
* Remove unused import and fix a type
* Throw an error if updating the project in the project context before joining the project
* Fix some review panel tests
* Remove unused imports
GitOrigin-RevId: 2f0c928b651f387aa980c29aef7d1ba0649790a7
* Move `hasLintingError` from scope to react state
* Move `permissionsLevel` to IdeReactContext states
* Get `permissionsLevel` from `useIdeReactContext()`
* Set `permissionsLevel` in mocked `IdeReactProvider`
* Replace `permissions` scope by React state
* Fixup `permission` changes
* Remove redundant type
GitOrigin-RevId: 6203c61f9ac429789624196bf67e508310f4577f
* add hasBeenDowngraded prop for EditMember
* reduce padding on share modal collab row, add prompt to hasBeenDowngraded Select
* share modal select styling tweaks to allow for inline warning icon
* always show editor limit subtitle when in downgraded state
* add AccessLevelsChanged warning, tweak owner row styling
* conditionally set hasBeenDowngraded prop. make invited member row styling more consistent between warning/enforcement
* add an info state for access level changed notification
* add notification for lost edit access on collaborator share modal, TSify SendInvitesNotice
* fix member privilege alignment in collaborator share modal
* show blue upgrade CTA when some pending editors have been resolved
* automatically show share modal to owners when has pending editors or is over collab limit
* only show lost edit access warning in read-only share modal to pending editors
---------
Co-authored-by: Thomas <thomas-@users.noreply.github.com>
GitOrigin-RevId: e3b88052a48b8f598299ffc55b7c24cb793da151