Coder Social home page Coder Social logo

123done's Introduction

123done's People

Contributors

bufferoverflow avatar callahad avatar chilts avatar ckarlof avatar codepo8 avatar dannycoates avatar gurjeet avatar hannahqd avatar jaredhirsch avatar jedp avatar johngruen avatar jrgm avatar lloyd avatar ozten avatar pdehaan avatar philbooth avatar rfk avatar seanmonstar avatar vbudhram avatar vladikoff avatar zaach 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

Watchers

 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

123done's Issues

implement task syncing

When you log in with persona, your tasks should be sync'd to the server and across devices.

replace "sync state" text with icons and tooltips

Part of this demo shows how you don't need a heavy handed sign up flow, how you can build a site that's instantly usable and upgrades when a users chooses to sign in.

This makes things a little complicated, as your todolist can be:

  1. saved locally (when not logged in)
  2. in the process of being saved to the server
  3. all synced up and happy

Currently there's placeholder text to the left of the signin box, we should represent this state with icons instead, maybe with tooltips upon hovering over the symbol.

  • "You're not logged in, sign in with persona.org to save your todo list"
  • "one sec, we're saving your todolist items to the server"
  • "Your todolist is saved on the server, you can access it anywhere!"

Images are not fully optimized

As a test I ran the following files through: http://www.smushit.com/ysmush.it/

image - result size - savings - % savings

http://123done.org/img/persona-login.png 3.62 KB 944 bytes 20.29%
http://123done.org/img/sync_saved.png 395 bytes 2.71 KB 87.52%
http://123done.org/img/sync_alert.png 382 bytes 2.67 KB 87.75%
http://123done.org/img/sync_progress.png 416 bytes 2.68 KB 86.85%
http://123done.org/img/background.png 47.51 KB 4.25 KB 8.20%

As you can see that does help, although if issue #45 is applied the effect is probably gone.

delay of display of sign-in button needs some sort of visual indication

because this newfangled API requires we do a little work before displaying the user's logged in state, we should probably give a smoother visual progression during load.

specifically, notice that as you load 123done.org there's a delay before signed-in state is displayed in the upper right.

What do you think skinny? loading spinners?

Use browserid-verify!

I just linked to the source of 123done showing how to verify an assertion in node, and then thought: "hey, why aren't we using browserid-verify?"

No caching of resources

It sends Cache-control headers with: public, max-age: 0 for static files, so there is no caching.

target different environments via hostname

  • dev - dev.123done.org
  • stage - stage.123done.org
  • prod - 123done.org
  • ephemeral - *.123done.org

NOTE: for ephemeral deployments, the server should check that the server is up before rendering.

I hate this bug because we will have to make the server more complex to support this. alternately, we could deploy multiple versions of 123done rather than having a single retargetable version. hmmm.

finish first pass of design

@skinny97214 has already committed new css for the site, this issue is open as a tracker that can get closed down once she's happy with the initial look of the site - then we can open more specific issues for UX interactions or little changes in the future.

include ToS and PP links

in dialog. This is a core feature we want tested, so for the purposes of 123done, let's include links

[oauth] Weird task flickering on page load

Found in http://123done.dev.lcip.org/ver.txt (commit 7e65386)

7e65386 use deployed server config

Steps to reproduce:

  1. http://123done.dev.lcip.org/
  2. Watch the section just beneath the "To Do:" heading. You may need to refresh a few times.

Actual results:

There is an for "new item" and an [Add] button which are briefly in the DOM and then look like they get set to display: none; and disappearing. Kind of a scary flicker when the page loads.

123_done___do_stuff

Expected results:

No flicker.

TOS and PP popups have horizontal scrolling for 123done

I found that the TOS and PP links for 123done.org scroll horizontally on a B2G device. I tried a few of the Persona sites that I know and couldn't repro anywhere else, but just wanted to file this in case it is a bigger issue that affects more than this one site.

2013-08-09-12-56-04

This doesn't look like an issue on desktop since the links open in new browser tabs.

123done broken for ie8 from a push of 123done.org on Friday

It appears that new code was pushed to 123done.org that picked up all changes to https://github.com/mozilla/123done since last August.

123done-picksup-all-changes-since-last-august

The master branch of 123done breaks on IE8, but worked before Friday. I git-bisected and this commit 6ceb3dd where script loading is deferred is the problem (and consistent with the error that IE8 was showing, where it was confused about what '$' was). Was something different about the update on Friday.

I'll put in a pull request shortly to revert the above commit. You can see the code running with master minus that commit at http://j123done.personatest.org/.

[oauth] /about.html isn't very pretty

Found in http://123done.dev.lcip.org/ver.txt (commit 7e65386)

7e65386 use deployed server config

Steps to reproduce:

  1. http://123done.dev.lcip.org/about.html (or click the "Learn more!" link at the bottom of http://123done.dev.lcip.org/)
  2. MY EYES!

Actual results:

My eyes are sad.

123done_-_your_tasks__simplified
Figure 1: bad stuff.

Looks like we have a few 404s/errors:

ERROR PAGE
GET /css/bootstrap.css 404 (Not Found) about.html:11
GET /modernizr.min.js 404 (Not Found) about.html:14
GET /css/bootstrap-responsive.css 404 (Not Found) about.html:12
GET /js/jquery.min.js 404 (Not Found) about.html:53
Uncaught ReferenceError: $ is not defined state.js:18
Uncaught ReferenceError: $ is not defined 123done.js:8

Expected results:

Less sadness in my ocular area.

package.json is invalid

Per http://package-json-validator.com/

I think at a minimum we should add author (Mozilla), and homepage, bugs, licenses, and repository.

{
  "valid": false,
  "errors": [
    "Missing required field: author"
  ],
  "warnings": [
    "Missing recommended field: keywords",
    "Missing recommended field: homepage",
    "Missing recommended field: bugs",
    "Missing recommended field: licenses",
    "Missing recommended field: repository"
  ],
  "recommendations": [
    "Missing optional field: contributors",
    "Missing optional field: files",
    "Missing optional field: main",
    "Missing optional field: bin",
    "Missing optional field: man",
    "Missing optional field: directories",
    "Missing optional field: config",
    "Missing optional field: bundledDependencies",
    "Missing optional field: engineStrict",
    "Missing optional field: os",
    "Missing optional field: cpu",
    "Missing optional field: preferGlobal",
    "Missing optional field: publishConfig"
  ]
}

[oauth] cert errors with 123done

Found in http://123done.dev.lcip.org/ver.txt (commit 7e65386)

7e65386 use deployed server config

Steps to reproduce:

  1. http://123done.dev.lcip.org/
  2. Click the shiny [Sign in with your email] button

Actual results:

Secure Connection Failed

An error occurred during a connection to oauth-ui.dev.lcip.org.
Peer's Certificate has been revoked.
(Error code: sec_error_revoked_certificate)

  • The page you are trying to view cannot be shown because the authenticity of the received data could not be verified.
  • Please contact the website owners to inform them of this problem. Alternatively, use the command found in the help menu to report this broken site.

Figure 1: FF Beta/29


Cannot connect to the real oauth-ui.dev.lcip.org

Something is currently interfering with your secure connection to oauth-ui.dev.lcip.org.

Try to reload this page in a few minutes or after switching to a new network. If you have recently connected to a new Wi-Fi network, finish logging in before reloading.

If you were to visit oauth-ui.dev.lcip.org right now, you might share private information with an attacker. To protect your privacy, Chrome will not load the page until it can establish a secure connection to the real oauth-ui.dev.lcip.org.

Figure 2: Google Chrome 34

Expected results:

It should, like, work.
Currently theory is that this is due to a revoked SSL cert.

Too easy to lose the Persona popup window after the window gets obscured

originally opened by @pdehaan in mozilla/persona#3772, moved here instead.

Steps to reproduce:

  1. Go to http://123done.org/ and click the Sign in with Persona button to launch the dialog.
  2. Open a few other windows/apps so that the Persona login gets pushed to the background.
  3. Forget that you were mid-login and go back to the 123done.org site and try and sign in again.

Actual results:
The "Sign in with Persona" button is disabled and cannot be clicked. In order to actually sign in, you have to hunt around for the previously opened (but now obscured) dialog window and close it, or complete the sign-in process.

Expected results:
Instead of disabling the Sign in button, it may be nicer if we change the behavior so that clicking the Sign in button a second time just brings the previous dialog back into focus (or just relaunch the Sign In button with the same window/target name so the previous window gets recreated and the user has to start over).

A couple warnings in Firefox debug console when opening 123done.org

The color error should be an easy fix (color is defined as "#;" with no value), but I can't find anywhere in the codebase where we're setting -moz-opacity explicitly. Not sure if that one is a separate bug, or just there for backwards compat.

[12:07:28.434] Error in parsing value for 'color'. Declaration dropped. @ http://www.123done.org/css/styles.css:73
[12:07:28.457] Unknown property '-moz-opacity'. Declaration dropped. @ http://www.123done.org/

Can't deploy 123done

Looks like node version needs a boost on the awsbox. On git push:

remote: npm http 200 https://registry.npmjs.org/client-sessions/-/client-sessions-0.3.1.tgz
remote:
remote: npm ERR! Unsupported
remote: npm ERR! Not compatible with your version of node/npm: [email protected]
remote: npm ERR! Required: {"node":">= 0.8.0"}
remote: npm ERR! Actual:   {"npm":"1.1.21","node":"0.6.17"}

The github link is preventing automated tests on B2G desktop from attempting to sign in

The 'Fork me on Github' appears on top of the 'Sign in with Persona' link when visiting 123done.org from the B2G desktop client. This is preventing an automated UI test from attempting to sign in. Could we make it so this is not present on narrow displays? On a B2G device the content is not so large and therefore is not an issue, so it's possible this could/should be fixed elsewhere. Please advise.

Screen shot:
screen shot 2013-05-30 at 2 10 10 pm

[oauth] landing image on 123done dev homepage is insaaaane big file size

Found in http://123done.dev.lcip.org/ver.txt (commit 416dc64)

416dc64 show logged in email

Steps to reproduce:

  1. Open a new browser tab.
  2. Open the network tab of the developer tools.
  3. Go to http://123done.dev.lcip.org/

Actual results:

http://123done.dev.lcip.org/img/landing.jpg (2183px-by-x1657px) is massive and takes a long time to load. Oh, and is like 500kb.
Oddly, I'm seeing a HTTP status code of 206, which is "partial-content" (see http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.2.7)

123_done___do_stuff

landing_jpg__jpeg_image__21831657_pixels__-scaled__25_

Expected results:

Optimize images much?

sign in button never shown if cookies are disabled

Just reporting this "for the record". I was checking an issue for 'requires cookies' screen in dialog and disabled cookies and loaded 123done.org. The sign in button stays as a spinner forever.

This is obviously not a huge deal, since if the sign in were shown, clicking it would just say "you must enable cookies".

[oauth] A few warnings/errors being reported by eslint on the oauth branch

Steps to reproduce:

  1. I ran eslint (via a Grunt task) on the oauth branch, because, well, grunt+eslint.

Actual results:

BOOM!

$ grunt lint
Running "eslint:target" (eslint) task

oauth.js
  2:4  error  'crypto' is read only  no-undef
  4:4  error  Unnecessary semicolon  no-extra-semi

retarget.js
  10:1  error  'crypto' is read only  no-undef

server.js
  13:15  error  Expected error to be handled                                    handle-callback-err
  64:45  error  Trailing comma                                                  no-comma-dangle
  99:23  error  Use path.join() or path.resolve() instead of + to create paths  no-path-concat

static/js/123done.js
   33:4   error    'loggedInEmail' is not defined  no-undef
   65:20  error    'loggedInEmail' is not defined  no-undef
   78:10  error    'loggedInEmail' is not defined  no-undef
   80:19  error    'loggedInEmail' is not defined  no-undef
   81:25  error    'loggedInEmail' is not defined  no-undef
   82:10  error    'State' is not defined          no-undef
   84:10  error    'alert' is not defined          no-undef
   85:10  error    'loggedInEmail' is not defined  no-undef
   87:19  error    'loggedInEmail' is not defined  no-undef
   88:25  error    'loggedInEmail' is not defined  no-undef
   93:8   error    'loggedInEmail' is not defined  no-undef
   94:17  error    'loggedInEmail' is not defined  no-undef
   95:23  error    'loggedInEmail' is not defined  no-undef
   99:8   error    'State' is not defined          no-undef
  114:19  error    'loggedInEmail' is not defined  no-undef
  115:25  error    'loggedInEmail' is not defined  no-undef
  119:8   error    'State' is not defined          no-undef
   84:10  error    Unexpected alert                no-alert
   20:30  warning  xhr is defined but never used   no-unused-vars
  124:31  warning  ev is defined but never used    no-unused-vars

static/js/state.js
   46:4   error    'State' is not defined                                         no-undef
   64:6   error    'State' is not defined                                         no-undef
  102:8   error    'loggedInEmail' is not defined                                 no-undef
  142:8   error    'loggedInEmail' is not defined                                 no-undef
  158:9   error    'loggedInEmail' is not defined                                 no-undef
  187:6   error    'State' is not defined                                         no-undef
   17:0   error    Move the invocation into the parens that contain the function  wrap-iife
   65:5   error    Unnecessary semicolon                                          no-extra-semi
   79:3   error    Unnecessary semicolon                                          no-extra-semi
  130:3   error    Unnecessary semicolon                                          no-extra-semi
  153:3   error    Unnecessary semicolon                                          no-extra-semi
  107:40  warning  e is defined but never used                                    no-unused-vars
  170:40  warning  e is defined but never used                                    no-unused-vars

โœ– 39 problems

Warning: Task "eslint:target" failed. Use --force to continue.

Aborted due to warnings.

My .eslintrc file looks like:

{
  "env": {
    "amd": true,
    "browser": true,
    "node": true
  },

  "globals": {
    "$": false,
    "jQuery": false
  },

  "rules": {
    "no-alert": 2,
    "no-array-constructor": 2,
    "no-bitwise": 1,
    "no-caller": 2,
    "no-catch-shadow": 2,
    "no-comma-dangle": 2,
    "no-console": 0,
    "no-control-regex": 2,
    "no-debugger": 2,
    "no-delete-var": 2,
    "no-div-regex": 2,
    "no-dupe-keys": 2,
    "no-else-return": 0,
    "no-empty": 2,
    "no-empty-class": 2,
    "no-empty-label": 2,
    "no-eq-null": 2,
    "no-eval": 2,
    "no-ex-assign": 2,
    "no-fallthrough": 2,
    "no-floating-decimal": 2,
    "no-func-assign": 2,
    "no-global-strict": 0,
    "no-implied-eval": 2,
    "no-iterator": 2,
    "no-label-var": 2,
    "no-loop-func": 2,
    "no-mixed-requires": [0, false],
    "no-multi-str": 2,
    "no-native-reassign": 2,
    "no-new": 2,
    "no-new-func": 2,
    "no-new-object": 2,
    "no-new-wrappers": 2,
    "no-obj-calls": 2,
    "no-octal": 2,
    "no-octal-escape": 2,
    "no-plusplus": 0,
    "no-proto": 2,
    "no-redeclare": 2,
    "no-regex-spaces": 2,
    "no-return-assign": 2,
    "no-script-url": 2,
    "no-self-compare": 2,
    "no-shadow": 2,
    "no-sync": 0,
    "no-ternary": 0,
    "no-undef": 2,
    "no-undef-init": 2,
    "no-underscore-dangle": 0,
    "no-unreachable": 2,
    "no-unused-expressions": 1,
    "no-unused-vars": 1,
    "no-use-before-define": 0,
    "no-with": 2,
    "no-wrap-func": 2,
    "no-yoda": 0,

    "block-scoped-var": 0,
    "brace-style": 0,
    "camelcase": 0,
    "complexity": [0, 11],
    "consistent-return": 0,
    "consistent-this": [0, "that"],
    "curly": 0,
    "dot-notation": 0,
    "eqeqeq": 2,
    "guard-for-in": 0,
    "max-depth": [0, 4],
    "max-len": [0, 80, 4],
    "max-params": [0, 3],
    "max-statements": [0, 10],
    "new-cap": 2,
    "new-parens": 2,
    "one-var": 0,
    "quote-props": 0,
    "quotes": [0, "single"],
    "radix": 0,
    "semi": 0,
    "strict": 0,
    "unnecessary-strict": 0,
    "use-isnan": 2,
    "valid-jsdoc": 0,
    "wrap-iife": 2,
    "wrap-regex": 0
  }
}

And my grunt eslint task is this miracle of life:

module.exports = function (grunt) {
  "use strict";

  grunt.loadNpmTasks("grunt-eslint");

  grunt.config("eslint", {
    options: {
        config: '.eslintrc'
    },
    target: [
      '*.js',
      'static/js/*.js',
      'tasks/*.js'
    ]
  });
};

Expected results:

Fewer errors.
THis one seems to be a red herring:

'crypto' is read only no-undef

AFAICT, it is due to my .eslintrc file defining both "browser" and "node" to true. Not sure if the browser has some strange built-in crypto variable i'm not aware of that would trigger that warning.

If anybody is interested, I can try and un-jank my 123done environment and submit a PR for Grunt tasks on the 123done repo (against the oauth branch specifically).

package.json needs updating?

Trying to run this, I had to change the dependency in package.json for client-sessions to be 0.0.8 instead of 0.0.6. before i could get it to work on os x mountain lion.

I don't really understand why, but figured I'd dump this in here.

123done needs iwantmyname DNS change to point at AWS elastic IP

Hi @lloyd. Filing so stephend's team and others can track.

Anyways, while using the elastic IP (54.225.199.66) works, the dns resolution for (*?)123done at iwantmyname.net still returns the old IP (23.21.171.226). I'm assuming that needs updating to point at the elastic IP (either by A or CNAME).

Workaround for very short term, add to /etc/hosts:

54.225.199.66 123done.org beta.123done.org dev.123done.org

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.