Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
It works pretty well, but Lists.pm is getting *really* ugly now. :(
|
|
|
|
This is pretty slow for large lists, but let's just see how it goes.
|
|
|
|
It's redundant. The goal was to make the notes feature more prominent so
it'd stand out more, but in hindsight it seems more like a distraction.
|
|
Requires the latest git version of TUWF.
|
|
Requiring callers to fetch the right fields and pass it along to
framework_() just seems brittle. This implementation requires an extra
query but does make an effort to avoid fetching the skin and css when
it's not needed.
|
|
|
|
|
|
|
|
rlisted VNs
|
|
|
|
|
|
Found a cleaner way to recognize outside-of-dropdown clicks, so that
gets rid of the weird and unreliable message timing workarounds.
TODO:
- Dynamically updating that releases summary thing (1/1 blah)
- Adding releases
- Add "linkradio" styling for plain <a> tags? These hidden checkboxes
are silly for stuff that requires JS anyway.
|
|
|
|
|
|
|
|
Dynamically updating the visibility state of the "this item is public"
icon kind of sucks. But meh, you really want that state to update
correctly.
|
|
The order in which .js files are concatenated is (and always has been)
important, so rather than relying on name order I've changed that to an
explicit $JS_FILES list in the Makefile. Less convenient, but at least
we have more freedom regarding .js file naming and organization now.
Rather than encoding the Elm flags as JSON in 'data-' attributes, I've
added a system for global page variables (pagevars) where the Elm flags
are now stored separately from their HTML tags. This has the advantage
of more efficient encoding (no more "s), faster parsing (just a
single JSON.parse()), and easier/more efficient modification of the Elm
arguments from JS. The pagevars provide a unified way of passing other
variables to JS as well, which I've used to deduplicate the list of
labels on the new ulist page. That shaves off a good 40 KiB on the page
size for a typical listing.
Whether all of this actually improves the page loading time, I don't
really know. Most of the slowness in Firefox seems to come from simply
instantiating many <input time="date"> objects.
|
|
|
|
|
|
|
|
I'm really unhappy with the workarounds to deal with the global onClick
subscription doing the right thing, but I wasn't able to find a good
alternative.
|
|
|
|
|
|
|
|
Very much experimental. I'm not sure this is even the right model.
|
|
|
|
Adding 'index => 0' to all pages is error-prone, and the majority of the
pages aren't indexed. Requiring an 'index => 1' for pages that may be
indexed is less work and a safer solution.
(Doesn't affect the v2 codebase, which still requires an explicit
'noindex => 1')
|
|
|
|
|
|
Broken in 0be1aa6acb62c13b4bcb4bd52a9c76df5f248e45
|
|
|
|
|
|
|
|
|
|
|
|
Only place where this isn't applied (yet?): Sorting user lists still
goes by the old username and board names don't use the new unicode
names.
I have to say, I quite like the sql_user() and user_() pattern. It's not
without problems when applied to everything, but it's good enough for
several use cases.
|
|
They don't do anything yet.
|
|
Pretty simple conversion, not much special. Did change a few minor
display thingies to be more consistent.
|
|
|
|
This ensures that the email address linked to a user is always valid and
actually belong(s|ed) to that user.
|
|
This bloats the users table a little bit, but that's fine. The main
advantage of this change is that we now have a proper schema for user
preferences, rather than the schemaless key-value mess we had before.
This commit also splits the 'tags_cat' preference up into tags_cont,
tags_ero and tags_tech bools, as that's more compact to store and easier
to work with.
This commit also changes the 'notify_nodbedit' preference to
'notify_dbedit' with inverted meaning. The reason the value was negated
in the first place was because the old schemaless approach did not
support positive defaults.
|
|
And add a small 'formField' function to shrink the Elm form generation
code a bit.
|
|
This way we have a 1-to-1 mapping between VNWeb::* stuff and elm/
modules, which makes it much easier to see which code belongs to what.
I did add a VNWeb::User::Edit stub for definitions that can be re-used
among the small forms.
|
|
This is largely copy-paste from v3.
|
|
The insecure-password-change flow is now slightly more friendly. The
logout functionality has been hardened to use POST and require CSRF.
|