Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Version of the IDE! #98

Open
2 of 3 tasks
thecodingwizard opened this issue Mar 17, 2023 · 4 comments
Open
2 of 3 tasks

New Version of the IDE! #98

thecodingwizard opened this issue Mar 17, 2023 · 4 comments

Comments

@thecodingwizard
Copy link
Member

thecodingwizard commented Mar 17, 2023

We updated the backend of the IDE (migrated from Firepad to YJS). This reduces costs, increases performance, and improves stability.

If you encounter any issues or have other general feedback, please leave a comment here or open a new issue.

We will continue to host the old ide at https://legacy.ide.usaco.guide/. However, please move important files to the new IDE, as we may have to shut down the legacy server eventually.

Migration Plan

Code is in the legacy-archive branch.

  • Make a backup of the legacy database Done: stored in gcs cp-ide-default-rtdb-backups. Backup taken August 31, 2023, ~5pm PT. We have ~150k files!
  • short term: delete any scribble / input / outputs that are > 10kb in size (note that due to firepad overhead, the actual size limit of the data is probably a lot less, maybe like 2kb).
  • long term: "compress" old files: make them read-only; gzip everything; delete any scribble / input / outputs that are > 5kb in size after gzip. This probably reduces database size to < 1GB (ie. free tier)

Before: 10.5GB used. Now (after short term fix): 2.1GB

Disk Usage

Update: On Dec 20 2023, I resized it to use a 256gb ssd, of which we have used 15gb, so we should be good for now.


For the new server, this is our disk space as of May 31 2023:
image

Aug 21 2023:
image

image

December 17, 2023:

image image

December 20, 2023 (2:48am ET):

image

May 17, 2023:

image

@thecodingwizard thecodingwizard changed the title Beta Version of the IDE New Version of the IDE! Jun 1, 2023
@thecodingwizard thecodingwizard pinned this issue Jun 1, 2023
@programmeruser2
Copy link

Is there a way to download all of the files on the old IDE at once?

@thecodingwizard
Copy link
Member Author

Not currently, but it’s probably possible to write a script to do this (?)

@programmeruser2
Copy link

Is there a simple API endpoint for enumerating workspaces/downloading files? It seems like right now it uses Firebase

@thecodingwizard
Copy link
Member Author

There isn’t. You can connect to firebase manually though, and just directly read from firebase to get the info you need?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants