attempt-this-online

Try It Online clone: online sandbox environment for testing code in a variety of languages

AGPL-3.0 License

Stars
46
Committers
18

Bot releases are visible (Hide)

attempt-this-online - v0.2.4 Latest Release

Published by pxeger 8 months ago

What's Changed

  • Added Advanced mode: you can now customise the Bash code used to invoke the compiler or interpreter (#72). This allows you maximum flexibility in how many times the code is run, with what options and inputs, and what you do with the outputs. Here's an example
  • Add Koka
  • The Ctrl+Y keyboard shortcut to switch language has been changed to Ctrl+H, to avoid clashing with redo
  • Various internal improvements and fixes (full changelog)
attempt-this-online - v0.2.3: usability improvements, bug fixes, new languages

Published by pxeger over 1 year ago

  • New languages: Bracmat, Aheui, Elm, Retina, Nekomata, Raku, kamilalisp, minigolf, Thunno 2, Flip, Powershell
    • some of these don't actually work yet
  • Replace terrible manual Docker image extraction process with a better system using containers/storage
  • The cursor is now placed in the code box once you've selected a language
  • Add keyboard shortcut Ctrl+Y Ctrl + H to change language
  • Fix certbot renewal
  • Fix #114 (Timing details showed kernel time as user time)
  • Remove extraneous backtick at the end of generated CGCC markdown
  • Make language selector modal not block header and footer UI
  • Add donation links to About page
  • Remove all memory limits completely (I forsee no repercussions for this)
  • Internal dependency updates
attempt-this-online - v0.2.2: bugfixes

Published by pxeger almost 2 years ago

attempt-this-online - v0.2.1: polish on v0.2.0

Published by pxeger almost 2 years ago

As promised, this release implements output truncation, so your web browser doesn't crash if you accidentally write a program that produces infinite output.

Assuming nothing goes horribly wrong, this will be deployed to https://ato.pxeger.com on New Year's day.

attempt-this-online - v0.2.0: backend rewrite brings new features

Published by pxeger almost 2 years ago

The entire backend has been rewritten from scratch, entirely in Rust, including a custom sandbox written from the ground up. This enables:

  • stdout and stderr output to be streamed live as the program is running
  • the program to be killed part way through its execution
  • generally noticeably faster execution time

Also, a few new languages have been added:

  • Cognate
  • OCaml
  • Chapel
  • Knight

And a few bugs were fixed.

Full Changelog: https://github.com/attempt-this-online/attempt-this-online/compare/v0.1.16...v0.2.0

This version is still missing the important safety feature of limiting the output size of stdout and stderr, which means your browser tabs might crash. (I probably should've called this v0.2.0-beta1 but it's too late now).

This will be coming in v0.2.1, soon™, probably along with some version updates to the included languages.

This is already deployed on https://staging.ato.pxeger.com. The main site will probably skip straight to v0.2.1, which will hopefully before the new year.

attempt-this-online - v0.1.16: new languages and bug fixes

Published by pxeger over 2 years ago

  • You can now press Enter in the language selector to select the top search result (#48)
  • Added PARI/GP, 05AB1E, Whitespace, Charcoal, Dyalog APL, Dirac, J-uby, Exceptionally, Regenerate, Tex, Flax, HOPS, Husk, Nibbles, Pyth, K (ktye/i), LOLCODE
  • Fixed character counting bug (#56)
  • Fixed ligatures always being enabled in Options list (#51)
  • Fixed Haskell
  • Improved API documentation
  • Fixed bug with Docker images with duplicate layer hashes
  • Simplified resource limits

Contributors

Full Changelog: https://github.com/attempt-this-online/attempt-this-online/compare/v0.1.15...v0.1.16

attempt-this-online - v0.1.15: frontend usability improvements, new languages

Published by pxeger over 2 years ago

  • Add Vyxal, Go, Perl, PHP, R, Erlang, Elixir, Guile, Julia, Deno, Kotlin, Rust, C (clang), K (oK), Haskell, Quipu, Brainfuck, Alphuck, Brainbool, oOo CODE, TinyBF, Random Brainfuck, Brainlove, Extended Brainfuck Type I, BQN, Factor, SBCL, K (ngn/k), APL (dzaima/apl), Lua, Crystal, Nim, Neko, Zig, ///, sed, AWK, jq, yq, bc, dc, TCL, J
  • You can now insert tabs into the text fields by pressing the tab key
    • The old behaviour (cycling through element focus) can be restored by changing a setting on the Preferences page
  • You can disable the 3-line minimum height for text boxes in the Preferences
  • Ctrl+A now works in the stdout/stderr/timing text boxes
  • You now can't dismiss the language selector without choosing a language
  • Better error handling if you use a URL with an unsupported language ID
  • Sort order in language selector is now case-insensitive
  • Squashed a bug where the resizeable text areas didn't resize if they changed value while collapsed
  • You can override the language selected using the ?L URL parameter (see #46 for details)
  • The page title now shows the selected language name
  • Installation no longer requires Docker
  • Cache is cleaned properly during installation
  • Thanks to a fix to the languages build system, disk space usage for languages which are based on other languages is significantly reduced
  • Minor CSS cleanups
attempt-this-online - v0.1.14: new languages, UI tweaks, setup improvements

Published by pxeger over 2 years ago

It's been a while since the last release, so 0.1.14 has an unnecessarily large number of changes... sorry

  • add Node.js, Ada, C++, D, Fortran, Go, Objective-C, Objective-C++, C
  • add format for CMC button
  • add new UI for copying templates to clipboard
  • put language URL in header of CGCC post template
  • fix ResizeableText Ctrl+F weirdness (#40)
  • fix Funky2 (#41)
  • made more UI elements change give colour feedback on hover
  • speed-ups and disk space reductions during setup
  • a few minor accessibility tweaks
  • frontend dependency updates and general assorted code cleanups

Full Changelog: https://github.com/attempt-this-online/attempt-this-online/compare/v0.1.13...v0.1.14

Currently live-ish on https://staging.ato.pxeger.com
Will be live on https://ato.pxeger.com ... soon?™ Depends on how stable it is or isn't.

attempt-this-online - v0.1.13: new languages + internal changes

Published by pxeger almost 3 years ago

  • added pip
  • added bash
  • added funky2
  • new Go backend is fully integrated (various refactors)
  • stdout and stderr are now piped straight into the API server, paving way for more exciting real-time features
  • notification when stdout and stderr exceed their maximum data limit

See the full commit history for details.

This will be live on https://ato.pxeger.com soon. (https://staging.ato.pxeger.com already has it, bar some very minor dependency updates)

attempt-this-online - v0.1.12: new backend, UI tweaks

Published by pxeger almost 3 years ago

This is the first release which uses the new backend rewritten in Go, including communication over websockets. Hopefully it should be a bit more reliable and very slightly snappier!

Other changes include:

  • A more accessible way of showing the Execute button to be disabled
  • The addition of tictac
  • Adding numpy sympy scipy Pillow to the Python 3 image
  • Bug fixes and behind-the-scenes refactors (see the full commit history for details)

This will be live on https://ato.pxeger.com very soon.

attempt-this-online - v0.1.11: new language selector

Published by pxeger about 3 years ago

Paving the way for further improvements to language selection, this release includes a new UI.

attempt-this-online - v0.1.10: hotfix for v0.1.9

Published by pxeger about 3 years ago

hotfix for command-line options checking

attempt-this-online - v0.1.9: frontend features, bug fixes

Published by pxeger about 3 years ago

Notable features:

  • add a proper language selector dialogue
  • add Java
  • add Whython

Small improvements and boring fixes:

  • auto-re-decode stdout and stderr when changing encoding
  • fix run page when code encoding not loaded
  • fix default value for trust_proxy_header
  • fix validation of command-line arguments with null bytes
  • improve typing of frontend
  • better handling of invalid save URLs
  • optimisations of disk use during setup
attempt-this-online - v0.1.8: new options, languages, refactoring

Published by pxeger about 3 years ago

  • add a full-width UI mode (go to Preferences -> check/uncheck Full-width mode) (note that if your screen is too small, the UI is full-width anyway and changing the option has no effect)
  • add Scala (both Scala 2 and Scala 3 / Dotty)
  • add Ruby
  • add optional syntax highlighting classes to each language so the generated CGCC post can have code highlighted correctly
  • add a timeout parameter to the API, so it doesn't always have to be 60 seconds (this is not currently exposed as an option in the frontend UI)
  • internal refactorings:
attempt-this-online - v0.1.7: Add Jelly, and bugfixes

Published by pxeger over 3 years ago

  • Add Jelly (via #20)
  • Fix scroll jumping to the top on every keystroke
  • Fix SBCS default overwriting value loaded from URL

Currently live on https://staging.ato.pxeger.com/

attempt-this-online - v0.1.6: frontend tweaks

Published by pxeger over 3 years ago

  • Fixed #12
  • Notifications on the frontend will not appear more than once
attempt-this-online - v0.1.5: tweaks (fixed!)

Published by pxeger over 3 years ago

Removes a debug "feature" I accidentally left in in v0.1.4. See that version for details of what changed there

attempt-this-online - v0.1.4: tweaks

Published by pxeger over 3 years ago

  • Add internal support on the frontend for counting bytes with SBCS (no languages that use it yet, sorry!)
  • Add Python 2
  • (#17) Header, Footer, and Input text boxes are now closed by default if they're empty
  • (#16) Fix notifications container blocking click events
  • Make frontend notifications sticky
attempt-this-online - v0.1.3: Fix broken links in CGCC post template

Published by pxeger over 3 years ago

Was missing a ?.

attempt-this-online - v0.1.2: Minor bugfixes

Published by pxeger over 3 years ago

See v0.1.1 for list of bugfixes. I forgot to bump version numbers in the previous release, so it's fixed here.