Commit Graph

703 Commits

Author SHA1 Message Date
bvisness d1e63f745b Add Fishbowl archive (#41)
Refs #33

Co-authored-by: Ben Visness <bvisness@gmail.com>
Co-authored-by: ilidemi <belk94@gmail.com>
Reviewed-on: hmn/hmn#41
2022-06-12 12:45:56 +00:00
Ben Visness 1cfb9e4033 Fix mailto on crash page 2022-06-01 20:49:19 -05:00
Ben Visness 13f5b2ee63 Tweak landing page wording 2022-06-01 20:40:16 -05:00
Ben Visness 6e0010e957 Fix querying possibly-nil scalars
Our db code for querying scalars didn't do anything to account for
pointer destinations (which you need if querying a field that may be
nil!)
2022-06-01 20:38:24 -05:00
Asaf Gartner ac2d00aca7 Logging bad discord resources 2022-05-30 21:56:09 +03:00
Asaf Gartner 2bb14c1794 Replaced panic with error 2022-05-30 21:52:13 +03:00
Asaf Gartner fe545ff0f3 Debugging twitch 2022-05-30 21:19:54 +03:00
Asaf Gartner 8c47590b99 Debugging twitch 2022-05-30 19:08:09 +03:00
Asaf Gartner 4c296c9ddd Soft failure for failing to delete discord message. 2022-05-30 18:55:10 +03:00
Asaf Gartner 9fcc2321ca Hopefully fixed desync with twitch 2022-05-30 18:49:30 +03:00
Asaf Gartner 02d51a8bfe Merge branch 'streams_update' 2022-05-30 17:33:52 +03:00
Asaf Gartner 0d0773fd0e Reverse streamer sort and replaced green circle with red 2022-05-27 16:34:34 +03:00
Asaf Gartner 09c4561428 Slightly improved discord message formatting. 2022-05-27 11:55:57 +03:00
Asaf Gartner 8495982d3f Added persistent vars and improved stream tracking on discord. 2022-05-27 11:37:43 +03:00
Ben Visness 68a00c91db Rename the email override field for clarity 2022-05-25 17:39:57 -05:00
Ben Visness 475716322f Fix up missing avatars 2022-05-21 16:44:39 -05:00
Ben Visness 491ae57590 Tweak Postgres help message on failed seed 2022-05-14 23:06:48 -05:00
Ben Visness c1fa6cae13 Integrate Nick's local S3 server
Works like a charm!

Small tweak for clarity
2022-05-14 00:48:19 -05:00
bvisness 4187a3b6ca Merge pull request 'handmade dummy S3 local dev server' (#4) from nick12/hmn:hmns3 into localdev-2022
Reviewed-on: hmn/hmn#4
2022-05-14 00:12:44 +00:00
Ben Visness 3aa16c6d12 Add owners to seeded projects 2022-05-11 23:39:43 -05:00
Ben Visness a2ec57cf47 Seed projects 2022-05-11 22:24:05 -05:00
Ben Visness e4bb741a15 Automatically create the HMN user if necessary
This pretty much certainly won't work in real environments. If it does,
your db config is not secure :)
2022-05-11 19:50:51 -05:00
Ben Visness f4601198c9 Seed news posts 2022-05-07 14:45:21 -05:00
Ben Visness 3c4238994a Seed example forum threads 2022-05-07 14:31:37 -05:00
Ben Visness 3a93aa93e9 Seed users (and rework a lot of user access to use new helpers) 2022-05-07 13:58:00 -05:00
Ben Visness b46f5d8637 Add bare minimum seed 2022-05-07 11:37:15 -05:00
Ben Visness 1020039ea2 Fix up tests 2022-05-07 09:43:41 -05:00
Ben Visness 0e56f56372 Rename all the db tables 2022-05-07 08:11:05 -05:00
Ben Visness a147cfa325 Rework DB API
This takes advantage of generics, and generally clears up a lot of
inconsistencies and quality-of-life issues.

Start of db rework: clean up, start generics, improve tests

Write some nice aspirational package docs

Rework and document the db API

Tests still pass, at least...now for everything else

Update all callsites of db functions

Finish converting all callsites

Not too bad actually! Centralizing access into the helpers makes a big
difference.

wtf it works
2022-05-06 16:56:13 -05:00
unknown 69a44d1734 handmade dummy S3 local dev server 2022-05-01 02:41:58 -03:00
Ben Visness 6004149417 Fix zero-items bug with getPageInfo 2022-04-30 21:18:21 -05:00
Ben Visness f51b7e23da Shout out the community in the manifesto 2022-04-30 19:19:36 -05:00
Ben Visness f7d92a63b4 Update opengraph description for the manifesto 2022-04-30 19:08:25 -05:00
Ben Visness ad1bc875cc Rewrite the manifesto 2022-04-30 15:59:05 -05:00
Asaf Gartner 38e93d5208 Added support for unknown filetypes in snippets 2022-04-07 08:19:48 +03:00
Asaf Gartner 6063a7dd71 Automatically approve users who link their discord account 2022-04-07 07:28:04 +03:00
Asaf Gartner 8951bf1aa5 Timers timers timers 2022-03-27 20:30:24 +03:00
Asaf Gartner 70cd2ec72b Added logs 2022-03-27 19:41:21 +03:00
Asaf Gartner febec72325 Only track approved users. 2022-03-27 19:13:47 +03:00
Asaf Gartner b0cf3e2f15 Probably fixed issue with twitch 2022-03-22 21:00:50 +02:00
Asaf Gartner 5ecd5a8a31 Debugging twitch in beta 2022-03-22 20:52:05 +02:00
Asaf Gartner c8096b0fb7 Loosened expected status codes from twitch 2022-03-22 20:34:42 +02:00
Asaf Gartner 11dd75ad03 Twitch monitoring 2022-03-22 20:07:43 +02:00
Asaf Gartner 5c29f3f814 Added projects to admin approval queue 2022-03-06 14:48:47 +02:00
Asaf Gartner f67429becd Fixed communication guidelines attribution. 2022-02-16 05:38:41 +02:00
Ben Visness 7a6f2a7d4b Remove the code of conduct, tweak the communication guidelines
The code of conduct has historically not been of much use, while the
communication guidelines are more tangible. The two are also just kind
of redundant.
2022-02-13 16:24:01 -06:00
Asaf Gartner 8e7c20fffa Removed old project logo url fields 2022-02-13 22:07:09 +02:00
Asaf Gartner d32cd0a849 Removed old user avatar url field from the db 2022-02-13 21:52:29 +02:00
Asaf Gartner 6445567840 Merge branch 'master' of git.handmade.network:hmn/hmn 2022-02-13 02:36:43 +02:00
Asaf Gartner 9faba4270c Fixed issue on project edit when one of the owners is unapproved 2022-02-13 02:36:12 +02:00
Ben Visness b45a28156c Add projects to profile user command 2022-02-12 01:00:45 -06:00
Asaf Gartner b2a2b49abe Added the search bar to the footer 2022-02-10 22:27:28 +02:00
Asaf Gartner 1ce6ec080b Commented out HMS banner.
Leaving it in because we'll want to reuse that banner in the future.
2022-02-10 19:29:19 +02:00
Asaf Gartner 50332c6800 Fixed "mark all as read" 2022-02-07 15:11:26 +02:00
Asaf Gartner c8f401f738 Updated cmd description 2022-02-07 14:25:21 +02:00
Asaf Gartner 43651d98e8 Code review 2022-02-07 14:21:40 +02:00
Asaf Gartner 92d6a31aa9 Fixed tag removal issue. 2022-01-31 10:22:25 +02:00
Asaf Gartner 378d6eb836 Removed old comment. 2022-01-31 08:52:56 +02:00
Asaf Gartner 60a71d5dd1 Fixed indent. 2022-01-31 08:51:34 +02:00
Asaf Gartner ad888346ef Discord message handling reorganization. 2022-01-31 08:46:43 +02:00
Asaf Gartner f4f439489d Assets for user avatars 2021-12-29 16:38:23 +02:00
Asaf Gartner eb32b04437 Added project links to project edit page 2021-12-26 12:03:25 +02:00
Asaf Gartner 80f0e3b176 MD text renderer: handle backslashes
Handles the same characters as the html renderer.
2021-12-26 11:36:12 +02:00
Asaf Gartner f8e7779b7d Fixed discord linking issue 2021-12-21 08:14:51 +02:00
Asaf Gartner 321089ea8e Fixed forum editor file upload issue 2021-12-21 07:13:02 +02:00
Asaf Gartner 88776cbb72 Fixed user profile url double-escaping 2021-12-21 06:24:05 +02:00
Asaf Gartner 12eb172f98 Log out user after setting status to 'banned' 2021-12-21 06:07:55 +02:00
Asaf Gartner 83ef51374d Added admin script to upload project logos to S3 2021-12-21 06:04:20 +02:00
Ben Visness 6307589ee4 Merge remote-tracking branch 'origin/master' into beta 2021-12-14 20:54:23 -06:00
Asaf Gartner b5eb718615 Query automatically does ToSlice. Use QueryIterator if you need an
iterator.
2021-12-15 03:36:37 +02:00
Asaf Gartner c84b6842e2 Admin actions on user profile 2021-12-15 03:17:42 +02:00
Asaf Gartner 1c48aab863 Fixed admin queue 2021-12-13 18:58:26 +02:00
Ben Visness b3df1a306b I don't like the "complete" banner 2021-12-13 02:09:03 -06:00
Ben Visness 3b8b02a856 Watch for snippet updates on all messages
This captures stuff in jam-showcase and ryan's stuff in #projects
2021-12-13 01:40:54 -06:00
Ben Visness 6d609f1fae Sort blog index correctly 2021-12-11 16:18:58 -06:00
Ben Visness 415ce8db43 Rework project visibility 2021-12-11 13:08:10 -06:00
Ben Visness 7cb6869fcb Fix conflict error when tagging from Discord 2021-12-11 10:11:44 -06:00
Ben Visness 4d63d02533 Always update snippet tags on every Discord edit 2021-12-08 23:00:44 -06:00
Ben Visness 5344e9d4bc Limit the number of owners per project 2021-12-08 22:23:20 -06:00
Ben Visness e70dcbdd53 Switch to ampersand for delimiter 2021-12-08 22:05:17 -06:00
Ben Visness b88776af0c Cap the number of personal projects per user 2021-12-08 22:02:11 -06:00
Ben Visness 79c9738b96 Fix various bugs 2021-12-08 21:50:35 -06:00
Ben Visness 40cd19c5f0 Do the Discord integration with personal projects! 2021-12-08 21:13:58 -06:00
Ben Visness 37fcbb205c Move data-fetching helpers to a separate package 2021-12-08 20:04:15 -06:00
Ben Visness 73824a027b Add tag management to projects
Also rearrange that ProjectAndLogos stuff because agh it was so weird
2021-12-07 21:37:52 -06:00
Ben Visness f5ed6ec896 Add live markdown preview to the description editor 2021-12-06 23:20:12 -06:00
Asaf Gartner cf46e16df5 Edit project 2021-12-04 16:55:45 +02:00
Asaf Gartner 950e84d53a Personal project creation 2021-12-02 12:53:36 +02:00
Asaf Gartner 03c82c9d1a New project form 2021-11-25 05:59:51 +02:00
Ben Visness 0f749d8232 Switch CTA text for Handmade Seattle 2021-11-14 16:48:06 -06:00
Ben Visness 8f560de2b6 Sort personal projects by recency instead of randomly 2021-11-11 16:35:00 -08:00
Ben Visness b41fb365cf Improve appearance of projects without logos 2021-11-11 16:23:24 -08:00
Ben Visness 0184cd1625 Add admin utilities for adding projects 2021-11-11 15:59:05 -08:00
Ben Visness 2c5df4b7c4 Show project snippets on project pages
we need better filter UI, but do we really, though
2021-11-11 12:11:57 -08:00
Ben Visness 601adf2d16 Add tags to showcase / snippet UIs 2021-11-11 12:11:57 -08:00
Ben Visness 4ea1338c32 Add tags to snippets on timelines 2021-11-11 12:11:57 -08:00
Ben Visness ffed86b33a Add new tags data model 2021-11-11 12:11:57 -08:00
Ben Visness d10f0a2881 Implement the down migration for personal projects 2021-11-11 12:11:57 -08:00
Ben Visness 4d3a4c20ca Fix link issue with forum redirects 2021-11-11 12:11:57 -08:00
Ben Visness c6387e2885 Disable forum/blog actions for projects that don't have them enabled
I implemented this for personal projects, but I think it was actually
affecting official projects too that didn't have forums or blogs
enabled.
2021-11-11 12:11:57 -08:00
Ben Visness 702036eac3 Improve appearance of the project index 2021-11-11 12:11:57 -08:00
Ben Visness f7f544a05c Preserve path when redirecting between official/personal projects 2021-11-11 12:11:57 -08:00
Ben Visness cc9c3b3b60 Use new UrlContext for project URLs
Wow that was a lot to change
2021-11-11 12:11:57 -08:00
Ben Visness 73836c5e25 Redirect to generated personal project slug 2021-11-11 12:11:57 -08:00
Ben Visness cb967b92fd Add route grouping stuff for projects (needs thorough testing) 2021-11-11 12:11:57 -08:00
Ben Visness 61683966a2 I really have no idea where I left off 2021-11-11 12:11:57 -08:00
Ben Visness 3800d3e715 Update data model for personal projects
Also:
- Added a helper for fetching posts with appropriate visibility
- Added personal projects to the project index
2021-11-11 12:11:57 -08:00
Asaf Gartner b53643764a Fixed typo in showcase RSS 2021-11-11 12:11:57 -08:00
Ben Visness 8accd87be3 Tweak spacing in welcome banner 2021-10-27 22:55:03 -05:00
Ben Visness 693e00d494 Merge remote-tracking branch 'origin/live' into beta 2021-10-27 22:51:22 -05:00
Ben Visness 1d8e12a4f6 Tweak welcome banner wording 2021-10-27 22:46:01 -05:00
Ben Visness 60aef6d032 Fix mobile nav issues and add circuit logo 2021-10-27 22:44:08 -05:00
Ben Visness 949e93791e Fix nav issues on mobile 2021-10-27 22:05:31 -05:00
Ben Visness 2882c49b2b Improve project styles or something 2021-10-27 21:55:42 -05:00
Ben Visness 4e47c51fa1 Add back project nav 2021-10-27 21:55:42 -05:00
Ben Visness 5eff3c38b4 Tweak routing middleware, add socials to banner
Instead of doing project nav, which I am actively avoiding
2021-10-27 21:55:42 -05:00
Ben Visness a9d3387295 Darken the welcome colors on the home page 2021-10-27 21:55:41 -05:00
Ben Visness d39e6beb0f First pass at welcome banner 2021-10-27 21:55:41 -05:00
Ben Visness de587abc94 Add HMS banner to the home page 2021-10-27 21:55:41 -05:00
Ben Visness 3324428f8b Tweak news appearance 2021-10-27 21:55:40 -05:00
Ben Visness f8d5f9fce5 Rework the home page 2021-10-27 21:55:40 -05:00
Ben Visness 7d422cb533 Timeline template logic updates 2021-10-27 21:55:40 -05:00
Ben Visness 09e6a15085 Rejigger timelines to avoid explicit types 2021-10-27 21:55:39 -05:00
Ben Visness 6176744462 Add a library placeholder 2021-10-27 21:55:39 -05:00
Ben Visness ccdbad8978 Rework the nav for projects 2.0 2021-10-27 21:55:38 -05:00
Asaf Gartner 307699af4c Added content type to S3 upload call 2021-10-25 02:31:25 +03:00
Asaf Gartner aab2205e62 Fix form in admin page 2021-10-25 02:31:25 +03:00
Ben Visness 623aaec9d8 Ensure that that one goroutine exits when the iterator is closed
This resolves that completely nonsensical memory leak situation. As far
as we can understand, the cause was a hodgepodge of the following:

- There is some buffer sharing going on deep in pgx
- Queries made with a cancellable but long-running context (like that
used for background jobs) would leave iterator-related goroutines
hanging
- These goroutines had a pgx `rows` object in their closures, preventing
the row stuff from being garbage collected
- If you look at a profile, it all appears to be caused by whatever
functions were doing the most database queries / reading the most from
Postgres. In fact those things were _allocating_ the most but not
retaining any of that data - it was being retained by these other
goroutines because of magic buffer sharing huzzah I love it

We could have solved this in approximately 30 minutes if Go could
actually tell us what is keeping things alive in the heap, instead of
just tracking allocations.
2021-10-21 01:42:34 -05:00
Ben Visness 34a318c902 The jam is not right now any more 2021-10-20 21:33:21 -05:00
Ben Visness 60237fc4dd Add a blurb to the jam page 2021-10-03 09:41:40 -05:00
Ben Visness 00864842b3 Add file upload support for Discord 2021-09-27 09:23:57 -05:00
Ben Visness 89e8371787 Update the copy on the jam page 2021-09-26 23:38:58 -05:00
Ben Visness 4b4c205566 Make profile messages ephemeral 2021-09-26 23:04:53 -05:00
Ben Visness 88da574446 Tweak /profile messages, add and fix tests 2021-09-26 22:35:42 -05:00
Ben Visness 1df691bc13 Add user command for profile 2021-09-26 20:30:09 -05:00
Ben Visness 85a7a37162 Add /profile slash command 2021-09-26 17:34:38 -05:00
Ben Visness 0cebe90268 Switch to a different forum link when the jam starts 2021-09-24 23:02:12 -05:00
Ben Visness 251446d6e4 Do jam showcase stuff 2021-09-24 22:53:00 -05:00
Asaf Gartner 776c78913a Updated admin atom feed title 2021-09-24 03:39:59 +03:00
Asaf Gartner aa2e12496a Undid last commit and added auth challenge 2021-09-24 03:37:08 +03:00
Asaf Gartner ed85d11d96 Testing auth UNDO BEFORE DEPLOY 2021-09-24 03:29:47 +03:00
Asaf Gartner a3e7e2afc0 Rename ThreadUnread to just Unread 2021-09-24 03:15:29 +03:00
Asaf Gartner f8985e6ee3 User approval admin page and RSS 2021-09-24 03:13:40 +03:00
Ben Visness cad1c397c1 Fix paste issue in editor, tweak jam page 2021-09-23 16:13:12 -05:00
Asaf Gartner f5708d1ea8 Disable submission to perfCollector. 2021-09-23 23:03:28 +03:00
Asaf Gartner 89e58c9a24 Convert the feed to use the new thread and post functions. 2021-09-23 23:02:45 +03:00
Ben Visness 9c7acd7dbb Add a sort field to subforums 2021-09-23 01:18:45 -05:00
Ben Visness 4b13f99df8 Add thread title editing 2021-09-23 01:09:18 -05:00
Ben Visness ec80952ad9 Automatically approve users for now 2021-09-22 23:57:14 -05:00
Ben Visness 986a42c1ac Switch to centralized helpers for fetching threads/posts
This includes the ability to "shadowban" new users who have not yet been
approved. We do not have UI for approving these users.

Migrate deserving users to new Approved status

Add post fetching helpers as well

The logic in the thread/post stuff is definitely getting redundant, but
I'm not sure I'm yet ready to try to abstract any of it away.

The next thing to do is probably to update blogs and other places that
fetch threads/posts, and delete the old helpers.

Move forums and blogs fully to new helpers

Use the helpers on the landing page too

that was easy!

Fix up some spots I missed

Check user status and use helpers on the profile page
2021-09-22 23:48:31 -05:00
Ben Visness a38727ed69 Fix indentation, tweak newlines 2021-09-22 22:35:07 -05:00
Asaf Gartner 7063fd5604 Added basic usage tracking for posts. 2021-09-22 22:18:39 +03:00
Asaf Gartner c224ad55b9 Added file dialog, image pasting, and progress UI 2021-09-22 13:59:03 +03:00
Asaf Gartner dc56b1f5d0 First working version. No user limits or usage tracking. 2021-09-22 02:13:11 +03:00
Ben Visness 070ea5cc20 Redirect old blog URLs to new 2021-09-20 10:17:53 -05:00
Ben Visness 73e6af72e0 Update the jam page with forum links 2021-09-16 01:41:24 -05:00
Ben Visness 7e4116359a Improve appearance of option bars on mobile 2021-09-08 23:01:21 -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 2db5c38a3c Add sizes to the Apple icon 2021-09-08 21:56:26 -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
Asaf Gartner 193bbca28c Added correct time format for podcast. 2021-09-06 22:48:39 +03:00
Ben Visness b53770932d No longer require a migration in seedfile
We don't need to do this any more, since our database backups now
include the migration table. The seedfile command also no longer
requires the user to type a password.

This also prevents the Discord history bot from running when it has no
credentials.
2021-09-05 19:43:49 -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
Ben Visness 59f5243839 Prefix things with "public." inside Postgres functions
Boy is this a stupid behavior of Postgres, and one that only really
manifests when restoring data from a backup.
2021-09-05 17:43:34 -05:00
Asaf Gartner e542ef27ec Write to TLRI when users view blog posts. 2021-09-05 23:16:35 +03:00
Asaf Gartner 7e6b24c214 Remove unused editor.css and editor.js imports. 2021-09-05 23:04:37 +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
Asaf Gartner 73d0b65371 Shorten security timer 2021-09-05 01:43:24 +03:00
Ben Visness a42973c3cb More server setup stuff I dunno I'm sorry 2021-09-04 16:09:01 -05:00
Asaf Gartner 307a122518 Another attempt at crash mailing 2021-09-04 21:59:03 +03:00
Ben Visness a288ae8124 Remove the sitemap from the footer 2021-09-01 21:54:51 -05:00
Ben Visness 6aa705d5cc Random CSS I dunno 2021-09-01 21:41:39 -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 1ac867fded Make forum anchors more pleasant 2021-08-30 18:57:44 -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 4204081563 Make tons of fixes to server setup 2021-08-29 18:11:41 -05:00
Ben Visness f40936ae61 Tweak some scripts, make executable 2021-08-28 16:33:15 -05:00
Ben Visness bc39b4c0b7 Clean up TODOs 2021-08-28 12:07:45 -05:00
Ben Visness 57d4216d2d Add tools for creating subforums and moving threads 2021-08-28 10:16:02 -05:00
Ben Visness f7c754e53b Style tweaks 2021-08-28 08:43:11 -05:00
Asaf Gartner 5fa0a3a7c2 Processed some TODOs 2021-08-28 16:32:27 +03:00
Ben Visness c59b58daf0 Restrict project header links 2021-08-28 08:11:01 -05:00
Asaf Gartner e23f5fbcf6 Fixed ip handling 2021-08-28 15:53:06 +03:00
Ben Visness 0179ee1993 Use the new font on the logo 2021-08-28 07:33:20 -05:00
Asaf Gartner cb5c3c403d Internal server error page 2021-08-28 15:21:40 +03:00
Ben Visness a655fe96bc Fix up remaining project colors 2021-08-28 07:14:49 -05: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 042e9166fd Add bulk delete 2021-08-26 19:58:41 -05:00
Ben Visness 719c0d230c Delete stuff on message delete
still need to do bulk delete
2021-08-26 18:33:39 -05:00
Ben Visness 7d5590ee10 Process Discord markdown for snippets 2021-08-23 22:26:27 -05:00
Ben Visness 69ead1f347 Handle message updates better 2021-08-23 20:06:32 -05:00
Ben Visness ec64babdd6 Create snippets! 2021-08-23 19:49:39 -05:00
Ben Visness 72ae938302 Save Discord attachments and embeds 2021-08-23 16:52:57 -05:00
Ben Visness 76f9256e97 Save Discord messages and attachments 2021-08-21 11:15:27 -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 40ba0d5455 Added unique constraint on onetimetoken 2021-08-17 08:31:48 +03:00
Asaf Gartner 34a0649dfc Replaced all handmadedev.org emails with handmade.network addresses 2021-08-17 08:22:41 +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 4a8d84b303 Only run user cleanup once an hour. Not every 10 seconds. 2021-08-09 11:06:39 +03: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 bde7c576e3 Don't crash while listing migrations 2021-07-30 21:36:37 -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
Ben Visness 94457aeb93 Close db iterators when context is cancelled 2021-07-23 11:33:53 -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 a2eacd6d00 Add handling for deleted users in templates 2021-07-21 21:26:28 -05:00
Ben Visness e9ba9b3dde Add permission check on post editing 2021-07-21 21:16:10 -05:00
Ben Visness 27b8157a89 Cache the thread title as well as the contents 2021-07-21 20:48:52 -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 4ba175c5a5 Put the markdown preview on the side 2021-07-19 20:12:27 -05:00
Ben Visness 19297c9231 Store post contents in localStorage 2021-07-19 19:52:50 -05:00
Ben Visness a9d39cd969 Make the bbcode parser much faster 2021-07-17 21:42:52 -05:00
Ben Visness 059f407ee4 Put previews in a web worker to help with slower parsing 2021-07-17 18:20:47 -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 98df5773a5 Use a fork of goldmark that doesn't crash Chrome 2021-07-06 22:00:49 -05: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 e7cee4c448 Fix renamed URL function 2021-07-04 15:32:06 -05:00
Ben Visness 9d6f64fa00 Add syntax highlighting and styling for code blocks 2021-07-04 15:32:06 -05:00
Ben Visness 2f37e07100 Add quotes and a half-assed code tag 2021-07-04 15:32:01 -05:00
Ben Visness 6e7a398dee Add simple bbcode tags 2021-07-04 15:31:58 -05:00
Ben Visness efdc2216f9 Add [youtube] tags to bbcode 2021-07-04 15:31:55 -05:00
Ben Visness 540d1765db Get bbcode working in Goldmark 2021-07-04 15:31:53 -05:00
Ben Visness 085bd46440 Add mathjax 2021-07-04 15:31:51 -05:00
Ben Visness 4d9ef5917e Don't require !embed, use placeholders in previews 2021-07-04 15:31:47 -05:00
Ben Visness f1ccbc53d7 Convert embed stuff to a block parser
Now I know how to do block parsers!
2021-07-04 15:31:45 -05:00
Ben Visness 643f145071 Add !embed(...) syntax 2021-07-04 15:31:44 -05:00
Ben Visness 987d379223 Add spoilers (and broken jank starter bbcode) 2021-07-04 15:31:41 -05:00
Ben Visness 08f20f9fed Get markdown working in WASM 2021-07-04 15:31:40 -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 ae12ef0e8c Cleaned up breadcrumbs 2021-06-22 13:27:27 +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 bf96c0bebb Removed now-unused post_list_item template 2021-06-01 04:53:48 +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 60b5d07d00 Added todo 2021-05-25 16:51:49 +03:00
Asaf Gartner 48dfb61997 Prevent URL construction from crashing in prod 2021-05-25 16:48:57 +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
Ben Visness e5beb209c0 Add coverage requirement for url Build functions 2021-05-16 14:23:03 -05:00
Asaf Gartner a6d931334a Added ORDER BY to category tree to ensure db order of children 2021-05-12 02:11:46 +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 47c25207a4 Added setpassword command 2021-05-04 16:22:15 +03:00
Asaf Gartner 2d07f57c1a Code review 2021-05-04 15:02:33 +03:00
Asaf Gartner e14116c99f Ensure properly configured BaseUrl. 2021-05-04 12:24:31 +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
Ben Visness 1d9ad49db4 Comment out broken category code for now 2021-04-26 08:55:54 -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
Asaf Gartner ed6ce26697 seedfile now drops and recreates the db. No need for `down` migrations. 2021-04-25 09:27:04 +03: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 97a80e7c4f Add TODO(opensource) comments for future reference 2021-04-16 18:04:01 -05:00
Ben Visness a644ec1caa Successfully remove the member and memberextended tables! 2021-04-16 00:08:47 -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 e827f47834 Corrected some comments. 2021-04-12 17:12:57 +03:00
Asaf Gartner a8c9167e24 Removed irrelevant code. 2021-04-12 16:51:30 +03:00
Asaf Gartner cdfd558730 Added seed command 2021-04-12 12:56:44 +03:00
Asaf Gartner 470a0e4932 Moved min/max number of db connections to config file 2021-04-06 09:10:15 +03:00
Asaf Gartner 490c82940a Removed dashed line between single-line log outputs 2021-04-06 09:06:33 +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 a7763831b5 Add SCSS build 2021-03-10 22:19:37 -06:00
Ben Visness 45763de9e6 Put Go stuff in the /src folder 2021-03-10 21:39:24 -06:00