Commit Graph

625 Commits

Author SHA1 Message Date
Ben Visness c6893f3f3f Enswankinate the project page completely 2023-09-25 10:02:34 -05:00
Ben Visness 25cc5ef11b Rework structure of project index. Need new copy. 2023-09-25 02:40:45 -05:00
Ben Visness 45b4928d83 Convert db download script to Python 2023-09-24 17:25:12 -05:00
Ben Visness ca46c23d31 Add Lil UEFI to the jam page 2023-09-20 18:08:15 -05:00
Ben Visness 36753d2a45 Tweak confusing "in x days" language 2023-09-20 16:55:49 -05:00
Ben Visness 16020a5b30 Update jam page with motivational speech 2023-09-20 16:53:18 -05:00
Ben Visness 2e3cb658af Add banner image for emails 2023-09-16 16:26:07 -05:00
Ben Visness c83458fd30 Add a non-breaking
space
2023-09-05 18:44:04 -05:00
Ben Visness a9ef54b98b Video posters (and better Orca video) 2023-09-01 19:42:39 -05:00
Ben Visness b5ef12fa60 Update opengraph subtitle 2023-09-01 19:36:07 -05:00
Ben Visness cae9fecc7c oops 2023-09-01 19:34:45 -05:00
Ben Visness 6616e72ca6 Copy updates for WRJ2023 2023-09-01 19:33:18 -05:00
Asaf Gartner 4533e8ae66 WRJ banner colors 2023-09-01 17:46:44 +03:00
Asaf Gartner fdc7582701 Added WRJ2023 2023-09-01 17:35:40 +03:00
Ben Visness 74f438afad miscellaneous characters from my keyboard 2023-08-21 21:19:35 -04:00
Ben Visness ad62793262 Add Leonard 2023-07-21 21:55:58 -05:00
Ben Visness 922690244d Add Agustin's second submission (oops) 2023-07-19 21:13:20 -05:00
Ben Visness 368e657a79 Send an email if you sign up with an existing email 2023-07-19 17:36:00 -05:00
Ben Visness 7b2d016fe2 Add agus_dev's submission 2023-07-12 18:06:53 -05:00
Ben Visness 0895660972 Allow multiple videos per Time Machine submission 2023-06-28 16:03:56 -05:00
Ben Visness 8aa18901b2 Add NCommander Win98 submission 2023-06-19 14:20:44 -05:00
Ben Visness 5bc118d9e0 Add licensing info to Time Machine submission form 2023-06-16 14:29:16 -05:00
Asaf Gartner 633f8f1007 Updated adminmailer to separate FromAddress and ServerUsername 2023-06-15 17:46:43 +03:00
Ben Visness 54aa6682b1 Add link to submissions feed
sorry for spamming main
2023-06-09 15:58:04 -07:00
Ben Visness c8808e21bf Add Atom feed (not yet linked) 2023-06-09 13:01:51 -07:00
Ben Visness 8be575875d Add time machine submissions page 2023-06-06 13:23:54 -05:00
Ben Visness dd6e5e3b66 Add newsletter redirect link 2023-06-02 09:46:26 -05:00
Ben Visness 57782aba5f Fix dataimg path bug 2023-06-01 21:18:48 -05:00
Ben Visness 1ea9fbefbc Merge branch 'feature/time_machine_page' 2023-06-01 21:08:54 -05:00
Ben Visness ca28fe8063 Remove Visibility Jam banner 2023-06-01 21:08:37 -05:00
Ben Visness a6caf8e9bd Style submit and thank-you pages 2023-06-01 20:42:02 -05:00
Asaf Gartner dcdbc67b6c Time machine submission form 2023-06-02 00:42:46 +03:00
Ben Visness 2d61286831 Add OpenGraph assets 2023-06-01 13:56:35 -05:00
Ben Visness bb31644d6d Add submission dialog 2023-05-31 23:45:08 -05:00
Ben Visness f8b0d9ba85 Styles upon styles 2023-05-31 23:10:42 -05:00
Ben Visness be888a98f1 Style updates + splash 2023-05-31 20:35:09 -05:00
Ben Visness 88323ffbaa N U A N C E 2023-05-29 09:54:12 -05:00
Ben Visness 1166bb6cf3 Add testing fishbowl description 2023-05-29 09:51:44 -05:00
Ben Visness 96ea2e0268 No thank you, we are too N U A N C E D 2023-05-29 09:41:27 -05:00
Jake Mason 64d98c424f Update image embed border colors for the Time Machine 2023-05-28 14:14:10 -04:00
Jake Mason 03a08ad392 Cleaning up 2023-05-28 14:10:36 -04:00
Ilia Demianenko 43b9f993dc Add testing fishbowl 2023-05-28 00:51:52 -07:00
Jake Mason a1c5086190 Add work on the new Time Machine page 2023-05-28 01:16:12 -04:00
Ben Visness cace7fbcb1 Update conferences page 2023-05-25 21:38:39 -05:00
Ben Visness 95bd54b39e Ok but actually use jpegs maybe 2023-05-18 23:00:31 -05:00
Ben Visness cdacc5b3a0 Use new thumbnails 2023-05-18 22:07:14 -05:00
Asaf Gartner 65aab39432 Asset thumbnail backend 2023-05-17 22:34:55 +03:00
Ben Visness 8dc458da73 Cover all URL builders with tests 2023-05-06 15:41:51 -05:00
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 1b1c25da80 Fix CSS issue on jams page 2023-04-22 11:31:14 -05:00