GSOC 2026 Project #13 : AnalySim : Fixing beta testing and forking

Hi @cengique (Cengiz) and @adm (Anca)

I’m Deenu, and I’ve been exploring AnalySim over the past few weeks — set it up locally, got everything running including the JupyterLite build, and spent time tracing through the codebase to understand how the pieces fit together.

While going through the issues I noticed #114 and wanted to take a proper shot at it rather than a surface-level fix. The root problem was that the postMessage readiness signal was injected directly into a manually-copied index.html — meaning every jupyter lite build would silently wipe it out. I addressed this in PR #135 by moving the logic into a proper JupyterLite plugin using app.restored, which is the stable lifecycle API for this. Along the way I also consolidated a JupyterLiteStorageService that existed in two near-identical copies across the admin and project folders, and fixed an event listener leak in ProjectNotebookItemDisplayComponent where ngOnDestroy never cleaned up the window message handler.

I’m applying for the “Fixing Beta Testing and Forking” project. The forking feature is what I’m most excited about working on — I’ve started reading through the project-related controllers and models to understand what a fork endpoint would need at the database and API level. I’ll be submitting a proposal with a concrete technical design for that.

Looking forward to contributing more and happy to discuss anything about the approach in PR #135.

Thanks, Deenu

1 Like