Skip to main content

4 posts tagged with "updates"

View All Tags

· 3 min read
Bardia Pourvakil

Welcome back to another edition of Replit Updates!

In the last two weeks, we merged 579 pull requests across our codebases, here are the highlights:

Workspace Sidebar + Header Redesign

We redesigned the sidebar to make it into a launcher for tools and files. Previously, we had a bunch of tools (like packager and debugger) which were “trapped” inside of the sidebar. This redesign lets us open both tools and files as tabs, and makes it much easier for us to set up the workspace for extensions. We also redesigned the header to make it more compact and focused.

Sidebar redesign

Learn Java with BloomTech

We just added a new beginner-friendly course to our Learn page! In this series of daily lessons taught by BloomTech's lead Java instructor, you will learn Java by creating an end-to-end application that allows you to draw and paint on a canvas.

Mobile App Updates

  • Added teams to the mobile app, which can be accessed from the account tab. — Abdel Rahman Elleithy
  • Added Replit Reps badges to profile pag. — Ian Kirkpatrick
  • Added a new page to view Cycles transactions. — Abdel Rahman Elleithy
  • Fixed some login issues. — Matthew Chen.
  • Stopped showing owner picker if user doesn't have any teams. — Abdel Rahman Elleithy
  • Stopped showing Edit/Delete Repl Metadata buttons for users that don't own the Repl. — Ian Kirkpatrick
  • Stopped showing confusing PWA banner. — Laima Tazmin

Workspace Polish

  • Added border styles for active/inactive, floating/tiled and dragging states for panes. — Moudy Elkammash.
  • Added a button to the navbar to access the Chat feature. — Devin Halladay
  • Added focus indicator for Console and Shell trash and search UI. — Talor Anderson
  • Upgraded .draw files to use the latest Excalidraw, which comes with image support, more advanced drawing tools, and much more. — Jeremy Press and Ornella Altunyan
  • Improved the visual design of the new tab pane. — Moudy Elkammash
  • Increased the max width of file path tooltip to account for arbitrarily long paths. — Moudy Elkammash
  • Fixed an issue issue where the autcomplete menu would flash while typing. — Xiaoyi Chen
  • Fixed a bug where Select All Occurrences code action wasn't working. — Moudy Elkammash
  • Fixed a bug where the Kaboom learn tab wasn't working. — Tiga Wu
  • Fixed an issue with .pedit files not working. — Tiga Wu
  • Fixed an issue where other users' cursor tooltips would render outside the code editor, covering other pieces of UI. — Alexandre Cai
  • Fixed a bug with JSX parsing that led to indentation issues. — Brian Pool
  • Fixed a bug where you needed to hit the down arrow twice after opening up file search to start going through the results. — Moudy Elkammash
  • Removed the refresh app component in the navbar. — Gian Segato

Teams for Edu Fixes

  • The checkbox for making the team invite privacy links is moved to the team creation modal instead of the manage members modal. — Wade Bourne
  • Other ways to add users such as from CSV or from google classrooms are disabled for teams with privacy invites. — Wade Bourne

· 5 min read
Bardia Pourvakil

SHPNG SZN is still in full gear with new features, bug fixes and polish abound! (shameless plug for our swag shop where you can cop some SHPNG SZN gear)

In the last two weeks, we merged 762 pull requests, here are the highlights:

Bounties

Last week, we officially launched Replit's first marketplace, Bounties! Describe your task —> get software built by Replit's top creators. Check out a case study on how Deel used Bounties to get an internal site built in just one week.

As a Replit community member, you can earn Cycles by completing Bounties. Learn more here.

Example Bounty

Huge shout out to the Bounties team for their hard work on this project: Michael Hadley, Talor Anderson, Søren Rood, Aman Mathur, and Horacio Lopez.

Status Manager

We just launched a Status Manager, where you can see all your running Repls: restart, kill, see logs, etc, it's awesome! Read more about it here on our blog, from its makers: Joe Thom and Lincoln Bergeson.

Status Manager

Mobile App

  • Added a keyboard toolbar to the shell to allow for key inputs that aren't available on mobile keyboards like Esc, Tab, Ctrl — Matthew Chen
  • Added ability to accept Ghostwriter suggestions in the keyboard toolbar when in the editor — Ian Kirkpatrick
  • Added owner username to Repl cards and made language icons more prominent — Abdel Rahman Elleithy

Polish

Workspace

  • Added red indicator when there are unread messages in Chat and Threads — Moudy Elkammash
  • Fixed issue with .pedit files where mousing down outside and then mousing up inside the canvas caused a crash — Tiga Wu
  • Added multiselect modifier key setting in Settings — Xiaoyi Chen
  • Updated tabs to scroll into view when they become active — Moudy Elkammash
  • Switched default to position of new panes to top right instead of top left if there are two panes open — Tyler Angert
  • Added a keyboard shortcut indicator to the hover state of the CLUI button (magnifying glass) in the header — Giuseppe Burtini
  • Fixed incorrect shortcut reference for Workspace Shortcuts in the Help menu from Ctrl+. on Windows/Linux to Ctrl+K — Giuseppe Burtini
  • Fixed issue with autocomplete popover positioning displaying on iPads — Alexandre Cai
  • Fixed issue with unwanted text selection while dragging — Moudy Elkammash
  • Disabled code formatter when code intelligence setting is toggled off — Toby Ho

Threads

All courtesy of Arnav Bansal:

  • Fixed issue where Threads weren't live updating
  • Fixed issue with up/down arrow keys not working in Threads input field
  • Updated links in Threads to open in a new tab rather than replacing your Replit session

Filetree

All courtesy of Xiayoi Chen:

  • Added the ability to drag and drop multiple files/folders
  • Updated colors of active files/folders in the file tree to grey-ish from blue
  • Redesigned hover states when dragging and dropping files/folders
  • Made borders of selected files/folders flush when multiselecting
  • Fixed stuttering when dragging to move files and folders
  • Added the ability to drag one or multiple files to a pane or the pane header
  • Fixed issue with search term that appears in the folder name highlighting matches in the file name

Miscellaneous

  • Fixed text truncation bug on recent Repls titles on home page — Joe Thom
  • Redesigned notice, confirmation, and error toasts — Conner Ow
  • Fixed 100 Days of Code streak logic to account for daylight savings time — Madison Fitch
  • Added Tutorial Jam winning tutorials to the Learn page — Phil MacEachron
  • Standardized page widths for the Home, Templates, Community, Teams, Learn, and Curriculum pages — Moudy Elkammash
  • Redesigned Repl cards on the My Repls page — Omar Abdul-Rahim
  • Add support for @username handles for YouTube social links in user profiles — Shane Vandegrift
  • Fixed incorrect background styling of tags section on Following feed items — Mathurah Ravigulan
  • Fixed mobile responsiveness for tutorial cards on the Learn page — Phil MacEachron
  • Prevented public search indexing of Repls published less than 24 hours ago or have less than 1 like — Jeremy Press

Teams for Edu

  • Updated student projects to hide .tutorial folder — Xiaoyi Chen
  • Fixed a bug in group submissions where the team's name for students instead of the student's username — Ted Summer

CodeMirror

As our code editor runs on CodeMirror, we thought you should know about upstream fixes we've pulled down. Arnav recently upgraded us to all the latest CodeMirror packages, which came with the following notable changes:

  • Fixed a bug that caused deletion commands on non-empty ranges to incorrectly return false and do nothing, causing the editor to fall back to native behavior
  • CSS completion now supports a number of additional recent and semi-standardized pseudo-class names
  • Deprecated HTML tags have been removed from completions
  • Made JS completionPath handle ?. syntax
  • Added proper indentation handling of Python else clauses in try statements
  • Work around a Chrome bug where it inserts a newline when you press space at the start of a wrapped line
  • Align rectangularSelection's behavior with other popular editors by making it create cursors at the end of lines that are too short to touch the rectangle
  • Fixed an issue where coordinates on mark decoration boundaries were sometimes taken from the wrong side of the position
  • Prevent scrolling artifacts caused by attempts to scroll stuff into view when the editor isn't being displayed
  • Fixed a crash when trying to scroll something into view in an editor that wasn't in the visible DOM
  • Fixed an issue where content on long wrapped lines could fail to properly scroll into view.

· 3 min read
Dave Madden

This week we merged 441 pull requests, pushed 1,172 commits, and added 49,440 lines of code to our codebases. See what we shipped: 👇

What we shipped

Matt and Madison made all the fast things...even faster

Last week Bradley found a way to cut Replit.com's p95 latency in half.

This week it appears that Madison and Matt Iselin have cut latency in half again!

Take a look at this chart and see if you can tell when we shipped the changes:

a graph of Replit.com's p95 latency

What does this mean for you? It means the slowest 5% of requests to Replit.com now respond in 1/4 the time they did two weeks ago. And we're not done.

Editor's Note: if you say "Madison" and "Matt Iselin" one right after another a few times, they sound exactly the same. This has been extremely confusing for us at times (on account of them actually being two different people), so we thought we should do our civic duty and spread our confusion by sharing it.

The mobile app keeps getting better

It’s been three weeks since we launched our amazing mobile app, and we’ve been hard at work making it even better!

  • Laima and Abdel added the ability to give your Repl a name as you're creating it.
  • Ian fixed a bug with the Git plugin so now you can incorporate your version control workflows in mobile without issue!
  • Ian also fixed a bug where the workspace wouldn't scroll to the correct position when the keyboard was open.
  • Matthew fixed a bug where, if an Android user's primary browser was FreeAdblocker, the browser would prevent them from being able to log in to the Replit app. Now the app overrides the default browser for a smooth login!

What we polished

  • Giuseppe shipped performance improvements to Ghostwriter's Explain Code feature.
  • Samip and Muhammad deployed batched codegen to help reduce latency for all our Ghostwriter features.
  • Larry and Aman shipped the just-in-time Cycles purchase experience for Power Ups to make it easier to get started with Ghostwriter.
  • Eddie made your favorite teacher's day with some substantial quality-of-life improvements to Teams for Education including the ability to copy courses and solutions to the next year.

Behind the Repls

Jesse conquered the Dome (again)

Those of you who've written into Replit Support have probably exchanged emails with Jesse. (It's possible those emails contained references to a certain book, but we'll talk about that another time.) What you may not know about Jesse is that he's an accomplished rock-climber, who spent last weekend climbing Half Dome.

Just take a look at this. Yes, these are actual pictures of an actual Jesse climbing the actual rock:

Jesse climbing Half Domethe sun setting as Jesse climbs

This made Replit Founding Engineer Faris extremely uncomfortable until Talor helpfully reminded him that "less people die climbing than they do not climbing." This made Faris feel better and all was right with the world for a moment.

· 5 min read
Dave Madden

This is the first edition of Replit Updates - where we get to share what we’ve been up to in the past week! What have we built for you? What have we fixed for you? It’s all here. Read to the end for a peek behind the Repls and into the lives of the engineers building Replit!

This week we merged 496 pull requests, pushed 1224 commits, and added 349,343 lines of code to our codebases. See what we shipped: 👇

What we shipped

Ghostwriter launch

Earlier today we launched Ghostwriter to the public after months of closed beta-testing, and last week the team shipped some final pre-launch improvements to make Ghostwriter faster and more reliable.

Ghostwriter

This was a major team effort:

When we launch a new product line like Ghostwriter, it takes more than just engineers building the feature itself: Jonathan, Ted, Devin, and Aman built out the onboarding experience and purchase flow you’ll go through as you try the 14-day free trial.

Mobile app magic

It’s been two weeks since we launched our amazing mobile app for both Android and iOS and we’ve been shipping improvements based on all your wonderful feedback! Last week:

  • Abdel and Matthew lowered the sensitivity of the shake to provide feedback feature and gave active users the ability to turn off the shake feature entirely.
  • Ian fixed your mobile keyboard: it no longer covers up the editor or console.
  • Matthew also improved TypeScript and JavaScript code suggestions.
  • And the entire team, led by the incredible Laima Tazmin, made improvements to both stability and speed.

We're always shipping new features and fixes, so be sure to update your app!

New File History Viewer

This week we moved the entry point for our new History feature from the nav header to the bottom of each file. Brian, Tyler, and Moudy collaborated on this redesign, making an already helpful feature dramatically more convenient to access by file.

You used to find History here - and pressing the button took you to an entirely different page:

Replit History 2 in the nav bar

Now you can find the History icon in the lower-right-hand corner of the tab you're working in. And you can use it without leaving the editor:

new Replit history function in each tab

Bradley made all the things faster

You may have noticed something this week: Replit is faster.

Like, a lot faster.

You can thank Bradley. Bradley, as one does, discovered a way to cut our web tail latencies in half. Overnight our 95th percentile latency dropped from 1+s to less than 500ms. Check out this absolutely bonkers chart:

Brad made all the slow things go fast

The top line represents the slowest 5% of requests to Replit.com Before Bradley (BB). The bottom line is the slowest 5% After Bradley (AB). Bradley is our hero.

We salute you, Bradley.

we salute you, Bradley

Become a teacher on Replit

If you’ve done any of the 100 Days of Code lessons, you’ve seen the special internal feature we built that lets us design interactive tutorials directly on Replit. We thought it was too good a feature to keep to ourselves, so now you can create your own Replit-native tutorials. There’s even a contest with prizes:

join the tutorial jam

What we polished

  • Eddie Nuno modified the repl auth token expiration time for better user-experience.
  • Toby Ho improved the publishing flow to ensure templates are built before they’re published, which makes them faster for every person who uses them - no more installing packages every run!
  • Madison made every teacher’s week when she shipped an improved/more performant Project Overview page. This new version stays speedy even under peak load!
  • We’ve also made our updated brand kit available here: http://replit.com/brandkit . Please Meme Responsibly™️.

Behind the Repls

We love building Replit, and we work really hard. But we have fun too. Every week at the end of the update, we’re going to share a little peek into some of the other things we’ve gotten up to.

Comic Sans-sanity

A few weeks ago Talor and Jonathan made a deranged bet. The first bet we’re aware of, by the way, made in Cycles:

The challenge: who can code in Comic Sans the longest? Yes, we agree: this is madness. Just look:

Comic Sans all the things

And, yes, this bet extends to writing code on Replit:

Comic Sans is taking over the world!

Editor's note: They’re both 100% committed to winning, so it’s likely that many of the new features we ship over the next year will have been written in (shudder) Comic Sans. We would not inflict this on anyone, so please keep Talor and Jonathan in your thoughts.

Keep track of this unhinged experiment on this Repl:

days and counting

Debate over the best mechanical keyboard switches rages on

We talk about the important things too: like which mechanical keyboard switches are best. Gian thinks MX Browns are little too heavy. Luis thinks Gian might want to tune them, but Giuseppe insists “Kailh Box Whites are the pinnacle of switches” and the conversation eventually devolved into us laughing at reflections of ourselves in this YouTube parody.