dart-lang / dart-pad Goto Github PK
View Code? Open in Web Editor NEWAn online Dart editor with support for console, web, and Flutter apps
Home Page: https://dartpad.dev
License: BSD 3-Clause "New" or "Revised" License
An online Dart editor with support for console, web, and Flutter apps
Home Page: https://dartpad.dev
License: BSD 3-Clause "New" or "Revised" License
We insert our own html, head, and body tags. We should handle the case where the user writes their own.
Tracking issue.
Content Security Policy - Greatly helps reduce XSS.
http://caniuse.com/#feat=contentsecuritypolicy
http://www.html5rocks.com/en/tutorials/security/content-security-policy/
https://developer.mozilla.org/en-US/docs/Web/Security/CSP/Introducing_Content_Security_Policy
It's 1.2MB right now, ~6x the rest of the site combined.
Perhaps using this API: https://github.com/DirectMyFile/github.dart.
Track average client visible line length. It would be nice to know how many clients can comfortably display 80 col lines, or if the average for dartpad clients is a bit shorter.
We need a better progress display when we're running / compiling. Also, a way to cancel the task?
So, concatenate css files, eliminate html imports, ...
There's no obvious place to file an issue... maybe I missed it? Can we link to the GitHub project or the GitHub issues?
We can get into race conditions where the analysis results are not up to date wrt the current text.
From @lukechurch on January 2, 2015 11:50
There's a fairly noticeable delay between the page first loading and the dart code appearing in the LHS window, this gives a perception of slowness.
The delay is noticeable worse on a tablet than a laptop, I suspect it's something to do with the way the editor is being initied?
Copied from original issue: devoncarew/dartpad_ui#11
We should return a 'not found' - 500 is an internal server error.
From @sethladd on January 6, 2015 22:53
Would be nice to also fire an event every time someone clicks "Run".
I'd also like to know how often people use HTML and CSS editing, or just Dart editing.
Copied from original issue: devoncarew/dartpad_ui#17
@devoncarew has started this
We need to consider:
-> Ensure that it can't be used as a DOS vector by triggering on the expensive package resolutions
-> Ensure that it plays nicely with intermittent failures of pub storage
Otherwise we get the browser blocking Non-SSL loads
From @lukechurch on January 5, 2015 12:30
"Error compiling:
[500 Internal Server Error] [error, line 1] Library not found 'dart:io'."
Should be something along the lines of
"The dart:io library cannot be used in a browser context. Please see support page for common work arounds."
Lets chat about where we put in the fix.
Copied from original issue: devoncarew/dartpad_ui#14
We should use a transformer to convert the application/dart reference in the html file to the dartpad.dart.js reference.
From @lukechurch on January 2, 2015 11:47
This often results in it being harder to read the output than necessary, with large 'dark-space' area
Ideally each of the display element should be movable and redockable so they could be re-arranged to the users wish (e.g. I'm often using try for cases where the HTML output is not used at all).
If that's too much engineering for now, just making the vertical divider movable would go a long way.
Copied from original issue: devoncarew/dartpad_ui#10
I made a change, and nothing happened. I waited two seconds. Nothing happened. I then clicked Run and I saw my change.
Should the UI respond to my change automatically? If so, can you give a visual clue that I should hang tight, or click Run.
Splitter needs to support touch events.
When a service call (compilation or analysis) times out, we should ping GA to that effect (re: #65).
Serve from back to appspot (w/ an user whitelist).
The run button auto-focuses the editing area; this is annoying on tablets as it causes the soft keyboard to open, obscuring the UI.
User reports are that is a mystery whether there are no issues, or whether analysis just hasn't completed yet.
Even without sharing, should we do something like persist the code to local storage periodically?
instead of tabs, use a collapsible accordion style UI
We have a race condition when loading html and js into the iframe.
Maybe add - ALPHA
after "Dartpad" ?
We need a mechanism to help users discover keyboard shortcuts for e.g. the Run button.
The easiest would be hover tooltips, a bit better would be that every time you used the mouse to perform an action there was an indicator in e.g. the bottom right of the screen what the shortcut would be.
We could inline our 1/2 dozen css scripts into the main html file, to eliminate multiple resource loads at startup.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.