Fetching the latest programs, projects, and workspace data.
Find open source projects actively accepting contributors. Search repositories, filter by program milestones, difficulty tags, or tech stack.
Use our Orbit AI Matcher to find out! Get instant matching scores based on your developer skills, preferred frameworks, and contribution experience.
Convert your selected open-source project into a winning GSoC, LFX, or Outreachy application using Proposal Studio.
Scala Native is an ahead-of-time and prevalent compiler for Scala. The traditional compilation is to compile Scala into Java Virtual Machine(JVM) bytecodes, which are executed by JVM. Scala Native compiles Scala into LLVM intermediate representation(LLVM IR) rather than JVM bytecodes. This property decreases the overhead of JVM and improves compilation performance. However, one of the most criticized aspects of Scala Native is its slow compilation efficiency and long build time, especially for large projects. Therefore, the optimization of Scala Native is urgently needed. The aim of this project is to build benchmarks to evaluate the performance of the Scala Native linker, and explore feasible solutions to accelerate the building task of Scala Native. Three aspects are going to be exploited: speeding up the optimizer, introducing incremental compilation, and changing the compilation and linking procedure. As a result, we expect to create benchmarks for evaluating the performance of Native Scala, and to reduce the build time by at least 20%.
Currently Scalus doesn't have a lot of non-trivial examples. In this project we will develop application examples (blueprints) for Scalus, which can be used as a starting point for new users. These examples will include tests and documentation.
This project aims to migrate the existing Scala documentation website from Jekyll to Scaladoc. This migration will provide a more streamlined, modern, and easily maintainable documentation experience that is tightly integrated within the Scala ecosystem. I will focus on replicating key Jekyll features, such as the "include" mechanism and custom tabs, using the "liqp" library within the Scaladoc framework. Existing content (Markdown, HTML, CSS) will be carefully adapted, and styling will be applied to match the look and feel of the current website. If time permits, I will explore additional customizations to Scaladoc's default output for greater layout flexibility. The key deliverables of this project include a functional MVP website, replicated Jekyll functionality, and comprehensive documentation of all implemented features.
The aim of this project is to implement an http4s Ember WebSocket client, a pure functional WebSocket client in Scala and integrate it with other libraries in the Typelevel ecosystem. WebSocket is a computer communication protocol that enables two-way communication between a client and a server, which is widely used in numerous applications including messaging and real-time notifications, as well as GraphQL subscriptions and executing commands in a Kubernetes Pod. An Ember implementation of the WebSocket client would benefit from the ability to cross-compile to multiple platforms (JVM, ScalaJS and Native). It would also potentially achieve high performance due to Ember being built on fs2 and thus can take advantage of highly optimized fs2 runtimes.
The ExplicitResultTypes rule of the Scalafix linting tool is responsible for inferring and explicitly adding the types for “val”, “var” and “def” members. Currently this rule isn’t available in Scala 3 and this project's goal is to port it to Scala 3 so that the types can be automatically added in a codebase by running scalafix on your local machine, as part of a pre-commit hook or as part of your CICD pipeline, for example via the sbt-scalafix plugin. This feature proposed here will enrich scala developers' experience by completing their codebase automatically with the use of scalafix, hence making the code more readable, explicit, consistent and maintainable in the long term.
The Scala ecosystem thrives on information accessibility, and Scaladex stands as a pivotal resource in this domain. However, the current scope of Scaladex's artifact pages does not fully exploit the wealth of metadata available in Maven pom files. This project aims to enhance Scaladex by extracting and presenting additional information from pom files, enriching the user experience, and empowering developers with deeper insights into Scala artifacts.
My project aims to address the challenge of navigating and accessing artifacts within Scala projects on Scaladex. Currently, users face difficulty in efficiently exploring and accessing all artifacts associated with a project due to the lack of a dedicated Artifacts page. To solve this problem, I propose to introduce an intermediate Artifacts page, enhancing project visibility and artifact discoverability. The project will deliver a fully functional Artifacts page integrated into Scaladex, providing users with a seamless and intuitive interface to explore and access artifacts associated with Scala projects. Documentation detailing the implementation process and testing outcomes will also be provided for future reference.
<p>This proposal aims to develop a flexible plugin system for vector-web along with productivity enhancing plugins based on the same system.</p>
<p>ROOT has several features that interact with libraries and require implicit header inclusion. This can be triggered by reading or writing data on disk, or user actions at the prompt. Exposing the full shared library descriptors to the interpreter at runtime translates into an increased memory footprint. ROOT’s exploratory programming concepts allow implicit and explicit runtime shared library loading. It requires the interpreter to load the library descriptor. Re-parsing of descriptors’ content has a noticeable effect on runtime performance. C++ Modules are designed to minimize the reparsing of the same header content by providing an efficient on-disk representation of the C++ Code. C++ Modules have been implemented for Unix and OS X systems already and it is expected that with next release of ROOT, C++ modules will be default on OS X. This project aims to extend the C++ Modules support for Windows, by implementing compatible solutions to the UNIX baseline and also display corresponding performance results.</p>
<p>Swift supports multiple levels of optimizations per single module. This project aims to achieve LTO support for Swift at LLVM level and at Swift’s intermediate representation level to do more aggressive optimization across modules.</p> <p>This proposal suggests language-agnostic LTO support and linker plugin implementation for Swift specific LTO.</p> <p>The linker plugin will be able to accept serialized Swift Intermediate Language (SIB) files for multiple modules and performs cross-module optimization passes (e.g. Dead Code Elimination, Inlining).</p> <p>As a result, it’s expected to achieve significant binary size reduction and runtime performance improvements.</p>
<p>My proposal is based on getting full support for JavaScript within the RoboComp framework. For this, the current state of generation of written components in the JavaScript language must be improved. Last year during the 2017 GSoC the functionality of the RoboComp component generator was extended to provide component supports based on NodeJS. A first approximation was achieved but still lacks robustness, reliability and should be extended to include more features. In addition, recently Zeroc ICE has added support for JavaScript interfaces, therefore the component generator must be extended to support this feature, both as a server and as a client. The component model of RoboComp must be able to generate components in this language with the same functionality as its counterparts in C ++ and Python, thus achieving complete support for JavaScript within RoboComp.</p>
Rocket.Chat’s Message Composer currently displays raw Markdown syntax and emoji shortcodes while composing a message, only applying formatting after the message is sent. This impacts readability and usability, as users must interpret raw syntax instead of seeing the final formatted output. This project will introduce real-time Markdown rendering and native emoji support in the Message Composer. Users will be able to see bold, italic, and other formatted text as they type, along with correctly rendered emojis. Additionally, the project will provide a proof-of-concept for migrating from Rocket.Chat’s third-party emoji pack to native emoji support. Key Deliverables: 1. MVP implementation of real-time Markdown rendering in the Message Composer. 2. Native emoji support, replacing the existing third-party emoji pack. 3. Support for mentions with a defined style, ensuring visually distinct tags. 4. Text sanitization to maintain security and prevent unintended behavior. 5. Help tooltip for Markdown syntax, improving accessibility for new users.
<p>A crucial component of the user experience with bots in Rocket chat android app is rich messages. Currently, there is only minimal support for rich messages in the Android app with the only support for Horizontal Buttons, Multiple Buttons, Image Buttons with URL and Buttons with URL.</p> <h4>I propose to enhance the user experience with bots by implementing other rich messages types, interactive rich messages, welcome screen for bots into the existing Rocket chat Android Client.</h4> <p>The goal is to improve user experience with bots by:</p> <ul> <li>Adding Webview support to the existing Rich message types.</li> <li>Adding support to the deferred rich message types like temporary text buttons, and other types which requires editing of the message.</li> <li>Implementing other Rich messages types like section with menus, overflows, buttons, Date pickers, Articles.</li> <li>Adding interactivity to the rich messages to increase usability with bots.</li> <li>Implementing a welcome screen for bots similar to facebook.</li> <li>Writing unit tests and espresso tests for UI level testing</li> <li>Implementing a bot with all the new features.</li> <li>Solving random crashes and left issues and improving documentation.</li> </ul>
Most components of Kiwix-Desktop are written in QT C++, except for the library (aka content manager). The library is the view which allows you to handle books, locally (when books are already downloaded) or remotely (from the online catalog) to download them. Although the whole Kiwix-Desktop software is written in C++, this part is a HTML rendering widget and the details are handled in HTML/JS/CSS with the framework vue.js. The problem with vue.js is that it needs a special effort to keep the visual coherence with the rest of the app in Qt. The filters panel in the library also suffers from being outdated. Unlike other kiwix apps, it has a predefined set of libraries and categories, doesn’t save user preferences and the overall display is not too pleasant. This project aims to fix such problems.
<p>Integrate an Open Source speech to text engine to be used inside Rocket.Chat by users who prefer an On-Premise full-featured installation. There are many opensource speech2text engines on the market, like CMUSphinx and pocketsphinxjs, annyang, JuliusJS, Mumble, Voix JS, voice-commands.js and Artyon.js. The project includes a feature matrix comparison between those engines and the best one to be implemented in Rocket.Chat bundle, giving the UI the ability to click a button, record a message, send it to the text2speech engine and return the results to Rocket.Chat editing message box.</p> <p>Develop a voice recognition integration feature, by building a Settings pane to connect some of the well-known voice recognition and speech to text APIs on the market directly from within Rocket.Chat. By configuring API’s connection and usage attributes, and giving rocket.chat’s UI the ability to click a button, record a message, send to the desired API and return the results to Rocket.Chat editing message box.</p>
OpenClaw is an open-source autonomous AI agent framework that allows users to run powerful local AI agents capable of executing complex tasks, using tools, and maintaining long-term memory. However, it currently lacks native integration with Rocket.Chat, a widely used open-source team collaboration platform. This project aims to bridge this gap by building a complete bidirectional integration between OpenClaw and Rocket.Chat. Users will be able to interact with OpenClaw agents directly within Rocket.Chat channels and direct messages, enabling seamless automation, task execution, and proactive responses inside their familiar workspace. I plan to develop a robust Rocket.Chat adapter/plugin that includes bot user creation, REST API integration, incoming and outgoing webhook support, secure authentication, and reliable message handling. Key Deliverables: Production ready OpenClaw plugin for Rocket.Chat Full support for direct messages and public/private channels Smooth sending and receiving of messages with OpenClaw agents Proper configuration support in openclaw.json Comprehensive documentation and setup guide Upon completion, Rocket.Chat users will be able to harness the power of autonomous AI agents for tasks like security audits, reminders, code assistance, and custom workflows directly from within Rocket.Chat.
<p>LiveChat is a small and lightweight application designed to provide B2C communication between agents and website visitors. At present, Rocket.Chat’s LiveChat only allows users to chat in real-time with the agents. It does not have in-built support to allow video/audio calls. The aim of the project is to support video and audio calls using P2P webRTC architecture providing a frictionless experience for all the users(admin/manager/agent/visitor).</p>
<p>HHVM is an open-source virtual machine designed for executing programs written in Hack and PHP. Rather than directly interpret or compile PHP code directly to C++, HHVM compiles Hack and PHP into an intermediate bytecode, which enables higher performance for Hack and PHP programs.</p> <p>This Project adds the support of hhvm to xapian by extending swig to support HHVM-Native Interface (HNI). This will make the job of hhvm users lot easier.</p>
<p>Fractal stands on the brink of adapting new technologies. With the release of GTK 4, the evolution of Fractal’s new foundation – the matrix-rust-sdk – and discussions about its maintainability, a lot of changes became necessary. So much so, that the Fractal developer community decided to regard the existing Fractal code base a liability and start over freshly.</p> <p>The new clean-slate approach is called <em>Fractal NEXT</em> and I will use this year’s GSoC to help bring it to fruition. This project will move Fractal NEXT from a bare-bone prototype to a basic but very functional Matrix client by implementing main features that are in the daily loop of any Fractal user.</p>
Rocket.Chat users across multiple time zones need a way to schedule messages for optimal delivery, enhancing global collaboration. This project will implement a native message scheduling feature by integrating a scheduling UI, a cron job to send messages at the designated time, and a contextual bar UI to view and cancel scheduled messages. It will also support scheduling in threads, improve error handling, and include comprehensive documentation and unit tests. The deliverables include a MongoDB collection for scheduled messages, APIs (chat.scheduleMessage, chat.getScheduledMessages, chat.cancelScheduledMessage), a cron job (sendScheduledMessages), scheduling and viewing/canceling UIs, thread support, error handling, documentation, and tests
<h3>Implementation of Newsfeed (a social feature) in Rocket.Chat Server</h3> <p>This project adds a newsfeed for every user. In it, the users can follow other users. Whenever a user posts something in a public channel or does any public activity, it would appear in the newsfeed of all his followers with a link to the original post in the original channel. This would greatly help in discovering new conversations, increasing accountability of people in the organisation & increasing many folds the time a user spends on RC</p> <p><strong>The most challenging part of creating the newsfeed is to make it scalable to support a large number of concurrent users (by using an adaptive follower/following relation model) and to benchmark the server performance in relaying the correct messages with filters. This is being done by using proper schema and proper database queries. Messages in newsfeed are fetched in real-time from messages stored for other channels.</strong></p> <p><em>Key Features:</em></p> <ul> <li>Support for Rich Message blocks</li> <li>Auto-summarization of messages to prevent spam in newsfeed</li> <li>Expandable embedded conversations</li> <li>Upvoting System & Trending messages</li> <li>Group messages by origin user, date, channel etc.</li> <li>Integration with other projects</li> </ul>
<p>Currently the stats module lacks some useful features as suggested on the ideas page, like Random Walks, Random Matrices, etc. There is also a scope of completing the work of GSoC 2018 by Akash Vaish like, exporting expressions of random variables to external libraries. There are also certain issues with results being produced by various functions and methods, like, sometimes unwanted complex results are produced for simple probability expressions or, unevaluated results are given as output. I would divide my project into the following broad categories:</p> <ol> <li>Implementing additional multivariate distributions.</li> <li>Implementing Markov Chains, Random Walks, Bernoulli Process(extending PR #15058), and Poisson Process.</li> <li>Implementing Random Matrices.</li> <li>Implementing mechanism to export random variables to PyStan, PyMC3, NumPy, etc. </li> <li>Adding support for assumptions of dependence among random variables.</li> <li>Adding support to enhance result generation by statistics module.</li> </ol>
The [WasmEdge QuickJS runtime](https://wasmedge.org/book/en/dev/js.html) is a secure, fast, and lightweight JavaScript runtime for cloud-native applications. Compared with more established JavaScript runtimes like Nodejs and Deno, the WasmEdge QuickJS runtime provides runtime isolation and security at a very low overhead. In order for WasmEdge QuickJS to be more widely adopted, it needs to support [nodejs](https://wasmedge.org/book/en/dev/js/nodejs.html) applications. WasmEdge QuickJS already supports [NPM and CJS modules](https://wasmedge.org/book/en/dev/js/npm.html).
<p>This project when completed gives ardupilot the ability to control a walking robot. To be able to do that ardupilot needs new modules which support the kinematics model required by the robot . The walking robot will also have support for existing modes and new vehicle specific modes.</p> <ol> <li>Implementation of walking robot over ardupilot </li> <li>Solid kinematics model </li> <li>Simulation support </li> <li>GCS support </li> <li>Documentation</li> </ol>