* 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
* [web] provide an actual rootFolder from EditorProviders in tests
- Fixup SocketIOMock and ShareJS mocks to provide the complete interface
- Extend SocketIOMock interface to count event listeners
- Fixup test that did not expect to find a working rootDoc
* [web] expose imageName from ProjectContext
* [clsi-cache] check compiler settings before using compile from cache
* [web] avoid fetching initial compile from clsi-cache in PDF detach tab
GitOrigin-RevId: e3c754a7ceca55f03a317e1bc8ae45ed12cc2f02