Replit's All-new Database Editor
This week, we launched a new Database Editor feature on Replit. This feature is another addition to Replit’s full suite of tools that make it easy for anyone to build an app — no coding knowledge required.
cat engineering.log
Technical insights from the people building Replit.
This week, we launched a new Database Editor feature on Replit. This feature is another addition to Replit’s full suite of tools that make it easy for anyone to build an app — no coding knowledge required.
Programming languages with Garbage Collectors are fantastic! You no longer need to keep track of every single piece of memory that your program needs to run and manually dispose of them. This also means that your programs are now immune to bugs like double-free (accidentally freeing a resource more than once, leading to crashes or security vulnerabilities) and most memory leaks (accidentally not freeing a resource, leading to crashes by running out of memory). But it is still possible to have a memory leak. Consider this TypeScript snippet:
Back when computers were still in their infancy, the “computer” usually was a big cabinet in the middle of a room. They typically exposed some internals via a front panel with lots of knobs and ports. Users would connect a terminal device (sometimes called a teletype or a TTY) to this front panel in order to input text and print the corresponding output.
For any company making creative tools, being able to tell what its most engaged users are building on the platform is critical. When the bound of what’s possible to create is effectively limitless, like with code, sophisticated data is needed to answer this deceivingly simple question. For this reason, at Replit we built an infrastructure that leverages some of the richest coding data in the industry.
We recently revamped the dependency management experience in your Replit workspace. You can now use and configure multiple languages in one Repl. We’ve consolidated language support, packages, and system dependencies into one new Dependencies pane for beginners and experienced developers alike!
We recently spent a few months making ports easier to work with on Replit, so you can develop more complex apps predictably.
Today, we’re releasing the first version of rippkgs, a CLI utility for indexing and searching Nix expressions. With rippkgs, you can quickly search the nixpkgs available to your system with accurate results. Read on for more details about why we created it, how to use it, and how it works.
We’re thrilled to announce that first-class pip support is now available on Replit! This should work out-of-the-box when importing existing repositories from GitHub. For developers who want to switch from poetry to pip: start by deleting poetry.lock, then move your dependencies over from [tool.poetry.dependencies] to requirements.txt (structure hint: flask = "^3.0.2" would become flask>=3.0.2,<4 in requirements.txt), and finally, delete the other [tool.poetry...] sections from pyproject.toml. After that, the packaging infrastructure will use pip for all future operations going forward.
At Replit, we want to make it easy to support any project configuration possible. This includes ensuring your binaries are in the right place and intelligent code completion works. Historically, the .replit file has been at the center of this, but the experience of editing the file is a process shrouded in mystery. While documentation exists for the file and what various configurations imply, it’s much more convenient if the documentation is visible inside the Workspace.
People have expected apps to rotate with their mobile devices since before the introduction of the iPhone in 2007. It’s especially important for productivity apps to adapt and let people choose how they want to utilize their screen space. With the newest version of the Replit Mobile App, you can now code in both landscape and portrait modes. This creates a significantly improved experience on smaller tablets like the iPad mini or larger phones like the Pixel Fold. Want to code on the go with your iPad mini? Simply rotate it to portrait, then later, when you’re home, connect it to your wireless mouse & keyboard and rotate it to landscape for maximal screen space. This is the first of many more improvements to the Replit Mobile App, unlocking your ability to build and launch your next startup from your phone.
Between Dec 12 and Dec 16, Secrets in interactive Repls and files in our legacy repl.co static hosting were unavailable. The root cause was a configuration push to GCS storage that was misinterpreted as a request for all the files to be evicted from storage. Deployments and Secrets in Deployments were unaffected. We have since recovered all known user Secrets and instituted new data retention procedures in our storage systems to ensure that this issue doesn’t reoccur. This will allow us to have a faster recovery going forward. This post summarizes what happened and what we're doing to improve Replit so that this does not happen again.
As developers, we constantly seek tools that simplify our workflows and boost our productivity. We know that most code lives on GitHub, so we want to make running, maintaining, collaborating on, and deploying code from GitHub repositories effortless.
If you’ve ever tried to install a complex Python package, you know the pain of scouring the package’s README for the apt install or brew install commands necessary to bring in the system-level dependencies the package needs. This approach can be time-consuming and frustrating, especially when a cascade of errors indicates a missing system dependency — a pain point that isn't always immediately obvious.
The new Console has been launched for a while, bringing a whole new UI, persisted history of executions, metadata about the runs, and more!
We recently released some improvements to our Packages tool, and now we're extending that work to bring a new System Dependencies tool to Replit, powered by Nix! Replit has bet big on Nix, and we're not slowing down. It's now easier than ever to leverage Nix's power with a brand-new user interface for adding, removing, and searching system dependencies.
When you're programming, indentation is something you shouldn't have to think about, as an IDE should handle most of the details nowadays. With Replit, you don't have to think about what happens when you press tab. We're releasing a suite of new indentation and whitespace related features that will make the code editing experience even better.
On Sep 29, we had a period of about 2.5h from 14:00 to 16:30 (Pacific Time), in which an incomplete build was pushed to our infrastructure that handles storing Repl data. This caused Repls opened during that time window to become read-only or stop working. Any Repl not opened during that timeframe was not affected. We have addressed the root cause, recovered 98% of the affected Repls, and continue to work on recovering the remaining 2%. We understand that your data not being available is unacceptable for both you and your users. This post summarizes what happened and what we're doing to improve Replit so that this does not happen again.
We remain committed to providing a powerful free development experience to anyone who wants to code. This post is only about the hosting experience, which we are migrating to our new Deployments product.
Performance Mystery: Is Golang's Startup Time Slow?
Improving the Inline Ghostwriter Experience
Expand possibilities on Replit with Expandable Storage
No matching posts.