Giter VIP home page Giter VIP logo

tali's Issues

Session logic BE

Make it handle all the following situations

  • login
  • logout
  • relogin
  • page refresh
  • change computer
    • login with the same user we are logged in at the first computer

Client side full functionality list

  • Core actions (0.0.8)
    • Sign in
    • User register
    • Movement
      • FlatOut
        • Up
        • Down
      • DimensionAware
        • Up
        • Down
        • In
        • Out
    • expand, collapse
      • local
        • expand to x level
        • expand current level only
        • expand recursively
        • expand shallowest
        • collapse current level only
        • collapse recursively
        • collapse deepest
      • global
        • expand to x level
        • expand recursively
        • expand shallowest
        • collapse recursively
        • collapse deepest
    • Edit node
      • Line locking
        • enter edit mode
        • leave edit mode
    • Make new node
    • Delete node
      • Atomic
      • Whole tree
    • Move node
      • Atomic
      • Whole tree
    • Copy node
      • Atomic
      • Whole tree
    • Warnings
      • If there are children when you delete
    • Limit recursive functions to 100 nodes
  • Level 2
    • Specify anchor point
    • Automatic scroll
    • Mark automatic changes
      • Promotion
      • Demotion
    • Search and jump to a certain location
    • Handle editing permissions
      • Lock outline
      • Unlock outline
  • Level 3 (0.1.1+)
    • Clone node (make multiparent node) (synced node maybe)
    • UI
      • Mark cloned texts (eg. with tag) (that shall be general: mark with tag (Riel))
      • Menu appears for a shortcut, where all functions are reachable
      • Upper navigation bar (with numbers or colors) for positioning
      • Show the "mode" of the users
        • a. Edit or navigation mode
        • b. Read and write
      • Loading, (Wizek provides an example) (stands or moves the colored line)
    • Startpoint setting
      • Do nothing
      • collapse
      • collapse recursively
    • Endpoint setting
      • Do nothing
      • expand
      • expand recursively
    • Follow
      • Who is signed in? If I click "follow", I go wehere he is
  • Copound
    • Move to child, if there isn't, create one

for refference

Implement full back end socket.io api

Dependencies:

  • #4 Polish model
  • ✔ User connect
  • ✔ User login
  • ✔ User disconnect
  • ✔ User logout
  • ✔ User register
  • ✔ User focus
  • ✔ Edit node
    • ✖ Line locking
    • ✔ Edit headline
    • ✔ (Edit Body)
  • ✔ Submitting enviromentID (envID) token (both new or old)
  • ✔ Make new node
  • ✔ Delete node
    • ✖ Atomic
    • ✔ Whole tree
  • #3 Move node
    • ✖ Atomic
    • ✔ Whole tree
  • ✖ Copy node
    • ✖ Atomic
    • ✖ Whole tree
  • ✖ Clone node (make multiparent node) (synced node maybe)

BE functions don't handle missing or wrong typed arguments

Not even at the most basic level.
Argument checking is part of BE vaidation, so therefore is to be tested for and implemented.

// Expected types: user.xyFunct(String, Object, Function)
// test for:
test.doesNotThrow(user.xyFunct)
test.doesNotThrow(function() {
  user.xyFunct(null, Object, Function)
  user.xyFunct(String, null, Function)
  user.xyFunct(String, Object, null)
})

Something like that.

Or would you rather write documentation for the API @Fodi69?
That would allow me not to check inside the code for what's required, but still doesn't replace throughout testing.

Gravatar

Upload Gravatar profile picture! :D

server-crusher error(s)

127.0.0.1 - - [Thu, 25 Aug 2011 22:19:12 GMT] "GET / HTTP/1.1" 200 107 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1"
127.0.0.1 - - [Thu, 25 Aug 2011 22:19:13 GMT] "GET /lib/require/require.js HTTP/1.1" 304 - "http://localhost:3000/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1"
127.0.0.1 - - [Thu, 25 Aug 2011 22:19:13 GMT] "GET /js/main.js HTTP/1.1" 304 - "http://localhost:3000/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1"
Error: ENOENT, No such file or directory 'www/favicon.ico'
127.0.0.1 - - [Thu, 25 Aug 2011 22:19:13 GMT] "GET /js/connect.js HTTP/1.1" 200 1060 "http://localhost:3000/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1"
   debug - served static /socket.io.js
127.0.0.1 - - [Thu, 25 Aug 2011 22:19:13 GMT] "GET /js/cookie.js HTTP/1.1" 304 - "http://localhost:3000/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1"
   debug - client authorized
   info  - handshake authorized 18198795121663360633
   debug - setting request GET /socket.io/1/websocket/18198795121663360633
   debug - set heartbeat interval for client 18198795121663360633
   debug - client authorized for
   debug - websocket writing 1::
   debug - websocket received data packet 5:1+::{"name":"set envId","args":["yq1c9maki6wu8dzp4pw5ma9b9dd3kzyaha289vcelt3lxqx8"]}
[2011-08-25 22:19:14.496] ERROR [user.js:48:11] - Nem található a hivatkozott session
[2011-08-25 22:19:14.497] DEBUG [user.js:49:11] =>
Searched { envId: 'yq1c9maki6wu8dzp4pw5ma9b9dd3kzyaha289vcelt3lxqx8' }
   debug - sending data ack packet
   debug - websocket writing 6:::1+["Session doesn't have a username!"]
   debug - emitting heartbeat for client 18198795121663360633
   debug - websocket writing 2::
   debug - set heartbeat timeout for client 18198795121663360633
   debug - websocket received data packet 2::
   debug - got heartbeat packet
   debug - cleared heartbeat timeout for client 18198795121663360633
   debug - set heartbeat interval for client 18198795121663360633
   debug - emitting heartbeat for client 18198795121663360633
   debug - websocket writing 2::
   debug - set heartbeat timeout for client 18198795121663360633
   debug - websocket received data packet 2::
   debug - got heartbeat packet
   debug - cleared heartbeat timeout for client 18198795121663360633
   debug - set heartbeat interval for client 18198795121663360633

/cygdrive/e/Work Area/Code/Tali/node_modules/mysql/lib/client.js:293
      this._queue[0].fn();
                     ^
TypeError: Cannot call method 'fn' of undefined
    at Client._handlePacket (/cygdrive/e/Work Area/Code/Tali/node_modules/mysql/lib/client.js:293:22)
    at Parser.<anonymous> (native)
    at Parser.emit (events.js:64:17)
    at /cygdrive/e/Work Area/Code/Tali/node_modules/mysql/lib/parser.js:71:14
    at Parser.write (/cygdrive/e/Work Area/Code/Tali/node_modules/mysql/lib/parser.js:576:7)
    at Socket.<anonymous> (native)
    at Socket.emit (events.js:64:17)
    at Socket._onReadable (net.js:678:14)
    at IOWatcher.onReadable [as callback] (net.js:177:10)

QUnit assert count failure

QUnit doesn't always count the asserts in a test if all of them were successful. But it seems to be picking up when errors happen always. Not anymore, see below.

How to fix this quirk?

Documentation

For all the functions on the back end up until 0.0.7

Login BE api

function(username, password, envId, socketId, cb)

Should we use any kind of scriptloader (such as RequireJS)?

Note: Major points bare emphasis.

Pros:

  • Node.js-like (commonJS) file loading brought to the FE as well
    • In-file dependency handling
    • Singleton object of modules
    • Deferred script loading is an ease this way.
    • Can download text files.
      • Useful for i18n
      • Useful for HTML templating

Cons:

  • Dependency on just another not-so-much-needed libray
    • Needs to be learned, mastered.
    • Errors can arise just simply because we use it.
      • Generally bad error reporting
  • Slightly slower overall pageloading.

Any thoughts?

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.