Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Jul 3, 2008
  1. @jamiemccarthy
  2. @jamiemccarthy


    jamiemccarthy committed
  3. @jamiemccarthy

    Omit non-page from "Pages From RSS By Section"

    jamiemccarthy committed
    The "Pages From RSS By Section" daily admin stat report includes
    badges and other non-"page"s.  This omits them.
  4. @pudge


    pudge committed
  5. @pudge

    Fix up comments read UI a bit

    pudge committed
  6. @jamiemccarthy


    jamiemccarthy committed
  7. Use a template to generate the parse-able combined tag format

    The new template produces output like:
    	<user>tag1 tag2 tag3\n<top>tag4 tag5\n<system>tag6 tag7
    It will omit markers for empty lists, e.g., if there are no user tags, or if
    only one list is supplied (unless you also set 'require_markers').  Thus, if you
    only supply one list at slashDisplay-time, this new template produces exactly
    the same output as the earlier 'no_markup' template.
    The no_markup template is no longer needed, and now removed.  Yes, that means I
    am essentially undoing almost all of commit 7b2af24.
  8. @pudge

    Update for "comments read"

    pudge committed
    Keybindings will no longer navigate forward to hidden comments
    If no more non-hidden comments are available, modal dialog asks you if you want
    your threshold reduced
Commits on Jul 2, 2008
  1. Added code to track a user's latest submissions.

    Christopher Brown committed Code to read latest 5 submission events.
    userInfo2: Updated the nav and added the Submissions slashbox.
  2. Teach a tag-widget how to do one unified fetch instead of three littl…

    …e ones
    The unified answer will come back looking like this:
    	<user>tag1 tag2 tag3\n<top>tag1 tag2 tag3\n<system>tag1 tag2 tag3
    So we give the widget its own set_tags() function which parses that unifed
    response and pushes the pieces into the appropriate child tag-bar.
    widget.fetch_tags() and bar.fetch_tags() look more alike now, so clean-up the
    latter a little to match.
    Now that the widget itself is fetching, it also stores the firehose id of the
    entry to which it is attached.
  3. For tag bars, teach FireHose ajax to fetch combined tags (user, top, …

    	+ ajaxGetCombinedFirehose: new function builds combined tag list
    upgrades, mysql_dump.sql:
    	+ add new ajax_op 'tags_get_combined_firehose'
  4. New template: no_markup;misc;default, a `no-op' template to simplify …

    Unify no_markup, tagsfirehosedivuser, and tagsnodnixuser to all use the parameter
    'content'; and the logic that invokes them.
  5. Simplify tagbar creation for callers

    Now callers just say which they need: 'user', 'top', or 'system' (defaults to
    'user').  The ajax_op needed for fetching and the tag menu items are now stored
    in a global table hanging from the tag_bar function itself.
    Note that the ajax_op 'tags_get_system_firehose' doesn't actually exist yet.
Commits on Jul 1, 2008
  1. @jamiemccarthy

    Fix error in INSTALL file

    jamiemccarthy committed
    GRANT PROCESS applies globally, to *.* not slash.*.
  2. @jamiemccarthy

    Minor bugfixes

    jamiemccarthy committed
    These tagboxes' isInstalled() was not defaulting to true; fixed.
  3. A tag-widget is now one per firehose entry instead of one global inst…

    	+ onReady is great for singletons, bad for others; so move our init code
    		into into twidget_fns.init(), in tagui.js
    	+ ids must be unique
    	+ widget initially hidden
    	+ tag-widget class for css since our id doesn't help any more
    	+ stub class to mark widgets that have yet to be init-ed
    list;firehose;default, dispFireHose;firehose;default:
    	+ move widget from single page-level instantiation to one/entry
    	+ now only instantiate for admins (at least until we're ready)
    	+ style by class instead of by id
    	+ init code moved here from the onReady stuff in the template
    	+ no longer need to reconnect widgets to different firehose entries, so
    		we can drop connect_to()
    	+ add, widget.close() to do any internal management needed
    	+ added open_tag_widget(), close_tag_widget()
    (open|close)_tag_widget deserve deeper explanation.  They are global functions
    suitable for use as event handlers, e.g.,
    	$('.tag-widget-twisty').toggle(open_tag_widget, close_tag_widget)
    Here they will expect 'this' to be bound to the event receiver, which must
    be a dom element that is or is within a firehose entry.  You can also call them
    directly passing an element or any jQuery selector.  Because event handlers are
    actually called with an event parameter, I've added a second parameter to
    disambiguate your selector.  That means a direct call looks like this (sorry):
    	open_tag_widget(null, '#tag-widget-17')
    They are idempotent, that is open_ only touches hidden tag-widgets; close_ only
    visible.  open_ notices if the intended tag-widget is still a stub, and if so,
    initializes it.  Since we lost connect_to, we replicate its fetch_tags behavior
    in open_tag_widget.
  4. @jamiemccarthy

    Minor bugfix

    jamiemccarthy committed
  5. Typo fix in

    Typo introduced in 3a0f5c.
  6. Adding new JS function firehose_id_of(expr) to common.js

    expr can be a number, a dom element that is or is within a firehose entry, or a
    string that is a number or the id of a dom element that is or is within a
    firehose entry (not just any id, though --- it must be an id that contains the
    firehose id number as a suffix).  Returns the integer id, if we find one, or
    else undefined.
    Useful in handlers on dom elements within a firehose entry, e.g.,
    		// 'this' now refers to the dom element accepting the event
  7. jQuery convention: 'plug-ins' to jQuery are named jquery.<plugin>.js

    Our jQuery additions constitute a plug-in, so we should follow the convention.
    We were close with 'slashdot.jquery.js', but 'jquery.slashdot.js' is preferred.
  8. jQuery convention: names of vars that hold jQuery objects should star…

    …t with '$'
    For example
      var $tag_el = $('.tag');
      var tag = $tag_el.text();
    I picked this up on the jQuery list.  It's becoming the standard convention and
    seems like a pretty good idea to me.  Please adopt it in your new code, and
    update your old code when convenient.  A natural next step of this idea would
    be to rename free-standing functions that return jQuery objects to begin with
    '$' as well.  Not sure I'm willing to go that far; on the other hand, I don't
    see that we have any free-standing functions that return jQuery objects at the
  9. For tag bar and tag widget dom elements, 'return this' to support cha…

    Though these member functions are actually on the underlying dom elements, not
    the jQuery arrays you might use to manage them.  Once you do drill down to the
    dom element, you will be able to chain _these_ calls, at least.
  10. @jamiemccarthy

    Nosy tagboxes, getGlobjTargets, feederlog_largerows

    jamiemccarthy committed
    (1) Tagboxes can now (via tagboxes.nosy_gtids column) request that
    new entries in the tagboxlog_feeder table be created when new globjs
    of any of a list of types are created.  These new entries will have
    all NULLs for tagid, tdid, tuid, and simply indicate that the globj
    has been created.  (2) getGlobjTargets() is now an optimized way to
    retrieve [gtid,target_id] data for multiple targets, instead of
    calling getGlobjTarget() multiple times.  (3) The new var
    tags_feederlog_largerows indicates a size beyond which the
    tagboxlog_feeder table is considered "large," and its size will be
    reduced with run() until it is below that size before more additions
    will be accepted.
Commits on Jun 30, 2008
  1. @pudge

    More Comments Read Work

    pudge committed
    Move save/getCommentReadLog to Slash::DB::MySQL, implement memcached support
    Remove obsolete save/getCommentBitmap
    Add "d2_reverse_switch" pref for reversing the sense of the shift key.
Commits on Jun 27, 2008
  1. Teach update_tags to optionally annotate changed tags with a style

    Use case: user types some new tags or changes existing tags; update_tags
    inserts them into the appropriate places, but adds the class "local-only" so
    css can style the changes gray.  A server update comes back confirming the
    changes.  update_tags is called again with the server reply, and this time
    no extra classes.  The pending tags now lose their "local-only" style, and
    display normally, telling the user their change was successfully recorded.
  2. jQuery tweaks for animation completion function in firehose_handle_up…

    eliminate a couple of extra lookups; unify two toggles into one
  3. @pudge

    Oops, cid should be INT

    pudge committed
  4. @pudge

    Fix BR tag stuff, with P tags

    pudge committed
    BR should be treated specially when next to a P tag, in the new code
Commits on Jun 26, 2008
  1. @pudge

    Only for admins for now!

    pudge committed
  2. @pudge

    Forgot comments read schema update

    pudge committed
    Retagging to include
  3. @pudge

    Remember read comments

    pudge committed
    Needs some more work, especially memcached work, but seems pretty solid.  admin-only for now.
    Also changed ajax_update() and ajax_periodic_update() slightly: changed the "request_url" parameter, which was not in use, to an options hashref.
    Also a few little jQuery fixes.
  4. @pudge


    pudge committed
  5. @pudge

    Fix merge (I hope)

    pudge committed
  6. @tvroom

    Fix typo in sql

    tvroom committed
Something went wrong with that request. Please try again.