Git Product home page Git Product logo

showterm.io's Introduction

This is the server backend for showterm.

It's hopefully available on the internet at https://showterm.io.

Private server

If you'd like to run your own showterm server it should "just work". For small installations you can use the builtin server that comes with rails in a few easy steps:

  1. git clone https://github.com/ConradIrwin/showterm.io
  2. Set up a database (I've only tested postgres), and add a config/database.yml
  3. bundle install
  4. create a database.yml file in the config directory
  5. bundle exec rake db:create db:migrate db:seed
  6. rails s

You'll also need to configure your user's showterm clients by adding export SHOWTERM_SERVER to their ~/.bashrcs.

Meta-fu

As usual bug-reports and pull-requests are very welcome. Everything is licensed under the MIT license.

showterm.io's People

Contributors

conradirwin avatar crashsystems avatar didier13150 avatar dparnell avatar kousu avatar nicoolas25 avatar prongs avatar theoretick avatar zotherstupidguy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

showterm.io's Issues

Support RAILS_ENV=production

I would like to see a production deployment that did not pull in all the development libraries and optimized for speed. I made a feeble attempt with

bundle exec rake db:create db:migrate db:seed RAILS_ENV=production
bin/rails server --environment=production

but that ended with the main website at http://localhost:3000 not fully loading graphics and CSS.

Docker Docs

please document the docker docs. in the Readme

support for mysql, or even sqlite?

mysql is much more popular than postgres for shared hosts, and is kind of the standard. sqlite works well on embedded devices + mobile. I would be very happy with support for either but cmon posgres.. let the flame war begin :)

How to increase font size?

Not knowing much about CSS, I am trying to figure out how I can increase the font size of showterm. I am going to be embedding showterm in my presentation and I need to make sure the code is readable to folks in the back. Should I be looking in app/assets/stylesheets? What bits should I try toggling?

No test

bin/rake test:all:db returns:

   (228.5ms)  DROP DATABASE IF EXISTS "showterm_test"
   (794.2ms)  CREATE DATABASE "showterm_test" ENCODING = 'utf8'
   (121.2ms)  CREATE TABLE "scripts" ("id" serial primary key, "slug" character varying(255), "scriptfile" text, "timingfile" text, "ip_address" character varying(255), "created_at" timestamp NOT NULL, "updated_at" timestamp NOT NULL, "cols" integer DEFAULT 80, "lines" integer, "secret" text) 
   (57.6ms)  CREATE INDEX "index_scripts_on_slug" ON "scripts" ("slug")
   (8.2ms)  CREATE TABLE "schema_migrations" ("version" character varying(255) NOT NULL) 
   (53.6ms)  CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version")
   (1.2ms)  SELECT version FROM "schema_migrations"
   (5.9ms)  INSERT INTO "schema_migrations" (version) VALUES ('20131111202216')
   (7.9ms)  INSERT INTO "schema_migrations" (version) VALUES ('20121008062224')
   (7.6ms)  INSERT INTO "schema_migrations" (version) VALUES ('20130119105342')
   (8.3ms)  INSERT INTO "schema_migrations" (version) VALUES ('20121008050618')
   (7.9ms)  INSERT INTO "schema_migrations" (version) VALUES ('20121008063803')
rake aborted!
cannot load such file -- rails/performance_test_help
/home/renaud/github/showterm.io/test/performance/browsing_test.rb:2:in `<top (required)>'
Tasks: TOP => test:all:db => test:all
(See full trace by running task with --trace)
Run options: --seed 64672

# Running tests:



Finished tests in 0.002076s, 0.0000 tests/s, 0.0000 assertions/s.

0 tests, 0 assertions, 0 failures, 0 errors, 0 skips

OK, it complains about rails/performance_test_help.

the first command is not played and timing is out of sync

I recoreded a few bash commands:

[wojdyr@dt tests]$ showterm bash
showterm recording. (Exit shell when done.)
[wojdyr@dt tests]$ echo 123
123
[wojdyr@dt tests]$ echo abc
abc
[wojdyr@dt tests]$ echo 1 2 3
1 2 3
[wojdyr@dt tests]$ exit
showterm recording finished.
Uploading...
http://showterm.io/1f39d968a3447c264913c
[wojdyr@dt tests]$ 

and when go to the URL above I see:

123                                                                             
[wojdyr@dt tests]$ echo abc                                                     
abc                                                                             
[wojdyr@dt tests]$ echo 1 2 3                                                   
1 2 3                                                                           
[wojdyr@dt tests]$ exit

Additionally, command prompts are being typed, and some slowly typed text is shown instantly.
Tried both shell and ruby uploader - the same.

Make the cursor non-blinking

I've been staring at a showterm for 5 seconds and then realised that the
it has already finished. The cursor confused me.

images doesn't load

I forked and deployed to heroku.
Images are not loading:
image

what should I do to get the images to show?

Doesn't show cursor

This may/may not be possible to track, not sure.

Not sure if its client or server side either.

But it would be helpful if you could render a cursor of some description, especially if a user is editing input in real time, because otherwise all you'll see is characters randomly mutating, and you'll lack the visual cue to know where to expect to see a mutation before it happens.

https://twitter.com/rjbs/status/404971695691563008

Example demonstrating the confusion: http://showterm.io/ab072f78742aaa469c4c7#fast

Resume after pause is broken

Right now I can pause by putting the slider somewhere. But resume is completely broken. After paused, if I click on slow or fast, the playback starts from the same location in the html, but it prints text from the start.

Local Capture and Review -> Optional Remote Upload

I love this tool, and am planning to use it for all kinds of demos, training, and process documentation. But, I need to be able to run it on local machines.

Ideally, I could have it installed on the notebooks of many field staff (mostly linux), where the sessions could be captured and reviewed locally. After review, sessions could be uploaded to either a company server or the showterm.io site.

Architecturally I see this as pretty simple:

  1. The local machine runs it's own private server, that let's the user locally review the sessions (http://localhost:3000/).
  2. For any given session, the user can choose to upload it to an alternate network connected server.

Command wise, it could look like this:
showterm --list
# shows a listing of sessions on $SHOWTERM_SERVER

showterm --name "New Name" http://localhost:3000/9d4f95fade1c52ad86837
# adds "New Name" as an attribute of 9d4f95fade1c52ad86837 that appears in the --list

showterm --copy http://localhost:3000/9d4f95fade1c52ad86837 --server http://my.corp:3000/
# copies the session from up to --server

Lastly, having a simple script to setup the local instance. Ideally using something like sqlite with full setup by the script, and no expectation for conflict with other apps on the system.

Thanks for creating this great tool! Keep it up. :-)

Resume playback

When I drag the progress slider or click "stop", the playback can't be resumed, not even by clicking "slow" or "fast" again. It should probably start playing again if it was playing before dragging the slider. And if the "stop" button can't toggle between stop and play, at least the slow and fast buttons should resume playback.

Support outputting static file bundle

For those of us who would like to share recordings internally within our company (can't upload externally), we could run our own copy of showterm.io, but this is cumbersome and requires running special-purpose server code. It would be great if instead showterm could output a static file bundle that can then simply be tossed onto any old web server for sharing.

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.