Commit Graph

273 Commits

Author SHA1 Message Date
Matt Baer 3a6118c207 Set up migrations table on initial setup
This includes the appmigrations table in the schema files, and inserts
the current database version when running writefreely --init-db
2019-01-24 17:08:08 -05:00
Matt Baer 5e686a5b0f Update import schema step
Note the step is only required for multi-user instances.
2019-01-24 16:38:28 -05:00
Matt Baer b91c931ebd Tweak links at top of README 2019-01-24 16:36:58 -05:00
Matt Baer 53dfe4d215 Add Hosting section to README 2019-01-24 16:35:04 -05:00
Matt Baer e853a15303
Merge pull request #68 from writeas/user-invites
Support user invites
2019-01-23 13:02:16 -05:00
Matt Baer 5de193a64d Generate encryption keys in configured directory
This makes --gen-keys respect the keys_parent_dir config value
2019-01-20 14:18:09 -05:00
Matt Baer 1c40103fbf Fix generateKey error logging
This logs the actual error when it occurs, instead of always saying that
the key already exists.
2019-01-20 13:43:06 -05:00
Matt Baer cb1bd37f64
Merge pull request #69 from writeas/resource-dirs-config
Support configuring resource directories
2019-01-19 00:26:29 -05:00
Matt Baer 5c19d249b6 Log and exit when templates init fails 2019-01-18 19:17:10 -05:00
Matt Baer 53a51be578 Support configuring resource directories
This adds new configuration values that specify the parent directory of
application resources:

- templates_parent_dir
- static_parent_dir
- pages_parent_dir
- keys_parent_dir

For any values not specified, the application will default to the
current directory.

This closes T560
2019-01-18 19:09:27 -05:00
Matt Baer 01f9dc86dc Fix migrations MySQL table check 2019-01-18 11:26:55 -05:00
Matt Baer 70e823d6ab Support user invites
This includes:

- A new `user_invites` config value that determines who can generate
  invite links
- A new page for generating invite links, with new user navigation link
- A new /invite/ path that allows anyone to sign up via unique invite
  link, even if registrations are closed
- Tracking who (of registered users) has been invited by whom

It requires an updated database with `writefreely --migrate` in order to
work.

This closes T556
2019-01-18 00:05:50 -05:00
Matt Baer 47b2155f92 Add --migrate command
This runs database migrations and obviates the need for manually running
changes.

Ref T509
2019-01-17 13:53:03 -05:00
Matt Baer 6c2bd8031a
Merge pull request #66 from TeDomum/master
Deploy the app in the proper dir for dependency management
2019-01-16 15:26:34 -05:00
kaiyou 8ead0a9d09 Deploy the app in the proper dir for dependency management 2019-01-16 21:05:52 +01:00
Matt Baer a76144c182 Fix rendered sublist spacing
Along with a recent change to how spaces are output by the
writeas/saturday library, this alters the CSS to make sublists display
correctly, and fixes #27.
2019-01-14 14:01:43 -05:00
Matt Baer a9dff35f70 Bump version to 0.7.1 2019-01-13 09:41:48 -05:00
Matt Baer 062ae0e16a Initialize db on single-user instance config
This fixes the --config step so that when setting up a single-user
instance for the first time (and creating the admin user as part of the
process), the database is automatically initialized before creating that
user.

This removes the need for the --init-db command after --config when
setting up single-user instances.

It fixes #59: "no such table: users" error during the --config step on
single-user instances that haven't previously run --init-db.
2019-01-13 09:08:47 -05:00
Matt Baer d0edbd1936 Use showUserPage func for blog customize page
This fixes the page not rendering on Windows.

Closes #61
2019-01-10 23:11:52 -05:00
Matt Baer 21e6c64708 Add make release-linux command 2019-01-10 11:44:30 -05:00
Matt Baer 6da342b0d1 Add make build-no-sqlite
Supports creating a build without SQLite support compiled in.
2019-01-10 11:44:08 -05:00
Matt Baer 7c9bd10f73 Add Pull Request template 2019-01-09 18:11:19 -05:00
Matt Baer a686b61902 make assets before everything in Docker build 2019-01-07 20:39:42 -05:00
Matt Baer 64a8e2d0a5 Exclude unneeded schema.sql in docker build 2019-01-07 19:22:12 -05:00
Matt Baer fe98bd58fc make assets during docker build 2019-01-07 19:21:55 -05:00
Matt Baer caf976a054 Bump version to 0.7.0 2019-01-07 18:49:16 -05:00
Matt Baer c2a7f19ef0 Add numeric avatars 2019-01-07 15:40:37 -05:00
Matt Baer 2942a6818e Fix AP follower INSERT with SQLite
Previously the query would fail with "no such function: NOW"

Closes #56
2019-01-07 14:35:47 -05:00
Matt Baer 8a555567a6 Fix tagged posts SQLite query
SQLite doesn't have an `RLIKE` function, so the query for hashtagged
posts was failing before. This adds a `regexp` function to SQLite and
correctly retrieves all posts on a blog with the requested hashtag.

This closes #55
2019-01-07 11:55:23 -05:00
Matt Baer 1c58c64c7c Fix SQLite deadlock when creating user
This avoids reading from the database after a transaction has been
started in CreateUser(), fixing the deadlock that occurred before.

Closes #53
2019-01-06 21:30:34 -05:00
Matt Baer f53ced382f Prompt for database type in bug report template 2019-01-06 18:18:11 -05:00
Matt Baer 0a3f5b7d16 Add @geekgonecrazy to authors 2019-01-05 21:27:48 -05:00
Matt Baer 0cf1d13880
Merge pull request #54 from geekgonecrazy/sqlite3-user-password
Only check for username and password if driver type is mysql
2019-01-05 21:13:32 -05:00
Matt Baer a58a756746 Use driver constants in app.go 2019-01-05 17:51:17 -05:00
Aaron Ogle 3722c6ba79
Only check for username and password if driver type is mysql 2019-01-05 14:59:05 -06:00
Matt Baer bf7d422039 Add pager to admin user list
This enables paging through the entire list of users.

Ref T553
2019-01-05 09:37:53 -05:00
Matt Baer 3d301c97e9 Fix admin user paging query 2019-01-05 08:47:42 -05:00
Matt Baer 0e722de82c Add admin user list
This enables admins on multi-user instances to see all users registered,
and view the details of each, including:

- Username
- Join date
- Total posts
- Last post date
- All blogs
  - Public info
  - Views
  - Total posts
  - Last post date
  - Fediverse followers count

This is the foundation for future user moderation features.

Ref T553
2019-01-04 22:28:29 -05:00
Matt Baer 2f4c93cccb Document package and funcs in config.go 2019-01-04 19:58:44 -05:00
Matt Baer a419bd63fc Fix make deps not fetching sqlite3 lib 2019-01-04 19:40:00 -05:00
Matt Baer fca3019e4b Support building without SQLite support
This adds a new `sqlite` build tag that you should include only if you
want SQLite3 support built in. Both `make run` and `make release` create
builds with SQLite included.
2019-01-03 17:57:06 -05:00
Matt Baer 8513def899 Send correct status on 410/500 in handleHTTPError 2019-01-03 15:43:44 -05:00
Matt Baer 19215b0355 Send correct status on 404 in handleHTTPError 2019-01-03 12:27:52 -05:00
Matt Baer 8a07c0f0a0 Extract images with .image extension 2018-12-31 16:19:26 -05:00
Matt Baer 3ae45bc156 Fix spacing around copyright notices 2018-12-31 01:05:26 -05:00
Matt Baer 739afd2310 Embed schema files in binary
This includes schema.sql and sqlite.sql in the release binary, so they
no longer need to be included in the release archives. This reduces the
number of files extracted, but otherwise leaves all functionality as it
was -- especially the --init-db flag.

Ref T536
2018-12-30 20:10:42 -05:00
Matt Baer d4a08723aa Add @kaiyou to AUTHORS 2018-12-24 17:33:20 -05:00
Matt Baer e525bc32a7 Use language-specific dash in post titles
This closes #1
2018-12-24 13:58:32 -05:00
Matt Baer 69eab50f42 Create darwin archives with macos in the name
(not "darwin")
2018-12-24 12:56:57 -05:00
Matt Baer 1274914207 Add copyright / license notices to .go files 2018-12-24 12:45:15 -05:00