Git Product home page Git Product logo

harvard.cs50.simple's People

Contributors

dbbradley avatar dino-rodriguez avatar dmalan avatar haelannaleah avatar harianbarasu avatar kzidane avatar noe007 avatar victordomene avatar

Stargazers

 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

harvard.cs50.simple's Issues

Dialogs appear after update50

@harianbarasu
There's this weird behavior of having 4 dialog boxes appearing for each open terminal tab as a result of executing the following command in each terminal tab:

c9 exec cs50updateProfileScripts

screencast:
cs50updateProfileScripts.zip

Problem is that while I'm able to reproduce that on cs50.io, I can't reproduce on c9.io or CS50 IDE offline, even though apparently having the same version of simple installed. still investigating this, but thought you might have an idea of what's going on (you added these lines per git blame?).

Also are we sure this is the best way to source profile and .bashrc in all the terminal tabs? Good user experience? Can we execute this command somehow without activating the tabs?

Asking because another thing that I noticed is, in case multiple terminals are open, and I execute c9 exec cs50updateProfileScripts (or e.g., update50) in one of them, I may end up having another terminal tab focused (as per the screencast).

(working on this already and will push a fix and answer these questions here as soon as I figure things out; just mentioning you, so that we can avoid duplicating efforts, in case you have an idea)

cc @dmalan @glennholloway

Log out

Almost done refactoring. Right now we have two "Log out" buttons, one of which seems to redirect to the correct login page (respective to cs50.io or c9.io), and the other seems to always redirect to c9.io.

The first one is CS50 IDE > Log out
cs50ide-logout

and the second one is under the user's menu
user-logout

Furthermore, the one under CS50 IDE unnecessarily appears offline, so I'm going to remove that, but aside from this, only one of them is enough? If so, which one do you think better stays?

@dmalan @glennholloway

tree toggle on hiding code tabs

when unchecking "View > Tab Buttons", the bar holding the tabs is completely hidden leaving out the tree toggle button. it's easy to toggle the visibility of the button when that menu item is toggled of course, but then there would be no way to toggle tree visibility with a mouse, in case the button is hidden. thoughts on where to relocate/alternative solutions? @dmalan @danallan

updateProfileScripts() gives Native Clipboard Unavailable error

Given Cloud9's default behavior of showing a "Native Clipboard Unavailable" error when copying text in the IDE, the updateProfileScripts() function displays four dialogs for every open terminal when executed. Is there some way to suppress these messages, @harianbarasu, without relying on the user having previously selected "Don't show again"?

Below are examples. It displays these dialogs twice, with slightly different information displayed in the latter on the second time.
screen shot 2016-07-22 at 5 45 36 pm
screen shot 2016-07-22 at 5 45 40 pm

The impact is that, running c9 exec cs50updateProfileScripts in update50 will display 4 errors for every open terminal window. Checking the "Don't show again" box will prevent it from happening on subsequent c9 execs, but it still displays all queued dialogs if it was previously unselected before the current run.

For now I've disabled the c9 exec in update50 until we find some way of suppressing. @harianbarasu @dmalan

detect multiline pastes into terminal

Students occasionally accidentally paste big chunks of text into their terminals (instead of code tabs) by accident, which can trigger accidental commands to execute.

Possible to detect when text is pasted into a terminal window and that text contains \r or \r\n or \n so that we can prompt with "Are you sure you want to paste n lines into your terminal window?"

setIcon() not executing in online

Now that simple's changes are live, I've noticed that the Gravatar icon is not being swapped for the C9 logo. The preference panel to do the switch doesn't appear, either. Looking at setIcon(), it's obvious why: either the user object has some issue, or it's not finding the login menu.

Poking around a bit seems to reveal that there's nothing special about my account as user is populated as expected. It seems likely that this is a race condition: simple is being loaded before the login plugin, and the menu therefore doesn't (yet) exist when setIcon is run.

We cannot simply add login to consumes to force proper order, however, because this causes the offline IDE to break (I tried it: login does not exist in the offline IDE). We may need some other method to find the menus.

One possible hacky solution would be to detect if it's an online or offline IDE, and if online, use setTimeout to wait some number of seconds and try again, retrying until it's found. Any better suggestions, @harianbarasu?

@dmalan

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.