Factor/To do/Web

random stuff

  • if a page has two forms with fields having the same name, validation errors will be shown for the wrong field
  • chloe: don't emit xml prolog unless template has one
  • search tool in docs app breaks with # or % in title
  • title of front page of wiki should be better, for search engines; add nofollow to edit links
  • fix docs generation: it misses some vocabs, eg http://docs.factorcode.org/content/vocab-concurrency.html
  • fix insomniac
  • 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
  • fix http.server.cgi for file uploads
  • breadcrumbs for hierarchical nagivation
  • wiki should look better
  • docs site should use GET form submission for the search
  • make sure everything validates XHTML 1.1
  • docs search: validation message looks awkward
  • finish blogging service
  • do the to-form-redirect trick
  • put session ID in the URL with HTTPS
  • indicate links to non-existent pages somehow
  • 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 validation 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


  • URLs where the path contains 2f: not sure how to fix this yet
  • 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?


  • rollback in wiki is kind of dumb
  • user pages
  • full-text search
  • semantic tagging
  • personal and public tags
  • protected pages
  • web services
  • use recaptcha


  • 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

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


  • planet factor needs an atom link
  • wiki: too much escaping in links
  • Farkup breakage if link text contains < > or '
  • httpd should not require ssl libraries if ssl is not being used
  • links browser doesn't send referer on post?
  • 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
  • log stack trace for 500 errors
  • help responder
  • "webapps.counter" run inc-ing the counter fails
  • pastes have a broken link to http://paste.factorcode.org/list
  • bad validation: go to wiki/view/<bad chars here>
  • docs.fc - any link with + in the name e.g. 1+ => 404
  • url encoding: + is not allowed! form encoding is different!
  • doc tool: locals and other uninterned words generate broken links
  • docs.factorcode.org: validation isn't working for the search field
  • oops, boilerplate not working anymore for login page
  • "http.server" reload fails

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

This revision created on Wed, 27 Jan 2010 05:04:47 by slava