Commit Graph

155 Commits

Author SHA1 Message Date
Ben Visness 22265c9081 Add upcoming jam page 2024-05-08 21:01:04 -05:00
Asaf Gartner 4568def378 Added a bunch of discord debugging 2024-03-28 21:24:46 +02:00
Ben Visness 5dd4880d4c heaaaghghghghg jam time yayaya 2024-03-12 23:20:35 -05:00
Ben Visness c5e458be8c Lay out top section 2024-02-09 15:02:58 -06:00
Asaf Gartner b5d4fe9ba2 Learning jam scaffolding 2024-02-08 22:21:01 +02:00
Asaf Gartner 8bc4b5a66c Added calendars 2024-01-28 19:12:59 +02:00
Asaf Gartner fdc7582701 Added WRJ2023 2023-09-01 17:35:40 +03: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
Asaf Gartner dcdbc67b6c Time machine submission form 2023-06-02 00:42:46 +03:00
Jake Mason a1c5086190 Add work on the new Time Machine page 2023-05-28 01:16:12 -04: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 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
Ben Visness bb38d0b759 Merge remote-tracking branch 'origin/feature/2023_frontend_updates' 2023-03-07 11:40:26 -06:00
Jake Mason 526a588a19 Visualization Jam 2023 template 2023-03-04 23:52:03 -05:00
Asaf Gartner 2af28d9f3f Update pgx v4 to pgx v5 2023-01-29 08:53:57 +02: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 5fe3e7560c A little more OpenGraph flavor 2022-11-05 16:27:55 -05:00
Ben Visness 084b13ae34 ...including the nav and stuff 2022-11-05 16:23:12 -05:00
Ben Visness f0597f3eb8 Open education up to all 2022-11-05 16:18:39 -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
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
Ben Visness d164a58ba0 Fix issues with asset upload
It didn't work when creating a new project or editing personal projects,
due to routing issues. I also took this opportunity to make the script
support multiple form submit buttons, since in some cases we will have a
submit button on each tab, and I figured they all should respect the
fact that you have an upload in progress.
2022-08-01 21:59:42 -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
bvisness e9d4300100 Rework requests and middleware (#57)
o boy

Resolves #10 (hopefully!)

Co-authored-by: Ben Visness <bvisness@gmail.com>
Reviewed-on: #57
2022-06-24 21:38:11 +00: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
Asaf Gartner 31f7bf5350 Treat fishbowl files like public files. Skip expensive middleware.
We don't really need to validate the project subdomain here.
Fetching the common data eats up a db connection, and we don't gain
anything from it.
2022-06-14 04:06:44 +03: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
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 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
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 8e7c20fffa Removed old project logo url fields 2022-02-13 22:07:09 +02:00
Asaf Gartner f4f439489d Assets for user avatars 2021-12-29 16:38:23 +02:00
Asaf Gartner c84b6842e2 Admin actions on user profile 2021-12-15 03:17:42 +02:00
Ben Visness 415ce8db43 Rework project visibility 2021-12-11 13:08:10 -06:00
Ben Visness 79c9738b96 Fix various bugs 2021-12-08 21:50:35 -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