Skip to content

Improving the Eclipse Theia Framework Adopter Experience

Improving the Eclipse Theia Framework Adopter Experience

Description

Eclipse Theia is used by developers to build unique desktop and cloud IDEs. As its use grows, the framework's developer experience is becoming more and more important for both internal contributors and external adopters.

The goal of this project is to enhance the framework across four high-impact areas: Unified Logging & Observability, Startup Performance Profiling, Detachable Views & Window Management, and OpenTelemetry Evaluation.

Specific Objectives (Examples of potential tasks):

  • Unified Logging: Migrating core modules to the ILogger standard and publishing guidelines.
  • Startup Performance: Profiling both the frontend and backend to investigate bottlenecks and improve key metrics such as First Paint / First Contentful Paint (FP/FCP), Largest Contentful Paint (LCP), and Time to Interactive (TTI/FID).
  • Detachable Views: Resolving CSS propagation issues within detached Lumino widgets so native OS windows inherit core themes.
  • OpenTelemetry: Creating an architectural proof of concept for distributed tracing that covers frontend and backend RPC boundaries.
  • Dynamic Scope: Tackling other framework-level improvements in coordination with the mentors based on the community's current needs.

Working in collaboration with mentors, these tasks will be dynamically prioritized based on growing familiarity with the monorepo architecture.

Links to Eclipse Project

Expected outcomes

  • Measurable improvements in Theia's performance: Documented improvements across FP/FCP, LCP, and TTI metrics.
  • Standardized observability: Migration of key core modules to the new ILogger standard.
  • UI consistency improved: Smoother multi-window workflows with the resolution of CSS propagation bugs.
  • Telemetry proof of concept: An architectural PoC demonstrating end-to-end tracing.

Skills required/preferred

  • Languages: TypeScript, Node.js, HTML/CSS.
  • Architecture: Familiarity with monorepos, React, Dependency Injection (InversifyJS), and JSON-RPC patterns.
  • Soft Skills: Excellent asynchronous communication and a readiness to rapidly understand a large, enterprise-level codebase.

Project size

350 hours

Possible mentors:

Jonas Helming, Stefan Dirix (sdirix)

Rating

Medium/Hard

Edited by Ankit Sharma