Factor/To do/Web


  • C++ => link is not URL encoded
  • how do you do inline literal html tags in farkup? should % work for that?
  • Farkup "You can make Custom link text can be used with both types of links."
  • running the webapps/counter example throws an exception
  • creating a new user that is the same as an existing user doesn't show an error message
  • in development mode, should call reset-templates
  • login is broken sometimes -- if login password is correct, doesn't redirect you sometimes
  • fix convo scope problems
  • Deleting all text in an edit box and trying to save behaves weirdly
  • rename sidebar to contents
  • relative-link-prefix lossage again
  • After registration, it should log you in automatically
[2008-09-07T20:49:17-05:00] NOTICE accepted-connection: { T{ secure f ~inet6~ } T{ secure f ~inet6~ } }
  • don't redirect to 8812
  • Making a list after a single line of text doesn't work (should it?) Foo\n- list item 1\n- list-item 2
  • bad referrer error if we go to concatenative.org:8080/pastebin and submit
  • pastebin was listing pastes in the wrong order
  • Safari sends :80 in the Host: header, and we append :80 to links
  • 'Delete' button looks wrong
  • - foo should only render as a list at the start of a line
  • no-case in check-accept-response
  • fix bogus autofill on some forms
  • buttons and submit buttons look different

in progress

added better logging, still tracking down:

Generic word (>>version) does not define a method for the POSTPONE: f class.
Dispatching on object: f

[ call -> stop ]
[ over >r compose [ dip rethrow ] curry recover -> r> call ]
[ swap >c call -> c> drop ]
[ H{ } clone >n call -> ndrop ]
[ H{ } clone >n call -> ndrop ]
[ over >r compose [ dip rethrow ] curry recover -> r> call ]
[ swap >c call -> c> drop ]
    64 1024 * limit-input ?refresh-all
    [ read-request ] ?benchmark -> [ do-request ] ?benchmark
    [ do-response ] ?benchmark

before wiki announcement

  • pastebin doesn't validate XHTML 1.1
  • johnowak had a problem where he submitted an edit, registered, then the form submission was lost
  • tools at bottom should be in a little float on the right!
  • some reqs take ages
  • wiki should look better

before blog deployment

  • put session ID in the URL with HTTPS
  • indicate links to non-existent pages somehow
  • breadcrumbs for hierarchical nagivation
  • explicit atom feed links
  • No login button for Wiki
  • should have a preview mode for wiki
  • click edit on a revision should show an editor for that revision, with a warning if its not the latest
  • clicking a revisions should show diff to previous
  • diff banner at the bottom of the page could say "Added by foo, last edited by bar, (view change)"
  • farkup: build a toc
  • renaming pages
  • what links here
  • finding broken links
  • cgi needs a process timeout
  • blog should look better
Error in thread 95 (http.server connection from T{ inet6 f "0:0:0:0:0:0:0:1" 49166 }, [ ~duplex-stream~ ~inet6~ ~inet6~ handle-client ]):

Bad request: URL
  • this should be logged
  • websites.factorcode
  • if vlaidation fails, redirect to new-annotation form + anchor
  • blog needs a 'posts by this author' link
  • blog: show user's real name
  • wiki: show user's real name

better list support

  • pastebin: 'no annotations', blog: 'no comments'
  • t:ul, t:ol
  • alternation, t:tr?
  • paging


  • edit profile/logout links
  • maybe init should be called on form submission also?
  • wiki: some duplication between listing actions, and username links
  • new todo, edit todo
  • new blog, edit blog
  • new user, edit user
  • each -common page has edit profile, logout
  • page title, feed title, title in atom tag
  • blog: list of all posts, list of user posts
  • more robust component inheritance with real form nesting

what about stuff that's required with some but not others?

  • that can be per-action
  • new user action requires passwords
  • edit user action doesn't
  • user admin tool, edit profile, registration... abstract out user validation


  • abstract out CRUD actions
  • mutual exclusion for saving sessions and user profiles
  • think about transaction safety and thread safety with users table etc
  • will as a path delimiter cause problems for static responder?
  • tags for wiki and blog
  • log stack trace for 500 errors
  • help responder


  • db null value attacks
  • random number guessing
  • better handling of invalid db ids
  • try various .. and attacks on file-responder
  • must support chunked encoding post requests
  • if 'id' is wrong, rollback button redirects us to a revision page where all the content is missing. general problem with multiple forms on one page?


  • user pages
  • full-text search
  • semantic tagging
  • personal and public tags
  • protected pages
  • web services


  • xml-rpc needs cleanup and fixes
  • http-client: with-http-request for stream-oriented stuff
  • boilerplate: don't do this for 404's? or make 404's nicer
  • listener and inspector responders!
  • numbers-game
  • news website with threaded discussions in the comments, voting
  • bug tracker: something simple but using all of the above bits and pieces
  • integrated cms framework for wiki + blog + news + bug tracker
  • web services
  • file uploads

- [{http://www.ietf.org/rfc/rfc1867.txt

a:link { text-decoration: none; color: black; }

a:visited { text-decoration: none; color: black; }

a:active { text-decoration: none; color: black; }

a:hover { text-decoration: underline; color: black; }}]

low priority

  • test basic auth with capability upgrading
  • basic auth with enforced ssl
  • single-submit forms
  • password recovery is a 'business process', so is comment moderation etc
  • digest authentication
  • remember me
  • don't give the user a cookie if there is no session state
  • client side sessions

This revision created on Mon, 29 Sep 2008 00:00:29 by slava