SYMBOL INDEX (408 symbols across 45 files) FILE: docs/source/conf.py function setup (line 81) | def setup(app): FILE: packages/collaboration-extension/src/collaboration.ts method factory (line 191) | factory(options) { FILE: packages/collaboration/src/collaboratorspanel.tsx constant COLLABORATORS_PANEL_CLASS (line 25) | const COLLABORATORS_PANEL_CLASS = 'jp-CollaboratorsPanel'; constant COLLABORATORS_LIST_CLASS (line 30) | const COLLABORATORS_LIST_CLASS = 'jp-CollaboratorsList'; constant COLLABORATOR_CLASS (line 35) | const COLLABORATOR_CLASS = 'jp-Collaborator'; constant COLLABORATOR_HEADER_CLASS (line 40) | const COLLABORATOR_HEADER_CLASS = 'jp-CollaboratorHeader'; constant COLLABORATOR_HEADER_COLLAPSER_CLASS (line 45) | const COLLABORATOR_HEADER_COLLAPSER_CLASS = 'jp-CollaboratorHeaderCollap... constant CLICKABLE_COLLABORATOR_CLASS (line 50) | const CLICKABLE_COLLABORATOR_CLASS = 'jp-ClickableCollaborator'; constant COLLABORATOR_ICON_CLASS (line 55) | const COLLABORATOR_ICON_CLASS = 'jp-CollaboratorIcon'; constant COLLABORATOR_FILES_CLASS (line 60) | const COLLABORATOR_FILES_CLASS = 'jp-CollaboratorFiles'; constant COLLABORATOR_FILE_CLASS (line 65) | const COLLABORATOR_FILE_CLASS = 'jp-CollaboratorFile'; class CollaboratorsPanel (line 67) | class CollaboratorsPanel extends Panel { method constructor (line 68) | constructor( function CollaboratorsBody (line 128) | function CollaboratorsBody(props: { function Collaborator (line 160) | function Collaborator(props: { FILE: packages/collaboration/src/components.tsx type UserIconProps (line 9) | type UserIconProps = { function UserIconComponent (line 26) | function UserIconComponent(props: UserIconProps): JSX.Element { type UserDetailsBodyProps (line 86) | type UserDetailsBodyProps = { class UserDetailsBody (line 96) | class UserDetailsBody extends ReactWidget { method constructor (line 100) | constructor(props: UserDetailsBodyProps) { method getValue (line 108) | getValue(): UserUpdate { method render (line 130) | render() { type UserUpdate (line 170) | type UserUpdate = { FILE: packages/collaboration/src/cursors.ts type EditorAwareness (line 42) | type EditorAwareness = { type ICursorState (line 53) | interface ICursorState { type IAwarenessState (line 79) | interface IAwarenessState extends Record { method combine (line 97) | combine(configs: readonly EditorAwareness[]) { class RemoteMarker (line 131) | class RemoteMarker implements LayerMarker { method constructor (line 138) | constructor( method draw (line 143) | draw(): HTMLDivElement { method eq (line 152) | eq(other: RemoteMarker): boolean { method update (line 158) | update(dom: HTMLElement, oldMarker: RemoteMarker): boolean { method markers (line 172) | markers(view) { method update (line 227) | update(update, layer) { method markers (line 293) | markers(view) { method update (line 341) | update(update, layer) { method constructor (line 361) | constructor(view: EditorView) { method destroy (line 378) | destroy(): void { method update (line 385) | update(update: ViewUpdate): void { function remoteUserCursors (line 457) | function remoteUserCursors(config: EditorAwareness): Extension { FILE: packages/collaboration/src/menu.ts class RendererUserMenu (line 12) | class RendererUserMenu extends MenuBar.Renderer { method constructor (line 20) | constructor(user: User.IManager) { method renderItem (line 32) | renderItem(data: MenuBar.IRenderData): VirtualElement { method renderLabel (line 51) | renderLabel(data: MenuBar.IRenderData): VirtualElement { method _createUserIcon (line 64) | private _createUserIcon(): VirtualElement { class UserMenu (line 117) | class UserMenu extends Menu { method constructor (line 118) | constructor(options: UserMenu.IOptions) { type IOptions (line 130) | interface IOptions extends Menu.IOptions { FILE: packages/collaboration/src/sharedlink.ts type ISharedLinkDialogOptions (line 21) | interface ISharedLinkDialogOptions { type IShare (line 34) | interface IShare { type IUser (line 57) | interface IUser { type IGroup (line 73) | interface IGroup { type IShareData (line 88) | interface IShareData { function showSharedLinkDialog (line 109) | async function showSharedLinkDialog({ type ShareRecipient (line 257) | type ShareRecipient = (HubAPI.IUser | HubAPI.IGroup) & { class ManageSharesBody (line 261) | class ManageSharesBody extends Widget implements Dialog.IBodyWidget { method constructor (line 268) | constructor( method getValue (line 292) | getValue(): string { method onAfterAttach (line 296) | protected onAfterAttach(msg: Message): void { method onBeforeDetach (line 300) | protected onBeforeDetach(msg: Message): void { method _loadUsers (line 304) | private async _loadUsers(): Promise { method _loadShares (line 366) | private async _loadShares(): Promise { method _createShare (line 383) | private async _createShare( method _deleteShare (line 413) | private async _deleteShare( method _populateBody (line 431) | private _populateBody(dialogBody: HTMLElement): void { method _updateSearchResults (line 479) | private _updateSearchResults(): void { method _updateSharesList (line 515) | private async _updateSharesList(): Promise { class SharedLinkBody (line 601) | class SharedLinkBody extends Widget implements Dialog.IBodyWidget { method constructor (line 605) | constructor( method getValue (line 620) | getValue(): string { method onAfterAttach (line 632) | protected onAfterAttach(msg: Message): void { method onBeforeDetach (line 637) | protected onBeforeDetach(msg: Message): void { method _updateContent (line 642) | private _updateContent(withToken: boolean): void { method _populateBody (line 714) | private _populateBody(dialogBody: HTMLElement): void { FILE: packages/collaboration/src/tokens.ts type IUserMenu (line 21) | interface IUserMenu { type ICollaboratorAwareness (line 74) | interface ICollaboratorAwareness { FILE: packages/collaboration/src/userinfopanel.tsx type UserInfoProps (line 21) | type UserInfoProps = { class UserInfoPanel (line 27) | class UserInfoPanel extends Panel { method constructor (line 32) | constructor(options: UserInfoProps) { class UserInfoBody (line 66) | class UserInfoBody method constructor (line 76) | constructor(props: UserInfoProps) { method user (line 84) | get user(): User.IManager { method user (line 88) | set user(user: User.IManager) { method render (line 137) | render(): JSX.Element { FILE: packages/collaboration/src/users-item.tsx constant USERS_ITEM_CLASS (line 11) | const USERS_ITEM_CLASS = 'jp-toolbar-users-item'; type IProps (line 20) | interface IProps { type IState (line 37) | interface IState { type IIconRendererProps (line 47) | interface IIconRendererProps type IUserData (line 63) | type IUserData = { class UsersItem (line 78) | class UsersItem extends React.Component< method constructor (line 82) | constructor(props: UsersItem.IProps) { method createWidget (line 92) | static createWidget(options: UsersItem.IProps): ReactWidget { method componentDidMount (line 96) | componentDidMount(): void { method filterDuplicated (line 104) | private filterDuplicated( method render (line 121) | render(): React.ReactNode { function DefaultIconRenderer (line 166) | function DefaultIconRenderer( FILE: packages/collaborative-drive/src/tokens.ts type ICollaborativeContentProvider (line 29) | interface ICollaborativeContentProvider extends IContentProvider { type ISharedModelFactory (line 41) | interface ISharedModelFactory extends Contents.ISharedFactory { type IDocumentProvider (line 59) | interface IDocumentProvider extends IDisposable { FILE: packages/docprovider-extension/src/filebrowser.ts constant DOCUMENT_TIMELINE_URL (line 47) | const DOCUMENT_TIMELINE_URL = 'api/collaboration/timeline'; constant TWO_SESSIONS_WARNING (line 49) | const TWO_SESSIONS_WARNING = FILE: packages/docprovider-extension/src/yprovider.ts constant PLUGIN_ID (line 24) | const PLUGIN_ID = '@jupyter/docprovider-extension:websocket-provider'; class WebSocketDocumentProviderFactory (line 29) | class WebSocketDocumentProviderFactory implements IDocumentProviderFacto... method constructor (line 30) | constructor(private _trans: TranslationBundle) {} method create (line 32) | create(options: IDocumentProviderFactory.IOptions) { class WebSocketAwarenessProviderFactory (line 48) | class WebSocketAwarenessProviderFactory implements IAwarenessProviderFac... method create (line 49) | create(options: IAwarenessProviderFactory.IOptions) { FILE: packages/docprovider/src/TimelineSlider.tsx class TimelineWidget (line 12) | class TimelineWidget extends ReactWidget { method constructor (line 20) | constructor( method render (line 38) | render(): JSX.Element { method updateContent (line 51) | updateContent(apiURL: string, provider: IForkProvider): void { FILE: packages/docprovider/src/__tests__/yprovider.spec.ts type IMockWsProvider (line 22) | interface IMockWsProvider { method constructor (line 31) | constructor(_url: string, roomname: string) { method on (line 35) | on(eventName: string, listener: (payload: any) => void): void { method off (line 45) | off(eventName: string, listener: (payload: any) => void): void { method destroy (line 49) | destroy(): void { method emit (line 53) | emit(eventName: string, payload: any): void { function waitForProviderConnect (line 63) | async function waitForProviderConnect( function createProvider (line 76) | function createProvider( FILE: packages/docprovider/src/awareness.ts type IContent (line 14) | interface IContent { class WebSocketAwarenessProvider (line 25) | class WebSocketAwarenessProvider method constructor (line 34) | constructor(options: WebSocketAwarenessProvider.IOptions) { method isDisposed (line 48) | get isDisposed(): boolean { method dispose (line 52) | dispose(): void { method _onUserChanged (line 62) | private _onUserChanged(user: User.IManager): void { type IOptions (line 78) | interface IOptions { FILE: packages/docprovider/src/component.tsx type Props (line 18) | type Props = { function fetchTimeline (line 51) | async function fetchTimeline(notebookPath: string) { function determineAction (line 155) | function determineAction(currentTimestamp: number): 'undo' | 'redo' { function extractFilenameFromURL (line 158) | function extractFilenameFromURL(url: string): string { FILE: packages/docprovider/src/forkManager.ts constant JUPYTER_COLLABORATION_FORK_EVENTS_URI (line 20) | const JUPYTER_COLLABORATION_FORK_EVENTS_URI = class ForkManager (line 23) | class ForkManager implements IForkManager { method constructor (line 24) | constructor(options: ForkManager.IOptions) { method isDisposed (line 32) | get isDisposed(): boolean { method forkAdded (line 35) | get forkAdded(): ISignal { method forkDeleted (line 38) | get forkDeleted(): ISignal { method dispose (line 42) | dispose(): void { method createFork (line 49) | async createFork(options: { method getAllForks (line 69) | async getAllForks(rootId: string) { method deleteFork (line 80) | async deleteFork(options: { forkId: string; merge: boolean }): Promise... method getProvider (line 87) | getProvider(options: { method _handleEvent (line 104) | private _handleEvent(_: Event.IManager, emission: Event.Emission) { type IOptions (line 130) | interface IOptions { FILE: packages/docprovider/src/notebookCellExecutor.ts class NotebookCellServerExecutor (line 16) | class NotebookCellServerExecutor implements INotebookCellExecutor { method constructor (line 24) | constructor(options: { serverSettings?: ServerConnection.ISettings }) { method runCell (line 35) | async runCell({ FILE: packages/docprovider/src/requests.ts constant DOC_SESSION_URL (line 13) | const DOC_SESSION_URL = 'api/collaboration/session'; constant DOC_FORK_URL (line 14) | const DOC_FORK_URL = 'api/collaboration/undo_redo'; constant TIMELINE_URL (line 15) | const TIMELINE_URL = 'api/collaboration/timeline'; constant ROOM_FORK_URL (line 17) | const ROOM_FORK_URL = 'api/collaboration/fork'; type ISessionModel (line 22) | interface ISessionModel { function requestAPI (line 48) | async function requestAPI( function requestDocSession (line 81) | async function requestDocSession( function requestDocumentTimeline (line 122) | async function requestDocumentTimeline( function requestUndoRedo (line 146) | async function requestUndoRedo( FILE: packages/docprovider/src/tokens.ts type IForkInfo (line 15) | interface IForkInfo { type IForkCreationResponse (line 22) | interface IForkCreationResponse { type IAllForksResponse (line 28) | interface IAllForksResponse { type IForkChangedEvent (line 32) | interface IForkChangedEvent { type IForkManager (line 45) | interface IForkManager extends IDisposable { type IDocumentProviderFactory (line 127) | interface IDocumentProviderFactory { type IOptions (line 146) | interface IOptions { type IAwarenessProvider (line 204) | interface IAwarenessProvider extends IDisposable { type IAwarenessProviderFactory (line 214) | interface IAwarenessProviderFactory { type IOptions (line 231) | interface IOptions { type ISessionClosePayload (line 261) | interface ISessionClosePayload { FILE: packages/docprovider/src/ydrive.ts constant DISABLE_RTC (line 31) | const DISABLE_RTC = type IForkProvider (line 34) | interface IForkProvider { type IOptions (line 43) | interface IOptions { class RtcContentProvider (line 62) | class RtcContentProvider implements IContentProvider { method constructor (line 63) | constructor(options: RtcContentProvider.IOptions) { method providers (line 82) | get providers(): Map { method get (line 95) | async get( method save (line 148) | async save( method fileChanged (line 184) | get fileChanged(): ISignal { class SharedModelFactory (line 421) | class SharedModelFactory implements ISharedModelFactory { method constructor (line 429) | constructor( method registerDocumentFactory (line 449) | registerDocumentFactory( method createNew (line 464) | createNew( FILE: packages/docprovider/src/yprovider.ts constant DOCUMENT_PROVIDER_URL (line 30) | const DOCUMENT_PROVIDER_URL = 'api/collaboration/room'; constant RAW_MESSAGE_TYPE (line 35) | const RAW_MESSAGE_TYPE = 2; class WebSocketProvider (line 43) | class WebSocketProvider implements IDocumentProvider, IForkProvider { method constructor (line 49) | constructor(options: WebSocketProvider.IOptions) { method isDisposed (line 77) | get isDisposed(): boolean { method ready (line 84) | get ready(): Promise { method contentType (line 87) | get contentType(): string { method format (line 91) | get format(): string { method dispose (line 97) | dispose(): void { method reconnect (line 109) | async reconnect(): Promise { method save (line 114) | async save(): Promise { method _serverUrl (line 172) | private get _serverUrl() { method _connect (line 179) | private async _connect(): Promise { method connectToForkDoc (line 208) | async connectToForkDoc(forkRoomId: string, sessionId: string): Promise... method wsProvider (line 228) | get wsProvider() { method _disconnect (line 231) | private _disconnect(): void { method _onUserChanged (line 238) | private _onUserChanged(user: User.IManager): void { method _buildSessionExpiredMessage (line 242) | private _buildSessionExpiredMessage( method _getCloseReasonMessage (line 337) | private _getCloseReasonMessage(code: 4400 | 4404 | 4500): string { type IOptions (line 376) | interface IOptions { FILE: projects/jupyter-collaboration-ui/jupyter_collaboration_ui/__init__.py function _jupyter_labextension_paths (line 7) | def _jupyter_labextension_paths(): FILE: projects/jupyter-docprovider/jupyter_docprovider/__init__.py function _jupyter_labextension_paths (line 7) | def _jupyter_labextension_paths(): FILE: projects/jupyter-server-ydoc/jupyter_server_ydoc/__init__.py function _jupyter_server_extension_points (line 10) | def _jupyter_server_extension_points() -> list[dict[str, Any]]: FILE: projects/jupyter-server-ydoc/jupyter_server_ydoc/app.py class YDocExtension (line 38) | class YDocExtension(ExtensionApp): method initialize (line 98) | def initialize(self): method initialize_settings (line 104) | def initialize_settings(self): method initialize_handlers (line 114) | def initialize_handlers(self): method get_document (line 182) | async def get_document( method stop_extension (line 281) | async def stop_extension(self): FILE: projects/jupyter-server-ydoc/jupyter_server_ydoc/handlers.py class YDocWebSocketHandler (line 48) | class YDocWebSocketHandler(WebSocketHandler, JupyterHandler): method _room_lock (line 72) | def _room_lock(self, room_id: str) -> asyncio.Lock: method create_task (line 77) | def create_task(self, aw): method prepare (line 82) | async def prepare(self): method initialize (line 176) | def initialize( method path (line 199) | def path(self): method max_message_size (line 207) | def max_message_size(self): method __aiter__ (line 213) | def __aiter__(self): method __anext__ (line 217) | async def __anext__(self): method get (line 224) | async def get(self, *args, **kwargs): method open (line 233) | async def open(self, room_id: str) -> None: # type:ignore[override] method send (line 330) | async def send(self, message: bytes) -> None: method recv (line 340) | async def recv(self): method on_message (line 347) | async def on_message(self, message): method _encode_json_message (line 382) | def _encode_json_message(self, message: dict) -> bytes: method on_close (line 388) | def on_close(self) -> None: method _emit (line 402) | def _emit(self, level: LogLevel, action: str | None = None, msg: str |... method _emit_awareness_event (line 414) | def _emit_awareness_event(self, username: str, action: str, msg: str |... method _clean_room (line 421) | async def _clean_room(self) -> None: method _on_global_awareness_event (line 459) | def _on_global_awareness_event(self, topic: str, changes: tuple[dict[s... method check_origin (line 483) | def check_origin(self, origin): class DocSessionHandler (line 490) | class DocSessionHandler(APIHandler): method put (line 499) | async def put(self, path: str) -> asyncio.Future[Any]: class TimelineHandler (line 547) | class TimelineHandler(APIHandler): method initialize (line 548) | def initialize( method get (line 554) | async def get(self, path: str) -> None: class UndoRedoHandler (line 610) | class UndoRedoHandler(APIHandler): method initialize (line 611) | def initialize(self, ywebsocket_server: JupyterWebsocketServer) -> None: method put (line 614) | async def put(self, room_id): method _perform_undo_or_redo (line 664) | async def _perform_undo_or_redo( method _cleanup_undo_manager (line 676) | async def _cleanup_undo_manager(self, room_id: str) -> None: class DocForkHandler (line 682) | class DocForkHandler(APIHandler): method initialize (line 692) | def initialize( method get (line 700) | async def get(self, root_roomid): method put (line 714) | async def put(self, root_roomid): method delete (line 755) | async def delete(self, fork_roomid): method _emit_fork_event (line 776) | def _emit_fork_event( FILE: projects/jupyter-server-ydoc/jupyter_server_ydoc/loaders.py class FileLoader (line 24) | class FileLoader: method __init__ (line 29) | def __init__( method file_id (line 57) | def file_id(self) -> str: method path (line 62) | def path(self) -> str: method number_of_subscriptions (line 72) | def number_of_subscriptions(self) -> int: method clean (line 78) | async def clean(self) -> None: method observe (line 92) | def observe( method unobserve (line 109) | def unobserve(self, id: str) -> None: method load_content (line 120) | async def load_content(self, format: str, file_type: str) -> dict[str,... method maybe_save_content (line 147) | async def maybe_save_content(self, model: dict[str, Any]) -> dict[str,... method _save_content (line 195) | async def _save_content( method _watch_file (line 214) | async def _watch_file(self) -> None: method maybe_notify (line 275) | async def maybe_notify(self) -> None: class FileLoaderMapping (line 307) | class FileLoaderMapping: method __init__ (line 310) | def __init__( method contents_manager (line 331) | def contents_manager(self) -> AsyncContentsManager | ContentsManager: method file_id_manager (line 335) | def file_id_manager(self) -> BaseFileIdManager: method __contains__ (line 338) | def __contains__(self, file_id: str) -> bool: method __getitem__ (line 342) | def __getitem__(self, file_id: str) -> FileLoader: method __delitem__ (line 365) | async def __delitem__(self, file_id: str) -> None: method clear (line 369) | async def clear(self) -> None: method remove (line 378) | async def remove(self, file_id: str) -> None: FILE: projects/jupyter-server-ydoc/jupyter_server_ydoc/pytest_plugin.py function rtc_document_save_delay (line 29) | def rtc_document_save_delay(): function rtc_document_cleanup_delay (line 34) | def rtc_document_cleanup_delay(): function jp_server_config (line 39) | def jp_server_config( function rtc_create_file (line 66) | def rtc_create_file(jp_root_dir, jp_serverapp, rtc_add_doc_to_store): function rtc_create_notebook (line 95) | def rtc_create_notebook(jp_root_dir, jp_serverapp, rtc_add_doc_to_store): function rtc_fetch_session (line 130) | def rtc_fetch_session(jp_fetch): function rtc_connect_awareness_client (line 143) | def rtc_connect_awareness_client(jp_http_port, jp_base_url): function rtc_connect_doc_client (line 153) | def rtc_connect_doc_client(jp_http_port, jp_base_url, rtc_fetch_session): function rtc_connect_fork_client (line 169) | def rtc_connect_fork_client(jp_http_port, jp_base_url, rtc_fetch_session): function rtc_get_forks_client (line 179) | def rtc_get_forks_client(jp_fetch): function rtc_create_fork_client (line 191) | def rtc_create_fork_client(jp_fetch): function rtc_delete_fork_client (line 215) | def rtc_delete_fork_client(jp_fetch): function rtc_add_doc_to_store (line 228) | def rtc_add_doc_to_store(rtc_connect_doc_client): function rtc_create_SQLite_store_factory (line 252) | def rtc_create_SQLite_store_factory(jp_serverapp): function rtc_create_SQLite_store (line 277) | def rtc_create_SQLite_store(jp_serverapp): function rtc_create_mock_document_room (line 282) | def rtc_create_mock_document_room(): FILE: projects/jupyter-server-ydoc/jupyter_server_ydoc/rooms.py class DocumentRoom (line 23) | class DocumentRoom(YRoom): method __init__ (line 28) | def __init__( method file_format (line 63) | def file_format(self) -> str: method file_type (line 68) | def file_type(self) -> str: method room_id (line 73) | def room_id(self) -> str: method cleaner (line 80) | def cleaner(self) -> asyncio.Task | None: method cleaner (line 87) | def cleaner(self, value: asyncio.Task) -> None: method initialize (line 93) | async def initialize(self) -> None: method _apply_deterministic_source_content (line 178) | async def _apply_deterministic_source_content(self, content: Any) -> N... method _emit (line 194) | def _emit(self, level: LogLevel, action: str | None = None, msg: str |... method stop (line 203) | async def stop(self) -> None: method create_task (line 220) | def create_task(self, aw): method _broadcast_updates (line 225) | async def _broadcast_updates(self): method _on_outofband_change (line 232) | async def _on_outofband_change(self) -> None: method _on_filepath_change (line 252) | def _on_filepath_change(self) -> None: method _on_document_change (line 258) | def _on_document_change(self, target: str, event: Any) -> None: method _save_to_disc (line 296) | def _save_to_disc(self): method _maybe_save_document (line 308) | async def _maybe_save_document( class TransientRoom (line 381) | class TransientRoom(YRoom): method __init__ (line 384) | def __init__( method room_id (line 395) | def room_id(self) -> str: method _broadcast_updates (line 401) | async def _broadcast_updates(self): method stop (line 408) | async def stop(self) -> None: FILE: projects/jupyter-server-ydoc/jupyter_server_ydoc/stores.py class TempFileYStoreMetaclass (line 10) | class TempFileYStoreMetaclass(type(LoggingConfigurable), type(_TempFileY... class TempFileYStore (line 14) | class TempFileYStore(LoggingConfigurable, _TempFileYStore, metaclass=Tem... class SQLiteYStoreMetaclass (line 18) | class SQLiteYStoreMetaclass(type(LoggingConfigurable), type(_SQLiteYStor... class SQLiteYStore (line 22) | class SQLiteYStore(LoggingConfigurable, _SQLiteYStore, metaclass=SQLiteY... FILE: projects/jupyter-server-ydoc/jupyter_server_ydoc/test_utils.py class FakeFileIDManager (line 13) | class FakeFileIDManager: method __init__ (line 14) | def __init__(self, mapping: dict): method get_path (line 17) | def get_path(self, id: str) -> str: method move (line 20) | def move(self, id: str, new_path: str) -> None: class FakeContentsManager (line 24) | class FakeContentsManager: method __init__ (line 25) | def __init__(self, model: dict): method get (line 42) | def get( method save (line 55) | def save(self, model: dict[str, Any], path: str) -> dict: method save_content (line 59) | def save_content(self, model: dict[str, Any], path: str) -> dict: class FakeEventLogger (line 64) | class FakeEventLogger: method emit (line 65) | def emit(self, schema_id: str, data: dict) -> None: FILE: projects/jupyter-server-ydoc/jupyter_server_ydoc/utils.py class MessageType (line 26) | class MessageType(IntEnum): class LogLevel (line 33) | class LogLevel(Enum): class OutOfBandChanges (line 41) | class OutOfBandChanges(Exception): class ReadError (line 45) | class ReadError(Exception): class WriteError (line 49) | class WriteError(Exception): function decode_file_path (line 53) | def decode_file_path(path: str) -> tuple[str, str, str]: function encode_file_path (line 69) | def encode_file_path(format: str, file_type: str, file_id: str) -> str: function room_id_from_encoded_path (line 85) | def room_id_from_encoded_path(encoded_path: str) -> str: function _get_jupyter_session_store (line 90) | def _get_jupyter_session_store(root_dir: str) -> Path: function _load_previous_sessions (line 103) | def _load_previous_sessions(root_dir: str) -> dict: function save_current_session (line 122) | async def save_current_session( function check_session_compatibility (line 152) | def check_session_compatibility( FILE: projects/jupyter-server-ydoc/jupyter_server_ydoc/websocketserver.py class RoomNotFound (line 16) | class RoomNotFound(LookupError): function exception_logger (line 20) | def exception_logger(exception: Exception, log: Logger) -> bool: class JupyterWebsocketServer (line 31) | class JupyterWebsocketServer(WebsocketServer): method __init__ (line 40) | def __init__( method clean (line 60) | async def clean(self): method room_exists (line 92) | def room_exists(self, path: str) -> bool: method add_room (line 104) | def add_room(self, path: str, room: YRoom) -> None: method get_room (line 114) | async def get_room(self, path: str) -> YRoom: method serve (line 136) | async def serve(self, websocket: Channel) -> None: method _monitor (line 143) | async def _monitor(self): FILE: scripts/bump_version.py function increment_version (line 16) | def increment_version(current, spec): function bump (line 60) | def bump(force, skip_if_dirty, spec): FILE: scripts/dev_install.py function execute (line 8) | def execute(cmd: str, cwd: Path | None = None) -> None: function install_dev (line 12) | def install_dev() -> None: FILE: tests/test_app.py function test_default_settings (line 12) | def test_default_settings(jp_serverapp): function test_settings_should_disable_rtc (line 22) | def test_settings_should_disable_rtc(jp_configurable_serverapp): function test_settings_should_change_file_poll (line 31) | def test_settings_should_change_file_poll(jp_configurable_serverapp): function test_settings_should_change_document_cleanup (line 40) | def test_settings_should_change_document_cleanup(jp_configurable_servera... function test_settings_should_change_save_delay (line 49) | def test_settings_should_change_save_delay(jp_configurable_serverapp): function test_settings_should_change_ystore_class (line 58) | def test_settings_should_change_ystore_class(jp_configurable_serverapp): function test_document_ttl_from_settings (line 67) | async def test_document_ttl_from_settings(rtc_create_mock_document_room,... function test_squash_after_inactivity_of_from_settings (line 81) | async def test_squash_after_inactivity_of_from_settings( function test_get_document_file (line 97) | async def test_get_document_file(rtc_create_file, jp_serverapp, copy): function test_get_document_create_room (line 107) | async def test_get_document_create_room(rtc_create_file, jp_serverapp): function test_get_document_notebook (line 126) | async def test_get_document_notebook(rtc_create_notebook, jp_serverapp, ... function test_get_document_file_copy_is_independent (line 144) | async def test_get_document_file_copy_is_independent( FILE: tests/test_documents.py function rtc_document_save_delay (line 21) | def rtc_document_save_delay(): function test_dirty (line 25) | async def test_dirty( function cleanup (line 44) | async def cleanup(jp_serverapp): function test_room_concurrent_initialization (line 52) | async def test_room_concurrent_initialization( function test_room_sequential_opening (line 78) | async def test_room_sequential_opening( function _notebook_model (line 104) | def _notebook_model() -> dict: function _create_notebook_room (line 122) | async def _create_notebook_room(notebook: dict, room_id: str) -> tuple[D... function _sync_documents (line 143) | def _sync_documents(client_doc: YNotebook, room: DocumentRoom) -> dict: function test_notebook_reconnect_with_divergent_history_does_not_duplicate_initial_cell (line 149) | async def test_notebook_reconnect_with_divergent_history_does_not_duplic... FILE: tests/test_handlers.py function test_session_handler_should_create_session_id (line 18) | async def test_session_handler_should_create_session_id( function test_session_handler_should_respond_with_session_id (line 38) | async def test_session_handler_should_respond_with_session_id( function test_session_handler_should_respond_with_not_found (line 59) | async def test_session_handler_should_respond_with_not_found(rtc_fetch_s... function test_room_handler_doc_client_should_connect (line 71) | async def test_room_handler_doc_client_should_connect(rtc_create_file, r... function test_room_handler_doc_client_should_emit_awareness_event (line 91) | async def test_room_handler_doc_client_should_emit_awareness_event( function rtc_document_cleanup_delay (line 138) | def rtc_document_cleanup_delay(): function test_room_handler_doc_client_should_stop_file_watcher (line 142) | async def test_room_handler_doc_client_should_stop_file_watcher( function test_room_handler_doc_client_should_cleanup_room_file (line 202) | async def test_room_handler_doc_client_should_cleanup_room_file( function test_fork_handler (line 294) | async def test_fork_handler( FILE: tests/test_loaders.py function test_FileLoader_with_watcher (line 14) | async def test_FileLoader_with_watcher(): function test_FileLoader_with_watcher_errors (line 47) | async def test_FileLoader_with_watcher_errors(caplog): function test_FileLoader_clean_logs_cancellation (line 86) | async def test_FileLoader_clean_logs_cancellation(caplog): function test_FileLoader_without_watcher (line 107) | async def test_FileLoader_without_watcher(): function test_FileLoaderMapping_with_watcher (line 139) | async def test_FileLoaderMapping_with_watcher(): FILE: tests/test_rooms.py function test_should_initialize_document_room_without_store (line 13) | async def test_should_initialize_document_room_without_store(rtc_create_... function test_should_initialize_document_room_from_store (line 21) | async def test_should_initialize_document_room_from_store( function test_should_overwrite_the_store (line 37) | async def test_should_overwrite_the_store(rtc_create_SQLite_store, rtc_c... function test_defined_save_delay_should_save_content_after_document_change (line 52) | async def test_defined_save_delay_should_save_content_after_document_cha... function test_undefined_save_delay_should_not_save_content_after_document_change (line 67) | async def test_undefined_save_delay_should_not_save_content_after_docume... function test_should_not_save_content_when_all_clients_have_autosave_disabled (line 82) | async def test_should_not_save_content_when_all_clients_have_autosave_di... function test_should_save_content_when_at_least_one_client_has_autosave_enabled (line 104) | async def test_should_save_content_when_at_least_one_client_has_autosave... function test_manual_save_should_not_have_delay (line 126) | async def test_manual_save_should_not_have_delay( function test_manual_save_with_pending_autosave_should_cancel_autosave (line 144) | async def test_manual_save_with_pending_autosave_should_cancel_autosave( function test_manual_save_should_execute_immediately_even_with_long_delay (line 173) | async def test_manual_save_should_execute_immediately_even_with_long_delay( function test_autosave_should_still_have_delay (line 189) | async def test_autosave_should_still_have_delay( function test_manual_save_should_work_when_save_delay_is_none_and_save_now_is_true (line 211) | async def test_manual_save_should_work_when_save_delay_is_none_and_save_... function test_on_outofband_change_skips_aset_when_content_unchanged (line 250) | async def test_on_outofband_change_skips_aset_when_content_unchanged( function test_on_outofband_change_calls_aset_when_content_changed (line 265) | async def test_on_outofband_change_calls_aset_when_content_changed( function test_save_oob_skips_aset_when_content_unchanged (line 283) | async def test_save_oob_skips_aset_when_content_unchanged( function test_save_oob_calls_aset_when_content_changed (line 305) | async def test_save_oob_calls_aset_when_content_changed( FILE: tests/test_session_store.py function test_allows_reconnect_same_dir_same_version (line 13) | async def test_allows_reconnect_same_dir_same_version(tmp_path): function test_rejects_reconnect_version_mismatch (line 22) | async def test_rejects_reconnect_version_mismatch(tmp_path): function test_rejects_reconnect_different_directory (line 31) | async def test_rejects_reconnect_different_directory(tmp_path): function test_rejects_unknown_session (line 43) | def test_rejects_unknown_session(tmp_path): function test_allows_reconnect_with_document_version (line 51) | async def test_allows_reconnect_with_document_version(tmp_path): function test_rejects_reconnect_document_version_mismatch (line 71) | async def test_rejects_reconnect_document_version_mismatch(tmp_path): function test_allows_reconnect_without_document_version_in_old_session (line 92) | async def test_allows_reconnect_without_document_version_in_old_session(... FILE: ui-tests/tests/notebook.spec.ts function writeCell (line 13) | async function writeCell(page: IJupyterLabPageFixture, cellIndex: number... FILE: ui-tests/tests/timeline-slider.spec.ts function capturePageErrors (line 9) | async function capturePageErrors(page: Page) { function openNotebook (line 15) | async function openNotebook(page: Page, notebookPath: string) {