Commit Graph

794 Commits

Author SHA1 Message Date
Matt Baer 9fb12eea74
Merge pull request #240 from techknowlogick/acme-v2
update golang.org/x/crypto vendor to use acme v2
2020-02-09 13:36:13 -05:00
Matt Baer 42467fc9c1 Merge branch 'develop' into acme-v2 2020-02-09 13:32:45 -05:00
Matt Baer ab2b8dff7f
Merge pull request #249 from writeas/fix-activitypub-client
Improve resource use for federation
2020-02-09 12:03:00 -05:00
Matt Baer 859702f3e7 Merge pull request #210 from writeas/rename-account-suspend
Rename Suspend status to Silence

Ref T661
2020-02-09 11:40:10 -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 629d40b549 Fix collection rendering after merge 2020-02-09 11:24:16 -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 b78f64bad3 Don't fail Invite page rendering on IsUserSuspended check 2020-02-09 10:57:08 -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 f902f65365 Merge pull request #259 from writeas/fix-edit-route-permissions
Require authenticated user on draft edit routes
2020-02-08 15:26:32 -05:00
Matt Baer 1a10bb3ed6 Merge pull request #252 from writeas/fix-mix-of-collations
Restrict /invite/{code} route to valid chars
2020-02-08 15:25:15 -05:00
Matt Baer f8a40fac4b
Merge pull request #202 from writeas/T319-delete-account
add account deletion

Ref T319
2020-02-08 15:00:49 -05:00
Matt Baer 666bd1b9d1 Show correct error when user not found in admin panel
Previously, it would show a 500. This also logs the real reason if it's
not a "not found" error
2020-02-08 14:46:05 -05:00
Matt Baer af14bcbb78 Clean up oauth_users table on account deletion
Ref T319
2020-02-08 13:51:38 -05:00
Matt Baer c9faff178d Don't float posts on account deletion
Ref T319
2020-02-08 13:51:14 -05:00
Matt Baer 9d360f0e41 Merge branch 'develop' into T319-delete-account 2020-02-08 13:42:46 -05:00
Matt Baer 9be05ef32e
Merge pull request #195 from writeas/activitypub-mentions
Send out ActivityPub mentions

Closes T627
2020-02-08 13:12:52 -05:00
Matt Baer 9589612d0e Add TODOs for improving GetProfilePageFromHandle() 2020-02-08 13:05:54 -05:00
Matt Baer ca4b0acf60 Fix error logging format in RemoteLookup 2020-02-08 13:05:09 -05:00
Matt Baer 457051106d Add u-url class and span in mention link
Ref T627
2020-02-08 13:04:23 -05:00
Matt Baer eac223158a Move remote user URL to /@/
from /mention:

Ref T627
2020-02-08 12:58:21 -05:00
Matt Baer 867eb53b35 Show 404 when remote user not found
This notifies the user that the remote user doesn't exist, instead of
showing a blank page.

Ref T627
2020-02-08 12:55:10 -05:00
Matt Baer 81edb739dd Fix mention links
by making them absolute, not relative.
2020-02-08 12:19:08 -05:00
Matt Baer bb63e64883 Clean up getProfilePageFromHandle
- Export the func
- Remove commented-out code
- Use log, not fmt for debug messages
- Remove named return parameters
- Use standard var naming schemes
- Fix spacing in queries and remove unnecessary chars
2020-02-08 12:10:47 -05:00
Matt Baer 68d63d3fef Merge branch 'develop' into activitypub-mentions 2020-02-08 11:51:18 -05:00
Matt Baer 1b8f62d143 Require authenticated user on draft edit routes
- /edit
- /meta
2020-02-06 17:44:02 -05:00
Matt Baer fec0eb2a0b
Merge pull request #251 from writeas/fix-memory-leak
Fix memory leak
2020-02-05 16:04:45 +01:00
Matt Baer 6e36868e92
Merge pull request #239 from techknowlogick/switch-xgo
Switch to a maintained fork of XGO
2020-02-05 14:56:22 +01: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
Matti R 0ed3059bd7
add xgo to go mod 2020-01-31 16:34:36 -05:00
Matt Baer ff33c59f27
Merge pull request #180 from writeas/cache-control
Add Cache-Control headers on AP endpoints

Closes T693
2020-01-31 12:00:47 +01:00
Matt Baer 5452bf0c0d
Merge pull request #254 from writeas/fix-local-datetime
Fix date format in `datetime` attribute
2020-01-31 11:00:43 +01:00
Matt Baer 51700cc7da Ignore "mix of collations" error on invite SELECT
This adds the `isIgnorableError` method and calls it when error checking
in `GetUserInvite()`, returning "not found" if the rror comes up.
2020-01-30 10:36:29 +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 d6b7a5925f Restrict /invite/{code} route to valid chars
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.
2020-01-29 09:11:02 -05:00
Matt Baer 93dd2341c2
Merge pull request #191 from writeas/T670-local-time
show timestamps in local date/locale
2020-01-29 07:10:43 -05:00
Matt Baer 4d5f58a7e6 Fix date-based post header links
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.
2020-01-29 06:42:32 -05:00
Matt Baer 3e902461f1 Merge branch 'develop' into T670-local-time 2020-01-29 06:24:46 -05:00
Matt Baer 5ddd73eff4
Merge pull request #247 from writeas/update-upgrade-script
update upgrade script for recent changes
2020-01-29 05:53:58 -05:00
Matt Baer b25cec8381 Update copyright in upgrade script 2020-01-29 05:49:12 -05:00
Matt Baer be0885698e Change "restarting" to "starting" in upgrade script 2020-01-29 05:47:19 -05:00
Matt Baer 8fce34b70b Tidy up Go mod files 2020-01-29 05:24:22 -05:00
Matt Baer ae1a892be0 Upgrade gorilla/sessions to v1.2.0
This gets rid of the gorilla/context dependency, which might have been
causing a memory leak.

We noticed some serious memory leakage on Write.as that seemed to point
to this library. One heap snapshot:

      flat  flat%   sum%        cum   cum%
  259.13MB 30.41% 30.41%   268.13MB 31.46%  net/textproto.(*Reader).ReadMIMEHeader
  105.71MB 12.40% 42.81%   105.71MB 12.40%  github.com/gorilla/context.Set
   78.53MB  9.21% 52.03%   125.53MB 14.73%  github.com/gorilla/sessions.(*Registry).Get
   55.51MB  6.51% 58.54%    82.52MB  9.68%  net/http.(*Request).WithContext
   38.01MB  4.46% 63.00%    38.01MB  4.46%  github.com/gorilla/mux.extractVars
      35MB  4.11% 67.11%       53MB  6.22%  context.WithCancel
   34.50MB  4.05% 71.16%    34.50MB  4.05%  context.WithValue
      27MB  3.17% 74.32%       27MB  3.17%  net/http.cloneURL
      26MB  3.05% 77.38%       26MB  3.05%  github.com/gorilla/sessions.NewSession
      18MB  2.11% 79.49%       18MB  2.11%  context.(*cancelCtx).Done
   16.50MB  1.94% 81.42%    16.50MB  1.94%  syscall.anyToSockaddr
      14MB  1.64% 83.07%       47MB  5.52%  github.com/gorilla/sessions.(*CookieStore).New
   13.50MB  1.58% 84.65%    51.51MB  6.04%  github.com/gorilla/mux.(*Route).Match
   11.67MB  1.37% 86.02%    13.21MB  1.55%  regexp.(*Regexp).replaceAll
    9.72MB  1.14% 87.16%    22.94MB  2.69%  regexp.(*Regexp).ReplaceAllString
    9.50MB  1.11% 88.28%   115.21MB 13.52%  github.com/gorilla/sessions.GetRegistry

With the help of these articles, we tracked it down to this dependency,
and upgraded the library, which seems to have completely fixed the issue
so far:

https://rover.rocks/golang-memory-leak/
https://medium.com/@walterwu_22843/golang-memory-leak-while-handling-huge-amount-of-http-request-35cc970cb75e

This should fix #133
2020-01-29 04:56:23 -05:00
Matt Baer bf8dcff01e Quit AP goroutine early when there's no "to"
Previously, we'd sleep for 2 seconds and then return for no reason. This
fixes that.
2020-01-27 09:23:50 -05:00
Matt Baer 8d3e755c8f Return pointer to http.Client in activityPubClient() 2020-01-23 12:03:23 -05:00