Commit Graph

73 Commits

Author SHA1 Message Date
bvisness 0210a0784b Add Discord login (#106)
This leverages our existing Discord OAuth implementation. Any users with a linked Discord account will be able to log in immediately. When logging in, we request the `email` scope in addition to `identity`, so existing users will be prompted one time to accept the new permissions. On subsequent logins, Discord will skip the prompt.

When linking your Discord account to an existing HMN account, we continue to only request the `identity` scope, so we do not receive the user's Discord email.

Both login and linking go through the same Discord OAuth callback. All flows through the callback try to achieve the same end goal: a logged-in HMN user with a linked Discord account.

Linking works the same as it ever has. Login, however, is different because we do not have a session ID to use as the OAuth state. To account for this, I have added a `pending_login` table that stores a secure unique ID and the eventual destination URL. These pending logins expire after 10 minutes. When we receive the OAuth callback, we look up the pending login by the OAuth `state` and immediately delete it. The destination URL will be used to redirect the user to the right place.

If we have a `discord_user` entry for the OAuth'd Discord user, we immediately log the user into the associated HMN account. This is the typical login case. If we do not have a `discord_user`, but there is exactly one HMN user with the same email address as the Discord user, we will link the two accounts and log into the HMN account.

(It is possible for multiple HMN accounts to have the same email, because we don't have a uniqueness constraint there. We fail the login in this case rather than link to the wrong account.)

Finally, if no associated HMN user exists, a new one will be created. It will use the Discord user's username, email, and avatar. This user will have no password, but they can set or reset a password through the usual flows.

Co-authored-by: Ben Visness <bvisness@gmail.com>
Reviewed-on: #106
2023-05-06 19:38:50 +00:00
Ben Visness e4dd15d248 Add all jams index 2023-04-22 11:26:07 -05:00
Ben Visness 79c4c14631 Add jam recap (not yet shown off properly) 2023-04-21 23:11:32 -05:00
Jake Mason 45b5c7f4d4 Updating Feed for VJ 2023 2023-04-06 14:54:14 -04:00
Ben Visness 55f56d8ae0 Vis jam landing page 2023-03-07 11:48:13 -06:00
Jake Mason 526a588a19 Visualization Jam 2023 template 2023-03-04 23:52:03 -05:00
Ben Visness 9b3a972e37 Rework about page, finally
Start foundation / about page work

Add some job descriptions

Add Advocacy role

Make things look barely tolerable

Cloin'd

Better About intro

no fundo

Link from manifesto

swanky changes
2022-12-14 17:49:08 -06:00
Ben Visness 084b13ae34 ...including the nav and stuff 2022-11-05 16:23:12 -05:00
Ben Visness 8121830561 Remove resources from the table of contents 2022-09-19 20:26:43 -05:00
Ben Visness 045a2c2379 Add education toggle to user admin settings 2022-09-10 16:52:02 -05:00
Ben Visness 168b210c5b Restore the library since we're not actually rolling out education yet 2022-09-10 12:54:26 -05:00
bvisness d2b34cb87d Initial version of education content (#90)
Co-authored-by: Ben Visness <bvisness@gmail.com>
Reviewed-on: #90
2022-09-10 16:29:57 +00:00
Ben Visness d7b43fdea0 Use the register destination when coming from the login page 2022-08-13 15:07:37 -05:00
Ben Visness a0cc2f5c66 Update auth flows 2022-08-13 14:15:00 -05:00
Asaf Gartner efc7d76cb7 Snippet creation and editing 2022-08-06 00:41:37 +03:00
Ben Visness 62972ae35a Merge remote-tracking branch 'origin/master' into jam-2022 2022-08-04 18:37:51 -05:00
AllanRegush cc731d77a6 Add Conferences Page (#75)
This PR implements the conferences page.

![image](/attachments/fe7b8df7-0833-4b5b-9f61-a9558b70a98f)

![image](/attachments/10f380d6-81ed-4850-87c4-70a84d31e26b)

closes #69

Co-authored-by: Allan Regush <17693494+AllanRegush@users.noreply.github.com>
Reviewed-on: #75
Co-authored-by: AllanRegush <allan@allanregush.com>
Co-committed-by: AllanRegush <allan@allanregush.com>
2022-07-26 15:07:57 +00:00
Asaf Gartner 316aba12b6 Ugly jam feed. Needs CSS work. 2022-06-25 16:24:04 +03:00
Asaf Gartner 9d1d249ec0 Added jam/project association. 2022-06-20 01:26:33 +03:00
Ben Visness f36df1f697 Add jam index for 2022
Start jam index for 2022

Tweak jam copy

Update OpenGraph content
2022-06-18 10:01:14 -05:00
Ben Visness 359354f2aa Start jam index for 2022 2022-06-17 17:30:18 -05:00
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: #41
2022-06-12 12:45:56 +00:00
Asaf Gartner 11dd75ad03 Twitch monitoring 2022-03-22 20:07:43 +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 88776cbb72 Fixed user profile url double-escaping 2021-12-21 06:24:05 +02:00
Asaf Gartner c84b6842e2 Admin actions on user profile 2021-12-15 03:17:42 +02:00
Ben Visness f5ed6ec896 Add live markdown preview to the description editor 2021-12-06 23:20:12 -06:00
Asaf Gartner 03c82c9d1a New project form 2021-11-25 05:59:51 +02:00
Ben Visness b41fb365cf Improve appearance of projects without logos 2021-11-11 16:23:24 -08:00
Ben Visness c8373aae81 Fix link issue with forum redirects 2021-11-10 09:34:48 -08:00
Ben Visness dfbcfbeacc Use new UrlContext for project URLs
Wow that was a lot to change
2021-11-09 20:11:39 -08:00
Ben Visness ff901e4fb8 Add route grouping stuff for projects (needs thorough testing) 2021-11-09 11:14:38 -08:00
Ben Visness 7486f9e57d I really have no idea where I left off 2021-11-08 13:16:54 -06: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 6176744462 Add a library placeholder 2021-10-27 21:55:39 -05:00
Asaf Gartner f8985e6ee3 User approval admin page and RSS 2021-09-24 03:13:40 +03:00
Asaf Gartner 7063fd5604 Added basic usage tracking for posts. 2021-09-22 22:18:39 +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 fd7754a7b6 Add redirect for old wiki URLs 2021-09-08 19:43:24 -05:00
Ben Visness a288ae8124 Remove the sitemap from the footer 2021-09-01 21:54:51 -05:00
Ben Visness bc39b4c0b7 Clean up TODOs 2021-08-28 12:07:45 -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
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
Asaf Gartner 20c05637d9 Added whenisit and default opengraph items 2021-08-17 22:48:44 +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
Asaf Gartner 660f65ba95 Registration flow and email 2021-08-08 23:05:52 +03:00