Previously, loading something like /invite/fFdblk😄 would return a 500,
due to a mix of collations in MySQL while SELECTing for an invite with
an ID of 'fFdblk😄'. This restricts the route to [a-zA-Z0-9] chars, to
prevent this.
Posts without an explicit title render the date as the post header in
lists of posts (like on the blog index and tag pages). This updates
localdate.js to properly adjust those dates, too.
changes accounted for
- the tar directory structure had changed to use a subdirectory
- there are now multiple linux targets released
bugs
- the service must be stopped before replacing the binary
- migrations were not being run during an upgrade
Previously, anyone could access the editor even if they weren't logged
in. They couldn't do much in that case (publishing would fail), but it
could potentially cause some confusion.
Now, users will be sent to the login page, and then redirected back to
the editor once successfully logged in.
This makes it possible to complete OAuth signup without creating a
password on the WriteFreely instance.
A user can then add a password to their account through their Account
Settings page without any admin action (all of this logic is already in
place).
Ref T715 T712
This uses the given username as the Display Name / Collection Title if a
user doesn't give one -- as might happen when authenticating with
Write.as.
Ref T712
Having a `Username` field populated in the page data tells the base
template to display navigation that only a logged in user should see. So
this renames the field to `LoginUsername`, similar to our login.tmpl
page.
Ref T712
All usernames should be lowercase, so this generates any username suffix
(in cases of collision) with only lowercase letters. It also removes
vowels to prevent bad 5-letter words from forming.
Ref T712
Fixing a bug in the oauth callback URL registration where the lack of provider context was overwriting the previous oauth callback route registration call.
Dates now display on blog post pages if the collection's chosen display
format is "Blog". It updates the chorus-collection-post template to now
respect this value (previously, it always showed the date).
Ref T669
This moves file operations inside the `for` loop into an anonymous func,
so the `defer` calls don't wait until the end of the handler call to
actually execute.
Ref T609
- Only retrieve a collection from database if an alias is submitted
- Only call GetCollection() once (previously, it was inside the loop)
- Return error if user doesn't own the collection
Ref T609
- Changes Import link location in dropdown menu
- Makes design consistent with Invite People page (and extracts some
common CSS into core.less)
- Selects the user's first blog by default in the dropdown
- Changes the copy a bit
Ref T609