Commit Graph

333 Commits

Author SHA1 Message Date
Ben Visness 070ea5cc20 Redirect old blog URLs to new 2021-09-20 10:17:53 -05:00
Ben Visness b2a35c469a Update project last updated fields on new forum/blog posts 2021-09-08 22:44:46 -05:00
Ben Visness 0f9a57f62b Put a maximum length on post content 2021-09-08 22:22:47 -05:00
Ben Visness 17bf11b173 Punctuation is important. 2021-09-08 22:00:28 -05:00
Ben Visness d5d3341c81 Improve OpenGraph / favicons 2021-09-08 21:51:43 -05:00
Ben Visness fd7754a7b6 Add redirect for old wiki URLs 2021-09-08 19:43:24 -05:00
Ben Visness 36bb2ce2d5 Put timestamp in avatar filenames to avoid cache problems 2021-09-07 19:55:52 -05:00
Ben Visness f1e2e99663 Don't treat replies to the OP as replies 2021-09-06 16:40:00 -05:00
Ben Visness 6f7237f656 Log errors if ErrorResponse panics
We have to do this because otherwise the errors never actually end up in
the ResponseData.
2021-09-05 19:00:25 -05:00
Asaf Gartner e542ef27ec Write to TLRI when users view blog posts. 2021-09-05 23:16:35 +03:00
Asaf Gartner b0930dd4f2 Removed project submission button from project index. 2021-09-05 22:57:10 +03:00
Asaf Gartner c76ea45ca9 Replaced relogin rejection with a notice and proper redirect. 2021-09-05 22:50:15 +03:00
Asaf Gartner e74b18967e Added /atom/projects?all for inso 2021-09-05 22:43:34 +03:00
Ben Visness a288ae8124 Remove the sitemap from the footer 2021-09-01 21:54:51 -05:00
Asaf Gartner d78a2e8e82 Breadcrumbs 2021-09-01 21:25:09 +03:00
Ben Visness 1f39b166cb Make many improvements and fixes to the markdown experience 2021-09-01 01:15:13 -05:00
Ben Visness 5247afcfc6 Fix scheme issue with X-Forwarded-Proto 2021-08-30 18:39:24 -05:00
Ben Visness e5055a1237 Fix some small bugs 2021-08-29 19:15:48 -05:00
Ben Visness bc39b4c0b7 Clean up TODOs 2021-08-28 12:07:45 -05:00
Asaf Gartner 5fa0a3a7c2 Processed some TODOs 2021-08-28 16:32:27 +03:00
Asaf Gartner e23f5fbcf6 Fixed ip handling 2021-08-28 15:53:06 +03:00
Asaf Gartner cb5c3c403d Internal server error page 2021-08-28 15:21:40 +03:00
Ben Visness 73a20a9a93 Add jam page 2021-08-28 06:26:17 -05:00
Asaf Gartner 573fd8d2a2 Episode guide and trailing slashes in urls 2021-08-28 13:40:13 +03:00
Asaf Gartner b29ae69a25 Merge branch 'master' of gitssh.handmade.network:hmn/hmn 2021-08-28 10:29:35 +03:00
Ben Visness 67b86720a9 Add user edit form
Add most of the user settings backend

still need to do discord lol

Add the Discord settings

Add avatar uploads
2021-08-27 17:18:02 -05:00
Ben Visness 16ae2188d1 Add background features to the Discord bot 2021-08-26 22:59:12 -05:00
Ben Visness 4f01e1fdcf Add a title to the user profile page 2021-08-17 21:09:42 -05:00
Asaf Gartner 8a07e8bc3b Search with DDG 2021-08-17 23:09:24 +03:00
Asaf Gartner 20c05637d9 Added whenisit and default opengraph items 2021-08-17 22:48:44 +03:00
Asaf Gartner bd178e0168 Fixed timer 2021-08-17 21:48:54 +03:00
Asaf Gartner c913b58e4c Added security timer middleware 2021-08-17 09:08:33 +03:00
Asaf Gartner a32f71f862 Password reset and Notices 2021-08-17 08:18:51 +03:00
Ben Visness 4c84bd2860 Add Discord unlinking 2021-08-16 00:07:17 -05:00
Ben Visness d92bf9a9b8 Add Discord account linking 2021-08-15 23:40:56 -05:00
Ben Visness 38a1188be7 Add Discord integration
Clean up several TODOs

Implement the full disconnect / resume flow

Detect zombied connections and restart

Implement the random delay on reconnect

Implement message sending!!

(with a goofy feedback loop on the echo bot)

Fix the feedback loop in the echo bot

Clean up the Discord gateway code

Many things are methods now to reduce the amount of explicit plumbing.
Connection handling should be a little more robust, and we have an
actual error handling strategy now.

Allow sending multiple Discord messages at once

Delete irrelevant tests

uhh, start rate limiting

Add per-route rate limiting

Add global rate limit handling

Handle context cancellation in Discord REST code

Allow changing buckets per route

Add the showcase rejection bot

Add library bot
2021-08-15 20:21:04 -05:00
Asaf Gartner 9dc3bfaa5c Renaming some files 2021-08-08 23:09:12 +03:00
Asaf Gartner 660f65ba95 Registration flow and email 2021-08-08 23:05:52 +03:00
Ben Visness 038ee7e90e Add permission check to the New Post button 2021-08-02 22:27:59 -05:00
Ben Visness c3e067fa44 Add blog indexes 2021-08-02 20:52:46 -05:00
Ben Visness b9645a6315 Extract the project slug more betterly 2021-07-30 22:31:43 -05:00
Ben Visness 1f4dd335c5 Add all the rest of the blog post operations
Still need to add UI for the blog index, and fix some aesthetic issues:

- Wide posts can break the editor UI
- Blog comments don't show the fancy reply UI
- The post hash stuff on blog threads doesn't jump you to the correct
post

Probably other stuff, I dunno.
2021-07-30 18:08:42 -05:00
Ben Visness 9945ab061d Add blog post editing 2021-07-30 17:32:19 -05:00
Ben Visness 93318c378a FirstID and LastID are not nullable 2021-07-30 15:01:40 -05:00
Ben Visness b0f75675c8 Implement blog posts 2021-07-30 14:59:48 -05:00
Ben Visness 958aeb45e4 Add back the ability to mark everything on the site as unread 2021-07-29 23:48:30 -05:00
Ben Visness 8ecb4a7173 Rework the category/thread data model
Threads can stand alone now. Threads can be attached to resources
directly without requiring a category. In addition, a lot of wiki stuff
and library discussion stuff was deleted because we're not gonna port
it.
2021-07-29 22:49:24 -05:00
Ben Visness 15ff1de6fc Clean up forums.go
All the really highly redundant stuff was pulled into a helper type.
2021-07-23 15:35:18 -05:00
Ben Visness 9b9d467ce4 Add CLRI/TLRI handling 2021-07-23 14:00:37 -05:00
Asaf Gartner b41a556fcd Merge branch 'master' of gitssh.handmade.network:hmn/hmn 2021-07-23 06:22:57 +03:00
Asaf Gartner e30cc95b08 Added request rejection page 2021-07-23 06:22:31 +03:00
Asaf Gartner a46fd988f5 Podcasts 2021-07-23 06:09:46 +03:00
Ben Visness 7f3c818a8f Add forum post deletion 2021-07-21 23:42:34 -05:00
Ben Visness e9ba9b3dde Add permission check on post editing 2021-07-21 21:16:10 -05:00
Ben Visness b27c673c15 Add forum post editing 2021-07-21 20:41:23 -05:00
Ben Visness 1ccf715c2d Add an explicit post reply feature 2021-07-19 22:07:15 -05:00
Ben Visness 17f652191d Add forum replies 2021-07-19 21:35:22 -05:00
Ben Visness 17e9e0b735 Add MustWriteTemplate func for the common case of panicking 2021-07-17 10:19:17 -05:00
Asaf Gartner 6c53688e06 Project page 2021-07-08 10:40:30 +03:00
Ben Visness 6b21291798 Add plain-text post previews
I opted to do this by making a new markdown renderer that only outputs
plain text, no HTML. This feels a lot more sane to me than trying to
strip HTML out of already-parsed stuff. The tradeoff right now is that
some content just doesn't show up at all, notably bbcode content. I
doubt anyone will care.
2021-07-05 13:34:51 -05:00
Ben Visness c1785d79a4 Get forum post creation working 2021-07-04 17:48:08 -05:00
Ben Visness de0b7a08fb Clean up lots of old post fields 2021-07-04 16:24:48 -05:00
Ben Visness 86e228d845 WIP broken schema changes for forum editing 2021-07-04 15:32:07 -05:00
Ben Visness d11094481f Add CSRF verification 2021-07-04 15:32:07 -05:00
Ben Visness 085bd46440 Add mathjax 2021-07-04 15:31:51 -05:00
Ben Visness 00b0383030 Start forum editing experience, including bbcode parser 2021-07-04 15:31:37 -05:00
Asaf Gartner 582ad9ee9e Merge branch 'master' of gitssh.handmade.network:hmn/hmn 2021-06-25 16:53:27 +03:00
Asaf Gartner c848108127 Redirect from /t/123/p/456 to the actual thread+page url 2021-06-25 16:52:43 +03:00
Ben Visness 473255dbde Add pprof 2021-06-24 08:10:44 -05:00
Asaf Gartner 090e484e72 Snippet page 2021-06-23 23:13:22 +03:00
Asaf Gartner 5162e7fba9 Showcase on landing page 2021-06-23 22:31:59 +03:00
Asaf Gartner 8aa4554934 Showcase page 2021-06-22 20:08:05 +03:00
Asaf Gartner 77273cdb33 Merge branch 'master' of gitssh.handmade.network:hmn/hmn 2021-06-22 17:01:46 +03:00
Asaf Gartner 2df9390993 Showcase xml feed 2021-06-22 15:02:47 +03:00
Asaf Gartner 5d5e84d7de Minor cleanup 2021-06-22 13:12:17 +03:00
Asaf Gartner a4671c5fb5 Profile page and timeline items 2021-06-22 12:50:40 +03:00
Ben Visness e2f85708db Make login and logout preserve what page you're on 2021-06-11 19:48:03 -05:00
Asaf Gartner b6c611004c Project index 2021-06-07 02:48:43 +03:00
Asaf Gartner 63f1bf40cc Added projects atom feed and media file urls 2021-06-01 02:23:04 +03:00
Asaf Gartner 5d9b628144 Added atom feed and a few other modifications 2021-05-30 21:35:01 +03:00
Asaf Gartner e3257bb383 Redirect to homepage on bad slug 2021-05-25 16:26:12 +03:00
Asaf Gartner 9c19484333 Added theme to context and added empty-avatar support 2021-05-25 16:12:20 +03:00
Asaf Gartner 02938bbf2c URL rework! 2021-05-12 01:53:23 +03:00
Asaf Gartner 4e946cd476 Merge branch 'master' of gitssh.handmade.network:hmn/hmn 2021-05-06 12:12:20 +03:00
Asaf Gartner d62f4ceeb6 Added log level to config 2021-05-06 12:12:18 +03:00
Ben Visness d6481ab421 Get forum threads mostly done
Still need to do breadcrumbs, but that applies to forum categories too
actually.
2021-05-06 00:57:14 -05:00
Ben Visness c8231750aa Make some project fields not null 2021-05-05 23:04:58 -05:00
Asaf Gartner e8d1859d0a Merge branch 'master' of gitssh.handmade.network:hmn/hmn 2021-05-05 23:37:18 +03:00
Asaf Gartner 06bbc2b9cc Part 1 of URL robustification 2021-05-05 23:34:32 +03:00
Ben Visness f2e69f68e5 Fix logging of context errors 2021-05-05 13:44:19 -05:00
Asaf Gartner dca101fd20 More static pages 2021-05-04 18:14:30 +03:00
Asaf Gartner 4723eec3b6 Added static pages 2021-05-04 17:40:40 +03:00
Asaf Gartner 0da3a1ffb9 Added a 404 path for assets that doesn't render the full template 2021-05-04 16:35:30 +03:00
Asaf Gartner 94bd05751e Added our 404 page 2021-05-04 16:23:02 +03:00
Asaf Gartner 2d07f57c1a Code review 2021-05-04 15:02:33 +03:00
Ben Visness 71a46ba5a1 Get forum threads mostly implemented
Still several TODOs in the handler and templates
2021-05-03 20:59:45 -05:00
Ben Visness b217cd5592 Render subcategories of forum categories 2021-05-03 18:59:43 -05:00
Ben Visness a0155bfc5e Get read/unread working on forum index 2021-05-03 17:53:28 -05:00
Ben Visness 15e716c097 Get the main content of forum category index working 2021-05-03 17:45:17 -05:00
Ben Visness 5f763d334c Start forum category index; fix reflection bugs 2021-05-03 09:51:07 -05:00
Ben Visness 285fd3eaf0 Start work on forum category indexes 2021-04-28 23:52:27 -05:00
Ben Visness 314ae26e18 Fix feed pagination
And tweak perf log output
2021-04-28 22:34:22 -05:00
Ben Visness ce582df610 Redo the request handling system again 2021-04-28 22:07:14 -05:00
Ben Visness 5d697e5fff Implement post links in feed / landing page 2021-04-27 22:30:02 -05:00
Asaf Gartner 4f9df3382f Added unique case-insensitive index on auth_user.username
Changed login code to look up lowercase usernames
2021-04-27 06:55:17 +03:00
Ben Visness 649f353b8c Improve post query performance 2021-04-26 20:49:46 -05:00
Asaf Gartner 17e35bf557 Merge branch 'master' of gitssh.handmade.network:hmn/hmn 2021-04-26 09:57:09 +03:00
Asaf Gartner 24c69b8157 Added performance monitoring 2021-04-26 09:56:49 +03:00
Ben Visness b13dd4bdb5 Get to a real stupid stopping point
inarray!!
2021-04-25 21:13:26 -05:00
Ben Visness e7ff342842 Get the feed largely complete 2021-04-25 14:33:48 -05:00
Ben Visness 292c400dfb Fix up landing page colors 2021-04-23 23:27:45 -05:00
Ben Visness a04b00c0a7 Get post content migrated and loading 2021-04-22 23:07:44 -05:00
Ben Visness d7c512f1c8 Make progress on the landing page 2021-04-22 18:02:50 -05:00
Ben Visness 6ed2bd0c02 Remove code references to members 2021-04-16 19:01:13 -05:00
Ben Visness cbe4b71869 Some kind of arbitrary checkpoint
I am in the middle of:
- porting the landing page
- making some db changes to help with that
- deleting the member and memberextended tables

Mainly the last one. Doing so requires us to update all the other tables
that currently point at member and memberextended so that the foreign
keys will point directly to users. The big thing that we still have yet
to do is links, and actually copying data from the member and
memberextended tables to users.
2021-04-14 20:17:05 -05:00
Asaf Gartner 470a0e4932 Moved min/max number of db connections to config file 2021-04-06 09:10:15 +03:00
Ben Visness 7a01ddae66 Further clean up the request handling after talking with Asaf 2021-04-06 00:06:19 -05:00
Ben Visness 98da461d92 Rework request handling
It's a lot simpler now, control flow is easier to work with in handlers,
and HMNHandler now natively implements http.Handler, simplifying our 404
setup by completely removing the need for MakeStdHandler.
2021-04-05 22:30:11 -05:00
Ben Visness a6cdbac4c7 Get a 404 route working 2021-03-30 23:20:50 -05:00
Ben Visness 8929a5d749 Start porting landing page; rework db layer a bit 2021-03-30 22:55:19 -05:00
Ben Visness f7ac023c44 Re-hash user's passwords if necessary when they log in 2021-03-28 10:32:30 -05:00
Ben Visness 8f2958594a Add a cron to delete expired sessions 2021-03-27 23:22:29 -05:00
Ben Visness 608d1af195 Add logout 2021-03-27 16:27:40 -05:00
Ben Visness cdfe02726c Get login working 2021-03-27 16:12:22 -05:00
Ben Visness 56cd737203 Add initial auth token / login stuff 2021-03-25 22:33:00 -05:00
Ben Visness acca4fe232 Initial implementation of password-checking 2021-03-21 22:07:18 -05:00
Ben Visness 4fb161b3c6 Rework DB query stuff, use for projects 2021-03-21 15:38:37 -05:00
Ben Visness c2aeaedea9 Move some stuff around 2021-03-17 21:29:31 -05:00
Ben Visness 465c877241 Add custom request context thing 2021-03-17 21:14:06 -05:00
Ben Visness cc521e0245 Add a lot of base template stuff 2021-03-17 20:25:06 -05:00
Ben Visness a4e2d625a3 Start migrating templates 2021-03-14 15:49:58 -05:00
Ben Visness b92adff355 Add first attempt at a middleware 2021-03-10 23:02:43 -06:00
Ben Visness 45763de9e6 Put Go stuff in the /src folder 2021-03-10 21:39:24 -06:00