Commit Graph

332 Commits

Author SHA1 Message Date
Matt Baer e37bec6aa1
Merge pull request #196 from writeas/dark-mode-pad
Dark mode pad
2020-08-11 09:30:07 -04:00
Matt Baer 121d83d94d Clean up pad JS formatting, debug messages 2020-08-11 09:27:50 -04:00
Matt Baer 09e70e07f8 Support loading more draft posts
This adds a "load more" button to the bottom of the draft posts page,
which calls /api/me/posts with new parameters and the current page
number. It then populates the page accordingly.

Ref T696 - load anon. posts with ?anonymous=1&page=1
Ref T401 - completes UI for post loading
2020-07-30 16:46:01 -04:00
Matt Baer 849e5b8503
Merge pull request #330 from writeas/post-signatures
Support post signatures

Ref T582
2020-07-30 11:53:27 -04:00
Matt Baer fee44e7c8d Add menu hover delay on user pages + editor 2020-07-30 11:26:29 -04:00
Matt Baer a25664bb97 Support post signatures
This enables users to add a signature to all blog posts, and update it from a single location.

Requires database migration with: writefreely db migrate

Closes T582
2020-06-23 16:24:45 -04:00
prichier f6aa99e591 Add disable_password_auth option 2020-06-14 00:27:25 +02:00
Matt Baer 9624c4db00 Show warning in editor when local draft is out of date
Fixes #41
2020-06-11 11:45:12 -04:00
prichier 724ab34006 Fix: option name from allow_logout to allow_disconnect 2020-06-06 23:52:26 +02:00
prichier fe7ff38bd8 Manage generic Oauth buttons on Account Settings
Add generic Oauth allow_logout option
2020-05-31 04:09:14 +02:00
gytisrepecka 8675eb0f95
Merge develop branch into oauth-gitea and resolve pages/login.tmpl conflict. 2020-04-23 14:24:17 +03:00
Matt Baer 37ccf69d81 Increase App Settings checkbox and select sizes 2020-04-21 13:01:08 -04:00
Matt Baer 0127e38ed0 Reorder App Settings page and improve descriptions 2020-04-21 13:00:36 -04:00
gytisrepecka ddd519f6b7 Merge branch 'develop' into oauth-gitea before making fixes to address pull request #293 feedback. 2020-04-17 15:33:18 +03:00
Matt Baer 1c5a0099b6 Fix empty date showing on collection 404 page 2020-04-14 07:27:44 -04:00
gytisrepecka c798a44f69
Added Gitea OAuth login and account management. 2020-04-03 13:26:59 +03:00
Matt Baer 8ad04c5187
Merge pull request #272 from writeas/novelfix
Fix Novel pagination
2020-03-27 11:38:20 -04:00
CJ Eller f11e6ed843
Apply review edits to chorus-collection 2020-03-27 11:22:35 -04:00
CJ Eller 540d716d29
Apply review edits 2020-03-27 11:22:16 -04:00
Matt Baer c3400242f0
Merge pull request #274 from writeas/private-instance-improvements
Private instance cleanup
2020-03-27 09:05:45 -04:00
Matt Baer 491a1148ee Restyle OAuth account management section
- Break up linked / to-link sections
- Add logos for all services
- Lay out buttons horizontally
- Tweak the copy

Ref T713
2020-03-24 10:41:53 -04:00
Matt Baer 5d01f49ce9 Move /me/oauth/remove endpoint to /api/me/oauth/remove 2020-03-24 10:33:45 -04:00
Matt Baer b25e80bb1b Show configured GitLab name on Account page
This includes the chosen GitLab display name in the button text.
2020-03-24 09:07:27 -04:00
Nick Gerakines 048e8a5e13
Added error messaging when user attempts to attach a slack account to a user that already has the slack account attached. Added GitLab to settings page as oauth option. 2020-03-20 18:07:35 -04:00
Matt Baer cf4f08b264 Merge branch 'develop' into T713-oauth-account-management 2020-03-19 12:02:33 -04:00
Matt Baer f76bfebfde Add dedicated Title field to WYSIWYG editor
This takes styling from the Classic Editor on Write.as.

It adds all application code for auto-saving the title, publishing it
with the post body, and including it in the word count.
2020-03-11 13:28:02 -04:00
Rob Loranger 7bccb3d7f1
fix not setting value to existing post on edit 2020-03-11 08:38:36 -07:00
Rob Loranger b3a541ab09
markdown preserved between edit/load/save 2020-03-11 07:59:22 -07:00
Rob Loranger ee712bbfaa
WIP: implement WYSIWYG editor w/ prosemirror 2020-03-11 07:18:03 -07:00
Matt Baer 2aeb994b04 Don't show date on pinned post page
Ref T669
2020-03-09 15:01:01 -05:00
Matt Baer 2db6c33a41 Consolidate /signup page link logic
This moves logic for determining whether or not to show a "Sign up" page
on /signup (i.e. because the `/` route shows another, non-signup page)
into the AppCfg.SignupPath() method. It also changes various signup
links to use this value.
2020-03-02 16:34:44 -06:00
Matt Baer 151ec71163 Land on login form for private instances 2020-03-02 16:32:04 -06:00
Matt Baer 7aef706977 Fix Reader nav link on WFModesty + Private instance
(that is, hide the footer nav link when logged out)
2020-03-02 15:34:31 -06:00
Matt Baer fca864c94a
Merge pull request #266 from writeas/fix-social-images
Fix image extraction for social metadata
2020-03-01 15:45:38 -05:00
Matt Baer 4595d480ae
Merge pull request #264 from writeas/admin-dashboard-redesign
Admin dashboard redesign

Closes T694
2020-03-01 13:59:50 -05:00
Matt Baer cd2e725746
Merge pull request #270 from nkoehring/js-html-aliases
add js, jsx and html aliases for highlightjs
2020-03-01 13:06:02 -05:00
CJ Eller e140fe139f
Add {{end}} on line 97 2020-02-28 16:30:13 -05:00
CJ Eller 6027f7cfdc Fixed pagination for Novel 2020-02-28 21:24:52 +00:00
koehr b42760abab add js, jsx and html aliases for highlightjs 2020-02-26 22:12:06 +01:00
Matt Baer 46dbb10433 Make Admin Settings page more user-friendly
- Add a description to each config item
- Change item names to make more sense

Ref T694
2020-02-25 14:28:34 -05:00
Matt Baer 8933076296 Add invite button to admin Users page header
Ref T694
2020-02-25 13:06:55 -05:00
Matt Baer 34d196376e Include extracted images in draft social metadata
Previously, we didn't extract images for draft posts. This fixes that.
2020-02-19 16:38:50 -05:00
Matt Baer 37b7755c08 Tell admin that automated check failed when necessary
This keeps track when automated update check fails, and displays a
relevant message to the admin on /admin/updates

Ref T572
2020-02-15 12:56:33 -05:00
Matt Baer c2ece926e0 Show update notification in admin nav bar
When a WriteFreely update is available, indicate this on the "Updates"
navigation item

Ref T572
2020-02-15 12:53:47 -05:00
Matt Baer 389dc8b9db Show functional Updates page when checks are disabled
Ref T572
2020-02-15 12:19:06 -05:00
Matt Baer a06bb457de Change copy and design on WF Updates page
- Tweak the copy
- Include link to download latest release
- Change the version status design a bit
- Restyle some text
2020-02-15 11:59:47 -05:00
Matt Baer 48ca695c46 Show last update check time in local timezone 2020-02-15 11:57:55 -05:00
Matt Baer 68e992a55e Fix bad #status anchor in view-user.tmpl 2020-02-15 11:28:06 -05:00
Matt Baer 04a76c4120
Merge pull request #262 from writeas/consistent-backend-pages
Consistent backend page design
2020-02-15 09:47:38 -05:00
Matt Baer 602cd80020 Fix mismatched span in user/admin/users.tmpl 2020-02-14 16:26:13 -05:00
Matt Baer 0d79057bae Rename ReleaseURL() to ReleaseNotesURL() 2020-02-14 16:13:54 -05:00
Matt Baer 84ab41697b Merge branch 'develop' into admin-dashboard-redesign 2020-02-14 14:50:23 -05:00
Matt Baer 8364dce398 Merge branch 'develop' into T572-check-updates 2020-02-14 14:27:22 -05:00
Matt Baer b58464addb Optionally hide Monitor page in Admin nav
This adds a new config option that signifies the admin doesn't need to
see deeply technical things, like application resource usage. In the
[app] section, set forest = true to enable this.

Ref T694
2020-02-14 14:12:28 -05:00
Matt Baer 92da069ce4 Move admin dashboard sections into subpages
This moves app config to a "Settings" page and the application monitor
to a "Monitor" page. It also reworks the admin navigation bar a bit and
adds some instance stats on the dashboard.

Ref T694
2020-02-14 13:55:24 -05:00
Matt Baer b1d006fcf2 Make Reader width consistent with other pages 2020-02-10 15:08:42 -05:00
Matt Baer 5d754176e0 Use h1 consistently on user pages
instead of h2s. This also removes odd one-time class usages on Account
Settings page.
2020-02-10 15:08:14 -05:00
Matt Baer f846cada4b Merge branch 'develop' into T713-oauth-account-management 2020-02-09 14:05:12 -05:00
Matt Baer f406f894c5 Merge branch 'develop' into T319-user-delete-acct 2020-02-09 11:53:24 -05:00
Matt Baer d6c0026644 Merge branch 'develop' into T319-admin-delete-acct 2020-02-09 11:51:39 -05:00
Matt Baer 7023b74d12 Update calls and vars for Invites and elsewhere
Ref T661
2020-02-09 11:24:48 -05:00
Matt Baer f70c1dfaa5 Merge branch 'develop' into rename-account-suspend 2020-02-09 11:14:51 -05:00
Matt Baer 468bbf2187 Merge branch 'develop' into rename-account-suspend 2020-02-09 11:14:14 -05:00
Matt Baer 252d59d3f7
Merge pull request #208 from writeas/silence-invites
add silenced warning on invites page

Ref T661
2020-02-09 11:02:42 -05:00
Matt Baer 8cfffb5650 Disable form items on Invite page when silenced
Ref T661
2020-02-09 10:51:34 -05:00
Matt Baer 6d3803bfe8
Merge pull request #241 from writeas/post-time-fix
fixes imported post times
2020-02-09 10:23:15 -05:00
Matt Baer 1fd4230267
Merge pull request #248 from writeas/fix-drafts-html-entities
A minor Drafts page fix + improvement
2020-02-05 12:26:42 +01:00
Matt Baer bc9455db4f Fix datetime attributes on read.tmpl 2020-01-30 10:20:50 +01:00
Matt Baer 5de2f633e1 Fix localdate.js not included on Tags page 2020-01-29 13:03:04 -05:00
Matt Baer 50901d2446 Fix date format in `datetime` attribute
Previously, the date format in this attribute for posts was invalid.
This caused local date rendering to fail in Firefox. This fixes that.

Closes #253
2020-01-29 13:01:21 -05:00
Matt Baer 3e902461f1 Merge branch 'develop' into T670-local-time 2020-01-29 06:24:46 -05:00
Matt Baer 30032e74a0 Add helpful text on Drafts page 2020-01-20 15:25:37 -05:00
Matt Baer b336e95e12 Render HTML entities in Drafts list
Previously, we'd show the raw HTML entities in the summaries of Draft
posts, instead of rendering them. This fixes that.
2020-01-20 15:20:45 -05:00
Nick Gerakines 5d834c1cd2 Minor code cleanup on settings page to improve oauth account management UI. T713 2020-01-15 13:37:57 -05:00
Nick Gerakines c0317b4e93 Implemented oauth attach functionality, oauth detach functionality, and required data migration. T713 2020-01-15 13:16:59 -05:00
Rob Loranger 571460f08d
move timezone correction to client side 2020-01-15 09:04:38 -08:00
Rob Loranger 0766e6cb36
fixes imported post times
changes the client side to round the unix time to avoid floats

alters the time to match the client time zone on the server side
2020-01-14 10:44:56 -08:00
Matt Baer 75e2b60328
Merge pull request #172 from writeas/import-text
add basic text file imports

Resolves T609
2020-01-14 12:33:57 -05:00
Matt Baer 3e97625cca Fix Unix timestamps on client during import
File API gives timestamp in milliseconds, not seconds, so this converts
it on the client-side and sends it the correct time to the server.

Ref T609
2020-01-14 12:26:02 -05:00
Rob Loranger aae2f28bb6
pass original file modified date for imports 2020-01-14 08:59:30 -08:00
Matt Baer 9958a1122b Show published date on post pages if Blog
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
2020-01-09 16:50:02 -05:00
Matt Baer 5b7f37aed8 Restyle Import page
- 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
2020-01-09 11:16:26 -05:00
Matt Baer be76f865a4 Merge branch 'develop' into import-text 2020-01-07 16:35:23 -05:00
Matt Baer aa405bc57c Remove "silenced" warning on password-collection.tmpl
Logged-in users never see this particular page, so it's not needed here.
2019-12-17 13:11:32 -05:00
Matt Baer 0b701c5f7f Update "account silenced" alert on edit-meta
Use "silenced" phrasing instead of "suspended"
2019-12-07 09:08:37 -05:00
Matt Baer acb8f5fe5d Fix broken password-collection template
Fixed "user-supsended" to "user-suspended"
2019-12-07 09:06:31 -05:00
Matt Baer af6e5dea3a Merge branch 'develop' into import-text 2019-11-26 17:41:29 -05:00
Matt Baer 3d49baf39a Improve non-chorus site-wide header
This adds a Reader tab when necessary while logged in, and generally
keeps the navigation consistent for logged-in users, particularly in
regard to the Reader:

- Now includes user buttons and dropdown
- Makes header on user pages consistent with Reader page
2019-11-12 16:49:38 +09:00
Rob Loranger 7e014ca659
Rename Suspend status to Silence
This changes all variables and functions from using Suspend{ed} to using
Silence{d} as well as documentation, errors and logging.
2019-11-11 15:25:19 -08:00
Matt Baer 79f35a0ccd Fix collection template issues introduced in #205
This fixes a template rendering issue caused by bad references to $.Host
in pinned posts links on single-user instances.

Closes #207
2019-11-12 08:03:00 +09:00
Rob Loranger 9b69de166f
add silenced warning on invites page 2019-11-11 14:25:34 -08:00
Matt Baer 53586d9cb8 Merge branch 'develop' into T661-disable-accounts 2019-11-12 01:46:37 +09:00
Matt Baer 5839c2ac4d
Merge pull request #192 from writeas/T695-reset-user-pass
Resolves T695
2019-11-12 01:39:09 +09:00
Matt Baer 7f96e8c384 Rename UserSuspended to UserSilenced
Some of the work needed to have the backend match user-facing wording.

Ref T661
2019-11-12 00:41:25 +09:00
Matt Baer c3f76a3ab8 Change "suspend" to "silence" where user-facing
This puts the verbiage more in line with what the feature does, and
leaves room for other moderation controls in the future.

NOTE: this includes no backend refactoring, which may be confusing. We
should rename things to fit ASAP.

Ref T661
2019-11-12 00:22:33 +09:00
Matt Baer a9b5bb2f6b Fix reset user's email address display
Previously, this had bad template logic and showed the wrong email address.

Ref T695
2019-11-11 21:40:49 +09:00
Matt Baer d5dd007ff7 Change Reset Password button style
Ref T695
2019-11-11 21:37:02 +09:00
Matt Baer 3e8d1014d9 Tweak admin reset confirmation copy
Also updates some whitespace in the JS.

Ref T695
2019-11-11 18:04:20 +09:00
Matt Baer 422c16f39a Tweak admin user pass reset success copy
This also adjusts the style and includes the user's password, so the
admin can easily notify them.

Ref T695
2019-11-11 18:03:19 +09:00
Matt Baer 6d4ec0b17d Remove extra OwnUserPage field
Move logic into template, rather than add another field to the page.

Ref T695
2019-11-11 16:06:03 +09:00
Matt Baer 6e09fcb9e2 Change password reset endpoint to /admin/user/{Username}/passphrase
Ref T695
2019-11-11 16:02:22 +09:00
Matt Baer 38f3eec8e0 Merge branch 'develop' into T572-check-updates 2019-11-11 15:45:47 +09:00
Matt Baer 2c2ee0c00c Tweak "suspended" notification copy 2019-11-11 15:16:04 +09:00
Rob Loranger f66d5bf1e8
use .Host instead of adding .Hostname 2019-11-09 11:41:39 -08:00
Rob Loranger c0b75f6b65
pass hostname to canonical url in post templates
the change to take a hostname in Post.CanonicalURL broke a few template
using that function. This adds a Hostname string to the Post being
passed to templates and passes it to calls to Post.CanonicalURL
2019-11-08 08:47:03 -08:00
Matt Baer 619b10c3e5 Fix "suspended" message location on Drafts
Previously it was above the header.

Ref T661
2019-11-07 17:10:17 +09:00
Matt Baer 280c32afdc Confirm suspension before submitting the form
This also includes a bit of explanation about what suspending a user
actually does.

Ref T661
2019-11-07 16:59:02 +09:00
Matt Baer c9f7219831 Move user status in list out of <a>
The link here is a little redundant, and might make people think that it
actually changes the status by clicking on it.
2019-11-07 16:49:52 +09:00
Matt Baer da7dcfee6a Move admin template IsSuspended logic into method
This adds a User.IsSuspended() method and uses it when displaying the
user's status on admin pages, instead of doing a magic number check.
This should also help in the future, in case this logic ever changes.

Ref T661
2019-11-07 14:07:00 +09:00
Rob Loranger fc553d277f
add admin user account deletion
this adds a section to the admin user view to delete the account and a
handler to process the request.
2019-11-05 12:22:58 -08:00
Rob Loranger 482e632ca9
add user account delete UI 2019-11-05 12:22:27 -08:00
Rob Loranger f85f0751a3
address PR comments
- update error messages to be correct
- move suspended message into template and include for other pages
- check suspended status on all relevant pages and show message if
logged in user is suspended.
- fix possible nil pointer error
- remove changes to db schema files
- add version comment to migration
- add UserStatus type with UserActive and UserSuspended
- change database table to use status column instead of suspended
- update toggle suspended handler to be toggle status in prep for
possible future inclusion of further user statuses
2019-10-25 12:04:24 -07:00
Matt Baer 9873fc443f Merge branch 'develop' into T661-disable-accounts 2019-10-24 13:22:26 -04:00
Michael Demetriou 8404f0896c Handle default pad color mode according to `prefers-color-scheme`
This just queries the browser whether `prefers-color-scheme` is set
and chooses dark mode if needed, and only if the user hasn't manually
set a scheme by pushing the button.
2019-10-15 11:53:53 +03:00
Rob Loranger 513765c09f
include localdate in all collections +reader 2019-10-03 14:09:53 -07:00
Rob Loranger aa9efc7b37
allow admin to reset user passwords
this adds a new button when viewing a user as an admin, that will
generate and store a new password for the user
2019-10-03 13:53:04 -07:00
Rob Loranger caca8f0ae2
show timestamps in local date/locale
this adds a helper script to rewrite all time elements with a proper
datetime attribute into the users locale via the browser
navigator.language.

collection, collection-post and chorus-collection-post templates now
include this script
2019-10-03 09:47:08 -07:00
Rob Loranger 02dd190945
T697 default to user's first blog instead of draft 2019-10-02 10:20:51 -07:00
Matt Baer c6564b3d16 Shorten invite-instructions.tmpl filename 2019-09-23 10:31:38 -04:00
Matt Baer ddce177784 Fix invite input box size in non-Firefox browsers
font-size-adjust is still a flag-enabled feature in Chrome 77, and
doesn't have widespread support across browsers. So instead this uses
font-size to make the text large enough.

Ref T690
2019-09-23 10:21:03 -04:00
Matt Baer 26a4f48e8b Add expiration information to invite help
This uses the Invite fetched from the database to explain a bit more
about how the invite URL expires. It also reduces some space around the
input box.

Ref T690
2019-09-23 10:06:12 -04:00
Matt Baer f01b439ff5 Tweak invite page title and intro
Ref T690
2019-09-23 10:02:36 -04:00
Matt Baer 7e9e3cb7eb Show status on logged-in expired invite links
Ref T690
2019-09-23 09:45:36 -04:00
Rob Loranger d954b7c8e3
add user invite instructions
this adds a new page with instructions for sharing user invites

if a user clicks the link for one of their own invite codes they are
directed to a page with clear instructions for it's use.

if a user clicks another users link they are redirectec to their account
settings witha flash telling them they do not need to register.
2019-09-13 10:58:17 -07:00
Rob Loranger 4d150fe831
Revert "add all mathjax components"
This reverts commit 25145296b3.
2019-09-12 10:19:08 -07:00
Rob Loranger 25145296b3
add all mathjax components
with only the single script, there were still many requests to a CDN.
this fixes that and speed up the page load a bit as well.
2019-09-12 10:12:57 -07:00
Rob Loranger 84d7ac35d3
fix issue with fonts and not rendering 2019-09-11 14:04:13 -07:00
Rob Loranger aad4768aed
include mathjax script
this includes a copy of mathjax@3.0.0/es5/tex-mml-chtml.js
2019-09-11 11:18:29 -07:00
Matt Baer c7a90d2ace Fix blog post links when `chorus` enabled
This ensures the "new post" link under each blog on the user Blogs page
goes to /new instead of /.

Ref T681
2019-09-10 22:07:14 +02:00
Matt Baer 8ec25f1fb4 Fix pinning on chorus collection page
Previously, the new pinned post link would appear in the site header,
instead of the blog header.
2019-09-03 17:42:23 -04:00
Matt Baer 954e57897b Fix unpinning on chorus post page 2019-09-03 17:40:02 -04:00
Rob Loranger eae4097677
add update checks
includes cache of latest version and page to view if updates are
available with a link to the latest update's release notes and a link to
check for the latest update now, refreshing the cache manually.
2019-08-29 15:30:27 -07:00
Rob Loranger 77f7b4a522
Add account suspension features
This renders all requests for that user's posts, collections and related
ActivityPub endpoints with 404 responses.

While suspended, users may not create or edit posts or collections.

User status is listed in the admin user page

Admin view of user details shows status and now has a button to activate
or suspend a user.
2019-08-29 09:09:11 -07:00
Rob Loranger 2fa2086654
newline in import.tmpl 2019-08-26 15:04:00 -07:00
Rob Loranger 7fb3c4cafe
allow markdown extensions in import form 2019-08-21 15:42:48 -07:00
Rob Loranger 6c5d89ac86
move import post handler under /api
handler for post request to import is now under /api/me/import
form target updated

also allow all plaintext files in form
2019-08-19 09:05:52 -07:00
Rob Loranger 0ca198c715
include nice alert message on success
different template action for partial or complete import success
2019-08-17 16:18:40 -07:00
Rob Loranger ee4fe2f4ad
add basic text file imports
this adds basic support for importing files as blog posts.

.txt and .md are supported at this time and the
collection is selectable, defaulting to draft.

if a collection is specified the post is federated.
2019-08-16 14:27:24 -07:00
Matt Baer 55808233fd Fix logic for showing sign up link
This prevents the link from showing when an instance lands on the sign
up page anyway.

Ref T681
2019-08-14 23:25:02 -04:00
Matt Baer 8a29a4dfc9 Link to home page in bare editor in chorus mode
Ref T681
2019-08-14 23:14:34 -04:00
Matt Baer 047ad0323b Don't show user pages in nav when unauth'd
Ref T681 T680
2019-08-09 14:58:43 -04:00
Matt Baer fda2929aed Show New Post button when Chorus, not SimpleNav
Ref T681
2019-08-09 13:59:55 -04:00
Matt Baer df56060f99 Add DisableDrafts option and adjust nav
This shows Drafts in the SimpleNav menu, when both enabled. It also
hides Drafts in the non-SimpleNav menu when disabled.

Ref T679
2019-08-09 13:53:41 -04:00
Matt Baer 9dc15f569c Move About nav link next to Home
Ref T681
2019-08-09 13:52:07 -04:00
Matt Baer da423fa1bc Move Reader to Home link in nav when chorus
Also, refactor navigation bar template logic to be simpler and easier to
understand.

Ref T681
2019-08-09 13:45:19 -04:00
Matt Baer 603839fda7 Add link to Posts in user backend pages when chorus
This provides easy navigation to the logged in user's posts, since
there's no direct link to their blog otherwise.

Ref T681
2019-08-09 12:04:55 -04:00
Matt Baer f821dbaac4 Support dedicated signup page in chorus mode
This adds a Sign Up link to site navigation and shows the
otherwise-landing page on /signup when in chorus mode.

Ref T681
2019-08-09 12:00:46 -04:00
Matt Baer 7b42efb9d9 Enable customizing Reader page
This makes it possible to edit the title and introductory text at the
top of the Reader view.

Ref T684
2019-08-09 11:16:38 -04:00
Matt Baer deec914ccb Merge branch 'develop' into chorus 2019-08-08 07:55:49 -04:00
Matt Baer 1c9438e305
Merge branch 'develop' into modestly-writefreely 2019-08-07 18:02:54 -04:00